Nginx(リバースプロキシとして)の以前のリクエストロケーション設定が別のリクエストロケーション設定を上書きしています

Nginx(リバースプロキシとして)の以前のリクエストロケーション設定が別のリクエストロケーション設定を上書きしています

次のような nginx 設定があります:

 upstream cluster_web {
         ip_hash;
         server 192.168.115.82 weight=3;
         server 192.168.115.92 weight=2;
         server 192.168.115.100 weight=2;
         server 192.168.115.95 weight=3;
         server 192.168.115.103 weight=1;
}

server {
     location /app1/ {
          proxy_pass http://192.168.115.92;
     }

     location / {
          proxy_pass http://cluster_web;
     }
}

要点は、ユーザーが / ロケーションにアクセスした後、ロケーション ルール /app1/ で定義されたサーバーにアクセスできないことです。どうやら、nginx は以前のリクエストからのアップストリーム設定で ip_hash サーバーを使用しているようです。何か設定が足りないのでしょうか? これは正しいですか? ちなみに、リバース プロキシ サーバーが 2 つあり、1 つはインターネット上、もう 1 つは LAN ユーザー用です。

よろしくお願いします!

答え1

それはバグではありませんでした。

proxy_pass ディレクティブの後に break; を使用する必要がありました。

関連情報