以下是一个例子:http://tools.pingdom.com/fpt/#!/cp0wwy/http://www.shearcomfort.com/Car-Seat-Covers_CDN.asp
选择任意图像,然后2014_subaru_outback_mini.jpg
你可以看到它出现了两次:一次来自 cloudfront,0 字节,第二次来自实际域shearcomfort.com
有人能解释一下这里发生了什么,以及如何让所有资产仅来自云端而不是来自主域吗?
答案1
您的 CDN URL 正在返回 301 重定向。
curl -I http://d3cerlni7xmxaw.cloudfront.net/images/stars/images/2starrating.gif
HTTP/1.1 301 Moved Permanently
Content-Type: text/html
Content-Length: 186
Connection: keep-alive
Location: http://www.shearcomfort.com/images/stars/images/2starrating.gif
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 20 May 2014 17:43:02 GMT
X-Cache: Miss from cloudfront
Via: 1.1 45f9deebd67d2bd40b8384feda6e6e32.cloudfront.net (CloudFront)
X-Amz-Cf-Id: dcbTEOwj48JfPD8YrvKrk4m2-OCkCAAABdqnwGxBOfRkmdLLpl7ErQ==
我敢打赌,您将 CloudFront 发行版指向shearcomfort.com
而不是www.shearcomfort.com
。您似乎将该域上的 301 个 URL 指向 www 版本。
答案2
如果您正在运行仅限 https 的站点并且将 http 访问者 301 重定向到 https(因此也包括 cloudfront),则也会发生 301 永久移动。
cloudfront 中 origin 下有一个设置“Origin Protocol Policy”,请确保将其设置为“Match Viewer”,以便 cloudfront 从你的原始服务器请求 https 版本而不是 http 版本(默认)。