2

同じJBoss/Jettyサーバーに2つのWebアプリケーションをデプロイしています。Jetty 5.1.14では、次のjetty-web.xmlがあり、アプリの1つを仮想ホスト(同じポート上)として実行するように構成しました。

<Configure class="org.jboss.jetty.JBossWebApplicationContext"> 
  <Call name="addVirtualHost"><Arg>app2.localhost.com</Arg></Call> 
</Configure>

これは完全にうまくいきました。残念ながら、Jetty6.1.17ではまったく機能しません。まず第一に、「JBossWebApplicationContext」は「JBossWebAppContext」と呼ばれるようになり、第二に、私が見つけたドキュメントは、次のようなjetty-web.xmlを使用する必要があることを示唆しています。

<Configure class="org.jboss.jetty.JBossWebAppContext"> 
  <Set name="VirtualHosts"> 
    <Array type="java.lang.String"> 
      <Item>app2.localhost.com</Item> 
    </Array> 
  </Set> 
</Configure>

しかし、これも機能しません。2つのWebアプリはエラーなしでデプロイされますが、仮想ホスト名で2番目のアプリにアクセスしようとすると、代わりに最初のアプリにアクセスするだけです。両方のアプリケーションはルートコンテキストにあります(これはネゴシエートできません)。

どうすれば仮想ホストを機能させることができますか?

(ところで、私は数日前に友人にserverfaultにこれを投稿してもらいましたが、誰も答えませんでした。)

4

1 に答える 1

1

この構文は、各 Web アプリの jetty6-web.xml に含めると機能します。

<Configure class="org.jboss.jetty.JBossWebAppContext">
  <Set name="VirtualHosts">
    <Array type="java.lang.String">
      <Item>host1.domain.com</Item>
      <Item>host2.domain.com</Item>
    </Array>
  </Set>
</Configure>

すべての Web アプリケーションが同じコンテナーで実行されている場合は、仮想ホストを定義する必要があります。何らかの理由で、仮想ホストを使用して 1 つの WAR をデプロイし、もう 1 つを使用せずにデプロイすることはできません。

于 2009-06-08T17:38:48.370 に答える