Aller au contenu principal

Installation d’un certificat SSL sur un serveur Nginx

Vous pouvez installer un certificat SSL sur un serveur Nginx afin de permettre au serveur Nginx de prendre en charge l’accès sécurisé HTTPS. Cet article explique comment installer un certificat SSL sur un serveur Nginx.

Remarque

La version de Nginx utilisée dans ce document est nginx/1.18.0 à titre d’exemple. Avant l’installation, veuillez confirmer que le port 443 n’est pas occupé. Si le port 443 est déjà utilisé, veuillez lier un autre port lors de l’installation du certificat.

Obtenir le certificat

  1. Après l’émission de votre certificat, nous vous remettrons un fichier de certificat au format compressé (.zip). L’archive compressée contient quatre dossiers correspondant respectivement à quatre formats de certificat : Tomcat, Nginx, IIS, Apache. Le serveur Nginx doit utiliser le certificat contenu dans le dossier Nginx.
  2. Le dossier Nginx contiendra deux fichiers :
  • Le fichier de certificat domain_com_integrated.crt
  • Le fichier de clé privée domain_com.key

Installer le certificat SSL

  1. Copiez le fichier de certificat domain_com_integrated.crt et le fichier de clé privée domain_com.key déjà obtenus depuis le répertoire local vers le répertoire /etc/nginx/ssl du serveur Nginx.
  • Si le répertoire /etc/nginx/ssl n'existe pas, vous pouvez le créer avec la commande mkdir -p /etc/nginx/ssl
  • L'emplacement du répertoire peut varier selon la méthode d'installation ; référez-vous à votre situation réelle.
  1. Modifiez le fichier nginx.conf à la racine de Nginx. Les modifications sont les suivantes :
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;

#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;

#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

Remarque

En raison des différences de versions, le fichier de configuration peut présenter différentes syntaxes. Par exemple : pour Nginx version nginx/1.15.0 ou antérieure, veuillez utiliser listen 443 et ssl on à la place de listen 443 ssl.

Après modification, enregistrez le fichier de configuration et exécutez la commande suivante :

nginx -t         #验证配置文件是否正确
nginx -s reload #重载 Nginx

Tester le certificat SSL

Saisissez le nom de domaine lié au certificat SSL dans la barre d’adresse du navigateur pour vérifier si votre certificat SSL a bien été installé. En cas de succès, une icône de cadenas apparaît dans la barre d’adresse ; cliquez dessus pour consulter les informations du certificat.

Effet du certificat SSL

Configuration sécurisée de la redirection automatique HTTP vers HTTPS (optionnelle)

Si vous souhaitez rediriger automatiquement les requêtes HTTP vers HTTPS, procédez comme suit :

  1. Utilisez la fonction de redirection de Nginx et ajoutez return 301 https://$host$request_uri; dans le server de HTTP, afin de rediriger les requêtes HTTP vers HTTPS. Modifiez le contenu comme suit :
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Redémarrez le serveur Nginx pour pouvoir utiliser l’accès par nom de domaine, afin que HTTP redirige automatiquement vers HTTPS.