# Htpasswd qui me demande de authentifier en boucle

**URL:** <https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522>\
**Category:** Support Debian\
**Created:** [Juillet 14, 2023, 8:40 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522 "2023-07-14T08:40:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Juillet 14, 2023, 8:40 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/1 "2023-07-14T08:40:29Z")

</div>

Bonjour à toutes et à tous.  
Pour restreindre l’accès à un répertoire sous Nginx, j’ai fait :  
`sudo htpasswd -c /var/www/html/joomla/administrator/.htpasswd IDENTIFIANT`  
​J’ai utilisé un mot de passe de 64 caractères avec minuscules, majuscules, chiffres, caractères spéciaux et ASCII étendu.  
J’ai ajouté ça au fichier de config de Nginx :

```auto
location ^~ /administrator {
        try_files $uri $uri/ =404;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        auth_basic "Restricted Content";
        auth_basic_user_file /var/www/html/joomla/administrator/.htpasswd;
    }

```

Et ça me met 403 Forbidden  
Une personne pouvait-elle m’aider ?  
Merci par avance.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Juillet 14, 2023, 9:19 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/2 "2023-07-14T09:19:11Z")

</div>

Déplace ton fichier htpasswd ailleurs et appelle le avec le bon path.^  
C’est exactement le même problème lorsque l’on mets en place un htpasswd avec un htaccess sous apache.

PS : il (le htpasswd)) doit-etre accessible par l’utilisateur utilisé par ton nginx.

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Juillet 14, 2023, 9:49 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/3 "2023-07-14T09:49:26Z")

</div>

Bonjour Clochette.  
Ça me demande l’authentification en boucle.  
Le code est le suivant :

```auto
# location ^~ /administrator {
# try_files $uri $uri/ =404;
# fastcgi_pass unix:/run/php/php8.2-fpm.sock;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include fastcgi_params;
# auth_basic "Restricted Content";
# auth_basic_user_file /var/www/.htpasswd;
# }

```

Si je mets le fichier avec l’utilisateur de nginx tout le monde pourra le lire ?

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Juillet 14, 2023, 10:57 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/4 "2023-07-14T10:57:25Z")

</div>

> [@ignace1972](#):
>
> Si je mets le fichier avec l’utilisateur de nginx tout le monde pourra le lire ?

Bien entendu Nginx doit pouvoir le lire, mais forcément il doit pas être dans le répertoire Web (ça me paraissait évident) 😉

En exemple :

```auto
sudo htpasswd -c /etc/nginx/.htpasswdd IDENTIFIANT

```

et dans la conf defaut tu aura ton bloc d’authentification :

```auto
server {
    listen 80 default_server;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
        auth_basic "Restricted Content";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

```

Te reste juste à adapter pour la partie fpm

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Juillet 14, 2023, 11:20 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/5 "2023-07-14T11:20:45Z")

</div>

Merci Clochette.  
J’appliquerai cela demain, car aujourd’hui, j’en ai déjà trop fait, j’ai le cerveau qui fume.  
À demain pour te dire ce qu’il en est.

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Juillet 15, 2023, 3:11 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/6 "2023-07-15T15:11:08Z")

</div>

Bonjour, clochette.  
Hormis ta première ligne de code qui est fausse :  
un htpasswp -c en trop et un « d » en trop sur .htpasswd  
De plus, je ne veux pas un contrôle d’accès sur tout le site, mais sur le répertoire administrator et son contenu.  
La demande de mot de passe tourne toujours en boucle, donc je suis au point mort.

Mon code dans mon fichier de config nginx :

```auto
root /var/www/html/joomla;

if ($bad_referer) {
return 403;
}

location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$args;
autoindex off;
}

location /administrator/ {
    try_files $uri $uri/ =404;
    auth_basic "Zone securisee - Autentification requise";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

```

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Juillet 15, 2023, 4:52 UTC](https://www.debian-fr.org/t/htpasswd-qui-me-demande-de-authentifier-en-boucle/88522/7 "2023-07-15T16:52:11Z")

</div>

Bon, la méthode htpasswd ne fonctionne pas car tous les répertoires ont l’UID et GID root.  
Ce qui est rigolo, c’est qu’il m’est impossible de changer cela.  
Pourtant le site fonctionne très bien ce qui ne devrait pas être possible avec l’UID et GID en root.  
Donc je passe à un autre sujet.
