多くの IP アドレスを持つホストで一時的な Django アプリを実行しています。を使用している場合manage.py runserver 0.0.0.0:5000
、マシンの多くの IP アドレスのどれが実際にリクエストにヒットしたかをコードで確認するにはどうすればよいでしょうか?
または別の言い方をすると:
私のホストには IP アドレス10.0.0.1
と10.0.0.2
. runserver が をリッスンしている場合0.0.0.0
、アプリケーションはユーザーがヒットしたかどうかをどのように知ることができますhttp://10.0.0.1/app/path/etc
かhttp://10.0.0.2/app/path/etc
?
Apache でそれを行っていた場合、Apache のような環境変数を使用できることは理解していますが、Apache は使用しSERVER_ADDR
ていません。
何かご意見は?
編集
詳しくは:
小さな Django アプリを使用してロード バランサーをテストしています。このアプリは多数の異なる IP でリッスンしており、ロード バランサーを介して送信されるリクエストに対してどの IP アドレスがヒットしたかを知る必要があるため、適切にバランスが取れていることを確認できます。
ユーザーがロードバランサーにヒットするために入力したものを返すためrequest.get_host()
、オプションを使用できません。request.META
例: ユーザーがヒットhttp://10.10.10.10/foo
し、リクエストをhttp://10.0.0.1/foo
or http://10.0.0.2/foo
-に転送しますが、サーバーがリッスンしている実際の IP ではなく、request.get_host()
を返します。10.10.10.10
ありがとう、ベン