无法为AWS负载均衡器创建HTTPS监听器该如何解决?
AWS负载均衡器HTTPS服务配置方案(针对默认DNS域名无法申请ACM证书的场景)
以下是几种可行的解决方法,按生产适用性排序:
1. 使用自定义域名(生产环境首选)
这是最规范的生产级方案,步骤清晰:
- 准备一个你拥有所有权的自定义域名(如
api.yourdomain.com) - 在DNS服务商(推荐Route53)中添加CNAME记录,将自定义域名指向负载均衡器的AWS默认DNS名称
- 在AWS Certificate Manager(ACM)中申请该自定义域名的SSL证书:
- 选择DNS验证(若使用Route53,ACM会自动生成并添加验证记录,一键完成验证)
- 证书签发后,在负载均衡器的HTTPS监听器配置中选择该证书
- 用户通过
https://api.yourdomain.com访问API即可
2. 导入自签名/第三方证书(测试/内部服务场景)
若暂时无自定义域名,可使用自签名证书:
- 用OpenSSL生成自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout private-key.pem -out cert.pem -days 365 -nodes - 将生成的证书和私钥导入ACM:控制台选择「导入证书」,上传对应文件
- 配置负载均衡器HTTPS监听器时选择导入的证书
- 注意:自签名证书不被公共信任,需在客户端手动添加信任,仅适合测试或内部环境
3. 借助CloudFront中转(无需自定义域名且客户端信任证书)
通过CloudFront实现HTTPS接入,同时让客户端信任证书:
- 创建CloudFront分配,源设置为负载均衡器的HTTP端口(如80)
- CloudFront的HTTPS配置选择官方提供的
*.cloudfront.net证书 - 用户通过CloudFront分配的默认域名(如
d123.cloudfront.net)以HTTPS访问,CloudFront负责将请求转发到负载均衡器 - 此方案无需自定义域名,且客户端会信任CloudFront的证书
内容的提问来源于stack exchange,提问作者Richard Lucas
相关产品推荐
相关产品推荐

