Dúvida com redirecionamento de domínio com o JBoss

3 respostas
I

Olá pessoas!!

Estou montando um servidor Linux (Debian Lenny) com JBoss 5 que possui um IP fixo na internet sem uso de proxy, nem NAT.
Nele, serão instaladas três aplicações via EAR que desenvolvi, totalmente diferentes.
Para cada aplicação, tenho um domínio específico. Por exemplo:

Cada domínio está registrado em um servidor DNS diferente (dois nos EUA e um no Registro.br).
Obviamente, se eu chamo o IP do meu servidor diretamente no navegador utilizando a porta default 8080 como em http://123.123.123.123:8080/aplicacao1, ele abre a aplicação normalmente.

A dúvida é: como faço para redirecionar a chamada do domínio para um endereço localhost na porta 8080? Ex.:

Quando eu chamar a URL www.xpto.com, o meu servidor captura o request e redireciona no http://localhost:8080/aplicacao1

Tentei adicionar no /etc/hosts mas não funcionou.
Alguém conhece bem de infra e pode me ajudar?
Qualquer dica será bem vinda…

Muito obrigado!!

Nota: Pretendo manter a porta 8080 mesmo pois vou protegê-la com o iptables.

3 Respostas

Z

Se você deseja direcionar a chamada de cada domínio para a sua respectiva aplicação, segue um exemplo de como proceder.

Para que a chamada http://www.xpto.com:8080 seja direcionadao para a “Aplicação 1 (EAR 1)”, deverá adotar as seguintes providências:

a) criar o “virtual host” através do arquivo server.xml (Exemplo: $JBOSS_HOME/server/default/deploy/jbossweb.sar). Exemplo, adicione um trecho semelhante ao abaixo dentro da tag “Engine” (para cada virtual host):

<Host name="www.xpto.com" autoDeploy="false" deployOnStartup="false" deployXML="false">
      <Alias>www.xpto.com</Alias>
      <Valve className="org.apache.catalina.valves.AccessLogValve" prefix="www.xpto.com-" suffix=".log" pattern="common" directory="${jboss.server.home.dir}/log"/>
  </Host>

Isso cria o virtual host no servidor web do JBoss.

b) No diretório WEB-INF da aplicação, você terá que adicionar um arquivo chamado jboss-web.xml (além do web.xml), com o conteúdo semelhante ao indicado abaixo:

<?xml version="1.0" encoding="UTF-8"?>
	<jboss-web>
		<context-root>/</context-root>
		<virtual-host>www.xpto.com</virtual-host>
	</jboss-web>

Repita isso para cada aplicação.

Sei que não foi bem esse o seu questionamento, mas imagino que seja essa a sua intenção.

Há outros cenários, caso isso não atenda a sua expectativa, por favor me avise para que eu possa enviar outras alternativas.

Espero tê-lo ajudado com isso.

PS: No cenário descrito acima não é necessário alterar o arquivo /etc/hosts.

I

Muito obrigado!!!

Vou tentar isso nos próximos dias.

Valeu mesmo!!

I

Zanata,

Era isso mesmo - funcionou do jeito que eu queria!

Muito obrigado!!!

Abraços!!

Criado 8 de janeiro de 2011
Ultima resposta 12 de jan. de 2011
Respostas 3
Participantes 2