Certificat SSL fourni par une CA
De wikiGite
Sommaire
Apache
On ne peux avoir qu'un seul virtualhost par adresse IP en SSL avec Apache, car le cryptage du flux HTTP (=HTTPS) supprime la possibilité pour Apache de décoder l'URL, et par voie de conséquence d'en extraire le nom du virtualhost demandé. Il ne se fie donc qu'à l'IP, et renvoie sur le premier site qui correspond au tuple IP:443.
Cependant,
Le seul moyen pour avoir plusieurs virtualhosts en SSL sur un même serveur est donc de déclarer plusieurs alias IP sur ce serveur et d'attribuer une IP par virtualhost.
Création de certificat
Procédure réalisée avec Gandi. A tester avec d'autres registrars.
Certificat mono-domaine
- CSR
La doc de Gandi indique qu'on peut générer le certificat manuellement par
openssl req -nodes -newkey rsa:2048 -keyout monserveur.key -out serveur.csr
Dans BlueOnyx, générer une demande de certificat (Certificat Signing Request, "CSR"). Onglet "Site Management", en modification du virtualhost, menu SSL.
BlueOnyx propose automatiquement le téléchargement de la requête en TXT.
De plus, si "Enable SSL" n'a pas été coché à la création du virtualhost, on peut le cocher dans le récapitulatif qui s'affiche dans la page.
- CRT
Lorsqu'on demande l'activation du certificat, le registrar demande alors une copie du CSR. Il génère un certificat à partir de ces informations, avec sa signature, et renvoie un fichier xxxx.crt.
- CA-CERT / PEM
Il faut aussi charger sur le site de l'autorité son certificat CA. Pour Gandi c'est un fichier GandiStandardSSLCA.pem disponible sur le site.
Certificat Wildcard (multi-domaine)
La génération est la même mais :
Sur BlueOnyx : uniquement avec des sous-domaines (sinon la configuration dynamique de BlueOnyx renvoie par ReWrite sur le site SSL par défaut). En sous-domaine avec un certificat wildard, chaque sous-domaine est bien indépendant et utilise le certificat posé dans le répertoire "certs" du virtualhost principal.
A tester avec une installation Apache "from scratch" sur Debian ou CentOS, et configuration manuelle des virtualhosts.
Note : Malgrès des warnings au démarrage d'Apache indiquant qu'il y a conflit entre plusieurs sous-domaines déclarés sur le port 443, le serveur réussit à diriger les requêtes vers le bon sous-domaine.
Installation du certificat
Chemin des certificats dans la BlueOnyx :
/home/sites/<nom_du_virtualhost>/certs
- Méthode manuelle :
- Copier le fichier xxx.crt dans le répertoire du virtualhost, dans "certs", sous le nom "certificate".
- Copier le fichier monserveur.key généré plus haut dans "certs" sous le nom "key".
- Copier le fichier CA (ex. GandiStandardSSLCA.pem) dans "certs" sous le nom "ca-certs"
- Par l'interface graphique :
- Si le demande a été générée via le menu SSL du virtualhost, le fichier "key" de clé privé est déjà en place.
- Importer le certificat renvoyé par l'autorité par le bouton "import", menu SSL du virtualhost.
- Importer le fichier CA (ex. GandiStandardSSLCA.pem) par le bouton "Manage Certificate Authority" / "Add" dans l'interface, menu SSL du virtualhost.