Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 将自定义子域映射到App Engine上的特定版本_Google App Engine_Custom Domain - Fatal编程技术网

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中为您的自定义域提供的证书。您仍然可以使用自己的来保护通配符域。将此信息添加到编辑中。