J'ai un serveur exécutant Ubuntu 12.04.3 LTS et deux exécutant Ubuntu 14.04.1 LTS, qui contiennent des certificats SSL. Tous sont des piles bitnami, donc ont leurs fichiers de configuration Apache2 dans:
/opt/bitnami/Apache2/conf/bitnami
Il fallait plusieurs certificats de nom de domaine pour deux domaines avec et sans www.
donc vraiment 4 au total.
website.com
www.website.com
website.co.uk
www.website.co.uk
En fin de compte, il disposait d'un certificat pour tous ces domaines, défini dans la section virtual-Host _default_:443
du fichier Apache2 bitnami.conf. Toutefois, le fournisseur de certificats a suggéré d’avoir deux certificats au lieu d’un (car cela reviendrait moins cher).
Est-il possible d'avoir deux certificats dans la configuration d'Apache2 s'il n'y a qu'un seul serveur physique pour les deux domaines?
Si tel est le cas, comment configureriez-vous l'hôte virtuel pour gérer deux certificats?
Vous ne pouvez avoir qu'un seul certificat par hôte virtuel. Mais ceci est un logiciel libre. Il n'y a aucun coût (et très peu de frais généraux) à simplement ajouter un hôte virtuel distinct pour chaque domaine avec son propre certificat.
À moins que le contenu ne diffère, j'irais encore plus loin et choisirais un domaine comme domaine principal et tous les autres y seraient redirigés. C’est généralement mieux de garder les moteurs de recherche heureux (et les liens que les gens se répandent organiquement seront au même domaine).
En tout cas, cela entraîne trois virtualhosts:
www.website.com
website.com
) à rediriger vers le principal, par exemple website.com
. Utilise le même certificat.Un seul certificat multi-domaines présente certains avantages:
Cela ne dépasse généralement pas leurs coûts. Et ce sont des problèmes fixes, donc si vous devez ajouter un autre domaine, vous devez payer le prix fort. Nabbing une charge d'adresses IPv4 est toujours moins cher.
Et même avec un cert multi-domaine, j'utiliserais toujours trois hôtes virtuels pour rediriger vers un domaine.
Il est possible d'avoir un certificat par domaine. Pour ce faire, vous devez créer un fichier hôte virtuel pour chaque domaine. Prenons l'exemple de website.com.
Vous pouvez trouver le fichier de modèle SSL par défaut à l'adresse /etc/Apache2/sites-available/default-ssl
.
Nous allons créer un nouveau fichier à la place. /etc/Apache2/sites-available/website.com
.
Editez le nouveau fichier pour qu'il corresponde à l'exemple ci-dessous:
<IfModule mod_ssl.c>
<VirtualHost 192.168.0.100:443>
ServerAdmin [email protected]
ServerName website.com:443
DocumentRoot /var/www/website.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/website.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>
</IfModule>
Activez ensuite le nouveau fichier. Sudo a2ensite website.com
Recharger Apache Sudo service Apache2 reload