1

我正在尝试通过 Cloudfront CDN 托管我的 Rails 4 应用程序的资产。我曾经使用asset_sync 和s3,但我想切换到CDN。

当我打开我的 Heroku 应用程序时,我看到所有页面都是纯 HTML。没有加载任何 JS 或 CSS。

这些是我从控制台得到的错误:

控制台错误截图:http: //i61.tinypic.com/15rxdsj.jpg

http://i61.tinypic.com/15rxdsj.png

另外,我不确定我是否在 Cloudfront Origin Settings 上正确设置了我的 Origin Domain Name 和 Origin Path。目前,我使用我的 heroku 应用程序 url 作为源域名,使用“/production/assets”作为源路径。

Production.rb 文件: http: //pastebin.com/2dzLpGfE

过去一周我一直在尝试让 Heroku 应用程序显示 CSS 和 JS,但没有成功。我将不胜感激任何见解。提前致谢!

4

1 回答 1

0

迁移到 Cloudfront 并没有您想象的那么剧烈,如果您的一切都在 S3 中工作。毕竟,Cloudfront 只是将 S3 存储桶的内容分发到边缘站点。这意味着您只需要让 Rails 知道寻找 CDN 而不是 S3。

有很多事情可能会发生。您可能错误地配置了 Cloudfront,它应该指向您的 S3 存储桶作为源。您应该通过使用 Cloudfront URL 检查浏览器中的资产来测试该设置。要点是 Cloudfront 不应该知道您的 Rails 应用程序。

同时,您仍然可以使用 AssetSync 将您的资产推送到assets路径“下方”的 S3。您还必须config.action_controller.asset_host按照此处所述进行配置。

于 2015-04-15T05:19:33.200 回答