Na vele, vele uren vruchteloos zoeken, proberen en falen wil ik nu eindelijk mijn interne servertjes kunnen voorzien van een LetsEncrypt certificaat. Ik zie echter door de bomen het bos niet meer.
Ik draai Proxmox op 3 machines met daarop een groeiend aantal VM's en (LXC) containers (waaronder Nextcloud, piHole en nginx-proxy-manager). Ook heb ik een EdgeRouter Lite en een aantal switches (2x HP, 1x QNAP en 1x Ubiquiti).
Belangrijkste om de certs op werkend te krijgen zijn voor mij de PVE hosts, daarna de VM's en containers, de EdgeRouter zou mooi zijn en de switches zijn nice-to-have.
Het gaat om een thuissituatie, dus één publiek IP en dus gelijk de uitdaging dat een directe letsencrypt aanvraag voor slechts één host werkt - de host waar port 80 / 443 op uitkomen vanaf het publieke IP.
Deze gaat nu naar de nginx-proxy-manager container. Werkt op zich, maar deze houdt de certificaten 'voor zichzelf' en 'dwingt' je zo om ook intern alles via deze host te laten lopen. Om diverse redenen vind ik dat niet wenselijk. Daarnaast zie je in de logs van bijv. Nextcloud alleen nog maar het IP van de nginx-proxy-manager, dus fail2ban / crowdsec etc. werkt dan ook niet meer goed. Schijnt weer te fixen te zijn met custom headers, maar ook dat... vele uren aan besteed, nooit werkend gekregen
Dan de DNS challenge-methode. Ik heb een eigen domein maar de partij die dit host biedt geen API functionaliteit voor hun shared-hosting Plesk klanten. Dus de 'pleskxml´ ACME methode die ik bij Proxmox kan aangeven, valt af.
In de Proxmox documentatie lees ik dat je in dat geval nog de 'alias' methode kan gebruiken:
Misschien die zelf maar gaan draaien? Hoe dan? Welke software? Op welke plek in mijn netwerk? Zoveel opties...
Dan is er nog de 'acmeproxy'-methode. Klinkt interessant, maar ben inmiddels huiverig om weer vele uren te besteden aan iets om er dan uiteindelijk achter te komen dat het in mijn specifieke(?) geval tòch weer niet gaat werken. Zeker als ik de Github pagina lees heeft dit nogal wat voeten in de aarde.
Tenslotte dan nog de op de Github pagina van acmeproxy genoemde autocertdelegate wat eigenlijk precies klinkt als wat ik wil, maar waarvan ik echt geen flauw idee heb hoe dit op te zetten.
Hoe kom ik uit dit moeras? Zit ik op de goede weg en zijn de dingen waar ik tegenaan loop makkelijk op te lossen? Of moet ik het helemaal anders aanpakken?
Advies meer dan welkom.
Ik draai Proxmox op 3 machines met daarop een groeiend aantal VM's en (LXC) containers (waaronder Nextcloud, piHole en nginx-proxy-manager). Ook heb ik een EdgeRouter Lite en een aantal switches (2x HP, 1x QNAP en 1x Ubiquiti).
Belangrijkste om de certs op werkend te krijgen zijn voor mij de PVE hosts, daarna de VM's en containers, de EdgeRouter zou mooi zijn en de switches zijn nice-to-have.
Het gaat om een thuissituatie, dus één publiek IP en dus gelijk de uitdaging dat een directe letsencrypt aanvraag voor slechts één host werkt - de host waar port 80 / 443 op uitkomen vanaf het publieke IP.
Deze gaat nu naar de nginx-proxy-manager container. Werkt op zich, maar deze houdt de certificaten 'voor zichzelf' en 'dwingt' je zo om ook intern alles via deze host te laten lopen. Om diverse redenen vind ik dat niet wenselijk. Daarnaast zie je in de logs van bijv. Nextcloud alleen nog maar het IP van de nginx-proxy-manager, dus fail2ban / crowdsec etc. werkt dan ook niet meer goed. Schijnt weer te fixen te zijn met custom headers, maar ook dat... vele uren aan besteed, nooit werkend gekregen

Dan de DNS challenge-methode. Ik heb een eigen domein maar de partij die dit host biedt geen API functionaliteit voor hun shared-hosting Plesk klanten. Dus de 'pleskxml´ ACME methode die ik bij Proxmox kan aangeven, valt af.
In de Proxmox documentatie lees ik dat je in dat geval nog de 'alias' methode kan gebruiken:
Klinkt leuk, maar ik heb dus (nog) geen 2e domain provider die wèl API ondersteuning biedt.Manually set up a permanent CNAME record for _acme-challenge.domain1.example pointing to _acme-challenge.domain2.example and set the alias property in the Proxmox VE node configuration file to domain2.example to allow the DNS server of domain2.example to validate all challenges for domain1.example.
Misschien die zelf maar gaan draaien? Hoe dan? Welke software? Op welke plek in mijn netwerk? Zoveel opties...
Dan is er nog de 'acmeproxy'-methode. Klinkt interessant, maar ben inmiddels huiverig om weer vele uren te besteden aan iets om er dan uiteindelijk achter te komen dat het in mijn specifieke(?) geval tòch weer niet gaat werken. Zeker als ik de Github pagina lees heeft dit nogal wat voeten in de aarde.
Tenslotte dan nog de op de Github pagina van acmeproxy genoemde autocertdelegate wat eigenlijk precies klinkt als wat ik wil, maar waarvan ik echt geen flauw idee heb hoe dit op te zetten.
Hoe kom ik uit dit moeras? Zit ik op de goede weg en zijn de dingen waar ik tegenaan loop makkelijk op te lossen? Of moet ik het helemaal anders aanpakken?
Advies meer dan welkom.
Nuff' said...