Nginx-Proxy-Modul
Anleitung: Es gibt viele Anweisungen im Proxy-Modul. Ich werde hier nur den wichtigen Proxy-Pass erläutern. Weitere Proxy-Anweisungen finden Sie in der offiziellen chinesischen Dokumentation.
Dieses Modul kann Anfragen an andere Server weiterleiten. http/1.0 kann keine Keepalives verwenden (der Backend-Server erstellt und löscht Verbindungen für jede Anfrage). nginx sendet http/1.1 für den Browser und http/1.0 für den Backend-Server, damit der Browser das Keepalive für den Browser übernehmen kann.
Beispiel unten:
location / { proxy_pass http://localhost:8000; proxy_set_header x-real-ip $remote_addr; }
Beachten Sie, dass Nginx bei Verwendung des http-Proxy-Moduls (oder sogar Fastcgi) alle Verbindungsanfragen zwischenspeichert, bevor es sie an den Backend-Server sendet. Daher wird bei der Messung der vom Backend übertragenen Daten der Fortschritt gemessen Die Anzeige ist möglicherweise falsch.
Experimentelle Topologie:
7. Konfigurieren Sie den HTTP-Reverse-Proxy Verwenden Sie field:, an der Stelle Das if Feld
Dieser Befehl legt die Adresse des Proxyservers und die zugeordnete URI fest. Die Adresse kann in Form eines Hostnamens oder einer IP plus Portnummer vorliegen, zum Beispiel: Proxy_Pass http://localhost:8000/uri/;
8. Laden Sie die Konfigurationsdatei neu
[root@nginx ~]# cd /etc/nginx/ [root@nginx nginx]# cp nginx.conf nginx.conf.bak #备份一个原配置文件 [root@nginx nginx]# vim nginx.conf location / { proxy_pass http://192.168.18.201; }
9. Testen Sie es
[root@nginx ~]# service nginx reload nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 重新载入 nginx: [确定]
11. Ändern Sie die Nginx-Konfigurationsdatei.
[root@web1 ~]# tail /var/log/httpd/access_log 192.168.18.208 - - [04/sep/2013:00:14:20 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:14:20 +0800] "get / http/1.0" 200 23 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:14:20 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.138 - - [04/sep/2013:00:14:45 +0800] "get / http/1.1" 200 23 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.138 - - [04/sep/2013:00:14:48 +0800] "get /favicon.ico http/1.1" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:14:55 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:15:05 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:15:13 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:15:16 +0800] "get / http/1.0" 200 23 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36" 192.168.18.208 - - [04/sep/2013:00:15:16 +0800] "get /favicon.ico http/1.0" 404 289 "-" "mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/28.0.1500.95 safari/537.36"
12. Laden Sie die Konfigurationsdatei neu. Werfen wir einen Blick auf die httpd-Konfigurationsdatei.
location / { proxy_pass http://192.168.18.201; proxy_set_header x-real-ip $remote_addr; #加上这一行 }
Hinweis: Der Parameter, den Sie hier im Protokoll aufzeichnen können, ist immer noch %h. Lassen Sie uns die folgenden Parameter ändern.
Hinweis: Dies ist der geänderte Parameter. Ändern Sie h% in %{x-real-ip}i. Okay, testen wir es noch einmal.
15. Starten Sie neu und testen Sie
[root@nginx ~]# service nginx reload nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 重新载入 nginx: [确定]
Beachten Sie, dass es sich bei der im Protokoll aufgezeichneten IP-Adresse um die tatsächliche Client-Adresse handelt.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Nginx-Proxy-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!