Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was ist Linux-Portweiterleitung?
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.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
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!