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.
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
- 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.
- Le dossier Apache contiendra trois fichiers :
domain_com.crtfichier de certificatdomain_com.keyfichier de clé privéedomain_com.ca-bundlefichier de chaîne de certificats
Installation du certificat SSL
- Copiez le fichier de certificat
domain_com.crtobtenu, le fichier de clé privéedomain_com.keyet le fichier de chaîne de certificatsdomain_com.ca-bundledepuis le répertoire local vers le répertoire/etc/httpd/ssldu serveur Apache.
- Si le répertoire
/etc/httpd/ssln’existe pas, vous pouvez le créer avec la commandemkdir -p /etc/httpd/ssl - Il peut y avoir des différences entre les versions ; certains répertoires Apache peuvent être
/etc/apache2
- Vérifiez le fichier de configuration
httpd.confdans le répertoire/etc/httpd/conf, trouvez la directiveInclude conf.modules.d/*.confet 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. - Vérifiez le fichier de configuration
00-ssl.confdans le répertoire/etc/httpd/conf.modules.d, trouvez l’instruction de configurationLoadModule ssl_module modules/mod_ssl.soet 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.
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.
- Modifiez le fichier de configuration
ssl.confsous 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>
- 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.

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 :
- Éditez le fichier de configuration
httpd.confsitué dans le répertoire/etc/httpd/conf. Vérifiez siLoadModule rewrite_module modules/mod_rewrite.soest 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 ligneLoadModule rewrite_module modules/mod_rewrite.so, puis enregistrez le fichier de configuration. - 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>
- 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.