Google app engine appengine safer dispatch.yaml模块/服务路由

Google app engine appengine safer dispatch.yaml模块/服务路由,google-app-engine,app-engine-modules,Google App Engine,App Engine Modules,这是一个基本的感官检查问题,因为我正在部署一些新模块: dispatch.yaml: application: my-app # No version required; this does routing independent of version. dispatch: # Default module serves the typical web resources and all static resources. - url: "*/favicon.ico" modu

这是一个基本的感官检查问题,因为我正在部署一些新模块:

dispatch.yaml:

application: my-app
# No version required; this does routing independent of version.

dispatch:
  # Default module serves the typical web resources and all static resources.
  - url: "*/favicon.ico"
    module: default

  # Default module serves simple hostname request.
  - url: "simple-sample.appspot.com/"
    module: default

  # Send all mobile traffic to the mobile frontend.
  - url: "*/mobile/*"
    module: mobile-frontend

  # Send all work to the one static backend.
  - url: "*/work/*"
    module: static-backend
“*.com/mobile/*”
代替
“*/mobile/*”
,不是更安全吗?如果其他模块可能在其URL的某处使用
/mobile/
,并意外地被路由到
移动前端


如果我的域名不是
.com
,例如
.io

是的,从您的角度来看,它可能更安全

对于附加的
.io
(或其他)域,您可以为每个后缀添加规则:

- url: "*.com/mobile/*"
  module: mobile-frontend
- url: "*.io/mobile/*"
  module: mobile-frontend

旁注:您实际上不需要为
default
模块指定规则-默认情况下,所有与分派文件中的任何规则不匹配的请求都会路由到
default
模块,这使得这些规则变得多余。您可以通过发出不符合任何
dispatch.yaml
规则的请求并查看
default
模块的日志来测试这一点。

谢谢,我会照您说的做,这似乎是正确的方法。(每个域一个)。是的,我想任何不匹配的都会变成默认值,这是一个有趣的测试,可以确保我的整个网站不会宕机:)请记住,调度中的条目数量是有限制的。。。我现在8岁了……:)此外,我没有一些自定义域的SSL,但有些模块是https(安全:始终),这导致在某些情况下无法访问站点。