|
一 、区别
1. 代理服务器如果配置在客户端即为正向代理, 如果配置在服务端即为反向代理,和机器个数没有关系 2. 正向代理代替客户端去发送请求, 反向代理代替服务端接受请求 3. 正是因为正向代理代替客户端发送请求,正向代理服务器和客户端对外表现为一个客户端,所以正向代理隐藏了真实的客户端; 反向代理代替服务端接受请求,反向代理服务器和真实服务器对外表现为一个服务端,所以反向代理服务器隐藏真实的服务端 综上,本质上代理服务器还是那个代理服务器,如果替客户端干活就是正向代理,如果替服务端干活就是反向代理; 如图: 图片:2.jpg ![]() 二、为什么有正向代理及举例 2.1 为什么有正向代理 正向代理服务器有客户端缺少的功能,比如可以上网、翻墙等等。假如公司服务器的软件在内网部署访问不了internet,就可以配置一台正向代理服务器,通过正向代理服务器上网。 2.2 配置正向代理举例 假设现在有一台主机上不了网,可以通过nginx代理该主机上网,配置如下: server { listen 80; server_name 192.168.184.128; location /proxy_baidu/ { proxy_pass http://baidu.com/; } } 在浏览器中输入http://192.168.184.128/proxy_baidu 即可访问到百度主页 三、为什么有反向代理及举例 3.1 为什么有反向代理 在高并发场景下,一个tomcat服务器可能承受不了那么高的并发量和访问量,所以需要多个服务器分担这个工作,而nginx在高并发的场景下表现是尤为突出的,此时nginx就可以代理多个服务器去接收用户请求,最后交给其中一个服务器处理. 如图: 图片:3.jpg ![]() 3.2 配置反向代理举例 在一台服务器上部署两个tomcat,用nginx做反向代理(负载均衡), nginx配置如下 upstream tomcatcluster{ server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 8090; server_name localhost; location / { proxy_pass http://tomcatcluster; } tomcat的两个端口为:8080,8081;nginx监听8090端口请求,将请求交给tomcat两个端口处理 下面在浏览器输入http://192.168.184.128:8090/ 就能访问到tomcat主页 图片:4.jpg ![]() 来自: https://blog.csdn.net/shang_0122/article/details/114820532 |
|
|
