Modes de paiement Abuse

Comment configurer Auth Basic NGINX

14.03.2021, 22:14

Vous n'avez peut-être jamais réfléchi à ce qu'est l'Auth Basic, mais vous l'avez certainement rencontré lorsque vous avez accédé aux paramètres de votre routeur. C'est ce qu'on appelle le mécanisme d'autorisation par nom d'utilisateur et mot de passe au niveau du serveur web. Ce type d'autorisation est supporté à la fois par Apache et Nginx. Dans cette instruction, nous proposons d'examiner la question de savoir comment configurer Auth Basic pour une route ou un site spécifique.

Configuration d'Auth Basic dans NGINX

Voici à quoi ressemble la fenêtre d'autorisation Auth Basic :

Окно авторизации Basic Auth

Vous devriez maintenant comprendre le but de cette instruction. Il est possible de configurer l'autorisation pour une URL spécifique, pour tout le site ou pour tous les sites. Mais la première chose à faire est de créer un fichier avec une liste d'utilisateurs et de mots de passe. Pour ce faire, nous utiliserons l'utilitaire htpasswd. La syntaxe de la commande est la suivante :

$ sudo htpasswd -c /path/to/file username

Dans ce cas, l'option -c est utilisée pour créer un nouveau fichier, vous n'avez pas besoin de l'utiliser pour éditer des fichiers déjà créés. Dans ce cas, l'option -c est utilisée pour créer un nouveau fichier :

$ sudo htpasswd -c /etc/nginx/auth.basic admin

Basic Auth

Le programme demandera un double mot de passe. Pour des raisons de sécurité, le mot de passe n'est pas affiché, mais il est saisi. Une fois que vous avez créé un tel fichier, vous pouvez passer directement à la configuration de Nginx.

Pour protéger toutes les ressources par un mot de passe, vous devez ajouter une directive à la section http du fichier /etc/nginx/nginx.conf :

auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;

настройка Nginx

Pour protéger une adresse de page spécifique (URL), vous devez ajouter une directive au bloc d'emplacement correspondant. Cela pourrait être /wp-admin/admin-ajax.php:

location /wp-admin/admin-ajax.php {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/auth.basic;
}

настройка Nginx

Si le site est sous WordPress, il est préférable de placer l' emplacement dans location/. Toutes les règles décrites ci-dessus fonctionneront, et une protection supplémentaire sera fournie. Si vous devez autoriser l'accès à un emplacement spécifique, la directive ressemblera à auth_basic "off":

location /wp-admin/admin-ajax.php {
auth_basic "off";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}

создание location

Le traitement PHP devra être ajouté au bloc d'emplacement, sinon l'utilisateur sera invité à télécharger le script auquel il accède.

Ainsi, la mise en place de l'accès dans Nginx n'est pas trop difficile. Il suffit de configurer correctement le bloc d'emplacement.