Heim Backend-Entwicklung PHP-Tutorial PHP verwendet Nginx, um einen Reverse-Proxy zu implementieren

PHP verwendet Nginx, um einen Reverse-Proxy zu implementieren

Apr 09, 2018 pm 05:33 PM
nginx php 代理

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP: Datenbanken und serverseitige Logik bearbeiten PHP: Datenbanken und serverseitige Logik bearbeiten Apr 15, 2025 am 12:15 AM

PHP verwendet MySQLI- und PDO-Erweiterungen, um in Datenbankvorgängen und serverseitiger Logikverarbeitung zu interagieren und die serverseitige Logik durch Funktionen wie Sitzungsverwaltung zu verarbeiten. 1) Verwenden Sie MySQLI oder PDO, um eine Verbindung zur Datenbank herzustellen und SQL -Abfragen auszuführen. 2) Behandeln Sie HTTP -Anforderungen und Benutzerstatus über Sitzungsverwaltung und andere Funktionen. 3) Verwenden Sie Transaktionen, um die Atomizität von Datenbankvorgängen sicherzustellen. 4) Verhindern Sie die SQL -Injektion, verwenden Sie Ausnahmebehandlung und Schließen von Verbindungen zum Debuggen. 5) Optimieren Sie die Leistung durch Indexierung und Cache, schreiben Sie hochlesbarer Code und führen Sie die Fehlerbehandlung durch.

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Wie kann ich überprüfen, ob Nginx begonnen wird? Wie kann ich überprüfen, ob Nginx begonnen wird? Apr 14, 2025 pm 12:48 PM

Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

Zweck von PHP: Erstellen dynamischer Websites Zweck von PHP: Erstellen dynamischer Websites Apr 15, 2025 am 12:18 AM

PHP wird verwendet, um dynamische Websites zu erstellen. Zu den Kernfunktionen gehören: 1. Dynamische Inhalte generieren und Webseiten in Echtzeit generieren, indem Sie eine Verbindung mit der Datenbank herstellen; 2. Verarbeiten Sie Benutzerinteraktions- und Formulareinreichungen, überprüfen Sie Eingaben und reagieren Sie auf Operationen. 3. Verwalten Sie Sitzungen und Benutzerauthentifizierung, um eine personalisierte Erfahrung zu bieten. 4. Optimieren Sie die Leistung und befolgen Sie die Best Practices, um die Effizienz und Sicherheit der Website zu verbessern.

So starten Sie Nginx unter Linux So starten Sie Nginx unter Linux Apr 14, 2025 pm 12:51 PM

Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So lösen Sie Nginx403 So lösen Sie Nginx403 Apr 14, 2025 am 10:33 AM

Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.

So überprüfen Sie den laufenden Status von Nginx So überprüfen Sie den laufenden Status von Nginx Apr 14, 2025 am 11:48 AM

Die Methoden zum Anzeigen des laufenden Status von Nginx sind: Verwenden Sie den Befehl ps, um den Prozessstatus anzuzeigen; Zeigen Sie die nginx -Konfigurationsdatei /etc/nginx/nginx.conf an; Verwenden Sie das Nginx -Statusmodul, um den Statusendpunkt zu aktivieren. Verwenden Sie Überwachungstools wie Prometheus, Zabbix oder Nagios.

See all articles