并非所有浏览器都信任SSL证书

时间:2019-07-10 13:47:23

标签: azure kubernetes azure-kubernetes

我们在aks实例上安装了DigiCert的通配符证书,并且该证书在IE和Chrome上运行正常,但是firefox遇到了很多问题,不信任该站点。当我通过SSL Checker运行网站时,它表示

The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate.

以下是最初安装证书的说明:

将SSL证书安装到每个命名空间中 从pfx文件导出证书 为此,您将需要openssl。这是我在Windows 10中安装和使用它的最佳资源。

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.txt

打开.txt文件并删除标头(即从----- BEGIN CERTIFICATE -----一直保留到底部)

从pfx文件中导出私钥

openssl pkcs12 -in filename.pfx -nocerts -out key.txt

打开.txt文件并删除标题(即从----- BEGIN加密私钥-----保留到底部)

从私钥中删除密码

openssl rsa -in key.txt -out server.txt

创建秘密 通过azure的cli连接到kube,然后运行命令:

az aks get-credentials -g aks-rg -n clustername

将kube合并到您的kubectl cli。

如果需要删除以前安装的证书,则应运行以下命令:

kubectl delete secret clustername-tls --namespace dev
kubectl delete secret clustername-tls --namespace test
kubectl delete secret clustername-tls --namespace uat
kubectl delete secret clustername-tls --namespace prod

要创建新证书,请执行以下操作:

kubectl create secret tls clustername-tls --key server.txt --cert cert.txt --namespace dev
kubectl create secret tls clustername-tls --key server.txt --cert cert.txt --namespace test
kubectl create secret tls clustername-tls --key server.txt --cert cert.txt --namespace uat
kubectl create secret tls clustername-tls --key server.txt --cert cert.txt --namespace prod

正确安装中间证书遗漏了什么?

1 个答案:

答案 0 :(得分:0)

您是否将此秘密用作tls-secret在入口中。

您必须使用入口控制器实现入口,并且必须在路径内的位置使用您的秘密。

您可以按照本指南使用cert-manager设置ingress-nginx控制器。

ingress nginx将充当负载平衡器,并将应用程序公开给Internet。 certmanager将作为ssl和tls证书的管理者。

cert-manager自动生成并管理ssl证书。

请遵循以下命令:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nginx-ingress-with-cert-manager-on-digitalocean-kubernetes