Google app engine 将自定义子域映射到App Engine上的特定版本
本页()说明: 使用子域 如果为自定义域设置通配符子域映射,则应用程序将为任何匹配子域的请求提供服务Google app engine 将自定义子域映射到App Engine上的特定版本,google-app-engine,custom-domain,Google App Engine,Custom Domain,本页()说明: 使用子域 如果为自定义域设置通配符子域映射,则应用程序将为任何匹配子域的请求提供服务 如果用户浏览与应用程序版本名或服务名匹配的域,应用程序将提供该版本。 如果用户浏览与服务名称匹配的域,应用程序将为该服务提供服务。 此外,本页()说明: 向default服务中特定版本的可用实例发送请求: https://[VERSION\u ID]-dot-[MY\u PROJECT\u ID].appspot.com http://[VERSION\u ID].[MY\u CUSTOM\
- 如果用户浏览与应用程序版本名或服务名匹配的域,应用程序将提供该版本。
- 如果用户浏览与服务名称匹配的域,应用程序将为该服务提供服务。
default
服务中特定版本的可用实例发送请求:
https://[VERSION\u ID]-dot-[MY\u PROJECT\u ID].appspot.com
http://[VERSION\u ID].[MY\u CUSTOM\u DOMAIN]
我为我的应用程序引擎项目提供以下服务: 以及此服务的以下版本:
“1”
是默认版本<代码>“test1”是一个测试版本
然而,当我进入浏览器时,它提供的是默认版本,而不是“test1”
版本
如果我进入浏览器,我会看到一个错误页面,因为该版本不存在(如预期的那样)
URL按预期工作(即提供“test1”
版本)
这些是我配置的域:
如何让应用程序引擎将请求路由到正确的版本?任何直接映射到应用程序的域都将提供默认服务。如果
test1.mycustomdomain.com
映射为自定义域,则它将始终提供1
(默认)
要使用自定义域为命名的GAE版本提供服务,您需要使用通配符(*.mycustomdomain.com
)映射域,并删除与您的版本冲突的其他映射子域。工作映射域的示例如下:
mycustomdomain.com
www.mycustomdomain.com
*.mycustomdomain.com
test1.mycustomdomain.com
应该提供正确的版本,test1
编辑 关于通配符映射和HTTPS 缔约国指出: 注意:托管SSL证书不支持通配符映射 这可能导致人们相信通配符映射不支持HTTPS。该文件是指。如果您使用自己的SSL证书,App Engine会: 一些应用程序引擎功能使用。例如,应用程序可以使用子域来处理应用程序服务,或处理应用程序的不同版本。要将它们与SSL一起使用,设置SAN或通配符证书是有意义的。通配符证书仅支持一级子域
我必须删除所有映射的子域,还是只删除“冲突”子域?也就是说,我是否必须删除“api”、“test1”和“www”映射才能让“test1”正常工作?另外,通配符映射似乎不允许HTTPS,这是我所需要的。@PaulGrime您只需要删除冲突的部分,我将编辑我的答案以澄清这一部分。关于HTTPS部分,我猜你这么说是因为有文档说明了这一点。这个“托管证书”引用了Google在GAE中为您的自定义域提供的证书。您仍然可以使用自己的来保护通配符域。将此信息添加到编辑中。