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

借助AWS CloudFront实现HTTPS连接的最优方案咨询

最优方案:基于CloudFront+ELB+ASG实现HTTPS访问

核心架构逻辑

既然已经用CloudFront提供对外的HTTPS入口,最优路径是让CloudFront作为唯一的公网访问端点,流量经CloudFront转发到ELB,再由ELB分发到ASG内EC2实例的3000端口。同时要收紧安全组权限,避免不必要的公网暴露。

具体配置步骤

1. 调整CloudFront分发设置

  • 源配置:将源域名设为你的ELB官方DNS名称,源端口选择80(后续ELB会把80端口的流量转发到EC2的3000端口)。
  • 源协议策略:选HTTP only——CloudFront对外用HTTPS,和ELB之间用HTTP即可,简化配置。
  • 缓存行为规则:针对路径/*设置查看器协议策略为Redirect HTTP to HTTPS,强制所有用户走HTTPS访问。
  • SSL证书:直接使用CloudFront提供的默认证书,或者在AWS Certificate Manager(ACM)中申请并部署到CloudFront的证书,确保HTTPS生效。

2. 配置ELB转发规则

  • 添加HTTP监听:在ELB上创建端口80的HTTP监听,将流量转发到目标组。
  • 目标组设置:把目标组的转发端口指定为EC2实例的3000端口,同时配置健康检查路径(比如你的应用/health端点)和端口3000,确保ASG能准确识别实例健康状态。

3. 收紧安全组权限(关键优化)

  • EC2实例安全组:仅允许ELB安全组访问TCP 3000端口,无需对0.0.0.0/0开放3000端口,避免直接公网访问实例。
  • ELB安全组:仅允许来自CloudFront官方IP段(可使用AWS提供的前缀列表com.amazonaws.global.cloudfront.origin-facing)访问TCP 80端口,禁止直接公网访问ELB,确保流量只能通过CloudFront进入。

4. 验证配置有效性

  • 访问CloudFront分配的HTTPS域名,确认能正常加载EC2上3000端口的应用。
  • 尝试直接访问ELB的DNS域名,确认无法通过公网访问,验证流量路径的唯一性。

可选优化项

  • 若需端到端加密,可在ACM申请证书部署到ELB,开启ELB的HTTPS监听,同时将CloudFront的源协议策略改为HTTPS only,实现CloudFront到ELB的加密传输。
  • 针对应用内的静态资源,配置CloudFront缓存规则设置合理缓存时长,减少回源请求,提升访问性能。

内容的提问来源于stack exchange,提问作者Tanmaya Pradhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:30:28