Adicione um RewriteRule
RewriteRule ^/$ /myappname
em combinação com o ProxyPass /myappname
.
Eu tenho um domínio com DNS corretamente configurado chamado mydomain.com que aponta para o meu servidor Ubuntu 16.04.3 em 11.11.11.11 , então quando eu introduzo mydomain.com em um navegador, chego à página padrão do Apache instalado em tal servidor.
Eu também tenho um Tomcat 7 instalado no mesmo servidor com um APP JSF em execução, então quando eu introduzo link no meu navegador meu APP aparece no navegador.
Eu gostaria de redirecionar do Apache para o meu Tomcat, então toda vez que alguém escreve mydomain.com em seu navegador, meu APP aparece.
Para fazer isso, instalei e configurei o mod_proxy de acordo com muitos tutoriais que li (como este ou este outro ). Minha configuração no arquivo .CONF do site padrão do Apache é:
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/myappname/
ProxyPassReverse / http://127.0.0.1:8080/myappname/
Com essa configuração, sempre que escrevo mydomain.com no navegador, a página principal do meu JSF APP é exibida, MAS EM TEXTO LISO SEM IMAGENS / CSS E QUALQUER URL OU PARTE DINÂMICA FUNCIONA.
Se eu verificar a seção "performance" nas ferramentas do Mozilla, vejo muitos erros como estes:
http://www.mydomaincom/myappname/javax.faces.resource/theme.css.xhtml[HTTP/1.1 500 Internal server error]
http://www.mydomaincom/myappname/images/EN.png [HTTP/1.1 404 Not Found 249ms]
Por outro lado, descobri que com essa configuração:
ProxyPass /myappname 127.0.0.1:8080/myappname
ProxyPassReverse /myappname 127.0.0.1:8080/myappname
toda vez que eu escrevo no meu navegador mydomain.com/myappname , a página mostra bem e nenhum erro é lançado. Obviamente, não quero usar essa configuração, gostaria de escrever JUST mydomain.com
Eu tentei MUITAS outras configurações mod_proxy com outros parâmetros (ProxyRequests, DefaultType, ProxyPassReverseCookiePath, ProxyPassReverseCookieDomain ...) mas nenhum deles parece funcionar ...
Qual é o problema?
Agradecemos antecipadamente pelo seu apoio e ajuda!
BTW: Eu sei que o Tomcat não deve ser exposto publicamente, eu vou cuidar disso mais tarde ...
Adicione um RewriteRule
RewriteRule ^/$ /myappname
em combinação com o ProxyPass /myappname
.
Tags tomcat apache-http-server