Так что я отвечу на свой вопрос. Я гуглил и искал stackoverflow, но большинство людей использовали обратный прокси-сервер для направления трафика c на их автономный встроенный сервер Tomcat (большую часть времени приложение Spring Boot), что не подходило для моей ситуации.
Тем не менее, у меня уже был веб-сайт stati c html на alpizano.me
, размещенный на Digital Ocean, который я хотел использовать в качестве внешнего интерфейса и переадресовывать только определенные HTTP-запросы. в мое приложение Spring Boot, которое по сути являлось REST API.
Так что после установки Java и PostgreSQL на мою каплю DigitalOcean я SCP-файл моего JAR (запустил ./mvnw clean package -Dmaven.test.skip=true
для его создания) на мой сервер в каталог, например, /var/myapp.
Затем, проведя несколько дней исследований и попробовав несколько вещей, я смог найти комбинацию, которая позволила бы мне просматривать мой веб-сайт при переходе к alpizano.me
, но все же позволяет мне подключаться к моим конечным точкам API, которые также работали на моем сервере, после того, как я запустил свой jar через java -jar myapp.jar
Так что мне пришлось настроить мой .conf файл в каталоге /etc/apache2/sites-available
(я использовал только 1 виртуальный хост для этого проекта) как:
<VirtualHost *:80>
ServerName yourservername.com
DocumentRoot /var/www/yourservername.com/public_html
ProxyPreserveHost On
ProxyPass /api http://127.0.0.1:8080/
ProxyPassReverse /api http://127.0.0.1:8080/
</VirtualHost>
Обратите внимание на маршрут /api
для маршрутизации, которая идет во встроенный Tomcat через порт 8080 (вы можете не используйте порт 80, иначе он будет конфликтовать с Apache сервером, который уже прослушивает порт 80), иначе, если это просто /
, то он больше не позволит traffi c основывать веб-сайт (alpizano.me), что не это не то, что я хотел.
В этом не было бы необходимости, если бы у вас было отдельное приложение, которое вы хотели бы направить трафиком c, тогда вы могли бы просто использовать /
в качестве своего маршрута, очевидно. Я видел другие посты, в которых говорилось о пересылке заголовков, но это, казалось, не имело для меня никакого значения, и я считаю, что ProxyPreserveHost On
все равно об этом позаботится
Удачи.
Рекомендации:
https://www.digitalocean.com/community/tutorials/how-to-use-apache-as-a-reverse-proxy-with-mod_proxy-on-ubuntu-16-04