Configurer SSL/TLS avec Nginx on Ubuntu

Pour configurer SSL/TLS avec Nginx on Ubuntu, vous pouvez suivre ces étapes :

Étape 1 : Installer Nginx

Si vous n'avez pas installé Nginx, exécutez les commandes suivantes pour l'installer :

sudo apt update  
sudo apt install nginx

Étape 2 : Installez OpenSSL

Si vous n'avez pas installé OpenSSL, installez-le à l'aide de la commande suivante :

sudo apt install openssl

Étape 3 : Créer un répertoire pour les fichiers de certificat SSL

Créez un répertoire pour stocker les fichiers de certificat SSL :

sudo mkdir /etc/nginx/ssl

Étape 4 : Générer des certificats SSL/TLS autosignés(facultatif)

Si vous n'utilisez pas de certificats SSL d'une autorité de certification, vous pouvez générer des certificats auto-signés avec OpenSSL. Ceci est utile pour tester SSL/TLS dans un environnement de développement. Pour créer un certificat auto-signé, exécutez les commandes suivantes :

cd /etc/nginx/ssl  
sudo openssl genrsa -out server.key 2048  
sudo openssl req -new -key server.key -out server.csr  
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  

Étape 5 : Configurer Nginx pour utiliser SSL/TLS

Ouvrez le Nginx fichier de configuration du site Web que vous souhaitez sécuriser :

sudo vi /etc/nginx/sites-available/your_domain

Ajoutez les lignes suivantes au fichier de configuration pour activer SSL :

server {  
    listen 80;  
    server_name your_domain.com www.your_domain.com;  
    return 301 https://$host$request_uri;  
}  
  
server {  
    listen 443 ssl;  
    server_name your_domain.com www.your_domain.com;  
  
    ssl_certificate /etc/nginx/ssl/server.crt;  
    ssl_certificate_key /etc/nginx/ssl/server.key;  
  
    # Additional SSL/TLS options can be added here(optional)  
    ssl_protocols TLSv1.2 TLSv1.3;  
    ssl_prefer_server_ciphers on;  
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';  
      
    # Additional configurations(if needed)  
      
    location / {  
        # Reverse proxy configuration(if needed)  
    }  
}  

Étape 6 : Activez la configuration et redémarrez Nginx

Créez un lien symbolique à partir du fichier de configuration dans sites-available pour sites-enabled activer la configuration :

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Vérifiez si la Nginx configuration contient des erreurs :

sudo nginx -t

S'il n'y a pas d'erreurs, redémarrez le Nginx service pour appliquer la nouvelle configuration :

sudo systemctl restart nginx

Une fois terminé, votre site Web sera sécurisé avec SSL/TLS. Notez que l'utilisation de certificats auto-signés entraînera l'avertissement du navigateur concernant les certificats non approuvés. Pour disposer d'un certificat SSL/TLS de confiance, vous devez acheter ou obtenir un certificat gratuit auprès d'une autorité de certification.