2015-06-17 24 views
1

我已經使用dragonfly gem成功地在我的Rails應用中安裝並上傳了圖像。如果我直接通過應用加載圖片,加載圖片效果很好。不過,如果我通過的Cloudfront加載圖像,我得到一個錯誤頁,上面寫着「你需要給一個SHA參數」,因爲SHA包含在URL已經是奇怪:通過Cloudfront提供蜻蜓圖像時出現「您需要提供SHA參數」錯誤

enter image description here

對於上下文這裏是我的蜻蜓設置:

# config/initializers/dragonfly.rb 

require 'dragonfly' 

# Configure 
Dragonfly.app.configure do 
    plugin :imagemagick 

    secret "randomsecret" 

    url_format "/media/:job/:name" 

    datastore :file, 
    root_path: Rails.root.join('public/system/dragonfly', Rails.env), 
    server_root: Rails.root.join('public') 
end 

# Logger 
Dragonfly.logger = Rails.logger 

# Mount as middleware 
Rails.application.middleware.use Dragonfly::Middleware 

# Add model functionality 
if defined?(ActiveRecord::Base) 
    ActiveRecord::Base.extend Dragonfly::Model 
    ActiveRecord::Base.extend Dragonfly::Model::Validations 
end 

我已經閱讀CDN section in the documentation of dragonfly,但它並沒有解決問題。它唯一的區別是,它包括url_host時調用image.url而不是它通常返回的相對路徑。

回答

3

默認情況下,CloudFront不會將查詢字符串轉發到原始位置。您是否驗證過您已啓用query string轉發?

+0

你太棒了。我不知道查詢字符串默認情況下被禁用。謝謝你的協助! –

相關問題