代理、正向代理、反向代理
正向代理和反向代理是实际项目中重要的部分,是处理客户端请求的第一关卡,影响着项目的并发量及安全性。
本节将向你介绍:
一、 代理、正向代理、反向代理
二、Nginx如何做反向代理
三、反向代理的作用
一、 代理、正向代理、反向代理
代理: 概念:可以认为是中间人,即A 和 B 本来可以直接通话,中间插入一个 C,A需要通过C才能联系到B
例子: 直连: 小明妈妈要找小明,直接打电话给小明
代理: 小明寄宿了,学校不允许带手机,小明妈妈要找小明,需要打电话给班主任,让班主任找小明
正向代理:概念:在上面代理的情况下,业务服务器不知道实际用户是谁,所有的请求都是通过Nginx代理过来的。即用户
对业务服务器来说是黑盒
例子:小明帅得惊天动地,暗恋者众多。有许多暗恋者每天都给小明买早饭,又不直接给小明,而是让他的好兄
弟小王转交。小明只知道今天又有好多暗恋者送早饭,但是不知道是谁。
反向代理: 概念:即对后方实际处理请求的业务服务器做代理,请求者无需知道最终是谁处理这个请求,只要将自己的请
求发送到代理服务器上,代理服务器会根据配置将这个请求发送到业务服务器,并将业务服务器返回的
数据传回给请求者。在整个过程中,用户不知道业务服务器是在哪里,有几台。
例子:转眼十年,小明成了大明星。他开通了微博与粉丝互动,但粉丝其实不知道,微博是由小明的经济团队
控制的。
形象图(from 知乎):
#
二、Nginx如何做反向代理
用户只知道Nginx服务器的地址,当Nginx服务器收到用户的请求,根据事先配置好的策略,再向相应的业务服务器发起请求,并将服务器返回的请求结果响应给用户。
#
三、反向代理的作用
业务隔离:反向代理能避免暴露真实的业务服务器,提高网络安全性。
缓存: 将服务器的响应缓存在自己的内存中,减少服务器的压力。
负载均衡:将用户请求根据配置好的策略,分配给多个服务器。
访问控制:反向代理服务器能够对请求做访问控制,防止无效或异常的请求被发送到业务服务器,减轻服务器压力。
安全防护:反向代理服务器能够通过配置防火墙、安装安全软件等方式,一定程度防护网络攻击。
还没有评论,来说两句吧...