GCP 将自定义域指向特定的 App Engine 服务

GCP Point Custom Domain to Specific App Engine Service

我目前有一个包含四个服务的 Google App Engine Flexible 项目。当我使用文档 https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains 将我的自定义域映射到我的项目时,它会自动指向不是前端应用程序的默认服务。我如何将它映射到不同的服务。

您不能在应用级自定义域映射中将某个(子)域映射到某个服务,映射仅在应用级(作为一个整体)完成。

要将某个(子)域定向到您应用内的某个服务,您需要使用 a dispatch file,例如:

dispatch:
  - url: "example.com/*"
    module: <frontend-service-name>

旁注:您可能想重新考虑在非默认服务中处理前端的决定:恕我直言,前端最适合处理传入的任何垃圾请求(通常不匹配任何路由规则,并且会因此被引导到默认服务)。如果您的默认服务做的事情比前端更敏感,它可能不喜欢垃圾邮件进来。

@dan 的回答不再是最新的:

dispatch.yaml 文件的命名从 'module' 更改为 'service',如下所示:

dispatch:
   - url: "sub1.yourdomain.com/*"
     service: web-app

您通过此命令部署 stand-alone-file(它不必位于项目文件夹中):

gcloud app deploy dispatch.yaml

参考:https://cloud.google.com/appengine/docs/standard/python/config/dispatchref