AWS API Gateway 缓存“提供 x-cache: Miss from cloudfront”,同时在所需的 get 方法上启用缓存集群和 ttl

问题描述 投票:0回答:1

我已经为应用程序负载均衡器后面的 aws ecs fargate 上托管的建议 api 设置了一个 api 网关。我已启用 api 网关阶段的缓存以及相应的 get 方法,并将 TTL 设置为 1 小时。 当我多次访问 api 端点并检查响应标头时,我得到

缓存控制:无缓存,私有 x-cache:来自cloudfront的小姐

由于 api 网关在底层使用 cloudfront 进行缓存,我很困惑为什么总是存在缓存缺失。

由于此 API 网关使用代理集成,因此我无法配置集成响应。所以我尝试在方法响应中发送缓存控制标头值,但仍然存在同样的问题。所以我有点被困在这里。 api 正在工作,除了业务之外的所有内容对于响应时间都至关重要,因此需要解决这个问题。 任何有助于理解缓存未命中的帮助都会很棒。 API网关使用cloudfront缓存还是仅使用cloudfront边缘位置来路由请求?

amazon-web-services caching aws-api-gateway amazon-cloudfront caddy
1个回答
0
投票

检查后端标头:

验证您的后端服务返回的 Cache-Control 标头。如果它们包含无缓存或类似内容,CloudFront 将不会缓存响应。

API网关方法响应标头:

即使在代理集成中,您也可以在方法响应中映射自定义标头。确保您明确设置缓存友好的标头,例如:

缓存控制:公共,最大年龄=3600

© www.soinside.com 2019 - 2024. All rights reserved.