Я настроил свое веб-приложение, используя соединитель Apache-Tomcat через mod_proxy - см. Ниже.
<IfModule mod_proxy.c>
ProxyPass /myapp http://127.0.0.1:8080/myapp
ProxyPassReverse /myapp http://127.0.0.1:8080/myapp
</IfModule>
Кроме того, я использую субдомены для прямой идентификации клиентов путем чтения URL-адреса - пример приведен ниже.
Тип клиента1
http://client1.mydomain.com/myapp
Тип клиента2
http://client2.mydomain.com/myapp
Теперь я хочу прочитать URL и разобрать имя клиента (client1 или client2). Остальная часть моего веб-приложения определяется тем, кто является клиентом (конечно, после аутентификации). Но проблема в том, что когда я пытаюсь получить URL с помощью getRequestURL HttpServletRequest, я получаю http://127.0.0.1:8080/myapp вместо client1.mydomain или client2.mydomain. Я полагаю, это связано с тем, что Apache используется в качестве основного диспетчера, а запрос к Apache httpd перенаправляется на локальный хост Tomcat.
Я не хочу изменять структуру URL (например, client1.mydomain.com/client1) и не хочу запрашивать у пользователя информацию о клиенте через пользовательский интерфейс. Как мне этого добиться?