Nginxはポート80で実行されており、この方法で/foo
ポートへのパスを持つプロキシURLをリバースするために使用しています3200
。
location /foo {
proxy_pass http://localhost:3200;
proxy_redirect off;
proxy_set_header Host $host;
}
これは正常に機能しますが3200
、port にアプリケーションがあり、そのためにイニシャル/foo
を送信したくありません。つまりhttp://localhost/foo/bar
、アクセスするときに/bar
、アプリが受信したパスになりたいだけです。そこで、上記のロケーションブロックにこの行を追加してみました。
rewrite ^(.*)foo(.*)$ http://localhost:3200/$2 permanent;
これにより302リダイレクト(URLの変更)が発生しますが、301が必要です。どうすればよいですか?