Rails GET请求"网络连接丢失。"

时间:2014-09-13 17:36:46

标签: ruby-on-rails ruby httparty

我有一个Rails应用程序,它有一个API代理对另一个服务器的请求并缓存它们。它代理的端点之一是返回gif的GET请求。在服务器端,GET请求正常(使用HTTParty)。我记录了它获得的数据,它就在那里。然后,我将轨道侧的数据呈现给客户端。在本地运行rails应用程序时,一切正常,但在生产环境中,来自rails应用程序的请求永远不会完成。我刚刚得到"网络连接丢失了。"当cURLing端点时。正如我所说的那样,我在生产中注销了GET请求中的数据,它就在那里,它永远不会到达客户端。

如果我能提供更多信息,请告诉我。谢谢你的帮助。

3 个答案:

答案 0 :(得分:0)

因此,如果从生产服务器的外部服务命令行运行curl,那么在应用程序环境之外,您是否得到与开发计算机相同的结果?如果这些不同,那么外部服务为不同的机器服务的方式就会有所不同。

如果它们是相同的,那么尝试在生产环境中的开发盒上运行您的应用程序(或配置您的开发环境以匹配生产环境),看看您是否可以在本地失败。尝试让您的开发机器尽可能地与您的生产环境相匹配(当然是安全的)。

答案 1 :(得分:0)

您的生产环境是否有任何请求超时限制?例如,Heroku将请求限制为30秒。

答案 2 :(得分:0)

嗯,我觉得自己像个白痴。出于某种原因,我从未想过检查nginx错误日志。当我这样做时,我发现了以下内容:

2014/09/16 11:42:36 [crit] 8957#0: *12727 open() "/var/cache/nginx/proxy_temp/4/13/0000000134" failed (13: Permission denied) while reading upstream...

我所要做的就是确保我的nginx用户拥有/ var / cache / nginx目录的权限。现在它似乎正在发挥作用。