缩短 S3 签名 url

swi*_*itz 9 url amazon-s3 amazon-web-services

我正在创建签名 URL 并将它们发送到外部系统以供以后使用。不幸的是,有些长度参数不允许传递极长的字符串。最近,签名 URL 似乎被重新格式化和扩展,这随后破坏了我的应用程序。

是否有某种方法可以从 S3 生成较短的 URL?出于多种原因,我不想依赖第三方 URL 缩短服务(这是 URL 生成时的额外请求,并且会增加故障点)。

Joh*_*ein 11

您可以直接在 Amazon S3 中构建一个非常简单的 URL 缩短器:

  • 打开静态网站托管。这将为您提供一个用于访问您的存储桶的 URL,例如:mybucket.s3-website-ap-southeast-2.amazonaws.com
  • 在 S3 中创建一个具有“短名称”的零长度对象,例如pic1.jpg
  • 将元数据添加到零长度对象:
    • 钥匙: Website Redirect Location
    • 值:长 URL

然后,当您访问零长度对象(例如mybucket.s3-website-ap-southeast-2.amazonaws.com/pic.jpg)时,它实际上会重定向到存储在元数据中的长 URL。

简单,不需要数据库!

  • 这远不是一个短网址.. (mybucket.s3-website-ap-southeast-2.amazonaws.com/pic.jpg) (4认同)
  • @eiTanLaVi 是的,但是您可以将 aws s3 路由添加到转发子域,以缩短较长的 mybucket.s3-website-ap-southeast-2.amazonaws.com 部分。这就是我最终所做的。我遵循了这个模式,并且它有效。不过,有些要点比表面上看到的要多一些。 (2认同)