After adding https with a cert to my load balancer, I’m able to visit my site and see my cert, but the response is 503 “No server is available to handle this request”.

I’m using managed k8s from digital ocean and previously the load balancer setup is tcp 80 -> tcp 30191, I just changed it to http.

Rules I have on load balancer:

http 80 -> http 30191
https 443 -> (my cert) -> http 80

And (without s) is still working fine.

I did some searching and it seems I need to set https up as ingress in k8s, but I don’t understand why this can’t be done by just adding the https configuration on the load balancer directly like in my screenshot.

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.

Submit an Answer
1 answer

Hi there!

DOKS manages Loadbalancers provisioned by Kubernetes services and their configurations are reflecting the settings of the service. Simply modifying the LB via the cloud panel is a manual change that will be overwritten by the cluster when the LB settings are reconciled by the Cloud Controller Manager[]. TO make lasting configuration changes to the LB’s I would recommend reading the documentation here that discusses DOKS LB configuration via service annotations:

Hope this helps!


John Kwiatkoski
Senior Developer Support Engineer - Kubernetes