首页 > 解决方案 > 将服务部署到子域 Google App Engine

问题描述

我的 Google App Engine 项目中有两个服务:它们目前的默认和 beta 版本已成功部署到不同的域(例如,示例和其他网站),因为我无法在子域上部署一个。我想要的是默认为:

例子.com

并且测试版位于:

beta.example.com

所以我只需要维护 1 个域。我已经制作并部署了一个 dispatch.yaml 文件,并在应用引擎设置和我的 DNS 注册器中添加了 beta CNAME DNS 注册。

dispatch:
  - url: "example.com/*"
    service: default

  - url: "otherwebsite.com/*"
    service: betaversion
    
  - url: "beta.example.com/*"
    service: betaversion

beta.example.com 有效,但它正在路由到默认服务。我觉得我一定错过了一些小东西,但这让我发疯。任何帮助或想法将不胜感激。

标签: google-app-engineservicesubdomain

解决方案


如果这对任何人都有帮助,问题是我更新的 dispatch.yaml 文件位于 betaversion 服务中未部署的 app.yaml 文件版本中。

如果编辑 dispatch.yaml 文件 - 确保您还重新部署包含该调度文件的位置。就我而言,使用

gcloud app deploy service-folder/dispatch.yaml 

除非我也部署了该服务,否则它不起作用

gcloud app deploy service-folder/app.yampl service-folder/dispatch.yaml

推荐阅读