Zum Inhalt springen
Castreon
Überwachung & Server

HTTPS direkt in Castreon und Quellen mit Fingerabdruck

Aktualisiert am 13 Okt 2026

Castreon liefert das Panel, die API und die Auslieferung (HLS, DASH, HTTP-TS) auch über HTTPS aus, direkt, ohne nginx oder einen anderen Proxy davor. Alles, was den Server verlässt, ist mit TLS verschlüsselt: Wer unterwegs mitliest, sieht nur verschlüsselten Verkehr zu einer Adresse, weder die Adressen der Kanäle noch den Inhalt.

Zwischen zwei Castreon-Servern — zum Beispiel einer Station, die die Kanäle empfängt, und einem Server, der sie weiterverteilt — kann die Verbindung zusätzlich verifiziert werden: Der Server, der den Kanal abruft, akzeptiert nur das Zertifikat seiner Station, anhand des Fingerabdrucks (Pin). Niemand kann sich dazwischenschalten.

Verfügbar ab Castreon 1.5.1, in allen Tarifen.

HTTPS einschalten

  1. Öffnen Sie Einstellungen → HTTPS.
  2. Setzen Sie das Häkchen bei HTTPS eingeschaltet.
  3. HTTPS-Port — standardmäßig 33443, ein anderer als der HTTP-Port. Öffnen Sie ihn in der Firewall (TCP).
  4. Wählen Sie das Zertifikat (siehe unten) und klicken Sie auf Speichern.

HTTPS startet sofort, ohne Neustart des Dienstes. HTTP bleibt, wie es ist, auf seinem eigenen Port: Apps und Player, die es verwenden, merken nichts.

Oben rechts im Abschnitt sehen Sie den Status: lauscht auf 33443, aus oder startet nicht — dann erklärt die Meldung darunter, warum (zum Beispiel, weil der Port von einem anderen Programm belegt ist).

Die Verbindungen laufen über TLS 1.3 (TLS 1.2 für ältere Clients) und HTTP/2 und bleiben zwischen den Anfragen offen: Ein Player oder ein Server, der HLS abruft, baut nicht für jedes Segment eine neue TLS-Verbindung auf.

Zertifikat

Es gibt drei Arten von Zertifikaten. Kurz gefasst:

Wann Sie es verwenden Fingerabdruck
Eigenes Zertifikat des Servers Verbindungen zwischen Ihren eigenen Servern, ohne Domain ja — ändert sich nie
Let's Encrypt automatisch alles Öffentliche: das Panel im Browser, der Web-Player, die Zuschauer, CDN nein — der Schlüssel ändert sich bei jeder Erneuerung
Ihre eigenen Dateien (certbot, andere Zertifizierungsstelle) Sie haben bereits auf anderem Weg erstellte Zertifikate nein

Eigenes Zertifikat des Servers

Castreon erstellt Zertifikat und Schlüssel selbst (ECDSA P-256). Der Schlüssel bleibt auf dem Server, im Datenordner (tls/server.key), und nur der Dienst hat Zugriff darauf.

  • Namen und Adressen im Zertifikat — die Domain oder die öffentliche IP des Servers, eine pro Zeile. Sie werden aus dem Feld Öffentliche Domain vorgeschlagen.
  • Das Zertifikat ist ein Jahr gültig und erneuert sich selbst 30 Tage vor Ablauf, mit demselben Schlüssel — der Fingerabdruck bleibt also gleich. Die Server, die von hier abrufen, müssen nie geändert werden.
  • Neuer Schlüssel erzeugt einen neuen Schlüssel (neuer Fingerabdruck) und schließt die offenen Verbindungen. Verwenden Sie ihn nur, wenn der alte Schlüssel kompromittiert sein könnte: Die Server, die von hier abrufen, brauchen dann den neuen Fingerabdruck.

Das eigene Zertifikat eignet sich zwischen Ihren eigenen Servern. Ein Browser kennt es nicht und zeigt eine Warnung an — für das im Browser geöffnete Panel oder für den Web-Player auf einer Website verwenden Sie ein Zertifikat einer Zertifizierungsstelle (siehe unten).

Let's Encrypt automatisch

Castreon fordert das Zertifikat selbst bei Let's Encrypt an und erneuert es selbst — ohne certbot, ohne zusätzlich installierte Software. Das Zertifikat wird von allen Browsern, Playern, Fernsehern und Apps anerkannt.

  1. Wählen Sie Let's Encrypt automatisch.
  2. Domains des Servers — zum Beispiel tv.exemplu.ro, eine pro Zeile. Jede muss im DNS auf diesen Server zeigen (A- / AAAA-Eintrag). IP-Adressen können hier nicht eingetragen werden.
  3. E-Mail-Adresse (optional) — die Zertifizierungsstelle schreibt nur, wenn es etwas Wichtiges zum Zertifikat gibt.
  4. Setzen Sie das Häkchen zur Annahme der Bedingungen von Let's Encrypt und klicken Sie auf Speichern.

Um das Zertifikat auszustellen, prüft Let's Encrypt aus dem Internet, ob die Domain Ihnen gehört. Dafür muss einer dieser Ports den Server erreichen:

  • Port 443 → der HTTPS-Port von Castreon (zum Beispiel 33443), oder
  • Port 80 → der HTTP-Port von Castreon (zum Beispiel 33400).

Am einfachsten geht es mit einer Weiterleitung im Router oder in der Firewall. Castreon versucht zuerst Port 443, dann Port 80.

Im Abschnitt sehen Sie den Status: Das Zertifikat wird bei der Zertifizierungsstelle angefordert, Zertifikat von der Zertifizierungsstelle ausgestellt (mit dem Datum der Erneuerung) oder den Grund, warum es nicht geklappt hat — zum Beispiel zeigt die Domain nicht auf den Server, oder keiner der Ports erreicht Castreon. Castreon versucht es selbst erneut, mit immer längeren Pausen (Let's Encrypt begrenzt fehlgeschlagene Versuche); nachdem Sie das Problem behoben haben, klicken Sie auf Jetzt versuchen.

Das Zertifikat erneuert sich selbst, wenn noch ein Drittel seiner Gültigkeit übrig ist (30 Tage bei einem 90-Tage-Zertifikat), ohne Neustart.

Verbindungen per IP erhalten weiterhin das eigene Zertifikat des Servers. Sein Fingerabdruck erscheint im Abschnitt unter Für Verbindungen per IP zwischen Ihren Servern und ändert sich nicht — Verbindungen mit Fingerabdruck zwischen Servern funktionieren auch im automatischen Modus.

Für Versuche ohne Begrenzung wählen Sie unter Zertifizierungsstelle die Testumgebung von Let's Encrypt (ihre Zertifikate werden von Browsern nicht anerkannt). Sie können auch eine andere ACME-Zertifizierungsstelle verwenden, zum Beispiel eine firmeninterne.

Ihre eigenen Dateien (zum Beispiel certbot)

Wenn Sie bereits ein Zertifikat einer Zertifizierungsstelle haben:

  • Zertifikat (fullchain) — zum Beispiel /etc/letsencrypt/live/tv.exemplu.ro/fullchain.pem;
  • Privater Schlüssel — zum Beispiel /etc/letsencrypt/live/tv.exemplu.ro/privkey.pem.

Der Castreon-Dienst muss sie lesen können. Castreon prüft die Dateien jede Minute und lädt sie selbst neu, wenn sie sich ändern (nach certbot renew), ohne Neustart. Ist die neue Datei fehlerhaft, bleibt das alte Zertifikat in Betrieb, und Einstellungen → HTTPS zeigt an, was nicht stimmt.

HTTPS-Quelle mit Fingerabdruck (Castreon-Server → Castreon-Server)

Der Fingerabdruck wird nur mit dem eigenen Zertifikat des Servers verwendet. Ein Zertifikat von Let's Encrypt (oder von einer anderen Zertifizierungsstelle) erhält bei jeder Erneuerung einen neuen Schlüssel, sein Fingerabdruck würde sich also alle paar Wochen ändern. Lassen Sie den Fingerabdruck in diesem Fall leer: Der abrufende Server prüft das Zertifikat ganz normal anhand der Zertifizierungsstelle.

Auf dem Server, der sendet (der Station):

  1. Schalten Sie HTTPS mit Eigenes Zertifikat des Servers ein.
  2. Kopieren Sie den Fingerabdruck (Pin) aus Einstellungen → HTTPS — er sieht aus wie sha256//….

Auf dem Server, der den Kanal abruft:

  1. Öffnen Sie den Kanal → Bearbeiten → Quelle vom Typ URL.
  2. Adresse: die HTTPS-Adresse des Kanals, zum Beispiel https://statie.exemplu.ro:33443/live/canal-1/index.m3u8?token=… (der Abschnitt zeigt die genaue Adresse, mit Token).
  3. Direkt unter der Adresse erscheint Zertifikats-Fingerabdruck (Pin): Fügen Sie den kopierten Fingerabdruck ein und klicken Sie auf Speichern.

Mit Fingerabdruck baut nicht mehr ffmpeg die Verbindung auf, sondern Castreon:

  • Akzeptiert wird nur das Zertifikat mit dem Schlüssel dieses Fingerabdrucks — ein anderes Zertifikat (ein anderer Server, jemand dazwischen) wird abgelehnt, selbst wenn es von einer Zertifizierungsstelle ausgestellt ist;
  • jeder Kanal hat seine eigenen Verbindungen, die zwischen den Segmenten offen bleiben: Auf einer ausgelasteten Leitung bremst ein langsamer Kanal die anderen nicht aus;
  • wenn etwas nicht funktioniert, steht der Grund im Protokoll des Kanals, zum Beispiel: Das Zertifikat hat nicht den erwarteten Fingerabdruck, auf dem Port lauscht niemand, der Port antwortet ohne TLS (es ist der HTTP-Port).

Ohne Fingerabdruck funktioniert eine https://-Quelle wie bisher: Das Zertifikat wird anhand der bekannten Zertifizierungsstellen geprüft (Let's Encrypt und die anderen).

Den Fingerabdruck können Sie auch über die Kommandozeile prüfen: curl --pinnedpubkey 'sha256//…' -k https://statie.exemplu.ro:33443/healthz antwortet nur mit dem richtigen Fingerabdruck mit ok.

Alle Quellen eines Servers in einem Schritt auf HTTPS

Auf einem Server, der viele Kanäle von einer oder mehreren Stationen abruft, müssen Sie nicht Kanal für Kanal bearbeiten. Unter Einstellungen → Quellen von anderen Castreon-Servern erscheint eine Zeile für jeden Server, von dem die Kanäle abrufen (Adressen /live/…), mit der Anzahl der Kanäle und ihrem Status: HTTP, unverschlüsselt, HTTPS mit Fingerabdruck, HTTPS (Zertifikat einer Zertifizierungsstelle) oder gemischt.

In der Zeile einer Station:

  1. HTTPS-Port des Quellservers — standardmäßig 33443.
  2. Fingerabdruck des Quellservers — kopiert aus Einstellungen → HTTPS der Station (eigenes Zertifikat). Nur dann leer, wenn die Station ein Zertifikat einer Zertifizierungsstelle für den Namen in der Adresse hat.
  3. Auf HTTPS umstellen → bestätigen.

Castreon prüft zuerst die Verbindung an einem Kanal, genau so, wie die Kanäle sie aufbauen werden — Fingerabdruck, Token, erlaubte Adressen, Port. Klappt es nicht, nennt Castreon den Grund und ändert nichts. Klappt es, stellt Castreon alle Quellen dieser Station auf https:// um, mit Port und Fingerabdruck, und laufende Kanäle starten nacheinander neu, im Abstand von anderthalb Sekunden — sie fallen nicht alle gleichzeitig aus.

  • Nach Neuer Schlüssel auf der Station: Fügen Sie den neuen Fingerabdruck ein und klicken Sie auf Quellen aktualisieren.
  • Zurück zu HTTP stellt die Quellen wieder auf HTTP um, mit dem vorherigen Port.
  • Jede Station hat ihren eigenen Fingerabdruck; eine Ersatzquelle von einer anderen Station behält ihren eigenen Fingerabdruck.
  • Jede Änderung erscheint im Audit, Kanal für Kanal.

Welchen Port Sie zwischen Servern verwenden

Jeder Port funktioniert — die Sicherheit kommt von TLS, Fingerabdruck, Token und erlaubten Adressen, nicht von der Portnummer. Unsere Empfehlung:

  • 443 nach außen, im Router auf den HTTPS-Port von Castreon weitergeleitet (zum Beispiel 33443): Die Verbindung sieht genau aus wie der Verkehr jeder HTTPS-Website und kommt durch jedes Netz. Tragen Sie auf dem abrufenden Server den Port 443 ein.
  • Lässt die Leitung keine eingehenden Verbindungen auf 443 zu, bleiben Sie bei 33443 — genauso sicher.
  • Schränken Sie den Zugriff ein: auf der Station die Liste Erlaubte Adressen für /live (Einstellungen → Zugriff auf Streams) nur mit den IPs der Server, die von dort abrufen, und im Router oder in der Firewall dieselbe Regel für den HTTPS-Port.

Warum HTTPS und kein Tunnel

HTTPS direkt in Castreon ist der Standard, den CDNs und Streaming-Origins verwenden: TLS-1.3-Verschlüsselung (mit neuen Schlüsseln für jede Verbindung), Prüfung des Servers per Zertifikat oder Fingerabdruck, keine zusätzlichen Programme zwischen den Servern. Ein Tunnel (VPN) verschlüsselt ebenfalls, ist aber ein weiterer Dienst, der gewartet werden muss, und hält den gesamten Verkehr an, wenn er selbst ausfällt.

Häufige Fragen

Verlangsamt HTTPS die Auslieferung? Nicht spürbar: Die AES-Verschlüsselung schafft auf heutigen Prozessoren mehrere Gigabit pro Sekunde und Kern, und offen gehaltene Verbindungen ersparen den TLS-Handshake bei jedem Segment.

Kann ich HTTP und HTTPS gleichzeitig verwenden? Ja. HTTP bleibt auf seinem Port; stellen Sie auf HTTPS um, was Sie möchten und wann Sie möchten.

Was passiert bei der Erneuerung des Zertifikats? Nichts Sichtbares: Neue Verbindungen erhalten das neue Zertifikat, offene laufen weiter. Beim eigenen Zertifikat bleibt der Fingerabdruck gleich.

Kann ich den Fingerabdruck eines Let's-Encrypt-Zertifikats hinterlegen? Das ist nicht empfehlenswert: Sein Schlüssel ändert sich bei der Erneuerung, und die Verbindung würde abbrechen. Der Fingerabdruck ist für das eigene Zertifikat gedacht; ein Zertifikat einer Zertifizierungsstelle wird ohne Fingerabdruck geprüft.

Gelten die Zugriffsbeschränkungen auch für HTTPS? Ja — das Token und die Liste Erlaubte Adressen für /live (Einstellungen → Zugriff auf Streams) sind bei HTTP und HTTPS dieselben.

Datenschutz

Cookies & lokaler Speicher

Unbedingt erforderliche Cookies sind immer aktiv. Statistik und Marketing nutzen Dienste von Google und starten nur, wenn Sie zustimmen — bis dahin wird nichts an Google übertragen. Sie können Ihre Einwilligung hier jederzeit widerrufen.

Unbedingt erforderlich

Ohne sie funktionieren Anmeldung, Formulare und die gewählte Sprache nicht. Sie erfordern keine Einwilligung (§ 25 Abs. 2 Nr. 2 TDDDG).

Immer aktiv
Name Zweck Dauer Art
castreon-session Hält Ihre Sitzung: Anmeldung und gewählte Sprache 2 Stunden, bei jedem Aufruf verlängert Cookie
XSRF-TOKEN Schützt Formulare vor gefälschten Anfragen 2 Stunden, bei jedem Aufruf verlängert Cookie
remember_web_… Nur wenn Sie bei der Anmeldung „Angemeldet bleiben“ wählen Bis zur Abmeldung, max. 400 Tage Cookie
__cf_bm Cloudflare: unterscheidet Besucher von Bots, nur wenn der Datenverkehr geprüft wird 30 Minuten Cookie · Cloudflare
castreon:consent Speichert Ihre Cookie-Auswahl 12 Monate Lokaler Speicher
theme Darstellung des Kundenkontos: hell, dunkel oder System Bis Sie sie ändern Lokaler Speicher

Statistik

Google Analytics 4 (Google Ireland Ltd.): welche Seiten besucht werden, woher Besuche kommen und mit welchem Gerätetyp — mit pseudonymen Kennungen, ohne Speicherung der IP-Adresse. Hilft uns, die Website zu verbessern.

Name Zweck Dauer Art
_ga Google Analytics: erkennt den Besucher wieder (pseudonyme Kennung) 13 Monate Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: speichert den Sitzungsstatus 13 Monate Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): misst, ob Besuche über Google-Anzeigen zu einem Test oder Tarif führen, und ermöglicht die Anzeige von Castreon-Werbung auf anderen Websites (Remarketing).

Name Zweck Dauer Art
_gcl_au, _gcl_aw Google Ads: verknüpft den Besuch mit dem Anzeigenklick (Conversions) 90 Tage Cookie · Google Ads
IDE, test_cookie Google Ads: Remarketing und Anzeigenmessung, auf Google-Domains (doubleclick.net) Bis zu 13 Monate Cookie · Google (Drittanbieter)