Маршрутизация Google App Engine с dispatch.yaml - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь развернуть веб-приложение в своем проекте GCP для песочницы, где приложение уже развернуто. Поэтому я пытаюсь найти путь для одновременного развертывания двух веб-приложений.

Моя отправка выглядит следующим образом

dispatch:

- url: "*/wc/api/.*"
  service: wc-api

- url: "*/wc/.*"
  service: wc-front


- url: "*/.*"
  service: default

Когда я это делаю, все мои звонки на mysandbox.appspot.com/wc/ перенаправляется на мой сервис default, и я не понимаю, почему (я вижу звонки в журналах сервиса default).

Если это помогает , вот app.yaml моей wc-front службы.

runtime: python27
api_version: 1
threadsafe: yes
service: wc-front

default_expiration: "10m"

handlers:
- url: /wc/.*
  script: app.APP
  login: required
  secure: always

Вы видите какую-либо ошибку в этом?

(Вызов напрямую w c -front-dot-mysandbox .appspot.com / wc / возвращает типичную ошибку App Engine 404)

Спасибо

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Похоже, проблема была в обозначении .*. Это должно использоваться только для очень общего правила */.*.

Моя новая - рабочая - рассылка

dispatch:

- url: "*/wc/api/*"
  service: wc-api

- url: "*/wc/*"
  service: wc-front


- url: "*/.*"
  service: default
0 голосов
/ 03 марта 2020

Да, действительно, вам нужно настроить файл dispatch.yaml, чтобы App Engine направлял ваше приложение на основе указанного вами URL-адреса. Кажется, ваш service: default получает все URL-адреса и перенаправляет их на службу, установленную там.

Учитывая это, я бы порекомендовал вам взглянуть на официальную документацию по настройке файла dispatch.yaml - вы я могу получить лучшие идеи о том, как его настроить - и этот другой пост от Сообщества, где другой пользователь использует такой же сценарий использования, как и ваш, который, я считаю, должен вам помочь.

Дайте мне знать, помогла ли вам эта информация!

...