<p>I have deployed an nginx-ingress controller in an aws eks cluster using an helm chart from artifact hub  (<a href="https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx" rel="nofollow noreferrer">https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx</a>) .</p>
<p>I have edited the annotation to use NLB in aws, after the deployment if ingress-nginx and applicatons behind the ingress controller, the application behind the NLB is working fine but was serving on not secure mode (no ssl) , then I changed the listner port of nlb from tcp to tls and attached an ssl certificate.</p>
<p>Now after this change my application is able to operate on ssl but getting an error as <strong>&quot;Nginx 400, A plain http response was sent to HTTPS port&quot;</strong> .</p>
<p>Can someone help me on understanding this issue and potential options to resolve the issue.</p>
<p>the values and configuration are almost default that we took from here &quot;https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx&quot;</p>

<p>If you are attaching the SSL/TLS certificate on <strong>LB</strong> level from ACM (AWS cert-manager)</p>
<p>You have to create the two listener, <strong>TCP</strong> with port <strong>80</strong> &amp; <strong>TLS</strong> with <strong>443</strong> port attach the necessary <strong>cert</strong> into the <strong>TLS</strong> listener.</p>
<p>You can also read more at: <a href="https://aws.amazon.com/premiumsupport/knowledge-center/terminate-https-traffic-eks-acm/" rel="nofollow noreferrer">https://aws.amazon.com/premiumsupport/knowledge-center/terminate-https-traffic-eks-acm/</a></p>
<p>In the above example, it's using <strong>CLB</strong> however same steps will apply to the <strong>NLB</strong> to attach the certificate over LB.</p>
