ドメイン名example.comがあります。 example.com
と入力すると、リクエストを127.0.0.1:8080/source
にプロキシしたい
私のnginx構成
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_Host;
proxy_pass http://127.0.0.1:8080;
}
これは127.0.0.1:8080で機能しますが、/ sourceサブホストにプロキシすることはできません。に変更すると
proxy_pass http://127.0.0.1:8080/source/;
正しく動作しません。
http://127.0.0.1:8080/source/ にリダイレクトされますが、jsおよびcssファイルのパスは/source/js/ *.js
および/source/css/ *.css
であり、その他のリソースファイルは/source/*
です。たとえば、ブラウザがhtmlをロードすると、/source/js/ *.js
にリダイレクトするため、http://127.0.0.1:8080/source/
を見つけようとします。最終的なパスはhttp://127.0.0.1:8080/source/source/js/ *.js
ですが、正しいパスはhttp://127.0.0.1:8080/source/js/ *.js
です。
example.comと入力すると、 http://127.0.0.1:8080/source/)にリダイレクトされるようにしたいだけです。 、またはexample.com/source
へのリダイレクトも問題ありません。
あなたの質問の終わりは、あなたがする必要があるのは単一のURIを書き直すことだけであることを示唆しています。これはいくつかの方法で実行できますが、location
とrewrite...last
は次のようになります:
location = / {
rewrite ^ /source/ last;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_Host;
proxy_pass http://127.0.0.1:8080;
}