O que é um proxy reverso?
Um proxy reverso é usado para fornecer serviços de balanceamento de carga e, cada vez mais, para reforçar a segurança de aplicações web em pontos estratégicos de inserção em uma rede por meio de firewalls de aplicações web, firewalls de entrega de aplicações e inspeção profunda de conteúdo.
O que é um proxy reverso?
Em redes e no 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. Os 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 à frente dos servidores web e encaminha as solicitações dos clientes (por exemplo, navegadores) para esses servidores. Os recursos solicitados são então retornados ao cliente, como se tivessem se originado do próprio servidor proxy. Isso proporciona um nível adicional de abstração e controle para garantir o fluxo contínuo do tráfego de rede entre clientes e servidores. Um proxy reverso também permite direcionar solicitações com base em uma ampla variedade de parâmetros, como dispositivo do usuário, localização, condições da rede, integridade da aplicação e até mesmo o horário 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 aumentam a eficiência. Eles podem ser implementados como dispositivos dedicados e desenvolvidos para essa finalidade, mas, nas arquiteturas web modernas, são cada vez mais usados como aplicações de software executadas em hardware comum. Embora pareçam desempenhar funções semelhantes, vamos entender quando e por que eles costumam ser implantados em um site.
Um balanceador de carga distribui as solicitações recebidas dos clientes entre um grupo de servidores para garantir uma velocidade satisfatória e um 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 é grande demais para que um único servidor consiga processá-las com eficiência. A implantação de vários servidores também elimina um ponto único de falha, tornando o site mais confiável. Na maioria dos casos, todos os servidores hospedam o mesmo conteúdo, e a função do balanceador de carga é distribuir a carga de trabalho de modo a aproveitar ao máximo a capacidade de cada servidor, evitar a sobrecarga de qualquer servidor e proporcionar a resposta mais rápida possível ao cliente.
Um proxy reverso aceita uma solicitação de um cliente, encaminha-a para um servidor capaz de atendê-la e retorna a resposta do servidor ao cliente. Embora a implantação de um balanceador de carga só faça sentido quando há vários servidores, muitas vezes vale a pena implantar um proxy reverso mesmo com apenas um servidor web ou servidor de aplicações. Você pode pensar no proxy reverso como a “face pública” de um site. O endereço dele é o divulgado para o site, e ele fica na borda da rede do site para aceitar solicitações de navegadores web e aplicativos móveis referentes ao conteúdo hospedado no site. Um proxy reverso oferece um nível adicional de abstração e controle para garantir o fluxo contínuo do tráfego de rede entre clientes e servidores. O proxy reverso oferece:
- Maior segurança. Nenhuma informação sobre seus servidores de back-end fica visível fora da sua rede interna, portanto, clientes mal-intencionados não podem acessá-los diretamente para explorar possíveis vulnerabilidades. Muitos servidores proxy reversos incluem recursos que ajudam a proteger os servidores de back-end contra ataques distribuídos de negação de serviço (DDoS), por exemplo, rejeitando o tráfego de determinados endereços IP de clientes (inclusão em 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ê pode alterar livremente a configuração da sua infraestrutura de backend. Isso é particularmente útil em um ambiente com balanceamento de carga, no qual é possível aumentar ou reduzir o número de servidores para acompanhar as variaçõ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, melhorando o desempenho por meio de técnicas como aceleração de SSL, compactação inteligente e armazenamento em cache. Os proxies reversos também viabilizam serviços de segurança federados para vários aplicativos ao aplicar medidas de segurança para aplicações Web.
Por que um proxy reverso é importante?
Um proxy reverso é usado para fornecer serviços de balanceamento de carga, proporcionando experiências de navegação mais fluidas e, cada vez mais, reforçando a segurança de aplicações web em pontos estratégicos da rede por meio de firewalls de aplicações web, firewalls de entrega de aplicações e inspeção profunda de conteúdo.
Quando combinado com implantações em nuvem, um proxy reverso pode viabilizar o cloud bursting e arquiteturas de aplicações distribuídas, 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 comunicação entre o cliente e o servidor. Quando o proxy trata o cliente e o servidor como entidades separadas por meio da implementação de duas pilhas de rede, ele é chamado de proxy completo.
Um proxy completo cria uma conexão TCP com o cliente e outra conexão TCP separada com o servidor, com um pequeno intervalo entre elas. O cliente se conecta ao proxy em uma extremidade, e o proxy estabelece uma conexão separada e independente com o servidor. A comunicação é bidirecional em ambos os lados. As conexões do lado do cliente e do lado do servidor nunca se misturam, pois são independentes.
Como a F5 lida com as funções de proxy reverso?
A função de um proxy reverso pode ser desempenhada 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, NGINX Plus é um proxy reverso baseado em software que realiza balanceamento de carga, roteamento de camada 7 e otimização do desempenho da Web, de forma semelhante a um dispositivo de hardware. NGINX Plus também ajuda a melhorar o desempenho, a confiabilidade, a segurança e a escalabilidade dos sites. NGINX Plus é muito mais econômico do que soluções baseadas em hardware com recursos semelhantes. Os recursos abrangentes de balanceamento de carga e proxy reverso do NGINX Plus permitem criar uma rede de entrega de aplicações altamente otimizada. NGINX Plus pode ser implantado tanto na nuvem pública quanto 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 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 do desempenho da Web, bem como serviços mais avançados de gerenciamento de tráfego, como segurança da camada de aplicação, aceleração da Web, roteamento de páginas e acesso remoto seguro.

