我正在尝试通过Cloudfront CDN托管我的Rails 4应用程序的资产。我曾经使用asset_sync和s3,但我想切换到CDN。
当我访问我的Heroku应用程序时,我发现所有页面都只是裸HTML。没有加载JS或CSS。
这些是我从控制台获得的错误:
控制台错误的屏幕截图:http://i61.tinypic.com/15rxdsj.jpg
另外,我不确定我是否在Cloudfront Origin设置上正确设置了Origin Domain Name和Origin Path。 目前我使用我的heroku app url作为Origin Domain Name和“/ production / assets”作为Origin Path。
Production.rb文件:http://pastebin.com/2dzLpGfE
过去一周我一直试图让Heroku应用程序显示CSS和JS。我非常感谢任何见解。提前谢谢!
答案 0 :(得分:0)
迁移到Cloudfront并不像改变那样激烈,如果你有一切从S3工作的话。毕竟,Cloudfront只是将S3存储桶的内容分发到边缘位置。这意味着你必须让Rails知道要查找CDN而不是S3。
有很多事情可以发生。您可能错误配置了Cloudfront,它应该指向您的S3存储桶作为源。您应该通过使用Cloudfront URL检查浏览器中的资产来测试该设置。重点是Cloudfront应该不了解您的Rails应用程序。
与此同时,您仍然可以使用AssetSync将资产推送到S3""一条assets
路径。您还必须按照here所述配置config.action_controller.asset_host
。