引言
反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
有反向代理,当然也存在正向代理的概念咯。正向代理指的是,一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
结合下面两个图片示例,就能很好的理解两者之间的区别了。
为什么使用反向代理
1.可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器。
2.通过缓存静态资源,加速Web请求。
3.实现负载均衡。顺便说下,目前市面上,主流的负载均衡方案,硬件设备有F5,软件方案有四层负载均衡的LVS,七层负载均衡的Nginx、Haproxy等。
反向代理在Anyshare中的应用
1.反向代理缓存
常见于分布式部署中,当多个分站点用户需要获取同一份主站点的文件时,缓存的作用就凸显出来。用户发起请求之后会将主站点文件缓存到分站点配置的nginx缓存目录中,其他分站点内用户下载时直接走缓存本地下载,节约整个分站点的出口带宽同时也提升下载体验。
2.负载均衡
常见于为后端应用服务器提供负载均衡,例如Office online服务器;通过配置upstream实现两个office online服务器的负载,同时支持配置不同的负载模式(轮询/权重/ip_hash等)
3.DMZ区部署请求转发
常见于对内外节点要求较高的场景,文档云服务器被部署在内网,同时有需要直接从外网可以访问,这种情况下通过配置nginx来实现请求的转发