By patrycjusz
Hi there!
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.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
I had the same issue, using the same YAML as you. I solved it by adding the following annotation
service.beta.kubernetes.io/do-loadbalancer-protocol: “http”
This sets the correct forwarding rules protocol in the load balancer and the http to https now works
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.