nginx kann einfach als Reverse-Proxy-Server konfiguriert werden:
server { listen 80; server_name localhost; location / { proxy_pass http://x.x.x.x:9500; proxy_set_header host $host:80; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header via "nginx"; } }
Wenn der Überwachungsport von nginx jedoch nicht der Standardport 80 ist, ändern Sie ihn in einen anderen Port, z. B. Port 81.
Auf dem Backend-Server kann request.getserverport() nicht den richtigen Port abrufen und der zurückgegebene Wert ist immer noch 80.
In Response.sendredirect() erhält der Client möglicherweise nicht die richtige Umleitungs-URL.
Sehen wir uns die richtige Konfigurationsmethode im Detail an:
Nginx Virtual Host hinzufügen
Um Nginx weiterzuleiten, müssen Sie Nginx natürlich konfigurieren. Die Funktionalität von Nginx kann durch Hinzufügen einer virtuellen Hostkonfiguration erweitert werden. Schauen Sie sich zunächst die Nginx-Konfigurationsdatei an. Die Nginx-Datei des Autors befindet sich in /etc/nginx/nginx.conf. Wie Sie auf dem Bild oben sehen können, führt Nginx am Ende die Konfigurationsdatei im Verzeichnis vhosts.d ein. Dann müssen Sie eine Datei mit dem Suffix .conf im Verzeichnis /etc/nginx/vhosts.d erstellen (wenn das Verzeichnis nicht existiert, müssen Sie es selbst erstellen).
nginx führt eine Nicht-80-Port-Weiterleitung durch
Zur Weiterleitung können Sie das Konfigurationselement „proxy_pass“ von nginx verwenden. Nginx überwacht Port 80 und leitet die Anforderung nach Erhalt an die weiterzuleitende URL weiter. Die spezifische Konfiguration ist wie folgt:
server { server_name www.test.com listen 80; location / { proxy_pass http://127.0.0.1:8080; } }
Ja, so einfach ist das. Dies ist der Kern der Konfiguration der Portweiterleitung.
Wenn Sie jedoch auf ein Unternehmen stoßen, das eine echte IP erhalten muss, müssen Sie auch die Konfiguration über die echte IP hinzufügen:
server { server_name www.test.com listen 80; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header host $host:80; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } }
proxy_set_header Diese Konfiguration dient dazu, den HTTP-Anforderungsheader zu ändern. Host ist der Hostname der Anfrage, x-real-ip ist die tatsächliche IP der Anfrage und x-forwarded-for gibt an, wer die Anfrage initiiert hat.
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie die Portweiterleitung von Nicht-80-Ports im Nginx-Server. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!