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/*"
? В случае, если другие модули могут использовать /mobile/
в их URL-адресах и где-то случайно mobile-frontend
?
Что делать, если у меня есть доменные имена, кроме .com
например .io
?
1 ответ
Да, это может считаться более безопасным, если смотреть на него.
Для дополнительного .io
(или другие) домены, вы можете добавить правило для каждого из этих суффиксов:
- url: "*.com/mobile/*"
module: mobile-frontend
- url: "*.io/mobile/*"
module: mobile-frontend
Примечание: на самом деле вам не нужно указывать правила для default
модуль - все запросы, не соответствующие каким-либо правилам в файлах отправки, по умолчанию направляются на default
модуль, делающий такие правила излишними. Вы можете проверить это, сделав запрос, не соответствующий ни одному из ваших dispatch.yaml
правила и смотреть default
логи модуля.