ProxyPass / http://www.abc.com:8080/myApp/
ProxyPassReverse / http://www.abc.com:8080/myApp/
Leia mais sobre mod_proxy
Eu quero executar um aplicativo do Tomcat por meio de um URL de site regular, como www.xyz.com
. Eu gostaria que a raiz desse domínio agisse como o diretório base para o aplicativo da Web, portanto, cada solicitação para www.xyz.com/a/b/c
se tornará www.abc.com:8080/myApp/a/b/c
. Idealmente, eu seria capaz de fazer isso de forma transparente e apenas para determinadas aplicações web.
www.abc.com:8080
ainda deve responder a solicitações.
O que preciso fazer para que isso aconteça?
ProxyPass / http://www.abc.com:8080/myApp/
ProxyPassReverse / http://www.abc.com:8080/myApp/
Leia mais sobre mod_proxy
Um método mais simples para fazer isso é simplesmente adicionar uma entrada de Host Virtual em seu arquivo conf do Apache. Geralmente localizado em / etc / httpd / conf, adicione algo como isto no final da seção Host Virtual:
<VirtualHost X.X.X.X:80>
ServerName tomcatpage.yourdomain.com
ServerAlias tomcatpage.yourdomain.com
Redirect permanent / http://tomcatpage.yourdomain.com:8080/
</VirtualHost>
Reinicie seu serviço Apache e está pronto.
Você pode usar mod_rewrite no Apache para fazer isso. Carregue mod_rewrite no seu Apache e no seu vhost www.xyz.com adicione a seguinte regra:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1
Isso deve fazer a mágica.
Mais informações sobre mod_rewrite aqui .
EDITAR : Para manter o nome do site nos navegadores, use mod_proxy, apenas acrescentando um [P] ao final do RewriteRule:
RewriteRule ^/(.*) http://www.abc.com:8080/myApp/$1 [P]
Isso forçará o Apache a agir como um proxy para esse URL, em vez de apenas reescrever o URL.
Tags tomcat6 apache-2.2