gpt4 book ai didi

heroku - 通过代理数据或通过 heroku 签署 url 从 S3 tiles 提供私有(private)映射?

转载 作者:行者123 更新时间:2023-12-01 04:35:43 26 4
gpt4 key购买 nike

我想将 map 切片存储在私有(private) S3 存储桶中。每个磁贴都有自己的 URL,每组磁贴可能有 GB 的磁贴。

然后我想通过前端映射客户端(例如传单)可视化这些图 block 。此客户端使用磁贴的单独 URL 在需要时拉取磁贴。

因为存储桶是私有(private)的,所以我需要对每个磁贴请求进行身份验证,但性能对于此应用程序来说相当关键。

鉴于我想使用 heroku 来托管我的网站,在从 S3 请求磁贴之前通过 heroku 代理 url 并对其进行签名更好,还是通过 heroku 代理磁贴本身更好?

还有其他选择吗?

最佳答案

如果 S3 中的内容是私有(private)的,您将不得不以一种或另一种方式授权下载,除非存储桶策略允许代理无需基于其 IP 地址进行身份验证即可访问内容。即便如此,代理仍然需要通过(大概)cookie 验证用户是否获得授权,这可能意味着 session 数据库查找。

生成签名 URL 在计算上并不是一个特别昂贵的过程,并且(与我偶尔遇到的印象相反)签名过程完全在您的服务器上完成——在生成签名 URL 时没有与 S3 的实际交互.

没有一个正确的答案。我使用这两种方法,以及它们的组合——在应用程序中签署 URL,在数据库中签署它们(我编写了一个 MySQL 存储函数来签署 URL),提供到读取用户 session cookie 的不同应用服务器的链接并且,如果获得授权,生成一个签名的 URL 并返回一个 302 重定向,提供一个指向代理服务器的链接,代理服务器将预签名的 URL 请求代理到 S3(用于实时日志记录并允许我使用我自己的域名和 SSL 证书)...所有这些方法和其他方法都有有效的用例。

关于heroku - 通过代理数据或通过 heroku 签署 url 从 S3 tiles 提供私有(private)映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com