Ruby on rails 调用Rails API时面临间歇性404问题

Ruby on rails 调用Rails API时面临间歇性404问题,ruby-on-rails,http,heroku,thin,cowboy,Ruby On Rails,Http,Heroku,Thin,Cowboy,我已经在这上面撞了两天了,我还没找到任何运气。正在寻求帮助 问题: 前端向我的Rails API发出10个类似的XHR请求(针对不同的用户),很少有请求会随机失败,状态代码为404 我的观察: 如果我再次提出同样的请求,它就会通过 我看不到任何404请求的痕迹,甚至没有击中我的服务器(使用日志)。 对于200和404(如下所述),我确实看到了不同的响应头,对于404请求,我看到了cowboy(,)server。我使用thinweb服务器运行rails产品 我的理论是,由于我的请求很少不能

我已经在这上面撞了两天了,我还没找到任何运气。正在寻求帮助

问题:


前端向我的Rails API发出10个类似的XHR请求(针对不同的用户),很少有请求会随机失败,状态代码为404

我的观察:

  • 如果我再次提出同样的请求,它就会通过
  • 我看不到任何404请求的痕迹,甚至没有击中我的服务器(使用日志)。
    • 对于200和404(如下所述),我确实看到了不同的响应头,对于404请求,我看到了
      cowboy
      (,)
      server
      。我使用
      thin
      web服务器运行rails产品
我的理论是,由于我的请求很少不能命中我的
thin
服务器,所以它们得到了404。现在,令人困惑的是,为什么它要打《牛仔》

200状态代码

404状态代码

[编辑] 404错误的响应负载如下所示

<!DOCTYPE html>
    <html>
      <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta charset="utf-8">
        <title>No such app</title>
        <style media="screen">
          html,body,iframe {
            margin: 0;
            padding: 0;
          }
          html,body {
            height: 100%;
            overflow: hidden;
          }
          iframe {
            width: 100%;
            height: 100%;
            border: 0;
          }
        </style>
      </head>
      <body>
        <iframe src="//www.herokucdn.com/error-pages/no-such-app.html"></iframe>
      </body>
    </html>

没有这样的应用程序
html,body,iframe{
保证金:0;
填充:0;
}
html,正文{
身高:100%;
溢出:隐藏;
}
iframe{
宽度:100%;
身高:100%;
边界:0;
}

“前端发出10个类似的XHR请求(针对不同的用户)”--有多相似?如果它们针对不同的用户,是否可能找不到用户记录?(我假设不完全相同的请求随后成功。)另外,大约有多少百分比的请求失败?它们针对不同的用户,并且用户确实存在。立即调用同一404端点将得到200。在10次呼叫中,有1-3次呼叫失败。这也是Heroku的问题吗?你的应用程序使用了多少个dynos?是否有可能某些请求碰到了未正确配置的代理?你试过重新启动你的dyno吗?我以前有一个dyno。对于故障排除,我已将其增加到3。到现在为止,我已经重新启动了多次。没有运气,有时所有的请求也会得到200。所以它是断断续续的。“前端发出10个类似的XHR请求(针对不同的用户)”--有多相似?如果它们针对不同的用户,是否可能找不到用户记录?(我假设不完全相同的请求随后成功。)另外,大约有多少百分比的请求失败?它们针对不同的用户,并且用户确实存在。立即调用同一404端点将得到200。在10次呼叫中,有1-3次呼叫失败。这也是Heroku的问题吗?你的应用程序使用了多少个dynos?是否有可能某些请求碰到了未正确配置的代理?你试过重新启动你的dyno吗?我以前有一个dyno。对于故障排除,我已将其增加到3。到现在为止,我已经重新启动了多次。没有运气,有时所有的请求也会得到200。所以它是断断续续的。