Esse segmento resolveu meu problema, mas achei que seria útil para outras pessoas terem uma configuração concluída para ver. A seguinte configuração inverterá o proxy para os nomes de host app1.local e app2.local, em que app1 será encaminhado para outro aplicativo que atende na porta 3300 e o app2 será encaminhado para um aplicativo diferente que esteja escutando na porta 3000. Ele está em um arquivo aqui /etc/nginx/sites-available/two-applications.conf
server {
server_name app1.local;
location ~ {
proxy_pass_header Authorization;
proxy_pass http://localhost:3300;
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;
}
}
server {
server_name app2.local;
location ~ {
proxy_pass_header Authorization;
proxy_pass http://localhost:3000;
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;
}
}
Além disso, esses nomes de host são criados e precisam estar em /etc/hosts
da seguinte maneira para que eles funcionem:
127.0.0.1 app1.local
127.0.0.1 app2.local
Por questão de completude (como setup no Ubuntu Linux), este arquivo vive em /etc/nginx/sites-available/two-applications.conf
e é linkado em simbolo em /etc/nginx/sites-enabled/two-applications.conf
O nome do arquivo e o link simbólico pode ser qualquer coisa, é claro. Depois de atualizar essa execução, sudo service nginx reload
selecionará a alteração.