Sari la conținut
Castreon
Monitorizare și server

HTTPS direct în Castreon și surse cu amprentă

Actualizat la 13 oct. 2026

Castreon servește panoul, API-ul și livrarea (HLS, DASH, HTTP-TS) și pe HTTPS, direct, fără nginx sau alt proxy în față. Tot ce pleacă de la server e criptat cu TLS: cine e pe drum vede doar trafic criptat spre o adresă, nu adresele canalelor și nici conținutul.

Între două servere Castreon — de exemplu o stație care preia canalele și un server care le distribuie mai departe — legătura poate fi și verificată: serverul care trage canalul acceptă doar certificatul stației lui, după amprentă (pin). Nimeni nu se poate pune la mijloc.

Disponibil din Castreon 1.5.1, în toate planurile.

Pornirea HTTPS

  1. Deschideți Setări → HTTPS.
  2. Bifați HTTPS pornit.
  3. Portul HTTPS — implicit 33443, altul decât portul HTTP. Deschideți-l în firewall (TCP).
  4. Alegeți Certificatul (vezi mai jos) și apăsați Salvează.

HTTPS pornește imediat, fără repornirea serviciului. HTTP-ul rămâne cum e, pe portul lui: aplicațiile și playerele care îl folosesc nu observă nimic.

Sus, în dreapta secțiunii, vedeți starea: ascultă pe 33443, oprit sau nu pornește — atunci mesajul de dedesubt spune de ce (de exemplu portul e folosit de alt program).

Conexiunile sunt TLS 1.3 (TLS 1.2 pentru clienții mai vechi) și HTTP/2, ținute deschise între cereri: un player sau un server care trage HLS nu face o conexiune TLS nouă pentru fiecare segment.

Certificatul

Sunt trei feluri de certificat. Pe scurt:

Când îl folosiți Amprentă
Certificatul propriu al serverului legăturile dintre serverele dumneavoastră, fără domeniu da — nu se schimbă niciodată
Let's Encrypt automat tot ce e public: panoul în browser, player-ul web, privitorii, CDN nu — cheia se schimbă la fiecare reînnoire
Fișierele dumneavoastră (certbot, altă autoritate) aveți deja certificate făcute altfel nu

Certificatul propriu al serverului

Castreon își face singur certificatul și cheia (ECDSA P-256). Cheia rămâne pe server, în folderul de date (tls/server.key), cu acces doar pentru serviciu.

  • Numele și adresele din certificat — domeniul sau IP-ul public al serverului, câte unul pe rând. Sunt propuse din Domeniu public.
  • Certificatul e valabil un an și se reînnoiește singur cu 30 de zile înainte, cu aceeași cheie — deci amprenta rămâne aceeași. Serverele care trag de aici nu trebuie schimbate niciodată.
  • Cheie nouă face o cheie nouă (amprentă nouă) și închide conexiunile deschise. Folosiți-o doar dacă vechea cheie poate fi compromisă: serverele care trag de aici au nevoie de amprenta nouă.

Certificatul propriu e potrivit între serverele dumneavoastră. Un browser nu îl cunoaște și arată un avertisment — pentru panoul deschis din browser sau pentru player-ul web pe un site, folosiți un certificat de la o autoritate (mai jos).

Let's Encrypt automat

Castreon cere singur certificatul de la Let's Encrypt și îl reînnoiește singur — fără certbot, fără nimic instalat în plus. Certificatul e recunoscut de toate browserele, playerele, televizoarele și aplicațiile.

  1. Alegeți Let's Encrypt automat.
  2. Domeniile serverului — de exemplu tv.exemplu.ro, câte unul pe rând. Fiecare trebuie să arate în DNS spre acest server (înregistrarea A / AAAA). Adresele IP nu se pot pune aici.
  3. Adresa de e-mail (opțională) — autoritatea scrie doar dacă e ceva important cu certificatul.
  4. Bifați acceptarea condițiilor Let's Encrypt și apăsați Salvează.

Ca să emită certificatul, Let's Encrypt verifică din internet că domeniul e al dumneavoastră. Trebuie ca unul dintre aceste porturi să ajungă la server:

  • portul 443 → portul HTTPS al Castreon (de exemplu 33443), sau
  • portul 80 → portul HTTP al Castreon (de exemplu 33400).

Cel mai simplu: o redirecționare în router sau în firewall. Castreon încearcă întâi portul 443, apoi portul 80.

În secțiune vedeți starea: se cere certificatul, certificat emis (cu data reînnoirii) sau motivul pentru care nu a mers — de exemplu domeniul nu arată spre server, sau niciunul dintre porturi nu ajunge la Castreon. Castreon reîncearcă singur, cu pauze tot mai lungi (Let's Encrypt limitează încercările eșuate); după ce ați reparat, apăsați Încearcă acum.

Certificatul se reînnoiește singur când îi mai rămâne o treime din valabilitate (30 de zile la un certificat de 90), fără repornire.

Conexiunile după IP primesc în continuare certificatul propriu al serverului. Amprenta lui apare în secțiune, la Pentru legăturile după IP dintre serverele dumneavoastră, și nu se schimbă — legăturile cu amprentă dintre servere merg și în modul automat.

Pentru încercări fără limite alegeți la Autoritatea mediul de test Let's Encrypt (certificatele lui nu sunt recunoscute de browsere). Puteți folosi și altă autoritate ACME, de exemplu una internă a firmei.

Fișierele dumneavoastră (de exemplu certbot)

Dacă aveți deja un certificat de la o autoritate:

  • Certificatul (fullchain) — de exemplu /etc/letsencrypt/live/tv.exemplu.ro/fullchain.pem;
  • Cheia privată — de exemplu /etc/letsencrypt/live/tv.exemplu.ro/privkey.pem.

Serviciul Castreon trebuie să le poată citi. Castreon verifică fișierele în fiecare minut și le reîncarcă singur când se schimbă (după certbot renew), fără repornire. Dacă fișierul nou e stricat, rămâne în lucru certificatul vechi, iar Setări → HTTPS spune ce nu e în regulă.

Sursă HTTPS cu amprentă (server Castreon → server Castreon)

Amprenta se folosește doar cu certificatul propriu al serverului. Un certificat Let's Encrypt (sau de la altă autoritate) primește o cheie nouă la fiecare reînnoire, deci amprenta lui s-ar schimba la câteva săptămâni. Pentru el lăsați amprenta goală: serverul care trage îl verifică normal, după autoritate.

Pe serverul care trimite (stația):

  1. Porniți HTTPS cu certificatul propriu al serverului.
  2. Copiați Amprenta (pin) din Setări → HTTPS — arată ca sha256//….

Pe serverul care trage canalul:

  1. Deschideți canalul → Editează → sursa de tip URL.
  2. Adresa: cea HTTPS a canalului, de exemplu https://statie.exemplu.ro:33443/live/canal-1/index.m3u8?token=… (secțiunea arată adresa exactă, cu tokenul).
  3. Imediat sub adresă apare Amprenta certificatului (pin): lipiți amprenta copiată și apăsați Salvează.

Cu amprentă, conexiunea nu o mai face ffmpeg, ci Castreon:

  • se acceptă doar certificatul cu cheia acelei amprente — un alt certificat (alt server, cineva la mijloc) e refuzat, chiar dacă e emis de o autoritate;
  • fiecare canal are conexiunile lui, ținute deschise între segmente: pe o linie aglomerată, un canal lent nu le încetinește pe celelalte;
  • dacă ceva nu merge, motivul apare în jurnalul canalului, de exemplu: certificatul nu are amprenta așteptată, nimeni nu ascultă pe port, portul răspunde fără TLS (e portul HTTP).

Fără amprentă, o sursă https:// merge ca înainte: certificatul se verifică după autoritățile cunoscute (Let's Encrypt și celelalte).

Amprenta se poate verifica și din linia de comandă: curl --pinnedpubkey 'sha256//…' -k https://statie.exemplu.ro:33443/healthz răspunde ok doar cu amprenta corectă.

Toate sursele unui server pe HTTPS, dintr-un pas

Pe un server care trage multe canale de la una sau mai multe stații nu e nevoie să editați canal cu canal. În Setări → Surse de la alte servere Castreon apare câte un rând pentru fiecare server de la care trag canalele (adrese /live/…), cu numărul de canale și starea lor: HTTP, necriptat, HTTPS cu amprentă, HTTPS (certificat de la o autoritate) sau mixt.

Pe rândul unei stații:

  1. Portul HTTPS al serverului sursă — implicit 33443.
  2. Amprenta serverului sursă — copiată din Setări → HTTPS al stației (certificatul propriu). Goală doar dacă stația are un certificat de la o autoritate pe numele din adresă.
  3. Trece pe HTTPS → confirmați.

Castreon verifică întâi conexiunea pe un canal, exact cum o vor face canalele — amprenta, tokenul, adresele permise, portul. Dacă nu merge, spune de ce și nu schimbă nimic. Dacă merge, trece toate sursele acelei stații pe https://, cu portul și amprenta, iar canalele pornite repornesc pe rând, la un secund și jumătate unul de altul — nu cad toate deodată.

  • După o Cheie nouă pe stație: lipiți amprenta nouă și apăsați Actualizează sursele.
  • Înapoi pe HTTP readuce sursele pe HTTP, cu portul de dinainte.
  • Fiecare stație are amprenta ei; o sursă de rezervă de la altă stație își păstrează amprenta ei.
  • Fiecare schimbare apare în Audit, canal cu canal.

Ce port să folosiți între servere

Orice port merge — siguranța vine din TLS, amprentă, token și adresele permise, nu din numărul portului. Recomandarea noastră:

  • 443 în afară, redirecționat în router spre portul HTTPS al Castreon (de exemplu 33443): legătura arată exact ca traficul oricărui site HTTPS și trece prin orice rețea. Pe serverul care trage scrieți portul 443.
  • Dacă linia nu permite conexiuni care intră pe 443, rămâneți pe 33443 — la fel de sigur.
  • Restrângeți accesul: la stație, Adresele permise pentru /live (Setări → Acces la fluxuri) doar cu IP-urile serverelor care trag de acolo, iar în router sau firewall aceeași regulă pe portul HTTPS.

De ce HTTPS și nu un tunel

HTTPS direct în Castreon e standardul folosit de CDN-uri și originile de streaming: criptare TLS 1.3 (cu chei noi la fiecare conexiune), verificarea serverului prin certificat sau amprentă, fără programe în plus între servere. Un tunel (VPN) criptează și el, dar e încă un serviciu de întreținut, care oprește tot traficul dacă se oprește el.

Întrebări frecvente

Încetinește HTTPS livrarea? Nu se simte: criptarea AES pe procesoarele de azi trece de câțiva gigabiți pe secundă pe nucleu, iar conexiunile ținute deschise evită negocierea TLS la fiecare segment.

Pot folosi și HTTP, și HTTPS? Da. HTTP-ul rămâne pe portul lui; mutați pe HTTPS ce vreți, când vreți.

Ce se întâmplă la reînnoirea certificatului? Nimic vizibil: conexiunile noi primesc certificatul nou, cele deschise continuă. La certificatul propriu amprenta rămâne aceeași.

Pot pune amprenta unui certificat Let's Encrypt? Nu e recomandat: cheia lui se schimbă la reînnoire, iar legătura s-ar opri. Amprenta e pentru certificatul propriu; un certificat de la o autoritate se verifică fără amprentă.

Restricțiile de acces se aplică și pe HTTPS? Da — tokenul și Adresele permise de la /live (Setări → Acces la fluxuri) sunt aceleași pe HTTP și pe HTTPS.

Confidențialitate

Cookie-uri și stocare locală

Cookie-urile strict necesare sunt mereu active. Statisticile și marketingul folosesc servicii Google și pornesc doar dacă le accepți — până atunci nu se trimite nimic la Google. Îți poți retrage acordul oricând, aici.

Strict necesare

Fără ele nu funcționează autentificarea, formularele și limba aleasă. Nu necesită consimțământ (§ 25 alin. 2 pct. 2 TDDDG).

Mereu active
Nume Scop Durată Tip
castreon-session Păstrează sesiunea: autentificarea și limba aleasă 2 ore, prelungit la fiecare accesare Cookie
XSRF-TOKEN Protejează formularele împotriva cererilor falsificate 2 ore, prelungit la fiecare accesare Cookie
remember_web_… Doar dacă bifezi „Ține-mă minte” la autentificare Până la deconectare, max. 400 de zile Cookie
__cf_bm Cloudflare: deosebește vizitatorii de roboți, doar când traficul e verificat 30 de minute Cookie · Cloudflare
castreon:consent Ține minte alegerea ta privind cookie-urile 12 luni Memorie locală
theme Aspectul contului de client: luminos, întunecat sau sistem Până o schimbi Memorie locală

Statistici

Google Analytics 4 (Google Ireland Ltd.): ce pagini sunt vizitate, de unde vin vizitele și de pe ce tip de dispozitiv — cu identificatori pseudonimi, fără salvarea adresei IP. Ne ajută să îmbunătățim site-ul.

Nume Scop Durată Tip
_ga Google Analytics: recunoaște vizitatorul (identificator pseudonim) 13 luni Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: păstrează starea vizitei 13 luni Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): măsoară dacă vizitele venite din reclame Google ajung la test sau la un plan și permite afișarea reclamelor Castreon pe alte site-uri (remarketing).

Nume Scop Durată Tip
_gcl_au, _gcl_aw Google Ads: leagă vizita de clicul pe reclamă (conversii) 90 de zile Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing și măsurarea reclamelor, pe domeniile Google (doubleclick.net) Până la 13 luni Cookie · Google (terț)