Yesterday, 02:56 PM
(This post was last modified: 11 hours ago by TheDreadPirate. Edited 1 time in total.)
Good afternoon,
So I have a strange problem with the Android App, Desktop Browsers, and Desktop Jellyfin App seems to work okay but the Jellyfin app on Android on a Samsung A9 Tablet has a strange problem, can log in and play Movies, TV Shows etc but after so long Jellyfin will boot itself out with Connection cannot be established, Please check the hostname and your network connection. When this happens I can log back in straight away and carry on watching which show I was watching.
Jellyfin is running behind two Nginx Load Balancers with SSL Offloading, I have tested with just the IP address of the Server over HTTP and the same happens, no one else externally is having this problem though, some users use Android Jellyfin App, Android TV App or browsers.
I thought it was a Client timeout issue so before I tested with just the Servers IP Address with no Load Balancers in front I changed the Configuration.
Would anyone have any ideas as to what is causing the problem?
Jellyfin is installed on Ubuntu 24.04 no Docker,
ffmpeg
Jellyfin Version 10.9.9 Updated to latest Version but to test but rolled back to do a comparison of logs. Logs show nothing related to this problem apart from error receiving data: "The remote party closed the WebSocket connection without completing the close handshake
Hardware. 3 node Cluster R740s. Tested on bare metal fresh install of Ubuntu.
I cannot reproduce it on my Samsing A25 Phone, Desktop, Laptop or TV Android App, only seems to happen on the tablet.
Nginx Config
Regards
So I have a strange problem with the Android App, Desktop Browsers, and Desktop Jellyfin App seems to work okay but the Jellyfin app on Android on a Samsung A9 Tablet has a strange problem, can log in and play Movies, TV Shows etc but after so long Jellyfin will boot itself out with Connection cannot be established, Please check the hostname and your network connection. When this happens I can log back in straight away and carry on watching which show I was watching.
Jellyfin is running behind two Nginx Load Balancers with SSL Offloading, I have tested with just the IP address of the Server over HTTP and the same happens, no one else externally is having this problem though, some users use Android Jellyfin App, Android TV App or browsers.
I thought it was a Client timeout issue so before I tested with just the Servers IP Address with no Load Balancers in front I changed the Configuration.
Would anyone have any ideas as to what is causing the problem?
Jellyfin is installed on Ubuntu 24.04 no Docker,
ffmpeg
Jellyfin Version 10.9.9 Updated to latest Version but to test but rolled back to do a comparison of logs. Logs show nothing related to this problem apart from error receiving data: "The remote party closed the WebSocket connection without completing the close handshake
Hardware. 3 node Cluster R740s. Tested on bare metal fresh install of Ubuntu.
I cannot reproduce it on my Samsing A25 Phone, Desktop, Laptop or TV Android App, only seems to happen on the tablet.
Nginx Config
Code:
server {
listen 80;
server_name domain.uk;
return 301 https://domain.uk$request_uri;
}
#map $http_upgrade $connection_upgrade {
# default upgrade;
# '' close;
server {
listen 443;
server_name domain.uk;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "0";
ssl_certificate /etc/letsencrypt/live/domain.uk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.uk/privkey.pem;
include /etc/nginx/common/ssl.conf;
keepalive_timeout 65; # Time (in seconds) to keep the connection open
keepalive_requests 100; # Max number of requests per connection
client_max_body_size 100M;
location / {
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://10.10.0.21:8096;
proxy_buffering on;
proxy_buffers 16 4k;
proxy_buffer_size 4k;
proxy_busy_buffers_size 8k;
proxy_temp_file_write_size 8k;
proxy_max_temp_file_size 16k;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
location = /web/ {
proxy_pass http://10.10.0.21:8096/web/index.html;
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_pass http://10.10.0.21:8096;
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;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
location ~ /Items/(.*)/Images {
proxy_pass http://10.10.0.21:8096;
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;
}
Regards