Google Cloud Loadbalancer 无法与 App Engine Blobstore 一起使用

Google Cloud Loadbalancer not working with App Engine Blobstore

我们刚刚创建了一个新的 Loadbalancer,它可以与我们的所有服务完美配合。我们遇到的唯一问题是 Blobstore。

初始 blobservice 请求有效 - 为上传返回 URL。但是执行该请求 (/_ah/upload/) 失败并显示 404。我的理解是它应该被重定向到 blobstore 服务,然后该服务将发送带有上传 ID 的响应。这在没有负载平衡器的情况下工作正常。

我看不到将 blobstore 添加为服务的方法,所以我不知道该怎么做才能确保将请求路由到正确的位置。

非常感谢任何帮助!

目前,当在 App Engine 的 HTTPS 负载平衡器中使用时,这是 Blobstore 的一个已知限制。

使用 App Engine 到 Blobstore 服务,生成的 URL 上传共享到 Google Front End。引入负载均衡器时,返回 App Engine URL,并导致 302 重定向。返回的 URL 用作通过负载均衡器连接的相对路径,并且由于它与 GFE 预期的路径不一致,因此抛出 404 响应。

Blobstore 是遗留的 API 并且已被弃用,并且由于它的局限性,寻找替代品是理想的选择。

您可以考虑使用 Cloud Storage, as mentioned in this overview. It is possible to achieve the upload behavior through Cloud Storage signed URLs 绕过 App Engine 上传组件。如果需要该信息,则有必要实施一个进一步的组件来通知完成,例如 Pub/Sub 用于创建新对象。

除了 Cloud Storage,您还可以在此 documentation 查看 Blobstore 的其他替代选项。