33800 Docs

← Retour

Tâche : Configuration Nginx Jellyfin avec WebSocket

Date : 09-01-2026 19:40 Statut : TERMINÉ Service : Jellyfin


Objectif

Exposer Jellyfin depuis l'extérieur avec support complet des WebSockets.


Actions réalisées

  1. Backup de la config existante

    • Fichier : /etc/nginx/sites-available/jellyfin.33800.nowhere84.com.conf.bak
  2. Mise à jour de la configuration Nginx avec :

    • Support WebSocket (Upgrade, Connection headers)
    • HTTP/1.1 pour WebSocket
    • Timeouts longs (86400s) pour le streaming
    • Buffering désactivé pour le streaming temps réel
    • client_max_body_size 100M pour les uploads
  3. Test et rechargement de Nginx

    • nginx -t : OK
    • systemctl reload nginx : OK
  4. Vérification accès externe


Configuration finale

server {
    listen 443 ssl;
    server_name jellyfin.33800.nowhere84.com;

    ssl_certificate /etc/letsencrypt/live/33800.nowhere84.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/33800.nowhere84.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;

    location / {
        proxy_pass http://192.168.1.199:8096;
        proxy_http_version 1.1;

        # Support WebSocket
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        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;

        # Timeouts streaming
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;

        # Streaming temps réel
        proxy_buffering off;
        client_max_body_size 100M;
    }

    access_log /var/log/nginx/jellyfin.access.log;
    error_log /var/log/nginx/jellyfin.error.log;
}

Résultat

Jellyfin est accessible depuis l'extérieur avec support complet :