nginx http proxy 正向代理


配置 Nginx Http Proxy 代理服務器,與 [Squid] 功能一樣,適用於正向代理 Http 網站。

一,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;
    }
}

二,Nginx 正向代理配置說明:

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

resolver 8.8.8.8;
resolver_timeout 5s;

2,配置正向代理參數,均是由 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,配置代理服務器 Http 狀態緩存時間。

proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

三,不支持代理 Https 網站

因為 Nginx 不支持 CONNECT,所以無法正向代理 Https 網站(網上銀行,Gmail)。
如果訪問 Https 網站,比如:https://www.google.com,Nginx access.log 日志如下:

"CONNECT www.google.com:443 HTTP/1.1" 400


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM