Um proxy reverso é usado para fornecer serviços de balanceamento de carga e, cada vez mais, para impor a segurança de aplicativos web em pontos de inserção estratégicos em uma rede por meio de firewalls de aplicativos web, firewalls de entrega de aplicativos e inspeção profunda de conteúdo.

O que é um proxy reverso?

Em redes e tráfego da web, um proxy é um dispositivo ou servidor que atua em nome de outros dispositivos. Ele fica entre duas entidades e executa um serviço. Proxies são soluções de hardware ou software que ficam entre o cliente e o servidor para gerenciar solicitações e, às vezes, respostas.

Normalmente, um servidor proxy reverso fica na frente dos servidores web e encaminha solicitações do cliente (por exemplo, navegador da web) para esses servidores web. Os recursos solicitados são então retornados ao cliente, parecendo ter se originado do próprio servidor proxy. Isso fornece um nível adicional de abstração e controle para garantir o fluxo suave do tráfego de rede entre clientes e servidores. Um proxy reverso também oferece a capacidade de direcionar solicitações com base em uma ampla variedade de parâmetros, como dispositivo do usuário, localização, condições de rede, integridade do aplicativo e até mesmo a hora do dia.

Qual é a diferença entre um proxy reverso e um balanceador de carga?

Servidores proxy reversos e balanceadores de carga são componentes de uma arquitetura de computação cliente-servidor. Ambos atuam como intermediários na comunicação entre clientes e servidores, desempenhando funções que melhoram a eficiência. Eles podem ser implementados como dispositivos dedicados e desenvolvidos especificamente, mas, cada vez mais, nas arquiteturas web modernas, eles são aplicativos de software executados em hardware comum. Embora pareçam desempenhar funções semelhantes, vamos explorar quando e por que eles são normalmente implantados em um site.

Um balanceador de carga distribui solicitações de clientes recebidas entre um grupo de servidores para garantir velocidade satisfatória e funcionamento otimizado. Os balanceadores de carga são mais comumente implantados quando um site precisa de vários servidores porque o volume de solicitações é muito grande para um único servidor lidar com eficiência. A implantação de vários servidores também elimina um único ponto de falha, tornando o site mais confiável. Mais comumente, todos os servidores hospedam o mesmo conteúdo, e o trabalho do balanceador de carga é distribuir a carga de trabalho de uma forma que faça o melhor uso da capacidade de cada servidor, evite sobrecarga em qualquer servidor e resulte na resposta mais rápida possível ao cliente.

Um proxy reverso aceita uma solicitação de um cliente, a encaminha para um servidor que pode atendê-la e retorna a resposta do servidor ao cliente. Embora a implantação de um balanceador de carga só faça sentido quando você tem vários servidores, muitas vezes faz sentido implantar um proxy reverso mesmo com apenas um servidor web ou servidor de aplicativos. Você pode pensar no proxy reverso como a “face pública” de um site. Seu endereço é o anunciado para o site e ele fica na borda da rede do site para aceitar solicitações de navegadores da web e aplicativos móveis para o conteúdo hospedado no site. Um proxy reverso fornece um nível adicional de abstração e controle para garantir o fluxo suave do tráfego de rede entre clientes e servidores. O proxy reverso fornece:

  • Maior segurança. Nenhuma informação sobre seus servidores de backend é visível fora de sua rede interna, portanto, clientes mal-intencionados não podem acessá-los diretamente para explorar quaisquer vulnerabilidades. Muitos servidores proxy reversos incluem recursos que ajudam a proteger servidores backend contra ataques de negação de serviço distribuída (DDoS), por exemplo, rejeitando tráfego de endereços IP de clientes específicos (lista de bloqueio) ou limitando o número de conexões aceitas de cada cliente.
  • Maior escalabilidade e flexibilidade. Como os clientes veem apenas o endereço IP do proxy reverso, você tem liberdade para alterar a configuração da sua infraestrutura de backend. Isso é particularmente útil em um ambiente com balanceamento de carga, onde você pode aumentar ou diminuir o número de servidores para corresponder às flutuações no volume de tráfego.
  • Aceleração da web. Os proxies reversos podem reduzir o tempo necessário para gerar uma resposta e retorná-la ao cliente para melhorar o desempenho por meio de técnicas como aceleração SSL , compactação inteligente e armazenamento em cache. Os proxies reversos também permitem serviços de segurança federados para vários aplicativos, reforçando a segurança dos aplicativos da web.
Por que um proxy reverso é importante?

Um proxy reverso é usado para fornecer serviços de balanceamento de carga para proporcionar experiências na web mais suaves e, cada vez mais, para reforçar a segurança de aplicativos web em pontos de inserção estratégicos em uma rede por meio de firewalls de aplicativos web, firewalls de entrega de aplicativos e inspeção profunda de conteúdo.

Quando combinado com implantações em nuvem, um proxy reverso pode permitir arquiteturas de bursting de nuvem e de aplicativos divididos que oferecem os benefícios econômicos da nuvem sem comprometer o controle ou a segurança.

Como funciona um proxy reverso?

Um proxy reverso pode atuar como um simples serviço de encaminhamento ou participar ativamente da troca entre cliente e servidor. Quando o proxy trata o cliente e o servidor como entidades separadas implementando pilhas de rede duplas, ele é chamado de proxy completo.

Um proxy completo cria uma conexão de cliente TCP junto com uma conexão de servidor TCP separada com um pequeno intervalo no meio. O cliente se conecta ao proxy em uma extremidade e o proxy estabelece uma conexão separada e independente com o servidor. Isto é bidirecional em ambos os lados. Nunca há mistura de conexões do lado do cliente para o lado do servidor, pois as conexões são independentes.

Como o F5 lida com funções de proxy reverso?

A função de um proxy reverso pode ser executada por um dispositivo, software ou serviço, dependendo da complexidade do ambiente e das necessidades da organização.

Ambientes nativos da nuvem

Ideal para ambientes nativos da nuvem, o NGINX Plus é um proxy reverso baseado em software que executa balanceamento de carga, roteamento de Camada 7 e otimização de desempenho da web, semelhante a um dispositivo de hardware. O NGINX Plus também ajuda a melhorar o desempenho, a confiabilidade, a segurança e a escala do site. O NGINX Plus é muito mais barato do que soluções baseadas em hardware com recursos semelhantes. Os recursos abrangentes de balanceamento de carga e proxy reverso do NGINX Plus permitem que você crie uma rede de entrega de aplicativos altamente otimizada. O NGINX Plus pode ser implantado na nuvem pública e em data centers privados a um custo menor do que um proxy completo.

Ambientes híbridos

Para ambientes mais complexos e híbridos, o sistema F5 BIG-IP é um proxy completo que pode ser implantado como um servidor proxy reverso completo, capaz de interceptar, inspecionar e interagir com solicitações e respostas. Isso inclui as funções básicas de balanceamento de carga e otimização de desempenho da web, bem como serviços de gerenciamento de tráfego mais avançados, como segurança da camada de aplicativo , aceleração da web , roteamento de páginas e acesso remoto seguro .