nginx 設定匿名http正向 Proxy

來源:互聯網
上載者:User

好久沒寫部落格了,在我遇到困難的時候,總能從網上找到一些大牛們寫的文章,解決我的問題。之前由於事情多,都是作為一個索取者,接下來有時間,我會盡量多寫些部落格,把我遇到的問題的解決辦法,寫到部落格上,分享給大家,作為回饋,也希望大家有時間都能夠把自己平常遇到的問題寫成部落格,分享給更多的人,讓大家少走彎路。

這兩天在研究nginx的正向 Proxy,想通過nginx搭建一個httpProxy 伺服器,網站找到了這篇文章(http://www.cnblogs.com/inteliot/archive/2013/01/11/2855907.html):

配置 Nginx Http Proxy Proxy 伺服器,與 [Squid] 功能一樣,適用於正向 Proxy Http 網站。 一,Nginx 正向 Proxy設定檔:

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;#allow 127.0.0.1;#deny all;}}


二,Nginx 正向 Proxy配置說明:

1,配置 DNS 解析 IP 位址,比如 Google Public DNS,以及逾時時間(5秒)。

resolver 8.8.8.8;resolver_timeout 5s;

2,配置正向 Proxy參數,均是由 Nginx 變數組成。其中 proxy_set_header 部分的配置,是為瞭解決如果 URL 中帶 "."(點)後 Nginx 503 錯誤。

proxy_pass $scheme://$host$request_uri;proxy_set_header Host $http_host;

3,配置緩衝大小,關閉磁碟緩衝讀寫減少I/O,以及代理連線逾時時間。

proxy_buffers 256 4k;proxy_max_temp_file_size 0;proxy_connect_timeout 30;

4,配置Proxy 伺服器 Http 狀態緩衝時間。

proxy_cache_valid 200 302 10m;proxy_cache_valid 301 1h;proxy_cache_valid any 1m;
三,不支援代理 Https 網站

因為 Nginx 不支援 CONNECT,所以無法正向 Proxy Https 網站(網上銀行,Gmail)。
如果訪問 Https 網站,比如:https://www.google.com,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;

經驗證,上面的代碼是可以用的。伺服器端得到的代碼如下,不過不知道怎麼會帶了一個proxy-connection,這估計只能算是普通匿名,不能算是進階匿名:

head info:{content-type=application/x-www-form-urlencoded; charset=UTF-8, connection=close,  content-length=42, user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36, proxy-connection=Keep-Alive}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.