Detaillierte Analyse der Unterschiede zwischen break und last in Nginx

Detaillierte Analyse der Unterschiede zwischen break und last in Nginx

Lassen Sie uns zunächst über den Unterschied sprechen

  • Zuletzt verwendet die neu geschriebene Regel weiterhin den neu geschriebenen Wert, um ihn mit der folgenden Position abzugleichen.
  • Unterbrechung, die neu geschriebene Regel trifft nicht auf die folgende Position zu. Mit den neuen Regeln wird direkt eine http-Anfrage initiiert.

Nginx-Konfigurationsdatei

Server {
  hören Sie 88;
  Servername _;
  Standort /break { # Standort 1
   umschreiben ^/break/(.*)$ /bak/$1 break;
  }
  Standort /letzter { # Standort 2
   schreibe ^/last/(.*)$ /bak/$1 last neu;
  }

  Standort /bak { # Standort 3
   Standardtyp Text/HTML;
   gib 200 $uri zurück;
  }

}

Besuchen Sie http://rumenz.com:88/break/one

Wenn location1 aufgerufen wird, ändert sich die Adressleiste des Browsers nicht. Der Browser sucht direkt nach der Datei /nginx/html/bak/one. Da es keine solche Datei gibt, wird 404 zurückgegeben.

Browser

Nginx-Fehlerprotokoll (error.log)

/nginx/html/bak/one ist fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis)

break bedeutet, nach dem Neuschreiben anzuhalten und nicht mehr mit dem Standortblock übereinzustimmen.

Besuchen Sie http://rumenz.com:88/last/one

Klicken Sie auf Standort2. Die Adressleiste des Browsers ändert sich nicht. Passen Sie sie erneut an Standort3 an.

„last“ bedeutet, nach dem Umschreiben zum Standortblock zu springen und ihn erneut mit der umgeschriebenen Adresse abzugleichen.

Anwendungsfälle für „Break“ und „Last“

brechen

Dateidownload, Verstecken und Schützen des echten Dateiservers.

Standort /nach unten {
 umschreiben ^/down/(.*)$ https://rumenz.com/file/$1 break;
}

zuletzt

Schreiben Sie die Schnittstellenadresse neu, schreiben Sie https://rumenz.com/api/list um in https://rumenz.com/newapi/list

Standort /API {
 schreibe ^/api/(.*)$ /newapi/$1 zuletzt neu;
}

Standort /newapi {
 Standardtyp Anwendung/json;
 returniere 200 '{"code":200,"msg":"ok","data":["JSON.IM","json format"]}';
}

Zusammenfassen

Dies ist das Ende dieses Artikels über den Unterschied zwischen „break“ und „last“ in Nginx. Weitere Informationen zum Unterschied zwischen „break“ und „last“ in Nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Analyse des Unterschieds zwischen Last und Break beim Schreiben von Rewrite in der Nginx-Konfiguration

<<:  Detaillierter Vue-Code zur Implementierung der Shuttle-Box-Funktion

>>:  So unterscheiden Sie MySQLs innodb_flush_log_at_trx_commit und sync_binlog

Artikel empfehlen

Snake-Spiel mit nativem JS schreiben

In diesem Artikel wird der spezifische Code zum S...

JavaScript-Entwurfsmuster, Befehlsmuster

Das Befehlsmuster ist ein Verhaltensentwurfsmuste...

Implementierungscode für die nahtlose Verbindung des Div-Bildlaufbands

Code kopieren Der Code lautet wie folgt: <html...

Websocket+Vuex implementiert eine Echtzeit-Chat-Software

Inhaltsverzeichnis Vorwort 1. Der Effekt ist wie ...

Einführung in die Verwendung von this in HTML-Tags

Zum Beispiel: Code kopieren Der Code lautet wie fo...

So gehen Sie mit Zeitzonenproblemen in Docker um

Hintergrund Als ich in diesen beiden Tagen Docker...

CSS-Tricks zum Erstellen von Welleneffekten

Es war schon immer sehr schwierig, Welleneffekte ...

XHTML-Erste-Schritte-Tutorial: Verwenden des Frame-Tags

<br />Durch die Frame-Struktur ist die gleic...

Vue implementiert eine gleitende Navigation oben links und rechts

Navigation und andere Dinge werden bei der täglic...

So laden Sie Flash in HTML (2 Implementierungsmethoden)

Erste Methode : CSS Code: Code kopieren Der Code l...