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

能否利用AWS免费额度通过ELB为EC2上的ABC.com配置HTTPS?

嘿,这个需求完全可以用AWS的免费资源搞定,而且不需要额外付费,我给你梳理下具体的实现步骤,都是基于免费额度内的服务:

核心思路

用**Application Load Balancer(ALB)**结合AWS Certificate Manager(ACM)的免费SSL证书,通过ALB的主机头路由规则,只把ABC.com的流量引导到EC2实例,其他域名(DEF.com、XYZ.com)保持原有的直接访问方式,完全不影响它们的HTTP服务。

1. 申请免费的SSL证书(ACM)

  • 登录AWS控制台,进入**Certificate Manager(ACM)**服务,一定要选择和你的EC2实例相同的AWS区域(ALB和证书必须同区域,否则无法绑定)。
  • 点击「请求证书」,选择「请求公有证书」,输入ABC.com(如果需要支持www.ABC.com可以一起添加,都是免费的)。
  • 验证方式选DNS验证,AWS会生成对应的CNAME记录,你到域名的DNS服务商后台添加这条记录就行,等待ACM验证通过(一般几分钟搞定)。证书验证通过后就可以用了,完全免费。

2. 创建Application Load Balancer(ALB)

  • 进入EC2控制台,选择「负载均衡器」,点击「创建负载均衡器」,选「Application Load Balancer」。
  • 基本配置:给ALB起个好记的名字,选择「面向互联网」,IP地址类型选IPv4。
  • 网络映射:选择和EC2实例相同的VPC,至少选两个可用区(符合AWS免费额度要求,还能保证高可用),每个可用区选一个子网。
  • 安全组:新建一个安全组,开放80(HTTP)和443(HTTPS)端口,允许所有公网IP访问(0.0.0.0/0)。
  • 监听和路由:
    • 先配置443端口:协议选HTTPS,端口443,然后选择刚才在ACM申请的证书。接着创建新目标组,目标类型选「实例」,填好目标组名称,协议选HTTP,端口填你EC2上网站服务的端口(一般是80),最后把你的EC2实例添加到目标组里完成创建。
    • 再配置80端口:协议选HTTP,端口80,建议直接配置重定向到HTTPS,规则选「重定向到HTTPS」,端口443,这样用户访问http://ABC.com会自动跳转到HTTPS。

3. 配置ALB的主机头路由规则(关键步骤!)

  • 回到ALB的监听器页面,找到443端口的监听器,点击「查看/编辑规则」。
  • 删除默认的全匹配规则,点击「添加规则」,选择「主机头」条件,输入ABC.com(如果支持www的话,点击「添加主机头」再输入www.ABC.com)。
  • 然后添加「转发到」动作,选择刚才创建的目标组,保存规则。
  • (可选)80端口的监听器如果配置了重定向,也可以添加主机头条件,只对ABC.com的HTTP请求做重定向——不过因为其他域名的DNS不会指向ALB,不配置也不影响。

4. 修改ABC.com的DNS解析

  • 登录你的域名服务商控制台,找到ABC.com的DNS记录,把原来指向EC2公网IP的A记录改成CNAME记录,指向ALB的DNS名称(在ALB详情页面就能找到)。
  • 等待DNS生效(一般几分钟到几小时),之后访问ABC.com就会走ALB的HTTPS通道了。

5. 验证配置和注意事项

  • 访问https://ABC.com,检查浏览器地址栏的锁图标,确认证书有效、网站正常加载。
  • 确认DEF.com和XYZ.com仍然可以通过原来的HTTP方式访问,不受任何影响。
  • 免费额度说明:ALB在AWS免费套餐内每月有750小时的使用时长(和EC2的免费时长对应),只要你的EC2是在免费额度内,ALB的使用也不会超额度;ACM的SSL证书完全免费,没有额外费用。
  • EC2安全组调整:确保EC2的安全组允许ALB的安全组访问HTTP端口(80),同时保留原来的规则允许公网访问80(给DEF.com和XYZ.com的流量)。

内容的提问来源于stack exchange,提问作者Rasikh Mashhadi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:35:28