franks Posted October 16, 2022 Posted October 16, 2022 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?
0 d00p Posted October 16, 2022 Posted October 16, 2022 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
0 franks Posted October 17, 2022 Author Posted October 17, 2022 ProxyPass / http://localhost:8181/ ProxyPassReverse / http://localhost:8181/ <Proxy http://localhost:8181/> Require all granted Options none </Proxy> Ich möchte dass die Domain https://deine-domain.tld/ unter dem port 8181 erreichbar ist. Was mache ich hier falsch? mod_proxy_http ist aktiviert.
0 d00p Posted October 17, 2022 Posted October 17, 2022 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.
0 franks Posted October 17, 2022 Author Posted October 17, 2022 unter stream.xxx.com:8080 ist docker continer erreichbar. unter stream.xxx.com:8181 kommt die Fehlermeldung 502 Proxy Error Im Apache log habe ich keine Fehler gefunden.
0 d00p Posted October 17, 2022 Posted October 17, 2022 Steht doch in den manuals des Restreamers da: Port 8080: http Port 8181: https Du kannst ja wenn du eh intern proxy'st einfach auf 8080, weil der dienst im container hat sicher kein gültiges certificate
0 franks Posted October 17, 2022 Author Posted October 17, 2022 In den Einstellungen von Restreamer kann man Zertifikate erstellen lassen. http://stream.xxx.com:8080 funktioniert auch https://stream.xxx.com:8181 funktioniert nicht (ERR_CONNECTION_REFUSED) http://stream.xxx.com wird auf die Loging Seite von Froxlor umgeleitet
0 d00p Posted October 17, 2022 Posted October 17, 2022 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.
0 jstabenow Posted October 18, 2022 Posted October 18, 2022 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.
0 d00p Posted October 18, 2022 Posted October 18, 2022 5 minutes ago, jstabenow said: da ich Froxlor nicht kenne und auch nicht weiß, ob Let's Encrypt integriert ist. Es steht groß auf der website in der Feature liste xD
0 franks Posted October 18, 2022 Author Posted October 18, 2022 kann ich hierfür ein ticket unter froxlor.support erstellen?
0 d00p Posted October 18, 2022 Posted October 18, 2022 Es ist kein froxlor supported Dienst. Was froxlor-seitig hier gemacht werden kann, habe ich dir gesagt, du kannst custom-vhost-content setzen und das proxy'n - das ist doch offenbar das was du willst, den Dienst unter localhost:8080 via https://public-domain.tld aufrufen oder nicht?
0 franks Posted October 18, 2022 Author Posted October 18, 2022 ja, oder dass der dienst unter https://public-domain.tld:8181 abrufbar ist. Mir ist noch aufgefallen dass der Docker auf den Ports 8080 und 8181 hört jedoch wenn ich einen Open Port Check mache dann scheint nur 8080 offen zu sein. Kann das sein?
0 d00p Posted October 18, 2022 Posted October 18, 2022 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
0 jstabenow Posted October 18, 2022 Posted October 18, 2022 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.
0 d00p Posted October 18, 2022 Posted October 18, 2022 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
0 jstabenow Posted October 18, 2022 Posted October 18, 2022 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.
0 d00p Posted October 18, 2022 Posted October 18, 2022 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
0 jstabenow Posted October 18, 2022 Posted October 18, 2022 @d00p herzlichen Dank. Ich gehöre zum Restreamer und Frank hat uns kontaktiert. So kam das zustande 😉
0 franks Posted October 18, 2022 Author Posted October 18, 2022 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
0 d00p Posted October 18, 2022 Posted October 18, 2022 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
0 franks Posted October 18, 2022 Author Posted October 18, 2022 Funktioniert leider nicht. Der Proxy leitet nicht um. Ich werde ins DocumentRoot root geleitet (404)
0 d00p Posted October 18, 2022 Posted October 18, 2022 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
0 franks Posted October 18, 2022 Author Posted October 18, 2022 müsste die vhost nicht in /etc/apache2/sites-enabled liegen?
0 franks Posted October 18, 2022 Author Posted October 18, 2022 <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?
0 d00p Posted October 18, 2022 Posted October 18, 2022 ja ich seh da die custom SSL vhost einstellungen nicht schau mal bei "Domain bearbeiten"...es gibt "Eigene vhost einstellungen" und "Eigene SSL Vhost einstellungen" !!!
Question
franks
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?
26 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now