【问题标题】:appengine safer dispatch.yaml routing to modules / servicesappengine 更安全的 dispatch.yaml 路由到模块/服务
【发布时间】:2016-11-06 16:55:39
【问题描述】:

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

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?

【问题讨论】:

    标签: google-app-engine app-engine-modules


    【解决方案1】:

    是的,从您的角度来看,它可能被认为更安全。

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

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

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

    【讨论】:

    • 谢谢,我会照你说的做,似乎是正确的方法。 (每个域一个)。是的,我认为任何不匹配都会进入默认值,这是一个有趣的测试,以确保我的整个网站没有出现故障 :)
    • 请记住,dispatch.yaml 中的条目数是有限制的(afaik,它是 10)
    • 是的,现在是 10... 而这让我在 8... :)
    • 另外,我没有针对某些自定义域的 SSL,但某些模块是 https (secure:always),这导致在某些情况下无法访问该站点。
    猜你喜欢
    • 2014-11-16
    • 2015-12-28
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多