domingo, 7 de novembro de 2010

Conteúdo de página Zipado com Squid

Recentemente tive um problema com acesso a determinada página com Proxy Squid, onde a página não era bloqueada, porém não exibia o conteúdo.

Efetuei um traceroute para destino e completava corretamente.

Efetuei um telnet na porta 80 com sucesso.

Para um teste, resolvi liberar o destino para a minha rede interna na tabela FORWARD e PREROUTING no iptables assim eliminando qualquer filtro de pacotes pelo Squid e regras do Firewall.

Após a liberação a página acessava corretamente.

Com estes resultados foram descartados problemas com site e rotas para o destino.

Com acesso ao site através do navegador  Google Chrome apresentou o erro abaixo:

(nett::ERR_CONTENT_DECODING_FAILED)

Através deste erro foi identificado que o  conteúdo da página era zipado, para melhor performance de acesso.

Os navegadores  por padrão já trabalham com o módulo de descompreensão para estes tipos de site, porém o Squid não.

Para que o Squid possa trabalhar corretamente com estes tipos de site, é necessário uma pequena modificação, segue abaixo o passo a passo:

Crie um diretório chamado download.

mkdir -p /download/patch

cd /download/

Efetue o download da libecap:

wget http://www.measurement-factory.com/tmp/ecap/libecap-0.0.2.tar.gz

tar -xzvf  libecap-0.0.2.tar.gz

cd libecap-0.0.2.tar.gz

obs* É necessário aplicar um patch para compilação correta abaixo segue:



Salve o conteúdo acima como libecap.patch  dentro da subpasta patch que você criou em /download.

Dentro da pasta libecap vamos aplicar o patch:

patch -p1 <  /download/patch/libecap.patch

Agora damos o seguimento na compilação e instalação da libecap

./configure ; make ; make install

Se ocorreu tudo ok nos passos acima vamos prosseguir com a instalação do squid-ecap-gzip.

Dentro do diretório /download efetue o download do source:

wget http://squid-ecap-gzip.googlecode.com/files/squid-ecap-gzip-1.2.0.tar.gz

./configure ; make ; make install

Após o passo acima será necessário recompilar o squid com a opção --enable-ecap.

Feito isso o acesso do site normalizou com o uso do Squid.
 

Nenhum comentário:

Postar um comentário

Arquivo do blog