问题标签 [signed-url]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
415 浏览

django - Google Storage 一次为多个对象创建签名 url

我已经成功地在谷歌存储中为我的图像和视频内容使用签名 url。我的 Django API 返回 100 个 Google Storage 对象并创建 100 个签名的 url 需要很长时间。有没有其他方法可以更快地生成签名 URL 或一次生成多个签名 URL?

0 投票
1 回答
103 浏览

python - 谷歌存储使用您自己的程序而不是使用谷歌云库创建签名网址

Google Storage 允许使用自定义创建的签名 URL,如以下链接中所宣传的:使用您自己的程序的 V4 签名过程

这是什么原因?这会比为谷歌存储中的每个对象请求一个签名的 url 更快吗?

0 投票
1 回答
625 浏览

laravel - Laravel 的signedURL 在使用api middlware 时生成错误的URL

我有一个在 Nuxt 和 Laravel 上运行的前端作为后端服务。当我使用 Laravel 的 API 中间件生成签名 URL 时 - 路径在 URL 中包含“api”,导致 Nuxt 端出现页面未找到异常

因此,以下是更好地了解正在发生的事情的步骤:

  1. 用户单击 Nuxt 应用程序中的按钮并将 ajax 请求发送到 Laravel API
  2. API 控制器生成签名 URL

$signedUrl = URL::signedRoute('register', ['email' => $this->request->email, 'group_id' => $this->request->group_id], null, false);

  1. 生成的URL在路径中包含“api”,当然不能访问 http://localhost:3000/api/register?email=ss%40gmail.com&group_id=2&signature=ce4fba05bf5ccae6ea20a6043a47ca11de603238214deda7202d19f2989272cb

有没有办法从生成的 URL 中删除 /api/?我尝试将方法 signedRoute 中的第 4 个参数(绝对值)设置为 false,但这没有帮助。

0 投票
0 回答
198 浏览

google-cloud-storage - 如何仅访问网络上特定域/主机的谷歌签名 URL?

我正在使用 google storage Signed URL v4 通过具有到期时间的 URL 访问文件,但我还想指定域以限制 URL 以访问 Internet 上的任何地方。现在 google 在 Signed URL 的配置中提供的选项较少。

我已经提到了这个文档:

读取访问的示例代码:

是否有可能提及我的主机名/域名以限制文件访问?或如何仅在特定网站中访问我的存储文件?

0 投票
0 回答
395 浏览

php - 如何在不将文件另存为 .m3u8 的情况下播放 hls 内容?

我正在使用 PHP 代码通过 AWS CloudFront 的签名 URL 检索 .m3u8 的内容。

我无法播放其中的块 .ts 文件,因为您还需要签署他们的 URL。

所以,使用 PHP 代码,我重写了 .m3u8 的内容

我能够在 .m3u8 文件中签署 .ts 。但现在的问题是,如何$content在不使用 file_put_contents 下载文件内容的情况下使用 VideoJS 将其转换为可播放的 HTML5 视频?我不想将它保存在目录中。只是将其转换为 blob 数据或对其进行解码并播放它 像这样的东西。这可能吗?

PS:我试过 AWS Lambda Edge。但是,当 m3u8 文件中有很多块 .ts 时,它不起作用。它返回一个超过 40KB 查看器请求配额的错误。

0 投票
0 回答
238 浏览

google-cloud-storage - 无法使用签名的 url 和 HTTP PUT 将对象上传到 Google Cloud Storage

我正在尝试使用signed url. 我正在生成url,使用JAVA如下方法(在此链接的帮助下):

我也得到了一个上传网址,如下:

但是,当我尝试在上述 URL 上使用 HTTP PUT 上传对象时,使用POSTMAN,我收到以下错误:

这是一个真正难以破解的难题。非常感谢一些帮助。

0 投票
1 回答
431 浏览

google-cloud-storage - 尽管设置了 CORS 政策,但 Google Cloud Storage Bucket CORS 错误

我有一个用于谷歌云存储桶的签名 URL,我想将它与 axios 一起使用来发出 PUT 请求。

当变量 signedURL 不为空时,通过 useEffect 调用我的 putFileData 函数。

我使用 json 文件在存储桶上设置了 CORS 策略,当我查询存储桶的 cors 策略时,我得到:

我的签名网址上的选项是:

但是我仍然无法从 http://localhost:3000 发出 PUT 请求。

我得到:

和:

在 Chrome 开发人员工具的我的网络选项卡中,它显示请求已发出两次 - 第一次以状态 403 不成功,然后以状态 200 成功 - 但没有任何内容上传到存储桶。

我的签名网址是在我的 Cloud Functions 中使用此函数生成的:

};

0 投票
1 回答
79 浏览

python-3.x - 使用云端访问拒绝签名 URL Python3

我正在尝试为我的 s3 存储桶创建签名的 url,只有选定的人才能访问,直到时间到期。

我无法在我的代码中找到问题。请帮忙

当我在 lambda 上测试文件时,我能够生成并打印一个 URL,但是当我访问该 URL 时,我收到来自 XML 文件的拒绝访问错误消息。

我不确定我在这一点上做错了什么。为了测试我是否能够生成任何 SignedUrl,我创建了一个 node.js lambda,我可以在其中成功生成 URL 甚至访问我的页面。

0 投票
0 回答
187 浏览

ssl - 使用签名 URL 将文件上传到 GCP 到域名存储桶会导致 SSL 证书错误

我正在尝试使用签名 URL 将文件上传到 GCP 存储桶。

我能够在普通的桶中很好地做到这一点。但是最近我将存储桶更改为一个域名为 bucekt(例如:abc.somename.io)

现在,当我尝试将文件上传到这个新存储桶时,在创建签名 URL 后,它给了我以下错误:

生成的签名 URL 类似于:

我正在向这个 URL 发出 PUT 请求。

curl -k当我通过命令尝试相同的 PUT 请求时,它工作正常。这里可能是什么问题。它是 GCP 中的某种错误,它正在考虑由于.存储桶名称(在 url 中)而导致主机名不同吗?

编辑:为两个 curl 命令添加跟踪。

成功运行的 curl -k 具有以下跟踪(更改/删除了一些键):

跟踪失败的正常 curl 命令:

0 投票
1 回答
37 浏览

amazon-web-services - Cloudfront 从不同位置返回 403

我有一个 S3 存储桶托管对象,我的用户可以通过我的应用程序下载这些对象。我正在将 Cloudfront 用于带有签名 URL 的 CDN。在美国一切正常,但是当我在另一个国家(印度)的用户尝试下载相同的对象时,他们会收到一条错误消息 The remote server returned an error : (403) Forbidden

我确认我没有在 CloudFront 分配中设置任何地理限制 在此处输入图像描述

CloudFront 中配置的我的源名称和域路径的格式为xyz-final-bucket.s3.us-west-2.amazonaws.com

下面是为 CloudFront 生成签名 URL 的代码:

我存储桶中的所有对象都使用 One-Zone IA 存储。我不确定这是否是原因,因为我也尝试过更改它的标准。

是否需要对我的配置进行任何更改才能从所有地理位置进行下载?