[MASOCH-L] Ajuda com Squid

Rejaine Monteiro rejaine at bhz.jamef.com.br
Fri Nov 14 16:37:35 -03 2014


Ola pessoal, estou com um problema aqui e gostaria de saber se alguém 
pode ajudar...

Tenho um squid rodando em accel mode. Ele irá redirecionar as 
requisições para um site rodando Tomcat.
Porém eu preciso fazer algumas reescritas de url para outros sites e/ou 
aplicações, que antes eu fazia usando Apache (mod_rewrite),. porém 
devido a um problema específico com a aplicação do Tomcat (que não vale 
a pena entrar em maiores detalhes agora), precisamos migrar o que era 
feito pelo Apche/mod_rewrite  (ProxyPass e ProxyPassReverse)  para o Squid.

Pensei em fazer usando SquidGuard (que já usei a algum tempo atrás para 
controle de acesso)

Nesse exemplo hipotético, o servidor onde está rodando o squid em accel 
mode + squidguard  e também a aplicação Tomcat é o server1.dominio.com

## squid.conf ##
http_port 80 accel defaultsite=server1.dominio.com
http_access allow all

redirect_program /usr/sbin/squidGuard
redirect_children 30

cache_peer server1.dominio.com parent 8080 0 no-query originserver 
name=server1
cache_peer_access server1 allow all
#######

Agora preciso fazer alguns redirecionamentos...

Exemplo:

Regra1: quando o usuário digitar server1.dominio.com/abc, vai ser 
encaminhado para server2.dominio.com/abc (porém a URL para o usuário 
precisa continuar aparecendo server1.dominio.com)

Regra2: quando o usuário digitar server1.dominio.com/zzz, vai ser 
encaminhado para server3.dominio.com:8080 (porém a URL para o usuário 
precisa continuar aparecendo server1.dominio.com)

Regra3: quando o usuário digitar server1.dominio.com/aula, vai ser 
encaminhado para server99.dominio.com/aula (a URL nesse caso, pode ser 
alterada para server99.dominio.com/aula)

Assim sendo, meu squidguard ficou assim:

## squidguard.conf ##
dbhome /etc/squid
logdir /var/log/squidGuard
rew rules {
         s at server1.dominio.com/abc at server2.dominio.com@
         s at server1.dominio.com/zzz at server3.dominio.com:8080@
         s at server1.dominio.com/aula at server99.dominio.com/aula at r
         log anonymous rewrite.log
}
acl {
default {
                 pass any
                 rewrite rules
         }
}
########

A única regra que está funcionando é a ultima (que de fato redireciona a 
url para outro endereço)  Mas demais (que preciso q seja feito o rewrite 
apenas internamente) não vai,  apesar de aparecer no log rewrite.log que 
o squidguard pegou a expressão e supostamente fez o redirecionamento... 
Parece que ele faz o redirecionamento mas joga para o defaultsite de 
qualquer maneira!!

Alguém tem alguma dica?




More information about the masoch-l mailing list