6.7 KiB
title, source, path
| title | source | path |
|---|---|---|
| Proxy reverso | https://tdn.totvs.com/display/fluig/Proxy+reverso | \Plataforma Documentação técnica\Configuração\Configuração de Ambiente\Proxy reverso.md |
Nota:
Esta página foi revisada para considerar as configurações de server do TOTVS Fluig Plataforma a partir da atualização 1.6.
- Objetivo
- Visão geral
- Funcionamento
- Por que utilizar um proxy reverso?
- Configuração de proxy reverso / DMZ
Objetivo
O objetivo deste guia é descrever os procedimentos para a configuração de um servidor de proxy reverso em uma instalação da plataforma.
Dicas
Após a configuração do proxy reverso, não esqueça de alterar a URL de acesso ao portal nas Configurações do sistema da plataforma. Clique aqui e saiba como fazer.
Importante!
Salientamos que, ao utilizar um proxy reverso, uma prática de segurança recomendada para a plataforma é não expor o servidor de aplicação diretamente na Internet.
[Clique aqui](../../Especificações Técnicas/Boas práticas de segurança para o seu ambiente.md) e veja outras boas práticas de segurança recomendadas para o seu ambiente.
Visão geral
Um proxy reverso é um servidor que repassa o tráfego de rede recebido para um ou mais servidores. Ele fica na frente dos servidores Web e encaminha as solicitações do cliente – o navegador Web, por exemplo – para esses servidores Web, agindo como uma camada de controle, ajudando a aumentar a segurança, a confiabilidade e o desempenho.
Em uma instalação da plataforma, este tipo de servidor é usado para habilitar uma topologia de arquitetura chamada DMZ.
Funcionamento
O proxy reverso intercepta as solicitações dos clientes antes que elas cheguem aos servidores Web. Isso permite aplicar balanceamento de carga – um dos seus usos mais comuns – como também cache de conteúdo, criptografia SSL, compressão de dados, além de permitir aumentar a segurança das aplicações Web e a proteção contra ataques.
Dessa forma, o proxy reverso garante que nenhum cliente se comunique diretamente com os servidores Web.
Por que utilizar um proxy reverso?
Alguns dos benefícios obtidos ao utilizar um proxy reverso são:
-
melhora no desempenho de aplicações Web, diminuindo o tempo de resposta e otimizando o processamento, pois ele facilita o balanceamento de carga e o cache de conteúdo;
-
aumento da confiabilidade e da segurança contra ataques, visto que ele permite proteger os servidores implementando várias medidas de segurança e proteção;
-
facilidade na aplicação de políticas de segurança, de autenticação e de autorização, por permitir centralizar o controle de tráfego;
-
redução da carga de trabalho dos servidores back-end, pois ele gerencia a criptografia e a descriptografia do tráfego SSL.
Configuração de proxy reverso / DMZ
No exemplo abaixo, a implementação da DMZ na plataforma foi realizada com o uso do Apache™ HTTP Server, que é um servidor Web de código livre, desenvolvido e mantido pela Apache Software Foundation.
A figura a seguir apresenta as topologias DMZ + SSL suportadas pela plataforma TOTVS Fluig.
Nota:
Destacamos que a topologia considerada ideal e recomendada é a número 2: (DMZ + SSL) → Fluig.
Importante!
Não é possível utilizar as notificações em tempo real quando utilizado proxy reverso com HTTPS.
Se o seu ambiente utiliza HTTPS e [balanceamento de carga](Alta disponibilidade e balanceamento de carga.md), a configuração de HTTPS deve ser replicada manualmente para todos os servidores do Fluig.
Proxy reverso com Apache
Consulte os procedimentos para a configuração e alguns exemplos em [Configuração de proxy reverso Apache](Proxy reverso/Configuração de proxy reverso Apache.md).
Proxy reverso com NGINX
Consulte os procedimentos para a configuração e alguns exemplos em [Configuração de proxy reverso NGINX com HTTPS](Proxy reverso/Configuração de proxy reverso NGINX com HTTPS.md).
Importante!
Somente é possível utilizar o NGINX até a versão 1.22 por conta da compatibilidade com o módulo nginx-stick-module-ng.
Proxy reverso com NLB ou Big IP
Para configurar proxy reverso utilizando o NLB, Big IP ou outros servidores homologados na nossa [matriz de portabilidade](../../Especificações Técnicas/Matriz de Portabilidade.md), consulte a documentação dos próprios fornecedores ou fabricantes.
Mas, é importante se atentar à prevenção de vulnerabilidades, para que informações não fiquem expostas no cabeçalho HTTP. [Clique aqui](Proxy reverso/Ocultar informações no cabeçalho HTTP.md) e saiba como ocultá-las no NLB.
Gerenciamento de vazão e restrição de acessos (Rate Limit)
Implementação de controles de admissão para assegurar a estabilidade da infraestrutura, prevenindo a exaustão de recursos por requisições automatizadas ou volumétricas de uma mesma origem.
Proteção de Camada de Aplicação no Apache (mod_evasive)
Configuração de limites de frequência por objeto e por site, utilizando tabelas de hash em memória para detecção e bloqueio temporário (HTTP 403) de IPs com comportamento anômalo.
Saiba mais
Confira as instruções detalhadas para configurar o Rate Limit de requisições no Apache aqui.
Controle de Fluxo e Escalonamento no NGINX (limit_req)
Utilização do algoritmo leaky bucket para padronizar a taxa de processamento de requisições, permitindo a gestão de picos de tráfego (burst) e respostas semânticas personalizadas (HTTP 429).
Saiba mais
Confira as instruções detalhadas para configurar o Rate Limit de requisições no NGINX aqui.