Jump to content
Froxlor Forum
  • 0

Let´s Encrypte für Restream


franks

Question

Hallo,
ich habe Restream (Open Source Streaming Server ⇒ Selfhosting Video Server / datarhei ⇒ Open Source Video Streaming Server Software) installiert.
Nun kann ich per ip:8080 den Streamingserver erreichen.

In der Anleitung steht:
Vergessen Sie nicht die Portweiterleitung des öffentlichen Ports für HTTPS: 443 auf Ihren internen Restreamer IP Standardport: 8181

wie kann ich das machen?

Link to comment
Share on other sites

Recommended Posts

  • 0

Müsstest du via "Eigene vhost einstellungen" machen, je nach anforderungen des dienstes z.B. so:

 

ProxyPass               /service1     http://localhost:8181/service1
ProxyPassReverse        /service1     http://localhost:8181/service1

<Proxy http://localhost:8181/service1>
    Require all granted
    Options none
</Proxy>

Damit würdest du dann via "https://deine-domain.tld/service1" den streaming server auf port 8181 erreichen (oder 8080, je nach dem was du eingerichtet hast, einfach überall korrekt angeben)

Nicht vergessen das du ggfls mod_proxy_http aktivieren musst

Link to comment
Share on other sites

  • 0

Läuft denn der dienst auf port 8181 auch?
Gibt es Fehlermeldungen in der apache log?
Prüfe ob die Inhalte korrekt im generierten Vhost drinstehen.

Was du falsch machst kann ich dir ohne irgendwelche Infos leider nicht sagen. 

Link to comment
Share on other sites

  • 0

ich weiss halt leider nicht wie Restreamer Let's Encrypt implementiert und wie es das abruft zur Validierung.

Ein "Connection refused" heisst ja schlichtweg das an dem Port offenbar eine Verbindung abgelehnt wird. Teste es doch erstmal mit http ob es überhaupt geht mit dem proxy zeug.

Und oben schreibst du "stream.xxx.com" und in den Settings auf dem Screenshot steht stream.xxx.info" - nicht das du hier nen mixup drin hast.

Link to comment
Share on other sites

  • 0

Das Problem liegt hier:

Zitat

the HTTP challenge requires port 80, or at least packet forwarding from port 80

https://github.com/caddyserver/certmagic#http-challenge

Ergo müsstest du min. ein Port-Forwarding von „stream.xxx.com:80“ auf den Container vornehmen, damit das Zertifikat über „:8181“ ausgespielt werden kann. Anders wird es so nicht gehen.

Die Alternative wäre wie von @d00p vorgeschlagen ein Reverse Proxy, der sich um das Zertifikat kümmert und intern nur via HTTP mit dem Container kommuniziert. 
In dem Fall kann ich jedoch nicht weiterhelfen, da ich Froxlor nicht kenne und auch nicht weiß, ob Let's Encrypt integriert ist. 

Link to comment
Share on other sites

  • 0

Vermutlich weil unter :8181 kein valides zertifikat hinterlegt ist und wenn du es nicht proxy'st und direkt via :8181 aufrufbar haben willst, dann muss der container der software das irgendwie lösen, das ist nichts bei dem froxlor irgendwas tun kann

Link to comment
Share on other sites

  • 0

Alles was der Restreamer bzw. Let's Encrypt hier benötigt, ist der Port 80, worüber Let's Encrypt die Domain validiert. Das hat an und für sich nichts mit dem Restreamer zu tun.

Im Endeffekt müsste für die gewünschte Domain der Ports 80/Extern auf 8080/Restreamer und 443/Extern auf 8181/Restreamer weitergeleitet werden.
Damit sollte es funktionieren. 

Link to comment
Share on other sites

  • 0
2 minutes ago, jstabenow said:

Alles was der Restreamer bzw. Let's Encrypt hier benötigt, ist der Port 80, worüber Let's Encrypt die Domain validiert. Das hat an und für sich nichts mit dem Restreamer zu tun.

Im Endeffekt müsste für die gewünschte Domain der Ports 80/Extern auf 8080/Restreamer und 443/Extern auf 8181/Restreamer weitergeleitet werden.
Damit sollte es funktionieren. 

Ja wenn er NUR restreamer auf dem server laufen lässt...aber wir sind ja hier nich ganz umsonst im froxlor forum oder nich? Ich gehe also natürlich davon aus, dass er auch noch andere mit froxlor verwaltete websites und email konten usw. auf dem server nutzt, also kann er nich einfach die public http/https ports mal eben auf den docker container umbiegen - dann geht der rest ja nicht mehr

Link to comment
Share on other sites

  • 0

Du, ich kenne mich mit Froxlor nicht aus und bin davon ausgegangen, dass man wie bei einem NGINX oder Apache Webserver ebenfalls multiple Domains mit unterschiedlichen Proxy-Settings verwalten kann. 
Wenn dem nicht so ist, klar. Dann geht das nicht und dann muss @franks sich etwas anderes überlegen. 

Link to comment
Share on other sites

  • 0

Wir sind hier aber im froxlor support forum....wenn du das produkt gar nicht kennst....hö?

Also: @franks

Froxlor stellt dir sofern aktiviert, für deine Domain problemlos Let's Encrypt Zertifikate aus. Du hast jetzt via Docker Container einen Dienst laufen der auf Port 8080 http zu erreichen ist. Du nimmst jetzt deine Domain für die du das Let's Encrypt generieren lässt, und packst dort in die SSL Vhost Einstellungen die entsprechenden Proxy-Anweisungen (ja auf HTTP und port 8080!).
-> Tadaa, https://deine-domain/ zeigt deinen restreamer

Link to comment
Share on other sites

  • 0
ProxyPass        /service1     http://localhost:8080/service1
ProxyPassReverse  /service1  http://localhost:8080/service1

<Proxy http://localhost:8080/service1>
    Require all granted
    Options none
</Proxy>

ich habe den von dir oben beschriebenen eintrag in die vhost gemacht und nun erhalte ich wenn ich auf
www.domain.com funktioniert das SSL Zerifikat aber lande im Verzeichnis von einer Website
www.domain.com:8080/service1 dann geht Restreamer mit ungültigem SSL Zerifikat 
www.domain.com/service1 gehe Restreamer mit ungültigem SSL Zerifikat  (Restreamer antwortet {"code":404,"message":"File not found","details":["/service1/ui"]})

 

 

Beim versuch

ProxyPass        /     http://localhost:8080/
ProxyPassReverse  / http://localhost:8080/

<Proxy http://localhost:8080/>
    Require all granted
    Options none
</Proxy>

www.domain.com funktioniert das SSL Zerifikat aber Lande im Verzeichnis von einer Website
www.domain.com:8080/ dann geht Restreamer mit ungültigem SSL Zerifikat 

 

 

Link to comment
Share on other sites

  • 0
ProxyPass        /test     http://localhost:8080/ui
ProxyPassReverse  /test http://localhost:8080/ui

<Proxy http://localhost:8080/ui>
    Require all granted
    Options none
</Proxy>

probier das mal und ruf "domain.tld/test" auf.

Ansonsten, bitte googlen welche Proxy-Settings da für dich die richtigen sind, hat auch nur bedingt mit froxlor zu tun

Link to comment
Share on other sites

  • 0
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
<Proxy *>
    Require all granted
    Options none
</Proxy>

vllt so? musste ma apache docs lesen usw. oder auch ma in die logs schauen was da wo wie rauskommt, generierten vhost mal zeigen ob da alles passt, eine glaskugel hab ich leider noch nicht

Link to comment
Share on other sites

  • 0
<VirtualHost xx.xx.xx.20:443>
  ServerName stream.xxx.info
  ServerAdmin xxx
  SSLEngine On
  SSLProtocol -ALL +TLSv1 +TLSv1.2
  SSLCompression Off
  SSLSessionTickets on
  SSLHonorCipherOrder off
  SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA$
  SSLVerifyDepth 10
  SSLCertificateFile /etc/ssl/froxlor-custom/stream.xxx.info.crt
  SSLCertificateKeyFile /etc/ssl/froxlor-custom/stream.xxx.info.key
  SSLCACertificateFile /etc/ssl/froxlor-custom/stream.xxx.info_CA.pem
  SSLCertificateChainFile /etc/ssl/froxlor-custom/stream.xxx.info_chain.pem
  <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=0"
  </IfModule>
  DocumentRoot "/var/customers/webs/franks/xxx.com"
  FcgidIdleTimeout 30
  SuexecUserGroup "franks" "franks"
  <Directory "/var/customers/webs/franks/xxx.com/">
    <FilesMatch "\.(php|html)$">
      SetHandler fcgid-script
      FcgidWrapper /var/www/php-fcgi-scripts/franks/stream.xxx.info/php-fcgi-starter .php
      FcgidWrapper /var/www/php-fcgi-scripts/franks/stream.xxx.info/php-fcgi-starter .html
      Options +ExecCGI
    </FilesMatch>
    Require all granted
    AllowOverride All
  </Directory>
  Alias /webalizer "/var/customers/webs/franks/webalizer"
  LogLevel warn
  ErrorLog "/var/customers/logs/franks-error.log"
  CustomLog "/var/customers/logs/franks-access.log" combined
</VirtualHost>

Müssten die Einstellungen hier mit drinnen stehen?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...