针对某个域名进行中转:

server {
listen 172.16.10.1:80;
    server_name pypi.python.org;
    location ~ /simple {
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://pypi.python.org;
    }
}

注意如果是前后端域名不一样的话需要处理proxy_redirect的301跳转之类的显示,否则在跳转时候会跳转到proxy_pass的域名。

另外可以直接代理所有80端口的http流量:

server {
    listen 80;
    server_name _;
    resolver 114.114.114.114;
    set $URL $host;
    location / {
        proxy_pass http://$URL;
    }
}

如果是想代理https的站点也不是不可能,只是需要自行处理CA证书导入即可,而且经过https中转的流量对nginx是透明的,也就是有证书的时候做窃听和劫持的情况。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code