0 导读
今天实现下Nginx下的反向代理,反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。
总而言之,正向代理隐藏真实客户端,反向代理隐藏真实服务端
1. Nginx搭建反向代理demo
1.1 准备环境:
两台可以ping通的虚拟机,且均搭载Nginx服务,
- 第一台虚拟机IP(192.168.74.241),这一台是本质上提供服务的目标服务器,
- 第二台虚拟机IP(192.168.74.122),这一台我们用于反向代理服务器;
1.2 目标服务器配置
目标服务器属于真正提供资源的服务器,我在这里使用自己搭建的HTTP第三方服务,作为资源,
如图,直接访问目标服务器,可以成功显示内容,
其nginx.conf配置如下:
1.3 反向代理服务器配置
一共有两处更改
1.
upstream server_manger{
server 192.168.74.241:8811;
}
这个命令相当于是声明了名字为server_manger
的服务器组,其内部有一个资源服务器,192.168.74.241:8811
;
location /manger{
proxy_pass http://server_manger/ngx_demo_authr;
}
此处的命令在location
处会进行url
匹配,如果匹配到manger
,那么就访问server_manger
服务组内某一个服务器的ngx_demo_authr
服务
1.4 实验现象
在浏览器中访问反向代理服务器的IP+端口号,就会得到目的服务器所返回的内容。