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

Nginx legt einen anonymen HTTP-Forward-Proxy fest

WBOY
WBOYOriginal
2016-08-08 09:22:382016Durchsuche

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;
<span>#allow 127.0.0.1;
            #deny all;</span>
<pre class="brush:php;toolbar:false">    }
}
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;
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;
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;
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;
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

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;
proxy_pass $scheme://$http_host$request_uri;
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;
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>
Stellungnahme:
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