Если SQL-сервер соразмещен, свяжитесь со своим поставщиком соразмещения, чтобы удостовериться, что их локальный брандмауэр не блокирует порт также.
То, что вы делаете, уже должно работать. У меня есть аналогичная установка, где tomcat работает с 8080, и мне не нужен внешний URL (следовательно, конечный пользователь никогда не должен знать, что я запускаю его на 8080).
Я делаю proxypass, аналогичный тому, что вы делали, а также использую перенаправить совпадение или перенаправить навсегда в случае изменения моего внутреннего URL. Пример, если я перехожу с http на https и не хочу менять URL-адрес в клиентских API или других приложениях.
Вам следует попробовать использовать модуль перенаправления apache. Это позволит вам выполнять внутреннее перенаправление без изменения внешнего URL.
Пример:
<VirtualHost *:80>
ServerName test.web.site
Redirect permanent / http://another.site.port
</VirtualHost>
Приведенный выше пример будет дополнением к тому, что вы уже делаете с помощью ProxyPass.
Вы можете рассмотреть что-то вроде этого. Прошло некоторое время с тех пор, как я использовал Tomcat, но я делаю нечто очень похожее для приложения node.js. В моем сценарии о корне документа заботится узел - это может иметь место и в вашей конфигурации Tomcat, но вы можете протестировать, а если нет, довольно легко просто добавьте императив DocumentRoot по мере необходимости.
<VirtualHost *:80>
ServerName mini.local
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
AddDefaultCharset Off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://mini.local:4040/
ProxyPassReverse / http://mini.local:4040/
</VirtualHost>