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

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

Dans ce tutoriel, nous allons vous montrer comment installer Let's Encrypt SSL avec Nginx sur CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, LetsEncrypt est une autorité de certification ouverte gratuite (CA) qui fournit des certificats gratuits pour les sites Web et d'autres services. Le service est soutenu par l'Electronic Frontier Foundation, Mozilla, Cisco Systems et Akamai. Malheureusement, les certificats LetsEncrypt.org ont actuellement une durée de vie de 3 mois. Cela signifie que vous devrez renouveler votre certificat tous les trimestres pour l'instant.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation étape par étape de Let's Encrypt SSL avec Nginx sur un serveur CentOS 7.

Prérequis

  • Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 7.
  • Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
  • Accès SSH au serveur (ou ouvrez simplement Terminal si vous êtes sur un ordinateur).
  • Un non-root sudo user ou l'accès à l'root user . Nous vous recommandons d'agir en tant qu'non-root sudo user , cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.

Installer Let's Encrypt SSL avec Nginx sur CentOS 7

Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.

yum clean allyum -y mise à jour

Étape 2. Installation de Let's Encrypt SSL sur CentOS 7.

Dans CentOS 7, vous pouvez trouver Certbot sur le référentiel EPEL ; si vous l'activez, installez simplement ce dont vous avez besoin :

yum install epel-releaseyum install certbot

Nginx doit également être installé et en cours d'exécution. Bien sûr, si vous ajoutez des certificats sur un hôte Web précédemment configuré, celui-ci serait déjà installé :

yum installer nginxsystemctl démarrer nginx

La première étape pour installer let's encrypt SSL sur CentOS Linux consiste à ajouter une configuration simple dans la configuration de votre hôte virtuel Nginx. Ajoutez cette ligne à votre configuration vhost :

location ~ /.well-known { allow all ; } 

Enregistrer et quitter pour appliquer les modifications :

nginx -tsystemctl redémarrer nginx

Obtenir un certificat avec Certbot :

Exécutez la commande comme vous le voyez ci-dessous, remplacez "idroot.us" par votre vrai nom de domaine et /var/www/idroot.us avec votre vrai chemin webroot :

certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.us

Résultat :

[[email protected]:~]certbot certonly -a webroot --webroot-path=/var/www/idroot.us -d idroot.us -d www.idroot.usEnregistrement du journal de débogage dans /var/log /letsencrypt/letsencrypt.logObtention d'un nouveau certificatExécution des défis suivants :Challenge http-01 pour idroot.usUtilisation du chemin Webroot /var/www/html pour tous les domaines non correspondants.Attente de vérification...Défis de nettoyageGénération de la clé (2 048 bits) :/etc/letsencrypt/keys/0001_key-certbot.pemCréation d'un CSR :/etc/letsencrypt/csr/0001_csr-certbot.pemREMARQUES IMPORTANTES : - Félicitations ! Votre certificat et votre chaîne ont été enregistrés dans   /etc/letsencrypt/live/idroot.us/fullchain.pem. Votre certificat   expirera le 2017-07-16. Pour obtenir ultérieurement une nouvelle version ou une version modifiée de ce certificat, il vous suffit d'exécuter à nouveau certbot. Pour   renouveler *tous* vos certificats de manière non interactive, exécutez "certbot   renouveler" - Si vous aimez Certbot, veuillez envisager de soutenir notre travail en :   Faire un don à ISRG / Let's Encrypt :   https://letsencrypt.org/donate   Faire un don à EFF :https://eff.org/donate-le[[email protected]:~]

Étape 3. Configurez Let's Encrypt TLS/SSL sur le serveur Web Nginx.

Tout d'abord, modifiez le fichier Virtual Host que vous avez spécifié lors de la configuration via Certbot et ajoutez ces trois directives :

écouter 443 ssl http2;ssl_certificate /etc/letsencrypt/live/idroot.us/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/idroot.us/privkey.pem;

La configuration complète du vhost Nginx peut ressembler à ceci :

serveur {     écouter 80 ; nom_serveur idroot.us www.idroot.us ; réécrire ^(.*) https://idroot.us$1 permanent;}server { access_log off; log_not_found désactivé ; error_log logs/idroot.us-error_log avertir ; nom_serveur idroot.us ; racine   /var/www/idroot.us ; index index.php index.html index.htm ; écouter 443 ssl http2; certificat_ssl /etc/letsencrypt/live/idroot.us/fullchain.pem ; clé_certificat_ssl /etc/letsencrypt/live/idroot.us/privkey.pem ; ## Éléments requis par l'emplacement du certbot ~ /.well-known { allow all; }  ## SSL   ssl_session_cache partagé : SSL :20 m ; ssl_session_timeout 10m ; ssl_prefer_server_ciphers activé ; protocoles_ssl TLSv1 TLSv1.1 TLSv1.2 ; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5 :!DSS; ssl_stapling activé ; ssl_stapling_verify activé ; résolveur 8.8.8.8 8.8.4.4 valide=300s ; résolveur_timeout 10s ; access_log /var/www/idroot.us/logs/access.log ; error_log /var/www/idroot.us/logs/error.log; # emplacement du gestionnaire de script php ~ \.php$ {      fastcgi_index index.php ; fastcgi_pass 127.0.0.1:9000; fastcgi_read_timeout 150 ; racine    /var/www/idroid.us/public_html ; fastcgi_param SCRIPT_FILENAME /var/www/idroot.us$fastcgi_script_name ; inclure /etc/nginx/fastcgi_params ; } emplacement  ~ /\.ht {               tout refuser ; }    }

Étape 5. Configurez le renouvellement automatique SSL de Let's Encrypt.

Nous ajouterons un cronjob pour exécuter la commande de renouvellement chaque semaine, exécutez cette commande :

export VISUAL=nano ; crontab -e

Collez les lignes suivantes :

01 1 * * 0 /usr/bin/certbot renouveler>> /var/log/ssl-renew.log 06 1 * * 0 /usr/bin/systemctl nginx recharger

Enregistrer et quitter la table crontab.

Cela créera une nouvelle tâche cron qui sera exécutée tous les dimanches à 01h00, puis rechargera le serveur Web Nginx pour appliquer les modifications. La sortie sera connecté à /var/log/ssl-renew.log fichier pour une analyse plus approfondie si nécessaire.

Félicitations ! Vous avez installé Let's Encrypt avec succès. Merci d'avoir utilisé ce didacticiel pour installer Let's Encrypt SSL sur le système CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site Web officiel de Let's Encrypt .


Cent OS
  1. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  2. Comment installer SuiteCRM avec Nginx sur CentOS 7

  3. Comment installer MediaWiki avec Nginx sur CentOS 7

  4. Comment installer Let's Encrypt avec Apache sur CentOS 7

  5. Comment installer Let's Encrypt sur CentOS 8 avec Nginx

Comment installer LetsEncrypt SSL avec Nginx sur CentOS 6

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

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

Comment installer Nginx avec Let's Encrypt SSL sur Fedora 35

Comment installer Let's Encrypt SSL avec Nginx sur Ubuntu 16.04 LTS

Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8