首页 > 解决方案 > 使用 Traefik 在 K8S Ingress 上设置 TLS

问题描述

我的设置与使用 k8s的用户指南没有太大不同。出于某种原因,我只能访问http://app.minikube而不是https://app.minikube.

有人可以看看我的设置,看看我明显缺少什么吗?

apiVersion: v1
kind: Service
metadata:
 name: myapp
 labels:
   app: myapp
spec:
 ports:
 - name: http
   port: 80
   targetPort: 7777
 selector:
   app: myapp
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: myingress
 annotations:
   kubernetes.io/ingress.class: traefik
spec:
 rules:
 - host: app.minikube
   http:
     paths:
     - path: /
       backend:
         serviceName: myapp
         servicePort: http
 tls:
  - secretName: mytls

仅供参考,根据Traefik 用户指南,不需要其中的hosts定义tls,这就是我将其省略的原因。

TLS 配置中的主机字段被忽略。相反,证书提供的域用于此目的。建议不要使用通配符证书,因为它们将全局匹配)

标签: sslhttpskubernetestraefik

解决方案


您缺少以下hosts部分:

  tls:
  - hosts:
    - my-host.example.com
    secretName: my-secret

推荐阅读