我想用TLS保护我的K8s应用程序。我使用Let's Encrypt生成了2个SSL证书:一个用于kamerbaas.nl,另一个用于gateway.kamerbaas.nl。我为每个域的文件tls.crt和tls.key创建了两个秘密。
我的Ingress的YAML文件如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: gateway-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
tls:
- hosts:
- gateway.kamerbaas.nl
secretName: gateway.kamerbaas.nl
- hosts:
- kamerbaas.nl
secretName: kamerbaas.nl
rules:
- host: gateway.kamerbaas.nl
http:
paths:
- path: /*
backend:
serviceName: kb-gateway
servicePort: 80
- host: kamerbaas.nl
http:
paths:
- path: /*
backend:
serviceName: kb-frontend
servicePort: 80
问题:当我去https://gateway.kamerbaas.nl时,它有效;它显示绿色锁定。然而,当我转到https://kamerbaas.nl时,它说它不安全,因为它试图使用gateway.kamerbaas.nl的证书。
我已经排除了它存在缓存问题的可能性,并且我确保我没有混合我的证书文件。我100%确定秘密是正确的。
为什么kamerbaas.nl尝试使用gateway.kamerbaas.nl的证书?
聚苯乙烯。 gateway.kamerbaas.nl有一个使用HTTPS运行的节点表达服务器。我也在那里装了我的证书。 kamerbaas.nl有一个没有https的节点服务器,这可能是问题吗?我猜测它并不重要,因为我的Ingress规则只指向我的服务的端口80,这是不安全的HTTP的端口。