Die default_server-Direktive von nginx kann einen Standardserver definieren, um einige Anfragen zu verarbeiten, die nicht mit dem Servernamen übereinstimmen. Wenn er nicht explizit definiert ist, wird der erste definierte Server als default_server ausgewählt. Nachdem wir die oben genannten Regeln verstanden haben, können wir ungebundene Domänennamenzugriffe oder direkte IP-Zugriffe erfassen und auf 403-Seiten umleiten. 1. Impliziter Standardserver von nginx http { # Wenn kein Standardserver explizit angegeben ist, wird der erste Server implizit als Standardserver festgelegt Server { hören Sie 80; server_name _; # _ ist nicht der Punkt __ Es ist auch OK ___ Sie können auch 403 zurückgeben; # 403 verboten } Server { hören Sie 80; Servername www.a.com; ... } Server { hören Sie 80; Servername www.b.com; ... } } Viele Leute kopieren und fügen die Idee ein, dass der Servername auf „_“ gesetzt werden sollte, aber das hat eigentlich nichts damit zu tun. '_' ist nur ein Anforderungswiederherstellungsdienst, der nichts mit Geschäftsdomänennamen zu tun hat. Wenn auf unsere Online-Unternehmen alle über eindeutige Geschäftsdomänennamen zugegriffen wird, werden einige nicht geschäftliche Domänennamen oder IP-Zugriffe, die durch Platzhalterauflösung verursacht werden, von diesem Server recycelt. Wenn der Standardserver nicht explizit definiert ist, verwendet nginx den ersten konfigurierten Server als Standardserver, d. h. wenn die Anforderung mit keinem Servernamen übereinstimmt, verarbeitet dieser Server die Anforderung. Wenn wir daher direkt über die IP-Adresse zugreifen, wird dieser zur Verarbeitung an den ersten hier definierten Server übergeben, 403 verboten. 2. Definieren Sie explizit einen Standardserver http { Server { hören Sie 80; Servername www.a.com; ... } Server { hören Sie 80; Servername www.b.com; ... } # Anzeige der Definition eines Standardservers Server { hören Sie 80 Standardserver; Servername _; return 403; # 403 verboten } } Es wird empfohlen, den Standardserver explizit anzugeben, da beim Konfigurieren virtueller Hosts oder mehrerer Dienste mehrere Serverkonfigurationsdateien vorhanden sind. Wenn wir die implizite Methode verwenden, um den ersten geladenen Server als Standardserver auszuwählen, müssen wir immer bestätigen, wer zuerst geladen wird ... was Risiken birgt ... 3. Geben Sie den Servernamen direkt als IP an (kann nur den IP-Zugriff verbieten). http { Server { hören Sie 80; Servername www.a.com; ... } Server { hören Sie 80; Servername www.b.com; ... } # IP-Servername direkt angeben Server { hören Sie 80; Servername xxx.xxx.xxx.xxx; return 403; # 403 verboten } } Alle drei oben genannten Methoden können den direkten Zugriff per IP verbieten, und mit 1 und 2 können auch der Zugriff über ungebundene Domänennamen verbieten (beispielsweise, wenn Sie den primären Domänennamen aufgelöst haben). Hinweis: Wenn nginx Konfigurations-Confs stapelweise lädt, werden sie in ASCII-Reihenfolge geladen, und zwar in der Reihenfolge server_a.conf server_b.conf server_c.conf. Wenn default_server nicht definiert ist, wird server_a als Standardserver verwendet, um Anfragen zu verarbeiten, die nicht an einen Domänennamen/eine IP gebunden sind. Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Standardserverdefinition und der Übereinstimmungsregeln von nginx. Weitere relevante Übereinstimmungsregeln für den Standardserver von 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:
|
<<: MySQL Installer 8.0.21 Installations-Tutorial mit Bildern und Text
>>: Grundlegende Syntax des MySQL-Index
Inhaltsverzeichnis 1. Einfaches Beispiel 2. Legen...
Code der Front-End-Testseite: <Vorlage> <...
Wenn wir verstehen, wie Tomcat gleichzeitige Anfr...
pssh ist eine in Python implementierte Open-Sourc...
Inhaltsverzeichnis Problembeschreibung: Installat...
Eine kurze Erläuterung des Navigationsfensters in...
Vor ein paar Tagen habe ich auf Codepen ein Beisp...
Inhaltsverzeichnis Einführung Öffentlicher Code (...
Hintergrund Der Unternehmenscode wird Dritten zur...
Inhaltsverzeichnis Vorwort: Implementierungsschri...
Der Weg vor uns ist lang und beschwerlich, aber i...
Bei der Installation der komprimierten Version vo...
Vorwort In letzter Zeit haben viele neue Kollegen...
Zwei Methoden zur Implementierung der Mysql-Remot...
calc ist eine Funktion in CSS, die zum Berechnen ...