17 什么是正向代理?什么又是反向代理?
更新时间:2020-08-25 10:33:22
不想当将军的士兵,不是好士兵。——拿破仑

前言

我们在前面介绍了Nginx的许多功能,但是如果仅有这些功能,它还是不能够被称为一款优秀的服务器。这一篇文章我们看一下Nginx的一个非常强大的功能 ---- 代理。

代理

在现实生活中,代理就是中间商/代理商,我们通俗意义上的二道贩子,他们主要负责中间人的角色,负责沟通买家卖家。在计算机中,代理也是同样的作用。我们平时的架梯子就是一种代理。
图片描述
代理分为两种,分别为正向代理反向代理。本篇文章就先让大家了解什么是正向代理反向代理

反向代理

我们应该都给10086打过电话吧(或者其他的移动运营商客服),每次接电话的是同一个人吗?当然不是了,但是每个接电话的客服人员都可以帮我们解决我们的问题。我们不用知道怎么联系到每个客服人员,只需要每次拨打10086就行了。这里的10086就是一个反向代理,它屏蔽了真正提供服务的客服人员的具体联系方式,我们在拨打电话的时候并不知道谁会真正的提供服务。

我们可以再举一个例子,当我们访问www.google.com的时候,谷歌有成千上万台服务器为我们提供服务,我们不需要知道真正提供服务的是哪一台服务器。www.google.com会自动为我们分配一个服务器,然后把我们的请求转发给这台服务器。
图片描述
所以反向代理隐藏了真实的服务端,客户端不必知道真正提供服务的服务器的相关信息,这在一定程度上可以保护真实服务器的安全性,并且能够方便实现负载均衡。

正向代理

正向代理反向代理刚好相反,我们用一个例子来说明问题。
我曾经看过一个非常形象的解释:现在我国提倡大众创业,万众创新,小明深受这个大环境氛围的感染,决定要自己创业,实现梦想。但是现在他缺少启动资金,所以他准备找马云爸爸借钱,当然,最终铩羽而归。后来,他想到了一个办法,那就是走后门。经过一番消息打探,小明知道了自己的朋友小王原来和马云爸爸的关系非常好,所以小明就请求小王去找马云爸爸借钱,最终借到了一个小目标。在这个过程中,小王就起到了正向代理的作用,小王帮助小明借到了钱,在整个过程中,真正借钱的人是谁,马爸爸并不知道,这点非常关键,这也是正向代理反向代理的区别所在。

我们再举一个例子:
大家都知道,有些国外的网站我们是无法访问的,比如前面提到的www.google.com,但是有时候由于一些特殊的原因,我们必须访问这些网站,这个时候我们就可以使用一个叫做“虚拟专网”的东西,这个东西其实就是一个正向代理。“虚拟专网”接收到我们发送的请求,然后转发给www.google.com, 然后将谷歌的返回结果转发回客户端。在整个过程中,谷歌并不知道真正的请求者是谁。

图片描述

我们在本文中主要是概念性的讲解了代理的一些基础知识,这部分是一些基本概念,是理解后面内容的前置条件。

}