【发布时间】:2023-04-04 08:12:02
【问题描述】:
我了解有时客户端会在请求连接失败、超时等情况下将 HTTP 请求显示为返回 0 状态代码,但我从未见过服务器将 0 记录为发送回客户端的内容。
我正在运行 Rails 4.2、ruby 2.2.x API。前几天我正在分析我们的日志,并注意到我们的 Rails API 正在以 HTTP 状态代码 0 响应大量请求。我一直无法弄清楚为什么。
在某些情况下,请求似乎永远不会到达 rails 应用程序。我只看到我认为由机架记录的关于请求路径和返回状态的日志消息。在其他情况下,我可以看到我们从应用程序控制器记录的早期日志消息之一。
有人见过这样的行为吗?如果不开始修改 rails 提供的标准机架中间件,我不确定如何进一步调试。我自己无法重现这种情况;我只是偶尔在我们的日志中看到这一点。
更多关于我们的堆栈:
- Rails 4.2.5
- Ruby 2.2.3
- 彪马 3.4.0
- 我们正在使用 nginx 进行反向代理,但我认为它不会影响它,因为至少机架收到了请求。
我意识到可能无法回答这里到底发生了什么,所以我希望能得到有关如何最好地解决此问题的建议。
【问题讨论】:
标签: ruby-on-rails ruby puma