Yes, this is fronted by an nginx, for HTTPS and similar such reasons. Besides, if this was the fault, using JF via TV's web browser would not work either. For posterity this is my current nginx config:
This is, for the most part, based on https://jellyfin.org/docs/general/networking/nginx/. I had to make some changes to the suggested configuration in the past, especially with regards to
FWIW I tried various changes to the nginx config as well, such as removing the Permissions-Policy header, the
server {
listen 127.0.0.1:443 ssl ;
listen 127.0.0.1:80 ;
listen 100.64.0.8:443 ssl ;
listen 100.64.0.8:80 ;
listen 192.168.100.1:443 ssl ;
listen 192.168.100.1:80 ;
listen 192.168.130.1:443 ssl ;
listen 192.168.130.1:80 ;
server_name jellyfin.domain ;
http2 on;
ssl_certificate /tmp/jf.crt;
ssl_certificate_key /tmp/jf.key;
location / {
proxy_pass http://127.0.0.1:8096;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $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;
proxy_buffering off;
}
client_max_body_size 100M;
# Tell browsers to use per-origin process isolation
add_header Origin-Agent-Cluster "?1" always;
add_header X-XSS-Protection "0";
add_header X-Content-Type-Options "nosniff";
# Permissions policy. May cause issues with some clients
add_header Permissions-Policy "accelerometer=(), ambient-light-sensor=(), battery=(), bluetooth=(), camera=(), clipboard-read=(), display-capture=(), document-domain=(), encrypted-media=(), gamepad=(), geolocation=(), gyroscope=(), hid=(), idle-detection=(), interest-cohort=(), keyboard-map=(), local-fonts=(), magnetometer=(), microphone=(), payment=(), publickey-credentials-get=(), serial=(), sync-xhr=(), usb=(), xr-spatial-tracking=()" always;
add_header Cross-Origin-Resource-Policy "cross-origin" always;
}
This is, for the most part, based on https://jellyfin.org/docs/general/networking/nginx/. I had to make some changes to the suggested configuration in the past, especially with regards to
CSP
headers in order to make the webOS app able to load jellyfin interface at all, but as things stand right now, using jellyfin.domain
on the TV's web browser works, as does using every other client that's not the webOS app.FWIW I tried various changes to the nginx config as well, such as removing the Permissions-Policy header, the
X-content-type-options
header, bringing the location /socket
config in from the sample configuration and such. None of that has helped, unfortunately.