2016-07-04 45 views
1

這是因爲我部署了一些新的模塊,一個基本的道理檢查問題:的AppEngine安全dispatch.yaml路由模塊/服務

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/,並且意外地被路由到mobile-frontend

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

回答

1

是的,它可以被視爲更安全的方式,你看它。

對於附加.io(或其他)域,您可以添加一個規則爲每個後綴:

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

旁註:你實際上並不需要指定的default模塊的規則 - 與調度文件中的任何規則不匹配的所有請求默認路由到default模塊,使這些規則成爲冗餘。您可以通過使請求不符合您的dispatch.yaml規則並查看default模塊的日誌來進行測試。

+0

謝謝我會照你說的去做,似乎是正確的做法。 (每個域一個)。是的,我認爲任何不匹配都會進入默認值,這是一個有趣的測試,以確保我的整個網站不會崩潰:) –

+0

請記住,dispatch.yaml中的條目數有限制(afaik,它是10) – marcadian

+0

y它是10 ...這使我在8 ... :) –