我不确定它是否相关,但我在 Heroku 上的免费测功机上有一个小应用程序,并且在请求时需要额外的时间来启动(约 20 秒)。
我的日志中有许多H27
/ HTTP499
警告heroku/router
来自注册到 Facebook 和 Cogent的ASN IP 的请求。来自 Yandex 的 ASN 的请求不会产生 HTTP 499
,来自人类的请求也不会产生。
由于该应用程序已在 Facebook 上共享,因此流量并不出人意料。我的假设是社交网站检查共享帖子的更新并定期拉入预览图像。
我的定期更新假设是否正确?无论如何,为什么结果在499
s 中?
499 是 nginx 使用的非标准错误代码,表示客户端在服务器响应之前关闭了连接。如果客户端的超时时间短于响应请求所需的时间,您将看到此错误。
这些错误不会消失,除非客户端增加其超时时间或您更快地返回响应。由于您不控制客户端,因此您无法真正增加客户端的超时时间。您所能做的就是尝试更快地返回响应。但这很可能意味着从免费层升级。