Nginx (als Reverse-Proxy) vorherige Anforderungsstandorteinstellungen überschreiben eine andere Anforderungsstandorteinstellung

Nginx (als Reverse-Proxy) vorherige Anforderungsstandorteinstellungen überschreiben eine andere Anforderungsstandorteinstellung

Ich habe die folgenden Nginx-Einstellungen:

 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;
     }
}

Der Punkt ist, dass ein Benutzer, nachdem er auf den /-Standort zugegriffen hat, den in der Standortregel /app1/ definierten Server nicht erreichen kann, weil nginx anscheinend den ip_hash-Server in der Upstream-Einstellung aus der vorherigen Anfrage verwendet. Habe ich eine Einstellung übersehen? Ist das richtig? Übrigens habe ich zwei Reverse-Proxy-Server, einen im Internet und einen anderen für die LAN-Benutzer.

Beste grüße!

Antwort1

Es war kein Fehler.

Ich musste „break;“ nach den Proxy_Pass-Direktiven verwenden.

verwandte Informationen