[技术笔记] 代理和反向代理

反向代理在工作中经常用到,但因为有专职的运维给配置,自己没有亲手配置过,一直没有太细究“反向”两个字的意思,今天细究了一下才发现这两个字很生动。

        正向:代表用户,和应用服务器交互;应用服务器可能不知道用户的存在。

        反向:代表应用服务器,和用户交互;用户完全不知道应用服务器的存在。

我们日常生活中用的代理proxy,也就是帮助我们绕墙来用的,比如:1)自己在国家某个保密机关的内网办公,内网对外是隔离的。要上外网的话需要设置代理才可以;2)在墙内要访问墙外的服务器,除了常用的VPN之外,也可是通过代理(如果能找到的话)。


[技术笔记] 代理和反向代理_第1张图片
代理服务器工作模式

而反向代理是用在工作中的,我用的最多的是来解决跨域的问题:


[技术笔记] 代理和反向代理_第2张图片
反向代理服务器工作模式

代理 & 反向代理的基本特征:

[技术笔记] 代理和反向代理_第3张图片
代理 & 反向代理的基本特征

除了代理应用服务器、和用户交互之外,一般还会承担很多其他同样重要的功能,比如:

        1. 保护应用服务器:反向代理服务器和应用服务器一同部署在公司内部机房,应用服务器被隐藏起来、对外不可见。所有外部用户的请求都通过代理服务器来处理,很大程度上保护了应用服务器的安全;

        2. 缓存静态内容:反向代理服务器可以把静态内容缓存起来,当用户再次请求时,不通过应用服务器直接返回给用户,可以降低应用服务器的压力;

        3. 缓存动态内容:也有一些网站把一部分更新不频繁的动态内容也放到反向代理的缓存里,当内容有更新时再通知反向代理重新加载最新的内容;

        4. 负载均衡:应用服务器承载的业务负载较大时,可能会部署到多台服务器上,此时的反向代理服务器可以起到负载均衡的作用。

把这些情况都包括进来,此时的反向代理服务器工作模式是这个样子的:

[技术笔记] 代理和反向代理_第4张图片

你可能感兴趣的:([技术笔记] 代理和反向代理)