Standortabgleichsreihenfolge 1. Übereinstimmung mit dem Präfixbefehl "=". Wenn die Übereinstimmung erfolgreich ist, stoppen Sie die anderen Übereinstimmungen. Notiz 1. Die Übereinstimmungsreihenfolge besteht darin, zuerst mit der normalen Zeichenfolge und dann mit dem regulären Ausdruck übereinzustimmen. Darüber hinaus erfolgt die Reihenfolge der Übereinstimmung gemeinsamer Zeichenfolgen von lang nach kurz entsprechend der Länge der Zeichen in der Konfiguration. Das heißt, die Reihenfolge der mit gemeinsamen Zeichenfolgen konfigurierten Standorte ist irrelevant. Am Ende führt nginx die Übereinstimmung entsprechend der Länge der Konfiguration aus. Es ist jedoch zu beachten, dass reguläre Ausdrücke in der Reihenfolge in der Konfigurationsdatei getestet werden. Die Suche wird beendet, wenn die erste Übereinstimmung mit dem regulären Ausdruck gefunden wurde. 2. Im Allgemeinen wird nach erfolgreichem Abgleich des Speicherorts der normalen Zeichenfolge auch der Speicherort des regulären Ausdrucks abgeglichen. Es gibt zwei Möglichkeiten, dieses Verhalten zu ändern. Eine besteht darin, das Präfix "=" zu verwenden, das eine strikte Übereinstimmung durchführt und andere Übereinstimmungen sofort nach einer erfolgreichen Übereinstimmung stoppt, während die Anforderung verarbeitet wird. Die andere besteht darin, das Präfix "^~" zu verwenden. Wenn dieses Präfix für eine reguläre Zeichenfolge verwendet wird, weist es nginx an, den regulären Ausdruck nicht zu testen, wenn der Pfad übereinstimmt. Muster und Reihenfolge anpassen „Location = /uri =“ am Anfang zeigt eine exakte Übereinstimmung an, und nur eine vollständige Übereinstimmung wird wirksam. location ^~ /uri ^~ beginnt mit einer Präfixübereinstimmung im URL-Pfad und steht vor dem regulären Ausdruck. Der Ort ~ Muster ~ am Anfang weist auf eine reguläre Übereinstimmung unter Beachtung der Groß- und Kleinschreibung hin. Standort ~* Muster ~* beginnt mit einem regulären Ausdruck ohne Berücksichtigung der Groß-/Kleinschreibung. Der Standort /uri ohne Modifikatoren weist ebenfalls auf eine Präfixübereinstimmung hin, jedoch nach der Übereinstimmung mit regulären Ausdrücken. Standort/Universelle Übereinstimmung, jede Anfrage, die nicht mit anderen Standorten übereinstimmt, wird abgeglichen, was der Standardeinstellung im Switch entspricht. Experimenteller Fall Testen Sie „^~“ und „~“, die Nginx-Konfiguration ist wie folgt. Geben Sie http://localhost/helloworld/test in den Browser ein und es wird 601 zurückgegeben. Wenn Sie Nr. 1 kommentieren, Nr. 2 öffnen und http://localhost/helloworld/test in den Browser eingeben, wird 603 zurückgegeben. Hinweis: #1 und #2 können nicht gleichzeitig geöffnet werden. Wenn sie gleichzeitig geöffnet werden, wird beim Starten von nginx die Meldung nginx: [emerg] doppelter Standort "/helloworld"... ausgegeben, da es sich bei beiden um normale Zeichenfolgen handelt. Standort ^~ /hallowelt { #1 Rückgabe 601; } #Standort /hallowelt { #2 # Rückgabe 602; #} Standort ~ /hallowelt { Rückgabe 603; } Testen Sie die Länge einer gemeinsamen Zeichenfolge (das Übereinstimmen einer gemeinsamen Zeichenfolge hat nichts mit der Reihenfolge, sondern mit der Länge zu tun). Geben Sie http://localhost/helloworld/test/a.html in den Browser ein und es wird 601 zurückgegeben. Geben Sie http://localhost/helloworld/a.html in den Browser ein und er gibt 602 zurück. Standort /hallowelt/test/ { #1 Rückgabe 601; } Standort /hallowelt/ { #2 Rückgabe 602; } Testen Sie die Reihenfolge der regulären Ausdrücke (reguläre Übereinstimmungen sind reihenfolgeabhängig). Geben Sie http://localhost/helloworld/test/a.html in den Browser ein und geben Sie 602 zurück; vertauschen Sie die Reihenfolge von Nr. 2 und Nr. 3, geben Sie http://localhost/helloworld/test/a.html in den Browser ein und geben Sie 603 zurück Standort /hallowelt/test/ { #1 Rückgabe 601; } Standort ~ /hallowelt { #2 Rückgabe 602; } Standort ~ /hallowelt/test { #3 Rückgabe 603; } Ich denke, dass es in der Praxis mindestens drei passende Regeldefinitionen gibt, und zwar die folgenden: #Direkte Zuordnung zum Website-Stamm. Es ist häufiger, über den Domänennamen auf die Homepage der Website zuzugreifen. Dies beschleunigt die Verarbeitung, heißt es auf der offiziellen Website. #Dies wird direkt an den Backend-Anwendungsserver weitergeleitet, oder es kann eine statische Homepage sein# Die erste erforderliche Regel location = / { Proxy-Passwort http://tomcat:8080/index } # Die zweite obligatorische Regel besteht darin, statische Dateianforderungen zu verarbeiten. Dies ist die Stärke von nginx als HTTP-Server. # Es gibt zwei Konfigurationsmodi, Verzeichnisübereinstimmung oder Suffixübereinstimmung. Wählen Sie einen aus oder verwenden Sie beide Speicherorte ^~ /static/ { Wurzel /webroot/static/; } Standort ~* \.(gif|jpg|jpeg|png|css|js|ico)$ { Wurzel /webroot/res/; } #Die dritte Regel ist eine allgemeine Regel, die zum Weiterleiten dynamischer Anforderungen an den Back-End-Anwendungsserver verwendet wird. #Nicht statische Dateianforderungen sind standardmäßig dynamische Anforderungen, und Sie können sie entsprechend Ihrer tatsächlichen Situation erfassen. #Schließlich haben einige beliebte Frameworks mittlerweile selten die Suffixe .php und .jsp. location / { Proxy-Passwort http://tomcat:8080/ } 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:
|
<<: Upgrade von MySQL 5.1 auf 5.5.36 in CentOS
>>: React+Antd implementiert ein Beispiel zum Hinzufügen, Löschen und Ändern von Tabellen
Moores Gesetz gilt nicht mehr Seit der Übernahme ...
Inhaltsverzeichnis 1. Einführung in Jenkins 2. Je...
Meines ist: <!DOCTYPE html> Blog-Garten: &l...
Vim ist ein leistungsstarker Vollbild-Texteditor ...
1. MySQL herunterladen Offizielle Website-Downloa...
Inhaltsverzeichnis Komponenten - Zeitleiste Benut...
Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...
Vorwort Ehrlich gesagt fühle ich mich in letzter ...
MySQL-Berechtigungen und Indizes Der höchste Benu...
Bei Webdiensten geht es um die Kommunikation zwis...
In dieser Lesenotiz werden hauptsächlich die Vorg...
In diesem Artikel wird der spezifische Code von V...
Inhaltsverzeichnis Merkmale Vorteile Installation...
Kubernetes ist aufgrund seiner Anwendungsportabil...
Inhaltsverzeichnis Überblick 1. Kompositions-API ...