Fórum Root.cz

Hlavní témata => Server => Téma založeno: Stilett 21. 09. 2016, 11:06:45

Název: Let's Encrypt a loadbalancer
Přispěvatel: Stilett 21. 09. 2016, 11:06:45
Ahoj. Chtěl bych použít certifikát od Let's Encrypt včetně automatické obnovy v nasazení s loadbalancerem. HTTP požadavek vyřídí vždy (víceméně náhodně) jeden z uzlů za loadbalancerem. Mám centrální stroj, který je zdrojem pro jednotlivé uzly a může na ně něco nahrát, stejně tak na loadbalancer.

Proces by tedy měl ideálně proběhnout na centrálním stroji takto:

Problém je, že oficiální klient certbot neumožňuje oddělit generování challenge od ověření autoritou, takže nemám, kdy nakopírovat challenge na všechny uzly. Přímo na jednom uzlu to nemohu udělat, protože nevím, který uzel vyřídí HTTP požadavek od autority.

Jak byste to řešili? Můžete doporučit nějakého alternativního klienta pro LE, který umožní provést uvedený postup?
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: Petr Krčmář 21. 09. 2016, 11:26:27
Nejjednodušší by bylo svést všechny požadavky na tu adresu na nějaký centrální stroj. Tedy vlastně udělat reverzní proxy na těch frontendech. „Když se někdo zeptá na soubor ve .well-known, pošli dotaz do 192.168.1.5 a vrať tazateli odpověď.“ Pak by stačilo, aby ten centrální stroj vytvořil požadavek a ten pokus o stažení challenge k němu doputuje a on na něj odpoví.
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: Filip Jirsák 21. 09. 2016, 11:41:15
Další možnost je neověřovat doménu přes HTTP ale přes DNS. Pokud máte DNS ve správě, může to být jednodušší, než směřovat požadavek přes loadbalancery na jedno místo.
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: Stilett 21. 09. 2016, 18:47:51
Díky za odpovědi. Uniklo mi, že mohu s Let's Encrypt použít i DNS ověření. Návrh řešení budu muset ještě dotáhnout (není např. úplně ideální, aby na centrálním serveru byl webserver), ale každopádně to jsou dobré náměty.

Asi se nakonec přikloním k řešení přes DNS, protože nebude zasahovat do loadbalanceru.
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: Jenda 22. 09. 2016, 01:46:54
acme-tiny je tak jednoduchý, že je to vidět, kam to dohackovat.
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: j 22. 09. 2016, 18:48:55
Problém je, ... oficiální klient ...
Reseni je jednoduchy, nepouzivej ten bastl.

Jinak viz vejs, ale porad tu je pomerne slusnej vyber ruznych scriptu, ktery (prakticky vsechny) fungujou daleko lip a jsou pomerne snadno pristupny pro vsemozny modifikace.

BTW: Pocitam ze v nouzi nejvyssi by asi nebyl problem rict balanceru, ze rozsah IPcek le ma posilat na jeden konkretni srv.
Název: Re:Let's Encrypt a loadbalancer
Přispěvatel: Homeatcloud 24. 09. 2016, 08:34:41
Ahoj!
V infrastruktuře cloudu máme na API requesty a webové stránky nasazený loadbalancer HAProxy. Ten je ještě ztrojený a virtuální IP adresu hlídá keepalived. Celá infrastruktura je spravovaná Saltem.

Nasazoval jsem do tohohle LetsEncrypt, a to tak, že v HAProxy je výhybka, která všechny požadavky na ověřovací adresu přesměrovává na stroj s repozitářem konfigurace. Tam běžně žádný webserver není. Používám ten vestavěný v Certbotu. Ten mi ověří doménu a uloží certifikát. Saltem pak ten certifikát nasadím na všechny stroje s HAProxy a restartuju ho.
Recepty zde:
https://github.com/vondrt4/salt-formula-haproxy/commit/224498a1329905e9c8a059f80ca30d0f30155460
https://github.com/vondrt4/salt-formula-letsencrypt/commit/bebbe0f9d0e7469349b18e0c34f4ce5fcaa595b1