Generador de Configuración de Nginx
Escribir configuraciones de Nginx desde cero significa recordar cada proxy_set_header, cada tipo MIME de gzip, y la diferencia entre try_files $uri/ /index.php?$args y la versión que rompe sutilmente el enrutamiento. Este generador solicita el dominio, upstream, manejador PHP y rutas SSL, luego genera un bloque de servidor con valores predeterminados sensatos para TLS, HTTP/2, caché estática y compresión.
Cómo generar tu bloque de servidor
-
1
Elige un preset
Sitio estático, PHP-FPM (Laravel, WordPress), proxy inverso de Node.js, o una simple redirección 301.
-
2
Ingresa el dominio
Incluye la lista de server_name: típicamente variantes www y no-www.
-
3
Configura los detalles de SSL
Apunta a tus archivos fullchain y privkey, o salta para usar solo HTTP.
-
4
Ajusta el upstream
Puerto, ruta de socket, o URL de backend para casos de proxy_pass.
-
5
Copia y despliega
Coloca la salida en /etc/nginx/sites-available, ejecuta nginx -t y recarga.
Cómo se ve un buen bloque de servidor
Un host virtual moderno de Nginx generalmente tiene estas piezas:
| Sección | Propósito |
|---|---|
listen 443 ssl http2 |
Aceptar HTTPS con HTTP/2 habilitado |
ssl_certificate + ssl_certificate_key |
Apuntar al material TLS |
ssl_protocols TLSv1.2 TLSv1.3 |
Eliminar versiones antiguas de TLS |
gzip on + tipos |
Comprimir texto/HTML/JSON/JS/CSS al vuelo |
Encabezados expires para activos estáticos |
Reducir viajes de ida y vuelta de visitantes repetidos |
try_files |
Enrutar a un controlador frontal (PHP, Laravel, etc.) |
| HSTS + encabezados de seguridad | Mantener al navegador honesto sobre TLS |
Esenciales del proxy inverso
Para aplicaciones de Node.js, Python, Ruby que se ejecutan detrás de Nginx:
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Olvidar X-Forwarded-For es la forma clásica de perder las IPs reales de los clientes en los registros de tu aplicación.
Errores comunes
- Falta de
server_namede respaldo. Nginx utiliza el primer bloque de servidor como predeterminado si no coincide ningún nombre. Coloca un bloqueserver_name _que devuelva 444 para evitar ataques de encabezado de host. - Orden incorrecto del certificado. El archivo
ssl_certificatedebe ser fullchain (hoja + intermedios), no solo la hoja. - Caché demasiado ansiosa. Enviar
expires 1yen/index.htmlarruinará los despliegues. Versiona las URL de los activos en su lugar. - Sin prueba antes de recargar. Siempre ejecuta
nginx -tantes desystemctl reload nginx: un error de sintaxis lleva el sitio fuera de línea.
Preguntas frecuentes
HTTP/2 es estable y universalmente soportado en Nginx 1.25+. HTTP/3 (QUIC) está disponible en Nginx 1.25+ como experimental. Para una configuración de producción en 2025, habilita HTTP/2 y opcionalmente añade HTTP/3 con las directivas http3 y quic.
La convención es /etc/ssl/certs/ para cadenas públicas y /etc/ssl/private/ para claves. Let’s Encrypt coloca todo bajo /etc/letsencrypt/live/domain/. Usa lo que tu herramienta de renovación espera.
Sí, para la mayoría de los sitios. Agrega un bloque de servidor separado en el puerto 80 que devuelva 301 https://$host$request_uri. Combinado con HSTS, el bloque HTTP apenas se activará después de la primera solicitud.
Ejecuta sudo nginx -t para analizar la configuración sin recargar. Si imprime “syntax is ok” y “test is successful”, recarga con sudo systemctl reload nginx. Nunca uses restart en producción: la recarga aplica los cambios sin interrumpir el servicio.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Generador de EditorConfig
Genera un archivo .editorconfig con tu estilo y tamaño de indentación, fin de línea, charset y reglas de espacios para un formato consistente en IDEs y editores.
Herramienta disponible en otros idiomas
- Nginx 設定ジェネレーター [JA]
- Trình tạo cấu hình Nginx [VI]
- Nginx 설정 생성기 [KO]
- مولّد إعدادات Nginx [AR]
- Gerador de Configuração Nginx [PT]
- Nginx Konfigurationsgenerator [DE]
- Générateur de configuration Nginx [FR]
- Nginx-configuratiegenerator [NL]
- Nginx-konfigurationsgenerator [SV]
- Generator Konfigurasi Nginx [ID]
- ตัวสร้างไฟล์ config ของ Nginx [TH]
- Generator konfiguracji Nginx [PL]
- Nginx Config Generator [EN]
- Generatore di Configurazione Nginx [IT]
- Генератор конфигураций Nginx [RU]
- Nginx Yapılandırma Üreteci [TR]
- Nginx 配置生成器 [ZH]