リア充爆発日記

You don't even know what ria-ju really is.

paperclipをAWSのS3+Cloudfrontで使うときの設定メモ

ワリと時間かかったのでメモ。

config/environments/production.rb

  config.paperclip_defaults = {
    storage: :s3,
    s3_host_alias: 'your.cloudfront.net',
    path: '/:class/:attachment/:id/:style/:hash.:extension',
    url: ':s3_alias_url',
    s3_host_name: 's3-ap-northeast-1.amazonaws.com',
    s3_protocol: '',
    s3_credentials: {
      bucket: 'your_backet_name'
    }
  }

config/initializers/paperclip.rb

Paperclip::Attachment.default_options[:hash_secret] = 'abutorudamuraruomunisunomunisuberuesuhorimaku'
Paperclip::Attachment.default_options[:default_url] = 'no_:style.png'


ポインツ

  • initializersには共通の設定を書くが(書かなくてもいいけど)、envrionmentsで上書きする前提で書くと、場合によってはハマるからあまりおすすめしない
  • s3_host_nameは東京リージョンのときは必須
  • http,httpsを状況によって出し分けるには、s3_protocolに空文字を渡しておく
  • クレデンシャル関係はこのケースではEC2自体に権限設定してあるが、色んなやり方があるので好きようにする。

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails