3
respostas

Não consegue se logar

http://localhost:4200/login

localhost recusou a conexão.

No log do docker fica dando várias informações como estas

api-gateway-1 | nginx: [emerg] host not found in upstream "web-financeiro" in /etc/nginx/conf.d/api-gateway.conf:5 api-gateway-1 exited with code 1

3 respostas

Olá, estudante.

Tudo bem?

Esse erro "host not found in upstream 'web-financeiro'" indica que o Nginx não está conseguindo resolver o nome do host "web-financeiro". Isso pode acontecer por algumas razões, como o serviço "web-financeiro" não estar rodando ou o nome do host estar incorreto.

Aqui estão algumas sugestões para resolver o problema:

  1. Verifique se o serviço "web-financeiro" está rodando:

    • Certifique-se de que o contêiner do serviço "web-financeiro" está ativo e rodando. Você pode usar o comando docker ps para listar todos os contêineres em execução e verificar se o "web-financeiro" está na lista(Ou veja no Docker se está rodando).
  2. Verifique o nome do host no arquivo de configuração do Nginx:

    • Abra o arquivo api-gateway.conf que está localizado em /etc/nginx/conf.d/ dentro do contêiner do API Gateway.
    • Verifique se o nome do host "web-financeiro" está correto e se corresponde ao nome do serviço definido no seu docker-compose.yml.

    Exemplo de configuração no docker-compose.yml:

    services:
      web-financeiro:
        image: web-financeiro:latest
        ...
      api-gateway:
        image: nginx:latest
        volumes:
          - ./api-gateway.conf:/etc/nginx/conf.d/api-gateway.conf
        ...
    
  3. Reinicie os contêineres:

    • Às vezes, reiniciar os contêineres pode resolver problemas de rede. Use os comandos docker-compose down seguido de docker-compose up para reiniciar todos os serviços.

Espero que essas sugestões ajudem a resolver o problema. Bons estudos!

Prezado Renan,

Ainda continua tentando fazer o restart do NGinx, porém dá este erro

2024-08-12 14:42:27 api-gateway-1 | nginx: [emerg] host not found in upstream "web-financeiro" in /etc/nginx/conf.d/api-gateway.conf:5

ele tenta procurar aqui: /etc/nginx/conf.d/api-gateway.conf, mas o api-gatewaey encontra-se em ./servicos-nginx

o arquivo docker-compose.yml está assim:

api-gateway: image: nginx volumes: - ./servicos-nginx:/etc/nginx/conf.d restart: always ports: - 80:80 depends_on: - web-academico - web-financeiro - web-mkt

 Aqui o arquivo api-gateway.conf
 
 server {
listen 80;

location /financeiro/ {
    proxy_pass http://web-financeiro:9501/;
}

location /mkt/ {
    proxy_pass http://web-mkt:3000/;
}

location /academico/ {
    proxy_pass http://web-academico:8080/;
}

}

Se você estiver no Windows, vai precisar converter o final da linha que está .sh para UNIX, igual o aluno descreve nessa solução desse tópico: host not found in upstream "web-financeiro" - SOLUCIONADO.

Nesse outro tópico tem esses passos mais detalhados, veja: docker-compose up --build ERRO - SOLUCIONADO

Tenta isso por favor. Qualquer coisa manda aqui de novo.