繁体   English   中英

Google CDN 未缓存图像 - NGINX 问题或 CDN 设置?

[英]Google CDN not Caching images - NGINX issue or CDN setup?

运行 Google Cloud CDN 的站点 - 根据众多测试,不会缓存 webp 图像 - 可能是所有图像。

https://gtmetrix.com/reports/mydoginsurance.com.au/TpxI5hxs/ 19 个资源不使用 CDN:

最初我使用“缓存 Static 内容”的 Cloud CDN 配置。 但将此升级为“使用基于缓存控制标头的原始设置当前缓存设置:

我仍然看到图像,尤其是 Webp 没有被 CDN 缓存。 我还更新了 .htaccess 文件以增加 webp 的 TTL。

Htaccess 图像 TTL

我“认为”这可能是由于 nginx 以及什么是“静态”图像。

如何在云 CDN 中正确缓存这些图像?

更新:

缓存似乎存在,它太短了,我似乎无法扩展它。 CDN 说它只在 50 分钟的笼子政策下缓存这些图像,但我已将 htaccess 设置为 1 年。

图像缓存说它只设置为 50 分钟

GTmetrix 的报告是完全错误的。 他们显然没有正确检测到 Cloud CDN 的使用。 我看到来自 Cloud CDN 的缓存命中,例如 /images/banner.webp。

https://cloud.google.com/cdn/docs/troubleshooting-steps#responses-not-cached中提供了有关解决缓存未命中问题的信息,您可以使用这些信息进行仔细检查。

只是添加到elving的答案 - 报告是错误的 -您的网站也在使用 CDN 图像

我已经阅读了有关 GCP 的 CDN 故障排除的官方文档

只需运行curl -s -D - -o /dev/null https://mydoginsurance.com.au/images/banner.webp

HTTP/2 200
server: nginx
date: Thu, 25 Feb 2021 12:26:01 GMT
content-type: image/webp
content-length: 130564
last-modified: Fri, 16 Oct 2020 10:12:50 GMT
etag: "5f897222-1fe04"
x-powered-by: PleskLin
accept-ranges: bytes
via: 1.1 google
cache-control: max-age=86400,public
alt-svc: clear

几分钟后我再次运行它时:

HTTP/2 200
server: nginx
date: Thu, 25 Feb 2021 12:26:01 GMT
content-type: image/webp
content-length: 130564
last-modified: Fri, 16 Oct 2020 10:12:50 GMT
etag: "5f897222-1fe04"
x-powered-by: PleskLin
accept-ranges: bytes
via: 1.1 google
age: 223
cache-control: max-age=86400,public
alt-svc: clear

最后第三行是age: 223 ,这意味着这个响应是从 223 秒前创建的缓存中提供的

此示例中的最后一个响应包括 Age header。 Cloud CDN 将 Age header 添加到它从缓存中提供的响应中。 此处,header 表示响应已通过使用两秒前创建的缓存条目从缓存中成功提供。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM