ruby-on-rails - 是否可以使用 Paperclip 将 Amazon Cloudfront 签名 URL 用于附件

标签 ruby-on-rails paperclip amazon-cloudfront

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

谢谢,

伦纳德

最佳答案

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

像往常一样将图片上传到 S3,设置 s3_permissions私有(private),因此他们无法通过 S3 进行公共(public)访问。设置 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 的当前维护者。

关于ruby-on-rails - 是否可以使用 Paperclip 将 Amazon Cloudfront 签名 URL 用于附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14708693/

相关文章:

ruby-on-rails - 在 macOS 上使用回形针和 imagemagick

angularjs - 更改 Cloudfront 下载分发源路径是否会导致缓存失效?

javascript - Amazon S3 + CloudFront CORS 问题

ruby-on-rails - 使用路由或 mod_rewrite 转发旧 URL 哪个更好?

ruby-on-rails - RVM 安装后 Ruby on Rails Mac OSX Mavericks 问题

ruby-on-rails - Searchkick:Elasticsearch 没有索引 "FORBIDDEN/12/index read-only"?

ruby-on-rails-3 - 在 Prawn PDF 中显示回形针图像

ruby-on-rails - 使用 Paperclip 访问保存在 S3 中的文件

amazon-cloudfront - CloudFront - 如何将所有请求 header 转发到源

javascript - 如何在 Rails 中执行 AJAX-y 条件显示/隐藏表单字段?