ruby-on-rails – 无法将HTTP响应转发回HTTP客户端:用户似乎点击了浏览器中的“停止”按钮

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 无法将HTTP响应转发回HTTP客户端:用户似乎点击了浏览器中的“停止”按钮前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我面临的问题是:

我通过ajax从浏览器发出请求并发送处理请求,一旦进行了ajax调用,我会显示一个带有进度条的弹出窗口,弹出窗口大致保留在2到4分钟之间的任何位置并突然关闭.当我通过chrome网络选项卡看到请求时,我看到该请求在弹出窗口显示的相同持续时间内停止.我看到逻辑正在按预期在后台执行,但弹出窗口没有等待响应并在它应该之前关闭.

我已将日志级别设置为7,我看到以下信息

如果要处理50条记录,我会在这50条记录开始处理之前看到这些信息(即我看到下面的50行)

[ pid=29768 thr=70024879087720 file=abstract_request_handler.rb:472 time=2016-08-30 08:06:43.250 ]: Accepting new request on main socket

最后我看到了这个

[ pid=29571 thr=139782938920704 file=ext/Nginx/HelperAgent.cpp:923 time=2016-08-30 08:10:32.682 ]: Couldn’t forward the HTTP response back to the HTTP client: It seems the user clicked on the ‘Stop’ button in his browser.

我怀疑它有一些超时问题,但不确定它是否处于乘客级别或ngnix级别.

我已经尝试将各种ngnix超时参数设置为更高的值,但它没有帮助.

  proxy_read_timeout 400s;
  client_body_timeout 180s;
  keepalive_timeout 180s;
  client_header_timeout 180s;

**I suspect it might be some issue with passenger config,but not sure.**

任何人都可以让我知道我能做什么,以便请求继续,而不会突然结束

最佳答案
这是文件上传/下载?
对于我在相关位置使用的下载

proxy_buffering             off;
proxy_request_buffering     off;
chunked_transfer_encoding   on;
client_body_timeout         3600;
proxy_read_timeout          900;

对于文件上传,我使用

client_max_body_size    10m;
client_body_timeout     600s;

(警告,如果您返回相关位置的位置,则应在第一个位置设置)

还是一种关于http的事件?有块吗?活着 ?
对于我使用的块:

proxy_buffering         off;
proxy_buffer_size       4k;
proxy_request_buffering off;
proxy_cache             off;
underscores_in_headers  on;

(有关块的信息,Nginx纠正了1.11.2中的旧错误,如果使用sub_filter指令的块)

在浏览器中,在“网络”选项卡的“调试窗口”中,请求失败后显示错误或状态是什么?
状态代码和/或Reponse标头?
有时预览中可能还有回复/信息.

猜你在找的Nginx相关文章