反向代理的理解:https://www.cnblogs.com/zkfopen/p/10126105.html
我是在一台linux服务器上搭建了两个nginx服务器A和B,把静态资源文件甲放在A服务器上,B作为反向代理服务器。
外界访问静态资源文件甲时直接访问B,B从A上获取静态资源文件甲,然后再返回给外界请求方。
举例:外界访问百度时,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。
nginx服务器A的端口是8080
nginx服务器B的端口是80
1.配置A服务器(存放静态资源的nginx服务器)
进入nginx/conf/,输入:vim nginx.conf,把server栏修改如下:
listen 127.0.0.1:8080;
server_name localhost;
如下图所示:
退出后,在nginx/conf下,输入:
../sbin/nginx -s reload
重新加载修改后的配置文件。
此时nginx服务器A只能由本机上的服务访问,外界访问不到nginx服务器A上的资源。
如下图所示:
2.配置nginx服务器B(反向代理服务器)
同样进入到nginx/conf下,打开nginx.conf文件,修改如下:
upstream local {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://local;
以上代码加入的位置如下图所示:
退出后,在nginx/conf下,输入:
../sbin/nginx -s reload
重新加载修改后的配置文件。
此时再访问本服务器的公网ip地址:114.116.120.230,(默认端口就是80,所以ip后不用加80访问)如下图所示:
反向代理成功!