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.