私のサーバーには、127.0.0.1、192.168.0.100、およびインターネット IP アドレスの 3 つの IP アドレスがあります。このサーバーで python で書かれたサービスを実行する予定ですが、インターネット上に公開したくありません。このサービスを実装するために BaseHTTPRequestHandler クラスを使用しています。127.0.0.1 と 192.168.0.100 のみをバインドし、他のものはバインドしない方法を教えてください。
質問する
707 次
2 に答える
0
あなたには2つの選択肢があると思います。
1) すべてのインターフェースをリッスンしますが、BaseHTTPRequestHandler をオーバーライドします。クライアントアドレスを確認し、望ましくないインターフェースからの接続である場合は接続をドロップするためのinit
2) リッスンするアドレスごとに 1 つずつ、複数のソケットを作成します。SocketServer.serve_forever() はブロックしているため、アドレスごとに 1 つのスレッドを使用するか、twisted などのより洗練されたフレームワークに切り替える必要があります。
于 2013-10-24T04:12:38.820 に答える
0
通常、ルーターには、サーバーを表示または非表示にするオプションがあります。ルーターでサーバーを非表示に設定すると、インターネット経由でサーバーにアクセスできなくなります。
于 2013-10-24T03:42:26.763 に答える