Tanto quanto eu entendi sua pergunta, você está pedindo redirecionamento de porta do apache na porta 80 para o seu tomcat appserver rodando na porta 8080, ao mesmo tempo ter o seu apache mascarar a porta nos cabeçalhos http e os usuários não têm para explicitamente digitar o número da porta no URL de navegação. Isso precisa de ponte de aplicativo entre o Apache e seu servidor de aplicativos tomcat em execução no mesmo host. Supondo que você irá hospedar um host virtual do apache no host, você precisa configurar dns
para apontar o aplicativo CNAME
para o host.
Você pode fazer isso de várias maneiras. Um dos métodos não está em nenhuma ordem particular (mas pode ser relativamente fácil em termos de configuração)
-
mod_rewrite & mod_proxy módulo apache. Fácil de configurar. Envolve apenas a configuração do httpd. Apenas atua como reescrita de proxy para o tráfego http na porta 80, destinado ao host virtual para o servidor http tomcat. Até agora, acho que isso é muito legal e simples, do ponto de vista da administração. Vou deixar o desenvolvedor / gerente de aplicativos responsável pela instalação do tomcat cuidar da atualização do arquivo server.xml.
Referência: link Exemplo:
<VirtualHost *:80> ServerName yourapp.yourdomain.com ServerAlias yourapp.* ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /webapp http://localhost:8080/webapp ProxyPassReverse /webapp http://localhost:8080/webapp <Location /webapp> Order allow,deny Allow from all </Location> </VirtualHost>
-
Executando JSP através do Apache usando o módulo mod_jk2. Meio duro. Envolve a configuração de parâmetros complexos na configuração httpd, útil se o mesmo host virtual precisar executar outros scripts, como php / perl / cgi, além de passar o tráfego para o servidor Tomcat. Existe um excelente HOWTO nestes links.
Referência:
-
Execute o JSP através do módulo mod_proxy_ajp do Apache: É semelhante à abordagem acima, mas este módulo se alinha com o uso da comunicação do protocolo ajp com o tomcat em vez de http para obter consistência.
Referências:
-
Resolva isso na camada de rede do host. Use
iptables
para redirecionar todo o tráfego de entrada na porta 80 para a porta 8080 por padrão. Envolve a compreensão e o gerenciamento das configurações do iptables. Uma configuração de tempo, mas difícil de manter. Pode ficar problemático, se você tiver que hospedar outro Apachevirtualhosts
na mesma máquina.
Exemplo:
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -d $(/bin/hostname) -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -d $(/bin/hostname) -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables-save