I. 概要
nginx の構成ルールはまだ少し複雑です. ここでは、私が遭遇した落とし穴と解決策のみを要約します. 具体的な理由は明らかではありません.
2. 構成後に有効にならないピット
1. まず、アクセスするサンプル URL は次のとおりです。
http://10.123.123.123:8080/b/c/getInfo
http://10.123.123.123:8080/a/b/c/getMsg
nginx で構成されたルールは次のとおりです。
location /b/c/ {
proxy_set_header Host $host;
proxy_set_header Connection close;
proxy_pass http://10.124.124.124:8089/api/other_Systems/;
}
2. この時点で、以下にアクセスしてください。
http://10.123.123.123:8080/b/c/getInfo
nginx の設定に従って、次の場所に転送されます。
http://10.124.124.124:8089/api/other_Systems/getInfo
これは問題ありません。
3.ただし、次の場所にアクセスしてください。
http://10.123.123.123:8080/a/b/c/getMsg
次の場所にも転送できると思いました。
http://10.124.124.124:8089/api/other_Systems/getMsg
結果はそうではありません。アクセスはまだhttp://10.123.123.123:8080/a/b/c/getMsg
ルールに従って転送されていません。
3. ソリューション
1.nginx は次のように構成する必要があります。
location /b/c/ {
proxy_set_header Host $host;
proxy_set_header Connection close;
proxy_pass http://10.124.124.124:8089/api/other_Systems/;
}
location /a/b/c/ {
proxy_set_header Host $host;
proxy_set_header Connection close;
proxy_pass http://10.124.124.124:8089/api/other_Systems/;
}
このようにして、次のように言えます。
http://10.123.123.123:8080/a/b/c/getMsg
先へ:
http://10.124.124.124:8089/api/other_Systems/getMsg
4.あとがき
1. nginx 構成ファイルを変更した後、nginx スタートアップ ファイルを見つけるには、コマンドを使用して再起動します。sudo ./nginx -s reload
これを忘れないでください。
2. 転送ルールを 1 つしか設定できないのに 2 つしか設定できない理由が明確でない理由. 理由は明確ではありません. 最初に解決策を要約させてください.