我有一个Rails应用程序,它有一个API代理对另一个服务器的请求并缓存它们。它代理的端点之一是返回gif的GET请求。在服务器端,GET请求正常(使用HTTParty)。我记录了它获得的数据,它就在那里。然后,我将轨道侧的数据呈现给客户端。在本地运行rails应用程序时,一切正常,但在生产环境中,来自rails应用程序的请求永远不会完成。我刚刚得到"网络连接丢失了。"当cURLing端点时。正如我所说的那样,我在生产中注销了GET请求中的数据,它就在那里,它永远不会到达客户端。
如果我能提供更多信息,请告诉我。谢谢你的帮助。
答案 0 :(得分:0)
因此,如果从生产服务器的外部服务命令行运行curl
,那么在应用程序环境之外,您是否得到与开发计算机相同的结果?如果这些不同,那么外部服务为不同的机器服务的方式就会有所不同。
如果它们是相同的,那么尝试在生产环境中的开发盒上运行您的应用程序(或配置您的开发环境以匹配生产环境),看看您是否可以在本地失败。尝试让您的开发机器尽可能地与您的生产环境相匹配(当然是安全的)。
答案 1 :(得分:0)
您的生产环境是否有任何请求超时限制?例如,Heroku将请求限制为30秒。
答案 2 :(得分:0)
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目录的权限。现在它似乎正在发挥作用。