浅谈正向代理与反向代理

代理(Proxy),是一种特殊的网络服务,允许一个网络终端通过这个服务与另一个网络终端进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。

正向代理

正向代理在概念上很容易理解,正向代理就是在目标服务器中间的一层跳板。为了从目标服务器上获取内容,客户端向代理服务器发送一个请求,并指定目标服务器地址,然后代理服务器向目标服务器发送请求获取数据,并将数据返回给客户端。使用正向代理往往都需要我们客户端上进行一些配置。

正向代理最常见的使用场景就是科学上网了,比如蓝灯、shadowsocks等。

反向代理

反向代理与正向代理正好相反。对客户端而言,反向代理就好像目标服务器。而且与正向代理不同的是,反向代理不需要在客户端做任何配置。客户端向代理服务器发送请求,然后代理服务器自行控制请求的走向,并将请求转交给客户端,使的在客户端看来,内容都是直接在代理服务器上获取一般。

如果对于上面那段话理解的不是很透测的话,那么看看知乎车小胖同学的回答就能很清晰的知道什么使反向代理了:

很久以前,老王去饭店吃饭,需要先到饭店,七荤八素点好菜,坐等饭菜上桌,然后大快朵颐,不亦乐乎。

有了第三方订餐外卖平台(代理),老王懒得动身前往饭店,老王打个电话或用APP,先选好某个饭店,再点好菜,外卖小哥会送上门来。

由于某个品牌的饭店口碑特别好,食客络绎不绝涌入,第三方订餐电话也不绝于耳,但是限于饭店接待能力有限,无法提供及时服务,很多食客等得不耐烦了,纷纷铩羽而归,饭店老总看着煮熟的鸭子飞走了,心疼不已。

痛定思痛,老总又成立了几个连锁饭店,形成一个集群,对外提供统一标准的菜品服务,电话订餐电话400-xxx-7777,当食客涌入饭店总台,总台将食客用大巴运到各个连锁店,这样食客既不需要排队,各连锁店都能高速运转起来,一举两得,老总乐开了花,并为此种运作模式起名为“反向代理”(Reverse Proxy)。

使用场景

正向代理

1.科学上网

这个功能大家应该都不会陌生吧。比如说:你在国内无法访问谷歌,但是你有一台香港的服务器,它可以访问谷歌,于是你把你香港的那台服务器设置为代理服务器,然后让服务器去访问谷歌,服务器收到请求后,对谷歌发起请求,然后再把谷歌响应的信息返回给你,这个时候你就可以愉快的使用谷歌了。

2.匿名访问

比如你为了保护自己的隐私,通过代理去访问某些服务,让他不知道你的真实身份。不过这也导致很多恶意用户通过隐藏自己的身份去搞破坏。

3.跳板机

现在很多企业云服务器都有使用专有网络,没有在允许访问名单里的地址都无法访问服务器,这个时候,就会提供一台跳板机,通过它来实现访问专有网络内的服务器。

反向代理

1.负载均衡

负载平衡是利用多台服务器提供单一服务(也可以称为服务器农场),通常来说,主要应用于Web网站、大型Internet Relay Chat网络、高流量下载站、NNTP服务和DNS服务、数据库等。

在一个大型应用中,负载均衡是必不可少的一个环境,负载均衡提供了以下特点来极大的增加了服务的稳定性、健壮性等:

  • 不对称负载调节
  • 优先引导
  • SSL截断和加速
  • DDOS攻击防护
  • HTTP压缩
  • TCP offload
  • TCP缓冲
  • 后台服务器直接响应用户
  • (服务器)健康检查
  • HTTP缓存
  • 内容过滤
  • HTTP安全
  • 优先队列
  • 内容感知开关
  • 用户授权
  • 可编程的流量控制
  • 防火墙功能
  • 入侵阻止功能

图上的虚线表示代理服务器会根据不同场景来分配不同的目标服务器

但是一定要注意,反向代理和负载均衡是有区别的,两者之间不能划上等号。关于反向代理和负载之间的区别可参照这里。

2.保护和隐藏原始资源服务器

对用户隐藏真正提供资源的服务器,用户始终认为当前提供服务的服务器就是代理服务器。但是实际上是,代理服务器接受用户的请求,再从资源服务器上获取相应的资源,然后再返回给用户。用户和真正的资源服务器没有任何直接沟通,同样也感知不到其的存在。

3.加密和SSL加速

4.缓存静态内容

5.压缩

6.减速上传

7.安全

8.外网发布

猜你喜欢

转载自www.cnblogs.com/pengxiaozhi/p/9009146.html
今日推荐