Je crée une plate-forme similaire au concept Wix pour l'hébergement de sites Web. Je souhaite m'assurer que tous les sites (sauf si des problèmes spécifiques le permettent, site par site) seront protégés par https.
Les bases du système sont théoriquement un nombre illimité de domaines pouvant être mappés sur un équilibreur de charge qui se connectera à un certain nombre de serveurs virtuels exécutant tous la même application PHP sous la configuration par défaut d'Apache vHost avec tous les ports. Le trafic 443 étant dirigé vers l'application PHP.
Comme il pourrait y avoir un nombre illimité de domaines utilisés pour accéder à l'application, et comme de nouveaux domaines seront ajoutés chaque jour, j'essaie de déterminer le type de certificat approprié pour atteindre cet objectif.
Idéalement, je recherche une solution ou un type de certificat répondant aux critères suivants ...
Je sais comment faire cela avec des certificats uniques par vhost pour un hébergement de site plus classique dans Apache via des services automatisés tels que LetsEncrypt, mais ce qui précède me bloque et je n’ai rien trouvé en ligne à ce sujet.
Il existe trois façons de connecter des certificats SSL avec des noms de domaine:
Votre exigence d'ajouter de nouveaux noms d'hôtes sans réémettre de certificats signifie que vous devrez utiliser SNI.
Cependant, votre deuxième exigence, à savoir que le serveur ne soit pas conscient du nom de domaine auquel il se connecte, est incompatible avec SNI. SNI négocie le certificat correct à utiliser en fonction du nom d'hôte. C'est pourquoi les certificats SSL sont généralement configurés dans l'hôte virtuel Apache. Apache négocie la connexion HTTPS et doit connaître le nom d'hôte de ce processus.
Apache a des fonctionnalités pour ajouter des hôtes virtuels avec le redémarrage du serveur. Apache supporte un rechargement de configuration sans redémarrage. Vous ajouterez généralement les fichiers de configuration de l'hôte virtuel avec le certificat SSL. Ensuite, vous exécuteriez une commande pour qu'Apache recharge la configuration afin de pouvoir servir le nouvel hôte sans redémarrage. J'utilise Ubuntu. Sur Ubuntu, la commande est la suivante:
Sudo service Apache2 reload