
次に例を示します。http://tools.pingdom.com/fpt/#!/cp0wwy/http://www.shearcomfort.com/Car-Seat-Covers_CDN.asp
任意の画像を選択する2014_subaru_outback_mini.jpg
と、2回表示されます。1回目は0バイトのクラウドフロントから、2回目は実際のドメインから表示されます。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
301 Moved Permanently は、https のみのサイトを運営していて、http 訪問者を https (したがって、CloudFront) に 301 リダイレクトする場合にも発生する可能性があります。
CloudFront の Origin の下に「Origin Protocol Policy」という設定があります。これが「Match Viewer」に設定されていることを確認して、CloudFront が Origin サーバーから http (デフォルト) ではなく https バージョンを要求するようにします。