在说到怎么配置Nginx下的反向代理时,我们先了解下什么是反向代理。反向代理,是以代理服务器来接受internet连接请求,然后,再把请求转发给另外的服务器。
本来,我一直用不到反向代理,就没有弄过,刚好,前几天在EWSIDC上的一个空间因为域名(imzhaorong.com)BA的问题,不让绑定了,只能通过系统提供的三级域名访问。但我仍然希望用原来的顶级域名访问这个空间的内容,怎么办呢?利用手中的VPS,做反向代理。下面,我们来看详细的过程。
首先说说大致的环境。我使用的未BA的顶级域名是imzhaorong.com,EWSIDC提供的3级域名是1e01f.wi.ipc.la,我使用的VPS为Host1Plus的1美元的云VPS,已经装好LNMP。
首先,我们需要将域名imzhaorong.com解析A记录到VPS的IP地址;
然后,修改nginx配置文件。这篇教程里,我们将VPS的nginx.conf下载到本地修改(文件目录位于/usr/local/nginx/conf/)。我先上一个截图:
图中蓝色的部分,就是我们添加的代码,之所以多此一举上一个图片,主要是给大家注意代码添加的位置,老赵之前就弄错了地方,幸得四师兄提点,下面,我再贴上代码:
server {
listen 80;
server_name imzhaorong.com;location / {
proxy_pass http://1e01f.wi.ipc.la/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
修改完后,我们先执行:/usr/local/nginx/sbin/nginx -t 检查配置是否正常,如果显示:the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 则正常,否则按错误提示修改配置,错误提示会精确到哪一行的。
最后执行 kill -HUP `cat /usr/local/nginx/logs/nginx.pid` 使配置生效,如果你的域名解析也生效了的话,应该就可以直接通过顶级域名访问了。
关于反向代理的用处,还是挺多的,大家自己去发掘吧。