加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails服务器返回HTTP状态0

发布时间:2020-12-16 21:07:40 所属栏目:百科 来源:网络整理
导读:我知道有时客户端会在请求无法连接,超时等时返回0状态代码显示HTTP请求,但我从未见过服务器将0记录为发送回客户端的内容. 我正在运行Rails 4.2,ruby 2.2.x API.前几天我正在分析我们的日志,并注意到我们的Rails API正在响应HTTP状态代码为0的非平凡数量的请
我知道有时客户端会在请求无法连接,超时等时返回0状态代码显示HTTP请求,但我从未见过服务器将0记录为发送回客户端的内容.

我正在运行Rails 4.2,ruby 2.2.x API.前几天我正在分析我们的日志,并注意到我们的Rails API正在响应HTTP状态代码为0的非平凡数量的请求.我一直无法弄清楚原因.

在某些情况下,似乎请求永远不会进入rails应用程序.我只看到我认为由机架记录的日志消息,其中包含返回的请求路径和状态.在其他情况下,我可以看到我们从应用程序控制器记录的早期日志消息之一.

有没有人见过这样的行为?如果不开始修改rails提供的标准机架中间件,我不确定如何进一步调试.我自己无法重现这种情况;我只在日志中偶尔看到这个.

关于我们的堆栈的更多信息:

> Rails 4.2.5
> Ruby 2.2.3
> Puma 3.4.0
>我们使用nginx反向代理,但我认为不会影响它,因为至少机架收到了请求.

我意识到可能无法回答这里到底发生了什么,所以我希望能找到关于如何最好地解决这个问题的建议.

解决方法

发现这是我们的Rails日志记录设置的问题.通过将这些日志与我们的nginx访问日志相关联,我可以看到302实际上正在返回给客户端.当CSRF保护失败时,通常会发生这种情况.

看起来这是由一个lograge(gem)bug引起的:https://github.com/roidrage/lograge/issues/67

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读