【发布时间】:2019-10-07 17:22:57
【问题描述】:
我们有一个设置,我们将 CloudFront 放在我们的后端 API(代理)前面。
所有端点几乎都成功了。 POST 请求正常,但 GET 请求没有。
-
调用代理:
POST https://proxy.api.com/add :: 响应成功!
GET https://proxy.api.com/ping :: 响应成功!
通过 CloudFront 调用:
POST https://abc.cloudfront.net/add :: 响应成功!
GET https://abc.cloudfront.net/ping :: 401 未经授权!
有什么想法吗?
【问题讨论】:
-
CloudFront 会在请求中剥离并添加很多东西,401 来自后端,您能否检查后端期望授权的信息,例如:Cloudfront 默认剥离授权标头。
-
这对我来说是新的。一些 POST 请求需要 x-api-key 或 Authorization 而 GET 请求需要 Authorization。
-
x-api-key 由 cloudfront 转发到 origin,尝试将 Authorization 标头列入白名单并清除缓存再次测试是否有效。
标签: aws-api-gateway amazon-cloudfront api-gateway