2

私は 、この URL でアプリにアクセスできる呼び出しをJboss-EAP-6.1展開しました- http://mywebsite.com/myRealWebApp.war'myRealWebApp.war'

'myRealWebApp'複数のコンテキスト ルートを使用して webapp を構成したいと考えています。つまり、アクセスした場合

http://mywebsite.com/appA
http://mywebsite.com/appB
http://mywebsite.com/appC

これらの 3 つのコンテキスト'appA''appB'、(1 つの単一の戦争が展開された)'appC'を指すmyRealWebApp.war

とにかくこれをアーカイブできますか?

ありがとう。

編集: 解決策が見つかりました: このコードをstandalone-full.xml

   <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"です

ありがとう

4

2 に答える 2

1

これを実現するには、jboss の前に http サーバー (Apache サーバーなど) を構成し、リダイレクト ルールを使用して、他のすべての URL をアプリケーションを構成したものに変換します。jboss には統合用の apache モジュールも含まれている可能性がありますが、基本原則はそのままです。通常、本番環境で jboss やその他のアプリ サーバーを直接公開するのではなく、その前に http サーバーを使用することをお勧めします (http サーバーから静的コンテンツを提供したり、リクエストのバランスを取ったりすることができます)。

于 2015-06-16T19:20:17.490 に答える
0

OP が共有するソリューションに追加して、これは、展開された単一の複数のコンテキストを実現するために行ったことです。

app/WEB-INF/jboss-web.xmlで 1 つのコンテキスト ルートを設定

<?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.xmlrewriteにルールを追加:

<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>
于 2017-03-21T09:02:53.923 に答える