開発サーバーにアプリケーションがあり、アプリケーションで使用されるすべてのアセットに CDN を実装することを計画しています。
Railsでこれを行うにはどうすればよいですか? これを行うための利用可能な宝石はありますか、または手動で構成する必要がありますか?
このトピックをグーグルで検索してみましたが、主に Cloud front Heroku に関する提案が見つかりました。
注 :サーバーで Ngnix を使用しており、別のベンダーから CDN を購入する予定です。
開発サーバーにアプリケーションがあり、アプリケーションで使用されるすべてのアセットに CDN を実装することを計画しています。
Railsでこれを行うにはどうすればよいですか? これを行うための利用可能な宝石はありますか、または手動で構成する必要がありますか?
このトピックをグーグルで検索してみましたが、主に 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" を設定していることを確認してください。Firefox と IE ではデフォルトでこれが許可されていないため、cdn URL からフォント ファミリにアクセスできます。