http中间人代理

请求流程图

所谓中间人代理就是,代理服务对于客户端来说是服务端, 对于服务端来说是客户端!代理将请求到服务端的消息内容返回给客户端

https 请求
因为https是加密请求, 中间代理没有对应服务端的证书私钥,无法解密客户端的请求服务,也就无法知道对应服务端的信息。
  • 中间人代理如果要支持https请求,需要进行以下几步:

    • 代理服务申请ca证书
    • 客户端与代理服务通讯时用代理服务的证书加解密
    • 代理服务再用对应服务端的证书与服务端通信
  • 问题

    • 一般客户端会有证书检测功能, 他会检测证书中的域名与请求域名是否相符, 当我们用中间人代理请求时,客户端就会发现证书的域名是代理服务申请的域名和服务端的域名不符,这时会发出警告或者禁止操作!

http 隧道代理

简单的说http隧道代理,就是搭建客户端与服务端之间的数据传输桥梁,在整个传输过程中代理是拿不到相关数据。这个需要HTTP/1.1的CONNECT支持

该方法可以完美解决https请求的问题

3proxy

下图是利用3proxy访问http://www.baidu.com/的过程

可以看到当访问http的时候,3proxy是用中间人代理的模式
下图是利用3proxy访问https://www.baidu.com/的过程

可以看到当访问http的时候,3proxy是用隧道代理的模式

黑六
1 声望0 粉丝