[Linux] Installer le certificat SSL Apache


Temps d'écriture : 2017-08-17 19:06:18

Installer le certificat SSL Apache

Achetez un certificat SSL sur www.ssls.com et installez-le sur CentOS.

[https://www.ssls.com/ssl-certificates/comodo-positivessl[https://www.ssls.com/ssl-certificates/comodo-positivessl)

Le prix du certificat Comodo PositiveSSL est de 14,97 USD pour 3 ans, de 4,99 USD pour 1 an et les sous-domaines ne sont pas pris en charge.

Certificat d'achat


Pour acheter un certificat, allez sur ssls.com et cliquez sur le bouton avec l'icône de la carte à droite pour l'ajouter à votre panier.

Accès au site d'achat de génération de certificat SSL

Cliquez sur le bouton CHECKOUT pour procéder à l'achat par carte ou paypal.

Accès au site d'achat de génération de certificat SSL

Si vous procédez à l'achat, vous verrez un écran où vous insérez le CSR pour la délivrance du certificat.

Accès au site d'achat de génération de certificat SSL

Création de fichier CSR


Le fichier CSR crée un fichier CSR à l'aide de la commande openssl.

Dans la commande ci-dessous, site-domain doit être le nom de domaine tel que naver.com.

Saisissez les informations à utiliser pour la génération de clé, telles que le pays et l'état, et saisissez le mot de passe de défi et le nom facultatif de la société sous forme de valeurs vides en appuyant sur la touche Entrée.

# openssl req -new -newkey rsa:2048 -nodes -keyout site-domain.key -out site-domain.csr  
Generating a 2048 bit RSA private key  
............................................+++  
..............................................................................................................................................................................  
Country Name (2 letter code) [XX]:KR  
State or Province Name (full name) []:Gyeonggi-do  
Locality Name (eg, city) [Default City]:Ansan-si  
Organization Name (eg, company) [Default Company Ltd]:Bonmade Ltd  
Organizational Unit Name (eg, section) []:dev team  
Common Name (eg, your name or your server's hostname) []:site-domain  
Email Address []:appmania78@gmail.com  
  
Please enter the following 'extra' attributes  
to be sent with your certificate request  
A challenge password []:  
An optional company name []:  

Lorsque toutes les informations sont entrées, le fichier csr et le fichier clé sont créés.

#ls -l  
합계 44  
-rw-------. 1 root root 1305  8월 10  2015 anaconda-ks.cfg  
-rw-r--r--  1 root root 1078  8월 17 15:45 site-domain.csr  
-rw-r--r--  1 root root 1704  8월 17 15:45 site-domain.key  

Le fichier csr doit être enregistré sur ssls.com et le fichier de clé doit être téléchargé sur le serveur Apache, alors gardez-le bien.

Copiez le contenu du fichier csr et entrez-le dans ssls.com. Collez tout de ------ BEGIN à ------ END ligne.

Accès au site d'achat de génération de certificat SSL

Le certificat prend en charge les deux domaines avec et sans www.

Accès au site d'achat de génération de certificat SSL

Choisissez si le serveur est Tomcat ou non.

Puisqu'il va être installé sur Apache, sélectionnez l'élément ci-dessous.

Accès au site d'achat de génération de certificat SSL

La méthode de vérification de la propriété du domaine est le téléchargement de fichiers, et sélectionnez le téléchargement de fichiers parmi les méthodes de courrier électronique.

Accès au site d'achat de génération de certificat SSL

Ensuite, vous devez télécharger un fichier pour prouver que vous possédez le domaine.

Tout d'abord, téléchargez le fichier texte en cliquant sur ENREGISTRER LE FICHIER D'ACTIVATION dans le coin supérieur droit, puis créez et téléchargez le dossier .well-known / pki-validation sur le serveur de fichiers du domaine qui possède le fichier à télécharger.

Accès au site d'achat de génération de certificat SSL

site-domain / .well-known / pki-validation / Si vous entrez le nom du fichier texte téléchargé, vérifiez si le contenu du fichier texte est visible.

Accès au site d'achat de génération de certificat SSL

Maintenant, attendez un peu, et le fichier de certificat SSL sera envoyé par e-mail.

Accès au site d'achat de génération de certificat SSLAccès au site d'achat de génération de certificat SSL

Modifiez le fichier httpd.conf


Enregistrez le certificat en modifiant le fichier httpd.conf.

Ajoutez le port 443 et ajoutez les deux fichiers reçus par courrier électronique et le chemin où le fichier site-domain.key créé lors de la création de csr est téléchargé comme suit.

#vi /etc/httpd/conf/httpd.conf  


<VirtualHost *:443>  
DocumentRoot /var/www/html/webfile  
ServerName www.site-domain  
SSLEngine on  
SSLCertificateFile /etc/httpd/conf/ssl/quote-plus_com.crt  
SSLCertificateKeyFile /etc/httpd/conf/ssl/quote-plus.com.key  
SSLCertificateChainFile /etc/httpd/conf/ssl/quote-plus_com.ca-bundle  
</VirtualHost>  

Vérifier l'écoute du port 443


Puisque https utilise le port 443, vous devez vérifier si httpd écoute le port 443 avec la commande netstat.

# netstat -tnlp  
Active Internet connections (only servers)  
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1444/master  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1466/mysqld  
tcp        0      0 0.0.0.0:1202            0.0.0.0:*               LISTEN      20783/sshd  
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      12315/dnsmasq  
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      31941/cupsd  
tcp6       0      0 ::1:25                  :::*                    LISTEN      1444/master  
tcp6       0      0 :::80                   :::*                    LISTEN      8184/httpd  
tcp6       0      0 :::1202                 :::*                    LISTEN      20783/sshd  
tcp6       0      0 :::21                   :::*                    LISTEN      11236/vsftpd  
tcp6       0      0 ::1:631                 :::*                    LISTEN      31941/cupsd  

Si vous n'écoutez pas le port 443, vérifiez si openssl et mod _ssl sont installés.

# yum list installed openssl  
# yum list installed mod_ssl  

Installez un module qui n'est pas installé et redémarrez Apache.

#yum -y install openssl  
#yum -y install mod_ssl  
#service httpd restart  

Si vous vérifiez à nouveau avec la commande netstat, le port 443 est Listerned.

# netstat -tnlp  
Active Internet connections (only servers)  
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1444/master  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1466/mysqld  
tcp        0      0 0.0.0.0:1202            0.0.0.0:*               LISTEN      20783/sshd  
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      12315/dnsmasq  
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      31941/cupsd  
tcp6       0      0 ::1:25                  :::*                    LISTEN      1444/master  
tcp6       0      0 :::443                  :::*                    LISTEN      8654/httpd  
tcp6       0      0 :::80                   :::*                    LISTEN      8654/httpd  
tcp6       0      0 :::1202                 :::*                    LISTEN      20783/sshd  
tcp6       0      0 :::21                   :::*                    LISTEN      11236/vsftpd  
tcp6       0      0 ::1:631                 :::*                    LISTEN      31941/cupsd  
[root@localhost ~]#  

Résolution de l'erreur de redémarrage httpd


Si l'erreur suivante se produit lors de l'étape de modification du fichier httpd.conf et de redémarrage du service, vous pouvez en vérifier la cause avec la commande systemctl status httpd.service.

Cela se produit principalement lorsque le chemin du fichier de certificat est incorrect.

# service httpd restart  
Redirecting to /bin/systemctl restart  httpd.service  
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.  


# systemctl status httpd.service  
● httpd.service - The Apache HTTP Server  
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)  
Active: failed (Result: exit-code) since 목 2017-08-17 18:34:30 KST; 5s ago  
Docs: man:httpd(8)  
man:apachectl(8)  
Process: 9766 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)  
Process: 9764 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)  
Main PID: 9764 (code=exited, status=1/FAILURE)  
  
8월 17 18:34:30 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...  
8월 17 18:34:30 localhost.localdomain httpd[9764]: AH00526: Syntax error on line 202 of /etc/httpd/conf/httpd.conf:  
8월 17 18:34:30 localhost.localdomain httpd[9764]: SSLCertificateKeyFile: file '/etc/ssl/crt/site-domain.key' does not exist or is empty  
8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE  
8월 17 18:34:30 localhost.localdomain kill[9766]: kill: cannot find process ""  
8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1  
8월 17 18:34:30 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server.  
8월 17 18:34:30 localhost.localdomain systemd[1]: Unit httpd.service entered failed state.  
8월 17 18:34:30 localhost.localdomain systemd[1]: httpd.service failed.  

Test https et vérification des certificats


Redémarrez le service et accédez à https dans votre navigateur et il apparaîtra comme un site authentifié.

# service httpd restart  
Accès au site d'achat de génération de certificat SSL

Maintenant, vérifions le certificat installé.
Cliquez sur F12 dans Chrome pour ouvrir les outils de développement, puis cliquez sur le bouton Afficher le certificat dans l'onglet Sécurité pour vérifier le certificat.

Accès au site d'achat de génération de certificat SSL

Vérifiez la période de validité sur le certificat et renouvelez-le avant l'expiration

Accès au site d'achat de génération de certificat SSL

redirection http


Pour rediriger http vers https, créez un fichier .htaccess et ajoutez le code ci-dessous.
Il y a des informations que vous pouvez ajouter à httpd.conf, mais cela n'a pas fonctionné, donc je l'ai ajouté à .htaccess.

RewriteCond %{HTTPS} !=on  
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]  

URL de référence


[http://egloos.zum.com/guswl47/v/6514311[http://egloos.zum.com/guswl47/v/6514311)

[https://www.instantssl.com/ssl-certificate-support/cert_installation/ssl-certificate-mod_ssl.html[https://www.instantssl.com/ssl-certificate-support/cert_installation/ certificat-ssl-mod_ssl.html)

[https://wiki.kldp.org/HOWTO/html/SSL-RedHat-HOWTO/ssl-redhat-howto-4.html (https://wiki.kldp.org/HOWTO/html/SSL-RedHat- HOWTO / ssl-redhat-howto-4.html)

Post précédent

Autres articles dans la catégorie