我无法处理来自 nginx 的 gunicorn 请求

I can't serve gunicorn requests from nginx

我有一个在 nginx 服务器上 运行 的反应网络应用程序。服务器 运行 在端口 80 上。

它的配置是这样的:

location / { 
    proxy_pass http://127.0.0.1:5000;
    proxy_connect_timeout 75s;
    proxy_read_timeout 300s;
    try_files $uri $uri/ =404;

Gunicorn 在 127.0.0.1:5000 上绑定到我的烧瓶应用程序和 运行s。当我这样做时,我看不到我的网站。它说

This site can’t be reached 127.0.0.1 refused to connect.

理想情况下,Nginx 会通过端口 80 提供静态文件,当在反应端发出获取请求时,它会被传递到 127.0.0.1:5000 上的 gunicorn 和 flask

当我将位置设置为 location /insert_email(我的反应获取)时,我可以加载该网站,但我从未在我的 Gunicorn 服务器上收到电子邮件插入请求

这是一个示例 NGINX 配置,我知道它可以作为 Gunicorn 的反向代理。

#Config Contents
server {
    listen       80;
    server_name  site.your.domain;
    # Or use the following if you do not have a domain
    #server_name 123.123.123.123;

    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Scheme $scheme;
    }
}

Gunicorn 运行 字符串看起来像

gunicorn --bind localhost:5000 flask_app:app

作为健全性检查,您可以检查哪些进程正在使用哪些端口侦听

lsof -i -P -n | grep LISTEN

确保您的服务器至少允许来自您的 IP 地址的端口 80 上的流量。