可以将自定义域指向特定的Google App Engine版本域吗?
一个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 个回答
我刚刚试了一下,现在我的设置是这样的:
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,然后往下滚动到“关于通配符子域名映射的更多信息”部分。
这可能不是最终的官方说法,但在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
这个功能刚刚上线:GAE 1.6.3版本将支持将自定义域名映射到应用的特定版本。
https://groups.google.com/forum/m/#!topic/google-appengine/detHVsR2Y5I/discussion