You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes Nginx Ingress未关联已颁发的通配符域名SSL证书

证书未与域名关联的排查方案

根据你提供的Ingress和Certificate配置,证书已成功颁发但Nginx未加载,可从以下几个方向排查:

1. 验证IngressClassName是否匹配正确的Nginx Controller

你的Ingress使用了自定义ingressClassName: test-ingress-class,需确认该IngressClass对应的是负责处理TLS的Nginx Ingress Controller:

  • 查看集群中的IngressClass列表:
    kubectl get ingressclass
    
  • 检查test-ingress-class的定义,确认其controller字段指向的是cert-manager集成的Nginx Controller(通常为k8s.io/ingress-nginx):
    kubectl describe ingressclass test-ingress-class
    

如果IngressClass不匹配,Nginx Controller会忽略该Ingress,自然不会加载对应的证书。

2. 确认证书Secret的有效性

虽然Certificate状态显示Ready,但需验证Secretk8s-tls-secret中确实包含有效的证书和密钥:

  • 查看Secret的内容:
    kubectl get secret k8s-tls-secret -o yaml
    
  • 解码证书内容验证是否为LetsEncrypt颁发:
    kubectl get secret k8s-tls-secret -o jsonpath='{.data.tls\.crt}' | base64 -d | openssl x509 -text -noout
    

若Secret中缺少tls.crt或tls.key,或证书内容不正确,Nginx会 fallback 到默认自签名证书。

3. 检查Ingress的TLS配置与实际访问域名是否匹配

你提到配置的是通配符域名,但Ingress的TLS hosts字段仅填写了test.domain.com(单个域名):

  • 若实际访问的是通配符域名(如*.domain.com),需将Ingress的TLS hosts改为通配符格式:
    tls:
    - hosts:
      - "*.domain.com"
      secretName: k8s-tls-secret
    

同时需确保Certificate的dnsNames也包含通配符域名(当前Certificate的dnsNames是test.domain.com,需同步修改)。域名不匹配时,Nginx无法找到对应证书,会使用默认证书。

4. 查看Nginx Ingress Controller日志

检查Controller的运行日志,排查证书加载失败的具体原因:

  • 找到Nginx Controller所在的命名空间(通常为kube-system或ingress-nginx):
    kubectl get pods -A | grep nginx-ingress
    
  • 查看Pod日志:
    kubectl logs -n <命名空间> <nginx-controller-pod-name>
    

日志中若出现"secret not found"、"invalid certificate"等关键词,可定位具体问题。

5. 检查Ingress的事件状态

查看Ingress的事件记录,确认cert-manager是否成功将证书关联到Ingress:

kubectl describe ingress test-ingress

若Events中没有证书相关的成功关联记录,可能是Ingress与cert-manager的联动出现异常,可尝试删除Ingress后重新创建。

6. 验证microk8s插件配置

确保microk8s已正确启用Ingress和cert-manager插件:

  • 查看已启用的插件:
    microk8s status
    
  • 若未启用,执行启用命令:
    microk8s enable ingress cert-manager
    

同时确认ClusterIssuertest-cluster-issuer的ACME挑战配置正常(如HTTP-01或DNS-01挑战是否成功完成)。


内容的提问来源于stack exchange,提问作者infinite_loop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:50:41