nginx中的正向代理和反向代理
正向代理
一般的访问流程是客户端直接向目标服务器发送请求并获取内容,使用正向代理后,客户端改为向代理服务器发送请求,并指定目标服务器(原始服务器),然后由代理服务器和原始服务器通信,转交请求并获得的内容,再返回给客户端。正向代理隐藏了真实的客户端,为客户端收发请求,使真实客户端对服务器不可见;
举个具体的例子 ????,你的浏览器无法直接访问某个网站,这时候可以通过一个代理服务器来帮助你访问,那么这个服务器就叫正向代理
- 原理图:
反向代理
与一般访问流程相比,使用反向代理后,直接收到请求的服务器是代理服务器,然后将请求转发给内部网络上真正进行处理的服务器,得到的结果返回给客户端。反向代理隐藏了真实的服务器,为服务器收发请求,使真实服务器对客户端不可见。一般在处理跨域请求的时候比较常用。现在基本上所有的大型网站都设置了反向代理。
举个具体的例子 ????,去饭店吃饭,可以点川菜、粤菜、江浙菜,饭店也分别有三个菜系的厨师 ????????,但是你作为顾客不用管哪个厨师给你做的菜,只用点菜即可,小二将你菜单中的菜分配给不同的厨师来具体处理,那么这个小二就是反向代理服务器。
- 原理图:
简单的说,一般给客户端做代理的都是正向代理,给服务器做代理的就是反向代理。
注:本文转载自Nginx 从入门到实践,万字详解!,节选了其中一部分,讲解的非常好,推荐大家访问查看原文!