我已经通过 mod_proxy 使用 Apache-Tomcat 连接器配置了我的 Web 应用程序 - 见下文。
<IfModule mod_proxy.c>
ProxyPass /myapp http://127.0.0.1:8080/myapp
ProxyPassReverse /myapp http://127.0.0.1:8080/myapp
</IfModule>
此外,我正在使用子域来通过读取 URL 直接识别客户端 - 请参见下面的示例。
Client1 类型
http://client1.mydomain.com/myapp
Client2 类型
http://client2.mydomain.com/myapp
现在,我想读取 URL 并解析客户端名称(client1 或 client2)。我的 Web 应用程序的其余部分是根据客户端的身份驱动的(当然,在身份验证之后)。但问题是,当我尝试使用 HttpServletRequest 的 getRequestURL 获取 URL 时,我得到的是http://127.0.0.1:8080/myapp而不是 client1.mydomain 或 client2.mydomain。我想,这是由于 Apache 被用作主要调度程序,并且对 Apache httpd 的请求被转发到 localhost Tomcat。
我不想更改 URL 的结构(如 client1.mydomain.com/client1),也不想通过 UI 向用户询问客户端信息。我如何实现这一目标?