Como configurar o Apache como Proxy Reverso no Linux
Fazia um tempinho que eu não escrevia sobre configuração de serviços aqui no blog, então hoje vamos aprender a como configurar o Apache como Proxy Reverso no Linux. Ah, Mateus, mas eu nem sei que é Proxy Reverso… Então, vamos lá!
Um Proxy Reverso (ou Reverse Proxy, como é chamado em Inglês) é um servidor Web que colocamos como o “cara” que vai receber todas as requisições, e, dependendo das regras que criamos, ele tomará alguma ação.
Para um melhor entendimento, veja esta imagem do próprio site do Apache:
Todas as requisições passarão pelo reverse-proxy, e ele é quem irá escolher para quem direcionar nos backend servers, saca? Isso nos trás algumas vantagens, como:
Bom, já deu pra ver algumas vantagens do Proxy Reverso, não é mesmo? Vamos fazer uma configuração básica então! 🙂
Como configurar Apache como Proxy Reverso no Linux
Bom, no meu caso vou demonstrar com a distribuição CentOS 7, com o seguinte cenário:
Configurando o Backend
Primeiro, no backend, basta colocar um servidor Web para rodar. Desta forma, pode ser uma aplicação em Rails, Django, Tomcat, etc. No meu caso, estou usando uma simples página HTML.
Em seguida, se acessarmos esse IP pelo browser do cliente:
Tudo ok! Próximo.
Configurando o Proxy Reverso
Posteriormente, faça o mesmo processo de instalação do Apache da parte do backend.
Então, para fazer o Apache funcionar como Proxy Reverso, precisamos de alguns módulos. Veja se o mesmos estão instalados com o comando abaixo:
Desta forma, se aparecer como o print acima, então está tudo ok! Caso contrário, você deve adicioná-los no arquivo de configuração usando um editor de texto da sua escolha.
Então, adicione as linhas abaixo (pode ser no final do arquivo):
E reinicie o Apache:
Veja que, por enquanto, se acessarmos o IP do Proxy Reverso pelo cliente, ele nos retorna a página HTML dele mesmo.
Então, ainda não está fazendo o redirect.
A última configuração é editar o arquivo de configuração novamente e adicionar o seguinte conteúdo:
Esta configuração quer dizer que, todas as conexões que entrarem no / (menu principal), serão direcionadas para o IP 192.168.25.52. Salve e reinicie o Apache novamente.
Em seguida, acesse novamente pelo cliente e BOOM!
Provando o que está acontecendo…
Acessamos o IP 192.168.25.41 e ele foi direcionado para 192.168.25.52. Quer ver uma prova disso, vou analisar o tráfego HTTP.
Veja o direcionamento da request partindo do cliente para o proxy, e do proxy para o backend. Posteriormente, a request faz o processo contrário para retornar o conteúdo pro cliente. Massa, né?
Espero que tenha gostado desta dica, grande abraço!
Não esqueça de nos seguir no Instagram para receber os últimos conteúdos!
Participe dos nossos grupos no Telegram e Facebook! 🙂
Veja também:
Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!