Un problème avec sudo ?
Danger (N'utilisez pas le compte root)
Si vous configurez votre serveur directement en tant que root, n’oubliez pas de retirer sudo de chaque commande.
Si vous définissez un mot de passe pour le compte root, la commande sudo ne sera pas acceptée.
Connectez-vous directement en tant que root pour exécuter les commandes.
Vous pouvez aussi réinstaller votre système en laissant le mot de passe root vide lors de l’installation.
sudo s’installera et fonctionnera correctement.
Générer le certificat et la clé
Tip (Sécurité recommandée)
Il est recommandé d’utiliser ed25519 qui correspond au standard de sécurité actuel.
Cependant, il n’est pas compatible partout, notamment sur les systèmes legacy.
Dans ce cas, RSA est utilisé, il est préférable de définir une longueur de clé importante.
sudo openssl req -x509 -days 365 -out mycert.crt -nodes -newkey rsa:4096 -keyout mykey.key↩️ Remplissez 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.comTip
Le Common Name doit être renseigné avec le nom de domaine !
OpenSSL 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 port80: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.
:icon-file-symlink-file: 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 restartTip
Vous pouvez maintenant consulter votre site web avec votre certificat auto-signé (https://monsite.local par exemple).