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

MySQL-Rekursionsproblem

MySQL selbst unterstützt keine rekursive Syntax, ...

Detaillierte Erklärung der globalen Variablenimplementierung von Uniapp

Vorwort In diesem Artikel werden einige Implement...

Verständnis und Anwendungsszenarien von Enumerationstypen in TypeScript

Inhaltsverzeichnis 1. Was ist 2. Verwendung Numer...

Erfahren Sie, wie Sie den JVM-Speicher von Tomcat über JConsoler überwachen

Inhaltsverzeichnis 1. So überwachen Sie Tomcat 2....

Tipps zum Erstellen von Webseiten für Mobiltelefone

Angesichts der Tatsache, dass mittlerweile viele M...

JS implementiert Layoutkonvertierung in Animation

Beim Schreiben von Animationen mit JS wird häufig...

Beispiele für die Verwendung der oder-Anweisung in MySQL

1. Die Verwendung der oder Syntax in MySQL und di...

Herausforderung des HTML-Symbol-zu-Entity-Algorithmus

Herausforderung: Wandelt die Zeichen &, <,...

So aktualisieren Sie v-for in Vue

Tipps: Die Methode zur Array-Änderung führt zur A...