Si vous avez besoin d’avoir une zone sécurisée sur un espace web sans vouloir déployer un système de gestion d’utilisateurs, l’authentification HTTP reste un moyen simple et rapide à mettre en place.
Voici la procédure en quelques points pour mettre en place une authentification HTTP avec Nginx sous CentOS 7.
Pour générer un fichier d’utilisateurs .htpasswd
propre à une authentification HTTP, il nous faut l’outil du même nom qui est fourni par Apache. On n’a pas besoin d’Apache donc, juste des outils qui vont avec. Sous CentOS :
$ sudo yum install httpd-tools
Ensuite, il suffit de créer un utilisateur dans le répertoire voulu :
$ sudo htpasswd -c /etc/nginx/.htpasswd nom_utilisateur
On renseigne et vérifie le mot de passe.
Pour terminer, dans la configuration Nginx, à l’intérieur d’un server
, ajouter :
auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd;
Il suffit de tester puis si tout est ok de redémarrer Nginx :
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl reload nginx
C’est terminé.