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: 64.032 ]

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

Grace - Usando a função "Regression"

Automatic ACL Blocking List - Sistema automático de listas de bloqueio de ACLs

Instalando o Videocache no Debian Lenny

Compilando o Squid3

Gerando relatórios no Sarg com nome da máquina/usuário ao invés do IP

  
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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts