Como configurar um proxy reverso do Apache
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.
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 updateshellAgora, atualize os pacotes instalados em seu sistema:
$ sudo aptitude upgrade -yshellEtapa 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-essentialshellEtapa 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-devshellEtapa 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:
$ a2enmodshell
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_htmlshellVocê 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_htmlshellAlguns 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.confshellConfiguramos 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/
ProxyPassReverse / http://0.0.0.0/
ServerName localhost
</VirtualHost>shellPressione 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/
# Server 2
BalancerMember http://0.0.0.0/
</Proxy>
<VirtualHost *:*>
# Apply VH settings as desired
# However, configure ProxyPass argument to
# use "mycluster" to balance the load
ProxyPass / balancer://mycluster
</VirtualHost>shellEtapa 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/
ProxyPassReverse / http://0.0.0.0/
# Or, balance the load:
# ProxyPass / balancer://balancer_cluster_name
</VirtualHost>shellEtapa 8: reiniciar o Apache
Quando terminar a configuração, reinicie o servidor da Web Apache para que as alterações sejam aplicadas.
$ service apache2 restartshellAgora, o proxy reverso do Apache deve encaminhar solicitações para seus servidores back-end.

