如何使用PaperClip使用RoR通过HTTPS检索图像?

时间:2016-06-01 15:51:24

标签: ruby-on-rails ruby amazon-web-services

我有一个应用程序,用于存储和检索来自亚马逊AWS的图像。

为了做到这一点,我正在使用回形针。

我为我的应用程序使用SSL认证,因此要求所有调用都使用HTTPS。

为了从亚马逊AWS获取图片,我执行以下操作:

<div class="col-md-6 col-md-offset-3 shopHeader">
  <img class="img-responsive center-block" widith="150px" height="100px" src=<%= @shop.image.url(:original, timestamp:false) %>>
</div>

当页面加载时会调用http://cardapiopsbrasil.s3.amazonaws.com/original/shop/221

等网址

相反,我需要通过生成https://cardapiopsbrasil.s3.amazonaws.com/original/shop/221

等链接来使用HTTPS

但是我收到了一些警告,例如:

Mixed Content: The page at 'https://cardapioalfenas.com.br/' was loaded over HTTPS, but requested an insecure image 'http://cardapiopsbrasil.s3.amazonaws.com/original/shop/221'. This content should also be served over HTTPS.

有没有办法告诉Paperclip或我的应用程序使用HTTPS调用来获取这些图像?

1 个答案:

答案 0 :(得分:1)

您的模型中has_attached_file的一个选项,用于指定要使用的协议

# app/models/shop.rb
has_attached_file :image,
                  storage: :s3,
                  s3_protocol: :https #specify the protocol as https

documentation解释了各种选项