Heute bin ich auf ein kleines Problem gestoßen, als ich den Nginx-Reverse-Proxy für Apache verwendet habe. Es stellte sich heraus, dass der vom Backend-Apache verwendete Port 8080 war. Nachdem ich den Reverse-Proxy durchlaufen hatte, habe ich das Paket mit Wireshark erfasst und festgestellt, dass der Wert des Standortheaderfelds http://192.168.1.154:8080/wuman/ war. Wenn dies an den Client zurückgegeben wird, ist dies definitiv nicht zulässig. Es sieht seltsam aus und legt außerdem die spezifischen Informationen von Apache offen. Daher wird hier die Proxy-Redirect von Nginx verwendet, um die Änderung des Standort-Headerfelds und des Aktualisierungs-Headerfeldwerts im vom Proxyserver zurückgegebenen Antwortheader anzugeben. Nachfolgend ein kleiner Auszug aus dem Konfigurationsdokument von nginx Server { hören Sie 80; Servername www.boke.com; Standort / { Proxy-Passwort http://192.168.1.154:8080; Proxy_Redirect aus; } } An diesem Punkt verwenden wir curl, um die Ergebnisse anzuzeigen [root@localhost nginx]# curl -I http://www.boke.com/wuman HTTP/1.1 301 dauerhaft verschoben Server: nginx Datum: Do, 24. Dez. 2015 12:02:00 GMT Inhaltstyp: text/html; Zeichensatz=iso-8859-1 Verbindung: Keep-Alive Standort: http://192.168.1.154:8080/wuman/ Hier ist der Standort die Antwortheaderinformation mit der tatsächlichen Adresse und dem Port des Backend-Servers. Dies ist in der tatsächlichen Zeile nicht zulässig, daher planen wir hier, das Standortfeld im Antwortheader des Proxyservers über proxy_redirect zu ändern und an den Client zurückzugeben. Server { hören Sie 80; Servername www.boke.com; Standort / { Proxy-Passwort http://192.168.1.154:8080; Proxy-Umleitung http://192.168.1.154:8080/wuman/ http://www.boke.com/wuman/; } Server { hören Sie 80; Servername www.boke.com; Standort / { Proxy-Passwort http://192.168.1.154:8080; Proxy-Umleitung ~^http://192.168.1.154:8080(.*) http://www.boke.com$1; } Dann überprüft curl die zurückgegebenen Ergebnisse [root@localhost nginx]# curl -I http://www.boke.com/wuman HTTP/1.1 301 dauerhaft verschoben Server: nginx Datum: Do, 24. Dez. 2015 12:08:34 GMT Inhaltstyp: text/html; Zeichensatz=iso-8859-1 Verbindung: Keep-Alive Standort: http://www.boke.com/wuman/ An diesem Punkt ist die Standortprüfung das gewünschte Ergebnis. Zu diesem Zeitpunkt haben wir durch Ersatz 301 auf unsere neue Seite umgeleitet Quelle: Proxy-Umleitung Syntax: proxy_redirect [ Standard|Aus|Umleitungsersatz ] Standardwert: proxy_redirect default Felder verwenden: http, Server, Standort Wenn Sie die Felder „Standort“ und „Aktualisieren“ im Antwortheader ändern müssen, der vom Proxyserver gesendet wird, können Sie sie mit diesem Befehl festlegen. Angenommen, das vom Proxyserver zurückgegebene Standortfeld lautet: http://localhost:8000/two/some/uri/ Diese Anweisung: Proxy_Redirect http://localhost:8000/zwei/ http://frontend/eins/; Schreiben Sie das Feld „Standort“ in http://frontend/one/some/uri/ um. Sie müssen keinen Servernamen in das Feld „Ersetzen“ schreiben: Proxy_Redirect http://localhost:8000/two/ /; Dadurch werden der Basisname und der Port des Servers verwendet, auch wenn es sich um einen anderen Port als 80 handelt. Wenn der Parameter „Standard“ verwendet wird, wird er basierend auf den Einstellungen der Parameter „Standort“ und „Proxy_Pass“ bestimmt. Beispielsweise sind die folgenden beiden Konfigurationen gleichwertig: Standort / eins / { proxy_pass http: //upstream:port/zwei/; Proxy_Redirect-Standard; } Standort / eins / { proxy_pass http: //upstream:port/zwei/; proxy_redirect http: //upstream:port/zwei/ /eins/; } Es gibt mehrere Variablen, die in Anweisungen verwendet werden können: Proxy-Umleitung http://localhost:8000/ http://$host:$server_port/; Diese Anweisung kann manchmal wiederholt werden: Proxy_Redirect-Standard; Proxy-Umleitung http://localhost:8000//; Proxy-Umleitung ; /; Der Parameter „off“ deaktiviert alle Proxy_Redirect-Direktiven in diesem Feld: Proxy_Redirect aus; Proxy_Redirect-Standard; Proxy-Umleitung http://localhost:8000/ /; Proxy-Umleitung ; /; Verwenden Sie diese Anweisung, um den Hostnamen zu den relativen Weiterleitungen hinzuzufügen, die vom Proxyserver ausgegeben werden: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: jQuery Treeview-Baumstrukturanwendung
Tipps zur Verwendung von Docker 1. Bereinigen Sie...
In diesem Artikelbeispiel wird der spezifische Co...
Ich habe einen falschen MySQL-Befehl eingegeben u...
Wenn Sie möchten, dass der Anwendungsdienst im Do...
Vorwort Tomcat ist ein hervorragender Java-Contai...
Die Datei /etc/network/interfaces wird in Linux z...
Voraussetzungen Ein Cloud-Server (centOS von Alib...
In diesem Artikel wird der spezifische JavaScript...
Eine kurze Erläuterung des Navigationsfensters in...
Mobile Browser platzieren Webseiten in einem virtu...
In diesem Artikelbeispiel wird der spezifische Co...
Nur Informationen zum Mount-Verzeichnis des Docke...
Das Bild-Tag wird verwendet, um ein Bild auf eine...
Wenn Sie der Meinung sind, dass das System langsa...
In diesem Artikel wird der spezifische JavaScript...