Spring Web: сопоставление URL-адреса с автономным приложением Spring - PullRequest
0 голосов
/ 12 июня 2018

У меня есть два автономных Spring Boot / Web-приложения .jars, A и B, созданные сторонними разработчиками, со своими собственными отображениями URL, о которых я заранее не знаю.

Я бы хотелсоздать установку, в которой «localhost: 8080 / A» сопоставляется (проходит через) с «/».Точно так же "localhost: 8080 / B" должен пройти через отображение "/" B.

Дополнительные сопоставления, о которых, опять же, я не обязательно знаю заранее, также должны проходить соответственно - поэтому "localhost: 8080 / A / items" должен проходить через "/ items" A и т. Д.

У меня нет исходного кода для A или B, только файлы .jar.

В целях безопасности A и B должны иметь отдельные области, не зная друг друга или не способные взаимодействовать с каждымДругой.Вся установка должна вести себя так, как если бы A и B были отдельными «внутренними» серверами внутри моего «внешнего» сервера localhost.

Может ли это быть достигнуто с помощью Spring Boot / Web-оболочки или приложения-шлюза или каким-либо другим способом?

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете использовать весеннюю загрузку с Zuul в качестве третьего приложения, работающего на 8080, с настройкой маршрутов для A и B, аналогичной описанной вами.

zuul:
  routes:
    app-A:
      path: /A/**
      url: http://localhost:8081/
    app-B:
      path: /B/**
      url: http://localhost:8082/

Эта конфигурация (application.yml) изВаше третье приложение будет направлять трафик «A» на порт 8081, а трафик «B» - на порт 8082.

Это быстро и грязно, но стоит начать.

В качестве альтернативы вы можете использоватьSpring Cloud Gateway, чтобы получить аналогичный тип установки с дополнительной возможностью делать сокеты / реактивные.

...