【问题标题】:Paperclip including bucket name in cloudfront url回形针,包括云端 url 中的存储桶名称
【发布时间】:2014-05-05 20:49:43
【问题描述】:

当我尝试使用 Cloudfront 作为我的 CDN 时,url 错误地包含存储桶名称,例如

cloudfronturl.net/bucketname/pathToImage

而不是

cloudfronturl.net/pathToImage

在我的图像模型上

:s3_credentials => {
    :bucket            => ENV['AWS_BUCKET'],
    :access_key_id     => ENV['AWS_ACCESS_KEY_ID'],
    :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'],
    :url => ':s3_domain_url',
    :s3_host_name => ENV['CLOUDFRONT_URL']
}

我可以尝试在图像 url 上使用 gsub 来替换 ['AWS_BUCKET']+"/",但是有没有办法配置我的 cloudfront 或回形针来自动执行此操作?

【问题讨论】:

    标签: ruby-on-rails amazon-s3 paperclip amazon-cloudfront


    【解决方案1】:

    这是一个非常愚蠢的错误。 url、路径和主机别名需要与 s3_credentials 处于同一级别

    :url => ':s3_alias_url',
    :s3_host_alias => ENV['CLOUDFRONT_URL'],
    :path => ":attachment/:id/:style.:extension",
    
    :s3_credentials => {
        :bucket            => ENV['AWS_BUCKET'],
        :access_key_id     => ENV['AWS_ACCESS_KEY_ID'],
        :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
    
    
    }
    

    【讨论】:

      【解决方案2】:

      好像您没有在回形针配置中指定路径。你可能需要这样的东西

       path: '/images/folder_name/:id/:style.:extension',
      

      这就是我所做的,并且从未遇到过您在 Cloudfront 中指定的问题,我一直在使用它。

      【讨论】:

        猜你喜欢
        • 2010-12-10
        • 2017-11-01
        • 2020-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-29
        • 2013-09-09
        • 1970-01-01
        相关资源
        最近更新 更多