Maison  >  Article  >  Opération et maintenance  >  Comment configurer le certificat SSL Nginx pour déployer un site Web HTTPS

Comment configurer le certificat SSL Nginx pour déployer un site Web HTTPS

王林
王林avant
2023-05-12 12:31:121220parcourir

Émettez vous-même un certificat SSL qui n'est pas approuvé par le navigateur

Émettez-le manuellement

Connectez-vous au serveur avec xshell et utilisez openssl pour générer la clé et le certificat RSA

# 生成一个rsa密钥 
$ openssl genrsa -des3 -out tfjybj.key 1024

# 拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key

# 生成一个证书请求
$ openssl req -new -key tfjybj.key -out tfjybj.csr

Vous serez ici invité à entrer la province, la ville, le nom de domaine et d'autres informations, email Il doit s'agir d'un suffixe de nom de domaine. Cela génère un fichier csr, qui est le fichier csr lorsqu'il est soumis au fournisseur SSL.

(Comme je n'ai pas de capture d'écran ici, j'ai trouvé une image sur Internet. Ce qui doit être remplacé, c'est le 33iq ci-dessous, qui est remplacé par tfjybj)

Quand j'entre le mot de passe au milieu, rien ne s'affiche, mais saisissez-le comme ça

Comment configurer le certificat SSL Nginx pour déployer un site Web HTTPS

# 自己签发证书
$ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt

Mettez le certificat généré dans le même répertoire que le fichier de configuration nginx

configuration nginx

Editez le fichier de configuration nginx nginx.conf, ajoutez le protocole https

server {
  server_name tfjybj.com;
  listen 443;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/tfjybj.crt;
  ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;
  # 若ssl_certificate_key使用tfjybj.key,则每次启动nginx服务器都要求输入key的密码。
  (开始我不知道,纳闷为啥启动nginx、关闭nginx都要输入密码)
}

Redémarrez nginx

Émettez-le vous-même Le certificat SSL peut réaliser la fonction de transmission cryptée, mais le navigateur ne lui fait pas confiance et donnera une invite :

Comment configurer le certificat SSL Nginx pour déployer un site Web HTTPS

Certificat émis par un tiers party – Alibaba Cloud

Émettre un certificat

Connectez-vous à Alibaba Cloud Management Dans la console, sélectionnez [Service de certificat] dans le menu [Cloud Shield] et choisissez d'acheter le certificat

J'ai reçu le certificat gratuitement ; version à tester. Après avoir postulé, après un jour ou deux d'examen, vous pouvez télécharger le certificat. Après téléchargement et décompression, il y a deux fichiers, l'un se termine par key, la clé privée, et l'autre se termine par pem, qui est la clé publique

Configuration nginx

Description du fichier :

Fichier de certificat "Certificat appliqué ; Name.pem", contient deux paragraphes de contenu, veuillez ne supprimer aucun paragraphe de contenu.

S'il s'agit d'un CSR créé par le système de certificat, il contient également : le fichier de clé privée du certificat "nom du certificat appliqué.key".

(1) Créez le répertoire cert dans le répertoire d'installation de nginx et copiez tous les fichiers téléchargés dans le répertoire cert. Si vous créez vous-même un fichier csr lors de la demande de certificat, veuillez placer le fichier de clé privée correspondant dans le répertoire cert et nommez-le « nom du certificat appliqué.key »

(2) Ouvrez nginx dans le répertoire conf sous l'installation de nginx ; répertoire .conf, recherchez :

# https server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers all:!adh:!export56:rc4+rsa:+high:+medium:+low:+sslv2:+exp;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

(3) Modifiez-le en (les attributs commençant par ssl parmi les attributs suivants sont directement liés à la configuration du certificat, d'autres attributs veuillez copier ou ajuster en fonction de votre situation réelle) :

server { 
listen 443; 
server_name localhost; 
ssl on; 
root html; 
index index.html index.htm; 
ssl_certificate cert/申请的证书名字.pem; 
ssl_certificate_key cert/申请的证书名字.key; 
ssl_session_timeout 5m; 
ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:ecdhe:ecdh:aes:high:!null:!anull:!md5:!adh:!rc4; 
ssl_protocols tlsv1 tlsv1.1 tlsv1.2; 
ssl_prefer_server_ciphers on; 
location / { 
root html; 
index index.html index.htm; 
} 
}

Enregistrez et quittez.

(4) Redémarrez nginx.

(5) Accédez à votre site via https

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