Aujourd’hui un petit pense bête pour savoir comment mettre un mot de passe pour protéger l’accès à un dossier hébergé sur ton serveur web.A titre perso j’utilise cette méthode pour accéder aux photos mises en ligne régulièrement par une caméra. Une petite sécurité sans prétention qui aura au moins le mérite d’éloigner les « kevin du darkweb« .
Tu connais déjà peut être la manip sous apache (htaccess), et bien sous nginx on sécurise un peu sur le même principe :
– une directive serveur à placer dans le fichier de conf de ton vhost
– un fichier qui contient les identifiants login/password requis pour accéder au contenu du dossier
Mise en situation:
On va créer un dossier appelé « secret » dont on veut restreindre l’accès sur notre serveur web .mkdir -p /var/www/html/secret
Créer le fichier .htpasswd
Dans un shell, exécute la commande suivante:htpasswd -c /var/www/html/secret/.htpasswd login
« login » étant le nom d’utilisateur, tu mets celui que tu veux. Et ensuite tu rentres 2 fois le mot de passe que tu utiliseras pour t’authentifier.
Configurer Nginx
On va utiliser la directive « auth_basic« . Donc édite le fichier de conf de ton vhost en ajoutant ses lignes:
location / { try_files $uri $uri/ =404; auth_basic "Restricted Content"; auth_basic_user_file /var/www/html/dossier_sensible/.htpasswd; }
On redémarre le service pour la prise en compte de la nouvelle configuration:
systemctl restart nginx
T’as plus qu’à tester 😉
Leave a Reply