BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt

Beitrag von paulderfinne » 08.02.2024 11:19:54

Hallo liebe Debianer,

heute habe ich ein etwas schwieriges Problem und weiß nicht recht wie ich das beschreiben soll. Hintergrund ist, dass ich einen dedicated root- Server im Netz habe. Darauf hatte ich bisher immer Bigbluebutton (BBB) und ein paar Websiten laufen. BBB verlangt ein Ubuntu als Betriebssystem. Ich habe zwar als alter debianer versucht das auf debien zu installieren,gelang mir aber nicht wirkich. Unter Ubuntu lief das Installationsprogramm fehlerfrei durch. Also Ubuntu. BBB verlangt außerdem nginx als Webserver, das Installationsprogramm installiert den mit.

Nun gibt es ein neues Update auf BBB 2.7. Habe den Setver also auf Ubuntu 20.04 upgedatet und BBB installiert. Ging! Aber als ich meine Website eingerichtet habe und mit letsencrypt verschlüsseln wollte, kam der nginx nicht mehr hoch. Der Grund war, zumindest was ich herausgefunden habe, dass BBB nicht mehr letsenceypt verwendet sondern irgendwie ein Programm namens haproxy und der beißt sich mit letsencrypt.

Nach langen recherchen habe ich herausgefunden, dass man dem installationsscript (vom BBB also) dei Opton -x mitgeben kann, dann soll BBB letsenrypt verwenden, allerdings bricht die Installation genau beim durchführen des letsencrypt ab. BBB kan nicht installiert werden.

Meine Idee wäre: kann ich per haproxy eine Website verschlüsseln? Weiß da jemand was? Welche Infos braucht jemand noch, wenn er/sie mir helfen will? Oder sollte ich versuchen BBB doch irgendwie über letsencrypt zu verschlüsseln. Habe in den log-files versucht zu forschen, bin aber nicht weitergekommen.
Zuletzt geändert von paulderfinne am 09.02.2024 14:55:43, insgesamt 1-mal geändert.

niemand
Beiträge: 499
Registriert: 22.12.2023 16:35:53
Kontaktdaten:

Re: nginx, haproxy und letsencrypt

Beitrag von niemand » 08.02.2024 11:38:57

paulderfinne hat geschrieben: ↑ zum Beitrag ↑
08.02.2024 11:19:54
Aber als ich meine Website eingerichtet habe und mit letsencrypt verschlüsseln wollte, kam der nginx nicht mehr hoch. Der Grund war, zumindest was ich herausgefunden habe, dass BBB nicht mehr letsenceypt verwendet sondern irgendwie ein Programm namens haproxy und der beißt sich mit letsencrypt.
Let’s Encrypt erzeugt in erster Linie Zertifikate, die man für TLS nutzen kann. Es verschlüsselt nichts, und hat mit Debianhaproxy auch nur insofern etwas zu tun, als dass HAProxy die über LE erstellten Zertifikate auch problemlos nutzen kann – insbesondere kann sich da nichts „beißen“, weil’s völlig unterschiedliche Sachen sind; allenfalls kann es fehlkonfiguriert sein.
paulderfinne hat geschrieben: ↑ zum Beitrag ↑
08.02.2024 11:19:54
Meine Idee wäre: kann ich per haproxy eine Website verschlüsseln?
Du kannst HAProxy so konfigurieren, dass es das LE-Zertifikat (samt dazugehörigen Schlüssel, selbstredend) für die Auslieferung deiner Webseiten über TLS verwendet.

Unglücklicherweise weiß hier keiner, was dein Installer da überhaupt installiert und wie er das konfiguriert hat, und wie das bei Buntu überhaupt so konfiguriert ist, sodass dieses Forum möglicherweise nicht die beste Anlaufstelle für dein Anliegen ist.

OT: einer kurzen Recherche nach gibt es durchaus auch Anleitungen für BBB unter Debian. Ob man einen fremden Installer in seinem System rumwühlen lassen möchte, ist allerdings eine andere Frage – die Meisten würden sie mit „NEIN!“ beantworten (hoffe ich).
„I fought in the Vim-Emacs-War.“ Quelle

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: nginx, haproxy und letsencrypt

Beitrag von paulderfinne » 08.02.2024 17:55:48

Vielen dank niemand für die schnelle Antwort.

Ich bin mir jetzt unsicher, ob ich überhaupt weiter machen soll. In der Installationsanleitung für BBB sthet, dass man den Sever sowieso dedicated betreiben soll, also nur für BBB und sonst nix. Ich wollte aber wie bisher auch noch meine Websites verwalten und zusätlich noch einen Postfix installieren für Mails.

Dazu kommt, dass sie einen Server mit 8 Kernen verlangen und meiner hat nur 4. war damals anscheinend ausreichend, denn mit Ubuntu 18 und BBB Version 2.4 hat das alles geklappt.

Was meint ihr? Macht das überhaupt Sinn. Ich meine der Traffic auf den Websites und in den Mails ist überschaubar, aber nicht, dass dann wenn ich den BBB wirklich brauche, der Server in die Knie geht.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: nginx, haproxy und letsencrypt

Beitrag von heisenberg » 08.02.2024 18:11:09

Ich benutze gelegentlich BBB, betreibe aber dazu keinen eigenen Server, sondern nutze Senfcall.

Wenn Du einen eigenen Server verwenden möchtest, dann würde ich das mit den CPU-Kernen nicht so eng sehen. Du wirst dann schon merken, wenn das nicht mehr so gut flutscht.

Zu den einzelnen Komponenten:
  • haproxy: Das ist ein Loadbalancer / Reverse Proxy
  • nginx: Das ist ein Webserver und Reverse Proxy
  • certbot / letsencrypt: Das sind Skripte, mit denen Du Zertifikate registrieren kannst - Standalone oder im Zusammenspiel mit dem verwendeten Webserver.
Den haproxy würde ich da mal grundsätzlich weglassen. Nginx sollte das alleine können. Wenn Du die verschiedenen Komponenten - also Webseiten und BBB und Letsencrypt - zusammen betreiben willst, dann musst Du das halt konfigurieren, wie Du das brauchst. Wenn Du keine Ahnung davon hast, wie das für Dich individuell geht und Dich da auch nicht reinarbeiten willst, dann würde ich das lassen. Der Installer instaliert das halt irgendwie auf dem System und kümmert sich da im Zweifelsfall gar nicht um andere noch laufende Software. Die Anpassung musst Du da schon selbst vornehmen.

Ich hatte selbst vor einigen Monaten nur mal kurz in das BBB Setup reingeschaut, habe dass dann aber wieder gelassen, weil mir das zu kompliziert bzw. aufwändig war. (D. h. ich habe von BBB also nur sehr überschaubar Kompetenzen).

Ansonsten: Die Überschrift ist unpassend. Es geht hier wohl primär um BBB und nicht um nginx, haproxy und letsencrypt. Ich fände diese Überschrift angemessener:

BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: nginx, haproxy und letsencrypt

Beitrag von novalix » 09.02.2024 15:03:50

Wieso BBB gerne als single service betrieben sein will, aber dann haproxy mitinstalliert, erschließt sich mir nicht.
Wenn man haproxy verwendet, dann sollte der auch der TLS-Endpoint sein. Dann muss der certbot im Kontext von haproxy seine Zertifikate holen und hinterlegen. Die Verbindungen im Hintergrund (backend) zwischen haproxy und dem/den httpd/s läuft dann üblicherweise unverschlüsselt.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt

Beitrag von paulderfinne » 09.02.2024 15:32:58

Danke Heisenberg für deine aufklärung und Empfehlungen.

ich habe nun BBB wieder über das installationsscript auf den Ubuntuserver drauf gespielt. Ich wieß, dass das kein guter Weg ist, weil ich nicht genau weiß. was da installiert wird. Ich hatte es (wie schon mal geschriben habe) versucht BBB auf einen Debian Server zu installieren. Habe das ganze Wochenende damit verbarcht, es aber nicht hingekriegt. Dann habe ich Ubuntu auf den Server getan und das Script lief durch. Ich habe das seit Corona verwendet und (fast) immer zur Zufriedenheit. Zusätzlich hatte ich noch ein Paar Websiten laufen. Bei der einen davon hatte ich auch mit letsencrypt ein neues Zertifikat geholt, wie in der Anleitung dazu beschrieben. Mit der nun neuen Version klappt das so nicht mehr. Und das liegt meiner Meinung nach am Haproxy.

Hier der Inhalt der /etc/nginx/server-available/bibbluebutton, wie ihn das Shellscript erzeugt hat

Code: Alles auswählen

server_tokens off;

server {
  listen 80;
  listen [::]:80;
  server_name bbb.vi-mathe.de;

  location ^~ / {
    return 301 https://$server_name$request_uri; #redirect HTTP to HTTPS
  }

  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
    root /var/www/bigbluebutton-default/assets;
  }

  location = /.well-known/acme-challenge/ {
    return 404;
  }
}

set_real_ip_from 127.0.0.1;
real_ip_header proxy_protocol;
real_ip_recursive on;
server {
  # this double listening is intended. We terminate SSL on haproxy. HTTP2 is a
  # binary protocol. haproxy has to decide which protocol is spoken. This is
  # negotiated by ALPN.
  #
  # Depending on the ALPN value traffic is redirected to either port 82 (HTTP2,
  # ALPN value h2) or 81 (HTTP 1.0 or HTTP 1.1, ALPN value http/1.1 or no value)

  listen 127.0.0.1:82 http2 proxy_protocol;
  listen [::1]:82 http2;
  listen 127.0.0.1:81 proxy_protocol;
  listen [::1]:81;
  server_name bbb.vi-mathe.de;

  # nginx does not know its external port/protocol behind haproxy, so use relative redirects.
  absolute_redirect off;
    
  # HSTS (uncomment to enable)
  #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

  access_log  /var/log/nginx/bigbluebutton.access.log;

  # This variable is used instead of $scheme by bigbluebutton nginx include
  # files, so $scheme can be overridden in reverse-proxy configurations.
  set $real_scheme "https";

  # BigBlueButton landing page.
  location / {
    root   /var/www/bigbluebutton-default/assets;
    try_files $uri @bbb-fe;
  }

  # Include specific rules for record and playback
  include /etc/bigbluebutton/nginx/*.nginx;
}



Woraus zumindest ich entnehme, dass hier das Zusammenspiel zwischen nginx und Haproxy konfiguriert wird.

Aus euren Antworten entnehme ich, dass ich auch eine weitere Website mit dem selben Schlüssel konfigurieren kann. Kann mir da jemand Hilfestellung geben?

PS: Habe die Überschrift, wie von Heisenberg gewünscht, geändert
PPS.: Auch dir novalis danke, habe aber deine Einlage jetzt erst gesehen.
Warum das bbb Script tut was es tut, weiß ich auch nicht. In früheren Versionen hat das ja auch geklappt. Aber nun ist das halt so. Wenn nicht müsste ich ja das Installationsscript umschreibe und das traue ich mir nicht zu.

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt

Beitrag von novalix » 14.02.2024 03:27:58

Wie sieht denn die Konfiguration von haproxy aus?
(Da könnte die IP Deines Servers drin stehen. Ersetze die durch einen Platzhalter á la "SERVER_IP", falls Du sie hier postest.
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Benutzeravatar
paulderfinne
Beiträge: 471
Registriert: 23.08.2004 12:44:02
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Osternohe

Re: BBB-Einrichtung hinter haproxy/nginx mit LetsEncrypt

Beitrag von paulderfinne » 22.03.2024 11:13:20

Vielen Dank für all Euren Mühen. Ich habe jetzt einfach einen "eigenen" Server nur mit BBB drauf installiert. Der tut. Meine mails und websites hoste ich auf einem anderen Server

Antworten