1. Grammatik Standort [=|~|~*|^~|@] /uri/ { ... } 2. Beschreibung Aus der obigen Syntax können wir erkennen, dass der Standort in drei Teile unterteilt werden kann. Lassen Sie uns diese nacheinander untersuchen. 1) [=|~|~*|^~|@]
Oben sind mehrere unterschiedliche Symbole definiert, die unterschiedliche Übereinstimmungsregeln darstellen. Wie ist also die Reihenfolge?
Testbeispiel 1: Standort = /Welt { Rückgabe 600; } Standort = /hallo { Rückgabe 600; } Standort ~ /hallo { Rückgabe 602; } Standort ^~ /hallo { Rückgabe 601; } - Die Anfrage „localhost/world“ gibt 600 zurück - Anfrage localhost/world2 localhost/test/world gibt andere zurück - Anfrage localhost/hello gibt 600 zurück - Die Anfrage localhost/hello/123 gibt 601 zurück - Die Anfrage „localhost/hellow“ gibt 601 zurück. - Die Anfrage „localhost/hellowo“ gibt 601 zurück. - Die Anfrage localhost/test/hellowo gibt 602 zurück - Die Anfrage „localhost/test/hello“ gibt andere Daher können wir wissen:
Versuchsbeispiel 2: Standort ~ /hallo { Rückgabe 602; } Standort ~ /hallowelt { Rückgabe 601; } - Die Anfrage localhost/world/helloworld gibt 602 zurück - Die Anfrage „localhost/helloworld“ gibt 602 zurück. Passen Sie die Reihenfolge oben an Standort ~ /hallowelt { Rückgabe 601; } Standort ~ /hallo { Rückgabe 602; } - Die Anfrage „localhost/helloworld“ gibt 601 zurück. - Die Anfrage „localhost/world/helloworld“ gibt 601 zurück. - Die Anfrage „localhost/helloWorld“ gibt 602 zurück. Wenn also der reguläre Ausdruck übereinstimmt
Versuchsbeispiel 3: Standort ^~ /hallo/ { Rückgabe 601; } Standort /hallo/welt { Rückgabe 602; } In diesem Szenario gibt es eine Routing-Regel, die nicht übereinstimmt. Wie sieht also der eigentliche Test aus? - http://localhost/hello/wor gibt 601 zurück - http://localhost/hello/world gibt 602 zurück - http://localhost/hello/world23 gibt 602 zurück - http://localhost/hello/world/123 gibt 602 zurück Aus dem obigen Beispiel können wir sehen
2) [uri] Hier muss vor allem der Pfad eingegeben werden, der abgeglichen werden muss. Entsprechend den vorherigen Symbolen können Sie den genauen Pfad oder einen regulären Ausdruck eingeben. Im Folgenden wird hauptsächlich der reguläre Ausdruck erläutert.
Routing und Weiterleitung Der Anforderungspfadabgleich ist nur der erste Schritt. Wie kann die Anforderung nach Abschluss des Abgleichs an andere Webdienste weitergeleitet werden? 1. Reverse-Proxy Eine gängige Verwendungshaltung besteht darin, Nginx zum Proxy-Versenden von Anfragen und deren Weiterleitung an andere interne Webdienste zu verwenden. Hauptsächlich erreicht durch prixy_pass Standort ^~ /webs { Proxy-Passwort http://127.0.0.1:8080/webs; } Die Bedeutung der obigen Regel besteht darin, alle Anfragen, die mit „Webs“ beginnen, an den Webdienst auf Port 8080 weiterzuleiten. Das Obige wird direkt an eine IP-Adresse weitergeleitet. Wenn mehrere Maschinen Dienste bereitstellen, können Sie es wie folgt konfigurieren ## Setzen Sie Folgendes in die Klammern von http als erste Upstream-Schicht test.online { Server 120.11.11.11:8080 Gewicht=1; Server 120.11.11.12:8080 Gewicht=1; } Standort ^~ /webs { Proxy-Pass http://test.online; Proxy_Redirect-Standard; } 2. Befehl neu schreiben Die Umschreibfunktion verwendet die von nginx bereitgestellten globalen Variablen oder die von Ihnen selbst festgelegten Variablen, kombiniert mit regulären Ausdrücken und Flags, um das Umschreiben und Umleiten von URLs zu erreichen. rewrite kann nur in server{}, location{}, if{} platziert werden und kann nur auf die Zeichenfolge nach dem Domänennamen angewendet werden, mit Ausnahme der übergebenen Parameter, wie z. B. http://jb51.net/a/we/index.php?id=1&u=str Schreiben Sie nur /a/we/index.php neu. Syntax: Regex-Ersetzung neu schreiben [Flag]; Beispiel: Standort ^~ /hexo { Stammverzeichnis '/Benutzer/yihui/GitHub/'; } Standort ~ /hallo { schreibe ^(/hallo).*$ /hexo/public/index.html zuletzt um; Rückgabe 603; } Leiten Sie alle Dateien, die mit „hello“ beginnen, an /hexo/public/index.html weiter. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Diskussion zum Thema mysqldump-Datenexport
Vorwort Überprüfung und Zusammenfassung von REM-A...
Inhaltsverzeichnis Vorwort Was ist Datenbindung? ...
Viele Leute haben dieses Buch gelesen: „Entwickel...
Privot ist die Zwischentabelle von Viele-zu-viele...
Inhaltsverzeichnis Vorwort Unterrichtsgrundlagen ...
1. Lassen Sie uns zunächst eine allgemeine Einfüh...
Die heute zu implementierende Funktion ist die fo...
Im Tabellenkopf können Sie die Farbe der hellen U...
<br />Originalquelle: http://www.a-xuan.cn/?...
Bei der Verwendung von Element-UI gibt es eine hä...
Inhaltsverzeichnis Vorwort 1. Iceraven-Browser (F...
Webdesigner zu sein ist nicht einfach. Sie müssen...
Lösung für das Verschwinden des MySql-Dienstes au...
Inhaltsverzeichnis Überprüfung der responsiven Pr...
Inhaltsverzeichnis MySql8.0 Fehler bei der Transa...