Heim > Backend-Entwicklung > PHP-Tutorial > Nginx legt einen anonymen HTTP-Forward-Proxy fest

Nginx legt einen anonymen HTTP-Forward-Proxy fest

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-08-08 09:22:38
Original
2089 Leute haben es durchsucht

Ich habe schon lange keinen Blog mehr geschrieben, wenn ich auf Schwierigkeiten stoße, kann ich im Internet immer einige Artikel finden, die von Experten geschrieben wurden, um meine Probleme zu lösen. Da ich in der Vergangenheit viele Dinge zu tun hatte, war ich nur ein Nehmer. Wenn ich Zeit habe, werde ich versuchen, mehr Blogs zu schreiben und die Lösungen für die Probleme, auf die ich gestoßen bin, im Blog aufzuschreiben und sie mit allen zu teilen Ein Feedback, ich hoffe auch, dass jeder, wann immer Sie Zeit haben, einen Blog über die Probleme schreiben kann, auf die Sie normalerweise stoßen, und diese mit mehr Menschen teilen kann, damit jeder Umwege vermeiden kann.

Ich habe mich in den letzten zwei Tagen mit dem Forward-Proxy von Nginx befasst und möchte über Nginx einen HTTP-Proxyserver erstellen. Ich habe diesen Artikel auf der Website gefunden (http://www.cnblogs.com/inteliot /archive/2013/01 /11/2855907.html):

Konfigurieren Sie den Nginx Http Proxy-Proxyserver, der die gleiche Funktion wie [Squid] hat und für Forward-Proxy geeignet ist HTTP-Website. 1. Nginx-Forward-Proxy-Konfigurationsdatei:
server {
    resolver 8.8.8.8;
    resolver_timeout 5s;
 
    listen 0.0.0.0:8080;
 
    access_log  /home/reistlin/logs/proxy.access.log;
    error_log   /home/reistlin/logs/proxy.error.log;
 
    location / {
        proxy_pass $scheme://$host$request_uri;
        proxy_set_header Host $http_host;
 
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0;
 
        proxy_connect_timeout 30;
 
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 301 1h;
        proxy_cache_valid any 1m;
Nach dem Login kopieren
<span>#allow 127.0.0.1;
            #deny all;</span>
Nach dem Login kopieren
<pre class="brush:php;toolbar:false">    }
}
Nach dem Login kopieren
2. Nginx-Forward-Proxy-Konfiguration Anweisungen: 1. Konfigurieren Sie die IP-Adresse für die DNS-Auflösung, z. B. Google Public DNS, und das Timeout (5 Sekunden).
resolver 8.8.8.8;
resolver_timeout 5s;
Nach dem Login kopieren
2. Konfigurieren Sie Forward-Proxy-Parameter, die alle aus Nginx-Variablen bestehen. Der Teil „proxy_set_header“ der Konfiguration besteht darin, den Nginx 503-Fehler zu beheben, wenn die URL einen „.“ (Punkt) enthält.
proxy_pass $scheme://$host$request_uri;
proxy_set_header Host $http_host;
Nach dem Login kopieren
3. Konfigurieren Sie die Cache-Größe, deaktivieren Sie das Lesen und Schreiben des Festplatten-Cache, um die E/A und das Proxy-Verbindungs-Timeout zu reduzieren.
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;
Nach dem Login kopieren
4. Konfigurieren Sie die HTTP-Status-Cache-Zeit des Proxyservers.
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
Nach dem Login kopieren
Drei: Proxy-HTTPS-Websites werden nicht unterstützt. Da Nginx CONNECT nicht unterstützt, kann keine Proxy-HTTPS-Websites (Online-Banking, Gmail) weiterleiten ).
Wenn Sie eine HTTPS-Website besuchen, wie zum Beispiel: https://www.google.com, lautet das Nginx access.log-Protokoll wie folgt:
"CONNECT www.google.com:443 HTTP/1.1" 400
Nach dem Login kopieren

Der Autor schreibt sehr gut, aber während des Konfigurationsprozesses bin ich auf ein Problem gestoßen, nämlich beim Zugriff auf die Seite über den konfigurierten Proxy mit 404 (meine Nginx-Version: 1.2). 🎜> an:

proxy_pass $scheme://$host$request_uri;
Nach dem Login kopieren
proxy_pass $scheme://$http_host$request_uri;
Nach dem Login kopieren
Das war's. Außerdem habe ich IP-Einschränkungen hinzugefügt. Bei Bedarf können Sie einfach die obigen Kommentare öffnen:

Nach der Überprüfung ist der obige Code möglich verwendet werden. Der auf der Serverseite erhaltene Code lautet wie folgt, aber ich weiß nicht, warum er eine Proxy-Verbindung hergestellt hat. Dies kann nur als normale Anonymität angesehen werden, nicht als erweiterte Anonymität:
allow 127.0.0.1;
deny all;
Nach dem Login kopieren
head info:{content-type=application/x-www-form-urlencoded; charset=UTF-8, c content-length=42, user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/ 537.36 (KHTML, wie Gecko) Chrome/40.0.2214.111 Safari/537.36, Proxy-C/Pre>
                    Das Obige stellt Nginx zum Einrichten eines anonymen HTTP-Forward-Proxys vor, einschließlich der relevanten Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die an PHP-Tutorials interessiert sind. <br>
                <p>
                    </p>
Nach dem Login kopieren
Verwandte Etiketten:
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