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.