【问题标题】:How would one use Nginx to proxy uploads to S3?如何使用 Nginx 代理上传到 S3?
【发布时间】:2015-05-22 21:39:14
【问题描述】:

我想在屏蔽 S3 存储桶名称/身份验证标头的同时将文件上传到 S3。据我了解,我可以使用 Nginx 做到这一点。

例如,用户将向http://media.mywebsite.com 执行POST 请求,然后该请求将通过Nginx,附加身份验证标头并上传文件。另外,我想给每个文件一个随机且唯一的名称,并在对用户的响应中返回文件上传位置的 URL。

我该怎么做?我需要 Nginx 背后的其他东西,还是 Nginx 可以处理所有这些?我以前没用过 Nginx,所以请善待。

目前,我正在通过多部分请求将文件上传到我的 Rails 服务器,但是当执行较大的上传时,这会使服务器锁定太久,所以我试图绕过 Rails。

【问题讨论】:

  • 您可以代理 GET,如果您可以传递所需的标头来管理 S3 身份验证,为什么不为 POST 这样做
  • 所以只使用 Nginx 代理 S3?真的这么简单吗?
  • 它需要一些工作,但你可以从那里开始coderwall.com/p/rlguog/…coderwall.com/p/swgfvw/…
  • 我们确实绕过后端进行 S3 文件上传。 Nginx 收到请求,将文件转储到磁盘上(客户端请求)并通过 proxy_pass 进行回调。回调在后台队列上触发一个事件,该事件通过异步方式处理 S3 上传。
  • @mikhailov 我已经整理了一些东西,如果你有几分钟的时间来看看,我很想看看你的想法。 nginx.conf 在配置文件夹中。 github.com/jamescmartinez/nginx-s3-upload

标签: ruby-on-rails file-upload nginx amazon-s3


【解决方案1】:

【讨论】:

  • 欢迎来到 Stack Overflow!虽然这在理论上可以回答问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
猜你喜欢
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2021-05-27
  • 2011-01-03
  • 2017-11-22
  • 2018-01-16
  • 2016-12-22
  • 1970-01-01
相关资源
最近更新 更多