API Gateway 和 CloudFront 如何协同工作让我有些困惑。最终,我希望能够将自定义标头和值视为我的缓存键的一部分。我知道这可以通过白名单来完成(如果我使用的是 CloudFront)。
所以当我提出以下要求时:
GET /pagesRead/4
Some-Header: fizz
例如,这将返回“ 29 页”
然后有一个帖子将id 4 更新为 '45 pages'
如果我提出这个要求
GET /pagesRead/4
Some-Header: buzz
它现在将返回“45 页”
但我使用的是 API Gateway,它显然在幕后拥有自己的 CloudFront。有没有办法可以将 API Gateway 配置为使用其“幕后”CloudFront 将我的自定义标头列入白名单?这甚至需要做吗?
根据此文档:AWS-API-Gatway,似乎我可以在 API Gateway 中启用 API 缓存,它会将我的标头视为缓存键的一部分。
我是否正确理解这一点?如果我只想让我的标头成为缓存键的一部分,那么API Gateway 中的“启用 API 缓存”与在API Gateway之上添加 CloudFront 实例和 CloudFront中的白名单之间有什么区别?
更新:
但是在 GET 上,我从缓存中获取过时的数据。
GET /pagesRead/4 test-header: buzz