2017-02-03 28 views
-2

AWS S3以前的工作這是錯誤的軌道,我得到:我的證書是爲on Rails的5

Aws::S3::Errors::SignatureDoesNotMatch (The request signature we calculated does not match the signature you provided. Check your key and signing method.): 

沒有解決我看到的是工作。

這是我articles.rb和環境變量設置都Heroku的生產服務器和開發本地機器上:

class Article < ApplicationRecord 
    has_many :comments, dependent: :destroy 
    validates :title, presence: true, 
       length: { minimum: 5 } 
    has_attached_file :attachment, 
      :path => 'assets/:class/:attachment/:id/:style/:filename', 
      :storage => :s3, 
      :bucket => ENV['AWS_BUCKET'], 
      :s3_bucket => ENV['AWS_BUCKET'], 
      :s3_permissions => 'public-read-write', 
      :s3_protocol => 'http', 
      :s3_host_name => 'eu-central-1.amazonaws.com', 
      :s3_host_alias => 'eu-central-1.amazonaws.com', 
      :s3_region => ENV['AWS_REGION'], 
      :s3_credentials => { :access_key_id => ENV['AWS_ACCESS_KEY_ID'], 
           :secret_access_key => ENV['AWS_SECRET_KEY_ID'], 
           :endpoint => 'eu-central-1.amazonaws.com' } 

    # Explicitly do not validate 
    do_not_validate_attachment_file_type :attachment 
    #validates_attachment :attachment, content_type: { content_type: 'application/x-java-archive'}, size: { in: 0..10.megabytes } 
end 

回答

0

我不明白爲什麼?但我必須將:url => :s3_domain_url添加到回形針配置中,以使此錯誤消失。而我的TypeError in ArticlesController#create仍然沒有工作......在我將AWS s3添加到我的Rails應用程序之前,它工作正常:不幸的是,在heroku生產環境中沒有持久存儲。