Estou tentando configurar o servidor onde meus aplicativos da web serão hospedados. Para cada aplicativo, o entrypoint é um servidor nginx, compactado no contêiner docker, com sua porta 80 encaminhada para algum lugar no host. A porta 80 do servidor é ouvida pelo servidor proxy nginx, que escolhe o aplicativo correspondente ao cabeçalho de solicitação Host
.
Aqui está uma configuração do nginx do meu aplicativo simples e completamente estático:
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
A porta 80 do aplicativo está vinculada à porta 8000 do host.
E aqui está a configuração do proxy:
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
server {
listen 80;
# not real DNS, just an example
server_name static.myserver.net;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
Os registros DNS myserver.net
e static.myserver.net
estão vinculados ao IP do servidor.
Mas quando tento me conectar a static.myserver.net
, recebo o erro 502 e a entrada do registro de proxy da seguinte forma:
2016/06/04 13:26:58 [error] 5#5: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 100.100.100.100, server: static.myserver.net, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "static.myserver.net"
Os registros nginx do aplicativo estão vazios.
Mas os dois myserver.net:8000
da web e 127.0.0.1:8000
do host são completamente acessíveis. O que está errado então?