Qué te da este generador
Si alguna vez has abierto un fichero `.conf` vacío en `/etc/nginx/sites-available/` y te has preguntado por dónde empezar, esta herramienta es para ti. Escribe el server-block completo para las cinco cosas que la gente hace de verdad con nginx: servir un sitio estático, poner un reverse proxy delante de una app, ejecutar un redirect limpio, alojar un subdominio o repartir tráfico entre varios backends con un load balancer.
Elige un modo arriba, rellena un dominio y un backend, activa los interruptores para SSL, gzip, WebSockets y Cloudflare. El panel derecho muestra el texto exacto que pegas en nginx, indentado y con el estilo de un config real. Copia o Descarga como `<tu-dominio>.conf`.
Todo corre en tu navegador. No se resuelven dominios, no se emiten certificados, no se sube nada. La salida es sintaxis nginx plana, idéntica a lo que escribirías a mano si hubieras memorizado cada directiva.
Cómo usarlo
- Elige un modo arriba: *Sitio estático*, *Reverse proxy*, *Redirect*, *Subdominio* o *Load balancer*. Cada modo muestra solo los campos que importan para él.
- Escribe tus dominios en server_name. Un dominio por línea. El primero se usa como nombre del certificado.
- Elige el puerto listen. 80 para HTTP plano, 443 para HTTPS, 8080 cuando un proxy upstream o Docker gestionan TLS.
- Activa Añadir bloque SSL para enlazar las rutas de Let's Encrypt (`/etc/letsencrypt/live/<dominio>/fullchain.pem`). Deja Añadir redirect HTTP a HTTPS encendido para que los visitantes HTTP plano sean rebotados a https con un `301`.
- Para Reverse proxy: configura proxy_pass hacia tu backend, p. ej. `http://127.0.0.1:3000`. Mantén las cabeceras X-Forwarded- activadas para que tu app vea la IP real del cliente.
- Para Load balancer: pega un `address:port` por línea en *Servidores backend* y elige un algoritmo. Usa grupos upstream con `least_conn` para apps lentas e `ip_hash` cuando necesites sesiones pegajosas.
- Si tu app usa WebSockets (Socket.IO, Phoenix Channels, etc.) activa Añadir cabeceras Upgrade de WebSocket. Si tienes nginx detrás de Cloudflare, activa Añadir Cloudflare real IP para que los logs muestren al cliente real.
- Pulsa Copiar, pega en `/etc/nginx/sites-available/<tu-fichero>.conf`, haz symlink a `sites-enabled`, ejecuta `sudo nginx -t` para validar la sintaxis, luego `sudo systemctl reload nginx`.
Cuándo es útil
Siete situaciones en las que un server-block listo ahorra mucho mirar de reojo la documentación:
- Has desplegado una app Node, Python o Go en un VPS y quieres ponerla en el puerto 443 con un certificado TLS propio. Elige *Reverse proxy*, apunta a `http://127.0.0.1:3000`, activa SSL, listo. Nginx termina TLS, tu app se queda en HTTP plano detrás.
- Compraste un dominio para una landing estática. Elige *Sitio estático*, apunta root a `/var/www/tu-sitio` y obtienes un server-block funcional con los ficheros index correctos y un fallback try_files.
- Estás migrando un dominio viejo a uno nuevo. Elige *Redirect*, destino `https://nuevo.ejemplo.com$request_uri`, código `301`. Google actualiza el índice, los navegadores cachean el redirect, tus enlaces antiguos siguen funcionando.
- Quieres un subdominio para un blog. Elige *Subdominio*, prefijo `blog`, base `ejemplo.com` y obtienes un server-block completo `blog.ejemplo.com`. Guarda con ese nombre exacto para mantener `sites-available/` ordenado.
- Tu app no puede con la carga en una caja. Elige *Load balancer*, pega tres o cuatro líneas backend `address:port`, elige `least_conn` y nginx enruta cada petición al menos ocupado. Añadir un servidor es una línea nueva.
- Tu chat en tiempo real está roto detrás de nginx por los WebSockets. Activa *Añadir cabeceras Upgrade de WebSocket* y nginx reenvía `Upgrade` y `Connection` correctamente, con un timeout de lectura de 24h que sobrevive a conexiones de larga duración.
- Estás detrás de Cloudflare y todos tus logs dicen "172.x.x.x". Activa *Añadir Cloudflare real IP*, nginx reescribe `$remote_addr` desde la cabecera `CF-Connecting-IP` que viene de los rangos de Cloudflare. Los rate limits, fail2ban y logs de auditoría vuelven a funcionar.