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