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

Abfrageprozess und Optimierungsmethode der (JOIN/ORDER BY)-Anweisung in MySQL

Die EXPLAIN-Anweisung wird im MySQL-Abfrageanweis...

Achten Sie bei der Webseitenerstellung auf die Verwendung von HTML-Tags

Dieser Artikel stellt einige Aspekte von HTML-Tag...

Unterscheiden Sie zwischen Nullwert und leerem Zeichen ('') in MySQL

Bei der täglichen Entwicklung geht es im Allgemei...

MySQL-Methode zur Sperrensteuerung für Parallelität

Inhaltsverzeichnis Vorwort 1. Optimistisches Sper...

Lernen Sie, benutzerdefinierte Hooks in React zu erstellen

1. Was sind benutzerdefinierte Hooks Wiederverwen...

Eine ausführliche Zusammenfassung der Überlegungen zu MySQL-Zeiteinstellungen

Existiert die Zeit wirklich? Manche Menschen glau...

Beispielcode zur Implementierung des Dunkelmodus mit CSS-Variablen

Vor kurzem wurde WeChat von Apple gezwungen, eine...

Beispiel für die Implementierung eines gestrichelten Rahmens mit html2canvas

html2canvas ist eine Bibliothek, die Canvas aus H...

So installieren Sie den RabbitMQ-Server mit Yum auf CentOS

Socat muss vor der Installation von rabbitmq inst...