如何为AWS EKS公有API服务端端点添加SSL证书
EKS公有端点SSL证书配置方案
AWS EKS默认提供的控制平面域名(https://XXXXXXXXXX070EFAXXXXXXXXXXXX.XXX.us-east-1.eks.amazonaws.com)为AWS托管域名,证书由AWS自动签发维护,用户无法直接为该域名绑定自定义证书。你遇到的证书拦截问题可按以下两种场景处理:
场景1:直接使用AWS默认EKS域名访问
这类场景的证书报错基本由运行环境未信任Amazon EKS根CA导致,无需额外绑定证书,两种解决方案:
- 方案1(生产环境推荐):将EKS集群的CA证书配置到代码HTTP客户端的信任列表中。你可以直接解码本地
~/.kube/config文件里的certificate-authority-data字段值,得到PEM格式的CA证书,配置到客户端即可。示例(Python):
import requests # ca.pem为解码后的CA证书文件路径 response = requests.get("https://你的EKS控制平面域名/api/v1/nodes", verify="/path/ca.pem")
- 方案2(仅测试用):关闭HTTP客户端的SSL证书校验,不同语言客户端均有对应配置项,例如Go语言可配置
http.Transport的TLSClientConfig.InsecureSkipVerify = true。
场景2:需要为EKS访问入口绑定自定义SSL证书
如果你确实需要自定义访问域名并绑定自有证书,可通过反向代理实现覆盖/*所有路径的SSL加密:
- 第一步:申请你自定义域名的SSL证书,确保域名所有权验证通过
- 第二步:部署ALB或Nginx作为反向代理,后端地址指向默认EKS控制平面域名,将申请好的证书绑定到反向代理的HTTPS监听器/配置段
- 第三步:配置反向代理透传所有请求路径、请求头,即可通过自定义域名带自定义证书访问EKS所有接口
内容的提问来源于stack exchange,提问作者Hamza J
相关产品推荐
相关产品推荐

