GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer plusieurs certificats SSL sur un VPS CentOS avec Apache en utilisant une seule adresse IP

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.csr

et 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 +StdEnvVarsSetEnvIf 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 +StdEnvVarsSetEnvIf 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.


Cent OS
  1. Comment configurer des hôtes virtuels Apache sur CentOS

  2. Comment configurer plusieurs SSL sur une seule IP avec Nginx

  3. Comment installer WordPress Multisite sur Centos VPS avec Apache

  4. Comment installer PhpWiki sur un VPS CentOS 7

  5. Comment installer Apache 2.4.2 à partir de la source sur CentOS 6.2 avec SSL

Comment configurer le certificat SSL Let's Encrypt avec Apache sur CentOS 8 / RHEL 8 et CentOS 7 / RHEL 7

Comment définir une adresse IP statique dans CentOS Linux

Comment installer Let's Encrypt SSL avec Apache sur CentOS 7

Comment configurer WebDAV à l'aide d'Apache sur CentOS 7

Comment installer un certificat SSL gratuit pour Apache sur CentOS 8

Comment sécuriser Apache avec le certificat SSL Let's Encrypt sur CentOS 8