Fernzugriff und HTTPS¶
Zu Hause ist Evey unter einer Adresse wie http://192.168.1.20:9091
erreichbar. Um von unterwegs zu schauen, brauchen Sie zwei weitere Dinge:
- Eine öffentliche Adresse, zum Beispiel
https://evey.example.org: einen Domainnamen, der zu Ihnen nach Hause führt. - HTTPS, damit Passwörter und Videos verschlüsselt durch das Internet gehen. Evey macht HTTPS nicht selbst. Das übernimmt ein Reverse Proxy: ein kleines Programm vor Evey, das die sichere Verbindung herstellt und jede Anfrage an Evey weiterreicht.
Diese Seite zeigt, wie Sie den Server veröffentlichen, und danach, was jede Einstellung bewirkt.
Den Server in drei Schritten veröffentlichen¶
- Richten Sie einen Reverse Proxy ein, der HTTPS übernimmt und alles an
Eveys Port
9091weiterleitet. Sie können die Caddy-Einrichtung nehmen, die mit Evey kommt, oder einen Proxy, den Sie schon betreiben. Fertige Einrichtungen: Reverse-Proxy-Konfigurationen. - Teilen Sie es Evey mit, unter Verwaltung → Fernzugriff:
- Externe URL: Ihre öffentliche
https://-Adresse. - Vertrauenswürdige Proxys (IP oder CIDR, kommagetrennt): nur wenn der
Proxy in einem anderen Container läuft. Tragen Sie dort sein Netz ein,
zum Beispiel
172.16.0.0/12für die Standardnetze von Docker.
- Externe URL: Ihre öffentliche
- Das ist alles. Sobald der Server eine öffentliche Adresse hat, öffnet er den Fernzugriff von selbst.
Zur Kontrolle führen Sie docker exec evey-server evey admin doctor aus. Der
Befehl zeigt die verwendeten vertrauenswürdigen Proxys und warnt, wenn ein
veröffentlichter Server Leute von außen abweist.
Der Fernzugriff ergibt sich aus der öffentlichen Adresse¶
Solange Sie nicht selbst entscheiden, entscheidet Evey beim Start:
- Der Server hat eine öffentliche Adresse (Externe URL oder die
Variablen
EVEY_SERVER_BASE_URLoderEVEY_REMOTE_ACCESS_EXTERNAL_URL): Der Fernzugriff ist an. - Er hat keine: Der Fernzugriff ist aus. Nur Geräte in Ihrem Heimnetz können sich verbinden.
Sobald Sie Fernzugriff aktivieren selbst umschalten, behält Evey Ihre Wahl und entscheidet nicht mehr für Sie. Ein veröffentlichter Server kann also auf Wunsch nur zu Hause erreichbar bleiben.
Der Fernzugriff entscheidet nur, wer den Server erreichen kann. Er ist für sich allein kein Schutz: Jede Seite verlangt trotzdem eine Anmeldung.
Ist der Fernzugriff aus, wird jemand außerhalb Ihres Zuhauses auf jeder
Seite abgewiesen (ein Fehler 403). Die Apps zeigen dann Fernzugriff
deaktiviert statt eines unklaren Fehlers. Ist der Server aus dem Internet
erreichbar, während der Fernzugriff aus ist, warnt Evey Sie an mehreren
Stellen:
- Verwaltung → Fernzugriff zeigt Alle entfernten Nutzer sind ausgesperrt;
- das Serverprotokoll meldet es beim Start und protokolliert danach jede Abweisung mit der Adresse, von der sie kam;
evey admin doctormeldet es als Fehler.
Einstellungen¶
Alle unter Verwaltung → Fernzugriff. Jede Einstellung gilt ohne Neustart: Netzwerkeinstellungen ab der nächsten Anfrage, die Bitrate ab der nächsten Wiedergabe.
https://-Adresse hinter einem Proxy im Docker-Netz (Oberfläche auf Englisch).| Einstellung | Was sie bewirkt |
|---|---|
| Fernzugriff aktivieren | An: Leute außerhalb Ihres Heimnetzes können sich wie alle anderen verbinden. Aus: Sie werden abgewiesen (403). |
| Externe URL | Ihre öffentliche Adresse. Links in E-Mails, Single Sign-on und das Streamen auf andere Geräte (Casting) nutzen sie. Eine https://-Adresse schaltet außerdem den HTTPS-Modus ein (siehe unten). |
| Vertrauenswürdige Proxys (IP oder CIDR, kommagetrennt) | Die Reverse Proxys, deren Angabe zum tatsächlichen Besucher Evey übernimmt. Der Rechner selbst (Loopback) ist immer vertrauenswürdig. Leer: Die Liste kommt aus EVEY_TRUSTED_PROXIES. |
| LAN-Netzwerke (CIDR, kommagetrennt) | Die Adressbereiche, die Evey als „zu Hause“ behandelt. Private Bereiche sind standardmäßig eingetragen. Nutzen Sie ein VPN (Tailscale, WireGuard) und sollen dessen Nutzer als zu Hause gelten, tragen Sie seinen Bereich hier ein. |
| Max. Remote-Bitrate (Kbps, 0 = unbegrenzt) | Eine Qualitätsgrenze für Leute außerhalb Ihres Heimnetzes. Eine private Adresse wird nie begrenzt. Legt Verwaltung → Transkodierung ebenfalls eine Grenze für entfernte Zuschauer fest, gilt die niedrigere. Siehe Wie über die Wiedergabe entschieden wird. |
Was Evey über den Proxy wissen muss¶
Evey antwortet mit einfachem HTTP auf Port 9091. Der Reverse Proxy übernimmt HTTPS. Evey muss zwei Dinge über ihn wissen, beide unter Verwaltung → Fernzugriff:
- Externe URL mit
https://. Daran erkennt Evey, dass ein Proxy HTTPS übernimmt. Evey schützt dann seine Anmelde-Cookies (FlagSecure), sagt Browsern, immer HTTPS zu benutzen (HSTS), und übernimmt den HeaderX-Forwarded-Protoeines vertrauenswürdigen Proxys. - Die vertrauenswürdigen Proxys, wenn der Proxy nicht auf demselben
Rechner wie Evey läuft. Für einen Proxy in einem anderen Container gehört
hier sein Netz hin, zum Beispiel
172.16.0.0/12für die Standardnetze von Docker.
Ein Bereich, der alle Adressen abdeckt, wird abgelehnt
0.0.0.0/0 oder ::/0 als vertrauenswürdiger Proxy würde jedem Besucher
erlauben, eine beliebige Herkunftsadresse vorzutäuschen. Der Verwaltungsbereich
und evey admin doctor lehnen das beide ab. Tragen Sie stattdessen die
eigene Adresse oder das Netz des Proxys ein.
Stattdessen in der Umgebung einstellen¶
Die Variablen EVEY_SERVER_BASE_URL und EVEY_TRUSTED_PROXIES tun dasselbe
aus der Compose-Datei heraus. Das passt zu einer Einrichtung, die ganz in
Dateien geschrieben ist, oder zu einem Server, der schon beim allerersten
Start über HTTPS antworten muss.
Ist beides gesetzt, hat der Verwaltungsbereich Vorrang. Eine https://-Adresse
als Externe URL schaltet den HTTPS-Modus ein, auch wenn die Basis-URL
einfaches HTTP ist, und eine gespeicherte Proxy-Liste ersetzt die Variable.
Leeren Sie das Feld, um die Entscheidung wieder der Variable zu überlassen.
Siehe Server und Netzwerk.
Die echte Adresse des Clients¶
Damit der Fernzugriff und die Qualitätsgrenze für unterwegs funktionieren, muss Evey die echte Adresse jedes Besuchers sehen. Zwei Einstellungen arbeiten zusammen:
- Die vertrauenswürdigen Proxys legen fest, von wem Evey die Angabe zur echten Adresse des Besuchers übernimmt.
- Die LAN-Netzwerke entscheiden dann, ob diese Adresse „zu Hause“ oder „unterwegs“ ist.
Gibt der Proxy die echte Adresse nicht weiter, oder vertraut Evey ihm nicht, scheint jede Anfrage von der eigenen privaten Adresse des Proxys zu kommen. Dann gelten alle als zu Hause: Die Einstellung für den Fernzugriff hat keine Wirkung, und keine Grenze für unterwegs greift.
Wer den Proxy korrigiert, ändert, wer als unterwegs gilt
War der Fernzugriff aus, werden Leute von außen abgewiesen, sobald der
Proxy ihre echte Adresse weitergibt. Führen Sie nach jeder Änderung an
den Proxy-Einstellungen evey admin doctor aus: Der Befehl zeigt die
verwendete Liste und woher sie kommt, warnt vor einem öffentlichen
Bereich und schlägt bei einem Bereich fehl, der alle Adressen abdeckt.