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

Nic*_*ler 5 google-app-engine google-cloud-platform gcp

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

Mar*_*ber 7

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

dispatch.yaml文件的名称从“模块”更改为“服务”,如下所示:

dispatch:
   - url: "sub1.yourdomain.com/*"
     service: web-app
Run Code Online (Sandbox Code Playgroud)

您可以通过以下命令部署独立文件(该文件不必位于项目文件夹中):

gcloud app deploy dispatch.yaml
Run Code Online (Sandbox Code Playgroud)

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

  • 从技术上讲,`module`语法仍然可以工作:)但是,感谢您的回答-我什至没有注意到文档中的语法更新,我想我必须在不赞成使用旧语法之前更新文件。 (2认同)

Dan*_*scu 5

您无法在应用程序级别的自定义域映射中将某个(子)域映射到某个服务,该映射仅在应用程序级别(整体)上完成。

要将某个(子)域定向到您应用内的某个服务,您需要使用调度文件,例如:

dispatch:
  - url: "example.com/*"
    module: <frontend-service-name>
Run Code Online (Sandbox Code Playgroud)

旁注:您可能需要重新考虑在非默认服务中处理前端的决定:前端是恕我直言,最适合处理传入的任何垃圾请求(通常不匹配任何路由规则,因此将定向到默认服务)。如果您的默认服务比前端更敏感,则可能不希望收到垃圾邮件。