Server-Abgleichlogik Wenn Nginx entscheidet, in welchem Serverblock eine Anforderung ausgeführt werden soll, konzentriert es sich auf die Felder „Listen“ und „Servername“ im Serverblock. Die Listen-Direktive Das Listenfeld definiert die IP und den Port, auf die der Server antwortet. Wenn das Listenfeld nicht explizit konfiguriert ist, ist der Standardlistener 0.0.0.0:80 (Root) oder 0.0.0.0:8080 (Nicht-Root). listen kann wie folgt konfiguriert werden:
Letzteres wird normalerweise nur zum Übertragen von Anfragen zwischen verschiedenen Servern verwendet. Für die Auswahl des zu verwendenden Servers gelten die folgenden Regeln:
Auch hier wird die Direktive „server_name“ nur ausgewertet, wenn die Direktive „listen“ keine optimale Übereinstimmung finden kann. Nehmen wir beispielsweise an, dass die Domäne example.com auf 192.168.0.1 verweist und dass nginx auf 192.168.0.1 nur die folgenden beiden Serverblöcke hat: # Serverblock 1Server { hören Sie 192.168.0.1; Servername other.com ... } # Serverblock 2Server { hören Sie 80; Servername example.com ... } Server_name-Direktive Wenn die beste Übereinstimmung gemäß der Listen-Direktive nicht gefunden werden kann, wird die Server_Name-Direktive analysiert. Nginx überprüft den Header „Host“ in der Anfrage. Dieser Wert enthält den Domänennamen oder die IP-Adresse, die der Client tatsächlich anzufordern versucht. Nginx gleicht die Server_Name-Direktive anhand dieses Wertes ab. Die Übereinstimmungsregeln lauten wie folgt:
Hier ist ein Beispiel: (1) Genaue Übereinstimmung mit dem Servernamen, zum Beispiel: Server { hören Sie 80; Servername www.domain.com; ... } (2) Eine Zeichenfolge, die mit dem Platzhalterzeichen * beginnt: Server { hören Sie 80; Servername *.Domäne.com; ... } (3) Eine Zeichenfolge, die mit dem Platzhalterzeichen * endet: Server { hören Sie 80; Servername www.*; ... } (4) Passende reguläre Ausdrücke: Server { hören Sie 80; Servername ~^(?.+)\.Domäne\.com$; ... } (5) Wenn keine der oben genannten Angaben übereinstimmt, wird der Standardserver verwendet. Wenn kein Standardserver angegeben ist, wird der erste verfügbare Server ausgewählt. Wir können angeben, dass ein Fehler an den Client zurückgegeben wird, wenn kein übereinstimmender Hostwert vorhanden ist. Dies kann verwendet werden, um zu verhindern, dass andere Junk-Verkehr auf Ihre Website umleiten. Server { hören Sie 80 Standardserver; Servername _; Rückgabewert 444; } Lassen Sie nginx die Verbindung zum Browser trennen, indem Sie 444 zurückgeben, einen nicht standardmäßigen Fehlercode von nginx Standortabgleichslogik Standortsyntaxanalyse Standort optionaler Modifikator Standortübereinstimmung { ... } Die verfügbaren Modifikatoren sind wie folgt Entscheidungsregeln 1. Nginx sucht zunächst nach präfixbasierten Standortübereinstimmungen (d. h. Übereinstimmungen, die keine regulären Ausdrücke enthalten). 2. Wenn ein Standortblock mit dem Modifikator „=“ vollständig mit der angeforderten URL übereinstimmt, wird der Standort sofort verwendet, um auf die Anforderung zu antworten. 3. Wenn keine Übereinstimmung im Standortblock mit dem Modifikator „=“ gefunden wird, wird das ungenaue Präfix weiter berechnet, das längste übereinstimmende Präfix wird gemäß der angegebenen URI gefunden und dann die folgende Verarbeitung ausgeführt: (1) Wenn der längste übereinstimmende Ort den Modifikator ^~ hat, verwendet nginx diesen Ort sofort, um auf die Anfrage zu antworten (2) Wenn der längste übereinstimmende Ort nicht den Modifikator ^~ hat, speichert nginx den Treffer vorübergehend und fährt dann mit dem nächsten Treffer fort. 4. Nachdem der längste passende Präfix-Standortblock ermittelt und gespeichert wurde, prüft nginx weiterhin den passenden Standort des regulären Ausdrucks (Groß-/Kleinschreibung beachten/nicht beachten). Wenn ein regulärer Ausdruck vorhanden ist, der die Anforderungen erfüllt, wird der erste reguläre Ausdrucksstandort, der mit der angeforderten URI übereinstimmt, ausgewählt, um auf die Anforderung zu antworten. 5. Wenn kein mit der angeforderten URI übereinstimmender regulärer Ausdrucksort gefunden wird, wird der zuvor gespeicherte längste Präfixort verwendet, um auf die Anforderung zu antworten. Auffüllen Sobald ein Standort zur Beantwortung einer Anfrage ausgewählt wurde, wird die Anfrage normalerweise an diesem Standort bearbeitet, unabhängig von anderen Standorten. Einige Anweisungen am Standort lösen jedoch eine neue Standortübereinstimmung aus, beispielsweise: (1) Versuch_Dateien (2) umschreiben (3) Fehlerseite Weitere Informationen zum Konfigurieren des Standardservers für https finden Sie unter Richtiges Einrichten eines „Standard“-Nginx-Servers für https. 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:
|
<<: Vue.js-Textfeld mit Dropdown-Komponente
>>: Detailliertes Beispiel zum Erstellen und Löschen von Tabellen in MySQL
1. Bereiten Sie die Docker-Umgebung vor 2. Suchen...
1. CSV-Datei importieren Verwenden Sie den folgen...
In diesem Artikel wird der spezifische JavaScript...
In diesem Artikel wird der spezifische JavaScript...
Abhängigkeit vom Wissen Grundlagen der Go-Cross-K...
Einführung in CentOS CentOS ist eine Linux-Distri...
Inhaltsverzeichnis 1. Übersicht 2. Routing Naviga...
Es gibt häufig Szenarien, in denen das Bild an di...
Die verschiedenen HTML-Dokumente der Website sind...
Inhaltsverzeichnis 1. Komponentenwechselmethode M...
Ich werde nicht erklären, was CUDA ist, sondern d...
Inhaltsverzeichnis 1. Zugeordnete Typen 2. Mappin...
1. Verwenden Sie den folgenden Befehl, um das SSH...
Einmal haben wir über das Würfelspiel gesprochen....
Umweltvorbereitung: VMware+CentOS, jdk 1. Überprü...