我的一台计算机上有多个网站(均通过同一服务器进行反向代理)无法正确加载。
这种特殊情况每次都会重现,尽管 Fiddler 显示请求已完成并带有正确的标头和响应,但单个 JS 文件仍会在 chrome 开发人员工具中停留在“待处理”状态。
我尝试了以下操作:
- 隐身标签
- Firefox、Edge、Internet Explorer
- 从我的电脑中删除了所有 VLAN
- 完全删除并重新安装网络驱动程序
- 尝试使用新的 Windows 用户
当我尝试使用另一台计算机时,它运行得非常好,尽管两台计算机都具有相同的浏览器扩展和相同的防病毒软件,并且都运行着最新版本的 Windows 10。
如果我通过 HTTP Toolkit(用于拦截 HTTP 请求的软件工具)运行 Chrome,一切都正常运行。
这些是服务器响应的标头(如 Fiddler 中所示):
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 03 May 2020 13:22:52 GMT
Content-Type: application/javascript
Content-Length: 577367
Last-Modified: Wed, 15 Apr 2020 21:18:39 GMT
Connection: keep-alive
ETag: "5e977a2f-8cf57"
Accept-Ranges: bytes
我可以尝试哪些其他步骤来调试并查明该问题?
这个文件是我的电脑与我的网络服务器通信的 wireshark 捕获,文件加载失败是/js/main.bundle.js?v=2.2.3
这个文件铬净出口量
答案1
将讨论的结果总结如下:
Wireshark 跟踪显示网络层有一些重传,但最终在网络上成功传输。这不是网络连接问题。
深入研究 Chrome 浏览器的chrome://net-export/
日志,我们可以看到浏览器甚至没有完成从网络读取标头的操作:
t= 69 [st= 7] HTTP_TRANSACTION_SEND_REQUEST_HEADERS --> GET /js/main.bundle.js?v=2.2.3 HTTP/1.1
t= 69 [st= 7] -HTTP_TRANSACTION_SEND_REQUEST
t= 69 [st= 7] +HTTP_TRANSACTION_READ_HEADERS [dt=80452]
t= 69 [st= 7] +HTTP_STREAM_PARSER_READ_HEADERS [dt=80452]
t=80521 [st=80459] CANCELLED
这意味着问题的根源很可能在于客户端系统上的拦截(代理)软件,因为网络流量到达系统,而不是应用程序。由于 OP 提到了 Sophos AV,我假设这就是问题的根源。
在检查与的进程通信时procmon.exe
,OP 可以将 Sophos 认定为罪魁祸首。