Nginx 400, на порт HTTPS был отправлен простой HTTP-ответ с помощью контроллера nginx-ingress.

Я развернул контроллер nginx-ingress в кластере aws eks, используя диаграмму управления из концентратора артефактов (https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx).

Я отредактировал аннотацию для использования NLB в aws, после развертывания, если ingress-nginx и приложения за контроллером входа, приложение за NLB работает нормально, но работает в небезопасном режиме (без ssl), затем я изменил список порт nlb с tcp на tls и прикрепил сертификат ssl.

Теперь после этого изменения мое приложение может работать с ssl, но выдает сообщение об ошибке «Nginx 400, на порт HTTPS был отправлен простой HTTP-ответ» .

Может ли кто-нибудь помочь мне разобраться в этой проблеме и возможных вариантах ее решения.

значения и конфигурация почти по умолчанию, которые мы взяли отсюда "https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx"

1 ответ

Если вы прикрепляете сертификат SSL / TLS на уровне LB из ACM (AWS cert-manager)

Вам нужно создать два прослушивателя: TCP с портом 80 и TLS с портом 443, прикрепить необходимый сертификат к прослушивателю TLS .

Вы также можете узнать больше по адресу: https://aws.amazon.com/premiumsupport/knowledge-center/terminate-https-traffic-eks-acm/

В приведенном выше примере он использует CLB, однако те же шаги будут применяться к NLB для прикрепления сертификата через LB.

Другие вопросы по тегам