Nginx SSL Certificate Installation sous Linux

A+ A-

Cet article va vous aider à générer un certificat SSL auto-signé dans Linux qui vous permet de configurer des certificats SSL pour Nginx qui est utilisé pour envelopper le trafic normal dans le trafic protégé, le trafic crypté. L'utilisation de ce serveur peut envoyer les données au client sans l'inquiétude que les données peuvent être interceptées par des personnes extérieures.

Lignes directrices pour l'installation

Avant de faire quoi que ce soit, nous devons installer certains paquets

Connectez-vous au serveur via la borne et installer

 # Yum install mod_ssl
opensslResolving dépendances
-> Contrôle de transaction Running
---> Package mod_ssl.x86_64 1: 2.2.15-47.el6.centos.1 sera mis à jour
---> Package mod_ssl.x86_64 1: 2.2.15-47.el6.centos.3 sera une mise à jour
-> Traitement Dépendance: httpd = 2.2.15-47.el6.centos.3 paquet: 1: mod_ssl-2.2.15-47.el6.centos.3.x86_64
---> Package openssl.x86_64 0: 1.0.1e-42.el6_7.1 sera mis à jour
-> Traitement Dépendance: openssl = 1.0.1e-42.el6_7.1 paquet: openssl-devel-1.0.1e-42.el6_7.1.x86_64
---> Package openssl.x86_64 0: 1.0.1e-42.el6_7.4 sera une mise à jour
-> Contrôle de transaction Running
---> Package httpd.x86_64 0: 2.2.15-47.el6.centos.1 sera mis à jour
---> Package httpd.x86_64 0: 2.2.15-47.el6.centos.3 sera une mise à jour
-> Traitement Dépendance: httpd-tools = 2.2.15-47.el6.centos.3 paquet: httpd-2.2.15-47.el6.centos.3.x86_64
---> OpenSSL-devel.x86_64 0: 1.0.1e-42.el6_7.1 sera mis à jour
---> OpenSSL-devel.x86_64 0: 1.0.1e-42.el6_7.4 sera une mise à jour
-> Contrôle de transaction Running
---> Package httpd-tools.x86_64 0: 2.2.15-47.el6.centos.1 sera mis à jour
---> Package httpd-tools.x86_64 0: 2.2.15-47.el6.centos.3 sera une mise à jour
-> Fini Résolution de dépendance
dépendances Résolue
==========================================================================================================================================
 Package Arc Repository Version Taille
==========================================================================================================================================
Mise à jour:
 mod_ssl x86_64 1: les mises à jour 2.2.15-47.el6.centos.3 95 k
 openssl x86_64 mises à jour 1.0.1e-42.el6_7.4 1,5 M
Mise à jour pour les dépendances:
 httpd x86_64 2.2.15-47.el6.centos.3 met à jour 831 k
 httpd-outils x86_64 2.2.15-47.el6.centos.3 met à jour 77 k
 openssl-devel x86_64 mises à jour 1.0.1e-42.el6_7.4 1.2 M
récapitulatif des transactions 
 ==========================================================================================================================================
Mise à jour 5 paquet (s)
Taille totale du téléchargement: 3,7 M
Est-ce ok [y / N]: y
Téléchargement Forfaits:
(1/5): httpd-2.2.15-47.el6.centos.3.x86_64.rpm | 831 kB 00:00
(2/5): httpd-tools-2.2.15-47.el6.centos.3.x86_64.rpm | 77 kB 00:00
(3/5): mod_ssl-2.2.15-47.el6.centos.3.x86_64.rpm | 95 kB 00:00
(4/5): openssl-1.0.1e-42.el6_7.4.x86_64.rpm | 1,5 MB 00:00
(5/5): openssl-devel-1.0.1e-42.el6_7.4.x86_64.rpm | 1,2 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------
Total de 529 ko / s | 3.7 MB 00:07
rpm_check_debug Courir
Exécution Transaction test
Transaction de test Réussi
Transaction en cours
  Mise à jour: openssl-1.0.1e-42.el6_7.4.x86_64 1/5
  Mise à jour: httpd-tools-2.2.15-47.el6.centos.3.x86_64 2/5
  Mise à jour: httpd-2.2.15-47.el6.centos.3.x86_64 3/5
  Mise à jour: 1: mod_ssl-2.2.15-47.el6.centos.3.x86_64 4/5
  Mise à jour: openssl-devel-1.0.1e-42.el6_7.4.x86_64 5/5
Actualisé:
  mod_ssl.x86_64 1: 0 openssl.x86_64 2.2.15-47.el6.centos.3: 1.0.1e-42.el6_7.4
Dépendance Mise à jour:
  httpd.x86_64 0: 2.2.15-47.el6.centos.3 httpd-tools.x86_64 0: 2.2.15-47.el6.centos.3 openssl-devel.x86_64 0: 1.0.1e-42.el6_7.4
Achevée! 

Génération de fichiers clés

Pour générer les fichiers de certificats SSL, nous avons besoin d'exécuter cette commande

Cela commencera le processus de génération de deux fichiers: le fichier Private-Key pour le décryptage de votre certificat SSL, et une demande de signature de certificat (CSR) utilisé pour demander votre certificat SSL.

Lorsque vous êtes invité pour le Nom commun (nom de domaine), entrez le nom de domaine complet pour le site vous sécurisez. Si vous générez une CSR Nginx pour un certificat SSL Wildcard vous assurer que votre nom commun commence par un astérisque (par exemple * .example.com).

Après cela, vous serez invité à entrer vos informations d'organisation, en commençant par l'information géographique. Il peut y avoir des informations par défaut qui pourraient être déjà réglé.

 # Openssl req -new - rsa newkey:. 2048 -nodes -keyout your_domain_name clé your_domain_name.csr -out 
 Génération d'une clé privée RSA 2048 bits
.................. +++
........................ +++
écriture nouvelle clé privée 'your_domain_name.key'
-----
Vous êtes sur le point d'être invité à entrer des informations qui seront intégrées
dans votre demande de certificat.
Ce que vous êtes sur le point d'entrer est ce qu'on appelle un nom unique ou un DN.
Il y a quelques champs, mais vous pouvez laisser un peu vide
Pour certains domaines, il y aura une valeur par défaut,
Si vous entrez '.', Le champ sera laissé vide.
-----
Pays Nom (2 Code de lettre) [XX]: IN
État ou Nom Province (nom complet) []: Telengana
Localité Nom (par exemple, ville) [Default City]: HYDERABAD
Nom de l'organisme (par exemple, société) [Default Company Ltd]: domain_name.com
Organisationnel Nom de l'unité (par exemple, section) []: HYDERABAD
Nom commun (par exemple, votre nom ou le nom d'hôte de votre serveur) []: domain_name.com
Adresse e-mail []: serveur @ domain_name.com
S'il vous plaît entrer les attributs «extra» suivants
à envoyer avec votre demande de certificat
Un mot de passe de défi []: essai
Un nom de la société en option []: Test
Votre fichier .csr sera créé. 

Enregistrer (sauvegarde) le fichier .key généré comme il sera nécessaire plus tard lors de l'installation de votre certificat SSL dans Nginx.

Copiez les fichiers de certificats générés pour your_domain_name.key et fichiers your_domain_name.csr / etc / ssl / domainname

 # Mkdir -p / etc / ssl / domain_name
# Cp your_domain_name. * / Etc / ssl / domain_name 

Modifiez le Nginx hôtes virtuels Fichier

Maintenant, ouvrez votre fichier d'hôte virtuel Nginx pour le site vous sécurisez. Si vous avez besoin de votre site pour être accessible à travers les deux (https) et non sécurisé (http) des connexions sécurisées, vous aurez besoin d'un module de serveur pour chaque type de connexion. Faites une copie du module de serveur non sécurisé existant et collez-dessous de l'original. Ensuite, ajoutez les lignes en gras ci-dessous:

 # Vi / etc / nginx / conf. D / .conf virtuelle 
 serveur {
 écouter 443;
 ssl sur;
 ssl_certificate / etc / ssl / your_domain_name .pem; (ou .crt bundle)
 ssl_certificate_key / etc / ssl / your_domain_name clé.
 server_name your.domain.com;
 access_log / var / log / nginx / nginx .vhost accès log..;
 error_log / var / log / nginx / nginx .vhost journal des erreurs..;
 lieu / {
 /home/www/public_html/your.domain.com/public/ racine;
 index index.html; }} 

Ajustez les noms de fichier pour correspondre à vos fichiers de certificat

ssl_certificate devrait être votre certificat primaire combiné avec le certificat intermédiaire que vous avez fait à l'étape précédente (par exemple your_domain_name.crt).

ssl_certificate_key devrait être le fichier clé générée lorsque vous créez la RSE.

Redémarrer Nginx

Exécutez la commande ci-dessous pour redémarrer Nginx pour appliquer les modifications dans le fichier de configuration

 # Sudo /etc/init.d/nginx restart

Ainsi, lorsque nous avons accès au site, il affichera une erreur de connexion est pas privé Cliquez sur Avancé, puis cliquez sur Procéder à 192.168.1.84 (dangereux) pour accéder à ce site.