thumb|right|280px|alt=Um servidor proxy conectando a Internet a uma rede interna.|Cenário de exemplo: Um cliente na Internet (nuvem à esquerda) faz uma solicitação a um servidor proxy reverso (oval vermelho no meio). O proxy inspeciona a solicitação, determina que ela é válida e que não tem o recurso solicitado em seu próprio cache. Em seguida, ele encaminha a solicitação para algum servidor web interno (oval à direita). O servidor interno entrega o recurso solicitado de volta ao proxy, que por sua vez o entrega ao cliente. O cliente na Internet não tem conhecimento da rede interna e não consegue dizer se está se comunicando com um proxy ou diretamente com um servidor web.
Em redes de computadores, um proxy reverso ou servidor substituto é um servidor proxy que parece a qualquer cliente ser um servidor web comum, mas na realidade age apenas como um intermediário que encaminha as solicitações do cliente para um ou mais servidores web comuns. Os proxies reversos ajudam a aumentar a escalabilidade, o desempenho, a resiliência e a segurança, mas também apresentam vários riscos.
As empresas que executam servidores web geralmente configuram proxies reversos para facilitar a comunicação entre o navegador de um usuário da Internet e os servidores web. Uma vantagem importante de fazer isso é que os servidores web podem ser ocultados atrás de um firewall (muitas vezes um firewall de aplicação web) em uma rede interna da empresa, e apenas o proxy reverso precisa ser exposto diretamente à Internet. Os servidores proxy reversos são implementados em servidores web populares de código aberto. Servidores proxy reversos dedicados são usados por alguns dos maiores sites da Internet.
Um proxy reverso é capaz de rastrear endereços IP de solicitações retransmitidas por ele, bem como ler e ou modificar qualquer tráfego que não estiver criptografado. No entanto, isso implica que qualquer pessoa que tenha comprometido o servidor também poderia fazê-lo.
Os proxies reversos diferem dos proxies de encaminhamento, que são usados quando o cliente está restrito a uma rede interna privada e solicita que um proxy de encaminhamento recupere recursos da Internet pública.
Usos Grandes sites e redes de distribuição de conteúdo usam proxies reversos, juntamente com outras técnicas, para equilibrar a carga entre servidores internos. Os proxies reversos podem manter um cache de conteúdo estático, o que reduz ainda mais a carga nesses servidores internos e na rede interna. Também é comum que os proxies reversos adicionem recursos como compactação ou encriptação TLS ao canal de comunicação entre o cliente e o proxy reverso.
Os proxies reversos podem inspecionar cabeçalhos HTTP, o que, por exemplo, permite que eles apresentem um único endereço IP para a Internet enquanto retransmitem solicitações para diferentes servidores internos com base no URL da solicitação HTTP.
Os proxies reversos podem ocultar a existência e as características dos servidores de origem. Isso pode tornar mais difícil determinar a localização real do servidor ou site de origem e, por exemplo, mais desafiador iniciar ações legais, como remoções ou bloqueio de acesso ao site, pois o endereço IP do site pode não ser imediatamente aparente. Além disso, o proxy reverso pode estar localizado em uma jurisdição diferente com diferentes requisitos legais, complicando ainda mais o processo de remoção.
Os recursos de firewall de aplicação podem proteger contra ataques comuns baseados na web, como um ataque de negação de serviço (DoS) ou ataques de negação de serviço distribuídos (DDoS). Sem um proxy reverso, remover malware ou iniciar remoções (enquanto lida simultaneamente com o ataque) no próprio site, por exemplo, pode ser difícil.
No caso de sites seguros, um servidor web pode não executar a criptografia TLS sozinho, mas, em vez disso, descarregar a tarefa para um proxy reverso que pode ser equipado com hardware de aceleração TLS. (Ver proxy de terminação TLS.)
Um proxy reverso pode distribuir a carga de solicitações de entrada para vários servidores, com cada servidor atendendo a sua própria área de aplicação. No caso de servidores web de proxy reverso, o proxy reverso pode ter que reescrever o URL em cada solicitação de entrada para corresponder ao local interno relevante do recurso solicitado.
Um proxy reverso pode reduzir a carga em seus servidores de origem armazenando em cache conteúdo estático e conteúdo dinâmico, isso é conhecido como aceleração da web. Caches de proxy desse tipo geralmente podem satisfazer um número considerável de solicitações de sites, reduzindo muito a carga no(s) servidor(es) de origem.
Um proxy reverso pode otimizar o conteúdo compactando-o para acelerar os tempos de carregamento.
Em uma técnica chamada "spoon-feeding", uma página gerada dinamicamente pode ser produzida em sua totalidade e entregue ao proxy reverso, que pode fornecê-la ao cliente conforme a conexão permitir. O programa que gera a página não precisa permanecer aberto, liberando assim recursos do servidor durante o tempo, possivelmente prolongado, que o cliente precisa para concluir a transferência.
Os proxies reversos podem operar onde quer que vários servidores da web devam ser acessíveis por meio de um único endereço IP público. Os servidores da web "escutam" em portas diferentes na mesma máquina, com o mesmo endereço IP local ou, possivelmente, em máquinas diferentes com endereços IP locais diferentes. O proxy reverso analisa cada solicitação recebida e a entrega ao servidor certo dentro da rede de área local.
Proxies reversos podem executar testes A/B e testes multivariados sem exigir código de aplicativo para lidar com a lógica de qual versão é servida a um cliente.
Um proxy reverso pode adicionar autenticação de acesso a um servidor web que não tem nenhuma autenticação.
Riscos Quando o tráfego de trânsito é encriptado e o proxy reverso precisa filtrar, armazenar em cache, compactar, modificar ou melhorar o tráfego, o proxy primeiro deve descriptografar e criptografar novamente as comunicações. Isso requer que o proxy possua o certificado TLS e sua chave privada correspondente, estendendo o número de sistemas que podem ter acesso a dados que não estejam criptografados e tornando-o um alvo mais valioso para invasores.
A grande maioria das violações de dados externos acontece quando hackers conseguem abusar de um proxy reverso existente que foi intencionalmente implantado por uma organização ou quando hackers conseguem converter um servidor existente voltado para a Internet em um servidor proxy reverso. Sistemas comprometidos ou convertidos permitem que invasores externos especifiquem para onde desejam que seus ataques sejam enviados por proxy, permitindo seu acesso a redes e sistemas internos.
Os aplicativos que foram desenvolvidos para uso interno de uma empresa normalmente não são reforçados para padrões públicos e não são necessariamente projetados para suportar todas as tentativas de hacking. Quando uma organização permite acesso externo a esses aplicativos internos por meio de um proxy reverso, eles podem aumentar involuntariamente sua própria superfície de ataque e convidar hackers.
Se um proxy reverso não estiver configurado para filtrar ataques ou não receber atualizações diárias para manter seu banco de dados de assinaturas de ataque atualizado, uma vulnerabilidade de dia zero pode passar sem filtro, permitindo que os invasores obtenham controle do(s) sistema(s) que estão por trás do servidor proxy reverso.
Conceder acesso a chaves privadas (para armazenamento em cache ou otimização de conteúdo) a um proxy reverso de terceiros coloca toda a tríade de confidencialidade, integridade e disponibilidade (CIA) nas mãos do terceiro que opera o proxy.
Um proxy reverso é um ponto único de falha para os serviços de back-end aos quais ele serve de fachada: uma interrupção causada por falha de configuração, um ataque de negação de serviço ou uma falha de software pode tornar inacessíveis a clientes externos todos os serviços protegidos por ele, mesmo quando os próprios serviços de back-end continuarem funcionando perfeitamente. Por exemplo, uma queda em 2020 na Cloudflare derrubou temporariamente grandes sites e serviços que dependiam de sua rede de proxies reversos na borda, incluindo o Discord.
Ver também Tradução de endereços de rede
Fontes secundárias Proxy Reverso - Uma segurança a mais para seu ambiente. Acessado em 3 de março de 2016. Proxy Reverso, você precisa de um?. Acessado em 3 de março de 2016. Proxy de Cache e Reverso. Acessado em 3 de março de 2016.
Ligações externas Configuração em servidores Apache
Categoria:Arquitetura da internet Categoria:Desempenho de rede Categoria:Servidores Categoria:Redes de computadores