Ruby on rails 回形针s3\u主机\u别名不工作

Ruby on rails 回形针s3\u主机\u别名不工作,ruby-on-rails,amazon-s3,paperclip,amazon-cloudfront,Ruby On Rails,Amazon S3,Paperclip,Amazon Cloudfront,我正在尝试在s3_主机_别名中使用Cloudfront CNAME,但不起作用 config/s3_config.yml models/profile.rb 在模型中使用CNAME direct尝试了该代码,但不起作用 has_attached_file :avatar, :storage => :s3, :s3_credentials => "#{Rails.root}/config/s3.yml", :url => ":s3_host_alias", :s3_host_al

我正在尝试在s3_主机_别名中使用Cloudfront CNAME,但不起作用

config/s3_config.yml models/profile.rb 在模型中使用CNAME direct尝试了该代码,但不起作用

has_attached_file :avatar, :storage => :s3, :s3_credentials => "#{Rails.root}/config/s3.yml", :url => ":s3_host_alias", :s3_host_alias => "dev-cdn.mysite.com", :styles => { :medium => "300x300>", :circle => "130x130#", :thumb => "50x50>" }, :default_url => "avatar/missing.jpg", :path => ":class/:id/:attachment/:style/:hash.:extension", :url => ":class/:id/:attachment/:style/:hash.:extension", :hash_secret => "***"

网站一直在使用完整的s3 bucket url…

我也遇到了这个问题:无论是:s3\u host\u别名还是:url都不会从config/s3.yml读取。通过将这两个字段都放在模型中,但保留了存储桶的s3.yml、access_key_id和secret,我可以使它正常工作

快速解决方案可能如下所示:

if Rails.env.production?
    host_alias = "cdn.mysite.com"
elsif Rails.env.development?
    host_alias = "dev-cdn.mysite.com"
end 
然后


我也遇到了这个问题:无论是:s3\u host\u别名还是:url都不会从config/s3.yml读取。通过将这两个字段都放在模型中,但保留了存储桶的s3.yml、access_key_id和secret,我可以使它正常工作

快速解决方案可能如下所示:

if Rails.env.production?
    host_alias = "cdn.mysite.com"
elsif Rails.env.development?
    host_alias = "dev-cdn.mysite.com"
end 
然后


看起来您可能会设置:url两次?在生成过期url“仅为url工作”时,它不起作用。看起来您可能会设置:url两次?在生成过期url“仅为url工作”时,它不起作用
if Rails.env.production?
    host_alias = "cdn.mysite.com"
elsif Rails.env.development?
    host_alias = "dev-cdn.mysite.com"
end 
has_attached_file   :avatar, 
                    ...
                    :url            => ":s3_alias_url",
                    :s3_host_alias  => host_alias,
                    :credentials => ...