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

Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7

Da die in der MySQL-Datenbank gespeicherten Daten...

So veröffentlichen Sie ein lokal erstelltes Docker-Image auf Dockerhub

Heute zeigen wir Ihnen, wie Sie das lokale Docker...

Detaillierte Erklärung langer Transaktionsbeispiele in MySQL

Vorwort: Die Artikelserie „Erste Schritte mit MyS...

So stellen Sie Tencent Cloud Server von Grund auf bereit

Da dies mein erster Beitrag ist, weisen Sie mich ...

5 Möglichkeiten, um schnell den Leerraum eines Inline-Blocks in HTML zu entfernen

Der Eigenschaftswert „Inline-Block“ ist sehr nütz...

Methode zum Schreiben von bedingten Kommentaren und Beispielcode

Als Front-End-Ingenieure müssen wir mit dem IE ve...

Wie man die Idee von Vue nutzt, um einen Speicher zu kapseln

Inhaltsverzeichnis Hintergrund Funktion Zweck Ide...

Detaillierte Analyse der Parameterdatei my.cnf von MySQL in Ubuntu

Vorwort Aufgrund meines MySQL-Verständnisses denk...

Verwenden Sie xshell, um eine Verbindung zum Linux-Server herzustellen

Vorteile der Verwendung von xshell zur Verbindung...

Schritte für Vue3 zur Verwendung von Mitt für die Komponentenkommunikation

Inhaltsverzeichnis 1. Installation 2. Ins Projekt...