用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 的内容

标签: nginx

添加新评论