So konfigurieren Sie die Portweiterleitung von Nicht-80-Ports im Nginx-Server

WBOY
Freigeben: 2023-05-20 15:04:18
nach vorne
1868 Leute haben es durchsucht

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";
  }
  }
Nach dem Login kopieren

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

So konfigurieren Sie die Portweiterleitung von Nicht-80-Ports im Nginx-Server

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;
  }
}
Nach dem Login kopieren

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;
  }
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage