Como configuro a hospedagem virtual Jetty 6 e Jboss 4.0.5?

1

Eu tenho 2 webapps implantados no mesmo servidor JBoss / Jetty. No Jetty 5.1.14 eu tinha o seguinte jetty-web.xml que configurava um dos aplicativos para ser executado como um host virtual (na mesma porta):

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

Isso funcionou perfeitamente bem. Infelizmente, não funciona com o Jetty 6.1.17. Primeiro de tudo, "JBossWebApplicationContext" parece agora ser chamado de "JBossWebAppContext", e em segundo lugar a documentação que eu encontrei sugere que eu deveria estar usando um jetty-web.xml que se parece com isso:

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

Mas isso também não funciona. Os dois webapps são implantados sem erros, mas quando tento acessar o segundo aplicativo com o nome do host virtual, ele apenas acessa o primeiro aplicativo. Ambos os aplicativos estão no contexto raiz (isso não é negociável).

Como posso fazer com que os hosts virtuais funcionem?

    
por Mr. Shiny and New 安宇 08.05.2009 / 18:21

2 respostas

1

Eu resolvi o problema até agora usando esta sintaxe:

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

O problema é que TODOS os webapps precisam dos hosts virtuais definidos se estiverem em execução no mesmo contêiner. Por alguma razão, a implementação de um WAR com hosts virtuais e um sem não funcionou. Isso funcionou bem no Jetty 5, por isso estou confuso, no entanto, definir arquivos de hosts virtuais para todos os aplicativos que precisam disso não será um problema.

    
por 26.05.2009 / 15:03
0

Você pode ver se isso funciona para você:

<New class="org.jboss.jetty.JBossWebAppContext">
      <Arg><Ref id="Contexts"/></Arg>
      <Arg><SystemProperty name="jetty.home"/>/webapps/app1.war</Arg>
      <Arg>/</Arg>
      <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
      <Set name="VirtualHosts">
        <Array type="java.lang.String">
          <Item>app1.localhost.com</Item>
        </Array>
      </Set>
    </New>

    <New class="org.jboss.jetty.JBossWebAppContext">
      <Arg><Ref id="Contexts"/></Arg>
      <Arg><SystemProperty name="jetty.home"/>/webapps/app2.war</Arg>
      <Arg>/</Arg>
      <Set name="defaultsDescriptor"><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Set>
      <Set name="VirtualHosts">
        <Array type="java.lang.String">
          <Item>app2.localhost.com</Item>
        </Array>
      </Set>
    </New>

(Ajuste os nomes dos arquivos e os caminhos conforme necessário, é claro)

    
por 15.05.2009 / 21:14