Jeden LE certifikát pro více webových serverů

McFly

  • *****
  • 588
    • Zobrazit profil
    • E-mail
Jeden LE certifikát pro více webových serverů
« kdy: 10. 06. 2024, 10:49:59 »
Zdravím, mám zatím jen teoretickou otázku - přemýšlím, že si ke svému VPS pořídím další VPS a rozdělím mezi ně zátěž - 2 IP, jeden HTTPS web, obyčejný Round-Robin DNS.

Problém dle mého bude s certifikátem od LET'S ENCRYPT, kdy na prvním serveru provádím renew certifikátu a pak musím tento dostat v případě, že došlo k vygenerování nového, na druhý server. A pak reload webové služby. Samozřejmě bez toho, aby byl nutný manuální zásah, vše by mělo být automatizované. Ručně by to nebyl problém, ale tomu se chci vyhnout. Neřešil už někdo, nějaký tip?

PS: jedná se o fandovský projekt, který mi nepřináší žádné peníze, vlastně mne stojí asi jen nervy, takže investovat víc peněz, než jsem ochoten dát do dalšího VPS, se mi vůbec nechce. Kdybych stávajícímu VPS chtěl navýšit parametry, paradoxně mne koupě dalšího VPS u stejného hostingu vyjde levněji.


Re:Jeden LE certifikát pro více webových serverů
« Odpověď #1 kdy: 10. 06. 2024, 11:19:11 »
Čus, jestli děláš HTTP challenge, tak ti to v momentě přidání další IP adresy do DNS přestane fungovat. Teda přesněji, budeš mít 50% šanci, že se ti podaří obnovit HTTPS certifikát.

To co budeš chtít, je DNS challenge, viz https://letsencrypt.org/docs/challenge-types/.
No a pak si ten nový HTTPS certifikát akorát nahraješ na druhou VPS a reload web serveru. To není nic komplikovaného, pokryješ to jednoduchým skriptem...

Re:Jeden LE certifikát pro více webových serverů
« Odpověď #2 kdy: 10. 06. 2024, 11:53:33 »
Pokud tam zprovozněnou žádnou správu certifikátů (jako že podle toho, co píšete, nemáte), je nejjednodušší prostě neřešit stejný certifikát, ty certifikáty mít dva a nechat je obnovovat nezávisle na sobě. Pro ověření přístupu k doméně použijte DNS challenge – údaje pro ověření jsou v DNS, může jich tam být víc najednou. Takže se nestane, že by žádost vystavil jeden server a LE pak ověřoval doménu na druhém serveru – ověřuje to v DNS.

McFly

  • *****
  • 588
    • Zobrazit profil
    • E-mail
Re:Jeden LE certifikát pro více webových serverů
« Odpověď #3 kdy: 10. 06. 2024, 12:04:38 »
Díky za nakopnutí, pánové, mrknu na to. ;)

alfi

  • ****
  • 335
    • Zobrazit profil
    • E-mail
Re:Jeden LE certifikát pro více webových serverů
« Odpověď #4 kdy: 10. 06. 2024, 14:49:06 »
renew stejně dělá nějaký skript (certbot, dehydrated..), tj. po vytvoření nového přidat kopii + reload na druhý server? Pokud zlobí http challenge, pak přejít na dns nebo /.well-known cestu nasdílet do stejného adresáře, klidně přes reverse proxy? :)


McFly

  • *****
  • 588
    • Zobrazit profil
    • E-mail
Re:Jeden LE certifikát pro více webových serverů
« Odpověď #5 kdy: 10. 06. 2024, 14:58:52 »
renew stejně dělá nějaký skript (certbot, dehydrated..), tj. po vytvoření nového přidat kopii + reload na druhý server? Pokud zlobí http challenge, pak přejít na dns nebo /.well-known cestu nasdílet do stejného adresáře, klidně přes reverse proxy? :)

To s tím reverzním proxy by možná nebylo od věci - na obou serverech běží nginx jako reverzní proxy pro statický obsah, zbytek posílá na lokálního Apache. Rozhodně by stálo za vyzkoušení. :-)

Re:Jeden LE certifikát pro více webových serverů
« Odpověď #6 kdy: 10. 06. 2024, 15:12:36 »
Buď reverzní proxy nebo si ty certifikáty mezi servery kopíruju přes rsync.

Re:Jeden LE certifikát pro více webových serverů
« Odpověď #7 kdy: 13. 06. 2024, 20:01:50 »
Idealni reseni je, jak uz bylo zmineno, reverzni proxy. Takze na jednom serveru nasad nginx nebo haproxy a nastav smerovani na druhy server pro jednu domenu a pro druhou na stejny server.  Na reverzni proxy odbavis ssl/tls a pak uz jen posles na upstream na port 80. zariven muzes na reverzni proxy udelat blancer nebo failover. Problem nastane kdyz ti VPS kde budes mit vse zdechne. A to uz se dostavame k zajimavejsim vecem jako migrace ip adresy, sluzeb a to pomoci Heartbeat nebo corosync s pacemakerem.

Re:Jeden LE certifikát pro více webových serverů
« Odpověď #8 kdy: 14. 06. 2024, 08:48:18 »
Zajímalo by mne, proč považujete reverzní proxy za ideální řešení. Když budou dva servery, mezi které se provoz rozvažuje, řeší to i výpadek jednoho ze serverů (zejména kdyby se zapojil monitoring tak, aby v případě výpadku vyhodil příslušný server z DNS). Tuhle výhodu reverzní proxy zruší, ta proxy bude  single point of failure.

Já bych to řešil těmi dvěma nezávislými certifikáty, ideálně od dvou poskytovatelů (např. Let's Encrypt a ZeroSSL), ať jsou ty servery na sobě opravdu nezávislé a nezpůsobí mi problém ani problém s jedním certifikátem.

Ale pokud na to není připravena infrastruktura (vydávání certifikátů přes DNS), je to řešení s reverzní proxy jednodušší na konfiguraci, to uznávám.