Search code examples
sslkubernetesgoogle-kubernetes-enginekubernetes-ingress

How to force SSL for Kubernetes Ingress on GKE


Is there a way to force an SSL upgrade for incoming connections on the ingress load-balancer? Or if that is not possible with, can I disable port :80? I haven't found a good documentation pages that outlines such an option in the YAML file. Thanks a lot in advance!


Solution

  • https://github.com/kubernetes/ingress-gce#frontend-https

    You can block HTTP through the annotation kubernetes.io/ingress.allow-http: "false" or redirect HTTP to HTTPS by specifying a custom backend. Unfortunately GCE doesn't handle redirection or rewriting at the L7 layer directly for you, yet. (see https://github.com/kubernetes/ingress-gce#ingress-cannot-redirect-http-to-https)

    Update: GCP now handles redirection rules for load balancers, including HTTP to HTTPS. There doesn't appear to be a method to create these through Kubernetes YAML yet. But keep in mind this doesn't apply for L7 (internal) load balancers.