Warum verliert Jellyfin Sitzungen nach einer Proxy- oder DNS-Änderung?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Eine Proxy- oder DNS-Änderung sollte nicht automatisch jeden Jellyfin-Login ungültig machen. Der Verlust von Sitzungen tritt normalerweise auf, wenn die Änderung zusätzlich den Hostnamen, das Schema, den Pfad, die Identität des Backend-Servers, die Authentifizierungsebene oder die Client-Route verändert, die der bestehende Anmeldestatus erwartet.

Trennen Sie zunächst eine einfache DNS-Eintrag-Aktualisierung von einer Origin-Änderung. Lassen Sie ein bekanntes Konto und Gerät unverändert, vergleichen Sie den direkten LAN-Zugriff mit dem normalen öffentlichen Hostnamen und erfassen Sie die erste fehlgeschlagene Anfrage, bevor Sie Clientdaten löschen. Ziel ist es, die geänderte Grenze zu identifizieren, nicht Benutzer zurückzusetzen, bis das Symptom verschwindet.

Entscheiden Sie zunächst, ob sich der öffentliche Origin tatsächlich geändert hat

Notieren Sie das alte und neue Schema, den Hostnamen, den Port, den Basispfad und die Proxy-Route. Ein DNS-A- oder AAAA-Eintrag kann denselben Hostnamen auf eine andere Adresse verweisen, ohne den Browser-Origin zu ändern. Der Wechsel von einem Hostnamen zu einem anderen oder die Änderung eines Anwendungs-Basispfads erzeugt dagegen eine andere Client-Grenze. Migrationen auf eine benutzerdefinierte Domain erfordern außerdem, dass Anwendung und Authentifizierungspfad mit der neuen Domain übereinstimmen; eine Checkliste für die Migration benutzerdefinierter Domains macht diese Kopplung von DNS und Anwendung deutlich.

Der Authentifizierungsstatus reagiert empfindlich darauf, wo er präsentiert wird. Eine nützliche Checkliste für den Geltungsbereich von Sitzungscookies beginnt damit, die Domain und den Pfad zu erfassen, die jedem Authentifizierungsmechanismus zugeordnet sind. Jellyfin-Clients speichern den Status nicht alle auf genau dieselbe Weise. Testen Sie daher den betroffenen Client, statt anzunehmen, dass das Verhalten im Browser jede App beschreibt.

Wenn der alte Hostname weiterhin funktioniert, der neue Hostname jedoch eine Anmeldung verlangt, behandeln Sie das zunächst als erwartete Origin-Migration, bis das Gegenteil bewiesen ist. Wenn derselbe Hostname erst nach der Proxy-Änderung alle Benutzer abmeldet, behalten Sie den Hostnamen bei und untersuchen Sie die Upstream-Identität, Header und die proxyseitige Authentifizierung.

Überprüfen Sie, ob DNS weiterhin auf dieselbe vorgesehene Jellyfin-Instanz verweist

Lösen Sie den Hostnamen von einem LAN-Client aus auf und, falls der Fernzugriff wichtig ist, zusätzlich über einen externen Resolver. Bestätigen Sie, dass die zurückgegebene Adresse den vorgesehenen Reverse Proxy erreicht und der Proxy an den erwarteten Jellyfin-Dienst weiterleitet – nicht an einen alten Container, eine Testinstanz, einen Wiederherstellungsklon oder einen zweiten Server mit einer anderen persistenten Datenbank.

Ein DNS-Umschalten kann wie ein Sitzungsproblem aussehen, obwohl es den Client tatsächlich an ein anderes Backend sendet. Vergleichen Sie eine serveridentifizierende Antwort, das Verhalten der Benutzerliste, den Bibliotheksstatus und das Upstream-Ziel des Proxys, bevor Sie die Authentifizierung ändern. Wenn die neue Route eine frische oder wiederhergestellte Jellyfin-Instanz erreicht, stellen die vorhandenen Client-Anmeldedaten dort möglicherweise keine gültige Sitzung mehr dar.

Der zugehörige ZimaSpace-Workflow zum Trennen der Lebenszyklen von Proxy und Sitzungsstatus ist hier hilfreich: Ein Neustart des Ingress sollte nicht unbemerkt die Anwendungsidentität oder den Status ersetzen, der bestehende Sitzungen validiert.

Vergleichen Sie weitergeleiteten Host, Schema, Pfad und Proxy-Authentifizierung

Erfassen Sie die effektive Proxy-Konfiguration nach der Änderung. Vergleichen Sie den öffentlichen Host-Wert, das weitergeleitete Schema, die Clientadresse, den WebSocket-Upgrade-Pfad, Weiterleitungen und jede Authentifizierungs-Middleware mit der zuletzt funktionierenden Konfiguration. Eine Weiterleitung von HTTPS zu einer unerwarteten HTTP- oder alternativen Host-URL kann eine gültige Anmeldung wie verschwunden erscheinen lassen.

Wenn eine weitere Authentifizierungsebene vor Jellyfin sitzt, lassen Sie deren Signaturschlüssel, Cookie-Namen, Cookie-Domain und Sitzungsspeicher beim Austausch des Proxys unverändert. Load-Balancer-Designs verwenden Sticky-Session- und Routing-Status, um eine Anfrage an das vorgesehene Backend gebunden zu halten. Eine Änderung dieser Ebene kann eine Abmeldung oder Schleife verursachen, obwohl Jellyfin selbst weiterhin fehlerfrei läuft.

Kopieren Sie Header nicht blind aus einem nicht zugehörigen Proxy-Beispiel. Ändern Sie einen Wert nur dann, wenn die fehlgeschlagene Anfrage oder Weiterleitung zeigt, dass der aktuelle Wert falsch ist. Die sicherste Proxy-Konfiguration ist die kleinste, die den öffentlichen Origin bewahrt und zuverlässig das richtige Backend erreicht.

-15% OFF

Verwenden Sie einen sauberen Client-Test, ohne die ursprünglichen Beweise zu löschen

Speichern Sie vor dem Löschen alle Daten: Zeitpunkt des Fehlers, Browser- oder App-Version, Anfragestatus, Weiterleitungskette, Protokollzeile des Proxys und Jellyfin-Protokolleintrag. Melden Sie sich anschließend in einem privaten Browserfenster oder auf einem zweiten Testgerät über die neue Route an. Eine funktionierende neue Anmeldung beweist die Erreichbarkeit, erklärt aber nicht, warum der alte Status unbrauchbar wurde.

Vergleichen Sie die drei Pfade in dieser Reihenfolge: direkte LAN-Adresse von Jellyfin, normaler Hostname aus dem LAN und normaler Hostname von außerhalb des LANs. Wenn der direkte Zugriff funktioniert, der Hostname jedoch fehlschlägt, lassen Sie Benutzer und Datenbankstatus unverändert und untersuchen Sie DNS, TLS, Proxy oder Middleware. Wenn alle Pfade dasselbe bekannte gültige Konto ablehnen, liegt das Problem wieder innerhalb von Jellyfin oder dessen persistentem Status.

Löschen Sie clientseitige, auf die Website beschränkte Daten erst auf dem betroffenen Client, nachdem die Beweise zum Anfragepfad erfasst wurden. Vermeiden Sie es, als ersten Schritt jedes registrierte Gerät zu löschen oder alle Sitzungen zu widerrufen, da dadurch der Vergleich verloren geht, der eine Routing-Migration von einem serverseitigen Authentifizierungsfehler unterscheiden könnte.

Validieren Sie die Änderung über DNS-Ablauf, Proxy-Neustart und Neustart

Lassen Sie nach Anwendung der passenden Korrektur das vorherige DNS-TTL-Fenster ablaufen, starten Sie nur den Proxy neu, anschließend den Jellyfin-Dienst und zuletzt den Host. Wiederholen Sie nach jedem Ereignis über denselben Hostnamen die Tests für Anmeldung, Abmeldung, Wiedergabestart, Springen und erneute Verbindung.

Ein stabiles Ergebnis bedeutet, dass der Hostname weiterhin zum vorgesehenen Proxy aufgelöst wird, der Proxy wieder eine Verbindung zur vorgesehenen Jellyfin-Instanz herstellt, bestehende Sitzungen normale Neustarts der Komponenten überstehen, sofern sie dies sollten, und eine neue Anmeldung gültig bleibt. Wenn Fehler nur beim Start des gesamten Stacks auftreten, verwenden Sie den Wiederherstellungspfad vom Proxy zum Upstream, um Bereitschaft und Authentifizierung voneinander zu trennen.

Dokumentieren Sie den endgültigen Hostnamen, den Upstream-Namen des Proxys, den Basispfad, die Zertifikatsquelle und alle proxyseitigen Sitzungsgeheimnisse in den Bereitstellungsnotizen. Künftige DNS- oder Proxy-Änderungen können dann gegen einen bekannten Identitätsvertrag getestet werden, statt ihn anhand von Browser-Symptomen erneut zu ermitteln.

FAQ

Macht eine Änderung des DNS-Eintrags allein Jellyfin-Sitzungen ungültig?

Normalerweise nicht, wenn derselbe Hostname, dasselbe Schema, derselbe Pfad und dieselbe Jellyfin-Instanz weiterhin verwendet werden. Eine DNS-Änderung wird für Sitzungen relevant, wenn sie Clients an ein anderes Backend weiterleitet, den öffentlichen Origin ändert, TLS oder Weiterleitungen verändert oder eine Authentifizierungsebene vor Jellyfin ändert.

Sollte ich nach einer Proxy-Änderung jede Jellyfin-Sitzung widerrufen?

Nicht als erste Maßnahme. Bewahren Sie einen fehlschlagenden Client als Beweismittel auf, bestätigen Sie, dass die neue Route den vorgesehenen Server erreicht, und testen Sie eine neue Anmeldung separat. Widerrufen Sie Sitzungen nur, wenn Sie bewusst Anmeldedaten erneuert haben, eine Offenlegung von Tokens vermuten oder bestätigt haben, dass dem alten Clientstatus nicht mehr vertraut werden darf.

Support & Tipps

Mehr zum Lesen

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.