可以将自定义域指向特定的Google App Engine版本域吗?

12 投票
6 回答
1722 浏览
提问于 2025-04-17 13:02

一个App Engine应用可以通过特定的版本ID进行部署,具体信息可以参考这个链接: http://code.google.com/appengine/docs/python/config/appconfig.html

假设你原来的应用有一个默认域名: myapp.appspot.com

你可以通过Google Apps将自己的自定义域名指向这个默认域名,比如: www.myapp.com --> (CNAME) myapp.appspot.com

但是,你也可以上传一个版本标识符,并通过下面的方式访问它: newversion.myapp.appspot.com

我想知道的是,是否可以将自定义域名连接到这个非默认版本的应用上? v2.myapp.com --> newversion.myapp.appspot.com ??

我觉得这可能不被支持……但希望有人能确认一下(因为我找不到明确的文档说“你不能这样做”)


补充:如果你看到这个……你可以使用 dispatch.yaml 文件来指向特定的服务,但不能指向特定的版本……所以截至2017年底,仍然没有“内置”的解决方案来实现这个功能

6 个回答

2

我刚刚试了一下,现在我的设置是这样的:

  • CNAME 记录:*.example.com. -> ghs.google.com.
  • 在 Google Apps 中把 *.example.com 映射到我的 App Engine 应用程序

现在,当我访问 http://versionA.example.com/ 时,它会显示 versionA(之前这个地址是 http://versionA.myappid.appspot.com/)。

显然,你还可以做一些更高级的事情,比如使用 *.appengine.example.com 来实现 http://versionA.appengine.example.com

可以查看 https://developers.google.com/appengine/docs/domain,然后往下滚动到“关于通配符子域名映射的更多信息”部分。

2

这可能不是最终的官方说法,但在Google App Engine(GAE)上有一个被接受的bug报告,似乎和你的问题有关。如果我理解你的问题(以及这个bug报告)没错,答案是目前无法将子域名指向GAE上你应用的特定自定义版本。

你可以在这里查看这个bug报告:

http://code.google.com/p/googleappengine/issues/detail?id=2878

这个bug是关于Facebook Connect和测试的,但评论似乎表明GAE在将自定义域名指向应用的指定版本方面存在更广泛的问题。

你还可以查看与这个bug报告相关的Google Groups讨论,链接在这里:

http://groups.google.com/group/google-appengine/browse_thread/thread/3e85fc4ae426a46f

3

这个功能刚刚上线:GAE 1.6.3版本将支持将自定义域名映射到应用的特定版本。

https://groups.google.com/forum/m/#!topic/google-appengine/detHVsR2Y5I/discussion

撰写回答