假设我有一个Google App Engine应用程序,它有几个具有多个版本的模块。我可以将自定义域名映射到应用程序特定模块的特定版本吗?
例如:
http://www.example.com应映射到http://module1-dot-app1.appspot.com
答案 0 :(得分:12)
1.将模块映射到自定义域
假设您是域 example.com 的管理员,并且您希望将子域 www.example.com 映射到模块 webmodule 在您的应用程序中 myapp.appspot.com
www.example.com - >的 webmodule.myapp.appspot.com 强>
您可以执行以下操作:admin.google.com和App Engine应用程序部分配置您的应用程序,以便将其映射到网址 www.example.com 。当然,请按照配置域的说明进行操作(您应该在DNS配置中使用ALIAS www和HOST ghs.googlehosted.com添加CNAME条目)。
完成此操作后,网址 www.example.com 会链接到您的应用程序默认模块。要重定向到 webmodule ,您需要使用 dispatch 文件配置应用程序内部路由,如下所示:
https://developers.google.com/appengine/docs/python/modules/routing
在你的情况下,你需要的是这样的东西(这是来自Python应用程序的dispatch.yaml文件):
dispatch:
- url: "www.example.com/*"
module: webmodule
2.将版本映射到自定义域
关于版本,似乎您无法将网址映射到特定模块版本。您可能做的是将包含版本的URL映射到特定模块,但这可能有点令人困惑。
答案 1 :(得分:1)
正如thetonrifles已经指出的那样,你必须使用dispatch.yaml文件,该文件位于你的默认模块中。
但是,在使用安全域/子域时,我也遇到了一些问题。如果您已经为自定义域上传了SSL证书,并且在事后添加了自定义子域,则需要返回SSL证书部分并启用您添加的子域,否则它们将一直显示为空白。