Можно ли сопоставить все запросы к маршруту по определенному пути, т. е. '/ api / **' к другому приложению в pcf? - PullRequest
0 голосов
/ 11 мая 2019

Как видно из названия, у меня есть приложение внешнего интерфейса и API-интерфейс сервера. Каждый со своим собственным манифестом работает в pcf в своих собственных контейнерах. Они имеют одинаковое происхождение. Я хочу перенаправить все запросы API в API-интерфейс сервера, а все остальные запросы - в приложение внешнего интерфейса. В настоящее время это возможно с помощью map-route cmd в pcf cli или в диспетчере приложений. Для каждой конечной точки, имеющейся в моем бэкэнде api, я сопоставляю конечную точку с маршрутом «api / path1», «api / path2», «api / path3», «api / path4», «api / path5», api / path6 ',' api / path7 ',' api / path8 ',' api / path9 '................ кроме единственной проблемы, я должен перечислить каждую конечную точку, которую я хочу отобразить , Подстановочные знаки не поддерживаются .. по крайней мере, я не смог заставить их работать. Есть идеи?

1 Ответ

0 голосов
/ 11 мая 2019

Для каждой конечной точки, имеющейся в моем бэкэнде api, я сопоставляю конечную точку с маршрутом 'api / path1', 'api / path2', 'api / path3', 'api / path4', 'api /path5 ', api / path6', 'api / path7', 'api / path8', 'api / path9'

Если все под /api/ идет в ваше бэкэнд-приложение, то в этом нет необходимостичтобы наметить отдельные пути, как это.Этого должно быть достаточно для сопоставления /api/ с вашим бэкенд-приложением, и каждый запрос, начинающийся с /api/, будет направляться в ваше бэкэнд-приложение.

Ключ в том, что все в /api/ идет в бэкэнд-приложение.Если вы хотите иметь /api/v1, /api/v2, /api/v3 и /api/v4 для перехода к бэкэнду и /api/something_else для перехода в другое приложение, то это было бы более сложным, поскольку все они начинаются с /api/, а затем выМне нужно добавить отдельные маршруты в CF.

Подстановочные знаки не поддерживаются ... по крайней мере, я не смог заставить их работать.

Правильно.Конкретного символа подстановки не существует, но в основном это совпадение с «начинается с».Если путь для запроса начинается с пути, который вы добавляете в свой маршрут, он будет совпадать.

Пример: маршрут https://www.example.com/path1 соответствует https://www.example.com/path1, https://www.example.com/path1/subpath и даже https://www.example.com/path1/sub/sub/sub/sub/path, поскольку онивсе начинаются с /path1.

Подробнее см. здесь «Создание HTTP-маршрута с путем».

https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#create-route

...