DEV Community

Paulo Alves
Paulo Alves

Posted on

kubernetes ingress-controller '400 Bad request - plain HTTP request sent to HTTPS port'

Resolvi criar um material de consulta rápida e que pudesse compartilhar, sobre um problema que me consumiu uma quantidade de tempo considerável. E como consegui resolver, resolvi compartilhar...😎

Criei um cluster EKS do zero para testar algumas variações com Terraform.

Legal tudo ok, só que estava chamando a aplicação somente via HTTP e estava funcionando. Como teria um api gateway na frente, achei prudente que a chamada fizesse um redirect de HTTP para HTTPS.

Quando fiz este redirect foi onde comecei a receber a seguinte erro:

erro400

O único lugar que havia configurado redirecionamento era no ingress-controller. Decide ir debugando por partes, primeiro validei se a requisição chegava até o POD, isso não ocorria.

Então no service que crie para aplicação, alterei o parâmetro abaixo:
Antes

antes
Depois

depois
Com as alterações de redirects na parte do annotations, as requisições chegavam na aplicação.

Voltei o ambiente como estava antes, e fui pegar os logs do ingress-controller, as requisições chegavam mas dava 400. Com isso resolvi olhar para o service do ingress-controller.

Existe uma parte no service que estava assim:

serviceantes

E ficou assim:

servicedepois

Isso porque no meu caso em específico, o ingress que configurei para aplicação, estava apontando para porta 80.

Espero ter ajudar e até a próxima!!!

E ai vamos se conectar? Entre em contato comigo:
https://www.linkedin.com/in/pcmalves/

Top comments (0)