Aller au contenu principal

Installation d'un certificat SSL sur un serveur Apache

Vous pouvez installer un certificat SSL sur le serveur Apache afin que celui-ci prenne en charge l'accès sécurisé HTTPS. Cet article explique comment installer un certificat SSL sur un serveur Apache.

Remarque

La version d'Apache utilisée dans cet article est Apache/2.4.6 à titre d'exemple. Avant l'installation, vérifiez que le port 443 n'est pas occupé. Si le port 443 est déjà utilisé, veuillez lier un autre port lors de l'installation du certificat.

Obtention du certificat

  1. Après l'émission de votre certificat, nous vous fournirons un fichier de certificat compressé (.zip). L'archive contient quatre dossiers correspondant respectivement à quatre formats de certificat : Tomcat, Nginx, IIS, Apache ; le serveur Apache nécessite le certificat contenu dans le dossier Apache.
  2. Le dossier Apache contiendra trois fichiers :
  • domain_com.crt fichier de certificat
  • domain_com.key fichier de clé privée
  • domain_com.ca-bundle fichier de chaîne de certificats

Installation du certificat SSL

  1. Copiez le fichier de certificat domain_com.crt obtenu, le fichier de clé privée domain_com.key et le fichier de chaîne de certificats domain_com.ca-bundle depuis le répertoire local vers le répertoire /etc/httpd/ssl du serveur Apache.
Remarque
  • Si le répertoire /etc/httpd/ssl n’existe pas, vous pouvez le créer avec la commande mkdir -p /etc/httpd/ssl
  • Il peut y avoir des différences entre les versions ; certains répertoires Apache peuvent être /etc/apache2
  1. Vérifiez le fichier de configuration httpd.conf dans le répertoire /etc/httpd/conf, trouvez la directive Include conf.modules.d/*.conf et confirmez qu’elle n’est pas commentée. Si elle est commentée, supprimez le symbole de commentaire (#) sur la première ligne et enregistrez le fichier de configuration.
  2. Vérifiez le fichier de configuration 00-ssl.conf dans le répertoire /etc/httpd/conf.modules.d, trouvez l’instruction de configuration LoadModule ssl_module modules/mod_ssl.so et confirmez qu’elle n’est pas commentée. Si elle l’est, supprimez le symbole de commentaire (#) au début de la ligne, puis enregistrez le fichier de configuration.
Remarque

Si LoadModule ssl_module modules/mod_ssl.so est introuvable dans le fichier de configuration ci-dessus, vérifiez que le module mod_ssl.so est bien installé. Si le module mod_ssl.so n’est pas installé, vous pouvez l’installer en exécutant la commande yum install mod_ssl.

  1. Modifiez le fichier de configuration ssl.conf sous le répertoire /etc/httpd/conf.d. Apportez les modifications suivantes :
<VirtualHost *:443>
DocumentRoot /var/www/html
#启用 SSL 功能
SSLEngine on
#证书文件的路径
SSLCertificateFile /etc/httpd/ssl/domain_com.crt
#私钥文件的路径
SSLCertificateKeyFile /etc/httpd/ssl/domain_com.key
#证书链文件的路径
SSLCertificateChainFile /etc/httpd/ssl/domain_com.ca-bundle
</VirtualHost>
  1. Enregistrez le fichier de configuration puis redémarrez le serveur Apache.

Tester le certificat SSL

Saisissez dans la barre d’adresse du navigateur le nom de domaine lié au certificat SSL afin de vérifier si votre certificat SSL est correctement installé. Si tel est le cas, un cadenas apparaît dans la barre d’adresse ; cliquez dessus pour consulter les informations du certificat.

Aperçu du certificat SSL

Configuration de sécurité pour la redirection automatique HTTP vers HTTPS (facultatif)

Si vous devez rediriger automatiquement les requêtes HTTP vers HTTPS, procédez comme suit :

  1. Éditez le fichier de configuration httpd.conf situé dans le répertoire /etc/httpd/conf. Vérifiez si LoadModule rewrite_module modules/mod_rewrite.so est bien présent dans ce fichier de configuration. S’il est présent, supprimez le signe de commentaire (#) en début de ligne ; s’il est absent, ajoutez la ligne LoadModule rewrite_module modules/mod_rewrite.so, puis enregistrez le fichier de configuration.
  2. Ouvrez le fichier http.conf et ajoutez-y le contenu suivant :
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost>
  1. Redémarrez le serveur Apache pour pouvoir accéder au site via le nom de domaine, et activer la redirection automatique de HTTP vers HTTPS.