2016-01-13 65 views
0

我有我的應用程序正常工作與Refile和上傳圖像到S3。我讀過你應該在應用程序前放置一個CDN以使其更加高效和安全。如何設置CDN CloudFront for Refile寶石?

有沒有可以正確設置的地方?我已經看過github回購,並嘗試遵循說明,但我覺得我做錯了。

這是我做過什麼:

  1. 創建一個AWS CloudFront的分佈,其中原產地域名指向我的S3實例(bucket_name.s3.amazonaws.com)。

  2. 使用Route 53創建CNAME以添加指向CloudFront域名「xxx.cloudfront.net」的自定義域名「cdn.mydomain.com」。

  3. 轉到我的/config/initializers/refile.rb並添加以下行: Refile.cdn_host =「https://cdn.myappname.com」。

  4. Commit和推動的Heroku

  5. 我所有的圖像鏈接現在被打破。

我做錯了什麼?

+0

我注意到你的cdn_host以https開頭。您是否將您的發行版的ssl證書與cdn.myappname.com關聯? – imperalix

回答

1

我這樣做的方式是在整個站點前面放置一個Cloudfront,而不是桶本身。

  1. 創建AWS CloudFront的分佈原點設置爲我的域名(www.example.com)
  2. 創建CNAME(cloud.example.com)指向xxx.cloudfront.net
  3. 轉到配置/環境/ production.rb並添加行config.action_controller.asset_host = 'http://cloud.example.com'
  4. 轉到配置/初始化/ refile.rb並添加行Refile.cdn_host = 'http://cloud.example.com'