Chrome:使用POST/OPTIONS请求时出现net::ERR_TIMED_OUT错误

11

OPTION/POST请求无法一致地成功,控制台报错为err_timed_out。我们有时会遇到这个问题,其他时间则能够正确地获取后端的响应。当超时时,该请求甚至无法到达服务器。

我对此进行了一些研究,并发现由于对资源的最大6个连接限制,它可能需要等待连接被释放。但是,我没有看到任何其他等待的请求,所有其他请求都已完成。

在时间轴上,我总是可以看到它停滞了20.00秒。大部分时间,时间都是相同的。但是,它只显示已经停滞了一段时间,时间轴中没有其他信息。

该请求的状态显示失败ERR_Connection_Timed_Out。请帮忙解决。

网络计时

输入图像描述

控制台错误

输入图像描述


请求的后端部分怎么样?你对此有任何控制吗?从不同的机器上调用相同的请求,你能得到响应吗? - Yooz
@Yoann 的问题不一致,否则我们会得到正确的响应。已更新问题。 - Divya MV
你的 Promise 中有错误处理程序吗?我的意思是,如果没有其他处理程序捕获它们,除了 OK 之外,超时会发生。 - mico
@mico 我们已经注册了一个故障处理程序,就像这里提到的一样。https://dev59.com/R4rda4cB1Zd3GeqPJju2#29917375 - Divya MV
你的超时值是多少?答案中的值为200毫秒,可能对于测试后端来说太短了。 - Elliot Swart
显示剩余2条评论
2个回答

2

当我使用身份验证代理服务器时,我遇到了这个问题,通常刷新页面可以解决它。

您是否正在使用身份验证代理服务器并看到此行为?您是否尝试在没有代理的情况下使用电脑访问互联网?


问题非常不一致。我们可以通过调试来确认代理是导致问题的原因吗?我们正在努力寻找根本原因。 - Divya MV
1
如果您查看此文档(https://developer.chrome.com/devtools/docs/network#resource-network-timing),则在“资源网络计时”部分中有解释。关于停滞状态的摘录: 请求在发送之前等待的时间。这个时间包括代理协商所花费的任何时间。此外,当浏览器等待已经建立的连接可供重用时,此时间将包括在内,遵守 Chrome 每个源的最大六个 TCP 连接规则。 - S.Krishna

1
我更换了另一个ISP后也遇到了同样的问题。我以为只需要输入新的ID和密码,但事实并非如此。 我有一个带干线环路的ADSL调制解调器。
其他所有服务都正常(DNS解析、IP电话、FTP等)。 我进行了很多测试(禁用防火墙、尝试其他浏览器、在Linux下尝试、调制解调器恢复出厂设置等),但这些测试都没有成功。
为了解决“ERR_TIMED_OUT”问题,我不得不调整MTU和MRU值。我将值设置为“1458”,而不是默认值“1492”。 对我来说它起作用了。也许有些ISP使用不同的值。祝好运。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接