General info: I'm trying to create a https://pluto/jellyfin reverse proxy using ingress.
What works and what doesn't..
https://pluto/jellyfin/web/index.html > works with the login page displayed
http://pluto:8096 > works as a load balancer and redirects to
https://pluto/jellyfin > returns back 404 Page not found. It also redirects to
https://pluto/jellyfin/ > returns back 404 Page not found. It also redirects to
How can I get https://pluto/jellyfin to redirect https://pluto/jellyfin/web/index.html?
Here are my config settings which are kinda complicated. Traefik and reverse proxies are new for me
web Entrypoint redirects to websecure Entrypoint. This turns http requests to https.
strip-prefix is a middleware rule for stripPrefixRegex. ^/[^/]+ is the regex. It will strip the first path element so /jellyfin/web/index.html is sent as /web/index.html to the Jellyfin service.
host is configured as pluto. hostpath is configured as /jellyfin
This creates the http router rule: Host(
pluto) && PathPrefix(
I tried adding different middlewares (redirectRegex, etc.) using ExactPath instead of PrefixPath, etc. but I just can't get https://pluto/jellyfin to work..
Placing a service under a path is usually an issue because the service doesn't know about the path and will redirect or link to absolute paths that are not correct anymore.
That's why mostly sub-domains are used. And with LetsEncrypt you get a free TLS/SSL certs for each one, no need to buy expensive wildcard certs anymore.
In your case you are stating that you have configured a
hostpath within the application. Then you should just need a
PathPrefix to let Traefik forward the requests to your service.
But you should not need a
stripprefix middleware. Jellyfin docs. Try removing it.
I already have host and pathprefix configure in Traefik..
pluto) && PathPrefix(
But as I mentioned above it looks like it is also sending /jellyfin/web/index.html to the service which can't be resolved. This is why I added the strip-prefix so the service sees /web/index.html..
If I just have Host(
pluto) in the jellyfin app everything works perfectly is I punch in http://pluto (without the strip-prefix too), but then I can only have one service resolve to pluto..
Somehow and extra /jellyfin is getting added..
If you want to use a path prefix for multiple instances, you can use PathPrefix with Traefik and set the baseurl in jellyfin. It needs to be the same. Don’t use StripPrefix, as I explained above.
Did you read the jellyfin docs?
When setting a new Base URL (i.e. from
/baseurl ) or changing a Base URL (i.e. from
/newbaseurl ), the Jellyfin web server will automatically handle redirects to avoid displaying users invalid pages. For instance, accessing a server with a Base URL of
/jellyfin on the
/ path will automatically append the
/jellyfin Base URL.