【问题标题】:How can I enable SSL for Kubernetes services?如何为 Kubernetes 服务启用 SSL?
【发布时间】:2020-06-13 18:54:03
【问题描述】:

我有一个带有公共服务端点的 Spring Boot 应用程序的 Google Kubernetes Engine。但我想将端点从 http://... 更改为安全的 https://...

例如: https://xx.xxx.xx.xxxx:8085/getAllStudent 而不是 http://xx.xxx.xx.xxxx:8085/getAllStudent

我该如何解决这个问题?

【问题讨论】:

    标签: spring-boot google-app-engine google-cloud-platform google-kubernetes-engine


    【解决方案1】:

    看起来您正在使用 NodePort 类型的服务。如果你想通过这个端口接受 HTTPS,你背后的服务只需要打开一个 HTTPS 服务器而不是一个 HTTP 服务器。

    不推荐像这样使用 NodePort,而是在 Kubernetes 中使用正确的 Ingress 功能,以便通过主机名公开服务。然后,Ingress 支持提供可用于加密通过 HTTPS 的流量的 SSL 证书。

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: tls-example-ingress
    spec:
      tls:
      - hosts:
        - sslexample.foo.com
        secretName: testsecret-tls
      rules:
        - host: sslexample.foo.com
          http:
            paths:
            - path: /
              backend:
                serviceName: service1
                servicePort: 80
    

    【讨论】:

      猜你喜欢
      • 2011-01-18
      • 2016-10-09
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-10
      • 2019-01-30
      • 2016-10-19
      • 1970-01-01
      相关资源
      最近更新 更多