Analyse des détails de la configuration Nginx HTTPS et de la mise en œuvre de la gestion des certificats
Dans le domaine de la sécurité des informations réseau, le protocole HTTPS est une technologie de communication sécurisée très importante. Il assure le cryptage, l'authentification de l'identité et la protection de l'intégrité du mécanisme de transmission des données sur Internet. Nginx est un serveur Web et un serveur proxy inverse hautes performances qui prend en charge non seulement le protocole HTTP, mais également le protocole HTTPS. Dans cet article, nous analyserons les détails d'implémentation de la configuration HTTPS et de la gestion des certificats de Nginx, et donnerons des exemples de code correspondants.
$ openssl genrsa -out private.key 2048 $ openssl req -new -key private.key -out csr.csr $ openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
Dans le code ci-dessus, private.key
est le fichier de clé privée généré, csr.csr
est le fichier de demande de certificat et < code>certificate .crt est le certificat SSL final généré. private.key
是生成的私钥文件,csr.csr
是证书请求文件,certificate.crt
是最终生成的SSL证书。
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; }
上述代码中的listen
指令定义了监听的端口和协议,ssl_certificate
指令定义了SSL证书的路径,ssl_certificate_key
指令定义了私钥文件的路径。
server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; ssl_trusted_certificate /path/to/intermediate.crt; }
上述代码中的ssl_trusted_certificate
指令定义了中间证书的路径。当浏览器与Nginx建立连接时,Nginx会将SSL证书链一同传输给浏览器,以供验证。
server { listen 80; server_name example.com; return 301 https://$host$request_uri; }
上述代码中的return
$ openssl x509 -in certificate.crt -text -noout
listen
ci-dessus code Le port d'écoute et le protocole sont spécifiés, la directive ssl_certificate
définit le chemin d'accès au certificat SSL et la directive ssl_certificate_key
définit le chemin d'accès au fichier de clé privée. $ openssl req -in csr.csr -text -noout
ssl_trusted_certificate
dans le code ci-dessus définit le chemin d'accès au certificat intermédiaire. Lorsque le navigateur établit une connexion avec Nginx, Nginx transmettra la chaîne de certificat SSL au navigateur pour vérification. $ openssl rsa -in private.key -check $ openssl x509 -noout -modulus -in certificate.crt | openssl md5 $ openssl rsa -noout -modulus -in private.key | openssl md5
return
dans le code ci-dessus redirige toutes les requêtes HTTP vers HTTPS. Afficher les informations du certificat SSL :
$ openssl verify -CAfile intermediate.crt certificate.crt
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!