我正在尝试为我的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`
不再加载任何资产。我在设置中缺少任何步骤吗?
Update1:
在 chrome 调试器中,可以通过以下 url 从 cloudfront 正确请求资源:http://XXXXX.cloudfront.net/assets/application-22c7c249df1a24541d86603b0715eefe.css
但是在请求标头中看到Status Code:302 Moved Temporarily
。我想知道我是否有重定向循环以及如何调试它。
Update2
谢谢大家的建议。更多信息:
- 当我尝试从我的应用程序下载资产时,我会重定向到浏览器上的主页,但使用curl我可以获得该资产。例如:curl 'http://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css'
- 该应用程序不使用 SSL。不过,我仍然按照 @Omar 的建议将原始协议策略设置为匹配查看器
- 我尝试从浏览器上的应用程序下载资产,并且能够访问这些资产。例如:'http://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css'
然而,尝试直接在cloudfront上访问资产(d1ax5oefcdtdki.cloudfront.net/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css)会将其重定向到myapp.com
- 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
对于其他在调试 cloudfront 时遇到问题的人。
问题是 Cloudfront 缓存了重定向(可能是设置错误)。使缓存无效后,我能够强制 CF 从我的应用程序中获取资源并为其提供服务。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)