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