Estou tentando montar um site de django usando docker, nginx e uwsgi:
Eu tenho um contêiner docker nginx trabalhando como um proxy reverso (chamado ceca-nginx-proxy) e outro contêiner nginx (ceca-nginx) que se comunica com um contêiner uwsgi (ceca-uwsgi), eu posso conectar usando curl (com curl --resolve http://test.ceca.com http://172.17.0.7
) para o container ceca-nginx e recebo o site do django rodando no container ceca-uwsgi, o problema é quando eu quero pegar o site via ceca-nginx-proxy: estou recebendo este erro no meu ceca-nginx-proxy log de erros de proxy:
ceca-nginx could not be resolved (5: Operation refused), client: 172.17.0.1, server: *.ceca.com, request: "GET / HTTP/1.1", host: "172.17.0.8"
O bloco de servidor do proxy reverso ceca-nginx-proxy é:
server {
listen 80;
server_name *.ceca.com;
error_log /tmp/proxy_error_nginx.log warn;
access_log /tmp/proxy_access_nginx.log;
location / {
set $example ceca-nginx;
resolver 127.0.0.1;
proxy_pass http://$example;
}
}
E estou executando o dnsmasq na mesma máquina para resolver nomes de host em / etc / hosts (nomes de host de contêineres vinculados do docker) assim:
dnsmasq -q -8 /tmp/dnsmasq.log --port 53 -R -u root
Para o que eu vejo no dnsmasq.log, o nome do host está resolvendo ok [1], mas o nginx está reclamando e retornando uma página "502 Bad Gateway". Se alguém puder me ajudar com isso, serei eternamente grato e comprarei muita cerveja e fernet se nos conhecermos.
[1]
Jun 6 21:39:47 dnsmasq[321]: query[A] ceca-nginx from 127.0.0.1
Jun 6 21:39:48 dnsmasq[321]: /etc/hosts ceca-nginx is 172.17.0.7
Jun 6 21:39:48 dnsmasq[321]: query[AAAA] ceca-nginx from 127.0.0.1
Tags nginx docker dnsmasq containers