Nginx 正向代理与反向代理
1. 什么是nginx?
Nginx 是一款 高性能 的 Web 服务器、代理服务器、负载均衡服务器。

2. 正向代理是什么?
是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。

上一段可能大部分同学看了还是不太懂,我用一个例子给大家讲解一下,比如我们国内是无法访问国外的网站(例如谷歌),只能通过外部软件来访问。我们通过软件来访问谷歌时,此时的软件就充当了一个 正向代理服务器,下面用一个图来说明:

上图的软件是能够访问“谷歌服务器”的,用户是不能访问谷歌服务器的,用户通过软件也能够间接的访问到谷歌浏览器,这就是正向代理服务器的特征,它强调代理的是客户端(用户浏览器),它替代用户的浏览器去访问谷歌浏览器,并将结果返回给用户浏览器。

3. 反向代理是什么?
是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
还是用一个例子来给大家讲解一下吧,比如,我们在访问“百度”网站时,通过域名 https://www.baidu.com 访问,看似是访问到了百度页面,但是我们不知道真正为我们提供服务的服务器,这样保护了服务器的安全性,还是用一张图来说明。

通过上图可以看出,反向代理服务器 强调代理的对象是 服务器端,保护服务器信息,我们的系统实际也采用这个方式。
4.总结:
正向代理服务器代理的对象是客户端,更像是我雇佣了一个人,帮我做了我想做的事。
反向代理服务器代理的对象是服务器端,服务端只暴露反向服务器,然后通过反向代理服务器转发请求到真实服务器,保护服务器信息(当然,常常也多用于负载均衡,减轻服务器压力),客户端并不知道真正访问的目标服务器。

了解更多扫扫微信

扫描二维码获取
