0

尊敬的前辈!

我在 GCE 上托管了一个网站,并将所有静态内容存储在 GCS 存储桶上。然后使用 google API 链接访问内容,例如https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME] ..。

现在 API 链接作为https://www.example.com/post/[random post number] 嵌入在我网站的网页上(这是一个 html 链接,我每次都需要提供更新的副本,所以我设置了一个cookie 以避免在 CDN 中缓存)

我在负载均衡器后端 GCE 上启用了 Cloud CDN。我的理解是,网页中嵌入的静态内容链接会自动缓存在 CDN 中,因为存储桶访问是公开的。

在使用 cURL 进行验证后,我知道每当我使用 API 链接 ( https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME] ) 访问对象时,内容都会缓存在 CDN 中,并且每当我使用我的站点链接时(https://www.example.com/post/ [随机帖子号]),内容不被缓存。

请建议任何方法来缓存 clod CDN 中存储桶上的内容,其链接嵌入在动态内容 url 中,每次都必须重新获取。

提前致谢

4

1 回答 1

0

根据您的描述,这看起来像预期的那样工作。内容未缓存的原因是由于存在 cookie 标头。本文解释了内容何时不可缓存:https ://cloud.google.com/cdn/docs/caching#non-cacheable_content

当您提到时也证实了这一点:“(https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]),内容缓存在CDN中。” 存储桶没有任何 cookie,这就是它被缓存的原因。

于 2020-07-07T16:44:59.543 回答