>  기사  >  백엔드 개발  >  nginx는 익명 http 전달 프록시를 설정합니다.

nginx는 익명 http 전달 프록시를 설정합니다.

WBOY
WBOY원래의
2016-08-08 09:22:382010검색

저는 오랫동안 블로그를 쓰지 않았습니다. 어려운 일이 생기면 언제든지 인터넷에서 전문가들이 쓴 문제 해결 방법을 찾아볼 수 있습니다. 예전에는 할 일이 많아서 그냥 테이커에 불과했습니다. 시간이 나면 더 많은 블로그를 작성하고 제가 겪은 문제에 대한 해결책을 블로그에 적어서 모두와 공유하도록 노력하겠습니다. 피드백, 나는 또한 모두가 시간이 있을 때마다 일반적으로 직면하는 문제에 대해 블로그를 작성하고 더 많은 사람들과 공유하여 모든 사람이 우회를 피할 수 있기를 바랍니다.

[Squid]와 동일한 기능을 갖고

순방향 프록시에 적합한 Nginx Http Proxy 프록시 서버를 구성합니다. HTTP 웹사이트. 1. Nginx 정방향 프록시 구성 파일:
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. 지침: 1. Google Public DNS와 같은 DNS 확인 IP 주소 및 시간 초과(5초)를 구성합니다. 2. Nginx 변수로 구성된 순방향 프록시 매개변수를 구성합니다. 구성의 Proxy_set_header 부분은 URL에 "."(점)이 있는 경우 Nginx 503 오류를 해결하기 위한 것입니다.
resolver 8.8.8.8;
resolver_timeout 5s;
3. 캐시 크기를 구성하고 디스크 캐시 읽기 및 쓰기를 꺼서 I/O와 프록시 연결 시간 초과를 줄입니다.
proxy_pass $scheme://$host$request_uri;
proxy_set_header Host $http_host;
4. 프록시 서버 Http 상태 캐시 시간을 구성합니다.
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;
셋, 프록시 Https 웹사이트는 지원되지 않습니다Nginx는 CONNECT를 지원하지 않으므로 프록시 Https 웹사이트(온라인 뱅킹, Gmail)를 전달할 수 없습니다. ) . https://www.google.com과 같은 HTTPS 웹사이트를 방문하는 경우 Nginx access.log 로그는 다음과 같습니다.
"CONNECT www.google.com:443 HTTP/1.1" 400
저자 아주 잘 쓰는데, 구성 과정에서 문제가 발생했습니다. 즉, 구성된 프록시를 통해 페이지에 액세스하면 404(내 nginx 버전: 1.2)가 보고되었습니다. 나중에 Proxy_pass를 변경해야 한다는 사실을 발견했습니다.

다음으로:

proxy_pass $scheme://$host$request_uri;
proxy_pass $scheme://$http_host$request_uri;
그렇습니다. 게다가 IP 제한도 추가했습니다. 필요하시면 위 댓글을 열어보시면 됩니다.

확인 후 위 코드를 사용하시면 됩니다. 사용됩니다. 서버측에서 얻은 코드는 다음과 같은데 왜 프록시 연결을 가져왔는지 모르겠습니다. 이는 고급 익명성이 아닌 일반 익명성으로만 간주될 수 있습니다.
allow 127.0.0.1;
deny all;
헤드 정보:{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(Gecko와 같은 KHTML) Chrome/40.0.2214.111 Safari/537.36, Proxy-c/pre>
                    위 내용은 관련 내용을 포함하여 익명 http 전달 프록시를 설정하기 위한 nginx를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다. <br>
                <p>
                    </p>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.