2

我一直在关注 Ryan Bates 关于将文件上传到 S3 的出色 Rails Cast(第 383 集)。一切正常 - 但是......

我想使用图像的 HTTP URL 而不是 HTTPS。

尝试查看 Carrierwave 文档,但找不到这是否是一个选项。试图查看这是否是 S3 设置,但默认情况下它似乎支持 HTTP 和 HTTPS。

任何帮助,将不胜感激。

谢谢你。

4

3 回答 3

4

您可以通过设置asset_host配置参数来做到这一点:

CarrierWave.configure do |config|
  ...
  config.fog_directory  = 'yourbucket'

  # Forcing use of HTTP
  config.asset_host = "http://#{config.fog_directory}.s3.amazonaws.com"
  ...
end

如果您的存储桶位于美国标准以外的区域,您可能还需要将该部分添加到主机中。

于 2013-05-24T16:42:52.093 回答
3

CarrierWave 0.9.0添加了一个配置参数fog_use_ssl_for_aws来禁用 public_url 的 SSL。

CarrierWave.configure do |config|
  ...
  config.fog_use_ssl_for_aws = false
  ...
end
于 2014-04-29T09:39:55.217 回答
0

不确定这是否是您要查找的内容,但如果您希望允许用户从您的 S3 存储桶下载文件,则需要为每个人创建列出和下载文件的权限。

这可以在“权限”选项卡下的 S3 存储桶配置面板中完成。默认情况下,S3 文件将是私有的,因此您需要经过身份验证的 url 才能访问它们。

于 2013-05-06T06:33:47.967 回答