- 正向代理
正向代理是作用在用户端的。例如我们访问Facebook,Google,我们可能需要购买vpn,有些是通过类似网站加速软件像Lantern这样的软件才可以访问。并且vpn或者网站加速器是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。
反向代理是作用在服务器端的,是一个虚拟ip(VIP)。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。大型网站都有DNS(域名解析服务器),load balance(负载均衡器)等。
(负载均衡器可以提高网站性能,支持更高并发请求)
如何理解Forward Proxy与Reverse Proxy Forward Proxy应该叫前向代理,而不是正向代理; Reverse Proxy应该叫反转代理,而不该叫反向代理 Forward Proxy与Reverse Proxy从逻辑图上看只有一个小小的区别,前者是为客户端请求做代理,所以叫Forward Proxy(前向代理);后者是为服务端服务做代理,所以对于客户端来说,是反转(交换,反过来)了,不代理客户端了,故叫Reverse Proxy(反转代理)。 所以Forward与Reverse叫法实际针对的对象都是客户端,也就是广大使用者,在客户端的代理叫前向代理,在服务端的就叫反转代理。 实际我觉得前向代理(Forward Proxy)与反转代理(Reverse Proxy)还是不好理解,就像我最刚开始说的,应该叫客户端代理与服务端代理,这样理解起来真是非常贴切,谁都能懂。 客户端代理与服务端代理用处 客户端代理(前向代理、正向代理) 我们在国内上不了google、facebook,那我们实际可以在香港建个代理服务器,我们通过代理服务器就可以访问google与facebook了,这就叫前向代理,代理的是使用者; 这跟现实生活很像,比如我想买一个华为mate 9保时捷版送给客户,懂行的都知道,中国境内是拿不到货的,华为也不公开发售,我肯定买不到,但让客户满意更重要,怎么办呢?那我可以找个关系好的中间人去帮我买,比如这个人是华为的高管,他可以拿到货,那我也就买到了,呵呵,好吧,仅仅是举例哈,实际我也不认识华为高管。 服务端代理(反转代理、反向代理) 客户端代理的话,非IT人士也可以理解,但服务端代理可能要困难一点,如果做作过服务器部署的就非常好理解了。 比如我们公司提供5个不同服务,我们部署在5个节点上的,但用户访问时不用直接请求我们5个节点上的服务,只需要访问我们的代理服务器就行了,代理服务器根据请求内容分发到不同服务器节点。这仅是一种使用场景,当然还可以做负载均衡等。