我的开发服务器中有我的应用程序,现在我计划为应用程序中使用的所有资产实施 CDN。
我怎么能用 Rails 做到这一点?是否有任何可用的 gem 来执行此操作或必须进行任何手动配置?
我尝试用谷歌搜索这个主题,但发现主要针对 Cloud front Heroku 的建议。
注意:我在我的服务器中使用 Ngnix,并打算从不同的供应商那里购买 CDN。
我的开发服务器中有我的应用程序,现在我计划为应用程序中使用的所有资产实施 CDN。
我怎么能用 Rails 做到这一点?是否有任何可用的 gem 来执行此操作或必须进行任何手动配置?
我尝试用谷歌搜索这个主题,但发现主要针对 Cloud front Heroku 的建议。
注意:我在我的服务器中使用 Ngnix,并打算从不同的供应商那里购买 CDN。
找到了解决方案
实现自定义cdn url的步骤
1)设置资产路径config/environment/production.rb
config.action_controller.asset_host = "http://cdn.mydomain.com"
2)重命名所有样式和js文件如下图(如果错过这一步,第3步提到的asset_path标签将不起作用)
assets/stylesheets/styles.css => assets/stylesheets/styles.css.erb
3) 更新样式表代码如下所示
background: url(<%= asset_path "sprite/top-tile.png" %>) repeat-x scroll 0 -77px transparent !important;
注意:但请确保在 NGINX 中设置 Access-Control-Allow-Origin "* or cdn url"。只有这样,您才能从 cdn url 访问您的字体系列,因为 Firefox 和 IE 默认情况下不允许这样做。