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
Inhaltsverzeichnis Die dynamischen Partikeleffekt...
Ich habe den Dialog beim Schließen verwendet und e...
Grammatikregeln SELECT Spaltenname(n) FROM Tabell...
1. Leistungsschema: Einführung In MySQL 5.7 wurde...
Überblick Nginx kann Variablen verwenden, um die ...
Beim Einsatz von Docker in einer Produktionsumgeb...
Heute werde ich die grundlegendsten Funktionen von...
Warum steckt es fest? Es gibt eine Prämisse, die ...
Inhaltsverzeichnis Überblick 1. Erfassung und Ver...
Grundlegende Syntax Die Verwendung von Text-Overf...
1. Hintergrund Wenn der Docker-Dienst gestartet w...
Dieser Artikel enthält das ausführliche Tutorial ...
Finden Sie das Problem Ich habe vor Kurzem Django...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...
<br />So entfernen Sie die Trennlinien einer...