我尝试在 Google Compute Engine 上为我的服务器设置 Google Cloud CDN。我已正确完成所有操作,但服务器上的图像未缓存。缓存命中率为 n/a。在日志中,我收到 200 状态代码http://(ip地址)/poweredby.png。所以我假设前端 IP 没有到达我的服务器,而是在其他地方。除此之外,我找不到任何错误,所有设置都是正确的。我是否必须更改 nginx conf 文件中的某些内容?但我不知道。如果问题不清楚,请告诉我。谢谢,
答案1
这里有几个问题导致了你的问题,首先,你尝试缓存图片的服务器对象不在 Google 的网络上:IP 47.78.15.243 由阿里巴巴。
使用 Cloud CDN,并非所有 HTTP 响应都可缓存。Cloud CDN 仅缓存满足特定条件的响应要求。其中一些要求由 RFC 7234 指定,其他要求则特定于 Cloud CDN。
对于您的情况,最值得注意的是,要缓存的数据需要由启用 Cloud CDN 的 HTTP(S) 后端服务或后端存储桶(Google Cloud 内部)提供。使用 Cloud CDN,您还可以必须使用HTTP(S) 负载平衡(在 Google Cloud 内)作为 Cloud CDN 缓存内容的来源。
您可以找到有关与 Google Cloud Platform 一起使用的 CDN 的更多详细信息这里。