2012-03-09 6 views
1

複数のIPアドレスを持つホスト(実際にはエラスティックIPを持つEC2)上で実行している場合は、使用する送信IPアドレスをdjangoから選択できますか?djangoから発信IPを選択しますか?

これが単なるランダムな選択であっても、うまくいくでしょう。

編集:謝罪、私は上記ではっきりしていませんでした。リクエストはPython内で行われた新しい発信呼び出しであり、クライアントからのリクエストに対する応答ではありません。

答えて

0

webappの応答では、サーバーは常に1つの接続ソケットを使用すると考えられます。そのため、要求がIPアドレスXに到着した場合、応答は同じTCP接続で送信され、同じアドレスXホストがアドレスYとZを持っているにもかかわらず、あなたのアプリケーションが別のTCP接続を作成している場合は、そのソケットを任意のホストのIPアドレスにバインドする可能性があります。もしあなたがPythonのソケットモジュールを使っているなら、socket.create_connection()呼び出しでsource_address引数を指定することでそれを行うことができます。残念ながら、すべての上位ライブラリがこのレベルの制御を可能にするわけではありません。

+0

はい、私は明確ではなかった謝罪に来る場合は、このページをドロップするように望んでいました。発信接続は要求に応答せず、新しい発信TCP接続になります。私は質問を調整します。どのようにこれはPythonから指定することができます任意のアイデア? – Stuart

+0

@Stuart:UnixソケットAPIをお持ちの場合は、bind()呼び出しで行うことができます。私は私の答えに1つのPythonバインディングを追加しましたが、それがEC2で利用可能かどうかはわかりません。 – che

0

は、私は非常によく質問についてはわかりませんが、ちょうどそれは任意のヘルプpython outgoing ip

関連する問題