什么是反向代理服务器
什么是反向代理服务器
含义:
‘反向代理服务器’ 有两个概念,一是‘代理服务器’,二是‘反向’
‘代理服务器’比较好理解,例如需要访问某网站,不想或不能直接访问,例如网络的原因、隐私的原因等,我们就连接一个代理服务器,这样对于这个网站来说,访问他的用户是这个代理服务器,而不是我们自己
‘反向’的意思我们没有通过代理服务器访问网站,但网站却在自己服务器前面加了一个代理,我们输入网址发起请求后,请求先到了这个代理服务器,代理服务器再把请求转给网站服务器
作用
之所以会出现反向代理服务器,就是因为他的作用非常大,随着网站的壮大,就必然要使用反向代理服务器
(1)安全过滤
为了安全,不允许用户直接接触真实服务器,任何访问请求都要先到达反向代理服务器,反向代理服务器来进行验证、过滤等安全类操作,符合条件的请求才会被转发到真实服务器
例如最简单的场景:只有在IP白名单中的IP才能访问
(2)内容缓存
当访问量越来越大时,网站服务器对每个请求都需要进行处理,压力巨大,根据局部访问性原理,这么多请求中必然有很多是重复的,网站服务器做这些重复劳动很累
这时就需要反向代理服务器来分担一部分工作,反向代理服务器把一些常用的内容都缓存到自己身上,用户的请求先来到反向代理服务器,他看自己这有没有用户需要的内容,有就直接返回给用户,没有时才交给网站服务器来处理
这样就相当于网站服务器有了一个助理,帮他处理了很多重复性工作,减轻了压力
(3)负载均衡
当访问量越来越大时,一个网站服务器扛不住了,需要在添加N个服务器,那么当用户请求过来后,到底由那台服务器进行处理呢?
这时就需要在这N台服务器前面添加一个反向代理服务器,做为负载均衡器
用户请求先发到负载均衡器,他思考一下这个请求应该交给谁,想好后就转发过去,这样就让N台服务器均衡的处理请求了
热门日志
分类
- Django(4)
- ssdb(1)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- about(1)
- git(9)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(18)
- Vue(1)
- game(2)
- Html(6)
- Java(8)
- Mysql(37)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(72)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Php(102)
- Windows(8)
- Message(48)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)