HSTS 并不要求直连。HTTPS 可以通过 SOCKS 运行,并照常进行 TLS 与证书校验;HSTS 要求浏览器对该主机使用 HTTPS,并严格处理证书失败。

如果浏览器报告 SOCKS 连接失败,应先检查所选 SOCKS 版本、代理能否到达目标 HTTPS 端口,以及目标 DNS 在哪里解析。协商失败或目标连接被拒绝,都发生在网站证书能够被评估之前。

连接建立后出现的证书错误是另一个阶段。HSTS 可以阻止绕过该错误,但它并没有导致先前的 SOCKS 协商失败。应比较网站主机名与信任链,而不是为了弥补传输问题而关闭 HTTPS 策略。

SOCKS 本身不会把链路变成 TLS 中间人拦截。不可信的代理可能丢弃或错误转发流量,而有效的端到端 TLS 旨在发现身份冒充。安装新的根证书会改变这一信任安排,并不是 HSTS 的常规修复手段。当某个站点可用而另一个失败时,应比较它们实际的连接阶段与目标要求。若需通过公开端点做允许范围内的对照,SOCKS 代理列表提供了候选;请让版本与认证支持同浏览器匹配。

相关文章