nginx: não é possível configurar o proxy básico (conexão recusada)

2

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?

    
por Andriy Maletsky 04.06.2016 / 16:12

1 resposta

4

Encontrei o problema. As configurações parecem estar corretas, mas o servidor proxy também foi configurado como um contêiner do Docker. Assim, o endereço 127.0.0.1 estava apontando para o contêiner do Docker, não para o host. proxy_pass http://real_host_ip:8000; está funcionando corretamente.

    
por 04.06.2016 / 18:05

Tags