Вы должны быть в состоянии достичь желаемого результата с помощью виртуального хостинга. Также рекомендуется передавать запросы в tomcat по протоколу AJP вместо HTTPS. Попробуйте добавить это в конфигурацию Apache
NameVirtualHost *:443
<VirtualHost *:443>
ServerName app1.host
ProxyPass / ajp://localhost:8009/app1/
</VirtualHost>
<VirtualHost *:443>
ServerName app2.host
ProxyPass / ajp://localhost:8009/app2/
</VirtualHost>
Если вы не изменили настройки сервера по умолчанию для Tomcat, все должно работать так, как есть. В противном случае убедитесь, что указан порт AJP, настроенный в файле conf / server.xml Tomcat. Должна быть строка, похожая на эту:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Убедитесь, что у вас есть модули mod_proxy и mod_proxy_ajp, загруженные в конфигурации Apache, это может варьироваться в зависимости от вашей установки Apache. Также удалите все ранее настроенные строки «ProxyPass / ...», так как они будут мешать новой конфигурации. Надеюсь, это работает для вас.