Symphonium cannot access Jellyfin behind reverse proxy

Issue description:

Hello,

I have a problem when adding my Jellyfin library behind a NGINX Proxy Manager proxy. Symphonium it’s the only one that have issues, i can access Jellyfin with a browser and with the official Jellyfin app, also all my others services behind reverse proxy are accessible

In the logs you will find refernces to “alpine2.lan” which you can ignore because as a fallback solution i was using Symphonium within my VPN which isn’t active all the time so it’s normal that it cannot reach it when not active, the problems it’s when i use the external domain “musichall.xxxxx.com” that’s where the problem arise

Reading the log it says something like 404 error not found, but the URL it’s perfectly accessible… i’ve tried with both cloudflare active (orange cloud) and without and it doesn’t seems to make a difference

Logs:

Upload description: DarkJackal87

Additional information:

 

 

Reproduction steps:

 

 

Media provider:

Jellyfin

Screenshots:

     

You should not expose your domain in public issue.

2025-10-26 13:26:26.706 Verbose JellyfinLogger  --> [663] GET https://musichall.xxxx.com/System/Info
2025-10-26 13:26:26.708 Verbose JellyfinLogger  --> [663] END GET
2025-10-26 13:26:27.166 Verbose JellyfinLogger  <-- [663] 404 https://musichall.xxxx.com/System/Info (459ms, unknown-length body)
2025-10-26 13:26:27.168 Verbose JellyfinLogger  <-- [663] <html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>openresty</center>
</body>
</html>

2025-10-26 13:26:27.169 Verbose JellyfinLogger  <-- [663] END HTTP (461ms, 150-byte body)

Your proxy does return error 404 when accessing the necessary API end point, including when I try.

Sorry i thought it was not public when posted in support forum

Yep i saw that, but how is that the official Jellyfin app works just fine? Also when reaching it from a browser…

They don’t call that URL ? 100% of the Jellyfin installs answers on that endpoint, if your proxy block it then you need to fix the proxy configuration.

I wanted to blame the proxy, but if i reach it with the Jellyfin official app and by browser, i really don’t know what to modify, i i didn’t reach it from anywhere i could understand…. you have any leads?

Check the proxy logs ? It’s the proxy that returns error 404 only it knows why it does that.

I have no way to know or guess what you did.

https://musichall.xxxx.com/System/Info

Returns error 404, you can open it in a browser and see that.

https://musichall.xxxx.com/QuickConnect/Enabled

Does work properly, you can open it in a browser and see that.

My guess would be that you have some “security” that block the url because of System or Info.

But doing proxy debugging is not really something I can handle.

Ok i’ll check that, so the Jellyfin app then works differently from Symphonium i guess, they have 2 different ways to connect, it’s the only explanation

2025/10/26 15:55:57 [error] 345#345: *25903 open() “/data/nginx/error_pages/401.html” failed (2: No such file or directory), client: 78.212.xxx.xxx, server: musichall.xxxxx.c…, request: “GET /System/Info HTTP/2.0”, upstream: “http://xxxxxx:8096/System/Info”, host: “musichall.xxxxxx.com

i’ve checked and now i get a different error, 401 Unauthorized…. shouldn’t use the user and password i provide? the file not found should be the 401 error page that isn’t configured on my proxy…. i’ll keep checking

Yes it is using the information that you provide, so your issue is more an authentication issue now

i’m really starting to getting mad at this…. through local DNS it works perfectly, the user and password are correct, but still when i try from public domain it still fail to authorize /System/Info, every other public Url works so i really don’t know where to look more for… looks like there is some trouble with passing authorization through proxy to /System/Info? AFAIK that page should be not public visible and only under authorization

Does your proxy actually returns error 401 or does it wrongly returns a code 200 with a 401 content ?

As I said I can’t do one to one support for proxy configuration. The proxy needs to properly returns http codes for token updates specially the 401.

As i can see error 401, the same error that i get if i go to that page by a browser (and i guess in that case it’s correct because it’s behind authentication) the thing it’s that when Symphonium tries the handshake it’s like it doesn’t log in to show that info and the rest fails with it

on the other hand i see other handshake in other path working correctly, Symphonium wants to check the media version, can’t do it and fails

It stills return 404 from here…

Again it works for thousands of people I know it’s easy to think that since other apps it’s Symfonium fault.
But in this case it’s not.

i give up, i will use it from VPN, you can close the case, thanks for your support!

Just one heads up i don’t know if it’s applicable, i saw that the version of the Media can be retrivied also from /System/Info/Public, maybe that could solve some issues for example for people like me, don’t know if it’s applicable or not, i’ve tried…. have a good day!

The goal is to have an authenticated endpoint to validate the authentication at the same time.

Hello,

Sorry to bother again :smiley: but i think i’ve found a solution, and someone else could benefit from this

The problem was Nginx Proxy Manager, don’t ask me why but i’ve switched to Nginx Proxy Manager Plus and everything now works smooth as butter

Leaving this here if someone else have this kind of issue….