PHP verwendet Nginx, um einen Reverse-Proxy zu implementieren

不言
Freigeben: 2023-03-23 12:48:01
Original
5081 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode zur Verwendung von Nginx zur Implementierung von Reverse-Proxy in PHP vor. Es hat einen gewissen Referenzwert.

1. Proxy-Server

1. Was ist ein Proxyserver?

Ein Proxyserver sendet diese nicht direkt an ihn Der Zielhost wird jedoch zuerst an den Proxyserver gesendet. Nachdem der Proxydienst die Anfrage des Clients akzeptiert hat, sendet er sie an den Host, empfängt die vom Zielhost zurückgegebenen Daten und speichert sie auf der Festplatte des Proxyservers. und sendet es dann an den Kunden.


2. Warum einen Proxyserver verwenden

1) Zugriffsgeschwindigkeit verbessern

Da die vom Zielhost zurückgegebenen Daten auf der Festplatte des Proxyservers gespeichert werden, werden die Daten beim nächsten Zugriff des Kunden auf dieselben Site-Daten direkt von der Festplatte des Proxyservers gelesen spielt eine Cache-Rolle, insbesondere bei beliebten Websites, die die Anfragegeschwindigkeit deutlich erhöhen können.

2) Firewall-Funktion

Da alle Client-Anfragen über den Proxyserver auf die Remote-Site zugreifen müssen, können auf dem Proxyserver Einschränkungen festgelegt werden, um bestimmte unsichere Informationen zu filtern.

3) Zugriff auf unzugängliche Zielseiten über Proxyserver

Es gibt viele entwickelte Proxyserver im Internet. Wenn der Zugriff eingeschränkt ist, können Clients über uneingeschränkte Proxyserver auf die Zielseite zugreifen Der von uns verwendete Umgehungsbrowser verwendet zwar einen Proxyserver, kann aber auch direkt auf das externe Netzwerk zugreifen.

2. Reverse-Proxy vs. Forward-Proxy

1. Was ist ein Reverse-Proxy?

Forward-Proxy wird zwischen dem Client und dem Zielhost eingerichtet. Er dient nur dazu, Verbindungsanfragen vom internen Netzwerk an das Internet weiterzuleiten. Der Client muss einen Proxyserver angeben und die Anfrage direkt an das Web senden HTTP-Anfragen werden an den Proxyserver gesendet.


Der Reverse-Proxy-Server wird serverseitig eingerichtet. Er entlastet den Server, indem er häufig angeforderte Seiten puffert und Client-Anfragen an das interne Netzwerk weiterleitet . Der Zielserver gibt die vom Server erhaltenen Ergebnisse an den Client zurück, der eine Verbindung im Internet anfordert. Zu diesem Zeitpunkt erscheinen der Proxyserver und der Zielhost als Server.


2. Was sind die Hauptanwendungen von Reverse Proxy?

Viele große Websites verwenden mittlerweile Reverse-Proxys. Neben der Verhinderung bösartiger Angriffe aus dem externen Netzwerk auf Intranetserver, Caching zur Reduzierung des Serverdrucks und Zugriffssicherheitskontrolle kann es auch einen Lastausgleich durchführen und Benutzeranfragen auf mehrere Server verteilen.

3. Richtungs-Proxy-Server Nginx

Nginx, als beliebter Reverse-Proxy-Server in den letzten Jahren, wird auf dem Zielhost installiert und wird hauptsächlich zur Weiterleitung von Client-Anfragen verwendet . Es gibt mehrere HTTP-Server im Hintergrund, die Dienste bereitstellen. Die Funktion von Nginx besteht darin, die Anfrage an den nachfolgenden Server weiterzuleiten und zu entscheiden, welcher Zielhost die aktuelle Anfrage bearbeiten soll. Im Folgenden wird gezeigt, wie Nginx für die Funktion konfiguriert wird.

1. Simulieren Sie n http-Server als Zielhosts

Verwenden Sie zum Testen einfach 2 Tomcat-Instanzen, um zwei http-Server zu simulieren, und ändern Sie die Tomcat-Ports auf 8081 bzw. 8082

2. Konfigurieren Sie den IP-Domänennamen

192.168.72.49 8081.max.com

192.168.72.49 8082.max.com

3. Konfigurieren Sie nginx.conf

upstream tomcatserver1 {   
server 192.168.72.49:8081;   

 } 

upstream tomcatserver2 {    
server 192.168.72.49:8082;   

} 

 server {    

     listen    80;      

    server_name 8081.max.com;      
    #charset koi8-r;      
    #access_log logs/host.access.log main;      
    location / {       
     proxy_pass  http://tomcatserver1;       

     index index.html index.htm;     

 }      

} 

server {     

      listen    80;     
     server_name 8082.max.com;      
      #charset koi8-r;      
      #access_log logs/host.access.log main;      
     location / {       
     proxy_pass  http://tomcatserver2;       
     index index.html index.htm;     

  }       

 }
Nach dem Login kopieren

Vorgang:

1) Greifen Sie über den Browser auf 8081.max.com zu und lösen Sie den Domänennamen der lokalen Hostdatei auf, um 192.168 zu finden Server (Installieren von Nginx)

2) Der Nginx-Reverse-Proxy akzeptiert die Client-Anfrage, findet den Serverknoten mit dem Servernamen 8081.max.com und leitet die Anfrage gemäß dem HTTP-Pfad, der Proxy_Pass entspricht, an den Upstream-Tomcatserver1 weiter. Das heißt, der Tomcat-Server mit der Portnummer 8081.

4. Effektanzeige

Anfrage 8081.max.com, tomcat1 empfängt und kehrt zur Homepage zurück

Anfrage 8082.max. com, tomcat2 Empfangen, zurück zur Startseite


4. Zusammenfassung

Durch Analyse ist es nicht schwer, das zu schließen Am Beispiel von Baidu: Wenn sich die IP des Computers und die IP des Baidu-Servers (Zielhost) im selben Netzwerksegment befinden, ähnelt dies dem Senden einer Anfrage im LAN und die Geschwindigkeit ist extrem hoch .

Wenn dieser Bedarf jedoch nicht gedeckt werden kann und Sie dennoch eine bessere Antwort auf die Anfrage erreichen möchten, kann der Baidu-Server über The eine öffentliche IP im selben Netzwerksegment wie der Zielserver bereitstellen, bei der es sich um die IP des Reverse-Proxy-Dienstes handelt Der Proxy-Server leitet die Client-Anfrage weiter und bestimmt, welcher der N Server im Hintergrund die Anfrage bearbeitet. Da sich der Reverse-Proxy-Server im selben Netzwerksegment wie der Zielhost befindet, ist die Zugriffsgeschwindigkeit sehr hoch.

Wenn Nginx als Reverse-Proxy-Server verwendet wird, ist es einer von vielen Reverse-Proxy-Servern. Durch einfache Konfiguration kann die Client-Anfrage zur Verarbeitung durch Angabe der Server-IP- oder Domänennamenadresse weitergeleitet werden . fragen.


Das obige ist der detaillierte Inhalt vonPHP verwendet Nginx, um einen Reverse-Proxy zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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