1
resposta

Whitelabel Error Page

Fiz todo o passo a passo da aula, e após executar o script.sh, o localhost:8080/topicos nao abre, dá esse erro abaixo

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oi, Gustavo.

Vi que finalizou o curso, que ótimo!

Pela imagem e pelo log que você compartilhou, o erro 500 (Internal Server Error) indica que a aplicação Spring Boot até subiu e está ouvindo na porta 8080, mas ela encontrou uma falha interna ao tentar processar a requisição para /topicos.

Como você está seguindo o passo a passo da aula de Prometheus e Grafana, esse erro geralmente está ligado à comunicação da aplicação com as dependências externas (MySQL ou Redis).

Aqui estão os pontos para você verificar:

1. Verifique se os Containers estão Saudáveis

O script da aplicação tenta se conectar ao banco de dados e ao cache assim que você acessa o endpoint. Se o container do MySQL não terminou de subir ou se houve um conflito de portas, a aplicação lançará esse erro 500.

No seu terminal, rode:

docker ps

Confirme se os containers mysql-forum-api e redis-forum-api aparecem com o status Up.

2. Conflito de Portas

No vídeo, é mencionado que o MySQL usa a porta 3306 e o Redis a 6379.

  • Você tem o MySQL instalado nativamente no seu Windows ou Linux? Se sim, ele pode estar "segurando" a porta 3306, impedindo que o container funcione corretamente.
  • Solução: Pare o serviço de banco de dados local da sua máquina antes de subir o Docker Compose.

3. Logs da Aplicação no Eclipse

Como você executou o start.sh, a aplicação está rodando. Vá até o Console do Eclipse (onde as mensagens de log aparecem) e procure por uma linha que comece com ERROR ou Exception.

Geralmente, você encontrará algo como:

  • com.mysql.cj.jdbc.exceptions.CommunicationsException: Significa que a aplicação não conseguiu falar com o MySQL.
  • org.springframework.data.redis.RedisConnectionFailureException: Significa que ela não achou o Redis.

4. Ordem de Inicialização

Às vezes, o MySQL demora um pouco mais para "ficar pronto para receber conexões" (Ready for connections) do que o Docker leva para dizer que o container subiu.

  • Teste: Tente dar um Ctrl+C no terminal onde rodou o script, aguarde 30 segundos e execute o ./start.sh novamente, garantindo que o Docker já esteja rodando há algum tempo.

Resumo do Check-list:

  1. O comando docker ps mostra os dois containers ativos?
  2. Existe algum MySQL local rodando na sua máquina? (Se sim, pare-o).
  3. No console do Eclipse, qual é o erro detalhado que aparece logo após você atualizar a página no navegador?

Se puder colar aqui o erro que aparece no Console do Eclipse, consigo te dar um diagnóstico mais exato.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!