在使用景安VPS的过程中,由于域名未BA,导致绑定上去的域名,第二天就被天朝屏蔽掉了。所以只能使用独立IP地址进行访问,使用起来很是不方便,不过,最近在看《实战Nginx_取代Apache的高性能Web服务器》的时候,突然想起来,可以通过方向代理来实现通过域名的访问。然后便在国外的服务器上的Nginx上做了一个反向代理。

关于“反向代理”,百度百科给出了这样一个解释:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

 设置的详细过程如下:

这里我采用xy.yyzj.in为我要实现反向代理的域名。

首先,我们需要将xy.yyzj.in解析到我们国外或者其他地区的服务器上的IP地址;

然后,修改nginx配置文件nginx.conf,如果你的nginx编译时未配置配置文件的路径,默认在/usr/local/nginx/conf/nginx.conf,使用vi打开,或者下载到本地进行修改。然后添加如下一段代码到nginx中

 
  1. server    {    
  2.         listen          80;    
  3.         server_name     xy.yyzj.in;  //注意将这里修改为你要反向代理的域名;   
  4.   
  5.         location / {    
  6.             proxy_pass              http://116.255.*.*/; //这里可以修改为你要反向代理的域名或者IP地址,注意带http://和/;     
  7.             proxy_redirect          off;    
  8.             proxy_set_header        X-Real-IP       $remote_addr;    
  9.             proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;    
  10.             }    
  11.     }   

 位置如下截图:

反向代理

我的经验是插入到server_name为localhost这个域之前,否则是无法成功的。添加保存之后。

然后执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常

如果正常则出现:

  1. #the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok         
  2. configuration file /usr/local/nginx/conf/nginx.conf test is successful  

 否则按错误提示修改配置,错误提示会精确到哪一行的。检查修改即可。

最后,执行如下命令使得配置生效。

  1. kill -HUP ’cat /usr/local/nginx/logs/nginx.pid’  

 这样,如果域名也解析生效的话,应该就可以通过域名来访问到我们反向代理的地址。

关于反向代理还有很多用途,以后会经常钻研一下!

利用Nginx实现反向代理设置

发表评论

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.