正向代理、反向代理和透明代理对比

正向代理、反向代理和透明代理

1 正向代理

正向代理类似一个跳板机,代理访问外部资源!

常用正向代理:各种客户端代理工具属于此范畴;

为了从源服务器取得内容,用户向代理服务器发送一个请求,并指定目标服务器,然后代理服务向源服务器转交请求并获得内容返回给客户端!

其特点如下:

  • 客户端需要设置代理服务器地址和端口;
  • 服务端不感知任何变化;

正向代理的作用如下:

  1. 访问原来无法访问的资源,如google、facebook等网站;
  2. 可以做缓存,加速访问资源;
  3. 客户端授权,上网认证;
  4. 记录用户访问记录;

2 反向代理

反向代理与正向代理刚好相反,对于客户端而言代理服务器就是源服务器,客户端不需要进行任何设置;

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

正向代理的特点如下:

  • 客户端不感知任何变化;
  • 服务端需要做反向代理配置,如我们通常所用nginx做的相关配置;

反向代理作用:

  1. 保证内网安全,阻止web攻击;
  2. 负载均衡;
  3. 缓存资源;

如下所示是正向代理和反向代理的一个对比关系图,摘自博客:

正向代理与反向代理总结

在这里插入图片描述

3 透明代理

透明代理的意思是客户端根本不需要指导有代理服务器的存在,由代理服务器改变客户端请求的报文字段,并传送真是的ip地址,多用于路由器的NAT转发中。

加密的透明代理则是属于匿名代理,意思是不用设置使用代理了

以下内容摘自百度百科:

透明代理的原理如下:假设A为内部网络客户机,B为外部网络服务器,C为防火墙。当A对B有连接请求时,TCP连接请求被防火墙截取并加以监控。截取后当发现连接需要使用代理服务器时,A和C之间首先建立连接,然后防火墙建立相应的代理服务通道与目标B建立连接,由此通过代理服务器建立A 和目标地址B的数据传输途径。从用户的角度看,A和B的连接是直接的,而实际上A 是通过代理服务器C和B建立连接的。反之,当B对A有连接请求时原理相同。由于这些连接过程是自动的,不需要客户端手工配置代理服务器,甚至用户根本不知道代理服务器的存在,因而对用户来说是透明的。

4 本文小结

一、正向代理和反向代理的本质区别便是看由谁设置,另外对谁透明

  • 设置客户端,服务端透明则是正向代理;
  • 设置服务端,客户端不感知则是反向代理;

二、透明代理和正向代理的区别:

  • 正向代理明确知道自己交给正向代理服务器,透明代理则客户端不感知;
  • 正向代理为了实现某些额外的需求,有可能会修改请求报文,但按照RFC文档的要求,透明代理不会修改请求报文。
  • 正向代理可以内网也可以外网,但透明代理都是内网。
发布了88 篇原创文章 · 获赞 16 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/xinquanv1/article/details/103092381