Pular para o conteúdo

DNS Registro.br com Proxy Reverso Nginx sem queda

Por Equipe Técnica AviraHost · 11 min de leitura · Atualizado em · Nginx, DNS, Registro.br, Proxy Reverso, Linux, SSL, AviraHost · 0

Configurar DNS Registro br com Proxy Reverso Nginx sem queda é o método de transição em que uma camada intermediária de terminação web recebe o tráfego externo e o repassa à aplicação sem gerar indisponibilidade durante a troca de apontamentos. Para aplicar essa migração mantendo seu site 100% online, siga estes passos:

  1. Instale e configure o Nginx como proxy reverso com suporte a TLS no servidor de destino.
  2. Reduza previamente o TTL da zona DNS no painel do Registro.br para agilizar a propagação.
  3. Crie os blocos de servidor no Nginx apontando para o backend e valide a sintaxe do serviço.
  4. Altere os registros A e CNAME no Registro.br direcionando para o IP do proxy reverso Nginx.
  5. Monitore a propagação e a alternância simultânea de requisições nos logs de acesso.

Pré-requisitos

  • Servidor rodando AlmaLinux 9, Rocky Linux 9 ou Debian 12 (Bookworm) com acesso root ou privilégios sudo.
  • Nginx 1.28 ou superior instalado e em execução no servidor de borda.
  • Aplicação backend (Node.js, PHP-FPM, Docker ou Python) rodando em porta local (ex.: 127.0.0.1:3000 ou 127.0.0.1:8080).
  • Acesso administrativo à conta do domínio na plataforma Registro.br.
  • Certificado SSL/TLS válido instalado previamente na origem ou configurado no proxy via Let's Encrypt.
  • Portas 80 e 443 liberadas no firewall do sistema operacional (nftables ou UFW).

Como integrar o DNS Registro.br ao Proxy Reverso Nginx

A arquitetura de proxy reverso protege a origem da infraestrutura, centraliza a criptografia SSL e permite escalabilidade de requisições HTTP sem expor portas de aplicação. O maior receio de administradores de sistemas durante esse redirecionamento é o temido downtime gerado pelo cache distribuído em provedores de internet. Se você tem dúvidas conceituais sobre apontamentos essenciais, consulte o Guia de zona DNS: registros A, MX, CNAME e TXT do zero para compreender como cada entrada se comporta na rede.

Configuração do Virtual Host Nginx para Proxy Reverso

O primeiro passo consiste em preparar o bloco de configuração virtual host do Nginx para receber as conexões antes mesmo de alterar qualquer entrada externa. Abra o arquivo de configuração da sua aplicação:

sudo nano /etc/nginx/conf.d/seudominio.conf

Insira a estrutura abaixo, ajustando o IP interno e a porta correspondente à sua aplicação local:

server {
    listen 80;
    listen [::]:80;
    server_name seudominio.com.br www.seudominio.com.br;

    location /.well-known/acme-challenge/ {
        root /var/www/html;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    http2 on;
    server_name seudominio.com.br www.seudominio.com.br;

    ssl_certificate /etc/letsencrypt/live/seudominio.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/seudominio.com.br/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        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;
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
    }
}

Antes de aplicar qualquer alteração em produção, teste a sintaxe das diretivas para garantir que não há erros tipográficos:

sudo nginx -t

Output esperado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Com o arquivo validado, recarregue as configurações do Nginx sem derrubar conexões ativas utilizando o sinal de recarga do systemd:

sudo systemctl reload nginx

Verifique se os sockets das portas 80 e 443 estão devidamente abertos na máquina com a ferramenta moderna ss:

sudo ss -tlpn | grep -E ':(80|443)'

Output esperado:

LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=14201,fd=6))
LISTEN 0      511          0.0.0.0:443       0.0.0.0:*    users:(("nginx",pid=14201,fd=7))

Ajuste de TTL e transição de apontamento no Registro.br

O segredo operacional para uma virada de chave sem oscilações reside no gerenciamento do tempo de vida das respostas em cache (TTL). No Registro.br, caso você utilize o serviço de DNS autoritativo padrão da própria entidade, o TTL padrão costuma ser de 2 horas (7200 segundos). Isso significa que resolvedores de DNS pelo mundo reterão o endereço IP antigo por até duas horas após a modificação.

Para executar a troca com precisão cirúrgica:

  1. Acesse o painel do Registro.br com suas credenciais de administrador.
  2. Selecione o domínio desejado na lista e localize o bloco DNS.
  3. Clique em Editar Zona (se estiver no modo avançado).
  4. Localize o registro A da raiz (seudominio.com.br) e o registro CNAME ou A do subdomínio www.
  5. Altere o endereço IPv4 para o IP público do seu servidor proxy reverso Nginx (exemplo fictício: 203.0.113.10).
  6. Salve as alterações clicando em Salvar Dados.

Como ambos os ambientes (o servidor antigo e o novo proxy Nginx) devem permanecer ligados simultaneamente durante o ciclo de publicação do Registro.br, o tráfego que atingir o IP novo já será atendido pelo Nginx imediatamente, enquanto operadoras com cache antigo continuarão no host anterior até a expiração local da entrada.

Validação dos cabeçalhos HTTP e resolução de nomes

Após salvar a zona, confirme se os servidores recursivos locais e remotos já enxergam a alteração através do utilitário dig:

dig +short seudominio.com.br @200.160.2.3

Output esperado:

203.0.113.10

No comando acima, realizamos a consulta diretamente no servidor autoritativo raiz do Registro.br (200.160.2.3 para o bloco .br), garantindo que a base central do registro nacional já publicou a nova entrada.

Em seguida, valide se a terminação TLS e os cabeçalhos de encaminhamento estão operando de ponta a ponta sem erros de loop ou bloqueio:

curl -Iv https://seudominio.com.br

Output esperado:

* Connected to seudominio.com.br (203.0.113.10) port 443
* ALPN: offers h2, http/1.1
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* Server certificate:
*  subject: CN=seudominio.com.br
*  issuer: C=US, O=Let's Encrypt, CN=R3
< HTTP/2 200 
< server: nginx
< date: Tue, 10 Feb 2026 12:00:00 GMT
< content-type: text/html; charset=UTF-8

Problemas comuns e como resolver

Sintoma: Erro 502 Bad Gateway ao acessar o domínio

Causa: O Nginx subiu com sucesso e recebeu a requisição do visitante, porém o serviço backend na porta 3000 está parado, escutando apenas em interface IPv6, ou bloqueado por políticas locais do SELinux.
Solução: Verifique o status da aplicação local com sudo ss -tlpn | grep 3000. Se estiver rodando AlmaLinux ou Rocky Linux, libere o Nginx para conectar em portas de rede no SELinux executando sudo setsebool -P httpd_can_network_connect 1.

Sintoma: Loop infinito de redirecionamento (ERR_TOO_MANY_REDIRECTS)

Causa: A aplicação de destino tenta forçar HTTPS por conta própria, mas não identifica que a conexão de borda já é criptografada devido à ausência do cabeçalho de protocolo.
Solução: Adicione a diretiva proxy_set_header X-Forwarded-Proto $scheme; dentro do bloco location / no Nginx e recarregue as configurações com sudo systemctl reload nginx.

Sintoma: Falha na emissão do certificado Let's Encrypt no novo IP

Causa: O Certbot foi executado antes do DNS do Registro.br propagar, fazendo com que o resolvedor ACME consulte o IP do servidor antigo onde o arquivo de validação HTTP-01 não existe.
Solução: Se você estiver enfrentando bloqueios de porta SSH ou serviços auxiliares ao mesmo tempo, revise o guia sobre como solucionar problemas de acesso SSH no VPS Linux. Para o Let's Encrypt, aguarde a publicação autoritativa do Registro.br ou utilize o método DNS-01 para validar o certificado antes de apontar os registros A.

Perguntas frequentes

Como evitar queda de tráfego ao alterar o DNS no Registro.br?

Para evitar qualquer indisponibilidade, configure primeiro o proxy reverso Nginx com certificados TLS válidos respondendo na origem. Em seguida, reduza o TTL da zona existente antes de apontar os registros A e CNAME para o novo IP no painel do Registro.br.

É necessário usar o DNS próprio do Registro.br para apontar para o Nginx?

Sim, você pode utilizar os servidores DNS autoritativos gratuitos fornecidos pelo próprio Registro.br ou servidores DNS externos. O importante é criar corretamente os registros do tipo A apontando diretamente para o endereço IPv4 do seu servidor Nginx.

Qual diretiva do Nginx preserva o IP original do visitante no proxy reverso?

A diretiva proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for combinada com proxy_set_header X-Real-IP $remote_addr garante que a aplicação de destino receba o endereço IP de origem do cliente em vez do IP local do proxy.

Quanto tempo demora a propagação de DNS alterada no Registro.br?

As alterações de registros A e CNAME na zona de DNS do Registro.br costumam ser publicadas em intervalos de duas horas. Durante esse período de transição, ambos os servidores antigos e novos podem receber tráfego simultaneamente sem causar erros.

Conclusão

  • Mantenha o servidor antigo ativo e com a aplicação online durante todo o intervalo de transição do Registro.br (janela mínima de 2 a 4 horas).
  • Utilize sempre systemctl reload nginx em vez de restart para processar novas diretivas sem abortar conexões TCP existentes.
  • Assegure o repasse completo dos cabeçalhos X-Forwarded-For e X-Forwarded-Proto para manter os logs de segurança e rotinas de autenticação íntegros na aplicação interna.

Leia também

Precisa de ajuda com servidores e proxy reverso?

Estruture aplicações resilientes com balanceamento de tráfego e latência reduzida utilizando instâncias com isolamento de recursos dedicado e rede de alta capacidade.

Conheça nossos planos de Servidor VPS


Esta resposta foi útil?