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

AWS EKS aws-load-balancer-controller自定义TLS证书x509错误及配置问题

已有自有TLS证书是否需要安装cert-manager

不需要。cert-manager的核心作用是自动化完成证书的签发、续期操作,你已经持有可用的自有TLS证书,可直接手动导入使用,无需部署cert-manager。
你当前遇到的x509报错与业务TLS证书无关,是aws-load-balancer-controller的webhook服务证书不匹配导致:该webhook是控制器内部用来和Kubernetes APIServer通信的组件,默认需要证书对aws-load-balancer-webhook-service.kube-system.svc域名生效,你使用的*.corp证书没有覆盖该内部域名,因此触发报错。

修复x509报错

按以下步骤操作即可解决:

  • 先卸载当前已安装的aws-load-balancer-controller,清理残留的webhook配置:
    kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io aws-load-balancer-webhook
    kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io aws-load-balancer-webhook
    
  • 重新安装控制器时,建议直接开启控制器自带的自签webhook证书功能,该自签证书仅用于集群内部通信,不会影响对外业务的TLS配置,无需对接你的自有业务CA。

配置带自有TLS证书的流量路由

按以下步骤操作即可实现:

  • 将你持有的自有业务TLS证书导入到AWS Certificate Manager(ACM)中,记录对应证书的ARN
  • 编写Ingress资源配置文件,示例如下:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: business-ingress
      annotations:
        alb.ingress.kubernetes.io/scheme: internet-facing
        # Fargate场景下必须指定target-type为ip
        alb.ingress.kubernetes.io/target-type: ip
        alb.ingress.kubernetes.io/certificate-arn: "替换为你导入ACM的证书ARN"
        alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
        alb.ingress.kubernetes.io/ssl-redirect: "443"
    spec:
      ingressClassName: alb
      rules:
      - host: 替换为你的业务域名(需在证书的SAN范围内)
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: 替换为你的后端业务服务名
                port:
                  number: 替换为服务端口
    
  • 执行kubectl apply -f 配置文件名.yaml即可,控制器会自动生成对应ALB,绑定你的TLS证书,实现HTTPS加密流量转发。

注意:业务域名必须与你导入ACM的证书覆盖的域名一致,否则用户访问时仍会触发证书不匹配报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:36:00