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

无法通过CloudFront和域名连接EC2上的ASP.Net服务器

问题诊断与修复方案

核心配置错误

  • CloudFront源端口不匹配:你的ASP.NET服务监听7000(HTTP)和7001(HTTPS),但当前CloudFront是用默认的80/443端口尝试连接源站,这直接导致CloudFront无法和EC2上的服务建立会话,触发502错误。
  • 访问方式错误:你用https://ecomserver.co.za:7001/...访问是完全错误的——CloudFront作为CDN对外只暴露标准443(HTTPS)和80(HTTP)端口,正确的访问路径应该是https://ecomserver.co.za/api/products/4/get,CloudFront会负责转发请求到源站的对应端口。

修复步骤

  1. 修正CloudFront源站设置
    • 登录CloudFront控制台,找到目标分发,进入「源」标签编辑源配置
    • 根据你想要的加密方式设置源端口:
      • 如果选择源协议为HTTPS,将端口设为7001(需确保EC2上的ASP.NET服务7001端口的SSL配置有效)
      • 如果选择源协议为HTTP,将端口设为7000(CloudFront对外仍用HTTPS,仅源站通信用HTTP)
    • 确认源域是EC2公网IPv4 DNS(这部分你已经配置正确)
  2. 验证缓存行为配置
    • 确认缓存行为的「查看器协议策略」为「重定向HTTP到HTTPS」(你已配置,无需修改)
    • 确保允许的HTTP方法覆盖你的API需求(你设置了允许所有,这部分没问题)
  3. 安全组补充验证
    • 虽然你开放了所有入站流量,但如果后续要收紧权限,需确保7000/7001端口允许CloudFront的IP段访问
  4. 等待配置生效
    • CloudFront配置修改后需要10-15分钟全局部署,修改完成后不要立即测试,等待生效时间

额外提醒

  • 永远不要直接在域名后追加源站的非标准端口访问,CloudFront的核心作用之一就是对外隐藏源站的端口细节
  • 确认你的ACM证书是在us-east-1区域创建的(CloudFront要求证书必须部署在该区域,你提到证书有效,大概率没问题,但可以快速验证)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:50:34