I’m setting up Nginx ingress controller on my Kubernetes Cluster, and I can’t make http->https redirect to work.
apiVersion: v1 kind: Service metadata: name: nginx-ingress-controller labels: component: "controller" annotations: service.beta.kubernetes.io/do-loadbalancer-protocol: "https" service.beta.kubernetes.io/do-loadbalancer-certificate-id: "d6312b2d-c313-4b03-9030-ccc40f1afed5" service.beta.kubernetes.io/do-loadbalancer-tls-passthrough: "false" service.beta.kubernetes.io/do-loadbalancer-redirect-http-to-https: "true" spec: ports: - name: http port: 80 protocol: TCP targetPort: http - name: https port: 443 protocol: TCP targetPort: http selector: app: nginx-ingress component: "controller" type: "LoadBalancer"
As you can see in nginx ingress controller Service definition, I’m using correct annotation, however, when I visit http://mydomain.com, I get ERR_CONNECTION_REFUSED, instead of getting redirection to https.
When I use https://mydomain.com, it works as expected, i.e. response from ingress resource is rendered.
Did I configure nginx ingress correctly? What am I missing? Thank you.
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.