Revisão da configuração do nginx: segurança, TLS, proxy e cache
Audita a configuração do nginx e recebe os problemas por gravidade e um ficheiro corrigido e comentado: TLS, cabeçalhos de segurança, reverse proxy, limites, cache e redirecionamentos. Pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Inclui 4 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.
Intermédio · Código · Pendente de revisão editorial
Prompt
Atua como administrador de sistemas especialista em nginx, segurança web e desempenho.
Revê esta configuração do nginx:
{{configuracao}}
Contexto:
- Função do servidor: {{funcao}}
- Domínio ou domínios: {{dominio}}
- Backend ou raiz dos ficheiros: {{backend}}
Entregáveis:
1. Uma tabela de problemas com gravidade (crítica, alta, média, baixa), linha ou bloco afetado, problema e correção.
2. Verifica no mínimo:
- TLS: protocolos e cifras, redirecionamento de HTTP para HTTPS, HSTS (explicando o risco de `includeSubDomains` e `preload` antes de os ativar), OCSP stapling.
- Cabeçalhos de segurança: `X-Content-Type-Options`, `Referrer-Policy`, `X-Frame-Options` ou `frame-ancestors`, e uma CSP inicial assinalada como a testar.
- `server_tokens off`, acesso a ficheiros ocultos (`.git`, `.env`) e listagem de diretórios.
- Reverse proxy: `proxy_set_header` (Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto), timeouts, buffering, WebSockets se aplicável.
- Os erros clássicos com `location`, `alias` versus `root`, `try_files` e barras finais.
- Limites: `client_max_body_size`, `limit_req` para login ou API, ligações.
- Desempenho: compressão, cache de estáticos com `expires` e `Cache-Control`, HTTP/2.
3. O ficheiro completo corrigido, com um comentário curto em cada alteração.
4. Comandos para validar e aplicar sem interromper o serviço (`nginx -t`, reload) e verificações com `curl -I` para cabeçalhos e redirecionamentos.
Restrições:
- Não alteres o comportamento funcional sem me avisar (rotas, redirecionamentos, tamanhos permitidos).
- Se faltar um ficheiro incluído ou não souberes a versão do nginx, pergunta-me ou marca o ponto como [PREENCHER].
- Indica o que devo verificar em pré-produção antes de passar a produção.Como utilizar
- Cola a saída de
nginx -Tpara incluir todos os ficheiros referenciados, retirando antes palavras-passe ou tokens. - Indica para que serve o servidor e o que está por trás.
- Aplica as alterações aos poucos, corre
nginx -t, recarrega e verifica os cabeçalhos comcurl -I.
Exemplo de utilização
Função: reverse proxy de uma API Node em 127.0.0.1:3000 · Domínio: api.loja-exemplo.pt · Configuração: o bloco server atual com 60 linhas.
Exemplo de resultado
1. Constatações
| Gravidade | Bloco | Problema | Correção |
|---|---|---|---|
| Crítica | listen 80 | Todo o tráfego vai sem cifra | Servidor 443 com TLS e redirecionamento 301 |
| Alta | server_name | Falta www.loja-exemplo.pt | Adicioná-lo ao certificado e ao bloco |
| Média | location / | Sem proxy_set_header: a app não vê o IP nem o esquema reais | Cabeçalhos X-Forwarded-* |
| Média | — | Sem cabeçalhos de segurança | nosniff, Referrer-Policy, HSTS |
| Baixa | — | server_tokens ativo | server_tokens off |
3. Ficheiro corrigido (excerto)
server {
listen 80;
server_name loja-exemplo.pt www.loja-exemplo.pt;
return 301 https://$host$request_uri; # força HTTPS mantendo o host
}
server {
listen 443 ssl;
http2 on; # nginx >= 1.25.1; versão: [COMPLETAR]
server_name loja-exemplo.pt www.loja-exemplo.pt;
ssl_certificate /etc/ssl/loja/fullchain.pem; # [COMPLETAR]
ssl_certificate_key /etc/ssl/loja/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
server_tokens off;
# HSTS sem includeSubDomains nem preload até rever todos os subdomínios
add_header Strict-Transport-Security "max-age=31536000" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
location ~ /\.(?!well-known) { deny all; } # bloqueia .git, .env…
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-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Valida com nginx -t && systemctl reload nginx e confirma que curl -I http://loja-exemplo.pt devolve 301…
Dados-chave
- Categoria
- Programação e desenvolvimento · DevOps
- Tipo de resultado
- Código
- Nível
- Intermédio
- Pensado para
- ChatGPT, Claude, Gemini e Microsoft Copilot
- Verificado em
- Pendente de verificação editorial
- Variáveis
- Configuração atual, Função do servidor, Domínios e Backend ou raiz
- Idioma
- Português
- Preço
- Gratuito, sem registo
- Atualizado
- 07/11/2026
Perguntas frequentes
É seguro ativar o HSTS com preload logo de início?
Não é recomendável. Com preload, os browsers forçam HTTPS no domínio e subdomínios durante muito tempo e é difícil voltar atrás. Começa com um max-age curto e aumenta-o quando tudo funcionar em HTTPS.
Porque é que a CSP aparece como a testar?
Uma Content-Security-Policy rígida pode bloquear scripts, fontes ou iframes legítimos. O mais prudente é publicá-la primeiro em modo Report-Only e ajustá-la depois.
Para que serve este prompt?
Audita a configuração do nginx e recebe os problemas por gravidade e um ficheiro corrigido e comentado: TLS, cabeçalhos de segurança, reverse proxy, limites, cache e redirecionamentos.
Com que ferramentas de IA funciona?
Foi pensado para ChatGPT, Claude, Gemini e Microsoft Copilot. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.
Como personalizo o prompt?
Clique em “Personalizar” e preencha as variáveis (Configuração atual, Função do servidor, Domínios e Backend ou raiz). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.
Preciso de experiência para o utilizar?
É de nível intermédio: convém conhecer o tema para fornecer bom contexto e rever o resultado com sentido crítico.
Este prompt é gratuito?
Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.
Posso confiar no resultado da IA?
Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.