Einführung in die Parameter und Regeln für reguläre Ausdrücke bei Nginx

Einführung in die Parameter und Regeln für reguläre Ausdrücke bei Nginx

Vorwort

In letzter Zeit habe ich Kunden dabei geholfen, Server zu konfigurieren und häufig Nginx-Konfigurationsdateien zu ändern. Ich habe häufig reguläre Übereinstimmungsregeln verwendet. Hier sind einige häufig verwendete reguläre Parameter und Regeln zu Ihrer Information.

Die Syntaxregeln für Location in der Nginx-Konfiguration location [ = | ~ | ~* | ^~ | !~ | !~* ] /uri/{ … }

  1. = bedeutet genaue Übereinstimmung
  2. ~ zeigt eine reguläre Übereinstimmung mit Groß- und Kleinschreibung an
  3. ~* zeigt die Groß-/Kleinschreibung nicht berücksichtigende Übereinstimmung mit regulären Ausdrücken an.
  4. ^~ gibt an, dass die URI mit einer regulären Zeichenfolge beginnt
  5. !~ zeigt eine Nichtübereinstimmung von regulären Ausdrücken unter Beachtung der Groß-/Kleinschreibung an
  6. !~* bedeutet, dass der reguläre Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung nicht übereinstimmt.
  7. / Universelles Match, jede Anfrage wird gematcht

Passende Reihenfolge

Wenn mehrere Standorte konfiguriert sind, lautet die Übereinstimmungsreihenfolge:

Erste Übereinstimmung =
Zweitens, match ^~
Der zweite Schritt ist das reguläre Matching in der Reihenfolge der Datei und schließlich wird es an das / allgemeine Matching übergeben. Wenn ein Match erfolgreich ist, wird das Matching beendet und die Anfrage wird gemäß den aktuellen Matching-Regeln verarbeitet.

. passt zu jedem Zeichen außer Newline
\w entspricht Buchstaben, Zahlen, Unterstrichen oder chinesischen Zeichen
\s entspricht jedem Leerzeichen
\d entspricht einer Ziffer
\b entspricht dem Anfang oder Ende eines Wortes
^ entspricht dem Anfang der Zeichenfolge
$ entspricht dem Ende der Zeichenfolge

* Wird null oder öfter wiederholt
+ Einmal oder mehrmals wiederholen
? Null- oder einmal wiederholen
{n} n-mal wiederholen
{n,} n-mal oder öfter wiederholen
{n,m} n- bis m-mal wiederholen
*? Wiederholen Sie dies so oft Sie möchten, aber so selten wie möglich
+? 1 oder mehr Mal wiederholen, aber so selten wie möglich
?? 0 oder 1 Mal wiederholen, aber so selten wie möglich
{n,m}? Wiederholen Sie n bis m Mal, aber so wenig Mal wie möglich
{n,}? Mehr als n-mal wiederholen, aber so selten wie möglich

\W entspricht jedem Zeichen, das kein Buchstabe, keine Zahl, kein Unterstrich und kein chinesisches Zeichen ist
\S entspricht jedem Zeichen, das kein Leerzeichen ist.
\D entspricht jedem Zeichen, das keine Ziffer ist
\B entspricht einer Position, die nicht der Anfang oder das Ende eines Wortes ist
[^x] entspricht jedem Zeichen außer x
[^aeiou] entspricht jedem Zeichen außer aeiou

Gemeinsame Regeln

Genaue Übereinstimmung

Standort = / {
 Proxy-Passwort http://127.0.0.1:9090/
}

Leiten Sie alle Anfragen direkt an Port 9090 des Servers weiter.

Bereitstellen statischer Dateien

#Verzeichnis passender Speicherort ^~ /static/ {
 Wurzel /webroot/static/;
}
#Suffix-Übereinstimmungsort ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
 Wurzel /webroot/res/;
}

Leiten Sie dynamische Anforderungen an den Backend-Anwendungsserver weiter

#Leitet Anfragen, die mit /account/ beginnen, an den Account-Server-Standort /account/ weiter {
 Proxy-Passwort http://127.0.0.1:8080/
}
#Leitet Anfragen, die mit /order/ beginnen, an den Order-Server-Standort /order/ weiter {
 Proxy-Passwort http://127.0.0.1:9090/
}

Umschreiberichtlinie

  • last entspricht der Markierung [L] in Apache und bedeutet „umschreiben“.
  • break Nachdem diese Regel abgeglichen wurde, wird der Abgleich beendet und die folgenden Regeln werden nicht mehr abgeglichen.
  • Die Umleitung gibt eine temporäre 302-Umleitung zurück und die Browseradresse zeigt die URL nach dem Sprung an.
  • permanent gibt eine permanente 301-Weiterleitung zurück und die Browseradresse zeigt die URL nach dem Sprung an.
  • Verwenden Sie last und break, um die URI neu zu schreiben. Die Adressleiste des Browsers bleibt unverändert.
  • Wenn Sie die Alias-Direktive verwenden, müssen Sie den letzten Marker verwenden. Wenn Sie die Proxy_Pass-Direktive verwenden, müssen Sie den Break-Marker verwenden.
  • Das letzte Tag initiiert nach Ausführung der Umschreiberegel erneut eine Anforderung an das Server-Tag {……}, während das Break-Tag den Abgleich beendet, nachdem die Regel erfüllt wurde.

Zusammenfassen

Dies ist das Ende dieses Artikels über Parameter und Regeln für reguläre Ausdrücke bei Nginx. Weitere relevante reguläre Parameter und Regeln für Nginx 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:
  • Nginx if-Anweisung plus regulärer Ausdruck, um eine Zeichenfolgenkürzung zu erreichen
  • Detaillierte Erklärung der regulären Ausdrücke von Nginx
  • Detaillierte Erläuterung des regulären Ausdrucksbeispiels für die Nginx-Standortkonfiguration
  • Nginx pseudostatisch Rewrite regelmäßige Ressourcenübersicht
  • Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)
  • nginx Konfigurationsort Zusammenfassungsort Regelmäßiges Schreiben und Umschreiben von Regeln
  • Regelmäßige Python-Analyse des Nginx-Zugriffsprotokolls
  • So verwenden Sie reguläre Ausdrücke, um Platzhalterdomänennamen in Nginx automatisch abzugleichen
  • So verwenden Sie nginx, um bestimmte URL-Anfragen durch reguläre Ausdrücke abzufangen

<<:  Zusammenfassung verschiedener Methoden für JavaScript um festzustellen ob es sich um ein Array handelt

>>:  Detaillierte Erklärung der MySQL 8.0.18-Befehle

Artikel empfehlen

Detaillierte Erklärung des Workbench-Beispiels in MySQL

MySQL Workbench – Modellierungs- und Designtool 1...

Beispiel für reines CSS zum Ändern des Bildlaufleistenstils des Browsers

Verwenden Sie CSS, um den Stil der Bildlaufleiste...

Eine schnelle Lösung für den ersten Anmeldefehler in mysql5.7.20

Zunächst stellen wir vor, wie (1) MySQL 5.7 hat e...

Tutorial-Diagramm zur Installation von mysql8.0.18 unter Linux (Centos7)

1 Holen Sie sich das Installationsressourcenpaket...

Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...

Einfacher Vergleich von Meta-Tags in HTML

Das Meta-Tag wird verwendet, um Dateiinformationen...

CocosCreator Erste Schritte Tutorial: Netzwerkkommunikation

Übersicht zur Netzwerkkommunikation Bei der Entwi...

Installieren Sie MySQL (einschließlich utf8) mit Docker unter Windows/Mac

Inhaltsverzeichnis 1. Docker-Installation auf dem...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.11 (Win10)

In diesem Artikel werden die Installations- und K...

Kurze Analyse der verschiedenen Versionen des mysql.data.dll-Treibers

Hier ist der MySQL-Treiber mysql.data.dll Beachte...