Generador de Configuración nginx
Construye un bloque de servidor nginx completo a partir de interruptores simples, en vivo en tu navegador. Tus datos permanecen en tu dispositivo.
Tu dominio, rutas y ubicaciones de certificados se usan solo en tu navegador para construir la configuración, que nunca se sube. Aun así, evita pegar el contenido de claves privadas reales en cualquier herramienta.
¿Necesitas permisos de archivo para tu raíz web? Prueba la Calculadora chmod.
Acerca de Generador de Configuración nginx
Este generador de configuración nginx convierte un puñado de campos e interruptores en un bloque de servidor nginx completo y válido que puedes colocar en sites-available. Elige un sitio estático (root + index con try_files) o un proxy inverso (proxy_pass con las cabeceras estándar Host, X-Real-IP, X-Forwarded-For y X-Forwarded-Proto, más líneas opcionales de upgrade de WebSocket). Activa SSL para escuchar en el 443, conecta ssl_certificate y ssl_certificate_key, y emite un segundo bloque de servidor que redirige con un 301 de HTTP a HTTPS. Añade gzip, caché de larga duración para recursos estáticos, un límite client_max_body_size y una redirección canónica de www a no-www, cada uno con un clic. Como generador de configuración nginx mantiene las llaves equilibradas y la sangría limpia, y luego te permite copiar el resultado o descargarlo como <dominio>.conf. Todo se ejecuta en tu navegador, así que tu dominio y rutas permanecen en tu dispositivo.
Características
- Modo de sitio estático con root, index y un bloque location con try_files
- Modo de proxy inverso con proxy_pass y las líneas estándar proxy_set_header
- Soporte opcional de WebSocket vía cabeceras proxy_http_version, Upgrade y Connection
- Interruptor SSL que añade listen 443 ssl más un servidor de redirección 301 de HTTP a HTTPS
- Bloque gzip ajustado para texto, JSON, JavaScript, CSS, XML y SVG
- Bloque location de caché de recursos estáticos con expires y Cache-Control immutable
- Campo client_max_body_size y redirecciones canónicas de www a no-www
- Copia el bloque de servidor o descárgalo como example.com.conf
Cómo usar Generador de Configuración nginx
- Introduce tu dominio y puerto de escucha, y elige sitio estático o proxy inverso.
- Rellena el root y el index, o el upstream de proxy_pass para tu aplicación.
- Activa SSL, gzip, caché, tamaño del cuerpo y una redirección www según necesites.
- Lee la configuración nginx en vivo a la derecha, luego copia o descarga el .conf.
Ejemplo
Entrada
Domain: example.com
Mode: Reverse proxy
Upstream: http://127.0.0.1:3000
SSL: on
Salida
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/ssl/certs/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
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;
}
}
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Un proxy inverso en el 443 con el bloque de redirección de HTTP a HTTPS correspondiente.
Errores comunes y solución de problemas
- nginx -t informa «cannot load certificate» o el bloque SSL no arranca. — Apunta ssl_certificate a tu archivo fullchain y ssl_certificate_key a la clave privada correspondiente, y asegúrate de que ambas rutas existan y sean legibles por nginx.
- Una aplicación tras proxy inverso muestra la IP de cliente incorrecta o se rompe detrás de HTTPS. — Conserva las líneas proxy_set_header generadas para que Host, X-Real-IP, X-Forwarded-For y X-Forwarded-Proto lleguen a tu upstream, y léelas desde las cabeceras correctas en tu aplicación.
- Las conexiones WebSocket se caen con un 400 o no logran hacer upgrade. — Activa el soporte de WebSocket para que el location añada proxy_http_version 1.1 con las cabeceras Upgrade y Connection "upgrade" que nginx necesita para hacer proxy de ws/wss.
- Las cargas grandes devuelven 413 Request Entity Too Large. — Define client_max_body_size en un valor por encima de tu carga más grande, por ejemplo 20M o 100M, y recarga nginx.
Preguntas frecuentes
- ¿Cómo configuro un proxy inverso en nginx?
- Elige Proxy inverso, introduce tu upstream en proxy_pass (por ejemplo http://127.0.0.1:3000), y el generador añade un bloque location / con las cabeceras estándar Host, X-Real-IP, X-Forwarded-For y X-Forwarded-Proto. Activa el soporte de WebSocket si tu aplicación usa ws/wss.
- ¿Dónde viven los bloques de servidor de nginx?
- En Debian y Ubuntu, guarda el archivo generado como /etc/nginx/sites-available/example.com y crea un enlace simbólico hacia sites-enabled. En muchas otras distribuciones, colócalo en /etc/nginx/conf.d/example.com.conf, luego ejecuta nginx -t y recarga.
- ¿Cómo cambia la configuración el interruptor SSL?
- Cambia el servidor principal para escuchar en 443 ssl, añade ssl_certificate y ssl_certificate_key, y emite un segundo bloque de servidor en el puerto 80 que redirige con un 301 cada solicitud a https://, para que los visitantes siempre lleguen al sitio seguro.
- ¿Cuál es la diferencia entre un sitio estático y un proxy inverso aquí?
- El modo estático sirve archivos desde un directorio root con index y un location con try_files, ideal para HTML, SPA o recursos compilados. El modo de proxy inverso reenvía las solicitudes a un servidor de aplicación upstream con proxy_pass y cabeceras de proxy en vez de servir archivos.
- ¿Puedo añadir gzip y caché de recursos estáticos?
- Sí. El interruptor gzip añade un bloque gzip ajustado para texto, JSON, JavaScript, CSS, XML y SVG, y el interruptor de caché añade un location que define un expires de 30 días y una cabecera Cache-Control immutable para las extensiones de recursos comunes.
- ¿Se envía mi dominio o configuración a algún lado?
- No. Este generador de configuración nginx se ejecuta por completo en tu navegador, así que el dominio, las rutas y las ubicaciones de certificados que escribes se procesan en tu dispositivo y el archivo generado nunca se sube.
Herramientas relacionadas
Todas las herramientas de ArrayKit