Revisión de configuración de nginx: seguridad, TLS, proxy y caché

Audita tu configuración de nginx y recibe una lista de problemas por gravedad y un archivo corregido y comentado: TLS, cabeceras, proxy inverso, límites, caché y redirecciones. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.

Intermedio · Código · Pendiente de revisión editorial

Prompt

Actúa como administrador de sistemas experto en nginx, seguridad web y rendimiento.

Revisa esta configuración de nginx:
{{configuracion}}

Contexto:
- Función del servidor: {{funcion}}
- Dominio o dominios: {{dominio}}
- Backend o raíz de archivos: {{backend}}

Entregables:
1. Tabla de hallazgos con gravedad (crítica, alta, media, baja), línea o bloque afectado, problema y corrección.
2. Revisa como mínimo:
   - TLS: protocolos y cifrados, redirección de HTTP a HTTPS, HSTS (explicando el riesgo de `includeSubDomains` y `preload` antes de activarlos), OCSP stapling.
   - Cabeceras de seguridad: `X-Content-Type-Options`, `Referrer-Policy`, `X-Frame-Options` o `frame-ancestors`, y una CSP inicial marcada como algo que hay que probar.
   - `server_tokens off`, acceso a archivos ocultos (`.git`, `.env`) y listados de directorios.
   - Proxy inverso: `proxy_set_header` (Host, X-Real-IP, X-Forwarded-For, X-Forwarded-Proto), timeouts, buffering, WebSockets si aplica.
   - Errores clásicos de `location`, `alias` frente a `root`, `try_files` y barras finales.
   - Límites: `client_max_body_size`, `limit_req` para login o API, conexiones.
   - Rendimiento: compresión, caché de estáticos con `expires` y `Cache-Control`, HTTP/2.
3. El archivo completo corregido, con comentarios breves en cada cambio.
4. Comandos para validar y aplicar sin cortar el servicio (`nginx -t`, recarga) y comprobaciones con `curl -I` para verificar cabeceras y redirecciones.

Restricciones:
- No cambies el comportamiento funcional sin avisar (rutas, redirecciones, tamaños permitidos).
- Si falta un bloque incluido (`include`) o no sabes la versión de nginx, pregúntame o marca el punto como [COMPLETAR].
- Señala lo que debo verificar en un entorno de pruebas antes de producción.

Cómo usarlo

  1. Pega la salida de nginx -T para incluir todos los archivos referenciados, quitando antes contraseñas o tokens.
  2. Indica para qué sirve el servidor y qué hay detrás.
  3. Aplica los cambios por partes, ejecuta nginx -t y recarga; comprueba las cabeceras con curl -I.

Ejemplo de uso

Función: proxy inverso de una API Node en 127.0.0.1:3000 · Dominio: api.tienda-ejemplo.es · Configuración: el server block actual de 60 líneas.

Resultado de ejemplo

1. Hallazgos

SeveridadBloqueProblemaCorrección
Críticalisten 80Todo el tráfico va sin cifrarServidor 443 con TLS y redirección 301
Altaserver_nameFalta www.tienda-ejemplo.esAñadirlo al certificado y al bloque
Medialocation /Sin proxy_set_header: la app no ve IP ni esquema realesCabeceras X-Forwarded-*
Media—Sin cabeceras de seguridadnosniff, Referrer-Policy, HSTS
Baja—server_tokens activoserver_tokens off

3. Archivo corregido (extracto)

server {
    listen 80;
    server_name tienda-ejemplo.es www.tienda-ejemplo.es;
    return 301 https://$host$request_uri;   # fuerza HTTPS sin cambiar de host
}

server {
    listen 443 ssl;
    http2 on;                                # nginx >= 1.25.1; versión: [COMPLETAR]
    server_name tienda-ejemplo.es www.tienda-ejemplo.es;
    ssl_certificate     /etc/ssl/tienda/fullchain.pem;   # [COMPLETAR]
    ssl_certificate_key /etc/ssl/tienda/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    server_tokens off;

    # HSTS sin includeSubDomains ni preload hasta revisar todos los subdominios
    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; }   # bloquea .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 con nginx -t && systemctl reload nginx y comprueba con curl -I http://tienda-ejemplo.es que devuelve 301…

Datos clave

Categoría
Programación y desarrollo · DevOps
Tipo de resultado
Código
Nivel
Intermedio
Pensado para
ChatGPT, Claude, Gemini y Microsoft Copilot
Verificado en
Pendiente de verificación editorial
Variables
Configuración actual, Función del servidor, Dominios y Backend o raíz
Idioma
Español
Precio
Gratis, sin registro
Actualizado
07/11/2026

Preguntas frecuentes

¿Es seguro activar HSTS con preload desde el principio?

No conviene. Con preload, los navegadores forzarán HTTPS en el dominio y subdominios durante mucho tiempo y es difícil dar marcha atrás. Empieza con un max-age corto y amplíalo cuando todo funcione por HTTPS.

¿Por qué la CSP se marca como algo que hay que probar?

Una Content-Security-Policy estricta puede bloquear scripts, fuentes o iframes legítimos. Lo prudente es desplegarla primero en modo Report-Only y ajustar antes de aplicarla.

¿Para qué sirve este prompt?

Audita tu configuración de nginx y recibe una lista de problemas por gravedad y un archivo corregido y comentado: TLS, cabeceras, proxy inverso, límites, caché y redirecciones.

¿Con qué herramientas de IA funciona?

Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.

¿Cómo personalizo el prompt?

Pulsa «Personalizar» y rellena las variables (Configuración actual, Función del servidor, Dominios y Backend o raíz). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.

¿Necesito experiencia para usarlo?

Es de nivel intermedio: conviene que conozcas el tema para aportar buen contexto y revisar el resultado con criterio.

¿Este prompt es gratis?

Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.

¿Puedo fiarme del resultado de la IA?

Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.

Prompts relacionados