1

我想用fog_authenticated_url_expirationcarrierwave authenticated_urls和轨道4

def fog_public 
    false 
    end 

这不过由于S3与斗名称子域和点(。)问题的伟大工程。我的路径有SSL警告,我无法更改存储桶名称,否则会导致我的路线正常工作。

Amazon S3 - HTTPS/SSL - Is it possible?

用于验证URL的默认carrierwave路径产生,因为子域的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问题?

回答

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