Я собираюсь создать очень типичный и не требующий ресурсов бэкэнд-проект, и мой общий вопрос - как организовать его лучше.
Бэкэнд-часть предоставляет REST API издесь будут использоваться Java и Spring Boot.Вопрос о внедрении Tomcat или развертывании WAR все еще остается открытым.Я бы предпочел развернуть WAR, если другой вариант не имеет некоторых преимуществ для моего случая.Для разработки я использую Eclipse и Maven, и в конечном итоге все это будет работать на RHEL.
Интерфейсная часть - это веб-приложение, реализующее пользовательский интерфейс, который обращается к API.Здесь я собираюсь использовать React.
В ряде учебных пособий предлагается использовать frontend-maven-plugin для обслуживания содержимого веб-интерфейса с помощью Spring Boot (с использованием узла и npm под капотом).Это выглядит красиво и компактно.В результате у нас есть веб-приложение по адресу:
http://my.domain:8080/index.html
, которое обращается к API по адресу:
http://my.domain:8080/api/...
Но никто из тех, кого я нашел до сих пор, не предлагает запустить веб-приложение по умолчанию http порт (80) по адресу:
http://my.domain/index.html
, который я считаю необходимым для реального производства.
Есть также способы перенаправления вызовов с порта 80 на 8080, ноэто не похоже на хитрый патч?Сам Apache Tomcat может быть (по-видимому) настроен для работы на порте 80, но мне это тоже не нравится.
Итак, есть ли способ организовать такой проект в целом (желательно управляемый)Spring Boot и Tomcat) и его части не «разбросаны» по разным независимым сервисам?