nginx正向代理和反向代理的理解

263 阅读2分钟

Nginx正向代理和反向代理的理解

正向代理和反向代理两者的区别在于代理的对象不一样: 正向代理是为客户端代理,反向代理是为服务端代理。

正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁 反向代理隐藏了真实的服务端,当我们请求ww.baidu.com 的时候,背后可能有成千上万台服务器为我们服务,但我们不知道是哪一个.

1、正向代理:类似我们想要访问国外的Google服务器,但是由于访问限制,我们需要找一个代理去访问。换句话说,客户端明确知道要访问的服务器的地址,客户端把请求发送给代理,代理转发给服务器,服务器把响应传给代理,最后代理把响应传给客户端。我们可以看到客户端知道服务器是谁,但是服务器并不知道客户端是谁,这就是正向代理,隐藏了客户端的真实信息。

2、反向代理:类似我们访问淘宝,由于访问量巨大,淘宝会使用许多台服务器(就是分布式服务器)来支持,但是每个客户端的请求到底由哪一台服务器来响应,我们需要一个代理来决定。换句话说,客户端并不知道要把请求发送给哪一台服务器,但是知道发送给哪一个代理,然后代理依据规则(响应时间,负载均衡等)决定把请求转发给哪一台服务器。可以看到,客户端并不知道他访问的服务器是谁,这就是反向代理,隐藏了服务器的真实信息