一、HTTPS代理的两种工作模式
HTTPS代理存在两种技术实现模式,对数据的访问权限完全不同,也是很多疑问的来源。
1.1 隧道代理模式
隧道代理是商用代理服务的主流模式,工作逻辑如下:
- 客户端向代理发送CONNECT请求,请求与目标服务器建立TCP隧道;
- 代理与目标服务器建立TCP连接,向客户端确认隧道建立;
- 后续客户端与目标的TLS握手、加密请求与响应,均通过隧道原样转发;
- 代理全程不解析、不解密、不修改应用层数据,仅做透明字节转发。
这种模式下,代理相当于运输密封包裹的快递员,只负责转送,不知道包裹内的内容。
1.2 中间人代理模式
中间人代理(MITM代理)会分别与客户端、目标服务器建立独立的TLS连接:
- 代理用自己的证书冒充目标服务器,与客户端建立TLS连接;
- 代理再与真实目标服务器建立TLS连接;
- 代理在中间解密、查看甚至修改数据,再重新加密转发。
这种模式下代理可以看到完整明文内容,但前提是客户端必须信任代理的根证书。企业内网审计、调试工具常采用这种模式,正规商用代理服务基本不会使用。
二、隧道模式下的证书校验流程
2.1 证书校验的主体
隧道代理模式下,证书校验完全由客户端完成,代理服务器不参与这个过程。代理仅转发TLS握手报文,不干预证书验证逻辑。
2.2 完整校验流程
- 隧道建立后,客户端向目标服务器发送ClientHello,代理原样转发;
- 目标服务器返回ServerHello与数字证书,代理原样转发给客户端;
- 客户端执行证书校验:验证证书链由可信CA签发、域名匹配、在有效期内、未被吊销;
- 校验通过后,双方协商密钥,建立加密通道,开始传输应用数据。
2.3 代理能获取的信息
隧道模式下,代理服务器只能获取两类信息:
- 元数据:目标域名(来自CONNECT请求或TLS握手中的SNI字段)、端口、连接时间、流量大小;
- 公开信息:TLS握手中的明文部分,如加密套件列表、服务器证书(证书本身是公开的)。
代理无法获取会话密钥,因此无法解密后续的应用数据,看不到URL路径、请求参数、Cookie、表单内容等信息。
三、内容可见性的分情况说明
3.1 隧道代理模式
- 应用层内容:不可见,全程加密,代理无密钥无法解密;
- 目标域名:可见,来自CONNECT请求或SNI;
- 流量特征:可见,包括连接时长、数据量等。
3.2 中间人代理模式
- 应用层内容:完全可见,代理可以解密查看所有请求与响应;
- 前提条件:客户端必须安装并信任代理的根证书;
- 典型场景:企业内容审计、网络安全设备、本地调试工具。
3.3 快速判断方法
查看浏览器地址栏的证书信息:如果证书颁发者是目标站点的正规CA,说明是隧道模式;如果证书是未知机构或代理相关机构颁发,说明处于中间人模式。

四、正规商用代理的标准做法
合规的商用住宅代理服务均采用标准隧道模式,遵循以下原则:
- 纯转发不干预:TLS握手完全由客户端与目标服务器完成,代理不注入证书、不解密流量;
- 不存储内容数据:隧道建立后数据即时转发,不缓存、不存储应用层内容;
- 最小化日志:仅记录必要的连接元数据用于运维,不记录请求路径、参数等内容;
- 透明可验证:用户可自行通过抓包、证书查看等方式验证,确认没有中间人行为。
五、使用建议
- 选择代理服务时,优先确认采用隧道模式,不进行TLS拦截与解密;
- 使用过程中保持客户端证书验证开启,不随意安装未知根证书;
- 涉及敏感数据的场景,除了代理层面的安全,还要确保目标站点启用HTTPS,实现端到端加密;
- 代理服务的使用需严格遵守《中华人民共和国网络安全法》《中华人民共和国数据安全法》等法律法规,保护个人隐私与数据安全。
六、总结
隧道模式的HTTPS代理不参与证书校验,证书验证由客户端独立完成;代理仅转发加密数据,无法查看应用层内容。中间人模式的代理可以查看内容,但需要客户端信任其证书。 商用代理服务普遍采用隧道模式,用户可以通过检查证书链确认代理模式,保障自身数据安全。
