TOC

利用 Nginx 做正向代理

HTTP 代理

server {
    resolver 223.5.5.5;
    listen 80;
    location / {
        proxy_pass http://$host$request_uri;
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0k;
        proxy_connect_timeout 30;
        proxy_send_timeout 60;
        proxy_read_timeout 60;
        proxy_next_upstream error timeout invalid_header http_502;
    }
}

server {
    resolver 223.5.5.5;
    listen 443;
    location / {
        proxy_pass https://$host$request_uri;
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0k;
        proxy_connect_timeout 30;
        proxy_send_timeout 60;
        proxy_read_timeout 60;
        proxy_next_upstream error timeout invalid_header http_502;
    }
}

proxy_cache_path /data/Resources/PyPI/ levels=1:1:1 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

server {
    location /pypi/ {
        proxy_cache pypi_cache;
        proxy_cache_revalidate on;
        proxy_cache_min_uses 3;
        proxy_cache_use_stale error timeout updating
                              http_500 http_502 http_503 http_504;
        proxy_cache_background_update on;
        proxy_cache_lock on;
        proxy_pass http://pypi.douban.com/simple/$request_uri;
    }
}