• 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 Networking & Access Nginx returning file download

     
    • 0 Vote(s) - 0 Average

    Nginx returning file download

    Rather than a web page, nginx is sending a file
    engiqueering
    Offline

    Junior Member

    Posts: 5
    Threads: 1
    Joined: 2024 Jun
    Reputation: 0
    Country:United States
    #1
    2024-06-11, 05:00 PM
    I've set up and configured a Jellyfin server and am able to access the web portal by visiting localhost:8096 and when I opened the Roku app on a device connected to my local network it found the server immediately.

    I want to share access to this with some family so I set up an nginx server and am trying to connect it to a subdomain (I had someone check that the DNS records are fine), however I am running into an error where nginx is trying to serve a downloadable file when I attempt to open the web portal at both localhost and the subdomain address. I can still access the Jellyfin server so the issue seems to be with the nginx configuration (changes at the bottom of this post)

    Is this a common error, and if so does anyone have a suggestion on how to fix it?

    jellyfin.conf:

    Code:
    # Uncomment the commented sections after you have acquired a SSL Certificate
    server {
        listen 80 http2;
        listen [::]:80 http2;
        # server_name DOMAIN_NAME;

        # Uncomment to redirect HTTP to HTTPS
        # return 301 https://$host$request_uri;
    #}

    #server {
        # listen 443 ssl;
        # listen [::]:443 ssl;
        server_name [color=#000000][REDACTED][/color];

        ## The default `client_max_body_size` is 1M, this might not be enough for some posters, etc.
        client_max_body_size 20M;

        # Uncomment next line to Disable TLS 1.0 and 1.1 (Might break older devices)
        # ssl_protocols TLSv1.3 TLSv1.2;

        # use a variable to store the upstream proxy
        # in this example we are using a hostname which is resolved via DNS
        # (if you aren't using DNS remove the resolver line and change the variable to point to an IP address e.g `set $jellyfin 127.0.0.1`)
        set $jellyfin jellyfin;
        resolver 127.0.0.1 valid=30s;

        #ssl_certificate /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem;
        #ssl_certificate_key /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem;
        #include /etc/letsencrypt/options-ssl-nginx.conf;
        #ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
        #add_header Strict-Transport-Security "max-age=31536000" always;
        #ssl_trusted_certificate /etc/letsencrypt/live/DOMAIN_NAME/chain.pem;
        #ssl_stapling on;
        #ssl_stapling_verify on;

        # Security / XSS Mitigation Headers
        # NOTE: X-Frame-Options may cause issues with the webOS app
        #add_header X-Frame-Options "SAMEORIGIN";
        #add_header X-Content-Type-Options "nosniff";

        # COOP/COEP. Disable if you use external plugins/images/assets
        #add_header Cross-Origin-Opener-Policy "same-origin" always;
        #add_header Cross-Origin-Embedder-Policy "require-corp" always;
        #add_header Cross-Origin-Resource-Policy "same-origin" always;

        # Permissions policy. May cause issues on 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;


        # 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: http://image.tmdb.org; 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'";

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

        location / {
            # Proxy main Jellyfin traffic
            proxy_pass http://$jellyfin: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;

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

        location /socket {
            # Proxy Jellyfin Websockets traffic
            proxy_pass http://$jellyfin: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;
        }
    }
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    Messages In This Thread
    Nginx returning file download - by engiqueering - 2024-06-11, 05:00 PM
    RE: Nginx returning file download - by TheDreadPirate - 2024-06-11, 05:24 PM
    RE: Nginx returning file download - by engiqueering - 2024-06-11, 05:38 PM
    RE: Nginx returning file download - by TheDreadPirate - 2024-06-11, 06:04 PM
    RE: Nginx returning file download - by engiqueering - 2024-06-11, 06:25 PM
    RE: Nginx returning file download - by TheDreadPirate - 2024-06-11, 06:33 PM
    RE: Nginx returning file download - by engiqueering - 2024-06-11, 09:40 PM
    RE: Nginx returning file download - by TheDreadPirate - 2024-06-11, 10:04 PM
    RE: Nginx returning file download - by engiqueering - 2024-06-12, 04:45 PM

    • 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