Brazil Inglês
Megadicas.top
Home Artigos Notícias Sobre Downloads Regras Contato


Como usar o Apache como proxy reverso



Distinguindo entre proxy direto e proxy reverso


Direção de proxy:


Proxy de encaminhamento: lida com solicitações de clientes para acessar recursos na Internet. Ele fica entre os clientes e a Internet, encaminhando as solicitações dos clientes para servidores externos.

Proxy reverso: gerencia solicitações de clientes para acessar recursos na rede de uma organização. Ele fica entre clientes e servidores backend, encaminhando solicitações de clientes para o servidor backend apropriado.

Perspectiva do cliente:

Proxy de encaminhamento: Os clientes geralmente não têm conhecimento da existência do proxy de encaminhamento. A solicitação do cliente é enviada ao servidor proxy e o servidor de destino recebe a solicitação como se ela tivesse vindo diretamente do cliente.

Proxy reverso: os clientes enviam solicitações diretamente para o proxy reverso, não para os servidores back-end. O proxy reverso então encaminha as solicitações aos servidores back-end em nome dos clientes.

Caso de uso:

Proxy de encaminhamento: frequentemente usado para filtragem de conteúdo, controle de acesso e anonimato de solicitações de clientes, ocultando as informações dos clientes. Endereços IP.

Proxy reverso: usado principalmente para balanceamento de carga, terminação SSL, armazenamento em cache e fornecimento de um gateway seguro para serviços de back-end.

Perspectiva do Servidor:

Proxy de encaminhamento: o servidor de destino vê a solicitação proveniente do proxy de encaminhamento, não do cliente original. Ele não tem conhecimento do cliente real que está fazendo a solicitação.

Proxy reverso: Os servidores de back-end veem o proxy reverso como o cliente que faz a solicitação. Eles não têm conhecimento dos clientes reais que fizeram a solicitação original.

Implicações de segurança:

Proxy de encaminhamento: Aprimora a privacidade do cliente mascarando as informações dos clientes. Endereços IP. Ele também pode fornecer camadas de segurança adicionais, filtrando conteúdo malicioso antes que ele chegue aos clientes.

Proxy reverso: atua como um escudo para servidores back-end, mantendo sua estrutura interna oculta de clientes externos. Ajuda a proteger contra a exposição direta à Internet e possíveis ataques.

Local de implantação:

Proxy de encaminhamento: implantado na rede do cliente ou no dispositivo do cliente para controlar o acesso de saída à Internet.

Proxy reverso: implantado na borda da rede da organização, entre a Internet e os servidores back-end, gerenciando solicitações de clientes de entrada.

Alguns dos principais casos de uso de proxies reversos incluem

Balanceamento de carga: Os proxies reversos podem distribuir solicitações recebidas de clientes em vários servidores back-end. Isso ajuda a distribuir a carga, evitar a sobrecarga do servidor e garantir uma melhor utilização dos recursos. O balanceamento de carga melhora o desempenho geral e a capacidade de resposta do aplicativo.

Rescisão SSL: os proxies reversos podem lidar com criptografia e descriptografia SSL/TLS em nome de servidores back-end. Isso alivia o processamento SSL que consome muitos recursos dos servidores back-end, reduzindo a carga de trabalho e simplificando o gerenciamento de certificados.

Cache: Os proxies reversos podem armazenar recursos solicitados com frequência na memória cache. Quando os clientes solicitam os mesmos recursos, o proxy reverso fornece o conteúdo armazenado em cache diretamente, reduzindo a carga do servidor e melhorando os tempos de resposta.

Aceleração da Web: Ao armazenar conteúdo estático em cache e compactar dados, os proxies reversos podem acelerar o carregamento de páginas da Web para clientes, resultando em uma experiência de usuário mais tranquila.

Segurança e proteção contra DDoS: Os proxies reversos atuam como uma barreira protetora entre a Internet e os servidores back-end. Eles podem filtrar e bloquear tráfego malicioso, proteger contra ataques de negação de serviço distribuída (DDoS) e ocultar o endereço IP real do servidor back-end para evitar ataques diretos.

Web Application Firewall (WAF): os proxies reversos podem atuar como um WAF, inspecionando o tráfego de entrada em busca de possíveis ameaças, como injeção de SQL, cross-site scripting (XSS) e outras atividades maliciosas. Eles ajudam a proteger aplicativos da Web contra vulnerabilidades comuns.

Ponto de entrada único: Os proxies reversos fornecem um ponto de entrada único para clientes externos acessarem vários servidores back-end. Isso simplifica a arquitetura de rede e permite gerenciamento e escalonamento de serviços mais fáceis.

Conversão de protocolo: Os proxies reversos podem traduzir solicitações de um protocolo para outro. Por exemplo, eles podem converter solicitações HTTP em WebSocket ou outros protocolos específicos de aplicativos, facilitando a comunicação entre clientes e servidores.

Compactação e otimização de conteúdo: Os proxies reversos podem compactar o conteúdo de saída antes de enviá-lo aos clientes, reduzindo o tamanho da transferência de dados e melhorando o tempo de carregamento da página.


Pré-requisitos – Configurar o Apache como um proxy reverso


Etapa 1 - Instalar o Apache


Conectar servidor


Agora para estabelecer uma conexão com seu servidor e atualizar o índice de pacotes local usando os repositórios APT, digite o comando abaixo no terminal e pressione Enter:

apt update

* As atualizações levarão algum tempo para serem concluídas, enquanto aguardam sua conclusão.

Como instalar o Apache no Ubuntu?


1) Instale o Apache no Ubuntu

Agora, para instalar o Apache do Ubuntu digite o comando abaixo e pressione enter

apt-get install -y apache2

2) Verifique a versão do Apache

Após a instalação, você tem a opção de verificar a versão do Apache usando

apache2 -version

3) Verificar o status do Apache

Você também tem a opção de verificar o status do Apache2 usando o comando abaixo. Isso ajuda a determinar rapidamente se o servidor está em execução e se há algum problema que precise de atenção.

systemctl status apache2

* Como você observa, o status (END) exibido na tela é uma indicação clara de uma instalação bem-sucedida do Apache2. Este resultado confirma que o processo de instalação foi concluído sem erros ou problemas.

4) Ativar o Apache

Para habilitar o Apache2 no Ubuntu use o comando:

systemctl enabled apache2

5) Iniciar o Apache

Se você deseja reiniciar o Apache2 no Ubuntu use o comando abaixo no terminal:

systemctl start apache2

Etapa 2 – Habilitar módulos Apache para proxy reverso


Como habilitá-lo no Ubuntu?

Para utilizar efetivamente um proxy reverso com o Apache Web Server, você deve habilitar módulos específicos do Apache que são cruciais para suportar a funcionalidade adicional exigida pelos servidores proxy reverso.

1. Identifique os módulos necessários

mod_proxy: Servindo como o módulo proxy principal do Apache, o mod_proxy lida com conexões e redirecionamentos de maneira eficiente. Ele permite que o Apache funcione como um gateway para servidores back-end subjacentes, tornando-o um módulo indispensável para todas as configurações de proxy reverso.

mod_proxy_http: este módulo depende do mod_proxy e é indispensável para suportar HTTP e Solicitações HTTPS em um ambiente de servidor proxy. Ele permite que o Apache lide com eficiência com o proxy de aplicativos da Web usando os protocolos HTTP/HTTPS.

mod_ssl: fornecendo funcionalidade essencial, o mod_ssl equipa o servidor HTTP Apache com suporte para SSL v3 e Protocolos TLS v1.x. Este módulo é crucial para estabelecer conexões seguras e criptografadas, garantir a integridade dos dados e aumentar a segurança do servidor web.

2. Ativar módulos

Agora, ativaremos esses módulos usando o comando a2enmod:

sudo a2enmod proxy

sudo a2enmod proxy_http

sudo a2enmod ssl

Reinicie o servidor Apache2

Depois de ativar qualquer novo módulo Apache, é imperativo não ignorar a etapa crucial de reiniciar o servidor apache2 . Esta etapa garante que as alterações tenham efeito e permite que os módulos recém-ativados sejam totalmente integrados à configuração do servidor Apache.

sudo systemctl restart apache2

3.Verificar Módulos

Você pode confirmar o status ativo desses módulos usando o seguinte comando:

sudo apachectl -M

Etapa 3 - Configuração do proxy reverso Apache


Agora, configure o proxy reverso do Apache para aceitar solicitações da Internet e encaminhá-las efetivamente para o recurso escolhido.

1. Desabilitar o Apache padrão

Para começar, você desabilitará o arquivo de configuração padrão do host virtual Apache. Isso pode ser conseguido usando o seguinte comando:

a2dissite 000-default.conf

2. Crie um novo arquivo de configuração

Criar um novo arquivo de configuração de host virtual é uma etapa fundamental na personalização do Apache para servir diferentes aplicativos da web ou sites no mesmo servidor. Um host virtual permite que o Apache gerencie vários domínios ou subdomínios, cada um com suas próprias configurações e definições exclusivas.

Para criar um novo arquivo de configuração de host virtual, siga estas etapas gerais:

Escolha um nome: selecione um nome descritivo para seu arquivo host virtual, normalmente terminando com ".conf" extensão. Por exemplo, "exemplo.com.conf" ou "nome.dominio.com.conf".

Navegue até o diretório de configuração do Apache: Na maioria das distribuições Linux, os arquivos de configuração do Apache são armazenados no "/etc/apache2/sites-available/" diretório. Por exemplo:

cd /etc/apache2/sites-available/

Criar o arquivo de host virtual: Use um editor de texto, como nano ou vi, para criar o novo arquivo de configuração. Por exemplo:

sudo nano example.com.conf

Configurar o host virtual: dentro do arquivo, use a diretiva para definir o endereço IP e a porta para aceitar solicitações para o host virtual específico. Para um exemplo básico, permitindo todos os endereços IP na porta HTTP (porta 80) use o seguinte:
<VirtualHost *:80>

      ServerName seusite.com.br

      ServerAlias www.seusite.com.br

      ServerAdmin seuemail@seusite.com.br

      ErrorLog ${APACHE_LOG_DIR}/error.log

      CustomLog ${APACHE_LOG_DIR}/access.log combined

      ProxyPass / http://127.0.0.1:8080/

      ProxyPassReverse / http://127.0.0.1:8080/

      ProxyRequests Off

</VirtualHost>

O processo de configuração começa definindo o host virtual com o comando , especificando o endereço IP aceito e o número da porta para Apache . Neste caso, o caractere curinga * é empregado, permitindo a aceitação de todos os endereços IP, enquanto o número da porta é definido como 80, representando a porta HTTP padrão. . Depois disso, a configuração inclui ainda os seguintes itens:


ServerName: Esta diretiva especifica o nome de domínio associado ao servidor.

ServerAlias: Com ServerAlias, você pode definir nomes adicionais que o servidor aceitará.

ServerAdmin: a diretiva ServerAdmin define o endereço de e-mail de contato que o servidor inclui nas mensagens de erro retornadas aos clientes.

ErrorLog: ErrorLog define o nome de um arquivo onde o Apache armazena os erros encontrados.

CustomLog: CustomLog define o nome de um arquivo onde o Apache registra solicitações do cliente para o servidor.

ProxyPass: O ProxyPass mapeia servidores remotos para o espaço do servidor local e define o endereço de destino para redirecionamento de tráfego. Ele permite que o Apache atue como um proxy reverso, encaminhando solicitações para servidores back-end e melhorando o desempenho do aplicativo e a distribuição de carga.

ProxyPassReverse: ProxyPassReverse é vital para um servidor proxy, pois reescreve o local original, o local do conteúdo e a resposta HTTP do URI cabeçalhos do servidor backend com as informações do servidor proxy. Isso garante que o proxy reverso esteja lidando corretamente com as respostas e evita que os servidores back-end sejam expostos ao acesso direto à Internet.

ProxyRequests: ProxyRequests evitam que o servidor Apache HTTP seja usado como proxy de encaminhamento, aumentando a segurança. Normalmente, deve ser definido como "desligado" ao usar o ProxyPass para evitar o uso indevido do servidor como um proxy aberto e proteger contra possíveis riscos de segurança.

Salvar e sair: salve as alterações e saia do editor de texto.

Ativar o host virtual: use o comando a2ensite para ativar a nova configuração do host virtual:

sudo a2ensite seusite.com.br.conf

Recarregue o Apache: Para aplicar as alterações, recarregue o Apache para ativar o novo host virtual:

sudo systemctl reload apache2

Com essas etapas concluídas, o novo host virtual agora está ativo e pronto para servir o site ou aplicativo designado. É importante observar que as alterações só terão efeito depois que o host virtual for habilitado e o Apache recarregado. Além disso, você pode colocar os arquivos do seu site no diretório especificado pela diretiva "DocumentRoot" para garantir que o Apache forneça o conteúdo corretamente para este host virtual específico.


Verificar configuração: Verifique se a configuração do proxy reverso está funcionando conforme o esperado. Visite o nome de domínio designado (por exemplo, "reverse-proxy.seusite.com.br") em um navegador da web, e o Apache deverá encaminhar corretamente as solicitações para o servidor back-end.


Lembre-se de que pode ser necessário definir configurações adicionais com base em seus casos de uso específicos, como manipulação de certificados SSL, balanceamento de carga, ou proxy WebSocket. Monitore regularmente o desempenho e a segurança do servidor para garantir uma operação tranquila.



Megadicas Networks © 2021 - 2024