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.

[ Hits: 57.911 ]

Por: Alexandre Correa em 27/11/2007


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.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o Apache
   3. Configurando o Squid
   4. Final
Outros artigos deste autor

Wireless USB no Linux

Leitura recomendada

Integrando autenticação do Squid ao Active Directory

Proxy Squid Transparente

Instalação do Squid 3.2.0.14 no Slackware com execução em ambiente chroot

Colocando senha nos gerenciadores do Squid (SARG e MYSAR) de forma simples

SQUID autenticado - Bloqueando o acesso dos usuários por grupos

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts