Apache mod_proxy vs mod_rewrite

5

Qual é a diferença entre usar mod_proxy e mod_rewrite?

Eu tenho um requisito para enviar certos padrões de URL através do tomcat, que é executado no mesmo host, mas na porta 8080. Eu sei que isso é algo para mod_proxy, mas eu estou querendo saber porque eu não posso simplesmente usar mod_rewrite, ou qual a diferença?

Provavelmente tem que fazer w / reverse proxy, e também quando o pipeline é tratado?

Obrigado.

    
por Scott 24.05.2010 / 04:37

2 respostas

5

mod_rewrite usando as flags P coloca o pedido através de mod_proxy. A vantagem de usar o mod_rewrite é que você obtém mais controle para solicitações de mapeamento, assim como reescrevê-lo permite reescrever URLs. Mas o proxy é exatamente o mesmo. A desvantagem é que a sintaxe mod_rewrite é mais complexa. Portanto, minha recomendação é usar diretivas de configuração no estilo mod_proxy, a menos que você precise de algo mais complicado. Outros provavelmente recomendarão o estilo mod_rewrite, porque você só precisa aprender um estilo.

    
por 24.05.2010 / 06:57
2

mod_rewrite é muito geral e muito poderoso: ele pode manipular não apenas o proxy, mas também o aliasing, o redirecionamento e praticamente qualquer tipo de mapeamento personalizado de URLs para outros URLs ou nomes de arquivos. (Bem, suponho que, se você procurar bastante, poderá encontrar algo que mod_rewrite não pode fazer) Mas há várias razões potenciais para não usá-lo:

  • Talvez você não queira lidar com a complexidade de mod_rewrite . É notoriamente difícil de configurar corretamente - a configuração é praticamente uma linguagem de programação em si.
  • O Apache leva tempo para processar todas essas regras complexas de reescrita e, se você tiver um servidor ocupado, pode ser algo com o qual não quer lidar. O uso de mod_proxy permite que você invoque códigos mais simplificados que podem ajudar seu servidor a ser executado mais rapidamente. (Honestamente, não tenho certeza de quão grande isso é, mas não acho que seja tão importante)
por 24.05.2010 / 04:43