关于正向代理以及反向代理
在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。
反向代理的实现
1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上
2)服务器返回自己的服务到负载均衡设备
3)负载均衡将服务器的服务返回用户
以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到>的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,>仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务。—知乎(车小胖)
结合知乎上的一些回答,现在对正向代理以及反向代理有一个初步的认识:
- 正向代理过程中,目标服务器不知道 真正的请求 来自谁。即proxy服务器是代理用户,对于目标服务器来说,只知道请求来自proxy服务器,而不知道 真正的请求 是由谁发到proxy服务器再发到目标服务器的。用户对目标服务器是不透明的。
- 反向代理过程中,直接接收用户请求的服务器是proxy服务器,由proxy服务器将用户请求再转发到服务器群中。即proxy服务器的代理对象是目标服务器。用户仅仅知道请求发送给了服务器(proxy服务器),但不知道具体是哪台服务器在处理自己的请求(请求由proxy服务器转发给服务器群)。目标服务器对用户是不透明的。