Kan Jellyfin fungera bakom en omvänd proxy på en undersökväg?

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Ja. Jellyfin kan fungera bakom en omvänd proxy på en under sökväg, till exempel https://example.com/jellyfin, men Jellyfin och proxyn måste använda samma bassökväg.

Ett fel med en undersökväg visar sig vanligtvis som en delvis fungerande webbplats: inloggningssidan kan läsas in medan JavaScript, bilder, WebSockets, omdirigeringar eller inbyggda klienter inte fungerar. Testa sökvägen i flera lager – Base URL först, proxyrutten därefter och vidarebefordrade rubriker samt klientadress sist – så kan du skilja en sökvägsmissmatch från ett TLS- eller proxyidentitetsproblem.

Matcha Jellyfins Base URL med den offentliga undersökvägen

Ställ in Jellyfins Base URL till exakt det offentliga prefix du tänker använda, till exempel /jellyfin. Lägg inte till ett annat internt prefix bara för att proxyn använder ett namngivet location-block; sökvägen som visas i webbläsaren och Jellyfins Base URL måste beskriva samma programrot.

Jellyfins dokumentation om omvänd proxy för Apache innehåller uttryckligen ett exempel med undersökväg och instruerar administratörer att ställa in Base URL till /jellyfin innan klienter ansluts till den fullständiga adressen. officiellt exempel med undersökväg

Starta om Jellyfin efter att du ändrat Base URL och öppna sedan den offentliga undersökvägen i ett nytt privat webbläsarfönster. Om den första omdirigeringen omedelbart tar bort /jellyfin eller lägger till det två gånger ska du åtgärda Base URL innan du ändrar inställningar för WebSocket eller autentisering.

Dirigera samma prefix genom den omvända proxyn

Konfigurera den omvända proxyn så att förfrågningar som börjar med det offentliga prefixet vidarebefordras till Jellyfin utan att en extra sökvägsomvandling införs. Den enklaste utformningen är ett offentligt prefix, en matchande Base URL för Jellyfin och en uppströms­tjänst.

Caddys guide för Jellyfin visar samma mönster: konfigurera Jellyfins bassökväg, omdirigera det nakna prefixet till formen med avslutande snedstreck och proxifiera förfrågningar under det prefixet till Jellyfin-serverdelen. matchande bassökväg och proxyrutt

Om webbläsaren får en 404:a från proxyn innan Jellyfin loggar förfrågningen är rutten felaktig på proxylagret. Om Jellyfin tar emot förfrågningen men genererar länkar utan prefixet är Base URL felaktig på programlagret. Håll isär dessa två felsignaturer.

Kontrollera statiska resurser och WebSockets, inte bara inloggningssidan

Ett lyckat HTML-svar räcker inte för att kalla konfigurationen av undersökvägen fungerande. Öppna utvecklarverktygen eller proxyloggen och kontrollera att förfrågningar för JavaScript, CSS, bilder, API och WebSocket fortfarande ligger under samma offentliga prefix.

Jellyfins exempel för omvänd proxy innehåller hantering av WebSockets eftersom interaktiva klienter upprätthåller en socketanslutning utöver vanliga HTTP-förfrågningar. En proxyregel som bara hanterar sidförfrågningar kan därför verka korrekt tills uppspelningsstatus, sessionsuppdateringar eller direktuppdateringar i gränssnittet slutar fungera. krav för omvänd proxy

Godkänt resultat är enkelt: inga upprepade 404/502-svar för prefixförsedda resurser, WebSocket-anslutningen uppgraderas korrekt och navigeringen lämnar inte webbplatsroten. Om bara en typ av förfrågan misslyckas ska du reparera den proxyregeln i stället för att ändra Jellyfins biblioteks- eller autentiseringsinställningar.

Bevara klientidentiteten genom proxyn

När sökvägen fungerar ska du kontrollera vidarebefordrad klientinformation. Jellyfin använder proxyns förtroendekonfiguration för att avgöra om vidarebefordrade adresser och protokoll ska accepteras, vilket påverkar beteendet för lokala respektive externa anslutningar samt reglerna för extern åtkomst.

Jellyfins nätverksguide varnar för att vidarebefordrade rubriker från en proxy som inte är betrodd ignoreras och rekommenderar att proxyadressen konfigureras under Known Proxies. inställningen Known Proxies En separat kontroll av klientens IP-adress är användbar när webbplatsen fungerar men varje förfrågan verkar komma från proxyn.

Lös inte ett identitetsproblem genom att lita på varje privat delnät eller varje vidarebefordrad rubrik. Lägg endast till det faktiska proxyhoppet eller det kontrollerade proxynätverket och jämför sedan en LAN-förfrågan med en extern förfrågan i Jellyfins loggar för att bekräfta att de klassificeras som förväntat.

Testa webbläsar- och inbyggda klientadresser separat

Ange den fullständiga serveradressen, inklusive undersökvägen, när en Jellyfin-klient frågar efter server-URL:en. En klient som sparats som https://example.com kan inte själv förstå att Jellyfin finns under /jellyfin.

Testa en webbläsare och en inbyggd klient från LAN-nätverket och upprepa sedan testet via det offentliga värdnamnet. Om värdnamnet fungerar men direkt åtkomst via lokal IP-adress inte gör det kan det vara förväntat när proxyrutten och certifikatet är beroende av värdnamnet; testning med värdnamn kontra IP-adress hjälper dig att isolera detta fall utan att försvaga proxyn.

Sluta när URL:en med prefix överlever inloggning, navigering, WebSocket-användning och uppspelning på de klienter du faktiskt stöder. Om bara en klient misslyckas medan webbläsaren och andra klienter fungerar ska du behandla det som ett klientadress- eller klientkompatibilitetsproblem i stället för att skriva om en fungerande proxykonfiguration.

Support och tips

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.