AWS HTTPS域名路由至EKS创建的负载均衡器不生效问题咨询
排查方向及解决方案
1. ACM证书关联配置核查
- 确认负载均衡器HTTPS监听器绑定的ACM证书ARN正确,且证书的SAN条目确实包含
server.domain.com,避免误绑定其他域名的证书 - 确认证书所属区域与负载均衡器所属区域完全一致,ACM证书不支持跨区域直接关联负载均衡(例如证书存放在us-east-1、负载均衡在ap-southeast-1的场景下关联会失效)
2. EKS侧资源配置核查
2.1 LoadBalancer类型Service配置校验
检查Service的annotations配置是否符合HTTPS开启要求,核心配置参考:
annotations: service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "替换为你的ACM证书完整ARN" service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443" # 需和LB对外暴露的HTTPS端口一致 service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http" # 后端服务如果未开启HTTPS则填http,否则填https
重点校验ssl-ports指定的端口是否和LB监听器的HTTPS端口匹配,避免LB将HTTPS流量转发到后端HTTP端口导致握手失败。
2.2 端口映射校验
你提到的服务端口映射为5000:30385,需确认:
- LB的HTTPS监听器转发规则将443端口流量正确转发到后端目标组的5000端口
- EKS工作节点安全组已放行负载均衡器的IP段对30385端口的入站访问
- 对应目标组的健康检查配置正常,实例状态均为
healthy
2.3 Ingress配置校验(若使用ALB Ingress)
- 检查Ingress规则的host字段是否匹配
server.domain.com - 检查Ingress的tls配置块是否关联了正确的ACM证书
- 确认ALB Ingress Controller pod处于正常运行状态,无报错日志
3. SSL握手故障定位
在本地客户端执行命令直接探测SSL握手状态,根据返回错误定位问题:
openssl s_client -connect server.domain.com:443 -servername server.domain.com
- 若返回证书不匹配:回到证书关联步骤重新核查证书绑定配置
- 若返回连接超时:重新核查LB安全组是否放行了客户端IP对443端口的入站访问
- 若返回连接重置:优先检查目标组健康状态,不健康的目标组会被LB直接拒绝请求
4. 特殊场景排查
- 确认是否配置了AWS WAF、Shield防护规则拦截了HTTPS请求,可临时关闭相关规则测试
- 确认
server.domain.com的DNS解析记录确实指向当前EKS创建的负载均衡器的CNAME/IP,避免解析到历史旧资源
内容的提问来源于stack exchange,提问作者Omar Ghanim
相关产品推荐
相关产品推荐

