Traefik kubernetes 多个 SSL 证书
Traefik kubernetes multiple SSL certificates
我在我的 Kubernetes 集群上使用 Traefik 作为反向代理,我正在寻找一种使用多个 SSL 证书的方法。
According to the doc,无法使用多个 TLSStore,我必须只使用 default
存储。
例如,我有两个域 app1.com
和 app2.com
以及两个 *.app1.com
和 *.app2.com
的证书,Traefik 使用秘密 app1-com-ssl
和 app2-com-ssl
,是否可以将这两个证书存储在同一个默认 TLSStore 中?
这里是我的 TLSStore 定义:
apiVersion: traefik.containo.us/v1alpha1
kind: TLSStore
metadata:
name: default
namespace: app1
spec:
defaultCertificate:
secretName: app1-com-ssl
这是我的 IngressRoute 用于 app1
:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: routes
namespace: app1
spec:
entryPoints:
- websecure
- web
routes:
- match: Host(`test.app1.com`)
kind: Rule
services:
- name: test-service
port: 8080
tls:
store:
name: default
这是我的 IngressRoute app2
:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: routes
namespace: app2
spec:
entryPoints:
- websecure
- web
routes:
- match: Host(`test.app2.com`)
kind: Rule
services:
- name: test-service
port: 8080
tls:
store:
name: default
谢谢!
好问题。 TLSStore 目前不支持多个证书,它只支持 'default certificate'。正如您已经看到的,您只能指定一个 'default' TLSStore.
Traefik 配置允许您specify multiple certificates for the 'default' TLSStore (But not the K8s CRD) I have opened a feature request 为 Traekik TLSStore CRD 添加对多个证书的支持。
✌️
我在我的 Kubernetes 集群上使用 Traefik 作为反向代理,我正在寻找一种使用多个 SSL 证书的方法。
According to the doc,无法使用多个 TLSStore,我必须只使用 default
存储。
例如,我有两个域 app1.com
和 app2.com
以及两个 *.app1.com
和 *.app2.com
的证书,Traefik 使用秘密 app1-com-ssl
和 app2-com-ssl
,是否可以将这两个证书存储在同一个默认 TLSStore 中?
这里是我的 TLSStore 定义:
apiVersion: traefik.containo.us/v1alpha1
kind: TLSStore
metadata:
name: default
namespace: app1
spec:
defaultCertificate:
secretName: app1-com-ssl
这是我的 IngressRoute 用于 app1
:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: routes
namespace: app1
spec:
entryPoints:
- websecure
- web
routes:
- match: Host(`test.app1.com`)
kind: Rule
services:
- name: test-service
port: 8080
tls:
store:
name: default
这是我的 IngressRoute app2
:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: routes
namespace: app2
spec:
entryPoints:
- websecure
- web
routes:
- match: Host(`test.app2.com`)
kind: Rule
services:
- name: test-service
port: 8080
tls:
store:
name: default
谢谢!
好问题。 TLSStore 目前不支持多个证书,它只支持 'default certificate'。正如您已经看到的,您只能指定一个 'default' TLSStore.
Traefik 配置允许您specify multiple certificates for the 'default' TLSStore (But not the K8s CRD) I have opened a feature request 为 Traekik TLSStore CRD 添加对多个证书的支持。
✌️