2016-08-04 23 views
0

こんにちは、私は現在、カスタムドメイン名のためのRailsとHerokuのと同様にGoDaddyはを使用してサイトを構築しています。Carrierwave S3とCloudFrontをして表示していない画像

私は霧、アマゾンS3でCarrierwaveを使用しています、そして起源ドメインとしての私のHerokuのドメイン名でCloudFrontのを設定しています。現在のところ、このサイトは私がCloudFrontをセットアップする理由ですが、私のcarrierwaveのconfigファイルは、CloudFrontのカウンターパートへのURLを変更していないようだ、非常に遅い画像をアップロードします。ここに私のキャリアウェーブ設定ファイルがあります。私は、ユーザーがCarrierwaveを介して画像をアップロードしてから、クラウドフロントに戻してもらえるようにしたいと考えています。

CarrierWave.configure do |config| 
config.fog_provider = 'fog/aws'      # required 

config.fog_credentials = { 
provider:    'AWS',      # required 
aws_access_key_id:  'acesskey',      #  required 
aws_secret_access_key: 'secretkey',      # required 
region:    'us-east-1',     # optional, defaults to 'us-east-1' 
} 

config.fog_directory = 'directory'       # required 
# config.fog_public  = false # optional, defaults to true 
config.asset_host = 'randomjunk.cloudfront.net' 
config.fog_public = false 
config.fog_attributes = { 'Cache-Control' => "max-age=#{365.day.to_i}" } #  optional, defaults to {} 
end 

それは限りconfig.fog_publicがfalseであるが、私は真= config.fog_publicに変更したときにURLが正しくなりましたが、画像が見つからないとして動作します。これは私の設定の設定と関係しているのですか、または私はHerokuでクラウドフロントを正しく設定していませんか?

答えて

0

それはあなたが最初のファイルを作成するときに使用された設定に依存します。彼らがconfig.fog_public = falseで作成された場合、それらはプライベートファイルになり、アクセスはs3への特別な署名付きURLで行われます。私は、アセットホストは、公開されているファイル(つまりあなたが見ているもの)に使用されていると思います。 fog_public = trueでファイルをアップロードすると、見つからないとは思われません。あなたはまた、単にその属性を変更する場合はtrue、再保存した画像に設定できることがあり(私はここでは詳細についてはあまり確信している、あなたは確かにかかわらず、公衆にそれらを変更することができるはずです)。

関連する問題