Retour au blog

Configuration de l'authentification HTTP de base avec Nginx sur Ubuntu 20.04

Configuration de l'authentification HTTP de base avec Nginx sur Ubuntu 20.04

Nginx est un serveur web gratuit et open-source utilisé pour la répartition de charge, la mise en mémoire tampon et la mise en cache. Depuis sa création en 2004, Nginx a gagné en popularité pour la mise à l'échelle des serveurs web et le proxy inverse. En raison de ses performances élevées et de ses excellentes capacités à gérer un grand volume de connexions, il est utilisé pour gérer et contrôler le trafic entrant.

Comment fonctionne l'authentification HTTP ?

Dans l'authentification HTTP de base, toutes les routes du serveur sont bloquées et nécessitent les identifiants appropriés pour s'authentifier. Chaque fois qu'un utilisateur tente d'accéder à une ressource sécurisée, le serveur lui envoie un en-tête WWW-Authenticate et une réponse 401 Unauthorized. Si le nom d'utilisateur et le mot de passe utilisés par l'utilisateur sont corrects et correspondent au fichier de clés, la connexion est établie, sinon elle est refusée.

Dans ce tutoriel, nous allons vous guider à travers les étapes de configuration de l'authentification HTTP de base avec Nginx sur Ubuntu 20.04.

Prérequis

Pour suivre ce tutoriel, vous aurez besoin de ce qui suit :

Étape 1 : Mettre à jour les dépôts de logiciels

Avant d'installer un nouveau logiciel ou un package d'API sur votre système, actualisez les dépôts pour éviter les erreurs ou les conflits de packages. Au départ, nous allons mettre à jour le logiciel en utilisant la commande sudo :

Maintenant que nous avons mis à jour les dépôts de logiciels, installons les packages apache2 nécessaires.

Étape 2 : Installer les packages nécessaires

Comme nous configurons l'authentification HTTP pour un répertoire, nous utiliserons la commande htpasswd pour créer un mot de passe chiffré. Installez le package apache2-utils en utilisant la commande suivante :

Étape 3 : Créer un utilisateur et un mot de passe

Dans cette étape, nous allons configurer les identifiants d'authentification HTTP de base. Sous le répertoire racine, créez un fichier .htpasswd associé à l'utilisateur. Le mot de passe sera chiffré, et le nom du fichier peut être celui de votre choix. Utilisez la commande suivante pour créer le fichier et ajouter l'utilisateur avec un mot de passe chiffré :

User and Password

Ensuite, vérifiez le fichier nouvellement créé à l'aide de la commande suivante :

newly-created file

Étape 4 : Mettre à jour la configuration de Nginx

Une fois que nous avons nos identifiants d'authentification de base HTTP, configurons Nginx et utilisons-le sur notre site web cible. Nous avons besoin des directives auth_basic et auth_basic_user_file pour établir l'authentification de base HTTP. La valeur de la directive auth_basic est un format de chaîne, tandis que la valeur de auth_basic_user_file est le chemin d'accès au fichier de mot de passe créé à l'Step 3.

Il est important d'inclure les deux directives dans le fichier de configuration du site web cible. Vous trouverez l'emplacement du site web ciblé dans le répertoire /etc/nginx/sites-available. Ouvrez le fichier de configuration à l'aide de l'éditeur nano :

Ensuite, ajoutez ces deux directives sous la section location :

Après avoir ajouté la directive, enregistrez et fermez le fichier de configuration.

Étape 5 : Redémarrer Nginx

Ensuite, rechargez ou redémarrez les services Nginx pour appliquer les modifications sur notre hôte virtuel. Après cela, nous essaierons d'accéder au domaine sécurisé en utilisant notre authentification HTTP de base. Utilisez la commande suivante pour activer les services Nginx :

Étape 6 : Sécuriser l'accès Web

Une fois que vous avez redémarré Nginx, l'étape suivante consiste à essayer d'accéder à l'adresse IP ou au nom de domaine dans votre navigateur préféré. En cliquant sur l'adresse IP http://your_domain_name/ dans votre navigateur, une invite s'ouvrira vous demandant de saisir les identifiants pour vous authentifier. Une fois que vous aurez saisi le bon nom d'utilisateur et le bon mot de passe, vous verrez une page d'accueil Nginx par défaut.

Conclusion

Dans ce tutoriel, nous avons appris à configurer l'authentification HTTP de base avec Nginx. L'authentification de base par nom d'utilisateur/mot de passe n'est qu'une des nombreuses options d'authentification permettant d'établir une connexion sécurisée dans Nginx.

Il existe d'autres options puissantes utilisées pour l'authentification des serveurs. Par exemple, certaines méthodes populaires que vous pouvez utiliser incluent les intégrations d'API, les JSON Web Tokens, les authentifications basées sur des clés SSH. Même si l'obtention de mécanismes de sécurité robustes peut sembler délicate au départ, ils sont très efficaces pour protéger votre vie privée.

De plus, il existe de nombreux autres supports d'apprentissage et tutoriels sur Nginx auxquels vous pouvez accéder depuis nos blogs:

Bonne informatique !

author

Shreyas Patil

Auteur · CloudSigma

Preslav Dobrev est un designer créatif chez CloudSigma, axé sur une identité commerciale cohérente à travers des canaux marketing traditionnels et innovants. Il excelle à fusionner la vision artistique avec le marketing stratégique pour créer des récits de marque percutants.

Commentaires

Aucun commentaire pour l'instant. Soyez le premier.