停止 nginx 反向代理重定向

停止 nginx 反向代理重定向

有几个类似的问题,但我还没能弄清楚如何解决我的问题。

我在端口 80 上运行 nginx 实例,它充当其他一些 nginx 实例的反向代理(这些实例是运行 django 应用程序的不同实例的 gunicorn 的反向代理。)

当我导航到 gaiadev1/ 时,它可以正常工作。当我登录时,会发生重定向,将应用程序发送到 gaiadev:8080。我想阻止这种重定向发生,但我不知道该怎么做。

这是端口 80 上的代理的配置:

upstream gaiadev1 {
    server 127.0.0.1:8001;
    keepalive 32;
}
upstream gaiatest1 {
    server 127.0.0.1:9001;
    keepalive 32;
}
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name gaiadev1;

    location / {
        proxy_pass http://gaiadev1;
    }
}

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

    server_name gaiatest1;

    location / {
        proxy_pass http://gaiatest1;
    }
}

以下是运行应用程序的 nginx 实例的配置文件:

upstream gaia {
    server %s;
    keepalive 32;
}

server {
    listen %s default_server;
    listen [::]:%s default_server ipv6only=on;

    # Make site accessible from http://localhost/
    server_name localhost;


    location /static/ {
        root /gaia;
        index index.html;
    }
    location / {
        proxy_pass http://gaia;
    }
}

答案1

在对 nginx 文档进行一番摸索之后,我找到了一个可以解决该问题的 proxy_redirect 设置。

location / {
    proxy_pass http://gaiatest1;
    proxy_redirect http://$proxy_host:9001 http://$host:80;
}

相关内容