我们在每台主机上的两台服务器上部署了两个具有相同上下文根的 war 文件。保持相同上下文根的原因是它是一场开源战争,并且更改上下文根需要一些调整,因此我们尝试使用相同的上下文根(但是,如果必须,我们愿意更改上下文根)。
以下是主机名和端口名
drhapp05:8085 - 具有上下文根 /openam 的 IDP drhapp05:8086 - 具有上下文根 /openam 的 IDPProxy drhapp06:8085 - 具有上下文根 /openam 的 IDP drhapp06:8086 - 具有上下文根 /openam 的 IDPProxy
我们的目标是,当我们访问 url
idpdev.devs1.int ==> 请求应该转发到 IDP 上运行
drhapp05:8085/openam 或 drhapp06:8085/openam
idpproxydev.devs1.int ==>请求应该转发到运行在
drhapp05:8086/openam 或 drhapp06:8086/openam
因此,我们根据 https://community.jboss.org/wiki/VirtualHostsWithJBossAS7上的文档进行了以下更改
在 domain.xml 中(因为我们使用域模式)
<virtual-server name="devidpvs" default-web-module="OAM-IDP-1.0">
<alias name="idpdev.devs1.int"/>
<alias name="drhapp05"/>
<alias name="drhapp06"/>
</virtual-server>
<virtual-server name="devproxyvs" default-web-module="OAM-IDPPROXY-1.0">
<alias name="idpproxydev.devs1.int"/>
<alias name="drhapp05"/>
<alias name="drhapp06"/>
</virtual-server>
在每次战争中的 jboss-web.xml
在 jboss-web.xml 中的 idp 版本的 openam war (OAM-IDP-1.0.war) 我们
<jboss-web>
<context-root>openam</context-root>
<virtual-host>devidpvs</virtual-host>
</jboss-web>
在 jboss-web.xml 中的 openam war (OAM-IDPPROXY-1.0) 的 idpproxy 版本中,我们有
<jboss-web>
<context-root>openam</context-root>
<virtual-host>devproxyvs</virtual-host>
</jboss-web>
最后在 httpd.conf文件中的 modcluster 上,我们将以下内容添加到网络服务器上的 httpd.conf 文件中:
<VirtualHost *:80>
ServerName idpdev.devs1.int
</VirtualHost>
<VirtualHost *:80>
ServerName idpproxydev.devs1.int
</VirtualHost>
此配置不允许同时访问两个 url。
如果我们关闭说 drhapp05:8086 - IDPProxy drhapp06:8086 - IDPProxy 然后我们可以使用转发请求的 url idpdev.devs1.int/openam 访问 IDP 到 drhapp05:8085/openam 或 drhapp06:8085/openam 反之亦然。
我们尝试了 ProxyPass On 指令,但这会重定向请求而不是转发我们不想要的请求。
有什么想法我们的配置有什么问题吗?
我们还想知道是否有办法在 domain.xml 中的 alias 标记下指定端口名称。
-内存