2 votes

Erreurs nginx auth_basic : l'utilisateur n'a pas été trouvé et aucun utilisateur/mot de passe n'a été fourni

J'ai configuré l'authentification de base dans nginx et j'ai bloqué d'autres ips comme :

location / {
   auth_basic "Restricted Area";
   auth_basic_user_file .htpasswd;
   allow 127.0.0.1;
   deny all;
}

Je peux me connecter en utilisant le username/password prévue dans .htpasswd mais le journal des erreurs dans nginx montre des erreurs comme :

user "memcache" was not found in "/etc/nginx/.htpasswd"
no user/password was provided for basic authentication

Une suggestion sur la raison de ce phénomène et sur la manière de s'en débarrasser ?

1voto

Ce n'est peut-être pas la solution idéale, mais je me devais d'ajouter memcache en tant que nouvel utilisateur de .htpasswd fichier. Maintenant, je n'ai plus cette erreur de user not found . Mais cela no user/password was provided for basic authentication est toujours d'actualité. J'ai cherché partout et j'ai trouvé cet article de Igor Sysoev Le créateur de Nginx :

L'authentification HTTP Basic fonctionne comme suit :

  • Un navigateur demande une page sans utilisateur/mot de passe.
  • Une réponse du serveur avec une page 401, envoyant également le domaine.
  • A ce stade, le code 401 apparaît dans access_log et le message "no user/password ..." apparaît dans error_log.
  • Le navigateur affiche un message d'invite concernant le domaine, l'identification et le mot de passe.
  • Si l'utilisateur appuie sur "Annuler", le navigateur affiche la page 401 reçue.
  • Si l'utilisateur saisit login/mot de passe, le navigateur répète la demande avec login/mot de passe.

Ensuite, jusqu'à ce que vous quittiez le navigateur, ce dernier enverra les messages suivants login/mot de passe avec toutes les demandes dans la hiérarchie protégée.

0voto

AussieBunyip Points 1

Je n'ai pas eu à ajouter l'utilisateur memcache mais seulement à installer memcached et cela a fonctionné pour moi.

server {
        # Change these settings to match your machine
        listen 80;
        server_name yourdomain.com;

           satisfy any;

           allow 127.0.0.1;
           deny all;

        # Restrict Access
           auth_basic  "Restricted";
           auth_basic_user_file /var/www/.htpasswd;

        access_log /var/log/nginx/domain_access.log;
        error_log /var/log/nginx/domain_error.log;

        # deny access to .htaccess files
        location ~ /\.ht {
                deny all;
        }

}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X