【问题标题】:carrierwave authenticated_urls and rails 4载波验证的_urls和rails 4
【发布时间】:2014-01-10 12:25:16
【问题描述】:

我想用fog_authenticated_url_expiration

 def fog_public
    false
  end

它工作得很好,但是因为 S3 在存储桶名称中存在子域和点 (.) 的问题。我的路径有 SSL 警告,我无法将存储桶名称更改为其他名称以保持我的路由正常工作。

Amazon S3 - HTTPS/SSL - Is it possible?

经过身份验证的 url 的默认载波路径会因为子域而产生 SSL 警告:

https://subdomain.domain.com.s3-eu-west-1.amazonaws.com/uploads/quiz/131/question_sheet/Q286.pdf?AWSAccessKeyId=AKIAJKOSTQ6UXXLEWIUQ&Signature=xdHUEiNjEZxftVxr5rw7uHaMmwk%3D&Expires=1387662760

而这个公式可以正常工作:

https://s3-eu-west-1.amazonaws.com/subdomain.domain.com/uploads/quiz/131/question_sheet/Q286.pdf?AWSAccessKeyId=AKIAJKOSTQ6UXXLEWIUQ&Signature=xdHUEiNjEZxftVxr5rw7uHaMmwk%3D&Expires=1387662760

如何覆盖carrierwave中的路径样式以使用第二个来避免SSL问题?

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-s3 ruby-on-rails-4 carrierwave


    【解决方案1】:

    我自己也遇到过这个问题,如果您在设置fog_credentials 时使用path_style 使用最新版本的载波,现在有一个解决方法。

    在此处查看此帖子:

    https://github.com/carrierwaveuploader/carrierwave/issues/1076

    但这应该可以解决它。

    CarrierWave.configure do |config|
      config.fog_credentials = {
          :provider => 'AWS', path_style: true
      }
      config.fog_directory = 'subdomain.domain.com' # required
      config.asset_host   = 'https://subdomain.domain.com'            # optional, defaults to nil
    
      config.fog_public     = true                                # optional, defaults to true
      config.fog_attributes = {'Cache-Control'=>'max-age=315576000'}  # optional, defaults to {}
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      相关资源
      最近更新 更多