you are viewing a single comment's thread
view the rest of the comments
[–] 3 points 11 months ago (1 child)

Not sure how well that will fly, does it pass a config test?

Also here is a working server block that I use and works fine everywhere

server {
    listen server IP:80;
    listen server IP:443 ssl; ## listen for ipv4; this line is default and implied
    http2 on;
    server_name jellyfin.example.com;
    root /srv/www/holding;
    index index.php index.html index.htm;
    #SSL setting
    ssl_certificate /etc/letsencrypt/live/wildcard_cert/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wildcard_cert/privkey.pem;
    add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";

    # Note that Diaspora has a client side check set at 4M
    client_max_body_size 512M;
    client_body_buffer_size 256K;

    access_log /var/log/nginx/jellyfin-access.log main;

    location = / {
        return 302 https://$host/web/;
    }

    location / {
      proxy_pass http://jellyfin/;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $http_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;
      proxy_set_header X-Forwarded-Protocol $scheme;
      proxy_set_header X-Forwarded-Host $http_host;
      proxy_redirect http:// https://;
      proxy_buffering off;
    }

    # location block for /web - This is purely for aesthetics so /web/#!/ works instead of having to go to /web/index.html/#!/
    location = /web/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://jellyfin/web/index.html;
        proxy_http_version 1.1;
        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;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }

    location /socket {
        # Proxy Jellyfin Websockets traffic
        proxy_pass http://jellyfin/;
        proxy_http_version 1.1;
        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;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
    }
}
  • source
  • hideshow 1 child comment
  • [–] [S] 3 points 11 months ago

    Thanks, your reply made my day after all the negative comments. I'm a home hobbyist with zero training, so a lot of this stuff is jibberish to me still. Looks like we have a lot of the same stuff going on, I just needed a sanity check. Anyway, I went ahead and deployed it a few days ago and it seems to be very functional and snappy so I guess if it works it works?

  • source
  • parent