我需要设置一个 apache 反向代理,其中多个 jboss 实例作为目标服务器(具有不同的 IP)。
我已经在 DNS 中设置了一个 URL http://jboss-test.domain.com
,我想将我的客户端重定向到他们自己的 jboss 服务器,例如:http://jboss1.domain.com/server1/
,,http://jobss2.domain.com/server2/
并保留我的代理测试 URL。一些用户只能在 jboss 1 上访问,而其他一些用户只能在 jboss2 上访问。
位置“server1”和“server2”在实际的 jboss url 登录路径中不存在http://jboss1.domain.com/jbossapp/faces/login/pages/login-index.xhtml?environment=WEB
目前我只能对 1 台服务器执行此操作,其虚拟主机配置如下:
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /server1/jbossapp/ http://jboss1.domain.com/jbossapp/
ProxyPassReverse /server1/jbossapp/ http://jboss1.domain.com/jbossapp/
ProxyPass / http://jboss1.domain.com/
ProxyPassReverse / http://jboss1.domain.com/
Loglevel debug
ErrorLog /var/log/apache2/stweb-error_log
CustomLog /var/log/apache2/stweb-access_log combined
</VirtualHost>
使用此配置,当我调用测试代理 URL 时,我可以正确重定向到 jboss 登录页面:
http://jboss-test.domain.com/server1/ -> http://jboss-test.domain.com/jbossapp/faces/login/pages/login-index.xhtml?environment=WEB
我想要得到类似的东西:
ProxyPass /server1/jbossapp/ http://jboss1.domain.com/jbossapp/
ProxyPassReverse /server1/stweb-dr/ http://jboss1.domain.com/jbossapp/
ProxyPass /server2/jbossapp/ http://jboss2.domain.com/jbossapp/
ProxyPassReverse /server2/stweb-dr/ http://jboss2.domain.com/jbossapp/
ProxyPass / http://jboss1.domain.com/
ProxyPassReverse / http://jboss1.domain.com/
ProxyPass / http://jboss2.domain.com/
ProxyPassReverse / http://jboss2.domain.com/
最后一个配置不起作用,因为当我调用 server2 时,我将随时重定向到 server1 的“/”
非常感谢您的帮助