1. Lassen Sie uns zunächst das relevante Wissen zum Standort in Nginx überprüfen 1) Anweisungen zur Standortübereinstimmung:
2) Die Priorität der Standortübereinstimmung (unabhängig von der Reihenfolge der Standorte in der Konfigurationsdatei) 1.= Genaue Übereinstimmungen werden zuerst verarbeitet. Wenn eine exakte Übereinstimmung gefunden wird, beendet nginx die Suche nach weiteren Übereinstimmungen. 2. Proxy_pass in mehreren ifs in nginx: Server { hören Sie 127.0.0.1:80; setze $test A; setze $testB B; Standort / { wenn ($test ~* "A") { Proxy-Passwort http://www.so.com; brechen; } if ($testB ~* "B") { Proxy-Passwort http://www.sogou.com; #brechen; } } } Ich hoffe, ein bestimmtes Proxy-Passwort verwenden zu können, wenn eine bestimmte Bedingung erfüllt ist. Wenn jedoch mehrere if-Anweisungen erfüllt sind, wie im obigen Beispiel: Wenn in der ersten if-Anweisung kein Break vorhanden ist, wird Folgendes ausgeführt; um proxy_pass nach der ersten Übereinstimmung auszuführen, kann ein Break hinzugefügt werden. (Es scheint keine solche Anweisung wie if else in nginx zu geben) 3. Bestimmen Sie die Parameter für verschiedene Proxy-Passwörter: Beim Umschreiben ist nur eine Übereinstimmung nach URL-Pfad möglich, nicht nach Parametern. Wenn Sie also eine Parameterbeurteilung implementieren möchten, müssen Sie $arg_parameter verwenden. Standort / { Stamm-HTML; index.html index.htm index.php; Proxy_Redirect aus; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_set_header Host $http_host; Proxy_http_Version 1.1; proxy_set_header Verbindung ""; wenn ( $query_string ~* "usg=0" ) { Proxy-Passwort http://local_workera; } wenn ( $query_string ~* "usg=1" ) { Proxy-Passwort http://local_workerb; } wenn ( $arg_uid ~* "(.*[AB]$)" ) { Proxy-Passwort http://local_workerf; } Proxy-Passwort http://local_workera; } 1) Die beiden Parameter usg=0 und usg=1 im Anforderungspfad sind festgelegt, sodass $query_string für die reguläre Übereinstimmung verwendet wird; (der Wert von $query_string entspricht allen Parametern in der Anforderung) 2) Wenn wir als Nächstes die Anforderung, deren UID-Wert mit A oder B endet, zur Verarbeitung an local_workerf übertragen möchten, können wir $query_string derzeit nicht für die reguläre Übereinstimmung verwenden (da es nicht einfach ist, /?uid=1A&t=1&usg=1 und /?uid=123&t=A&usg=0 abzugleichen). Derzeit können wir nur $arg_uid für die reguläre Übereinstimmung verwenden. 3) Da sich die beiden Parameter usg=0 und usg=2 gegenseitig ausschließen, können sie gemäß der Logik der if-Anweisung an der obigen Stelle ohne Unterbrechung korrekt verarbeitet und oben platziert werden. Da es beim UID-Abgleich zu Konflikten mit USG kommt, kann es nur unten platziert oder mit einem Umbruch versehen werden, d. h.: Standort / { Stamm-HTML; index.html index.htm index.php; Proxy_Redirect aus; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_set_header Host $http_host; Proxy_http_Version 1.1; proxy_set_header Verbindung ""; wenn ( $arg_uid ~* "(.*[AB]$)" ) { Proxy-Passwort http://local_workerf; brechen; } wenn ( $query_string ~* "usg=0" ) { Proxy-Passwort http://local_workera; } wenn ( $query_string ~* "usg=1" ) { Proxy-Passwort http://local_workerb; } Proxy-Passwort http://local_workera; } Dies ist das Ende dieses Artikels über die Proxy_Pass-Methode in mehreren Ifs im Nginx-Speicherort. Weitere relevante Inhalte zum Proxy_Pass-Speicherort im Nginx-Speicherort finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: JavaScript-Singleton-Modus zum Implementieren benutzerdefinierter Popup-Fenster
>>: Detaillierte Erklärung des Unterschieds zwischen Alt und Titel
Code kopieren Der Code lautet wie folgt: <html...
Vorwort: Im vorherigen Artikel wurden mehrere all...
Ich habe bereits einige Nachforschungen zum Thema...
Inhaltsverzeichnis schließen Fallstudie: Vertiefe...
Einführung in Dockerfile Docker kann automatisch ...
Vorwort Bei der täglichen Codeentwicklung gibt es...
Über Win Docker-Desktop möchte ich mich mit der C...
Inhaltsverzeichnis 1. Einfügen 2. Aktualisierung ...
In diesem Artikel finden Sie den spezifischen Cod...
Screenshots der Effekte: Implementierungscode: Cod...
1. Laden Sie mysql-5.7.21-windowx64.zip von der o...
Bei der Verwendung von Element-UI gibt es eine hä...
Inhaltsverzeichnis Überblick Canvas API: Grafiken...
1. Erstellen Sie eine Repo-Datei Lesen Sie die of...
1. Melden Sie sich mit dem IE-Browser beim VPN an...