适用于特定版本的Google App Engine自定义子域映射

时间:2019-03-21 00:46:37

标签: google-app-engine

默认情况下,App Engine应用的特定版本是通过https://[VERSION_ID]-dot-[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com之类的URL routed

是否可以通过自定义域获得类似的东西?

我目前为我的应用配置了一个子域映射,该映射配置了指向ghs.googlehosted.com的CNAME DNS记录(App Engine不提供我的“裸”域)。这允许从该子域提供我的应用的默认版本,但我也希望能够使用我的域来测试应用的新版本(出于各种原因,例如共享Cookie等)

例如,假设我的域为typeracer.com,而我在App Engine中的自定义域映射为data.typeracer.com:我希望能够通过{{ 1}}。有什么办法吗?

我查看了App Engine文档,以添加wildcard subdomain mappings并使用dispatch.yaml。但是,这似乎仅适用于路由特定的服务,而不适用于应用程序的特定版本

1 个答案:

答案 0 :(得分:2)

否,由于映射是每个GAE服务的(子)域,您无法确切要求什么,因此您无法在自定义域设置屏幕中选择服务的特定版本。

类似的声音可能试图基于服务版本实现不同的环境(例如登台),这有一些缺点,请参见Continuous integration/deployment/delivery on Google App Engine, too risky?

如果是这样,您可以尝试使用其他服务来实现它们,

  • 将允许您为每个环境映射一个(子)域
  • 您将避免上述“问答”中提到的所有弊端

您提到的域命名方案建议使用可变嵌套级别,这本身可能是有问题的,请参见Sub domain not listed in Google App Engine while enabling SSL for custom domains。也许尝试使用https://data-[VERSION_ID].typeracer.com之类的方法代替https://[VERSION_ID].data.typeracer.com