Frage

Ich habe 2 webapps im gleichen JBoss / Jetty-Server bereitgestellt. In Jetty 5.1.14 Ich hatte die folgende Anlegestelle-web.xml, die eine der Anwendungen konfiguriert als virtueller Host laufen (auf dem gleichen Port):

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

Das funktionierte völlig in Ordnung. Leider funktioniert es nicht mit Jetty 6.1.17 überhaupt. Zunächst einmal „JBossWebApplicationContext“ scheint jetzt „JBossWebAppContext“, und zum anderen die Dokumentation aufgerufen werden, die ich finden konnte schlägt vor, dass ich einen Anlegesteg-web.xml verwenden, die wie folgt aussieht werden sollte:

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

Aber das funktioniert auch nicht. Die beiden webapps bereitstellen, ohne Fehler, aber wenn ich versuche, die zweite App unter den virtuellen Host-Namen zugreifen zu können, greift sie nur die erste App statt. Beide Anwendungen sind im Root-Kontext (dies ist nicht verhandelbar).

Wie kann ich virtuelle Hosts arbeiten?

(BTW, ich hatte einen Freund schreibt diese auf serverfault vor ein paar Tagen, aber niemand antwortete.)

War es hilfreich?

Lösung

Diese Syntax funktioniert, wenn Sie es in dem jetty6-web.xml für jeden Web-App enthalten.

<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>

ALLE Webapps müssen die virtuellen Hosts definiert, wenn sie in dem gleichen Behälter ausgeführt werden. Aus irgendeinem Grund die Bereitstellung einer WAR mit virtuellen Hosts und eine ohne funktioniert nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top