在我的Rails 4应用中,我使用paperclip gem来允许用户上传图片。
图像存储在AWS S3上。
以下是config/environments/production.rb
中的配置:
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
在我实施SSL证书之前,这完全正常。
现在我的应用程序 - 生产中 - 使用HTTPS设置,我在控制台中收到以下错误:
Mixed Content: The page at 'https://www.domain.com/' was loaded over HTTPS, but requested an insecure image 'http://s3.amazonaws.com/app/model/images/000/000/003/small_thumb/Profile_Picture.png?1448899439'. This content should also be served over HTTPS.
这不会“破坏”应用程序,但我想让事情正常运行。
我该如何解决这个问题?
答案 0 :(得分:2)
通过将此选项添加到Paperclip选项哈希,告诉Paperclip生成HTTPS URL:
:s3_protocol => :https