Proxy inverso
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Un servidor proxy está diseñado para interceptar y reenviar tráfico saliente. Un proxy inverso hace lo mismo, pero con tráfico de red entrante. Puede servir como punto de entrada a diversos servicios y reenviará internamente el tráfico a tu servicio.
Esto permite implementar enrutamiento específico por reglas, como enrutamiento por subdominio, bloqueo geográfico por IP, límites de tasa o redirección de URL. También es posible centralizar la gestión de DNS y SSL en el proxy inverso, simplificando toda la configuración relacionada con el enrutamiento.
Además, los proxies inversos ofrecen registros de acceso extendidos, por lo que siempre queda claro quién, cuándo y de dónde vino una solicitud de red y a dónde fue dirigida.
Ejecutar Jellyfin detrás de un proxy inverso
Aspectos importantes a considerar al usar Jellyfin detrás de un proxy inverso.
Registros (Logging)
Ten cuidado al registrar solicitudes con tu proxy inverso. Jellyfin a veces envía información de autenticación como parte de la URL (por ejemplo, el parámetro api_key), por lo que registrar la ruta completa puede exponer secretos en tus archivos de registro.
Recomendamos que protejas tus archivos de registro, no registres URLs completas de solicitudes o censures datos sensibles del registro.
Nuestras guías de proxy incluyen ejemplos de cómo censurar información sensible en los registros.
Cabeceras Forwarded-For
Cuando el tráfico pasa a través de un proxy inverso, Jellyfin ve la dirección IP del proxy en lugar de la del cliente. Esto introduce riesgos de seguridad potenciales y puede romper la compatibilidad, ya que Jellyfin no podrá diferenciar entre conexiones locales y remotas. Por lo tanto, si está mal configurado, todas las limitaciones para acceso externo dejarán de funcionar.
En consecuencia, las direcciones IP de tu proxy inverso deben configurarse como "Proxies conocidos" en los ajustes de Red de Jellyfin.
Esto permite que Jellyfin respete las cabeceras X-Forwarded-For, X-Forwarded-Proto y X-Forwarded-Host, usando el valor asociado como dirección IP de origen. Por defecto, Jellyfin descartará todas las cabeceras forwarded-for que no provengan de un "Proxy conocido". Esto evita que dispositivos maliciosos oculten su IP proporcionando una cabecera forwarded-for.
Esto asume que el proxy inverso está configurado para incluir esta cabecera, lo cual no siempre es así por defecto. Si aparecen problemas con el reenvío de IP de origen, debes verificar esta configuración.
Websockets
Jellyfin utiliza Websockets para diversas funciones. No todos los proxies inversos permiten esto por defecto. Es importante asegurarse de que los Websockets estén habilitados para tu servidor Jellyfin.
Guías
Recomendamos usar Caddy por su facilidad de uso, especialmente con https. Ofrecemos una guía para configurar Caddy con Jellyfin.
Si prefieres no usar Caddy, otras opciones populares para sistemas de proxy inverso son Nginx, Traefik, Haproxy y Apache. Ten en cuenta que tienen una curva de aprendizaje más pronunciada que Caddy. Puedes encontrar sus respectivas guías aquí:
Aunque no es un proxy inverso, Let's Encrypt puede usarse independientemente o con un proxy inverso para proporcionar certificados SSL.
Al seguir estas guías, asegúrate de reemplazar las siguientes variables con tu información.
-
DOMAIN_NAME: Tu nombre de dominio público para acceder a Jellyfin (ej: jellyfin.ejemplo.com) -
example.com: El nombre de dominio bajo el cual se ejecutarán los servicios de Jellyfin (ej: ejemplo.com) -
SERVER_IP_ADDRESS: La dirección IP de tu servidor Jellyfin (si el proxy inverso está en el mismo servidor, usa 127.0.0.1)
Además, los ejemplos están configurados para usar certificados de Let's Encrypt. Si tienes un certificado de otra fuente, cambia la configuración SSL de /etc/letsencrypt/DOMAIN_NAME/ a la ubicación de tu certificado y clave.
Los puertos 80 (TCP) y 443 (TCP) deben estar abiertos en tu router y firewall (dirigidos al servidor proxy).
Para soporte de HTTP/3 (QUIC), también redirige/abre el puerto UDP 443.