Skip to content

Proxy Reverso (NGINX)

Na topologia de rede e distribuição de serviços da infraestrutura da PMDF, o NGINX assume o papel de Proxy Reverso e Load Balancer de camada 7 para as aplicações corporativas.

Regra de Borda de Aplicações

Todas as aplicações web da PMDF devem obrigatoriamente rodar atrás do proxy reverso. Nenhuma aplicação tem o direito de expor a sua porta pública ou container (ex: 8080, 3000) de forma direta para a DMZ ou para acesso irrestrito externo.

Arquitetura de Roteamento Segura

O NGINX atua como intermediário ocultando a topologia e a estrutura interna (backend IPs ou IPs dos Worker Nodes do Kubernetes) dos usuários, além de realizar as seguintes ações vitais:

  1. Terminação TLS (SSL/HTTPS): Os certificados digitais de segurança ficam provisionados e atuando diretamente do nível do NGINX, removendo o gargalo de criptografia e gerenciamento de certificados em cada serviço isolado.
  2. Balanceamento de Carga (Load Balancing): Retransmite as conexões para as várias instâncias em cluster dos aplicativos (seja em VMs isoladas ou ingressos de K8s).
  3. Firewall de Aplicação Web Básico: Filtragem imediata dos cabeçalhos suspeitos ou bloqueios explícitos por geolocalização (GeoIP). Seu log unificado de acesso ajuda nas investigações criminais e resposta a intrusões via sistema SIEM Wazuh.

Estrutura de Configuração (Referência de Bloco server)

Toda declaração de site é feita com blocos onde a terminação e retranscrição de URI acontecem firmemente.

nginx
server {
    listen 443 ssl;
    server_name portal.pmdf.df.gov.br;

    # Certificados gerenciados e configurados pela SSSI
    ssl_certificate /etc/nginx/ssl/portal.crt;
    ssl_certificate_key /etc/nginx/ssl/portal.key;

    location / {
        # O tráfego externo acessa no padrão 443 e é repassado ao IP Interno
        proxy_pass http://10.X.X.X:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Resolução de Problemas Corriqueiros (Proxy)

Cenário: O usuário tenta acessar uma aplicação restrita interna e depara-se com o erro "502 Bad Gateway" na tela braca típica do NGINX.

  1. O que isto significa: O Proxy Mestre (Nginx) está recebendo a comunicação na internet normalmente, porém quando ele foi redirecionar o tráfego repassando os parâmetros à aplicação local escondida em Backend, ele obteve uma recusa ou timeout (Serviço alvo está caído ou inalcançável na rede).
  2. Procedimento SSSI: Cheque o Zabbix por serviços locais ou pods k8s parados do serviço em que o Nginx tenta alcançar. Não é um erro gerado nativamente pelo código da aplicação, é uma falha de conexão na camada infra.