Chrome在特定无线网络下访问GitHub Pages时初始SSL握手耗时过长的排查求助
Chrome在特定无线网络下访问GitHub Pages时初始SSL握手耗时过长的排查求助
问题描述
我最近碰到一个特别闹心的问题,折腾了好一阵都没理清头绪,想请大家帮忙出出主意:
- 用最新版Chrome(Version 120.0.6099.129 (Official Build) (arm64))访问部分GitHub Pages网站时,初始SSL握手步骤要耗时整整一分钟,这个情况是通过开发者工具的Network标签页确认的。
- 但同样的网站在Safari里加载完全正常,速度很快,而且测试的是像tqdm.github.io这类GitHub Pages站点,应该不是服务器端的问题。
- 更奇怪的是,这个问题只在某一个特定的无线网络下出现,换其他网络就完全正常。
- 我已经试过彻底卸载Chrome(包括Mac上的Application Support相关文件),重新安装后问题依然存在。
求助方向
想请教各位:有没有什么命令行工具或者浏览器内置工具,可以让我看到HTTP/SSL请求的详细追踪过程?或者还有哪些排查思路可以尝试?
排查建议
根据你的情况,这里有几个实用的排查方向和工具推荐:
浏览器内置的详细网络追踪
- 在Chrome开发者工具里,切换到Performance标签页,勾选“Network”选项后重新加载页面,它会记录包括SSL握手在内的所有网络阶段的详细耗时,能帮你定位到底是握手的哪一步(比如DNS解析、TCP连接、证书验证等)卡住了。
- 另外,在Network标签页里,点击对应的请求,查看“Timing”面板,里面会把SSL握手的时间拆分成更细的阶段(如SSL Negotiation),可以看看具体是哪个子步骤耗时久。
命令行工具抓包分析
- 用
curl加上详细参数来模拟请求,查看SSL握手的过程:
这个命令会输出从DNS解析到SSL握手、HTTP请求的每一步细节,包括时间戳,能帮你定位延迟发生的环节。curl -v --trace-time https://tqdm.github.io/ - 也可以用
tshark(Wireshark的命令行版)抓包,过滤SSL相关流量:
它会显示完整的SSL握手报文,能看到是否有重传、证书验证延迟等问题。tshark -i en0 -f "host tqdm.github.io and port 443" -V
- 用
排查网络配置差异
- 既然问题只在特定无线网络出现,对比这个网络和正常网络的DNS设置:在Mac的系统设置-网络里查看当前WiFi的DNS服务器,试试手动换成公共DNS,看是否能解决。
- 检查该无线网络是否有代理、防火墙或者VPN设置,Chrome可能会自动使用系统代理,而Safari的代理配置不同?可以在Chrome的设置-系统-打开您计算机的代理设置里确认。
- 查看该网络的MTU值,过大的MTU可能导致TCP分段重传,影响握手速度,可以用
ping -D -s 1472 tqdm.github.io测试(如果返回碎片需要DF设置,说明MTU太大,尝试调低)。
Chrome特定设置排查
- 尝试在Chrome的隐身模式下访问,如果正常,说明是扩展程序或者用户配置的问题(虽然你已经卸载重装,但可能还有残留?可以试试创建新的用户配置文件)。
- 在Chrome地址栏输入
chrome://net-internals/#ssl,查看SSL相关的状态和缓存,点击“Clear cache”清除SSL缓存后再测试。 - 输入
chrome://flags/#enable-quic,尝试禁用QUIC协议,有些网络对QUIC支持不好,可能导致握手延迟。
备注:内容来源于stack exchange,提问作者user1727876
相关产品推荐
相关产品推荐

