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

如何将AWS CloudFront HTTPS流量转发至HTTP协议的EC2实例

问题描述

我有一台EC2实例,其上运行着一个简单的React Web应用,部署在Nginx之后(监听80端口)。目前可通过EC2实例的公网IP访问该应用,但因使用HTTP协议,希望将整个链路切换为HTTPS。

已创建CloudFront分配并关联AWS SSL证书,同时配置Route 53将某域名的流量转发至该分配,但CloudFront流量无法转发至EC2实例,猜测原因是CloudFront用HTTPS而EC2未启用SSL服务,求解决方法。若需AWS配置截图,可提供。

更新信息

浏览器显示错误:

This site doesn't support https

配置背景

  • EC2实例通过curl访问80端口正常(附截图)
  • CloudFront分配配置为仅允许客户端HTTPS访问(附截图)
  • CloudFront分配已配置为转发流量至EC2的80端口(HTTP协议)(附截图)

解决方法

方案一:CloudFront与EC2间用HTTP通信(无需EC2配置SSL)

这种方案无需在EC2部署SSL证书,由CloudFront对外提供HTTPS,内部转发用HTTP,是最简便的实现方式,重点检查以下配置:

  1. CloudFront源配置
    • 源域名填写EC2的弹性IP(避免动态公网IP变化)或公网IP
    • 源端口选80,协议设置为HTTP only
    • 安全组配置:EC2入站规则允许HTTP(80)访问,来源优先选择CloudFront官方前缀列表com.amazonaws.global.cloudfront.origin-facing(更安全),也可临时开放0.0.0.0/0测试是否为安全组限制问题
  2. CloudFront行为配置
    • 确认“源协议策略”设为HTTP only(关键配置,确保CloudFront用HTTP转发请求到EC2的80端口)
    • 已配置的“查看器协议策略”(仅允许HTTPS)保持不变
  3. 生效验证
    • 等待CloudFront配置部署完成(通常需5-10分钟),清除浏览器缓存后重新访问域名

方案二:EC2配置SSL,实现端到端HTTPS

若要求CloudFront到EC2的链路也用HTTPS,需在EC2的Nginx上配置SSL:

  1. 获取SSL证书
    • 可使用Let's Encrypt免费证书,或导出AWS ACM证书(注意ACM公有证书无法直接下载,需用私有CA或第三方证书)
  2. 修改Nginx配置
    • 编辑Nginx站点配置文件(通常在/etc/nginx/conf.d/或/etc/nginx/sites-available/目录下),添加443端口监听:
      server {
          listen 443 ssl;
          server_name 你的域名;
      
          ssl_certificate /path/to/your/cert.pem;
          ssl_certificate_key /path/to/your/private.key;
      
          location / {
              root /path/to/react/build;
              try_files $uri $uri/ /index.html;
          }
      }
      
    • 重启Nginx:sudo systemctl restart nginx
  3. 更新CloudFront配置
    • 源端口改为443,协议设为HTTPS only
    • “源协议策略”设置为HTTPS only
    • EC2安全组开放HTTPS(443)访问,来源配置同方案一

额外排查步骤

若配置后仍报错,可检查:

  • Route 53解析记录是否为A/CNAME类型,且指向CloudFront分配域名(而非EC2公网IP)
  • 用curl -v https://你的域名查看详细请求日志,定位具体错误环节
  • 确认CloudFront分配状态为“已部署”(未部署的配置不会生效)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:46:29