O que é o nginx e por que ele está na frente de quase tudo

Publicado em 2026-09-12 por frfrand

Un proxy inverso explicado sin rodeos: qué resuelve, por qué tu app no debería hablar con Internet directamente, y los tres errores que dan 502, 504 y 413.

O que é o nginx e por que ele está na frente de quase tudo

Sua aplicação roda na porta 3000. As pessoas acessam por https://tudominio.com, que é a porta 443. Quem as conecta?

Um proxy reverso. Quase sempre, nginx.

A palavra "reverso" vem da comparação com o proxy tradicional: aquele representa o cliente perante os servidores; este representa os servidores perante o cliente. Do lado de fora, o nginx é o seu site. Sua aplicação não faz ideia de que a Internet existe.

O que resolve concretamente

Termina o HTTPS. O certificado fica no nginx. Sua aplicação recebe HTTP simples pelo localhost e não precisa saber nada de TLS, nem de renovações, nem de versões de protocolo.

Permite vários sites em um servidor. O nginx olha o nome de domínio que o navegador solicitou e decide para qual aplicação enviar a requisição. Três domínios, três aplicações, um único servidor e um único IP.

Serve arquivos estáticos. Imagens, CSS, JavaScript: o nginx os entrega diretamente do disco, muito mais rápido que sua aplicação e sem gastar processos dela.

Protege. Sua aplicação não tem nenhuma porta exposta à Internet. E no caminho podem ser adicionados limites de requisições, listas de bloqueio, compressão e cabeçalhos de segurança.

A configuração mínima, linha por linha

server { listen 443 ssl; server_name miapp.com;

location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; } }

As três cabeçalhos não são decorativos e esquecê-los causa problemas confusos:

  • Sem Host, sua aplicação acha que o domínio é localhost, e as URLs que ela gera vão sair erradas.
  • Sem X-Real-IP, todos os seus visitantes aparecem nos logs com o endereço do próprio servidor.
  • Sem X-Forwarded-Proto, seu framework acha que a conexão é HTTP e pode criar redirecionamentos infinitos ao tentar forçar HTTPS.

Os três erros que você vai ver

502 Bad Gateway. O nginx não conseguiu falar com sua aplicação. O problema não está no nginx: seu app não está rodando, caiu, ou está escutando em outra porta. Veja o log do seu app, não o do nginx.

504 Gateway Timeout. Sua aplicação respondeu, mas demorou mais do que o nginx espera (60 segundos por padrão). Se for uma operação legítima e lenta, aumente o proxy_read_timeout. Caso contrário, o problema é a consulta.

413 Request Entity Too Large. Alguém tentou enviar um arquivo maior que o client_max_body_size, que vem com 1 MB por padrão. Isso confunde muito porque o erro chega antes do seu código saber.

A regra que evita quedas

nginx -t && systemctl reload nginx

Sempre as duas, sempre nessa ordem. nginx -t valida a configuração e te diz o arquivo e a linha do erro. Sem isso, um ponto e vírgula esquecido pode deixar seu site fora do ar.

E reload, não restart: reload aplica a nova configuração sem cortar as conexões que estão em andamento.

Onde se encaixa no ArduMaker

Cada domínio que você publica fica com seu bloco de nginx e seu certificado, emitido e renovado sozinho. É possível editar a configuração pelo painel quando for necessário algo particular, e ela é validada antes de aplicar, que é exatamente o nginx -t de cima, mas sem a possibilidade de esquecê-lo.

  • nginx
  • proxy inverso
  • web
  • servidores
  • DevOps

Continuar lendo

Todos os artigos · Planos VPS