Proxy Reverso com Apache

Muita gente enxerga o proxy apenas como um servidor que intermedia as requisições entre a rede local e a internet, fazendo cache de páginas e controle de acesso. Sem dúvidas, o serviço mais conhecido e utilizado para este fim é o Squid. O proxy tem outra característica/função, pouco conhecida mas muito útil: o proxy reverso.

[ Hits: 71.802 ]

Por: Natália Vaz Silva em 04/10/2011 | Blog: http://linuxnatyworking.wordpress.com


Proxy web x proxy reverso



O proxy web corresponde à "função" conhecida pela maioria das pessoas. Nesta configuração, o proxy tem a função de compartilhar a internet com a rede local, receber as requisições feitas pelos clientes e buscar o que foi solicitado nos servidores web. Além disso, o proxy oferece mais algumas vantagens a um administrador de redes, como:
  • Controle de acesso: o acesso à internet pode ser controlado com base no horário, endereço IP do cliente, login e sites com conteúdo indesejado;
  • Cache de páginas: o proxy guarda informações das páginas acessadas. Quando alguém acessa um endereço, o servidor procura primeiro nos seus arquivos armazenados, caso já possua a página, não precisa buscá-la novamente. O que acaba tornando a navegação mais rápida e evitando acessos desnecessários à web;
  • Relatórios de acesso: todos os logs de acesso são armazenados, o que permite que possam ser criados relatórios dos acessos realizados pelos clientes através do servidor.

O proxy web possui tanto função de servidor quanto de cliente. É servidor quando possui os objetos solicitados pelos navegadores e lhe envia as respostas. É cliente quando não possui algum objeto solicitado e precisa requisitá-lo ao servidor web. Os proxies vêm sendo muito usados nas empresas, com o intuito de acelerar o acesso à Internet e evitar investimentos em ampliação de largura de banda.

O proxy reverso é um servidor instalado entre a internet e os servidores web internos de uma empresa. As requisições externas são direcionadas a um servidor interno por meio de um roteamento feito pelo proxy reverso. Dessa forma, ele é a única interface para as requisições externas. Imagine a situação: sua empresa possui o domínio xyz.com.br registrado, seu site (www.xyz.com.br) está em um servidor dentro da sua rede e, além do portal, há outras aplicações que precisam ser disponibilizadas externamente. Para cada aplicação é necessário possuir um domínio ou subdomínio registrados? Não! Neste caso, pode ser usado o proxy reverso. Como?! É o que vou explicar daqui a pouco.

Além do roteamento de requisições externas, são vantagens do proxy reverso:
  • Segurança: como o proxy é a única interface externa da rede, ele "esconde" os demais servidores;
  • Criptografia: a criptografia SSL pode ser delegada ao proxy ao invés dos servidores internos;
  • Balanceamento de carga: o servidor pode distribuir a carga para vários servidores da rede;
  • Cache: assim como o web proxy, o proxy reverso pode manter em cache o conteúdo estático das requisições realizadas, ajudando assim a diminuir a carga dos servidores web;
  • Compressão: o proxy reverso pode tornar o acesso mais rápido através da compressão do conteúdo acessado.

    Próxima página

Páginas do artigo
   1. Proxy web x proxy reverso
   2. Configuração do proxy reverso
Outros artigos deste autor

Instalação e configuração do Apache2 com SSL e MOD_JK no Solaris

Leitura recomendada

HAproxy + Stunnel (https) + CentOS 6

Debian NetInstall: instalação personalizada

Indicador de Caps Lock

Instalar certificado digital Safesign, fornecido pela Certisign e utilizado pela OAB-SP, em qualquer distribuição Linux usando distrobox

Rodando seu script como "service" no Conectiva

  
Comentários
[1] Comentário enviado por perrywerneck em 04/10/2011 - 14:05h

Olá,

Se me permite algumas sugestões:

Nas versões mais recentes do apache não é preciso editar diretament o .conf, os módulos podem ser ativados com o comando a2enmod; no caso ficaria:

sudo a2enmod proxy_balancer
sudo a2enmod proxy_ftp
sudo a2enmod proxy_http
sudo a2enmod proxy_connect

Eu geralmente habilito só o proxy_http, proxy_ftp e o deflate para compactar as páginas de saída.

Quanto ao conf eu também não edito o original do apache, apenas crio um novo arquivo em /etc/apache2/conf.d

Usar arquivos separados é mais prático quando, por exemplo, você precisa distribuir para várias máquinas ou criar um pacote de instalação (.deb ou .rpm) já que evita a necessidade de "seds" direto nos .conf.

[2] Comentário enviado por nataliavaz em 04/10/2011 - 14:41h

Sugestões são sempre bem vindas perrywerneck. Obrigada.

Optei por editar o conf porque eram pequenas alterações, só habilitação de módulo e inclusão de outras configurações, e também sempre que altero um arquivo de configuração original faço um backup do mesmo. Na verdade ainda não precisei de criar um pacote instalação, por isso não me preocupei com esta questão, mas vou considerar.
A idéia era compartilhar mesmo, com certeza a partir desta surgirão outras observações e assim vamos evoluindo a solução.


[3] Comentário enviado por xerminador em 05/10/2011 - 11:40h

nataliavaz ,

Bacana que nao conhecia esta função que o proxy poderia exercer na rede.

So tenho uma duvida em questao de segurança, ele no caso pode esconde o restante da rede c om os redirecionamento proprios para cada servidor com seus respectivos serviços .

Eu vi algumas vantagens comparado com um firewall de borda mas o que mais se preocupamos na borda e com segurança.

Minha pergunta é

Esse Proxy reverso é seguro?

Esse Proxy pode trabalha em conjunto com um firewall?

E Qual a vantagem?

Quantas perguntas, rsrsrs

obrigado;

[4] Comentário enviado por nataliavaz em 05/10/2011 - 12:00h

Olá xerminator, até a pouco tempo também não sabia desta função do proxy e o Apache também faz muita coisa além de hospedar aplicações na rede.

Bom, vamos às dúvidas, não sou especialista no Apache, o que fiz foi compartilhar uma experiência que tive, mas suas perguntas creio que da pra responder.


1 - Esse Proxy reverso é seguro?
R: é seguro no sentido de ser a única interface na borda, eliminando a necessidade dos outros servidores internos estarem visíveis na internet. Ele não dispensa as outras ferramentas e rotinas de segurança da rede.

2 - Esse Proxy pode trabalha em conjunto com um firewall?
R: Como disse anteriormente, o Proxy não elimina o firewall, trabalha em conjunto com o mesmo. Ele só encaminha as requisições de fora pra dentro da rede, não controla acesso, pacotes...

3 - E Qual a vantagem? Citei algumas no artigo, mas vamos lá:
R: Deixa somente um servidor visível na internet;
Você só precisa de um dominio registrado.
Pode fazer cache de conteúdo estático diminuindo carga na rede;
Deixa somente um servidor preocupado em direcionar as requisições e cada servidor só se preocupa em responder às requisições para sua aplicação específica;

[5] Comentário enviado por dolivervl em 05/10/2011 - 12:21h

Eu escrevi a algum tempo atrás esse artigo aqui para o VOL http://www.vivaolinux.com.br/artigo/Proxy-reverso-com-Apache-+-cache-+-compactacao-+-estatisticas

Acho que algumas perguntas podem ser respondidas através dele.

Tenho 2 servidores em produção rodando com essas configurações e nunca tive problemas.

[6] Comentário enviado por nataliavaz em 05/10/2011 - 14:30h

Com certeza dolivervl !! Muito bom seu artigo, vou implementar algumas funcionalidades nos meus servidores aqui :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts