首页 文章

CloudFront和API网关缺少身份验证令牌错误

提问于
浏览
3

我已经使用API网关设置了CloudFront Distribution作为其中一个来源,并且此API网关配置了AWS IAM授权程序 .

使用Authorization标头调用CloudFront url时,会返回403错误 .

{
    "message": "Missing Authentication Token"
}

但是,当调用API网关URL而不是具有相同授权标头的CloudFront网址时,它可以正常工作 .

我也尝试通过CloudFront url调用没有任何授权人的 endpoints ,并且它有效 . 关于如何解决这个问题的任何想法 .

1 回答

  • 3

    配置CloudFront分配时,请记住CloudFront removes most headers from the request by default .

    这样做是为了优化缓存命中率,同时防止您的源服务器根据那些不适合不同请求的标头做出决策,这些标头基于这些标头的其他变化(或不存在),然后CloudFront将从缓存中不当地提供 .

    您需要whitelist Authorization 标头才能转发到原点 .

    另请注意,在您控制的CloudFront分配后面配置API网关时,您可能希望将API endpoints 部署为区域而非边缘优化 .

相关问题