SSH接続が切断した場合に自動で再接続できますか?
できます。
TCP Exposerのアップデートやネットワークの不通等で接続が切れた場合は、再度接続する必要があります。
シェルスクリプトにて再接続を自動化するには、例えば下記のようなスクリプトを実行してください。
#!/bin/bash
while true
do
# 8080番ポートのWEBサーバーを公開します。
# yourkey、yourdomain、yournameは、それぞれ秘密鍵のパス、サブドメイン、ユーザ名です。
ssh -i yourkey -R yourdomain:80:localhost:8080 yourname@tcpexposer.com
# TCP Exposerの負荷低減と平滑化のため、ランダムで数十秒ほど待機させてください。
# RANDOMはbashもしくはzshでしか使えません。
wait_time=$((RANDOM % 30 + 5))s # 例 wait_time=20s
echo "sleep ${wait_time}"
sleep ${wait_time}
done
WEBサーバーへのアクセスをHTTPSだけに制限することはできますか?
できます。
より詳細にはHTTPで接続してきた場合にHTTPSで再接続するようにリダイレクトさせることができます。
実施したい場合には、下記のようなコマンドでTCP Exposerに接続してください。
$ ssh -R yourdomain:80:localhost:8080 yourname@tcpexposer.com force-https=true
どのように通信が自分のサーバーに来ますか?
通信内容を確認するための例として、下記のWEBサーバーをTCP Exposerを使ってアクセスできるようにしています。
このWEBサーバーは、自身が受信したHTTPリクエストの内容を表示します。
TCP ExposerはHTTP/HTTPS転送を指定した場合( -R yourdomain:80:localhost:localport
と指定した場合)は、リバースプロキシとして振る舞います。
そのため、元のリクエストに関する情報をX-Forwarded-Protoヘッダーなどに付与します。
TCP転送を指定した場合は( -R yourport:localhost:localport
と指定した場合)は、TCPのペイロードをそのまま転送します。
特定のサブドメインやTCPポート番号が登録されているか調べられますか?
調べられます。
登録時に「already registered by someone」のようなメッセージが表示された場合は登録されています。
他のユーザーが登録しているサブドメインやTCPポート番号が実際に使用されているか調べられますか?
また、使用していない場合に登録を解除することはできますか?
使用状況は調べられません。
また、サブドメインやTCPポート番号の登録解除のご依頼は対応できません。
最近の追加機能やアップデートはありますか?
サービス公開からの主な機能追加は下記のとおりです。
ただし、ドキュメント更新、デザイン変更、使用ライブラリのバージョンアップなどは随時行っております。
2022年6月 |
本サービスの公開 |
2022年8月 |
使い方紹介ページの追加 |
2023年3月 |
SSH接続時のパスワード認証機能を追加(今まで公開鍵認証のみ) |
2024年1月 |
HTTPSリダイレクト機能を追加 |
2024年4月 |
特定のローカルサーバーとリモートクライアントの通信が短時間で切断される不具合を修正 |