-----BEGIN CERTIFICATE-----
<put your certificate value in a single line >
-----END CERTIFICATE-----
-----BEGIN INTERMEDIATE CERTIFICATE-----
<put your certificate value in a single line>
-----END INTERMEDIATE CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<put your certificate value in a single line >
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<put your **intermediate** certificate value in a single line>
-----END CERTIFICATE-----
7条答案
按热度按时间qvsjd97n1#
如果您在Kubernetes TLS Ingress配置中的
tls.cert
密钥中添加多个证书。请这样做否则,你会在ssl证书链验证中得到一个错误。
始终将主证书放在第一位。
bt1cpqcv2#
必须将其附加到证书值。就像nginx一样。
egmofgnx3#
使用此命令创建证书
kubectl create secret generic tlscert_with_ca --from-file=tls.crt=your_cert.crt --from-file=tls.key=your_key.key --from-file=ca.crt=your_ca.crt
顺便说一句,
your_ca.crt
也可以是中间证书对我来说,nginx-inginx-controller中的cert应该是这样的
参考official doc
cpjpxq1n4#
萨兰为我提出的解决方案,除了我不得不在第二部分中删除“中间”
遵循萨兰的指示=>始终将主证书放在第一位。
carvr3hs5#
中间SSL证书(
ca.intermediate.crt
)作为第二个证书包含在k8stls.crt
字段中。tls.crt
包含三个文件,由\n
分隔:server.crt
、ca.intermediate.crt
和ca.crt
。下面是一个设置证书的Ansible任务:
gr8qqesn6#
假设:您有三个文件:
openssl x509 -inform DER -in root_cert.cer -out root_cert.pem -outform PEM
openssl x509 -inform DER -in interm_cert.cer -out interm_cert.pem -outform PEM
如果命令1和2不起作用,证书文件可能已经是pem格式。在这种情况下,您可以跳过步骤1和2。
cat root_cert.pem interm_cert.pem > full.pem
kubectl create secret tls tls-ssl-ingress -n ingress --cert=/path/to/full.pem --key=/path/to/privkey.pem
secrets(在步骤中称为 tls-ssl-ingress)名称应与ingress的部署文件中指定的名称匹配。
s3fp2yjn7#
在crt文件中,按以下顺序添加证书:
要立即应用更改,请重新启动nginx控制器(假设您正在使用此ingress控制器):