某一天,使用 Chrome 访问 Dashboard 时,产生 NET::ERR_CERT_INVALID 错误。
以前出现 NET::ERR_CERT_AUTHORITY_INVALID 错误,还能通过浏览器 Advanced 的 Proceed to xxxx (unsafe) 继续访问。
类似的问题都是因为证书错误导致的。而且 Dashbaord 的证书是自签名的,也会导致浏览器提示证书错误。
根本原因在于:在集群部署时,我们使用自签名证书,导致后续的自动创建的证书都属于自签名证书。
补充说明:以前我们尝试重新生成 Dashboard 证书来解决问题,但繁琐且不正规(因此我们从笔记中删除该方案)。
如果想从根本上解决该问题,那么需要重新签发集群证书,这样才能从根本上解决相关问题。但是成本过高,而且要经过测试验证。
我们选择简单的方法:直接定义 Ingress 资源,并使用 nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" 注解来反向代理 Dashboard 的 HTTPS 端口,由于 Nginx Ingress 默认 nginx.ingress.kubernetes.io/proxy-ssl-verify 为 off,因此不会检查后端 Dashboard 的 TLS 证书,所以也未出现任何错误。
参考 Dashboard 笔记的「通过 Ingress 暴露 Dashboard 服务」部分,以获取 Ingress 资源的配置方法。
「Kubernetes」- 部署 Dashboard 服务(Kubernetes v1.18.9)
「Kubernetes」- 部署 Dashboard 服务(Kubernetes v1.14.0)
「Kubernetes」- 使用 Chrome 访问 Dashboard 时,出现 NET::ERR_CERT_INVALID 错误 @20210510
原文:https://www.cnblogs.com/k4nz/p/14753040.html