正向代理与反向代理

“正向代理、反向代理”在平时工作中会经常听到,甚至经常用过,但具体是什么意思没有去深入了解过。于是查资料整理了一下。

正向代理主动地通过另外一个服务器(意义上的服务器而不是指硬件上的,可以是一台普通电脑)去代理本机对指定目标的请求操作。关键点是要在客户端做配置,平时我们在IE浏览器的配置“代理服务器地址”就是使用正向代理的过程,主要是通过代理的服务器帮我们去访问别的服务;最常的使用场景就是“翻墙”了,如下图:

105117_jHtM_943166.png

假设服务器B就是谷歌的服务器,正常直接访问是被墙了,通过设置一个香港的“代理服务器Z”,Z是可以正常访问谷歌的,用户A是可以正常访问Z的,所以通过这种正向代理就能访问被墙的谷歌了。

其次,依然是上图,如果原本的正常线路是比较长而且带宽不够,而代理服务器Z这条线路若是高带宽则能提高访问速度,但我们平时怎么设的代理服务器都很难做到提速,除非是专门架设的线路;

因为是通过另外一个服务器来转交请求,所以正向代理还有一个好处,就是能隐藏原始请求的身份,通俗来说就是黑客通过自己完全控制(或不完全)的“肉鸡”作代理去做各种操作,最终都只能查到“肉鸡”上,达到了隐匿的效果。

一句话表达,你找一个人,将你要做的事,让他来代理帮你去做。

反向代理:客户端正常发送请求,在服务器端的反向代理将判断向何处并转交该请求,并将获得的内容返回给客户端。客户端无需配置,对客户端来说反向代理是被动的、无感知的。

主要应用于服务器安全与负载均衡,如下图:

112438_BmCK_943166.png

通过设置“资源服务器”只允许服务器Z访问,并在服务器Z做反向代理,众多用户都是通过Z来访问,一定程度上增加了安全性;

负载均衡则是有多个“资源服务器”,在“反向代理服务器Z”分配请求,达到各个“资源服务器”的负载均衡。

在不同地区布多个反向代理服务器,和资源的缓存,快速响应也是CDN的实现原理之一;

用反向代理来做负载均衡最主要的实践是web服务器,一个比较典型的就是nginx。

一句话表达,一家大公司将自己的业务统一交给一家代理公司处理,以减少自己本身的工作和提高效率。

 

总结:对用户来说正向代理是主动的,并且是可以指向所有互联网上的资源的;而反而代理是被动的,通常只指向该代理的某些资源。对于资源服务器来说,正向代理一般是不受控制的,也相当于一个正常用户访问;反向代理是主动配置的,是对外的入口(可有多个)。其实两个代理都有一个共同点,就是通过一个代理服务器处理后才到“资源服务器”,可以做到资料的统一管理,例如Cache(缓存)等,可以做到更高效。

转载于:https://my.oschina.net/u/943166/blog/754301

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值