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

CloudFront无法连接Lambda@Edge源及自定义域名故障排查求助

问题排查与解决方案

一、CloudFront直连链接出现“CloudFront could not contact origin”错误

你提到已经配置了指向Lambda ARN的CloudFront分发,但测试时遇到源站无法连接的错误,结合Lambda作为CloudFront源的常见配置场景,可能的原因和排查步骤如下:

  • Lambda权限配置缺失:
    CloudFront需要有调用Lambda函数的权限,如果你直接将Lambda ARN作为源(或使用Lambda函数URL),需要确保Lambda的资源策略允许CloudFront访问。比如,在Lambda的资源策略中添加允许cloudfront.amazonaws.com服务主体调用该函数的语句;同时如果用了Lambda函数URL,要确认函数URL的访问权限不是“私有”(除非你配置了CloudFront的OIDC身份验证来访问私有函数URL)。

  • 源配置类型错误:
    CloudFront不能直接将Lambda ARN作为自定义源的地址——正确的做法是:

    1. 如果用Lambda函数URL,选择“自定义源”,输入函数URL的完整域名(比如https://xxxx.lambda-url.us-east-1.on.aws/),而不是ARN;
    2. 如果用Lambda@Edge,不需要在源里配置ARN,而是在CloudFront的“行为”设置中关联对应的Lambda@Edge函数(注意Lambda@Edge函数必须部署在us-east-1区域)。
  • Lambda部署区域或VPC限制:
    如果你把Lambda部署到了VPC中,需要确保VPC的安全组和网络ACL允许CloudFront的IP范围访问Lambda所在的子网;另外,Lambda@Edge的触发函数必须在us-east-1区域,否则无法关联到CloudFront分发。

  • CloudFront分发未完成部署:
    CloudFront分发的配置变更需要5-15分钟才能同步到全球边缘节点,如果你刚修改完配置就测试,可能还在部署过程中,建议等待一段时间后再重试。

二、自定义域名devrx01.centari.io无法使用

既然已经把域名迁移到AWS,但自定义域名完全无法访问,甚至没有错误提示,大概率是DNS或CloudFront的域名配置问题,排查方向如下:

  • Route 53 DNS记录未正确配置:
    登录Route 53控制台,检查对应托管区中是否存在devrx01.centari.io的记录:

    • 推荐创建A记录(别名类型),直接指向你的CloudFront分发域名(d298egxp5ql8u2.cloudfront.net);
    • 确认记录的状态是“正常”,没有配置错误的TTL或目标地址。
  • CloudFront未添加自定义域名到备用域名列表:
    进入CloudFront分发的设置页面,检查“备用域名(CNAMEs)”中是否已经添加了devrx01.centari.io——如果没有添加,CloudFront会拒绝该域名的请求,导致无法访问。

  • SSL证书配置问题:
    自定义域名需要绑定由AWS Certificate Manager(ACM)颁发的SSL证书,且证书必须部署在us-east-1区域(无论你的CloudFront分发在哪个区域):

    • 确认证书已经包含devrx01.centari.io作为SAN(主题备用名称);
    • 检查证书是否已经生效,没有过期或被吊销;
    • 在CloudFront分发的“自定义SSL证书”选项中,已经选择了正确的ACM证书。
  • DNS传播延迟:
    域名迁移到Route 53后,DNS记录的全球传播可能需要一段时间(取决于原域名的TTL设置),如果刚完成迁移,建议等待1-2小时后再测试,或者使用nslookup或dig命令检查域名是否已经解析到CloudFront的IP。

内容的提问来源于stack exchange,提问作者Dr.Knowitall

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:31:33