web-dev-qa-db-fra.com

Plus d'un certificat SSL sur un hôte virtuel?

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?

2
Aravona

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:

  • Celui que vous hébergez. Par exemple www.website.com
  • Un avec le même domaine, mais avec le préfixe alternatif (par exemple, website.com) à rediriger vers le principal, par exemple website.com. Utilise le même certificat.
  • Un pour chaque TLD alternatif (capturant à la fois www et www-less) à rediriger.

Un seul certificat multi-domaines présente certains avantages:

  • IE8 et versions antérieures sur XPet versions antérieures ne prennent pas en charge SNI, ce qui signifie que vous avez besoin d'une seule adresse IP légale par certificat. Les certificats multi-domaines facilitent la tâche, car il suffit de jeter le même certificat pour chaque requête.
  • Moins à mettre à jour lorsque le certificat expire.

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.

3
Oli

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.

  1. Vous pouvez trouver le fichier de modèle SSL par défaut à l'adresse /etc/Apache2/sites-available/default-ssl.

  2. Nous allons créer un nouveau fichier à la place. /etc/Apache2/sites-available/website.com.

  3. 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>
    
  4. Activez ensuite le nouveau fichier. Sudo a2ensite website.com

  5. Recharger Apache Sudo service Apache2 reload

2
Aizuddin Zali