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

21 篇文章 7 订阅

正向代理(Forward Proxy)

代理技术默认说的是正向代理技术,代理服务器替代用户去访问目标服务器。

user
Internet
proxy server
target server

用途:

  1. 访问本无法访问的服务器;
  2. 加速访问服务器,早期是这样;
  3. 匿名访问
  4. cache:代理服务器可以缓存数据,反向代理也使用了cache;
user A proxy server B user B access data on server B request data data access data on server B I have data in cache data user A proxy server B user B
  1. 客户端访问授权,现在常用。
user a
router
user b
firewall
proxy
server

防火墙作为网关,用来过滤外网对其的访问。假设用户A和用户B都设置了代理服务器,用户A允许访问互联网,而用户B不允许访问互联网(这个在代理服务器Z上做限制)这样用户A因为授权,可以通过代理服务器访问到服务器B,而用户B因为没有被代理服务器Z授权,所以访问服务器B时,数据包会被直接丢弃。


总结一下。

正向代理是一个位于客户端和原始服务器origin server之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

反向代理(reverse proxy)

对于客户端而言,反向代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间namespace中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

用途:

  1. 保护和隐藏原始资源服务器
只允许代理进出
user
proxy
firewall
server

防火墙和反向代理的共同作用保护了原始资源服务器,用户并不知情,并且以为自己访问的是原始服务器。

  1. 负载均衡
server
proxy1
proxy2
proxy3
user1
user2
user3

当反向代理服务器不止一个的时候,可以把它们做成集群,当更多的用户访问资源服务器的时候,让不同的代理服务器去应答不同的用户.

开源软件中最流行的就是squid,既可以做正向代理,也有很多人用来做反向代理的前端服务器。

反向代理中最主要的实践就是WEB服务,近些年来最火的就是Nginx了。网上有人说NGINX不能做正向代理,其实是不对的。NGINX也可以做正向代理,不过用的人比较少了。

透明代理transparent proxy

透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的报文request fields,并会传送真实IP。

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

usera
交换机
userb
transparent proxy
server

用户并不知道行为管理设备充当透明代理行为,当用户向服务器提交请求时,透明代理设备根据自身策略拦截并修改用户的报文,并作为实际的请求方,向服务器发送请求;

当接收信息回传,透明代理再根据自身的设置把允许的报文发回至用户

如果透明代理设置不允许访问服务器,那么用户就不会得到服务器的数据。\


透明代理:

  • REMOTE_ADDR = Proxy IP
  • HTTP_VIA = Proxy IP
  • HTTP_X_FORWARDED_FOR = Your IP

透明代理虽然可以直接“隐藏”你的IP地址,但是还是可以从HTTP_X_FORWARDED_FOR来查到你是谁。

匿名代理:

  • REMOTE_ADDR = proxy IP
  • HTTP_VIA = proxy IP
  • HTTP_X_FORWARDED_FOR = proxy IP

匿名代理比透明代理进步了一点:别人只能知道你用了代理,无法知道你是谁。


还有其它的代理服务器.

混淆代理Distorting Proxies:

  • REMOTE_ADDR = Proxy IP
  • HTTP_VIA = Proxy IP
  • HTTP_X_FORWARDED_FOR = Random IP address

别人还是能知道你在用代理,但是会得到一个假的地址,伪装的更逼真?

高匿代理Elite proxyHigh Anonymity Proxy

  • REMOTE_ADDR = Proxy IP
  • HTTP_VIA = not determined
  • HTTP_X_FORWARDED_FOR = not determined

高匿代理让别人根本无法发现你是在用代理,所以是最好的选择。


参考链接:

https://zhuanlan.zhihu.com/p/29828550

https://blog.51cto.com/z00w00/1031287

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值