【问题标题】:Google App Engine Flexible - routing to specific serviceGoogle App Engine 灵活 - 路由到特定服务
【发布时间】:2018-08-29 16:54:25
【问题描述】:

是否可以在不创建 dispatch.yaml 的情况下路由到 Google App Engine Flexible 中的特定服务?

文档 (https://cloud.google.com/appengine/docs/flexible/java/how-requests-are-routed#default_routing) 说我们可以通过调用 http://SERVICE_ID.MY_CUSTOM_DOMAIN 路由到特定服务。

当我尝试http://SERVICE_ID.MY_CUSTOM_DOMAIN 时,它不起作用。请求被路由到默认而不是服务。

所以我尝试了dispatch.yaml,它成功了。

dispatch:
  - url: "SERVICE_ID.MY_CUSTOM_DOMAIN/*"
    service: SERVICE_ID

向服务发送请求是默认路由,它应该已经路由到服务(但没有工作?)。为什么在这种情况下我们需要dispatch.yaml 文件?

【问题讨论】:

  • 您是否在 GAE 自定义域配置中指定子域?
  • @Jofre:是的,我在自定义域中指定了子域。

标签: google-app-engine google-cloud-platform


【解决方案1】:

如果您指定子域,它将始终指向您的 GAE 的默认服务。

为了能够使用子域路由到每个服务,您必须使用wildcard mapping

【讨论】:

  • 在哪里设置通配符映射?当我添加一个新的自定义域时它在吗?我应该将 *.SERVICE_ID.MY_CUSTOM_DOMAIN 放在子域字段中吗?
  • 没有。在GAE设置的第2步添加自定义域时,当它要求The following domain and subdomains will be mapped:时,您必须输入*.example.com。使用此配置,当访问 service-id.example.com 时,您将被路由到服务 service-id。如果您使用*.service-id.example.com,您将在访问service-id.example.com 时被路由到default 服务,并且要访问service-id 服务,您必须使用更高级别的子域(与通配符匹配的那个):service-id.service-id.example.com .配置完成后,相应地更新 DNS。
猜你喜欢
  • 2016-08-26
  • 2018-01-24
  • 2019-12-03
  • 2020-04-19
  • 2018-07-15
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
相关资源
最近更新 更多