nginx - proxy_pass - 两分钟后 504 网关超时

问题描述 投票:0回答:1

这个问题之前已被问过很多次,但没有一个答案对这种情况有帮助。

以下情况发生在

/api
位置。

默认情况下,Nginx 一分钟后发送 504 网关超时。我们通过

proxy_connect_timeout
proxy_send_timeout
proxy_read_timeout
send_timeout
client_body_tiemout
将超时时间延长至 10 分钟。不幸的是,两分钟后请求仍然超时,并出现相同的网关超时错误。

我们还覆盖了连接标头以避免任何保持活动的问题,不幸的是,这也没有帮助。

还有其他设置可能将其限制为两分钟吗?

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass      http://127.0.0.1:5000;
        proxy_redirect off;

        # Handle Web Socket connections
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;

        # proxy_set_header Connection "upgrade";
        proxy_set_header Connection "";

        proxy_connect_timeout       600;
        proxy_send_timeout          600;
        proxy_read_timeout          600;
        send_timeout                600;
        client_body_timeout         600;

        location /api {
            proxy_pass      http://127.0.0.1:5001;
        }
    }

nginx nginx-reverse-proxy proxypass
1个回答
0
投票

我建议验证超时的来源确实是 Nginx 服务器。我将 Nginx 配置的超时增加到 5 分钟,然后发现在 HAProxy 中超时设置为 2 分钟。

© www.soinside.com 2019 - 2024. All rights reserved.