我正在运行 Django、FastCGI 和 Nginx。我正在创建一个 API,有人可以通过 XML 发送一些数据,我将处理这些数据,然后为每个发送过来的节点返回一些状态代码。
问题是,如果我处理 XML 的时间太长,Nginx 会抛出 504 Gateway Time-out ——我认为超过 60 秒。
所以我想设置 Nginx,这样如果任何与位置 /api 匹配的请求都不会超时 120 秒。什么设置将实现这一点。
到目前为止,我所拥有的是:
# Handles all api calls location ^~ /api/ { proxy_read_timeout 120; proxy_connect_timeout 120; fastcgi_pass 127.0.0.1:8080; }
编辑:我没有工作:)
代理超时很好,对于代理,而不是 FastCGI…
client_header_timeout影响 FastCGI 超时的指令是client_body_timeout和send_timeout。
client_header_timeout
client_body_timeout
send_timeout
编辑 :考虑到 nginx wiki 上的内容,send_timeout 指令负责设置响应的一般超时(这有点误导)。对于 FastCGI,有fastcgi_read_timeout哪些影响FastCGI 进程响应超时。
fastcgi_read_timeout