Como usar: Gerador de configuração do Nginx
- Escolhe o cenário: site estático, SPA (todas as rotas são redirecionadas para
index.html), proxy reverso para um aplicativo em uma porta ou PHP-FPM. - Digite seu domínio, a raiz do documento ou o endereço upstream e escolha como
wwwdeve ser tratado. - Marque os recursos extras — HTTPS com caminhos do Let’s Encrypt, gzip, cache estático, cabeçalhos de segurança, WebSockets e limitação de taxa.
- Copie a configuração, teste-a com
nginx -te atualize o Nginx.
O que cada opção oferece
| Opção | Diretivas |
|---|---|
| HTTPS | Servidor na porta 80 que redireciona com 301, listen 443 ssl, caminhos dos certificados do Certbot e a localização do desafio ACME |
| SPA | try_files $uri $uri/ /index.html; para que as rotas do lado do cliente não retornem 404 |
| Proxy reverso | proxy_pass mais Host, X-Real-IP, X-Forwarded-For e X-Forwarded-Proto cabeçalhos |
| WebSockets | proxy_http_version 1.1 com Upgrade / Connection cabeçalhos |
| gzip | Compressão para texto, JSON, JS, CSS, SVG e fontes |
| Armazenamento em cache estático | Um ano Cache-Control: immutable para recursos com hash, cache curto para HTML |
| Cabeçalhos de segurança | X-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy |
| Limite de taxa | limit_req_zone (conforme o http contexto) e limit_req com um pico |
Obter o certificado
Primeiro, crie a configuração com o HTTPS desativado, recarregue o Nginx e execute sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com — ou simplesmente sudo certbot --nginx. Depois, ative o HTTPS, atualize e verifique o resultado com o SSL Checker, o Redirect Checker e o Security Headers Checker.
Erros comuns
- Falta de ponto-e-vírgula — toda diretiva termina com
;.nginx -tmostra a linha exata. - herança do add_header — um
add_headerdentro de umlocationsubstitui todos os cabeçalhos do nível do servidor. O gerador repete os cabeçalhos de segurança quando necessário. - Barra final no `proxy_pass` —
proxy_pass http://app/;remove o prefixo da localização,proxy_pass http://app;mantém-no. - Tipos MIME errados — fontes ou
.webmanifestservidas comoapplication/octet-stream; dá uma olhada no MIME Type Lookup.
Está rodando no Docker? Combine com o Gerador do Docker Compose.
Também pesquisado como: configuração do proxy reverso do nginx, configuração do nginx spa, bloco do servidor nginx, redirecionamento https no nginx, proxy websocket do nginx, configuração do nginx e do php-fpm, redirecionamento do nginx para www.
Ferramentas que combinam com: Gerador de configuração do Nginx
- Gerador de VirtualHost Apache — Gere uma configuração completa de virtual host do Apache para o seu domínio: site estático, WordPress, PHP-FPM ou proxy reverso para um app Node ou Python.
- Gerador de Caddyfile — O Caddy obtém certificados HTTPS automaticamente, então você só descreve o seu site.
- Validador YAML — Cole um arquivo Docker Compose, manifesto Kubernetes, workflow do GitHub Actions ou qualquer YAML para localizar erros, evitar armadilhas comuns e obter uma versão bem formatada.
- Gerador de YAML Kubernetes — Preencha o nome, a imagem e a porta do seu app e receba YAML do Kubernetes pronto para produção: um Deployment com probes, limites de recursos e contexto de segurança reforçado, além do Service, do Ingress com TLS, do ConfigMap, do Secret e do HorizontalPodAutoscaler que você marcar, tudo em um arquivo pronto para kubectl apply.