1. Fehlerbehebung und Lokalisierung des Problems, dass Nginx nach der Konfiguration von proxy_pass 404 zurückgibt1.1. Problem In einer Produktionskonfiguration mit mehreren Weiterleitungen besteht die Anforderung aus dem folgenden Diagramm: 1.2. Finden Sie die Ursache des Problems Unsere Standardkonfiguration von Nginx Proxy_Set_Header Host $host;
Wenn wir diese Einstellung verwenden, wenn die erste Schicht von Nginx (Nginx1) als Proxy fungiert, lautet der von uns angeforderte Domänenname www.djx.com und der aus dem Header dieser Anforderung erhaltene Hostwert lautet Proxy_Set_Header Host $host; Der Hostwert wird auf den weitergeleiteten Hostwert gesetzt, aber der angeforderte Domänenname lautet 1.3. offizielle Informationen zu proxy_set_headerOffizielle Dokumentation Die Standardeinstellung ist Proxy_Set_Header Host $Proxy_Host; proxy_set_header Verbindung schließen; 1.4 Lösung Der Wert von Host wird auf Proxy_Set_Header Host $Proxy_Host; 2. Erweiterung gängiger Konfigurationen1. $proxy_hostProxy_Set_Header Host $Proxy_Host; #Standardkonfiguration# Wie der Name schon sagt, wird der Anforderungsheader auf den Domänennamen hinter dem Proxy gesetzt. Beispiel 1: Upstream open-hz8443{ Server 10.60.6.184:8000 max_fails=1 fail_timeout=3s Gewicht=10; } Dann ist der Wert von $proxy_host hier open-hz8443. Beispiel 2: Standort ^~ /wss/v1 { Proxy-Passwort http://10.60.6.184:8000; Proxy_Set_Header Host $Proxy_Host; proxy_set_header Verbindung "Upgrade"; Proxy_Set_Header-Upgrade $http_upgrade; tcp_nodelay ein; } 2. $hostProxy_Set_Header Host $host; # Wenn das Feld nicht im Anforderungsheader enthalten ist, kann es nicht übergeben werden. In diesem Fall können Sie den Wert der Host-Variable zuweisen, indem Sie die Host-Variable festlegen. Wenn im Anforderungsheader kein Host-Wert vorhanden ist, wird der Wert von Servername direkt zum Auffüllen verwendet. Wenn der Host-Wert im Anforderungsheader empfangen wird, wird der Host-Wert im Anforderungsheader direkt verwendet. 3. $host:$proxy_port Proxy_Set_Header Host $host:$Proxy_Port; # Der Servername und der Port werden zusammen über den Proxyserver weitergegeben. Im Vergleich zum vorherigen Punkt gibt es einen zusätzlichen $proxy_port. Dieser $proxy_port ist der Port in proxy_pass. Wenn kein Port vorhanden ist, z. B. 80 und 443. Es wird auch eine Füllung 80/443 verwendet. Beispiel: Proxy-Passwort http://www.baidu.com; $host:$proxy_port = Baidu ip:80 4. $http_hostProxy_set_header Host $http_host; # Ein sich nicht änderndes Anforderungsheaderfeld „Host“ kann wie folgt übergeben werden: Wenn im Anforderungsheader kein Host-Wert vorhanden ist, wird der Wert von Servername direkt zum Auffüllen verwendet. Und fügen Sie den Port hinzu. Wenn der Wert 80/443 beträgt, fügen Sie ihn nicht hinzu. Tatsächlich geht es darum, den Wert in der URL anzufordern. Wenn der Host-Wert im Anforderungsheader empfangen wird, wird der Host-Wert im Anforderungsheader direkt verwendet. Beispiel
Grundkonfiguration Server{ hören Sie 80; Servername www.djx.com; Standort / { Proxy-Passwort http://www.baidu.com/; } } 192.168.1.190 Nginx2 Server{ hören Sie 80; Servername www.baidu.com; Standort / { Proxy-Passwort http://192.168.1.80:8080/; } } ** Grundlegende Konfiguration verwenden ** Proxy_Set_Header Host $Proxy_Host; Dann ist der Wert des Headers zu http://192.168.1.80:8080/ www.baidu.com. ** $host wird verwendet ** Proxy_Set_Header Host $host; Referenzartikel: https://cloud.tencent.com/developer/article/1557504 Dies ist das Ende dieses Artikels über den 404-Fehler nach der Nginx-Konfiguration von Proxy_Pass. Weitere relevante Inhalte zur Nginx-Konfiguration von Proxy_Pass 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:
|
<<: HTML-Formular-Tag-Tutorial (5): Textfeld-Tag
>>: Praktisches Tutorial zum Ändern des MySQL-Zeichensatzes
Durch die sogenannte Sliding Door-Technologie läs...
Beim Verwenden von Animation.css habe ich festges...
Inhaltsverzeichnis 1. Was ist Pinia? 2. Pinia ist...
1. ref wird kopiert, die Ansicht wird aktualisier...
Inhaltsverzeichnis LAMP-Architektur 1.Lampeneinfü...
Ich möchte einen Artikel von Zhang Xinxu zitieren...
https://docs.microsoft.com/en-us/windows/wsl/wsl-...
Inhaltsverzeichnis Verwendung von CURRENT_TIMESTA...
MySQL 5.7 und höhere Versionen ermöglichen die di...
In diesem Artikel werde ich die relevanten Inhalt...
In diesem Artikelbeispiel wird der spezifische Ja...
Inhaltsverzeichnis Speicherverwaltung der Speiche...
Inhaltsverzeichnis Drei Schritte zum Betrieb der ...
Ursache des Fehlers Als ich heute ein Karussell s...
So erhalten Sie den Container-Startbefehl Der Con...