繁体   English   中英

为什么 NGINX 给出 504 网关超时错误?

[英]Why is NGINX giving 504 gateway timeout error?

我的NGINX配置是-

server {
    listen 80;
    server_name site.com ;

    location / {
        include proxy_params;
        proxy_pass http://0.0.0.0:8000;

    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

我正在Port 8000上的Gunicorn上运行 Flask 应用程序。 当我尝试访问我的站点时,我得到一个504 Gateway Time-out nginx/1.14.0 (Ubuntu)

error.log ,它说-

 upstream timed out (110: Connection timed out) while connecting to upstream, client:myip server: site.com, request: "GET / HTTP/1.1", upstream: "http://0.0.0.0:8000/", host: "mysite.com"

您的配置中有一些错误。

  • 您不能让一台服务器监听多个端口。
  • 您不应该写 0.0.0.0:8000,而是尝试 127.0.0.1:8000

另外我不明白你为什么包含代理参数,只需删除该行。

这是您可以执行的操作的示例。

server {
        server_name site.com www.site.com;
        location / {
                proxy_pass http://127.0.0.1:8000/;
        }
        listen [::]:443 ssl; # managed by Certbot
        listen 443 ssl; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
        include /etc/letsencrypt/options-ssl-nginx.conf;
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
server {
        if ($host = www.site.com) {
                return 301 https://$host$request_uri;
        }
        if ($host = site.com) {
                return 301 https://$host$request_uri;
        }
        listen 80;
        listen [::]:80;
        server_name site.com www.site.com;
        return 404;
}

祝你好运:-)

建议保持如下值,这可以解决超时问题。

proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM