Generador de configuraciones de Nginx: bloques de servidor y proxy inverso

Elige qué quieres que haga Nginx —servir una página web estática o una SPA, actuar como proxy para una aplicación de Node/Python o ejecutar PHP— y marca las opciones adicionales. Obtendrás un bloque de servidor comentado y listo para usar con HTTPS, redireccionamientos www, gzip, almacenamiento en caché y encabezados de seguridad.

Actualizado el
nginx.conf

Guardar como /etc/nginx/sites-available/example.com.conf, enlázalo a sites-enabled, y luego ejecuta sudo nginx -t && sudo systemctl reload nginx.

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Generador de configuraciones de Nginx

  1. Elige la opción: página web estática, SPA (todas las rutas se redirigen a index.html), proxy inverso a una aplicación en un puerto o PHP-FPM.
  2. Introduce tu dominio, la raíz del documento o la dirección de origen y elige cómo www debe gestionarse.
  3. Marca las opciones adicionales: HTTPS con rutas de Let’s Encrypt, gzip, almacenamiento en caché de contenido estático, encabezados de seguridad, WebSockets y limitación de velocidad.
  4. Copia la configuración, pruébala con nginx -t y vuelve a cargar Nginx.

Qué aporta cada opción

OpciónDirectivas
HTTPSServidor en el puerto 80 que redirige con 301, listen 443 ssl, las rutas de los certificados de Certbot y la ubicación del desafío ACME
SPAtry_files $uri $uri/ /index.html; para que las rutas del lado del cliente no devuelvan un 404
Proxy inversoproxy_pass más Host, X-Real-IP, X-Forwarded-For y X-Forwarded-Proto encabezados
WebSocketsproxy_http_version 1.1 con Upgrade / Connection encabezados
gzipCompresión de texto, JSON, JS, CSS, SVG y fuentes
Almacenamiento en caché estáticoUn año Cache-Control: immutable para los recursos con hash, caché corta para HTML
Encabezados de seguridadX-Content-Type-Options, Referrer-Policy, X-Frame-Options, Permissions-Policy
Límite de solicitudeslimit_req_zone (en el http contexto) y limit_req con un pico

Obtener el certificado

Primero crea la configuración con HTTPS desactivado, recarga Nginx y ejecuta sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com — o simplemente sudo certbot --nginx. A continuación, activa HTTPS, vuelve a cargar y comprueba el resultado con el verificador de SSL, el verificador de redireccionamientos y el verificador de encabezados de seguridad.

Errores comunes

  • Falta un punto y coma: cada directiva termina con ;. nginx -t muestra la línea exacta.
  • Herencia de add_header: un add_header dentro de un location sustituye todos los encabezados del nivel del servidor. El generador repite los encabezados de seguridad cuando es necesario.
  • Barra al final en proxy_pass — proxy_pass http://app/; elimina el prefijo de la ubicación, proxy_pass http://app; lo conserva.
  • Tipos MIME incorrectos — fuentes o .webmanifest servidas como application/octet-stream; búscalas con el buscador de tipos MIME.

¿Lo estás ejecutando en Docker? Combínalo con el generador de Docker Compose.

También se busca como: configuración del proxy inverso de nginx, configuración de nginx spa, bloque de servidor de nginx, redirección https en nginx, proxy websocket de nginx, configuración de nginx y php-fpm, redirección de «www» en nginx.

Herramientas que combinan con: Generador de configuraciones de Nginx

  • Apache VirtualHost Generator — Get a complete Apache virtual host config for your domain: a static site, WordPress, PHP-FPM or a reverse proxy to a Node or Python app.
  • Caddyfile Generator — Caddy gets HTTPS certificates automatically — you only describe your site.
  • YAML Validator — Paste a Docker Compose file, Kubernetes manifest, GitHub Actions workflow or any YAML to pinpoint errors, catch common pitfalls and get a cleanly formatted version.
  • Kubernetes YAML Generator — Fill in your app’s name, image and port and get production-ready Kubernetes YAML: a Deployment with probes, resource limits and a hardened security context, plus the Service, Ingress with TLS, ConfigMap, Secret and HorizontalPodAutoscaler you tick — in one file ready for kubectl apply.

Preguntas frecuentes

¿Cómo puedo probar una configuración de Nginx antes de recargarla?
Ejecuta «sudo nginx -t». Esto comprueba la sintaxis y las rutas de los archivos, y muestra en pantalla la línea en la que se produce cualquier error. Solo actualiza (sudo systemctl reload nginx) cuando diga «syntax is ok» y «test is successful».
¿Cómo consigo que una aplicación de React o Vue siga funcionando cuando se actualiza la página?
Usa el escenario SPA. Añade `try_files $uri $uri/ /index.html;`, así que cualquier ruta desconocida se resuelve con `index.html` y el enrutador del lado del cliente se encarga del resto.
¿Dónde va «limit_req_zone»?
«limit_req_zone» debe estar en el contexto «http» (por ejemplo, en /etc/nginx/nginx.conf o al principio de un archivo incluido ahí), no dentro de «server». El generador lo coloca al principio del archivo con un comentario; los archivos de «sites-enabled» se incluyen en «http» por defecto.
¿Debería activar HSTS?
Solo si HTTPS funciona en el dominio y en todos los subdominios que incluyas. Los navegadores recuerdan el HSTS durante el periodo «max-age», así que si el certificado caduca, ya no podrás acceder a la web. Empieza con un «max-age» corto.
¿Puedo instalar Generador de configuraciones de Nginx como aplicación web y utilizarla sin conexión?
Sí. Generador de configuraciones de Nginx es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas