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

CloudFront搭配Lambda Function URL遇POST请求403错误求助

解决CloudFront + Lambda Function URL带Authorization头POST返回403的问题
  • 检查Lambda Function URL的资源策略:Lambda Function URL默认拒绝未授权请求,得在资源策略里明确允许CloudFront访问。可以添加允许cloudfront.amazonaws.com服务主体的语句,或者指定具体CloudFront分发的ARN,确保CloudFront有权限把请求转发到Lambda。
  • 配置CloudFront的源请求策略:只开缓存策略允许Authorization头没用,源请求策略才决定哪些头会发送到源端。要创建包含Authorization头的源请求策略,关联到对应的CloudFront行为上,确保这个头能被转发到Lambda。
  • 排查CloudFront的WAF规则:如果CloudFront绑了WAF,可能是WAF拦截了带Authorization头的请求。去WAF控制台看拦截日志,检查有没有匹配的规则,比如检测Bearer令牌格式的规则或者直接拦截特定头的规则,必要时调整规则。
  • 确认CloudFront的源协议策略:Lambda Function URL只支持HTTPS,要确保CloudFront到Lambda的源协议策略设为HTTPS only,用HTTP转发可能触发403错误。
  • 查看访问日志定位问题:
    • 看CloudFront日志的sc-status和x-edge-detailed-result-type字段,判断是CloudFront自身拦截还是源端返回的403。
    • 去CloudWatch看Lambda Function URL的日志,如果没有请求记录,说明请求没到Lambda,问题在CloudFront侧;如果有记录,查Lambda执行日志里的授权相关错误。
  • 检查Lambda Function URL的认证类型:如果设了AWS_IAM认证,CloudFront得用IAM角色签署请求,不能直接转发Authorization头。这种情况要么把认证类型改成NONE(业务允许的话),要么配置CloudFront用IAM角色向Lambda认证,原来的Bearer令牌换自定义头传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:04:58