Google Cloud Loadbalancer不能与App Engine Blobstore一起工作



我们刚刚创建了一个新的负载均衡器,它可以很好地与我们所有的服务一起工作。唯一的问题是Blobstore。

初始blobservice请求有效——返回一个上传的URL。但是执行该请求(/_ah/upload/)失败,显示404。我的理解是,它应该被重定向到blobstore服务,然后将发送一个响应与上传id。没有负载均衡器也可以正常工作。

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

任何帮助都是感激的!

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

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

Blobstore是一个遗留API,已经被弃用了,由于它的局限性,寻找替代方案是理想的。

您可以考虑使用云存储,正如本概述中提到的那样。可以通过云存储签名的url来实现上传行为,这可以绕过应用引擎上传组件。如果需要该信息,则有必要实现进一步的组件来完成通知,例如用于创建新对象的Pub/Sub。

除了云存储,您还可以在本文档中查看Blobstore的其他替代选项。