Tailscale経由で別の端末からStreamlitアプリにアクセスできるように設定を試みた。Docker環境でアプリを動作させ、通信状況を確認。netstat
や curl
を使用して接続状況を調査したが、他の端末からのアクセスが成功せず、原因の特定に時間を要した。
コード修正・エラー対応
- 発生したエラー
curl
コマンドを使用したところ、接続がタイムアウトする問題が発生。netstat
の結果ではポートがリスニング状態になっているが、外部からのアクセスがブロックされている可能性がある。
- 試した対応
config.toml
を確認し、Streamlitのserver.address
を0.0.0.0
に設定済みであることを確認。- ファイアウォールやネットワーク設定の見直しを行い、Tailscale経由での通信ルートを調査。
curl
の詳細オプションを使用し、接続のどこで問題が発生しているのかを分析。
今後の進め方
- Tailscaleの設定を再確認し、適切なルーティングがされているかを調査
- Dockerのネットワーク設定を見直し、ホスト間の通信が可能かどうかを確認
- 別の方法(ngrokやCloudflare Tunnelなど)を試して、外部接続の選択肢を増やす
- 翌日は別の環境やツールを使って再検証し、問題の切り分けを進める
重要なポイント
Tailscaleを利用する際、適切なルート設定やファイアウォールの許可が必要。単純なポート開放だけでは接続できない可能性があるため、細かいネットワーク設定を確認することが重要。