Nginx - Mettre en place une authentification HTTP simple

Tut's Linux nov. 07, 2015

Avec Apache2, vous utilisez un fichier « htaccess » ou un fichier « htpasswd » pour effectuer une authentification HTTP « simple ». Il est possible de reproduire cette authentification dans nginx via deux lignes de commande.

Au préalable, il faut installer le paquet « apache2-utils« . En effet, nous allons utiliser un utilitaire d’Apache, notamment l’outil « htpasswd« .

apt update && apt install apache2-utils

Lorsque l'outil est installé, vous allez pouvoir créer le fichier nécessaire à l'authentification. Notez que cette commande permet de créer le fichier d'authentification d'une part, mais aussi de le modifier si vous ajouter un autre utilisateur. Il faut passer la même commande.htpasswd -c /emplacement/fichier/a/creer/.htpasswd nom_utilisateur

Par exemple, pour CZS, j'ai saisi cette commande :

htpasswd -c /var/czs/stats/.htpasswd toto

Il faut impérativement que le nom de votre fichier commence par un point "." > Il vous permet de "cacher" un peu le fichier...

Une fois votre fichier créé, vous devez modifier le fichier de configuration de votre site - il faut lui faire comprendre que vous mettez en place l'authentification HTTP. Dans la balise "server { }", saisissez ces deux lignes :

# AUTHENTIFICATION
auth_basic "AUTHENTIFICATION REQUISE";
auth_basic_user_file /var/czs/stats/.htpasswd;

Vous devez bien entendu modifier l'emplacement du fichier .htpasswd pour le faire coïncider avec votre système. N'oubliez pas d'effectuer un rechargement de la configuration de votre vhost nginx (systemctl reload nginx.service) et le tour est joué !

Julien HOMMET

Bercé par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.