Having issues with a Reverse Proxy and Jellyfin (JF) within Unraid

Hello all, I am trying to get a reverse proxy going with JF so that I am able to access JF from outside my network. In the process of this I have followed SpaceinvaderOne’s tutorial to create a wildcard certificate via Cloudflare using Let’s Encrypt and DuckDNS.org. (Tutorial for reference Part 1 Part 2 )

I then updated all my containers to ensure that they were on the latest version and updated UnRaid itself to 6.8.2.

I opened up the router so that 80 and 443 were pointed to my server, updated the .conf file for JF in the configuration folder and made sure I got a “server ready” in the log to make sure everything is working.

I then tried to connect via my browser to https://jellyfin.MYDOMAIN.COM and instead of getting into JF I was able to access the server itself. Obviously this was not my intended outcome and disabled port 80 for now to determine what is going on.

The only thing that might cause and issue is a notification I got with nginx which I will include below:

nginx: [alert] detected a LuaJIT version which is not OpenResty's; many optimizations will be disabled and performance will be compromised (see https://github.com/openresty/luajit2 for OpenResty's LuaJIT or, even better, consider using the OpenResty releases from https://openresty.org/en/download.html)

I am at a lost here since I think everything should be working so I am hoping someone can point me in the right direction to figure out what is going on. Thank you in advance.

Can you post your relevant nginx.conf?

The only gotchas I can think of off the top of my head would be:

  1. nginx matches server names on a first come first serve bassis, I believe
  2. Jellyfin has a root url config setting somewhere. Basically it means you would have to go to https://jellyfin.domain.com/jellyfin if that’s set to jellyfin.

Can you access jellyfin by directly typing in the IP address and Port?

Sure thing here is what I have for the conf I will include it below. I did check the the internal ports and I managed to get them working not only from another computer but my phone as well, so that part is solid.

listen 80;
listen 443 ssl;
listen [::]:443 ssl;

server_name jellyfin.*;

include /config/nginx/ssl.conf;
client_max_body_size 0;

location / {
    include /config/nginx/proxy.conf;
    resolver 127.0.0.11 valid=30s;
    set $upstream_jellyfin jellyfin;
    proxy_pass http://$upstream_jellyfin:8096;
	
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
}

location ~ (/jellyfin)?/socket {
    include /config/nginx/proxy.conf;
    resolver 127.0.0.11 valid=30s;
    set $upstream_jellyfin jellyfin;
    proxy_pass http://$upstream_jellyfin:8096;
	
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;

}
}

what ports are the main server listening on? You said you get redirected to something else, so what does that config look like?

Ok it appears that Unraid listens on port 80 by default since it is a web interface to control it. I then updated the conf to drop the listen on 80 and getting a timeout error. (Which should be expected). I double checked JF’s configuration in the application and did not see anything missing there.

I think I found it! Stupid verzion router did not save me port forwarding from the http and https addressed. Updated that table and confirmed it is up and running! Thank you for your help, you just saved me a ton of headaches.

1 Like

I’m glad you figured it out because I was cross-referencing my nginx config and your stuff seemed right lol

I was staring at this for the past three days and can not tell you how much this is a load off of me. Now to figure out how to automate unpacking of files…