Na rede, um proxy atua como um intermediário entre o cliente e o servidor, gerenciando solicitações e respostas em nome dos outros dispositivos.
Os proxies reversos, no entanto, ficam na frente dos servidores web. Eles encaminham as solicitações dos clientes para o servidor e retornam a resposta do servidor de volta aos clientes. Do ponto de vista do cliente, parece que a resposta está se originando do servidor web original, quando na verdade está vindo do servidor proxy reverso.
O proxy reverso oferece uma camada entre o cliente e o servidor, proporcionando controle adicional para garantir que o tráfego da rede flua sem problemas. Muitas organizações o utilizam com software de balanceamento de carga para distribuir tráfego intenso enquanto mantêm as funcionalidades adequadas do site.
O que é um proxy reverso?
Um proxy reverso é um servidor que intercepta solicitações de clientes de um ou mais servidores web e retorna a resposta do servidor ao cliente. Ele oferece suporte à segurança, escalabilidade e desempenho para sites, redes de entrega de conteúdo (CDNs) e serviços em nuvem.
A camada de proxy reverso na frente do servidor web analisa a solicitação do cliente em busca de atividades maliciosas antes que o tráfego chegue ao seu servidor web.
Como funciona um proxy reverso?
Os proxies reversos têm um propósito: proteger os servidores web do tráfego de entrada. Eles recebem solicitações de conexão, enviam-nas para diferentes servidores e, em seguida, estabelecem uma conexão com o servidor que processa a solicitação.
Abaixo estão três estágios nos quais os proxies reversos operam.
- Coleta de solicitações: O proxy reverso intercepta solicitações de entrada vindas dos clientes.
- Protocolo de controle de transmissão (TCP) handshake de três vias: Uma conexão é estabelecida com o proxy reverso, que termina a conexão inicial e inicia uma nova conexão com o servidor.
- Conexão com o servidor de origem: A solicitação do cliente é encaminhada para o servidor usando um endereço IP de disfarce para mascarar o servidor de origem.
A maioria das aplicações web usa um proxy reverso para lidar com solicitações de um navegador web. Eles não permitem que os clientes se conectem diretamente a um servidor de origem. Isso protege dados sensíveis e minimiza o risco de acesso não autorizado.
O proxy reverso também examina as respostas dos servidores em busca de qualquer coisa que um hacker malicioso possa usar para obter acesso não autorizado a recursos internos.
Aqui está como o proxy reverso funciona na comunicação pela Internet.
Aqui está como o proxy reverso funciona na comunicação pela Internet:
- Internet: Onde posso encontrar "media.example.com"?
- DNS: Está neste endereço de protocolo de internet (IP) X.XX.XXX.X. É o endereço IP público do seu roteador.
- Internet: Roteador, onde está media.example.com?
- Roteador: Esta é uma solicitação da porta 80/443. Eu encaminho todas as solicitações nessas portas para 192.168.1.10.
- Internet: Olá 192.168.1.10 na porta 80/443, onde está media.example.com?
- Proxy reverso: Está bem aqui na porta 8080. Vou encaminhá-lo para você na porta 80/443.
Quer aprender mais sobre Software de Balanceamento de Carga? Explore os produtos de Balanceamento de Carga.
O que fazem os servidores proxy reverso?
Os servidores proxy reverso cuidam de várias coisas ao buscar informações online. Esses servidores podem:
- Ocultar as características e a existência de um servidor de origem.
- Realizar aceleração de segurança da camada de transporte (TLS) com hardware para realizar criptografia TLS em vez de sites seguros.
- Balancear cargas de solicitações de entrada entre servidores, apoiando suas áreas de aplicação.
- Reduzir a carga no servidor de origem funcionando como um servidor de aceleração web que pode armazenar em cache conteúdo estático e dinâmico.
- Conduzir testes multivariados e testes A/B sem inserir JavaScript diretamente nas páginas.
- Liberar recursos do servidor durante o tempo de transferência, servindo páginas geradas dinamicamente aos clientes bit a bit, mesmo quando são produzidas de uma só vez.
- Entregar solicitações de entrada a vários servidores web dentro de uma rede local enquanto as avalia através de um único endereço IP público.
Por que você precisa de um servidor proxy reverso?
Os proxies reversos facilitam o balanceamento de carga para interfaces de programação de aplicativos (APIs) e aplicações web. Você pode facilmente descarregar serviços de aplicativos, melhorando o desempenho através de aceleração SSL, compressão e cache. Ele oferece uma camada adicional de abstração com o seguinte.
Maior segurança, escalabilidade e flexibilidade
As informações do seu servidor de backend são ocultadas de todos os clientes, impedindo que hackers as acessem ou explorem vulnerabilidades. Os proxies reversos também ajudam a prevenir que o servidor de origem sofra ataques de negação de serviço distribuída (DDoS) ao rejeitar tráfego de certos endereços IP ou limitar as solicitações de conexão dos clientes.
Como o servidor de origem não está diretamente exposto, você pode facilmente alterar a configuração do backend. Isso é útil para ambientes balanceados por carga, onde você pode ajustar as flutuações de volume de tráfego escalando o número de servidores para cima ou para baixo.
Com um proxy reverso, você nunca precisa revelar o endereço IP do seu servidor de origem. Todas as solicitações vão para o proxy reverso, como a rede de entrega de conteúdo (CDN) da Cloudflare, que terá segurança mais robusta e recursos extensos para proteger contra ataques cibernéticos.
Compressão no nível do proxy
Os proxies reversos reduzem a quantidade de dados que precisam ser compartilhados com a rede. Muitos servidores proxy usam compressão Gzip em linguagem de marcação de hipertexto (HTML), folhas de estilo em cascata (CSS), Notação de Objetos JavaScript (JSON), JavaScript, Linguagem de Marcação Extensível (XML) e vários outros tipos de conteúdo.
Balanceamento de carga
Gerenciar milhões de usuários diariamente em um site com um único servidor de origem se torna complicado. Normalmente, esses sites usam um pool distribuído de servidores, lidando com todas as solicitações ao mesmo tempo. Proxy reverso e software de balanceamento de carga oferecem uma solução nesses casos, distribuindo solicitações de entrada entre diferentes servidores e minimizando a sobrecarga. Em casos de falha do servidor, a carga é gerenciada por outros servidores no pool.
Para aplicações globais, proxies reversos podem direcionar solicitações de clientes para o servidor mais próximo deles para reduzir a latência e acelerar os tempos de resposta. Essa distribuição geográfica é um benefício chave para sites de grande escala com tráfego global.
Cache
Um servidor proxy reverso armazena em cache conteúdo para melhorar o desempenho. Por exemplo, se uma pessoa na Índia visitar um site com proxy reverso com servidores em Los Angeles, ela pode se conectar a um proxy reverso local na Índia. O proxy se comunicaria com o servidor em Los Angeles.
O servidor proxy reverso local na Índia armazena em cache os dados de resposta. Na próxima vez que alguém da Índia tentar visitar o site, o proxy reverso local mostrará a versão em cache do site, tornando seu desempenho mais rápido.
Criptografia
Aplicar criptografia de camada de soquete seguro (SSL) ou descriptografia pode ser computacionalmente caro para executar no servidor de origem. Nesses casos, as organizações usam um proxy reverso para descriptografar todas as solicitações de entrada e criptografar as respostas de saída.
Isso libera recursos valiosos no servidor de origem, tornando-o mais eficaz na execução de operações críticas.
Proxy reverso vs. proxy direto
Um proxy reverso fica na frente do servidor, gerenciando solicitações de entrada do cliente. Por outro lado, um proxy direto (comumente chamado de proxy) fica na frente das máquinas dos clientes. Quando essas máquinas se comunicam com a Internet e enviam solicitações, o servidor proxy as interpreta e se comunica com o servidor web em nome dos clientes.
Para entender uma comunicação típica de proxy direto em detalhes, vamos tomar um exemplo:
Considere três computadores domésticos {A}, um servidor proxy direto {B} e um servidor de origem de um site {C}.
Fonte: Cloudflare
Sem um servidor proxy, um computador A se conectaria diretamente com o servidor C para enviar a solicitação e obter respostas do servidor. Com um proxy direto, A envia solicitações para B, que as encaminha para C. A resposta segue o mesmo caminho, mantendo o cliente (A) anônimo.
Por outro lado, proxies reversos interceptam solicitações de clientes na borda da rede em frente ao servidor de origem de um site.
A diferença entre um proxy direto e um proxy reverso é sutil. Enquanto um proxy reverso garante que nenhum cliente se comunique diretamente com o servidor de origem, um proxy direto garante que nenhum servidor de origem se comunique diretamente com o cliente específico.
Abaixo estão algumas diferenças notáveis entre proxy reverso e proxy direto.
- Uso: Proxies diretos ajudam a monitorar e controlar o conteúdo web que os funcionários acessam e a prevenir que tráfego malicioso chegue aos servidores de origem. Eles usam conteúdo em cache para aceleração web, melhorando o tempo de carregamento e a experiência dos usuários.
- Direção do tráfego: No caso de proxy reverso, a direção do fluxo de tráfego é de entrada (internet para o servidor). Para proxy direto, é do cliente para o servidor.
- Cache: Proxy reverso armazena em cache conteúdo estático para balanceamento de carga. Proxies diretos armazenam em cache conteúdo frequentemente acessado.
- Manuseio de SSL/TLS: Proxies reversos terminam conexões SSL/TLS para servidores, enquanto proxies diretos iniciam essas conexões em nome dos clientes.
- Escalabilidade: Proxies reversos escalam com o número de servidores. Proxies diretos escalam com o número de clientes.
Casos de uso comuns de proxies reversos
Abaixo estão alguns casos de uso comuns de proxies reversos em uma organização.
- Servir conteúdo estático: Um site tem uma mistura de conteúdo dinâmico e estático. Algumas organizações configuram seu servidor proxy reverso para servir conteúdo estático, reduzindo o tempo de carregamento e liberando mais poder para renderização de conteúdo dinâmico.
- Prevenir vazamentos de dados: Proxies reversos criptografam os dados transmitidos através de uma rede, ajudando as empresas a se protegerem contra vazamentos de dados.
- Roteamento de solicitações de clientes com base na geolocalização: Um proxy reverso pode direcionar as solicitações dos clientes para o servidor que está mais próximo deles com base em sua localização geográfica.
- Protegendo gateways web: Proxies reversos ocultam a identidade do servidor de origem, mantendo-o seguro contra agentes de ameaça.
Além disso, proxies reversos são usados em redes de entrega de conteúdo para armazenar em cache conteúdo nas bordas da rede mais próximas do cliente e em serviços web móveis para otimizar imagens e scripts para dispositivos móveis.
Gerencie o fluxo de tráfego intenso de forma eficiente
No geral, proxies reversos são ferramentas versáteis com aplicações em múltiplos casos de uso. Para qualquer empresa que esteja lutando para gerenciar tráfego intenso, o proxy reverso oferece uma solução para fazer o tráfego fluir sem problemas. Ele melhora a eficiência do servidor e adiciona uma camada adicional de segurança, garantindo que o tráfego web e os hackers sejam mantidos fora de suas redes.
Escolha o proxy reverso e o balanceador de carga certos para o seu negócio e mantenha seu site funcionando de forma eficiente.
Saiba mais sobre como um balanceador de carga distribui tráfego de entrada intenso em uma aplicação enquanto garante a funcionalidade adequada.
Editado por Monishka Agrawal

Sagar Joshi
Sagar Joshi is a former content marketing specialist at G2 in India. He is an engineer with a keen interest in data analytics and cybersecurity. He writes about topics related to them. You can find him reading books, learning a new language, or playing pool in his free time.
