nginx反向代理服务器解决vps挂站被封

由于众所周知的原因,导致vps一直不能访问,想到nginx反向代理服务器可以部署到任意主机上,于是想了一招可以解决。参考nginx+apache单IP多站点反向代理配置,http://www.straka.cn/blog/nginx_apache_multisites_conf/。网站部署在A站点,当A站点被封时,可以另外申请主机B作为反向代理服务器,反向代理服务器只需要安装nginx并配置,再将域名解析到代理服务器上即可,因而当B被封杀,就申请B1、B2、B3……总不至于把DO公司的IP全封了吧,哈哈。

nginx安装(以ubuntu为例)

sudo apt-get install nginx

配置同另一篇博文介绍,以A站点IP为a.a.a.a,域名为www.aaa.com为例:

server{

 listen 80;

 server_name www.aaa.com;

 location / {

   proxy_pass http://a.a.a.a:80/;

   proxy_set_header Host $host;

   proxy_set_header X-Real-IP $remote_addr;

   proxy_set_header X-Forwarded-For $remote_addr;

   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }

}

注意这里要设置proxy_set_header,其中$host为客户端所请求的主机名,如果后续服务器配置为多站点模式必须保留转发,否则后续服务器无法根据请求主机正确解析。$remote_addr为客户端IP地址,保留并转发至服务器,否则服务器得到的客户端IP全部为代理服务器地址,无法做统计,同理X-Forwarded-For为代理记录,设为$remote_addr表示不将本代理IP地址记录,如果要加上本代理服务器IP,则加上$proxy_add_x_forwarded_for。

原文:

http://www.straka.cn/blog/nginx_antigfw/

猜你喜欢

转载自blog.csdn.net/atp1992/article/details/79647809