You need to enable JavaScript to run this app.
导航

集群中添加或修改了 TLS 证书,但是访问时还是默认证书或旧证书

最近更新时间2023.11.21 19:51:59

首次发布时间2023.11.21 19:51:59

问题现象

集群中已经添加或修改 Secret 且已经在 Ingress 中指定 secretName。此时,访问集群仍然使用默认证书或旧证书,新配置的证书并没有生效。

原因分析

  • 证书不是由集群内 Ingress Controller 返回的。
  • 证书无效,未能被 Controller 正确加载。
  • Ingress Controller 根据 SNI 来返回对应证书,TLS 握手时可能未携带 SNI。

解决方案

  1. 确认建立 TLS 连接时是否携带了 SNI 字段,即证书是否正常加载、是否正常返回给客户端。参考操作方式如下:

    1. 使用支持 SNI 的较新版本浏览器。
    2. 使用openssl s_client命令测试证书时,携带-servername参数。
  2. 通过 kubectl 方式执行以下命令,手动查看 Ingress Pod 错误日志,根据错误日志中相关提示进行修改。

kubectl logs <ingress pod name> -n <pod namespace> | grep -E ^[EW]