Nginx atendendo solicitações para dois contêineres

1

Eu tenho uma API e um aplicativo da web que estão em execução no mesmo cluster do docker.

1) É melhor ter um contêiner nginx para balanceamento de carga dos dois ou ter dois contêineres nginx separados para balancear a carga cada um separadamente?

2) Se o primeiro, eu tentei isso:

server {
    listen 80;
    server_name xxy.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name

 xxy.com;

    location / {
        proxy_pass http://web_app:8000;
        proxy_redirect     off;
        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_set_header X-Forwarded-Proto $scheme;

    }
}


server {
    listen 443 ssl;
    server_name yyyy.com;

    location / {
        proxy_pass http://api_backend:5000;
        proxy_redirect     off;
        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_set_header X-Forwarded-Proto $scheme;

    }
}

No entanto, recebo um erro de gateway nginx 502 para a API.

E com a última solução, tive que alterar a porta de uma das APIs para 444, já que quando eu docker-compose up recebi um erro port 443 is already in use .

server {
    listen 444 ssl;
    server_name yyyy.com;

    location / {
        proxy_pass http://api_backend:5000;
        proxy_redirect     off;
        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_set_header X-Forwarded-Proto $scheme;

    }
}

Alguma idéia ou forma de resolver o problema de ter dois processos nginx no mesmo servidor?

Observação: meu DNS está configurado para redirecionar para o mesmo endereço IP.

Eu também tentei seguir isso sem sucesso. Ainda o mesmo erro acima.

    
por Andrew Graham-Yooll 18.07.2017 / 16:44

0 respostas