• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting nginx Reverse Proxy issues

     
    • 0 Vote(s) - 0 Average

    nginx Reverse Proxy issues

    Can't play content when connecting via reverse proxy
    MTCom
    Offline

    Junior Member

    Posts: 5
    Threads: 2
    Joined: 2025 Mar
    Reputation: 0
    Country:Switzerland
    #1
    5 hours ago
    I have Jellyfin 10.11.4 installed in a docker container on a Intel NUC. I have an nginx reverse proxy installed to get a SSL cert and allow external access to it. The reverse proxy also handles a handful of other website/services that I self host as well. All other services work perfectly fine, except Jellyfin. I did follow the sample shown here and basically copied the config 1-1: https://jellyfin.org/docs/general/post-i...roxy/nginx

    Strangely enough, when I try to play media from this machine, content isn't played. I get to see the movie/TV show media image but then nothing. The docker container says the FFPMEG exited with code 0 and the Android client just hangs and I can't even exit the play screen as it doesn't react to any tapping. I have to close the Jellyfin app and go in again.

    When I access Jellyfin directly via the http://192.168.7.8:8096/ link instead of the https://jellyfin.domain.com/ then it plays perfectly fine and doesn't even need to transcode the very same file.

    How to make this work with the reverse proxy?
    ArneR
    Online

    Junior Member

    Posts: 29
    Threads: 1
    Joined: 2025 Oct
    Reputation: 0
    Country:Norway
    #2
    1 hour ago
    It works like a charm for me, and has for a long time. There's something funky with your configuration probably.

    Since all other services work as they should, one can assume your nginx proxy host settings are good, but assumptions etc.

    This is what I have put in Custom Nginx Configuration, I don't remember exactly where I found it, but it was most likely by browsing forums online.

    Code:
    # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;

        # Proxy main Jellyfin traffic
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_headers_hash_max_size 2048;
        proxy_headers_hash_bucket_size 128;
       
        # Security / XSS Mitigation Headers
        # NOTE: X-Frame-Options may cause issues with the webOS app
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "0";
        add_header X-Content-Type-Options "nosniff";

        # Content Security Policy
        # See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
        # Enforces https content and restricts JS/CSS to origin
        # External Javascript (such as cast_sender.js for Chromecast) must be whitelisted.
        # NOTE: The default CSP headers may cause issues with the webOS app
        add_header Content-Security-Policy "default-src https: data: blob: ; img-src 'self' https://* ; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://www.gstatic.com https://www.youtube.com blob:; worker-src 'self' blob:; connect-src 'self'; object-src 'none'; frame-ancestors 'self'";

    And these are the rest of the settings:
           

    As long as you're able to connect, the fault most likely lies in jellyfin itself.

    "Doesn't even need to transcode the same file" This is a hint that something is a miss. If you force transcoding locally, does it still play or does is present the same error as when you try external? It should not behave any different, unless you have set a "Internet streaming bitrate limit (Mbps)" on the user you're testing with, or dashboard->playback->streaming that is lower than the bitrate of the media you are trying to play.

    And does your settings under dashboard->networking look good? 
    Mine looks like this, note known proxies, without filling out this field your external connected devices will get the ip of your nginx instance, but simply copying the ip your device is reporting your jellyfin dashboard and pasting it here will fix that.

       
    « Next Oldest | Next Newest »

    Users browsing this thread: 3 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode