![Chrome、Firefox、Edge 都无法下载文件 - 但 Powershell 可以?](https://linux22.com/image/1552836/Chrome%E3%80%81Firefox%E3%80%81Edge%20%E9%83%BD%E6%97%A0%E6%B3%95%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6%20-%20%E4%BD%86%20Powershell%20%E5%8F%AF%E4%BB%A5%EF%BC%9F.png)
我有一个文件以 blob 形式托管在 Azure 容器存储中。当我尝试通过将 (公共) URL 粘贴到 Chrome 中来下载该文件时,下载大约 1MB 时出现错误“失败 - 网络错误”。
怀疑:也许 Chrome 不喜欢它? 不:尝试从任何浏览器(Chrome、Firefox、Edge)下载它,无论是否启用每个浏览器的隐私浏览模式,下载都会很快失败。
怀疑:我的电脑网络可能坏了?没有:我在家里的其他 4 台 Windows 电脑上试过,都出现了同样的故障
怀疑:也许我家的网络坏了?没有:我试过出门,用手机热点。还是失败
怀疑:Azure 可能坏了?没有:尝试从其他位置的其他 PC 下载 - 我可以通过 RDP 访问的机器、朋友的机器。甚至在 Microsoft 支持人员的帮助下,他们也成功下载了它。
怀疑:也许我的 ISP 坏了?可能:我的家庭网络和手机热点都使用同一个 ISP
更奇怪的是:虽然我家里网络上的任何机器上的浏览器都无法下载它,但我可以使用 Powershell 的 Invoke-WebRequest 命令成功下载它
进一步的故障排除:我使用 Chrome 的 net-internals 从 Chrome 捕获事件日志。chrome-net-export-log.json 在日志末尾显示了以下几行:
{“params”:{“net_error”:-101,“os_error”:10054},“phase”:0,“source”:{“id”:9059,“type”:8},“time”:“895752”,“type”:67},{“params”:{“error_lib”:33,“error_reason”:101,“file”“../../net/socket/socket_bio_adapter.cc”,“line”:120,“net_error”:-101,“ssl_error”:1},“phase”:0,“source”:{“id”:9059,“type”:8},“time”:“895752”,“type”:55},{“params”:{“description”:“从套接字读取错误101。”,“net_error”:-101},“phase”:0,“source”:{“id”:9063,“type”:9},“time”:“895752”,“type”:199}, {“params”:{“description”:“已放弃。”,“net_error”:“ERR_CONNECTION_RESET”,“stream_id”:1},“phase”:0,“source”:{“id”:9051,“type”:1},“time”:“895753”,“type”:213},
...因此看起来似乎某个地方的某些东西正在切断连接。
我还尝试了其他各种随机方法,例如清除所有浏览器历史记录、清除 Chrome 的 DNS 缓存、清除 Windows 的 DNS 缓存、更改 DNS 服务器、关闭/打开 IPv6。但没有任何变化。
我也尝试过连接到 VPN 然后下载 - 仍然失败。所以也许这是对 ISP 的反对。
关于如何进一步排除故障,您有什么建议吗?我会联系我的 ISP,但对此不抱太大希望。有什么方法可以找出网络上哪台机器正在关闭连接?
答案1
事实证明这确实是 ISP 的问题。他们与 Azure 对等连接的方式导致发生故障。欢迎使用同一 ISP 的其他人从 Azure 下载任何内容时遇到令人困惑的故障。