← Back to blog

Um Guia sobre a Extensão mod_proxy: Usando o Apache como um Proxy Reverso

Category
Um Guia sobre a Extensão mod_proxy: Usando o Apache como um Proxy Reverso

Introdução

Extensões de terceiros são adições extremamente úteis. Elas tornam a sua experiência de configurar e trabalhar com um servidor, como o Apache HTTP, muito mais simples e facilitadora. Em caso de necessidade, você pode até usar alguns desses módulos no Apache para executar um proxy reverso. Você pode remover uma camada da configuração do seu servidor ou usar um módulo para redirecionar as conexões.

Neste guia, discutiremos o Apache e os vários módulos associados à plataforma de servidor, como o mod_proxy. Também veremos como você pode usá-lo como um proxy reverso para redirecionar conexões para seus servidores de aplicação backend.

O que é o Apache?

Apache é um servidor HTTP que é amplamente utilizado para fins relacionados à web. Mas você pode usá-lo por diversos motivos e em várias plataformas. Você pode instalar seu servidor web Apache no Ubuntu seguindo nosso tutorial passo a passo. Além disso, siga este tutorial para aprender como proteger seu servidor Apache com o Let’s Encrypt. Você também pode conferir como configurar hosts virtuais Apache no Ubuntu 20.04.

Você pode explorar ainda mais as funções e a implementação do Apache com a ajuda de módulos externos. Esses são módulos de terceiros que você pode usar para realizar várias tarefas relacionadas a conexões e configurações. Por exemplo, você pode usar o módulo mod_rewrite para realizar reescrita de URL baseada em regras. Outro desses módulos é o mod_proxy. Este último módulo é amplamente subutilizado na comunidade. Principalmente porque muitas pessoas não têm conhecimento da extensão de suas funcionalidades e aplicações. O mod_proxy, como o nome sugere, pode ajudar você a estabelecer um gateway ou proxy para servidores backend.

Vamos explorar o mod_proxy em detalhes e como você pode usá-lo como um proxy reverso.

Mod_proxy: Usando o Apache como um Proxy Reverso

Como você provavelmente deve saber, o mod_proxy é um módulo. É um módulo no Apache que você pode usar para formar e redirecionar várias conexões. Você também pode ativá-lo e configurá-lo como qualquer outro módulo em seu sistema. O diferencial do mod_proxy é que ele não é apenas um módulo. Na verdade, ele compreende uma coleção de módulos diferentes que você encontrará abaixo. Cada um deles tem sua própria função a desempenhar. Dessa forma, o mod_proxy oferece muita diversidade em termos de funcionalidade.

Dê uma olhada nos seguintes módulos mod_proxy:

mod_proxy

Este é o módulo de proxy principal. No Apache, você pode usar este módulo para configurar e gerenciar várias conexões. Ele também pode ajudar a redirecionar conexões.

mod_proxy_http

Como o nome sugere, este módulo lida com os protocolos HTTP e HTTPS. Você pode usar este módulo para implementar os recursos de proxy desses protocolos.

mod_proxy_ftp

O mod_proxy_ftp funciona para quando você está lidando com o protocolo FTP.

mod_proxy_connect

Este módulo é útil para quando você está realizando tunelamento SSL.

mod_proxy_ajp

Você pode usar o mod_proxy_ajp quando estiver trabalhando com o protocolo AJP.

mod_proxy_wstunnel

Isso é útil para quando você está trabalhando com web sockets como WS e WSS.

mod_proxy_balancer

Se você deseja acessar recursos de balanceamento de carga e clustering, pode usar este módulo.

mod_cache

O módulo mod_cache é útil para, como esperado, fins de cache.

mod_headers

Você pode usar este módulo para gerenciar os cabeçalhos que cria usando o protocolo HTTP.

mod_deflate

Este módulo é usado para fins de compressão.

Se você quiser saber ainda mais detalhes sobre esses módulos, pode visitar o site oficial do Apache. A documentação oficial também fornece mais informações sobre o mod_proxy e o próprio Apache.

Como instalar o Apache e o mod_proxy?

Aqui estão alguns passos fáceis de seguir para instalar o Apache e o mod_proxy no seu sistema:

  1. Preparar o Servidor

Antes de tudo, você precisa garantir que seu servidor em nuvem esteja preparado. Para fazer isso, você precisa atualizar seu sistema operacional e softwares associados para as versões mais recentes.

Use os seguintes comandos para atualizar seus aplicativos:

  1. Instalar o Pacote de Itens Essenciais

Depois de preparar o seu servidor, você precisa equipá-lo com as ferramentas essenciais. Para este propósito, você precisa instalar o pacote build-essential. Este pacote consiste em todas as ferramentas básicas que você precisa para instalar programas a partir do código-fonte. Você pode instalá-lo com este comando:

  1. Obter os Módulos e Dependências

Por fim, você precisa instalar os módulos e dependências. Você pode fazer isso executando o seguinte comando:

Ativando Módulos: Como Configurar o Apache com Conexões Proxy?

Antes mesmo de começar a configurar o Apache, você precisa ativar seus módulos. Esses módulos ajudarão você a fazer as configurações necessárias e a realizar várias tarefas.

Para começar, você precisa verificar quais módulos já estão funcionando no seu sistema. Não apenas isso, mas você também precisa garantir que todos os módulos estejam instalados corretamente e possam ser ativados. Executar este comando mostrará todos os módulos disponíveis no seu servidor Apache:

a2enmod output

Como você pode ver, a resposta mostra todos os módulos disponíveis na forma de uma lista detalhada. Navegue por esta lista e determine quais módulos você deseja ativar. Para informar ao Apache, você pode usar o seguinte comando e inserir os módulos desejados no lugar dos exemplos:

Por outro lado, você também pode ativar cada módulo individualmente. Para fazer isso, você usaria os seguintes comandos:

Certos módulos provavelmente já estarão ativados por padrão no seu servidor. Você pode se perguntar como confirmar se eles estão ativados. Para garantir que o módulo desejado esteja ativo, você pode tentar ativá-lo duas vezes. Isso garantirá que o módulo esteja ativado.

  1. Alterar as Configurações Padrão

Primeiro, você deve alterar as configurações padrão. Para fazer isso, você deve acessar o arquivo de configuração padrão, que é o 000-default.conf. Este arquivo está localizado dentro de /etc/apache2/sites-enabled. Precisamos modificá-lo de forma que ele obtenha a função de proxy.

Você começará abrindo o editor de texto nano para editar o host virtual padrão. Você pode fazer isso executando este comando:

Nós nos referiremos coletivamente ao mod_virtual host e mod_proxy como o host virtual proxy. Agora, você pode implementar as seguintes configurações. Você pode fazer as alterações necessárias conforme achar adequado para o seu sistema e seus requisitos:

Você pode salvar e sair pressionando Ctrl + X e confirmando com Y.

  1. Ativar o Recurso de Balanceamento de Carga

O balanceamento de carga ajuda você a distribuir efetivamente as conexões no seu proxy. Esta é uma ideia muito útil para quando você está usando múltiplos servidores de aplicação backend em vez de apenas um único. O recurso de balanceamento de carga distribuirá a conexão ou a 'carga'.

Para ativar este recurso, você deve repetir as etapas mencionadas anteriormente neste guia. No entanto, você precisa usar as seguintes configurações ao configurar o host virtual:

  1. Ativar suporte a proxy reverso

Você precisará fazer com que um host virtual suporte seu proxy reverso se estiver trabalhando com SSL conexões e certificados. Este host virtual secundário deve ter as seguintes configurações. Você precisará seguir as instruções das etapas anteriores. Tudo o que você precisa fazer é substituir as opções de configuração pelas mencionadas abaixo:

Você também precisará habilitar o módulo SSL para que a configuração acima funcione:

  1. Reiniciar o Apache

Todas as configurações estão prontas. Finalmente, você pode reiniciar o seu servidor Apache para aplicar as alterações. Você pode reiniciar o Apache executando o seguinte comando:

Conclusão

Voilà! Você configurou com sucesso um gateway de proxy reverso no seu servidor Apache. Agora o Apache redirecionará as conexões de entrada para os seus servidores de aplicação no backend.

O melhor de tudo é que o processo de configuração exige pouco esforço e é bastante simples. Agora que você conhece os passos exatos para chegar lá, não terá problema algum para configurar um proxy reverso no Apache.

Boa computação!

Akshay Nagpal

Autor · CloudSigma

Comentários

Nenhum comentário ainda. Seja o primeiro.