Maison  >  Article  >  Opération et maintenance  >  Comment déployer un certificat SSL dans Nginx

Comment déployer un certificat SSL dans Nginx

PHPz
PHPzavant
2023-05-12 16:19:122173parcourir

Une brève introduction

Nginx est le dernier serveur Web hautes performances Par rapport au serveur Apache traditionnel, en particulier sous un grand nombre de connexions client simultanées, les performances sont améliorées de plus de 10 fois. De nombreux grands sites Web PHP utilisent des serveurs Nginx. Bien que Nginx utilise le modèle d'E/S réseau du noyau Linux 2.6 et l'architecture epull, son utilisation reste relativement similaire à Apache et constitue une très bonne alternative à Apache.

Introduction au certificat SSL

Le certificat SSL est un type de certificat numérique, similaire aux copies électroniques des permis de conduire, des passeports et des licences commerciales. Parce qu'il est configuré sur le serveur, il est également appelé certificat de serveur SSL. Le certificat SSL est conforme au protocole SSL et est émis par une autorité de certification numérique de confiance après vérification de l'identité du serveur. Il dispose de fonctions de vérification de l'identité du serveur et de cryptage de la transmission des données.

Principe de l'authentification SSL

1. Protocole de prise de contact

Le protocole de prise de contact est le premier sous-protocole utilisé lorsque le client et le serveur communiquent à l'aide d'une connexion SSL. Le protocole de prise de contact comprend une série de messages entre le client et le serveur. Le protocole le plus complexe de SSL est le protocole de prise de contact. Ce protocole permet au serveur et au client de s'authentifier mutuellement, de négocier des algorithmes de cryptage et MAC, ainsi que des clés secrètes pour protéger les données envoyées dans les enregistrements SSL. Le protocole de handshake est utilisé avant le transfert de données par l'application.

2. Protocole d'enregistrement

Le protocole d'enregistrement est utilisé après une poignée de main réussie entre le client et le serveur, c'est-à-dire qu'une fois que le client et le serveur se sont identifiés et ont déterminé l'algorithme utilisé pour l'échange d'informations de sécurité, ils entrent dans le SSL. protocole d'enregistrement. Le protocole d'enregistrement fournit deux connexions SSL. Services :

(1) Confidentialité : Mis en œuvre à l'aide d'une clé secrète définie par le protocole de handshake

(2) Intégrité : Le protocole de handshake définit un MAC utilisé pour garantir l'intégrité du message

3. . Protocole d'alerte

Client et Lorsque le serveur détecte une erreur, il envoie un message d'alerte à l'autre partie. S'il s'agit d'une erreur fatale, l'algorithme ferme immédiatement la connexion SSL et les deux parties supprimeront également en premier les numéros de session, les secrets et les clés concernés. Chaque message d'alarme comporte un total de 2 octets. Le premier octet indique le type d'erreur. S'il s'agit d'une alarme, la valeur est 1. S'il s'agit d'une erreur fatale, la valeur est 2. Le deuxième octet indique le type d'erreur réel.

Préparations au déploiement du certificat SSL

1. Téléchargez le certificat

Après avoir téléchargé et décompressé le certificat, vous verrez les fichiers avec le suffixe .key et .pem. Téléchargez ces deux fichiers sur le serveur nginx, puis créez le fichier de certificat. sous le dossier conf et copiez le certificat dans ce fichier.

Comment déployer un certificat SSL dans Nginx

2. Déployez le certificat

./nginx -t Affichez le chemin d'installation de nginx, recherchez le fichier de configuration nginx.conf et modifiez

Ajoutez

server_name sous le serveur votre adresse de nom de domaine ;

écoutez 443 ssl;
ssl_certificate conf/cert/.pem;
ssl_certificate_key conf/cert/.key;

3. Configurez http pour accéder automatiquement à https

Ajoutez un nouveau serveur et ajoutez la configuration suivante

listen 80;
server_name votre nom de domaine ;
réécrivez ^(.*)$ https://$host$1;

4. Chargez la configuration nginx

./nginx -s reload

Ouvrez enfin la page Web pour vérification

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer