公共/私有子网EC2与ALB间SSL配置问题咨询
公共子网EC2的ALB-EC2 SSL配置疑问解答
- 无法用EC2的
amazonaws.com域名申请Let's Encrypt证书的核心原因:amazonaws.com归属亚马逊,你无该域名的管理权限,Let's Encrypt的域名所有权验证(HTTP-01/DNS-01)无法通过,因此确实无法直接为这类官方域名生成公网可信证书。 - 你创建
ec2.domain.org子域名绑定EC2 IP的方案是合理的,不属于冗余操作——这是用公网可信证书实现ALB-EC2 SSL通信的标准路径之一。 - 无需自定义子域名的替代方案:
- ACM私有证书方案:在VPC内部署AWS Certificate Manager(ACM)私有证书颁发机构(CA),为EC2的私有DNS名称(如
ip-10-0-1-2.us-east-1.compute.internal)或amazonaws.com后缀域名签发私有证书。这类证书仅在你的VPC内部可信,适合内部SSL通信,无需公开域名验证。 - 自签名证书方案:自行生成自签名SSL证书部署到Nginx,但需在ALB目标组中配置信任该证书(或关闭证书验证,不推荐严格安全场景)。
- ACM私有证书方案:在VPC内部署AWS Certificate Manager(ACM)私有证书颁发机构(CA),为EC2的私有DNS名称(如
私有子网EC2的ALB-EC2 SSL严格配置步骤
- 证书部署:
- 可选方案1:用ACM私有证书为EC2私有DNS或自定义内部域名签发证书,部署至EC2的Nginx。
- 可选方案2:生成自签名证书,配置Nginx使用该证书。
- Nginx配置:
编辑Nginx配置文件,监听443端口并启用SSL:server { listen 443 ssl; server_name 你的EC2私有DNS或内部域名; ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key; # 其他反向代理相关配置... } - 安全组配置:
- EC2安全组:仅允许ALB所在安全组访问443端口,拒绝所有其他来源流量(若严格禁止HTTP,需关闭80端口的访问权限)。
- ALB安全组:允许外部流量访问自身HTTPS(443)端口,同时允许访问EC2的443端口。
- ALB目标组配置:
- 协议选择
HTTPS,端口设置为443。 - 若使用私有证书或自签名证书,需在目标组“高级设置”中开启“信任证书”,并将对应CA证书导入ALB信任存储,确保ALB能验证EC2的SSL证书有效性。
- 协议选择
- VPC路由配置:
确保ALB所在的公共子网路由表包含指向私有子网的路由(默认VPC路由表已包含同VPC内的路由,无需额外配置)。
内容的提问来源于stack exchange,提问作者vincentsty
相关产品推荐
相关产品推荐

