Pergunta

novo para JBoss e estou configurando algumas aplicações. Eu sei como fazer isso no servidor web Apache, mas não usando Jboss.

Eu ter implantado com sucesso 3 aplicações em uma caixa de Red Hat, JBoss 4.2.

Se o meu servidor é chamado fruit.mycompany.com, eu posso acessar os três aplicativos da seguinte maneira:

http://fruit.mycompany.com:8080/quince
http://fruit.mycompany.com:8080/pineapple
http://fruit.mycompany.com:8080/lime

Em seguida, eu criei três subdomínios, que são aliases da fruta servidor.

http://quince.mycompany.com
http://pineapple.mycompany.com
http://lime.mycompany.com

Como posso obter cada subdomínio ao ponto em que está aplicativo correspondente?

http://quince.mycompany.com para realmente aberto http://fruit.mycompany.com:8080/quince .

No Apache, eu usaria o tag VirtualHost para apontar cada subdomínio para a raiz do documento correto. Como posso fazê-lo com JBoss ou Tomcat?

Posso fazê-lo com o redirecionamento (Tomcat ter algo parecido com mod_rewrite)?

Foi útil?

Solução 2

Eu desisti com Tomcat.

A situação tornou-se muito complicado.
Eu tenho um site em execução na porta 80 já (em uma instância separada do JBoss).
Eu tenho essas três aplicações, marmelo, abacaxi e limão rodando em sua própria instância JBoss na porta 8080.

Para resolver o meu problema, eu só escrevi uma função javascript na página de índice do site em execução na porta 80.

Eu verifico localização para ver qual domínio está sendo chamado e, em seguida, redirecionar para o site apropriado na porta 8080.

O script é algo como isto:

var whois=location+" ";
if (whois.indexOf("quince.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://quince.mycompany.com:8080/quince/");', 10);     
    exit;
}
if (whois.indexOf("lime.mycompany.com") > -1)
{ 
    setTimeout('window.location.replace("http://lime.mycompany.com:8080/lime/");', 10);     
    exit;
}
...
// otherwise redirect to the app running on port 80
setTimeout('window.location.replace("http://fruit.mycompany.com/otherapp/");', 10);  

Não é exatamente o que eu queria, mas pelo menos meus usuários agora têm um URL de atalho, e eles não tem que se lembrar números de porta: http://lime.mycompany.com redirecionamentos para -> http://lime.langara.bc.ca:8080/lime

Outras dicas

Tomcat suporta hosts virtuais . Você basicamente tem que:

1) Mudança tomcat de "ouvir" porto para 80 em vez de 8080.

2) server.xml de Modificar tomcat para listar seus servidores:

<Engine name="Catalina" defaultHost="quince">
    <Host name="quince"    appBase="quince_apps"/>
    <Host name="pineapple" appBase="pineapple_apps"/>
    <Host name="lime"      appBase="lime_apps"/>
</Engine>

3) Mova cada aplicação para a pasta 'raiz' da pasta "_apps" correspondente.

Quando eu estava em uma situação semelhante, eu escolhi usar Apache redirecionamento vez; no entanto eu tinha Apache já servindo páginas estáticas (site público).

Você já olhou para Tomcat Mod_JK http://tomcat.apache.org/connectors-doc/ ?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top