appengine更安全dispatch.yaml路由到模块/服务

时间:2016-07-04 23:59:10

标签: 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"
    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/*"会不会更安全?如果其他模块可以在某个地方的网址中使用/mobile/并意外地路由到mobile-frontend

如果我的域名不是.com,例如,该怎么办? .io

1 个答案:

答案 0 :(得分:2)

是的,你可以认为它更安全。

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

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

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