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

标签 configuration nginx fastcgi

我正在运行 Django、FastCGI 和 Nginx。我正在创建一个 api,人们可以通过 XML 发送一些数据,我将处理这些数据,然后为发送过来的每个节点返回一些状态代码。

问题是,如果我处理 XML 的时间太长,Nginx 将抛出 504 网关超时 - 我认为超过 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 则不然......

影响 FastCGI 超时的指令是 client_header_timeoutclient_body_timeoutsend_timeout

编辑:考虑到 nginx wiki 上的内容, send_timeout directive负责设置响应的一般超时(这有点误导)。对于 FastCGI,fastcgi_read_timeout 会影响 FastCGI process response timeout .

关于configuration - 如何在 Nginx 上使用 FastCGI 防止网关超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/561946/

相关文章:

C#:读取和修改另一个应用程序的 app.config 文件中的设置

javascript - 如何修改 momentjs 日历以让几周从用户指定的一天开始?

regex - NGINX 重写规则与 REGEX (.+) 不匹配

docker - 在Nginx/nginx代理容器中使用Nextcloud以及其他服务

php - 如何通过 fastcgi 从 C++ 运行 php 脚本

c++ - [C/C++][CGIcc] GET 有效但 POST 导致错误消息

c# - ConfigurationCollection - 无法识别的元素 'entry'

php - Nginx - 如果我只允许自己查看文件,则下载文件

python - 使用 FastCGI 将 Windows 身份验证上下文从 IIS 传递到 Python

spring - 从属性文件中自动刷新 spring bean 属性