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

配置CloudFront访问Lambda Function URL返回403 Forbidden求助

Lambda Function URL 搭配 CloudFront 出现403 AccessDeniedException 的排查方案

以下是几个最可能的配置遗漏点,按优先级排序:

1. Lambda Function URL 未授权 CloudFront 访问

直接调用Lambda Function URL正常,但通过CloudFront访问被拒,核心原因几乎都是Lambda的资源策略没有允许CloudFront的服务调用。默认的Function URL策略仅允许直接的用户请求,需要手动添加授权规则:

在Lambda控制台的"配置"->"Function URL"->"资源策略"中,添加如下语句(替换占位符为你的实际信息):

{
  "Effect": "Allow",
  "Principal": {
    "Service": "cloudfront.amazonaws.com"
  },
  "Action": "lambda:InvokeFunctionUrl",
  "Resource": "arn:aws:lambda:你的Lambda区域:你的AWS账号ID:function:你的Lambda函数名",
  "Condition": {
    "StringEquals": {
      "AWS:SourceArn": "arn:aws:cloudfront::你的AWS账号ID:distribution:你的CloudFront分配ID"
    }
  }
}

这条策略的作用是仅允许指定的CloudFront分配调用该Function URL,避免无授权的访问。

2. CloudFront 源站类型配置错误

检查CloudFront源站设置中的源站类型是否选择了「自定义源」,而非S3或其他类型。Lambda Function URL属于自定义HTTP源,若选错类型,CloudFront会使用错误的请求格式与源站交互,直接导致403。

3. 源站请求策略的潜在冲突

虽然你使用了AllViewer策略,但少数情况下,过多的请求头转发可能触发Lambda的安全限制。可以尝试临时切换为Managed-AllViewerExceptHostHeader策略,验证是否是头信息导致的问题。不过此情况概率较低,优先排查前两点。

内容的提问来源于stack exchange,提问作者ndk-fj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 13:54:21