Installer un certificat auto-signé OpenSSL avec nginx
Publié le 3 min de lecture
Mis à jour le
Partie 2 sur 6
Dans cette série22 min de lecture au total
- Installer Docker sur Debian
- Installer un certificat auto-signé OpenSSL avec nginx
- Créer un serveur DNS sur Debian
- Installer Nginx + Webdav sur Debian 11
- Créer un serveur OpenVPN sur Debian
- Connexion SSH avec clé publique
Générer le certificat et la clé
sudo openssl req -x509 -days 365 -out mycert.crt -nodes -newkey rsa:4096 -keyout mykey.keyRemplissez les différentes informations du certificat
Generating a RSA private key..................................+++++........................................................+++++writing new private key to 'mykey.key'-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:FRState or Province Name (full name) [Some-State]:RHONELocality Name (eg, city) []:mavilleOrganization Name (eg, company) [Internet Widgits Pty Ltd]:xsecOrganizational Unit Name (eg, section) []:ITCommon Name (e.g. server FQDN or YOUR name) []:web.it.frEmail Address []:test@gmail.comOpenSSL a généré le certificat et la clé dans le répertoire où vous vous trouvez au moment où vous avez saisi la commande. Vous pouvez les déplacer/renommer comme bon vous semble.
Éditer le fichier de configuration nginx
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; }}-
En haut du fichier se trouve un bloc de configuration serveur. Il écoute sur le port
80:HTTPqui pointe vers/var/www/htmlpuis une page d’index définie dansindexligne 5. -
Comme nous allons ajouter un bloc de configuration serveur qui écoute sur le port
443:HTTPS, nous devons le modifier pour éviter les conflits :
server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri;}Ligne 5Redirige les requêtes du port 80 vers le port 443.
Ajoutez la configuration SSL à la fin du fichier
server { listen 443 ssl; server_name _; root /var/www/html; ssl_certificate /var/www/sites/client1/mycert.crt; ssl_certificate_key /var/www/sites/client1/mykey.key; index index.html index.htm index.nginx-debian.html;}Ligne 4Remplacez le chemin par le vôtre.Ligne 5-6Remplacez les chemins par les vôtres.
Le fichier de configuration ressemble alors à ceci (sans les commentaires) :
server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri;}
server { listen 443 ssl; server_name _; root /var/www/html; ssl_certificate /var/www/sites/client1/mycert.crt; ssl_certificate_key /var/www/sites/client1/mykey.key; index index.html index.htm index.nginx-debian.html;}Redémarrer nginx
sudo service nginx restart