牛骨文教育服务平台(让学习变的简单)
博文笔记

怎么理解反向代理(reverse proxy)的反向?

创建时间:2016-06-06 投稿人: 浏览次数:1155

理解反向代理前先得说说什么是代理,比如我们想翻墙去使用国外的某些网站,比如想使用google提供搜索,那么我们就得需要一个代理。


我们在客户端这边配置一下代理服务器,然后当我们访问google服务的时候,我们首先把请求发送给代理服务器,然后代理服务器将请求在发给google,然后google将内容返回给代理服务器,然后代理服务器将内容再返回给我们。这就是所谓的代理。


那么什么是反向代理呢?其实跟上述代理方式类似,唯一的不同是客户端的代理服务器是客户端配置的还是服务端配置的。像上述在客户端配置代理服务器的方式叫做正向代理。在服务端配置的代理服务叫做反向代理。这里的反向是根据客户端的角度来解释的。


这个”反向“着实不好理解,你可以这样理解,反向代理就是服务端代理,客户不可知,也不用知道。反向代理可以在不影响客户的情况下更新后端service的真正提供者。因为有了这样一层间接性,所以做以下功能:

1 负载均衡

2 分流请求

3 充当防火墙,你不需要将后端service都暴露给外部。

4 缓存,比如静态文件。


任何事物都有坏处,比如这种使用反向代理的方式使架构复杂了,总体的资源消耗也变多了, 每一个TCP连接都要再建立一个到后端service的连接。另外,反向代理可以使用nginx, squid等。

原文:http://blog.csdn.net/hongchangfirst/article/details/51314123

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst






声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。