Nginx 代理服务器到另一个代理服务器网关超时

Nginx proxy server to another proxy server Gateway timeout

这是我第一次在部署环境中部署应用程序,所以我是一个完全的初学者,我在一个实例上有一个 nginx 代理服务器(称之为 server1),它具有暴露的 IP 到互联网并路由请求到托管我的 Django 应用程序的不同实例(称为 server2)上的另一台服务器,server1 的 conf 文件如下所示:

`server{
    server_name _;
    location / {
            proxy_pass_header Authorization;
            proxy_pass http://10.156.0.4:80;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_http_version 1.1;
            proxy_set_header Connection “”;
            proxy_buffering off;
            client_max_body_size 0;
            proxy_read_timeout 36000s;
            proxy_redirect off;
    }

    listen 443 ssl;
    listen [::]:443 ssl;
    include snippets/self-signed.conf;
    include snippets/ssl-params.conf; }
server{
    listen 80;
    listen [::]:80;
    server_name _;

    return 302 https://35.246.244.220;}

和第二个服务器:

server{
    listen 80;
    listen [::]:80;
    server_name _;

    location / {
            proxy_pass_header Authorization;
            proxy_pass http://10.156.0.4:8880;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_http_version 1.1;
            proxy_set_header Connection “”;
            proxy_buffering off;
            client_max_body_size 0;
            proxy_read_timeout 36000s;
            proxy_redirect off;
    }
    location /static/ {
             alias /opt/app/mydjangoapp/staticfiles/;
             autoindex off; }
    }

我是 运行 我的 django 应用程序,使用此命令 python manage.py runserver 0.0.0.0:8880 & 我也在 运行 应用程序之前做了 collectstatic

当我将 server1 中的 proxy_pass 直接编辑为 http://10.156.0.4:8880 时,一切正常,但我需要第二个 nginx 服务器,以便我可以为我的应用程序提供静态文件。

我觉得我在这里做的事情显然是错误的,但我这辈子都弄不明白。

我发现了问题,这两个实例之间有一条防火墙规则不允许从端口 80 进出,只允许端口 8880。根本没有想到这一点!