【问题标题】:Is it possible to use Amazon Cloudfront sign URLs for attachments using Paperclip是否可以使用 Paperclip 将 Amazon Cloudfront 签名 URL 用于附件
【发布时间】:2013-01-20 10:45:42
【问题描述】:

我正在使用 Paperclip 在 Amazon S3 上存储图像附件并通过 Cloudfront 交付它们。我环顾四周,找不到与签名 URL 一起使用以保护内容的示例。我想知道这里是否有人知道如何做到这一点?

谢谢,

伦纳德

【问题讨论】:

    标签: ruby-on-rails paperclip amazon-cloudfront


    【解决方案1】:

    有点晚了,但对于寻找答案的人来说永远不会太晚。

    像往常一样将您的图片上传到 S3,将 s3_permissions 设置为私有,这样他们就无法通过 S3 进行公共访问。设置 s3_host_alias 以便回形针在请求附件 URL 时使用该主机,然后签署该 URL。

    您可以同时使用签名 URL 或签名 cookie。例如,使用cloudfront-signer gem:

    has_attached_file :photo,
                      s3_permissions: :private,
                      s3_host_alias: "dcx01yp1dg1u1.cloudfront.net"
    
    # Now photo.url will point to dcx01yp1dg1u1.cloudfront.net instead of S3
    Aws::CF::Signer.sign_url photo.url, expires: Time.now + 600
    

    有关详细信息,请参阅https://github.com/leonelgalan/cloudfront-signer#usage。免责声明,我是这个 gem 的当前维护者。

    【讨论】:

    • 谢谢 - 但你能提供一个将 gem 与 Paperclip 一起使用的例子吗?获取签名 URL 很容易,但要使其与 Paperclip 很好地配合使用是困难的部分。谢谢!
    • 查看更新答案,正常上传到S3,设置s3_host_alias通过CloudFront检索图片。
    猜你喜欢
    • 2016-12-06
    • 2011-02-04
    • 2020-04-24
    • 2013-07-01
    • 2015-05-21
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多