私はローカルマシンのポート8080上で動作するサービスのリバースプロキシとしてnginxを使用しています。さらに、上流に送られたパスに/ vpを付加する必要があります。これは簡単で、私はそれのために働いてlocation
ブロックがありますので、上記のexample.com/resource
のようなURLをサポートしていますし、完璧に動作URLの書き換えに問題があります
location ~ ^/(.*?)$ {
proxy_pass $scheme://127.0.0.1:8080/vp/$1;
proxy_set_header Host $host;
proxy_redirect $scheme://$host/vp/ $scheme://$host/;
}
を。
ただし、example.com/vp/resource
のようなURLもサポートしたいと考えています。このために私は別のlocation
ブロックを書く必要があります。そうでなければ、それは動作しない/vp/vp/resource
として上流に渡されます。
location ~ ^/vp/(.*?)$ {
rewrite /vp(.*?)$ /$1;
}
上記の作業と今、私はexample.com/vp/resource
のようなURLをサポートしています。
しかし、私は最後にもう一度修正したいことがあります。ユーザーがexample.com/vp/resource
にアクセスすると、ブラウザのURLをexample.com/resource
に書き換えることができます。私の上記の設定はこれを行わず、私はそれを変更する方法を知らない。私は書き換えのポイントはブラウザに見られるURLを書き換えることだと思ったが、それはそうではないようだ。これに
location ~ ^/vp/(.*?)$ {
rewrite /vp(.*?)$ /$1;
}
: