Google App Engine 路由 dispatch.yaml

Google App Engine routing with dispatch.yaml

我尝试在我的沙盒 GCP 项目上部署一个 Web 应用程序,该项目已经部署了一个应用程序。所以我正在尝试同时部署两个网络应用程序的路径。

我的调度是这样的

dispatch:

- url: "*/wc/api/.*"
  service: wc-api

- url: "*/wc/.*"
  service: wc-front


- url: "*/.*"
  service: default

当我这样做时,我对 mysandbox.appspot.com/wc/ 的所有调用都被重定向到我的 default 服务,我不明白为什么(我可以在default 服务的日志)。

如果这有帮助,这是我的 wc-front 服务的 app.yaml

runtime: python27
api_version: 1
threadsafe: yes
service: wc-front

default_expiration: "10m"

handlers:
- url: /wc/.*
  script: app.APP
  login: required
  secure: always

你看到这里有什么错误吗?

(直接调用 wc-front-dot-mysandbox.appspot.com/wc/ returns 典型的 App Engine 404 错误)

谢谢

是的,的确,您需要配置 dispatch.yaml 文件,App Engine 才能根据您在那里设置的 URL 路由您的应用程序。您的 service: default 似乎正在获取所有 URL 并将它们重定向到那里设置的服务。

考虑到这一点,我建议您查看有关配置 dispatch.yaml 文件的官方文档 - 您可以获得关于如何配置它的一些更好的想法 - 以及其他 post来自社区,那里的另一个用户有与您相似的用例,我相信应该对您有所帮助。

如果这些信息对您有帮助,请告诉我!

看来问题出在 .* 表示法上。这应该只用于非常通用的 */.* 规则。

我的新 - 工作 - 调度

dispatch:

- url: "*/wc/api/*"
  service: wc-api

- url: "*/wc/*"
  service: wc-front


- url: "*/.*"
  service: default