【问题标题】:Using HTTP 3XX redirect to Google Cloud Storage objects?使用 HTTP 3XX 重定向到 Google Cloud Storage 对象?
【发布时间】:2013-07-15 09:03:11
【问题描述】:

我正在 Google AppEngine (Java) 上开发一个生成 HTML 报告的应用程序。该报告经常被查看并偶尔修改,我正在考虑通过安排报告生成并上传到谷歌云存储来优化性能,并让该报告而不是 AppEngine 服务于报告。因此,userA 和 userB 可以创建报告并从 userA-report.myapp.com 和 userB-report.myapp.com 访问它们,其中内容在 AppEngine 中生成并存储在 Cloud Storage 中。

但是,我有一些限制: - 一些报告有访问限制,我希望仍然由我的应用程序控制;换句话说,我不想使用 ACL 并维护它来限制访问; - 我没有办法动态配置我的 CNAME 条目;所以,我仍然需要在 AppEngine 上处理请求并重定向到 Cloud Storage。

我在想我能做的是,如果我检测到报告已经在 Cloud Storage 上可用,我会发送一个 HTTP 3XX 重定向到http://storage.googleapis.com——我意识到这不是那么高效,因为它涉及另一次旅行,但仍然应该比再次生成页面更快。我还可以根据需要处理任何身份验证。

除了我上面对性能的担忧之外,这对我来说听起来“倒退”了,先访问内容服务器,然后重定向到 CDN; Cloud Storage 中是否有一种方法可以在找不到文件的情况下进行配置,它会访问不同的服务器?还是我的方法完全没有意义?

【问题讨论】:

    标签: java google-app-engine cloud google-cloud-storage


    【解决方案1】:

    首先,对于访问限制问题,首先访问您的服务器并重定向到 storage.googleapis.com 是一种非常合理的方法。您可能还想考虑使用Signed URLs。使用此功能,无需在对象上设置 ACL 以进行访问控制,只需将 ACL 保持为私有,并在您决定用户应该具有访问权限时创建限时签名 URL。

    关于何时找不到文件的第二个问题,您可以将Website Configuration 功能与自定义 NotFoundPage 一起使用。这可以是一个 HTML 文件,因此您可以使用它来重定向到您的应用程序服务器。

    【讨论】:

    • 谢谢,这就是我要找的!
    猜你喜欢
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 2023-03-12
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2015-01-25
    相关资源
    最近更新 更多