Am proiectat un sistem complet automatizat de aprovizionare a domeniilor care gestionează întregul ciclu de viață al domeniilor personalizate — de la validarea DNS prin configurarea virtual host-urilor Nginx până la emiterea certificatelor SSL Let's Encrypt — totul orchestrat printr-un singur apel API REST cu zero downtime.
Provocarea
Platforma SaaS white-label a SuperOkay trebuia să suporte sute de clienți care își aduceau propriile domenii personalizate — fiecare necesitând validare DNS, configurare de reverse proxy Nginx și HTTPS cu certificate SSL valide. A face acest lucru manual era nesustenabil: fiecare domeniu nou însemna conectare SSH pe serverele de producție, editarea manuală a configurărilor Nginx, rularea comenzilor Certbot și speranța că nimic nu se strică. O singură configurare greșită de vhost putea dărâma întregul strat de proxy. Sistemul trebuia să fie complet automatizat, idempotent și blindat — capabil să aprovizioneze un domeniu personalizat nou cu HTTPS în secunde, nu ore, prevenind în același timp condițiile de cursă din cererile concurente pe același domeniu.
Soluția noastră
Am construit vhost-manager ca un microserviciu dedicat Node.js rulând pe Koa.js cu un API REST curat. Serviciul orchestrează un pipeline de aprovizionare în mai mulți pași: mai întâi validează înregistrările DNS CNAME pentru a confirma că domeniul indică spre infrastructura noastră. Apoi generează configurări de virtual host Nginx din template-uri Handlebars — producând atât variante HTTP cât și HTTPS — și le activează prin symlink-uri în directorul sites-enabled al Nginx. Certificatele SSL sunt aprovizionate automat prin Certbot cu integrare Let's Encrypt, iar la emiterea cu succes serviciul înlocuiește configurația HTTP-only cu versiunea completă HTTPS și declanșează un reload Nginx. Un mecanism de blocare la nivel de domeniu previne coliziunea cererilor concurente de aprovizionare, iar întregul pipeline include rollback automat la orice eșec — eliminând configurările, dezactivând vhost-urile și restaurând Nginx la starea anterioară. Serviciul gestionează crearea, ștergerea și interogările de stare, toate în spatele autentificării HTTP basic.
Rezultate
- Am redus aprovizionarea domeniilor de la ore de muncă manuală la un singur apel API finalizat în secunde
- Am automatizat ciclul complet SSL cu emitere de certificate Let's Encrypt și configurare HTTPS Nginx
- Am proiectat blocare la nivel de domeniu prevenind condițiile de cursă din cererile concurente
- Am construit pipeline de rollback automat care restaurează Nginx la stare stabilă la orice eșec
- Am eliminat eroarea umană din configurarea Nginx prin generare de vhost-uri bazată pe template-uri Handlebars
- Am permis SuperOkay să scaleze la sute de domenii white-label cu zero overhead operațional