正向代理与反向代理
我们都知道 Nginx 是常用的反向代理服务器。
但是什么是正向代理,什么是反向代理有时候概念好像不太好理解。
我们画了一个不好看的图来解释代理和反向代理
代理的理解
我们的简单理解就是这个代理是正向还是反向与代理服务器设置的位置有关。
这个代理服务器可能就是你计算机或者服务器上的进程。
正向代理
举例来说就是如果代理服务器离你很近,如果没有这个服务器你就没有办法访问网站,你必须要通过这个服务器才能访问所有的互联网资源的话,这个就是代理服务器。
比如说曾经的校园网,你没有办法直接通过校园网访问网络,你的所有访问必须要通过一个服务器转发后才能访问,那这个服务器就是正向代理服务器。
简单来说就是正向代理是为了客户服务的。
反向代理
反向代理更加靠近服务器一端。
反向代理等于在实际提供资源的服务器上提供一个屏障,所有外部的访问要获取服务器的资源之前,必须要通过这个反向代理才能获得这个服务器的资源。
对用户来说,就是如果不安装这个 反向代理服务器,用户还是可以任意访问互联网上的资源的。
简单来说就是反向代理是为服务器服务的。
结论
通常我们会为实际提供服务的服务器之前配置反向代理。
目前的反向代理服务器通常使用 Nginx,Apache 也是可以使用的,但 Apache 显得有点笨重,同时配置没有 Nginx 灵活,资源消耗更高。
我们也在逐步将反向代理服务器切换到 Nginx 上。