我通过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标头?有时预览中可能还有回复/信息.