小编典典

如何在 Nginx 上使用 FastCGI 防止网关超时

all

我正在运行 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;
    }

编辑:我没有工作:)


阅读 70

收藏
2022-06-23

共1个答案

小编典典

代理超时很好,对于代理,而不是 FastCGI…

client_header_timeout影响 FastCGI 超时的指令是client_body_timeoutsend_timeout

编辑 :考虑到 nginx wiki 上的内容,send_timeout
指令
负责设置响应的一般超时(这有点误导)。对于
FastCGI,有fastcgi_read_timeout哪些影响FastCGI
进程响应超时

2022-06-23