Pular para o conteúdo

Squid atuando como proxy reverso

Neste artigo mostro como usar o Squid a favor dos servidores web, atuando como servidor proxy reverso, onde conseguimos poupar o Apache e o MySQL de acessos repetitivos, economizando processamento e deixando o acesso aos sites hospedados muito mais rápido. Grandes empresas já usam esta solução, um exemplo é o UOL, outro o Jogossimples.com.br.
Alexandre Correa alexandrecorrea
Hits: 65.748 Categoria: Linux Subcategoria: Squid
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Introdução

Proxy reverso é um termo utilizado para proxies que fazem o serviço contrário de um proxy normal.

A maioria dos administradores de redes usam o Squid como proxy de acesso de uma LAN para a internet, podendo controlar acesso, etc e etc.

Neste artigo iremos tratar de um proxy que atua de modo inverso, recebendo requisições EXTERNAS e repassando para os servidores INTERNOS, sendo possível fazer balanceamento de carga TRANSPARENTE entre vários servidores WEB.

No caso de balanceamento de carga, o Squid reversamente falando, atua muito bem, se um dos servidores cair, o Squid automaticamente NÃO passa requisições mais à ele, deixando seu sistema redundante.

Interessante e seguro, é que os servidores WEB não ficam diretamente com "a cara" na internet, aumentando ainda mais a segurança. :)

Veremos uma configuração básica no seguinte cenário:
  • 1 servidor Squid - 200.200.200.1 e 192.168.0.1 (interface externa e interna);
  • 2 servidores web (com os mesmos arquivos e configuração, mudando apenas o ip), 192.168.0.2 e 192.168.0.3 (1 ip para cada servidor);
  • Domínio: dns www.meusite.com.br devidamente configurado para 200.200.200.1.

Let´s Rock...

Pacotes necessários

Este artigo pode ser executado em QUALQUER sistema operacional, estou utilizando Red Hat Enterprise 5 como exemplo.

Relação dos pacotes utilizados:
  • httpd-devel-2.2.3-11.el5
  • httpd-2.2.3-11.el5
  • squid-2.6.STABLE6-4.el5
  • php-5.1.6-15.el5
  • mysql-server-5.0.22-2.1.0.1

Os pacotes php e mysql-server são apenas "ilustrativos", não veremos suas configurações, apenas listei para mostrar a funcionalidade dos servidores web.

Arquivos de configurações

Os arquivos que vão ser alterados são:

Configuração do apache:

/etc/httpd/conf/httpd.conf

Configuração do Squid:

/etc/squid/squid.conf

O Squid vai fazer o cache na pasta /var/spool/squid.

A pasta do Squid recomendo deixar num HD separado, pois o Squid gera muito I/O no HD, podendo prejudicar os outros serviços que dependem do acesso a disco.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Configurando o Apache
   3. Configurando o Squid
   4. Final

Wireless USB no Linux

Squid3 no Debian 8 (Jessie) com suporte a filtro de páginas HTTPS

Squid + Sarg + IPtables - Configuração rápida

Squid com autenticação e ACLs apartir do grupos do Active Diretory

Instalação e configuração do Squid 2.6 Stable

Proxy Squid com autenticação + Sarg + Webmin

#1 Comentário enviado por dailson em 27/11/2007 - 11:35h
Quero parabenizar pelo altíssmo nível do seu tutorial. E pelas dicas do squid.conf
Parabéns Alexandre.
#2 Comentário enviado por capitainkurn em 27/11/2007 - 14:36h
Excelente artigo! Já está em meus favoritos.
#3 Comentário enviado por pixelman em 28/11/2007 - 08:59h
Show de bola alê
ficou mto bom sumido :)~
#4 Comentário enviado por ads119@gmail.com em 17/12/2007 - 20:21h
Muito bom mesmo cara, só que para mim esta dando esta mensagem.
[root@xxxx squid]# squid -k parse
FATAL: Bungled squid.conf line 2: http_port 200.200.200.1:80 vhost defaultsite=www.meusite.com.br
Squid Cache (Version 2.5.STABLE14): Terminated abnormally.

Alguém sabe porque isto acontece?
#5 Comentário enviado por alexandrecorrea em 17/12/2007 - 21:21h
precisa ser squid versao 2.6 !!!
#6 Comentário enviado por ads119@gmail.com em 17/12/2007 - 21:31h
Valew!!! Mas no 2.5 não tem como rolar?
#7 Comentário enviado por alexandrecorrea em 17/12/2007 - 21:44h
tem sim, mas essa parte de proxy reverso no 2.5 é muito fraca.. no 2.6 esta muito melhor, a versao 2.6 teve um rebuild legal.. esta mais estavel e mais rapida...

recomendaria voce a atualizar seu squid para 2.6 !!

digite squid -v q ele te mostra a linha de comando utilizada para configurar.. ai voce tira o que nao for usar.. e compila o 2.6 do mesmo modo :)
#8 Comentário enviado por ads119@gmail.com em 17/12/2007 - 23:13h
Show, tks!!!
#9 Comentário enviado por rfranzen em 27/12/2007 - 14:13h
Aí cara, parabéns. Fazia tempo que não pintava por aqui um artigo com assunto novo e nível técnico elevado.

Show de bola.
#10 Comentário enviado por vlcunes em 16/01/2017 - 17:02h
Parabéns pelo conteúdo, amigo!

Tenho uma dúvida: Quando o cliente faz requisição para o endereço "www.meusite.com.br"; como é que o servidor diferencia para qual servidor WEB deve ser redirecionado?

Em um único servidor,eu tenho o apache e o IIS.

Contribuir com comentário

Entre na sua conta para comentar.