Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment configurer Nginx avec Let's Encrypt Cert?

nginx-tls-cert
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Un guide étape par étape pour implémenter le certificat Let's Encrypt TLS dans Nginx.

Sécuriser le site avec un certificat TLS est essentiel. Il y a deux principales raisons:

  • Transmission sécurisée des données entre l'appareil d'un utilisateur et l'appareil de déchargement SSL / TLS
  • Améliorer le classement de recherche Google

Dernièrement, Google annoncé ce site sans https: // serait marqué comme «No Secure» dans le navigateur Chrome.

Alors oui, dites OUI au HTTPS.

Si vous utilisez un blog, un site personnel, un site sans abonnement, un site transactionnel non financier, vous pouvez opter pour le certificat Let's Encrypt.

Let's Encrypt offre un Certificat GRATUIT.

Cependant, si vous acceptez une transaction financière, vous voudrez peut-être opter pour une certificat commercial.

Implémentons TLS dans Nginx…

Je suppose que vous avez déjà Nginx installé et en cours d'exécution sinon vous y référez guide d'installation.

Il existe plusieurs façons d'y parvenir.

Let’s Encrypt using Certbot

L'une des méthodes les plus simples et recommandées pour l'installer.

Certbot propose un menu déroulant où vous pouvez sélectionner le serveur Web et le système d'exploitation pour obtenir les instructions.

J'ai sélectionné Nginx et Ubuntu comme vous pouvez le voir ci-dessous.

certbot-nginx

Et j'exécuterai ce qui suit sur le serveur Nginx pour installer le plugin certbot.

# apt-get install software-properties-common # add-apt-repository ppa: certbot / certbot # apt-get update # apt-get install python-certbot-nginx

Une fois que tout va bien, il est temps d'utiliser un plugin certbot pour installer un certificat dans Nginx.

Vous pouvez utiliser la commande ci-dessous qui se chargera de modifier le fichier nécessaire pour configurer le certificat.

# certbot --nginx

Il vérifiera le CN (nom commun) dans le fichier de configuration Nginx existant, et il ne le trouve pas, puis il vous demandera d'entrer.

Ex:

root@instance-1:/etc/nginx/sites-available# certbot --nginx Enregistrement du journal de débogage dans /var/log/letsencrypt/letsencrypt.log Plugins sélectionnés : Authenticator nginx, Installer nginx Démarrage d'une nouvelle connexion HTTPS (1) : acme -v01.api.letsencrypt.org Aucun nom n'a été trouvé dans vos fichiers de configuration. Veuillez saisir votre ou vos noms de domaine (séparés par des virgules et/ou des espaces) (Entrez 'c' pour annuler) : bloggerflare.com Obtention d'un nouveau certificat Réalisation des challenges suivants : challenge http-01 pour bloggerflare.com En attente de vérification. .. Nettoyage des défis Certificat déployé sur VirtualHost /etc/nginx/sites-enabled/default pour bloggerflare.com Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP. -------------------------------------------------- ----------------------------- 1 : Pas de redirection - N'apportez aucune autre modification à la configuration du serveur Web. 2 : Rediriger - Rediriger toutes les demandes vers un accès HTTPS sécurisé. Choisissez cette option pour les nouveaux sites ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler cette modification en modifiant la configuration de votre serveur Web. -------------------------------------------------- ----------------------------- Sélectionnez le numéro approprié [1-2] puis [enter] (appuyez sur 'c' pour annuler) : 2 Rediriger tout le trafic sur le port 80 vers ssl dans /etc/nginx/sites-enabled/default ----------------------------- -------------------------------------------------- Toutes nos félicitations! Vous avez activé avec succès https://bloggerflare.com Vous devriez tester votre configuration sur : https://www.ssllabs.com/ssltest/analyze.html?d=bloggerflare.com ----------- -------------------------------------------------- ------------------ REMARQUES IMPORTANTES : - Félicitations ! Votre certificat et votre chaîne ont été enregistrés sur : /etc/letsencrypt/live/bloggerflare.com/fullchain.pem Votre fichier de clé a été enregistré sur : /etc/letsencrypt/live/bloggerflare.com/privkey.pem Votre certificat expirera le 2018-05-27. Pour obtenir une nouvelle version ou une version modifiée de ce certificat à l'avenir, exécutez simplement certbot à nouveau avec l'option "certonly". 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 : faisant un don à l'ISRG / Let's Encrypt: https://letsencrypt.org/donate Faire un don à EFF : https://eff.org/donate-le root@instance-1:/etc/nginx/sites-available#

L'automatisation Certbot est smart!

Comme vous pouvez le voir, il a pris en charge toute la configuration nécessaire pour rendre mon Nginx prêt à servir sur https.

Cependant, si vous ne souhaitez pas que Certbot modifie la configuration pour vous, vous pouvez simplement demander la commande ci-dessous.

# certbot --nginx certonly

La commande ci-dessus n'effectuera aucune modification au lieu de vous fournir simplement le certificat afin que vous puissiez configurer comme vous le souhaitez.

Mais que faire si vous ne pouvez pas ou ne voulez pas utiliser Certbot?

Manual Procedure

Il existe de nombreuses façons d'obtenir le certificat émis par Let's Encrypt, mais l'une des méthodes recommandées provient de SSL gratuitement outil en ligne.

Fournissez votre URL et procédez à la méthode de vérification. Une fois vérifié, vous obtiendrez le certificat, la clé privée et l'autorité de certification.

Lets-encrypt-cert

Téléchargez-les et transférez-les sur le serveur Nginx. Gardons-les sous le dossier ssl (créer s'il n'existe pas) du chemin d'installation de Nginx

root@instance-2 :/etc/nginx/ssl# ls -ltr
-rw-r - r-- 1 root root 1704 26 février 10:04 private.key
-rw-r - r-- 1 racine racine 1647 26 février 10:04 ca_bundle.crt
-rw-r - r-- 1 racine racine 3478 26 février 10:57 certificate.crt
root@instance-2 :/etc/nginx/ssl# 

Avant de procéder à la modification de la configuration, vous devez concaténer certificate.crt et ca_bundle.crt en un seul fichier. Appelons-le tlscert.crt

cat certificate.crt ca_bundle.crt >> tlscert.crt
  • Cliquez sur sites-available dossier et ajoutez ce qui suit dans le fichier de configuration du site respectif
serveur {
écoutez 443;
ssl sur;
certificat_ssl /etc/nginx/ssl/tlscert.crt;
ssl_certificate_key /etc/nginx/ssl/private.key ;
}
  • Redémarrer Nginx
service nginx restart

Essayez d'accéder au domaine respectif via HTTPS

nginx-let-chiffré

Alors voilà, c'est un succès!

Une alternative à Let's Encrypt, vous pouvez également utiliser Zéro SSL ce qui est expliqué ici sur la mise en œuvre.

Ensuite, vous souhaiterez peut-être tester votre site pour Vulnérabilité SSL / TLS et les réparer si trouvé.

Merci à nos commanditaires
Plus de bonnes lectures sur Nginx
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder