最近面试被问到了项目的反向代理,感觉不是很清晰,于是在这里总结一下。
共同点
正向代理和反向代理都是用一个代理服务器(作为中间人)来处理客户端请求,然后请求服务器获取资源。
区别
首先是代理的对象不同,换句话说,代理服务器的扮演的角色不同,正向代理代理的是用户,反向代理代理的是服务器
-
正向代理代理的是用户,指的是
用户把要请求的服务器地址
发给代理服务器,
代理服务器作为用户去请求服务器
,然后把资源转发给客户,这样做一是对服务器
隐藏了用户
的地址,二是在一些场景中,可以提速(比如客户端到服务器是低宽带链路,而代理到两方都是高宽带链路),三是可以验证客户端访问权限。 -
反向代理代理的是服务器,用户
不知道服务器的地址
,而是
直接把代理服务器当作服务器去请求
,代理服务器作为服务器接受用户请求,然后请求并转发服务器。这样做一是
隐藏了服务器
地址,而且代理服务器可以对一些攻击进行拦截,保护服务器安全(nginx服务器崩溃时,重新搭建比较简单,影响小),二是在多个反向代理服务器场景时(也就是集群时),可以通过负载均衡对并发进行控制。
学习资料:
版权声明:本文为qq_45074432原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。