2015年8月6日星期四

EAP_027:为不同的web应用配置不同的virtual server

环境:JBoss EAP 6.4.0

需求是这样的:有两个web 应用 test1.war 和 test2.war,要求test1应用只能在test1host主机名下访问,test2应用只能在test2host主机名下访问。

1. 修改standalone.xml,找到 web subsystem,增加两个 virtual server
<virtual-server name="webserver1" enable-welcome-root="false" default-web-module="test1.war">
                <alias name="test1host"/>
                <alias name="www.webserver1.org"/>
            </virtual-server>
            <virtual-server name="webserver2" enable-welcome-root="false" default-web-module="test2.war">
                <alias name="test2host"/>
                <alias name="www.webserver2.org"/>
            </virtual-server>

2. 配置 test1.war 中的 jboss-web.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>

<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.jboss.org/schema/jbossas
    http://www.jboss.org/schema/jbossas/jboss-web_7_2.xsd">
    <!-- Configure usage of the security domain "other" -->
    <context-root>/</context-root>
    <virtual-host>webserver1</virtual-host>
</jboss-web>

3. 配置 test2.war 中的 jboss-web.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>

<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.jboss.org/schema/jbossas
    http://www.jboss.org/schema/jbossas/jboss-web_7_2.xsd">
    <!-- Configure usage of the security domain "other" -->
    <context-root>/</context-root>
    <virtual-host>webserver2</virtual-host>
</jboss-web>

4. 修改/etc/hosts,增加如下映射 
127.0.0.1 test1host  
127.0.0.1 test2host  
127.0.0.1 www.webserver1.org  
127.0.0.1 www.webserver2.org

5. 启动EAP Server,部署test1.war 和 test2.war
(1)访问 http://test2host:18080/,显示test1应用的页面内容。
(2)访问 http://www.webserver1.org:18080/,显示test1应用的页面内容。
(3)访问 http://test2host:18080/,显示test2应用的页面内容。
(4)访问 http://www.webserver2.org:18080/,显示test2应用的页面内容。

参考文献:
1. https://access.redhat.com/solutions/962103
2. http://jhouse0317.tistory.com/entry/What-is-virtualserver-and-alias-in-web-subsystem-in-jboss

没有评论: