Heroku + Rails4.2:Cloudfront设置

cod*_*ver 11 ruby-on-rails cdn heroku amazon-web-services amazon-cloudfront

我正在尝试为我的heroku应用程序设置Cloudfront.文件似乎缺乏独立的立场.

以下是我遵循的步骤:

 1. Setup Cloudfront in AWS console
 2. Added cloudfront domain name to production.rb `config.action_controller.asset_host = 'XXXX.cloudfront.net'`
 3. Set `config.assets.compile = true` in production.rb
 4. Verified AWS_SECRET_ACCESS_KEY is correct in heroku config
 5. I have added `gem 'rails_12factor', group: :production`
Run Code Online (Sandbox Code Playgroud)

资产不再加载.我在设置中缺少的任何步骤?


UPDATE1:

在chrome调试器中,通过此URL从cloudfront正确请求资产:http://XXXXX.cloudfront.net/assets/application-22c7c249df1a24541d86603b0715eefe.css

但是在请求标题中看到了Status Code:302 Moved Temporarily.我想知道我是否有重定向循环以及如何调试它.

UPDATE2

谢谢大家的建议.更多信息:

  1. 当我尝试从我的应用程序下载资产时,我在浏览器上重定向到主页但使用curl我能够获得资产.ex:curl'http://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css'
  2. 该应用程序不使用SSL.但是,根据@Omar的建议,我仍然将Origin Protocol Policy设置为Match Viewer
  3. 我尝试在浏览器上从我的应用程序下载资产,并且能够访问资产.例如:"HTTP://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css"不过试图直接访问CloudFront的(d1ax5oefcdtdki.cloudfront.net/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css)资产重定向它MYAPP. COM
  4. cloudfront DS的屏幕截图:

https://www.dropbox.com/s/bkg480d4it6zl2r/Screenshot%202015-12-06%2014.01.28.png?dl=0

http://glui.me/?i=7ah73hffrhvmpt7/2015-12-06_at_2.02_PM.png/

https://www.dropbox.com/s/dd4wwgm3md8w7qn/Screenshot%202015-12-06%2014.05.20.png?dl=0

cod*_*ver 3

对于其他在调试 cloudfront 时遇到问题的人。

问题是 Cloudfront 缓存了重定向(可能是设置错误)。使缓存无效后,我能够强制 CF 从我的应用程序中获取资源并为其提供服务。

在此输入图像描述