用nginx的proxy_pass代理一个站点且保持访客原IP登录
感谢Radi提供nginx配置内容。
portal.drserver.net 晚上从国内直接访问慢,甚至打不开。如用户使用国外代理提交订单,又会被订单系统认为用户资料地区和提交订单的IP不符而取消。
过程:
1.找一个转发的机子,如阿里云香港地域的ECS实例,配置好nginx 1.10+
2.创建站点配置文件,本例是 /etc/nginx/sites-enabled/portal.drserver.cn,内容如下:
server {
listen 443 http2;
server_name portal.drserver.cn;
ssl_certificate /etc/nginx/ssl/portal.drserver.cn.pem;
ssl_certificate_key /etc/nginx/ssl/portal.drserver.cn.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location / {
resolver 8.8.8.8 ipv6=off;
proxy_pass https://portal.drserver.net$1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
proxy_set_header Referer $http_referer;
}
}
3.创建好相应的ssl文件,nginx -t 测试配置内容
4.nginx -s reload # 重载nginx配置
5.访问 https://portal.drserver.cn ,显示的内容也是 https://portal.drserver.net 的内容