载波+ Cloudfront +签名URL +多个存储桶

时间:2019-10-25 22:02:14

标签: amazon-web-services amazon-s3 carrierwave amazon-cloudfront

我有一个使用carrierwavecarrierwave-awscloudfront-signer宝石的Rails 5应用程序。我给出了为Carrierwave配置的默认存储桶。我可以上传并很好地投放内容(例如用户头像等)。

我还有另一个上传器,该上传器具有一个动态存储桶(即每个客户端),用于隔离数据。我可以上传没有问题。问题在于这些文件无法在Cloudfront上提供(403禁止访问)。我怀疑基本CW配置正在尝试使用另一个存储桶访问文件来对存储桶进行签名。

这是到目前为止我尝试过的上传配置:

  def initialize(*)
    super

    # https://stackoverflow.com/questions/31589872/setup-for-an-uploader-carrierwave

        self.aws_credentials = {
          region: ENV['AWS_REGION']
        }

        self.aws_bucket = Apartment::Tenant.current
        self.aws_signer = -> (unsigned_url, options) { Aws::CF::Signer.sign_url unsigned_url, options }

  end

它设置了自定义存储桶,但URL似乎失败。它们已签名,但都返回403。

我怀疑我需要将aws_signer选项提供给存储桶或端点才能使之工作。

有什么想法吗?

0 个答案:

没有答案