Implementierung der Nginx-Routing-Weiterleitung und der Reverse-Proxy-Standortkonfiguration

Implementierung der Nginx-Routing-Weiterleitung und der Reverse-Proxy-Standortkonfiguration

Drei Möglichkeiten zum Konfigurieren von Nginx

Die erste Methode ersetzt direkt den Standortabgleichsteil

Die zweite Zieladresse von proxy_pass hat standardmäßig kein /, was bedeutet, dass nur der Proxy-Domänenname verwendet wird und sich die URL- und Parameterteile nicht ändern (der angeforderte Pfad wird mit dem Zieldomänennamen von proxy_pass als Proxy-URL verknüpft).

Beim dritten Typ der Proxy_Pass-Zieladresse wird dahinter ein / hinzugefügt. Dies bedeutet, dass der Teil des Pfads, der erfolgreich mit dem Standort übereinstimmt, abgeschnitten und dann in die Proxy_Pass-Zieladresse eingefügt wird.

Standortkonfiguration

Standort [ = | ~ | ~* | ^~ ] uri {...}

Der Inhalt in eckigen Klammern vor uri ist optional und wird wie folgt erklärt:

  • "=": Wird vor der Standard-URI verwendet. Die Anforderungszeichenfolge muss strikt mit der URI übereinstimmen. Sobald die Übereinstimmung erfolgreich ist, wird sie beendet.
  • "~": wird vor der regulären URI verwendet und unterscheidet zwischen Groß- und Kleinschreibung
  • "~*": wird vor der regulären URI verwendet, unterscheidet aber nicht zwischen Groß- und Kleinschreibung
  • "^~": Wird vor der Standard-URI verwendet. Dadurch muss Nginx den Speicherort mit der höchsten Übereinstimmung zwischen der URI und der Anforderungszeichenfolge finden und diesen Speicherort sofort zum Verarbeiten der Anforderung verwenden, anstatt die reguläre URI im Speicherortblock zum Abgleichen mit der Anforderungszeichenfolge zu verwenden.

Symbol Bedeutung
= Genaue Übereinstimmung
^~ Nicht reguläres Matching
~ Übereinstimmung mit regulären Ausdrücken (Groß-/Kleinschreibung beachten)
~* Übereinstimmung mit regulären Ausdrücken (ohne Berücksichtigung der Groß-/Kleinschreibung)
!~ Regulärer Ausdruck stimmt nicht überein (Groß-/Kleinschreibung beachten)
!~* Regulärer Ausdruck stimmt nicht überein (Groß-/Kleinschreibung wird nicht beachtet)
Normale Übereinstimmung (wenn hier kein Symbol steht)

Beispiel

Die folgende Konfiguration demonstriert beispielsweise das dritte Konfigurationsschema. Wenn wir http://44.179.118.54:80/shop/xxx besuchen

Beim Zugriff wird Nginx /shop/ abfangen und dann den folgenden Pfad an proxy_pass anhängen.

Was wir dann tatsächlich besuchen, ist: http://44.179.118.54:8007/xxx dieser Dienst

 #Shop-Service
 # Reverse-Proxy Shop-Service Dienststandort ^~ /shop/ {
     #proxy_redirect aus;
     #Proxy_Verbindungstimeout 60;
     #Proxy_Lesezeitüberschreitung 60;
     #Proxy_Sendezeitüberschreitung 60;
     #Proxy-Puffergröße 4k;
     #Proxy-Puffer 4 32k;
     #Proxy_busy_buffers_size 64k;
     #Proxy_temp_file_Schreibgröße 64k;
     #proxy_max_temp_file_size 128m;
     Proxy-Passwort http://44.179.118.54:8007/;
     #proxy_set_header X-Real-IP $remote_addr;

     #root /var/www/test/benutzer/
     #index index.html
     #Proxy_Passwort https://www.baidu.com;
 }

Dies ist das Ende dieses Artikels über die Implementierung der Nginx-Routing-Weiterleitung und der Reverse-Proxy-Standortkonfiguration. Weitere verwandte Inhalte zu Nginx-Routing-Weiterleitung und Reverse-Proxy 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:
  • Beispiel für einen Reverseproxy und eine Umschreibstrategie für das Standortrouting einer Nginx-Anwendung
  • Nginx konfiguriert das Standortmodul, um Routing-Funktionen (Reverse-Proxy, Umleitung) zu implementieren

<<:  HTML-Kopfstruktur

>>:  Überblick und Anwendung von Positionsattributen (absolut|relativ|statisch|fest) in CSS

Artikel empfehlen

Detaillierte Erklärung der Docker Compose-Verwendung

Inhaltsverzeichnis Docker Compose-Nutzungsszenari...

Implementierung der TCPWrappers-Zugriffskontrolle in Centos

1. Übersicht über TCP-Wrapper TCP Wrapper „verpac...

Miniprogramm zur Implementierung des Paging-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Verwenden von Apache ab zum Durchführen von HTTP-Leistungstests

Mac wird mit Apache-Umgebung geliefert Öffnen Sie...

Eine kurze Diskussion zum Problem von Daten mit Nullwerten in der MySQL-Datenbank

Standardmäßig akzeptiert MySQL das Einfügen von 0...

Detaillierte Anweisungen zum Download und Installationsprozess von MySQL 5.7.18

MySql herunterladen 1. Öffnen Sie die offizielle ...

HTML-Tabellen-Tag-Tutorial (26): Zellen-Tag

Die Attribute des <TD>-Tags werden verwende...

Lösen Sie das Problem des MySQL-Datenverlusts, wenn Docker Redis neu startet

Amtliche Dokumentation: Daher sollte MySQL wie fo...

Eine detaillierte Erklärung der subtilen Unterschiede zwischen Readonly und Disabled

Sowohl die Optionen „Nur lesen“ als auch „Deaktivi...

Ein tiefes Verständnis der spitzen Klammern in Bash (für Anfänger)

Vorwort Bash verfügt über viele wichtige integrie...