参考图解代理
一、正向代理
先不说正向代理的概念,举个栗子:VPN中的代理服务器。
我们作为客户端,首先要设置一个代理服务器,指定代理服务器的IP和端口(用户名密码),这时就可以访问本来访问不了的Google就可以访问了,这是什么原理呢?
看图:
图1.1
用户A不能直接访问服务器B,有可能是DNS解析不了,也有可能是被墙了。这时用户A想了个办法,它去联系代理服务Z,告诉Z,我想访问服务器B,Z说好;然后Z去请求了B,拿到了响应,然后把响应返回给了A。
概念:正向代理就是代理服务器替代访问方去访问目标服务器,并将目标服务器的响应返回给访问方
正向代理的作用:
- 翻墙
图1.2 - 加速访问
- Cache作用
- 客户端授权访问
图1.3 - 隐藏访问者的行踪,肉鸡
总结
正向代理是一个位于客户端和原始服务器直接的服务器,代理服务器对于客户端是可见的,为了从原始服务器取得内容,客户端需要先进行代理配置,然后向代理服务器发送请求并制定目标,之后代理服务器其访问指定的目标服务器并把响应内容返回给客户端。
二、反向代理(Reverse Proxy)
反向代理中,客户端是不知道反向代理服务器的存在的,也不需要进行特别的设置,因为反向代理服务器对于客户端而已就像原始服务器一般。
客户端向反向代理的命名空间(name-space)中的内容发生普通请求,然后反向代理服务器将判断向哪一个原始服务器转交(非转发)请求,并将获得你 内容返回给客户端。
反向代理的作用:
- 保护和隐藏原始服务器
图2.1 - 负载均衡
图2.2
这时反向代理服务器就是一个前置机,根据流量和原始服务器的负载压力对请求进行动态调整。