什么是反向代理服务器

Posted 性能与架构

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是反向代理服务器相关的知识,希望对你有一定的参考价值。

我们常会看到‘反向代理服务器’这个名词,例如常看到文章上说 nginx 是一个反向代理服务器、varnish 是一个反向代理服务器 …… 下面就了解下这个概念


含义

‘反向代理服务器’ 有两个概念,一是‘代理服务器’,二是‘反向’

‘代理服务器’比较好理解,例如需要访问某网站,不想或不能直接访问,例如网络的原因、隐私的原因等,我们就连接一个代理服务器,这样对于这个网站来说,访问他的用户是这个代理服务器,而不是我们自己



‘反向’的意思我们没有通过代理服务器访问网站,但网站却在自己服务器前面加了一个代理,我们输入网址发起请求后,请求先到了这个代理服务器,代理服务器再把请求转给网站服务器




作用

之所以会出现反向代理服务器,就是因为他的作用非常大,随着网站的壮大,就必然要使用反向代理服务器

主要有以下几种作用

(1)安全过滤

为了安全,不允许用户直接接触真实服务器,任何访问请求都要先到达反向代理服务器,反向代理服务器来进行验证、过滤等安全类操作,符合条件的请求才会被转发到真实服务器

例如最简单的场景:只有在IP白名单中的IP才能访问

(2)内容缓存

当访问量越来越大时,网站服务器对每个请求都需要进行处理,压力巨大,根据局部访问性原理,这么多请求中必然有很多是重复的,网站服务器做这些重复劳动很累

这时就需要反向代理服务器来分担一部分工作,反向代理服务器把一些常用的内容都缓存到自己身上,用户的请求先来到反向代理服务器,他看自己这有没有用户需要的内容,有就直接返回给用户,没有时才交给网站服务器来处理

这样就相当于网站服务器有了一个助理,帮他处理了很多重复性工作,减轻了压力

(3)负载均衡

当访问量越来越大时,一个网站服务器扛不住了,需要在添加N个服务器,那么当用户请求过来后,到底由那台服务器进行处理呢?

这时就需要在这N台服务器前面添加一个反向代理服务器,做为负载均衡器

用户请求先发到负载均衡器,他思考一下这个请求应该交给谁,想好后就转发过去,这样就让N台服务器均衡的处理请求了



点击 “阅读原文” 可以查看 文章列表


以上是关于什么是反向代理服务器的主要内容,如果未能解决你的问题,请参考以下文章

正向代理和反向代理是什么以及区别

正向代理和反向代理是什么以及区别

转什么是反向代理,如何区别反向与正向代理

什么是正向代理,什么是反向代理

Nginx之什么是反向代理

正向代理与反向代理