Dans ce tutoriel, nous allons vous montrer comment configurer plusieurs certificats SSL sur un VPS CentOS avec Apache en utilisant une seule adresse IP.
Ceci est permis par une extension du protocole SSL appelée Server Name Indication (SNI). La plupart des navigateurs Web de bureau et mobiles actuels prennent en charge SNI. Le principal avantage de l'utilisation de SNI est la possibilité de sécuriser plusieurs sites Web sans acheter plus d'adresses IP.
Assurez-vous que le module de sécurité mod_ssl est installé et activé afin que le serveur Web Apache puisse utiliser la bibliothèque et la boîte à outils OpenSSL :
yum installer mod_ssl openssl
Exécutez les commandes suivantes :
mkdir -p /etc/httpd/ssl/mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.bak cd /etc/httpd/ssl/Générez des fichiers de demande de signature de certificat SSL (CSR) pour vos domaines :
openssl genrsa -out domain1.key 2048openssl req -new -key domain1.key -out domain1.csropenssl genrsa -out domain2.key 2048openssl req -new -key domain2.key -out domain2.csret entrez les détails suivants pour vos certificats :
- Nom du pays
- Nom de l'état ou de la province
- Nom de la localité
- Nom de l'organisation
- Nom de l'unité organisationnelle
- Adresse e-mail
Lorsque vous êtes invité à entrer le nom commun (c'est-à-dire le nom de domaine), entrez le FQDN (nom de domaine complet) du site Web que vous sécurisez.
Il est recommandé d'installer des certificats SSL commerciaux lorsqu'ils sont utilisés dans un environnement de production. Vous pouvez également générer et utiliser des certificats SSL auto-signés lorsque vous développez ou testez simplement un site Web ou une application à l'aide des commandes suivantes :
openssl x509 -req -days 365 -in domaine1.csr -signkey domaine1.key -out domaine1.crtopenssl x509 -req -jours 365 -in domaine2.csr -signkey domaine2.key -out domaine2.crt
Editez le fichier de configuration Apache ‘ssl.conf’ :
vi /etc/httpd/conf.d/ssl.conf
et ajoutez les lignes suivantes :
LoadModule ssl_module modules/mod_ssl.soListen 443NameVirtualHost *:443SSLPassPhraseDialog builtinSSLSessionCacheTimeout 300SSLMutex defaultSSLRandomSeed startup file:/dev/urandom 256SSLRandomSeed connect builtinSSLCryptoDevice builtinSSLStrictSNIVHostCheck offDocumentRoot /var/www/html/domain1ServerName domain1.comServerAlias www.domain1 .comSSLEngine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificateFile /etc/httpd/ssl/domain1.crtSSLCertificateKeyFile /etc/httpd/ssl/domain1.key# SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warn SSLOptions +StdEnvVars SetEnvIf User-Agent ". *MSIE.*" nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"Document Racine /var/www/html/domain2ServerName domain2.comServerAlias www.domain2.comSSLEngine onSSLProtocol all -SSLv2SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOWSSLCertificateFile /etc/httpd/ssl /domain2.crtSSLCertificateKeyFile /etc/httpd/ssl/domain2.key#SSLCertificateChainFile /etc/httpd/ssl/ca.crtErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warn SSLOptions +StdEnvVars SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL} x %{SSL_CIPHER}x \"%r\" %b"
Lors de l'utilisation d'un certificat SSL commercial, il est probable que l'autorité de signature inclura un certificat CA intermédiaire. Dans ce cas, créez un nouveau fichier '/etc/httpd/ssl/ca.crt' et collez-y le contenu de l'AC intermédiaire, puis éditez le fichier de configuration 'ssl.conf' et décommentez la ligne suivante :
SSLCertificateChainFile /etc/httpd/ssl/ca.crt
afin que le serveur Web Apache puisse trouver votre certificat CA.
Testez la configuration d'Apache :
/etc/init.d/httpd configtestSyntaxe OK
Redémarrez le service Apache pour que les modifications prennent effet :
redémarrage du service httpd
Ouvrez https://domain1.com et https://domain2.com dans votre navigateur Web préféré et vérifiez que les certificats SSL sont correctement installés.
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer plusieurs certificats SSL sur votre VPS pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.