Répertoire d'articles
Comment postuler à Let's Encrypt ?
Principe du certificat SSL Let's Encrypt et tutoriel d'installation
Qu'est-ce que le SSL ? Chen Weiliang a abordé ce sujet dans son précédent article : « Quelle est la différence entre HTTP et HTTPS ? Une explication détaillée du processus de chiffrement SSL . »
Outre les sites de commerce électronique , qui doivent acquérir des certificats SSL cryptés de haut niveau, les professionnels des nouveaux médias qui utilisent des sites web pour promouvoir leurs comptes officiels WeChat peuvent installer gratuitement des certificats SSL cryptés. Cela peut améliorer le référencement naturel et le positionnement du site web dans les moteurs de recherche.

Let's Encrypt possède son propre processus ( https://certbot.eff.org/ ). Les utilisateurs Linux peuvent s'y référer et suivre ce tutoriel.
Téléchargez d'abord l'outil certbot-auto, puis exécutez les dépendances d'installation de l'outil.
wget https://dl.eff.org/certbot-auto --no-check-certificate chmod +x ./certbot-auto ./certbot-auto -n
Générer un certificat SSL
Ensuite, en prenant comme exemple le nom de domaine du blog de Chen Weiliang , veuillez le modifier selon vos besoins et exécuter la commande suivante via SSH.
Assurez-vous de modifier la commande dans :
- boîte aux lettres
- chemin du serveur
- nom de domaine du site web
Répertoire unique à domaine unique, générez un certificat :
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com
Annuaire unique multi-domaine, générer un certificat : (c'est-à-dire, plusieurs noms de domaine, un seul annuaire, utiliser le même certificat)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com
Le certificat SSL généré sera enregistré dans :/etc/letsencrypt/live/www.chenweiliang.com/ Sous contenu.
Plusieurs noms de domaine et plusieurs répertoires, générer un certificat : (c'est-à-dire, plusieurs noms de domaine, plusieurs répertoires, utiliser le même certificat)
./certbot-auto certonly --email [email protected] --agree-tos --no-eff-email --webroot -w /home/admin/web/chenweiliang.com/public_html -d www.chenweiliang.com -d img.chenweiliang.com -w /home/eloha/public_html/site/etufo.org -d www.etufo.org -d img.etufo.org
Une fois le certificat Let's Encrypt installé avec succès, le message d'invite suivant apparaîtra dans SSH :
NOTES IMPORTANTES:
– Félicitations, votre certificat et chain ont été enregistrés dans :
/etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem
Votre fichier de clé a été enregistré sur :
/etc/letsencrypt/live/www.chenweiliang.com/privkey.pem
Votre certificat expirera le 2018-02-26. Pour obtenir un nouveau ou modifié
version de ce certificat dans le futur, lancez simplement certbot-auto
Pour renouveler *tous* vos certificats de manière non interactive, exécutez
"certbot-renouvellement automatique"
- Si vous aimez Certbot, merci de soutenir notre travail en:
Faire un don à ISRG / Let's Encrypt : https://letsencrypt.org/donate
Faire un don à l'EFF : https://eff.org/donate-le
Renouvellement du certificat SSL
Le renouvellement des certificats est également très pratique grâce à crontab qui permet un renouvellement automatique. Sur certaines versions de Debian où crontab n'est pas installé, vous pouvez l'installer manuellement au préalable.
apt-get install cron
Les commandes suivantes pour nginx et apache sont saisies dans le fichier /etc/crontab , ce qui signifie qu'elles sont renouvelées tous les 10 jours, et une période de validité de 90 jours est suffisante.
Fichier crontab Nginx, veuillez ajouter :
0 3 */10 * * /root/certbot-auto renew --renew-hook "/etc/init.d/nginx reload"
Fichier Apache crontab, veuillez ajouter :
0 3 */10 * * /root/certbot-auto renew --renew-hook "service httpd restart"
Configuration du certificat SSL Apache
Maintenant, nous devons apporter des modifications à la configuration d'Apache.
Astuces
- si tu utilisesPanneau de configuration CWP, dans la case à cocher Ajouter un nom de domaine Générer automatiquement un certificat SSL, il configurera automatiquement le certificat SSL pour Apache.
- Si vous effectuez plusieurs des étapes suivantes, une erreur peut se produire après le redémarrage d'Apache.
- En cas d'erreur, supprimez la configuration que vous avez ajoutée manuellement.
Modifier le fichier httpd.conf ▼
/usr/local/apache/conf/httpd.conf
Rechercher ▼
Listen 443
- (supprimer le numéro de commentaire précédent #)
ou ajoutez le port d'écoute 443 ▼
Listen 443
SSH vérifie le port d'écoute d'Apache ▼
grep ^Listen /usr/local/apache/conf/httpd.conf
Rechercher ▼
mod_ssl
- (supprimer le numéro de commentaire précédent #)
ou ajouter ▼
LoadModule ssl_module modules/mod_ssl.so
Rechercher ▼
httpd-ssl
- (supprimer le numéro de commentaire précédent #)
Ensuite, SSH exécute la commande suivante (remarque pour changer le chemin vers le vôtre) :
at >/usr/local/apache/conf/extra/httpd-ssl.conf<<EOF Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProxyCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on SSLProtocol all -SSLv2 -SSLv3 SSLProxyProtocol all -SSLv2 -SSLv3 SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex "file:/usr/local/apache/logs/ssl_mutex" EOF
Ensuite, à la fin de la configuration Apache du site web que vous avez créé, sous </VirtualHost>.
Ajoutez le fichier de configuration de la section SSL (attention à supprimer le commentaire, et à changer le chemin par le vôtre) :
<VirtualHost *:443> DocumentRoot /home/admin/web/chenweiliang.com/public_html //网站目录 ServerName www.chenweiliang.com:443 //域名 ServerAdmin [email protected] //邮箱 ErrorLog "/var/log/www.chenweiliang.com-error_log" //错误日志 CustomLog "/var/log/www.chenweiliang.com-access_log" common //访问日志 SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.chenweiliang.com/fullchain.pem //之前生成的证书 SSLCertificateKeyFile /etc/letsencrypt/live/www.chenweiliang.com/privkey.pem //之前生成的密钥 <Directory "/home/admin/web/chenweiliang.com/public_html"> //网站目录 SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All suPHP_UserGroup eloha eloha //用户组(有些服务器配置需要,有些可能不需要,出错请删除此行) Order allow,deny Allow from all DirectoryIndex index.html index.phps </Directory> </VirtualHost>
Redémarrez enfin Apache dessus :
service httpd restart
Apache force la redirection HTTP vers HTTPS
- De nombreuses requêtes Web ne peuvent toujours être exécutées qu'avec SSL.
- Nous devons nous assurer que chaque fois que nous utilisons SSL, le site Web doit être accessible via SSL.
- Si un utilisateur tente d'accéder au site Web avec une URL non SSL, il doit être redirigé vers le site Web SSL.
- Rediriger vers l'URL SSL à l'aide du module Apache mod_rewrite.
- Si vous utilisez le package d'installation en un clic LAMP, l'installation automatique intégrée du certificat SSL et la redirection forcée vers HTTPS, la redirection vers HTTPSEn vigueur, vous n'avez pas besoin d'ajouter une redirection HTTPS.
Ajouter une règle de redirection
- Dans le fichier de configuration d'Apache, modifiez l'hôte virtuel du site Web et ajoutez les paramètres suivants.
- Vous pouvez également ajouter les mêmes paramètres à la racine du document sur votre site Web dans votre fichier .htaccess.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Si vous souhaitez simplement spécifier une certaine URL à rediriger vers HTTPS :
RewriteEngine On RewriteRule ^message$ https://www.etufo.org/message [R=301,L]
- Si quelqu'un essaie d'accéder message , la page passera à https et l'utilisateur ne pourra accéder à l'URL qu'avec SSL.
Redémarrez Apache pour que le fichier .htaccess prenne effet :
service httpd restart
注意 事项
- Veuillez remplacer l'adresse e-mail ci-dessus par votre adresse e-mail.
- N'oubliez pas de remplacer le nom de domaine du site Web ci-dessus par le nom de domaine de votre site Web.
Problème d'emplacement de la règle de redirection
Lorsque vous placez des règles de redirection sous des règles pseudo-statiques, vous rencontrerez souvent le problème suivant : HTTP ne peut pas rediriger l’intégralité du site vers HTTPS.
Initialement, nous avons copié le code de redirection dans .htaccess et il apparaîtra dans les cas suivants ▼
![La règle de redirection [L] est ci-dessus. La règle de redirection [L] est ci-dessus.](https://img.chenweiliang.com/2018/03/https-rule-1.png)
- [L] indique que la règle actuelle est la dernière règle, arrêtez d'analyser les règles de réécriture suivantes.
- Ainsi, lors de l'accès à la page d'article redirigé, [L] arrête les règles suivantes, donc les règles de redirection ne fonctionnent pas.
Lors de l'accès à une page d'accueil HTTP, nous souhaitons déclencher une redirection d'URL, en contournant les règles de réécriture d'URL pour exécuter les règles de redirection, afin que l'ensemble du site puisse être redirigé de HTTP vers HTTPS.
Ne placez pas les règles de redirection HTTPS sous les règles [L] ; placez-les au-dessus des règles [L] . ▼
![Les règles de redirection SSL pseudo-statiques [L] sont ci-dessous. Les règles de redirection SSL pseudo-statiques [L] sont ci-dessous.](https://img.chenweiliang.com/2018/03/pseudo-static-ssl-jump.png)
Lecture complémentaire :
- Quelle est la différence entre http et https ? Explication détaillée du processus de cryptage SSL
- Que dois-je faire si j'obtiens une erreur 500 après avoir installé le certificat SSL Let's Encrypt dans le panneau de contrôle CWP ?
- Passer automatiquement au nom de domaine de second niveau sans le nom de domaine de premier niveau www : le nom de domaine racine 301 redirige www
Nous espérons que l'article « Comment demander un certificat Let's Encrypt ? Principes et tutoriel d'installation des certificats SSL gratuits Let's Encrypt » publié sur le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) vous sera utile.
N'hésitez pas à partager le lien de cet article : https://www.chenweiliang.com/cwl-512.html
