Open Seb-C opened 3 years ago
Relaying HTTPS all the way through to the endpoint with termination is indeed not possible right now. See also the implications described by me in https://github.com/digitalocean/digitalocean-cloud-controller-manager/issues/351#issuecomment-706657208.
We originally used #351 to track work on supporting the feature in question. That ticket is sort of overloaded with another, more specific request, however, so let's use this ticket instead.
OK, Thanks. Can I expect this to be supported any time soon?
@Seb-C there's no specific timeline yet, though overall the request should be fairly simple to implement by introducing yet another annotation.
To better understand your use case, could you elaborate why HTTPS-to-HTTP isn't a good option for you? (Note that the target/backend part of the LB request runs through the VPC, so no man-in-the-middle sitting on the public Internet should be able to sniff on your traffic.)
I have do doubt that DO's infrastructure is as reliable as possible, but I feel better giving my users more security when possible, that is the only reason. You never know what could happen.
To be honest one of the main selling points for the LB to me was that I did not want to manage the certificate myself (I can probably handle the balancing in my cluster for now anyway), but now I just discovered that there is a certbot/dns-digitalocean
script and docker image, so I am currently reconsidering my choice.
I think this is still a valid issue even if I may not need it anymore.
@Seb-C thanks for elaborating. I believe your point is quite valid.
Regardless or not whether you might still need / want HTTPS-to-HTTPS routing, I'll keep the issue open since a few other folks have asked for it as well.
Appreciate the feedback.
@timoreimann Would love to see this as well, compliance rules do dictate we use SSL inside our infrastructure, as well from requests coming from outside.
I am trying to setup a basic Load-Balancer using kubernetes. I tried everything and looked at every configuration and even in the source code, but I cannot figure out how to achieve the configuration I want.
What I want to achieve is this:
Note that this is not a passthrough. The load-Balancer unencrypts the request using the certificate in my account, then re-sends it via HTTPS to my pod using a self-signed certificate.
When I set this up manually via the interface, it works well. However it does not seem to be possible using Kubernetes. The kubernetes service always create this setup:
So it tries to do HTTP on my port 443 and it does not work (note: In this example I redacted the real target port so it’s easier to understand).
This seems to be because of this part of the code: https://github.com/digitalocean/digitalocean-cloud-controller-manager/blob/e4fb291b26487b16367af97b1e625ddc982caae7/cloud-controller-manager/do/loadbalancers.go#L862
Here is my current Kubernetes service for reference: