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
Dieser Artikel veranschaulicht anhand von Beispie...
Betriebsumgebung: MAC Docker-Version: Docker vers...
Die Pseudoklasse „Before/After“ entspricht dem Ei...
Hiermit werden die Grundkenntnisse des Interviewt...
1. Installieren Sie MySQL. Führen Sie den folgend...
Inhaltsverzeichnis Überblick Erfordern URL der An...
Was ist der Unterschied zwischen der grünen Versi...
1. Erste Schritte mit setUp Stellen Sie kurz die ...
Inhaltsverzeichnis 1. Testumgebung 1.1 CentOS 7 i...
1. Problem Während der Entwicklung wird beim Einf...
1. Befehlseinführung Der Befehl tac (umgekehrte R...
Inhaltsverzeichnis 1. Die Richtung davon in der F...
Nachdem Sie einen Container lokal erstellt haben,...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Einleitung 2. Code-Implemen...