我们经常会碰到”反向代理服务端”这个术语,比如常见文章里提到 nginx 是一款反向代理服务端……下面就来认识下这个概念
含义
“反向代理服务端”包含两层意思,一是”代理服务端”,二是”反向”
“代理服务端”相对容易理解,比如想要访问某个站点,不愿意或无法直接连接,可能是网络限制、隐私保护等原因,我们就接入一个代理服务端,这样对那个站点而言,访问它的用户是这个代理服务端,而非我们本人
“反向”的意思是我们并没有借助代理服务端去访问站点,而是站点在自身服务端前方部署了一个代理,我们输入网址发出请求后,请求先抵达这个代理服务端,代理服务端再将请求转交给站点服务端
作用
之所以会诞生反向代理服务端,正是因为它的价值非常突出,随着站点规模扩大,就势必需要用到反向代理服务端
主要体现在以下几个方面
(1)安全筛选
出于安全考虑,不允许用户直接触达真实服务端,所有访问请求都必须先到达反向代理服务端,由反向代理服务端执行验证、过滤等安全类操作,满足条件的请求才会被转送到真实服务端
比如最常见的场景:只有被列入IP白名单的地址才允许访问
(2)内容缓存
当访问量持续攀升时,站点服务端对每条请求都要进行处理,负荷极重,依据局部访问性原理,这么多请求中肯定有大量是重复的,站点服务端反复做这些相同工作非常吃力
这时就需要反向代理服务端来分担部分任务,反向代理服务端将一些高频访问的内容都缓存到自身,用户的请求先到达反向代理服务端,它检查自己是否存有用户所需的内容,有就直接返回给用户,没有时才交由站点服务端来处理
这样就相当于站点服务端多了一个助手,帮它消化了大量重复性工作,降低了负荷
(3)负载均衡
当访问量不断增长时,单一站点服务端已经无法承受,需要再增加N台服务端,那么当用户请求到达后,究竟由哪台服务端来处理呢?
这时就需要在这N台服务端前方部署一个反向代理服务端,充当负载均衡器
用户请求先发送到负载均衡器,它判断一下这条请求应该交给谁,确认后就转发过去,这样就让N台服务端均衡地分担请求了
原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2811.html
