Ao incorporar um proxy reverso como uma camada extra de segurança, você pode reforçar a resiliência do seu aplicativo da Web e reduzir as chances de possíveis ataques. O Apache HTTP Server oferece uma grande variedade de módulos e extensões projetados especificamente para dar suporte a várias funções de proxy. Em nosso guia abrangente, vamos orientá-lo no processo passo a passo de instalação e configuração de um proxy reverso do Apache.

O que é mod_proxy?

o Apache é um servidor da Web de código aberto bem conhecido e amplamente utilizado **** que é usado para fornecer conteúdo da Web na Internet. Ele está disponível em vários sistemas operacionais, como Windows, Linux e macOS, e pode ser ampliado de forma flexível por meio de plug-ins e módulos.

O módulo mod_proxy permite que o servidor da Web Apache atue como um proxy reverso, encaminhando solicitações a outro servidor e retornando a resposta ao cliente. Isso se mostra valioso em cenários em que há vários servidores da Web presentes e a necessidade de distribuir a carga de trabalho entre eles. Ele aprimora o desempenho e constrói uma arquitetura de alta disponibilidade para sua infraestrutura da Web.

O mod_proxy do Apache consiste em vários módulos, cada um com sua própria funcionalidade. Aqui estão alguns dos módulos mais importantes:

  • mod_proxy: Fornece a funcionalidade principal do proxy reverso e encaminha solicitações para outro servidor.
  • mod_proxy_http: Fornece funcionalidade de proxy para os protocolos HTTP e HTTPS.
  • mod_proxy_ftp: Fornece funções de proxy para o protocolo FTP.
  • mod_proxy_connect: Para conexões criptografadas por SSL.
  • mod_proxy_ajp: Usado para encaminhar solicitações a servidores de aplicativos habilitados para AJP.
  • mod_proxy_wstunnel: Para o uso de soquetes da Web
  • mod_proxy_balancer: Fornece recursos de balanceamento de carga.
  • mod_cache: oferece suporte a vários métodos de cache.
  • mod_headers: Para modificação das linhas de cabeçalho HTTP.
  • mod_deflate: Comprime as respostas HTTP.
Dica

A hospedagem Linux da IONOS oferece suporte a uma ampla variedade de módulos Apache que permitem configurar seu próprio proxy reverso Apache de forma rápida e eficaz. Beneficie-se do desempenho flexivelmente escalável, da proteção DDOS e dos principais recursos PHP.

Configure um proxy reverso do Apache passo a passo

Este tutorial pressupõe que você tenha o Apache instalado em seu sistema. Para obter informações detalhadas sobre como configurar um servidor da Web Apache, consulte nosso guia.

Etapa 1: Atualizar o índice do pacote

Em primeiro lugar, você deve atualizar a lista de pacotes disponíveis. Digite o seguinte comando no terminal:

$ sudo aptitude update
shell

Agora, atualize os pacotes instalados em seu sistema:

$ sudo aptitude upgrade -y
shell

Etapa 2: Faça o download das ferramentas essenciais de compilação

Em seguida, vamos instalar as Essential Build Tools. Esse grupo de ferramentas e bibliotecas é necessário para criar e compilar aplicativos no Linux.

$ sudo aptitude install -y build-essential
shell

Etapa 3: Instalar módulos e dependências

Agora vamos baixar e instalar os módulos e bibliotecas necessários para o proxy reverso do Apache.

$ sudo aptitude install -y libapache2-mod-proxy-html libxml2-dev
shell

Etapa 4: habilitar módulos

Antes de ativar as extensões, é fundamental verificar sua instalação correta. Você pode usar o seguinte comando para exibir uma lista dos módulos disponíveis:

$ a2enmod
shell
Imagem: Run a2enmod
a2enmod command in terminal

Ao executar o comando a2enmod, você será solicitado a selecionar os módulos que deseja ativar. Para simplificar o processo e especificar vários módulos em um único comando:

$ proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html
shell

Você também pode ativar cada módulo individualmente:

$ a2enmod proxy
$ a2enmod proxy_http
$ a2enmod proxy_ajp
$ a2enmod rewrite
$ a2enmod deflate
$ a2enmod headers
$ a2enmod proxy_balancer
$ a2enmod proxy_connect
$ a2enmod proxy_html
shell

Alguns módulos estão ativos por padrão. Use a2enmod para garantir que eles estejam realmente ativados.

Etapa 5: Alterar a configuração padrão

Para implementar as funções de proxy do servidor Web Apache, precisamos editar o arquivo de configuração padrão 000-default.conf no diretório /etc/apache2/sites-enabled .

$ nano /etc/apache2/sites-enabled/000-default.conf
shell

Configuramos um host proxy virtual usando as extensões mod_virtualhost e mod_proxy . Você pode personalizar o código de acordo com suas necessidades.

<VirtualHost *:*>
        ProxyPreserveHost On
        # Servers to proxy the connection, or;
        # List of application servers:
        # Usage:
        # ProxyPass / http://[IP Addr.]:[port]/
        # ProxyPassReverse / http://[IP Addr.]:[port]/
        # Example:
        ProxyPass / http://0.0.0.0:8080/
        ProxyPassReverse / http://0.0.0.0:8080/
        ServerName localhost
    </VirtualHost>
shell

Pressione Ctrl + X e Y para salvar as alterações e fechar o editor de texto.

Etapa 6: configurar o balanceamento de carga

Se você executar vários servidores de backend, é recomendável distribuir a carga usando o balanceamento de carga.

Você pode usar o código a seguir como modelo para isso e inseri-lo no arquivo de configuração padrão:

<Proxy balancer://mycluster>
        # Define back-end servers:
        # Server 1
        BalancerMember http://0.0.0.0:8080/
        # Server 2
        BalancerMember http://0.0.0.0:8081/
    </Proxy>
    <VirtualHost *:*>
        # Apply VH settings as desired
        # However, configure ProxyPass argument to
        # use "mycluster" to balance the load
        ProxyPass / balancer://mycluster
    </VirtualHost>
shell

Etapa 7: configurar o suporte a SSL

Para usar o Apache SSL para conexões e certificados criptografados, você deve ativar um segundo host virtual.

Listen 443
    NameVirtualHost *:443
    <VirtualHost *:443>
        SSLEngine On
        # Set the path to SSL certificate
        # Usage: SSLCertificateFile /path/to/cert.pem
        SSLCertificateFile /etc/apache2/ssl/file.pem
        # Servers to proxy the connection, or;
        # List of application servers:
        # Usage:
        # ProxyPass / http://[IP Addr.]:[port]/
        # ProxyPassReverse / http://[IP Addr.]:[port]/
        # Example:
        ProxyPass / http://0.0.0.0:8080/
        ProxyPassReverse / http://0.0.0.0:8080/
        # Or, balance the load:
        # ProxyPass / balancer://balancer_cluster_name
    </VirtualHost>
shell

Etapa 8: reiniciar o Apache

Quando terminar a configuração, reinicie o servidor da Web Apache para que as alterações sejam aplicadas.

$ service apache2 restart
shell

Agora, o proxy reverso do Apache deve encaminhar solicitações para seus servidores back-end.

Dica

Um Managed Server da IONOS é uma solução simples, escalável e segura para configurar um proxy reverso Apache. Com alta disponibilidade e flexibilidade, bem como suporte profissional, você pode se concentrar em seu negócio principal enquanto a IONOS cuida do desempenho e da segurança do seu aplicativo.

Este artigo foi útil?
Ir para o menu principal