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
- Apache VirtualHost Generator — Get a complete Apache virtual host config for your domain: a static site, WordPress, PHP-FPM or a reverse proxy to a Node or Python app.
- Caddyfile Generator — Caddy gets HTTPS certificates automatically — you only describe your site.
- YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
- Kubernetes YAML Generator — Fill in your app’s name, image and port and get production-ready Kubernetes YAML: a Deployment with probes, resource limits and a hardened security context, plus the Service, Ingress with TLS, ConfigMap, Secret and HorizontalPodAutoscaler you tick — in one file ready for kubectl apply.