Depois de alguns problemas com a documentação do nginx, encontrei uma configuração para proxy_redirect que resolve o problema.
location / {
proxy_pass http://gaiatest1;
proxy_redirect http://$proxy_host:9001 http://$host:80;
}
Existem várias perguntas semelhantes, mas não consegui descobrir como corrigir meu problema.
Estou executando uma instância de nginx na porta 80 que atua como um proxy reverso para algumas outras instâncias do nginx (que são proxy reverso para gunicorn executando instâncias diferentes de um aplicativo django).
Quando navego para o gaiadev1 /, funciona. quando eu faço o login, ocorre um redirecionamento que envia o aplicativo para gaiadev: 8080. Eu quero impedir que esse redirecionamento ocorra, mas não sei como.
Aqui está o conf para o proxy na porta 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;
}
}
e aqui está o conf para as instâncias nginx executando os aplicativos:
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;
}
}