3

ローカル マシン X で django admin プロジェクトをホストしてい ます。 別のマシン Y に外部 IP があり、Y から X へのプロキシ パスを実行しています。 http://10.4.x.y/myapp/admin works.

http://proxypassname.com/myapp/admin works. しかし、管理ページで編集した後、リンク「保存」または「保存して編集を続ける」ボタンをクリックすると、ローカルマシンのIP(つまりhttp://10.4.x.y/myapp/blah_blah_blah)にリダイレクトされます。

django プロジェクトがローカル IP ではなくプロキシパス名にリダイレクトされるようにするにはどうすればよいですか?

4

2 に答える 2

3

これは、管理者が持っていると思われる IP にリダイレクトするために発生しています。HTTP リクエストのヘッダーに入ります。

ただし、修正は非常に簡単です。プロキシ サーバーがX-Forwarded-For標準を実装していると仮定すると、簡単に修正できます。

あなたのsettings.pyで、次のように設定するだけです:

USE_X_FORWARDED_HOST = 真

Django を再起動します。

それが機能しない場合は、プロキシが別の種類のヘッダーを設定しているかどうかを確認し、同じことを行うミドルウェアを作成できます。これは、ミドルウェアに関する Django のドキュメントの章の最初の例です。

于 2013-02-13T18:23:28.420 に答える