
Em resumo:
IIS7+ApacheTomcat7+ isapi_redirect.dll
:
Eu tenho um aplicativo Tomcat implantado e funcionando disponível em http://localhost:8080/my_app
.
Eu gostaria de ver o mesmo conteúdo em http://my_app.local
(e NÃO no site padrão do Tomcat [que você pode ver abaixo]).
Eu configurei , então o conteúdo de isapi_redirect.dll
agora é igual ao de, mas não é suficiente, gostaria de mapear em . (EU tenho no arquivo hosts, então já posso abrir , MAS agora ele mostra apenas o site padrão do Tomcat (o mesmo disponível em )).my_app.local
localhost:8080
localhost:8080/my_app
my_app.local
127.0.0.1 my_app.local
my_app.local
http://localhost:8080
Por favor, leia o que eu já tentei:
Mais explicado:
Eu tenhoIIS7(7.5.7600.16385) eApacheTomcat/7.0.22instalado.
- Implantei uma aplicação (vamos chamá-la de "
my_app
") no Tomcat, que agora pode ser acessada emhttp://localhost:8080/my_app
, funciona bem. Adicionei um novo site no painel IIS com o caminho do Tomcat implantadomy_app
, que se parece com isto: "c:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\my_app
" - Vinculei o nome do host
my_app.local
. - Depois disso, configurei
isapi_redirect.dll
comoesse(ou que). - Agora, quando abro
http://my_app.local
, posso ver o site padrão do Tomcat (veja abaixo), que é igual ao conteúdo emhttp://localhost:8080/
!! (Esse é o problema!!!) - MAS em
http://my_app.local
eu gostaria de ver o mesmo conteúdo que emhttp://localhost:8080/my_app
.
Como eu posso fazer isso? Muito obrigado antecipadamente!!
meus arquivos de configuração:
- isapi_redirect.properties(Eu fiz uma junção de diretório para c:\tomcat, então isso também funciona :))
- trabalhadores.propriedades
- uriworkermap.properties
- rewrites.properties (vazio)
ATUALIZAR
Eu também encontrei isso:http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html
Caso B: você precisa ocultar os componentes do caminho para todas as solicitações enviadas ao aplicativo. Aqui está a receita para o caso em que você deseja ocultar o primeiro componente do caminho /myapp. Manipulações mais complexas são deixadas como exercício para o leitor. Primeiro a solução para o caso do Apache httpd:
- Use mod_rewrite para adicionar /myapp a todas as solicitações antes de encaminhar para o backend: [...]
- Use mod_headers para reescrever quaisquer redirecionamentos HTTP que seu aplicativo possa retornar. [...]
- Use mod_headers novamente, para reescrever os caminhos contidos em quaisquer cookies que seu aplicativo possa definir. [...]
Se você estiver usando o Microsoft IIScomo servidor web, o plug-in ISAPI fornece uma maneira de executar a primeira etapa com um recurso integrado.Você define um arquivo de mapeamentopara mudanças simples de prefixo como esta:
# Add a context prefix to all requests ... /=/myapp/ # ... or change some prefix ... /oldapp/=/myapp/
e depois coloque o nome do arquivo na
rewrite_rule_file
entrada do registro ou no seuisapi_redirect.properties
arquivo. No seuuriworkermap.properties
arquivo, você ainda precisa mapear os URLs como estão antes de reescrever! [...]
Não há suporte para as Etapas 2 (reescrever respostas de redirecionamento) ou 3 (reescrever caminhos de cookies).
Fiquei surpreso ao ver que está escrito "Não há suporte para as Etapas 2 (reescrever respostas de redirecionamento) ou 3 (reescrever caminhos de cookies).", não sei se ainda é verdade, mas e depois? Estou preso de novo?
Responder1
Dependendo do seu objetivo (url fácil de lembrar?), talvez não haja problema em apenasredirecionarmeu_app.local -> meu_app.local:8080/meu_app?
Isso não seriaescondero site de destino, no entanto.
Configure um novo site IIS em my_app.local e deixe-oredirecionarpara seu aplicativo :8080/my_app.
http://technet.microsoft.com/en-us/library/cc732930(WS.10).aspx
Responder2
Você pode tentar isso: http://blogs.iis.net/carlosag/archive/2010/04/01/setting-up-a-reverse-proxy-using-iis-url-rewrite-and-arr.aspx
Parece ser isso que você precisa, reescrita de URL e roteamento de aplicativos.