我已经使用API网关设置了CloudFront Distribution作为其中一个来源,并且此API网关配置了AWS IAM授权程序 .
使用Authorization标头调用CloudFront url时,会返回403错误 .
{
"message": "Missing Authentication Token"
}
但是,当调用API网关URL而不是具有相同授权标头的CloudFront网址时,它可以正常工作 .
我也尝试通过CloudFront url调用没有任何授权人的 endpoints ,并且它有效 . 关于如何解决这个问题的任何想法 .
1 回答
配置CloudFront分配时,请记住CloudFront removes most headers from the request by default .
这样做是为了优化缓存命中率,同时防止您的源服务器根据那些不适合不同请求的标头做出决策,这些标头基于这些标头的其他变化(或不存在),然后CloudFront将从缓存中不当地提供 .
您需要whitelist
Authorization
标头才能转发到原点 .另请注意,在您控制的CloudFront分配后面配置API网关时,您可能希望将API endpoints 部署为区域而非边缘优化 .