Was ist Linux-Portweiterleitung?

WBOY
WBOYOriginal
2022-03-11 10:41:402881Durchsuche

In Linux bezieht sich die Portweiterleitung auf die Verwendung von Nginx zur Überwachung des Ports. Wenn eine HTTP-Anfrage eintrifft, werden der HOST und andere Informationen der HTTP-Anfrage mit ihrer Konfigurationsdatei abgeglichen und an die entsprechende Anwendung weitergeleitet um die Anfrage zu bearbeiten, ohne einen Port hinzuzufügen.

Was ist Linux-Portweiterleitung?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Was ist Linux-Portweiterleitung?

Was ist Portweiterleitung?

Wenn wir eine Daten- und eine Download-Anwendung auf dem Server erstellen, startet die Datenanwendung Port 8001 und die Download-Anwendung startet Port 8002. Zu diesem Zeitpunkt können wir

localhost:8001    //资料
localhost:8002    //下载

bestehen, aber wenn wir normalerweise auf die Anwendung zugreifen, hoffen wir, auf den Domänennamen zuzugreifen, ohne einen Port hinzuzufügen, dh auf beide Anwendungen wird über Port 80 zugegriffen. Wir wissen jedoch, dass ein Port auf dem Server nur von einem Programm verwendet werden kann. Was sollten wir zu diesem Zeitpunkt tun? Eine gängige Methode ist die Verwendung von Nginx für die Portweiterleitung. Das Implementierungsprinzip von Nginx lautet: Verwenden Sie Nginx, um Port 80 zu überwachen. Wenn eine HTTP-Anfrage eintrifft, gleicht es den HOST und andere Informationen der HTTP-Anfrage mit seiner Konfigurationsdatei ab und leitet sie an die entsprechende Anwendung weiter. Wenn ein Benutzer beispielsweise linux.linuxmi.com besucht, weiß Nginx aus der Konfigurationsdatei, dass es sich um eine HTTP-Anfrage für eine Datenanwendung handelt, und leitet die Anfrage daher zur Verarbeitung an die Anwendung auf Port 8001 weiter. Wenn ein Benutzer m.linuxmi.com besucht, weiß Nginx aus der Konfigurationsdatei, dass es sich um eine HTTP-Anfrage zum Herunterladen einer Anwendung handelt, und leitet diese Anfrage zur Verarbeitung an die Anwendung auf Port 8002 weiter. Eine einfache Nginx-Konfigurationsdatei (Teil) lautet wie folgt:

#配置负载均衡池
#Demo1负载均衡池
upstream linux_pool{undefined
server 127.0.0.1:8001;
}
#Demo2负载均衡池
upstream m_pool{undefined
server 127.0.0.1:8002;
}
#Demo1端口转发
server {undefined
listen      80;
server_name  linux.linuxidc.com;
access_log logs/linux.log;
error_log logs/linux.error;
#将所有请求转发给demo_pool池的应用处理
location / {undefined
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://linux_pool;
}
}
#Demo2端口转发
server {undefined
listen      80;
server_name  m.linuxidc.com;
access_log logs/m.log;
error_log logs/m.error;
#将所有请求转发给demo_pool池的应用处理
location / {undefined
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://m_pool;
}
}

Die obige Konfiguration wird implementiert:

1 Wenn der vom Benutzer besuchte Domainname lautet: http://linux.linuxidc.com, fügen wir ihn automatisch hinzu Die Anfrage wird zur Verarbeitung an die Tomcat-Anwendung mit der Portnummer 8001 weitergeleitet.

2. Wenn der vom Benutzer besuchte Domänenname http://m.linuxidc.com lautet, leiten wir die Anfrage automatisch zur Verarbeitung an die Tomcat-Anwendung mit der Portnummer 8002 weiter.

Die oben genannte technische Umsetzung ist die Portweiterleitung. Unter Portweiterleitung versteht man die einheitliche Überwachung eines bestimmten Ports auf einem bestimmten Domänennamen durch die Software (normalerweise Port 80). Wenn der Domänenname und der Port des Zugriffsservers die Anforderungen erfüllen, wird er zur Verarbeitung entsprechend weitergeleitet Konfiguration. Unser häufig verwendetes Nginx verfügt auch über eine Portweiterleitungsfunktion.

Verwandte Empfehlungen: „Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist Linux-Portweiterleitung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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