2
80
でリッスンしているNginxサーバーがDockerコンテナ内で実行されています。Nginx:リダイレクト時にポートを保持する
Nginxの設定では、特定の状況で静的なページにリダイレクトする必要があります。
rewrite^/foobar.html redirect;
ユーザーがドッキングウィンドウのコマンドラインを使用して、任意のポートを指定してコンテナを実行することができます(参考のために、彼女はポート8000
にコンテナを公開することができ、内部nginxのはまだ80
を使用します)。
NginxがURLをリダイレクトすると、Dockerで使用されているものを使用する代わりに、Nginxによって内部でで使用されたポートに置き換えられます。
私は、ヘッダの束を設定しようとしましたが、彼らは助けにはならなかった。
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://app_server;
rewrite^/foobar.html redirect;
それはまだ80
にリダイレクトします。
Nginxにユーザーが使用するポートを保持するように指示するにはどうすればよいですか?