Salut!
Momentan verwende ich HAProxy (3.0) in Zusammenspiel mit dem Let's Encrypt Plugin.
Das läuft auch alles soweit wie es soll. Mehrere Webserver (meistens virtuelle Nextcloud-Instanzen) werden anständig mit gültigen Zertifikaten versorgt und der Traffic von außen entsprechend durchgereicht.
Allerdings gibt es (logischerweise) ein Problem mit Systemen, welche selbst ein LE-Zertifikat anfordern (müssen). Bspw. habe ich einen eigenen Mailserver (ja so richtig mit statischer IP, Reverse-DNS, DKIM, DMARC und allem Pipapo) im Netz, der ebenfalls ein LE-Zertifikat benötigt. Im HAProxy gibt es automatisch von LE erzeugte Conditions & Rules, die entsprechende Anforderungen abfangen:
- find_acme_challenge (condition)
- no_acme_challenge (condition)
- redirect_acme_challenges (rule)
Fordert nun bspw. der Mailserver von LE sein Zertifikat an, greift die Rule "redirect_acme_challenges", da das Verzeichnis (./well-known/acme-challenge) gleich ist.
Man findet zwar tonnenweise Anleitungen für HAProxy + LE im Netz, aber bisher habe ich noch nix brauchbares für das "mixed environment" gefunden. Gibt es ein entsprechendes ruleset, welches beide Szenarien abdecken würde?
Danke & LG
Du könntest da am besten mit Zeitbasierten Portweiterleitungen arbeiten und die Dienste hinter dem HaProxy sich in der Zeit die Zertifikate holen lassen
Ich habe es mit zusätzlichen Conditions hinbekommen.
Vom ACME Plugin werden automatisch Rules & Conditions erzeugt, u.a. die Rule "redirect_acme_challenges".
Zunächst muss für jeden Host, der selbstständig LE-Anforderungen stellt, folgende Condition erstellt werden:
- Condition type: Source IP matches specified IP
- Negate Condition: aktiviert
- Source IP: <IP des gewünschten Hosts>
Anschliessend aktiviert man diese Conditions zusätzlich in der Rule "redirect_acme_challenges".
Hallo,
ich stehe gerade vor dem gleichen Setup und bekomme noch eine Fehlermeldung (in meinem Fall möchte ich Mailcow betreiben). Die Condition für den Mailserver habe ich erstellt und der Rule "redirect_acme-challenges" hinterlegt.
Failed to obtain certificate /var/lib/acme/meinedomain.de/cert.pem
Hast du noch weitere abweichende Änderungen am HAProxy vorgenommen?
Danke