首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单个战争部署的多个上下文根jboss 6.1

单个战争部署的多个上下文根jboss 6.1
EN

Stack Overflow用户
提问于 2015-06-16 18:42:21
回答 2查看 3.9K关注 0票数 2

在我的Jboss-EAP-6.1中,我部署了一个名为'myRealWebApp.war'.war,我可以使用这个url - http://mywebsite.com/myRealWebApp访问我的应用程序。

我想用多个上下文根配置我的webapp 'myRealWebApp'。我是说如果我能

代码语言:javascript
复制
http://mywebsite.com/appA
http://mywebsite.com/appB
http://mywebsite.com/appC

这3种上下文( 'appA''appB''appC' )指向myRealWebApp.war (部署了一次战争)。

不管怎样,我可以把这个存档吗?

谢谢。

编辑:解决方案找到了:我把这段代码添加到了我的standalone-full.xml

代码语言:javascript
复制
   <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
        <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
        <virtual-server name="default-host" enable-welcome-root="true">
            <alias name="localhost"/>
            <alias name="example.com"/>
            <rewrite name="rule-1" pattern="^/appA(.*)$" substitution="/myRealWebApp$1" flags="L"/>
            <rewrite name="rule-2" pattern="^/appB(.*)$" substitution="/myRealWebApp$1" flags="L"/>
            <rewrite name="rule-3" pattern="^/appC(.*)$" substitution="/myRealWebApp$1" flags="L"/>
        </virtual-server>
    </subsystem>

关键是flags="L"

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-16 19:20:17

您可以通过在jboss (像Apache服务器)前面配置一个http服务器,并使用重定向规则将所有其他urls转换为您配置应用程序的urls来实现这一点。也许jboss也有一个用于集成的apache模块,但基本原则仍然是这样。通常,这是一种重新推荐的方式,不是在生产中直接公开jboss或其他应用程序服务器,而是使用前面的http服务器(您可以从http服务器提供静态内容,可以平衡请求等等)。

票数 1
EN

Stack Overflow用户

发布于 2017-03-21 09:02:53

添加到OP共享的解决方案中,这就是我为单个部署实现多个上下文所做的工作。

app/WEB-INF/jboss-web.xml中配置了一个上下文根

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>appA</context-root>
    <session-config>
        <session-timeout>10</session-timeout>
    </session-config>
</jboss-web>

jboss-eap/standalone/configuration/standalone.xml中添加rewrite规则

代码语言:javascript
复制
<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
    <virtual-server name="default-host" enable-welcome-root="true">
        <alias name="localhost"/>
        <alias name="example.com"/>
        <rewrite name="rule-1" pattern="^/appB(.*)$" substitution="/appA$1" flags="L"/>
        <rewrite name="rule-2" pattern="^/appC(.*)$" substitution="/appA$1" flags="L"/>
    </virtual-server>
</subsystem>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30875657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档