Bien que cela ne corresponde pas à l'erreur que vous obtenez...
le fichier pass ressemble à
thisID:thisPass: Bonjour commentaire!
Je suppose que le mot de passe est en fait crypté ? Je pense que cela devrait être le cas ; je doute que vous puissiez simplement mettre un mot de passe lisible par l'homme dans ce fichier de mot de passe.
Si nginx attend des mots de passe encodés/cryptés dans ce fichier, alors il ne trouvera jamais de correspondance si le mot de passe stocké est dans un autre format. (Pour trouver une correspondance, il encodera le mot de passe tel qu'il est saisi par l'utilisateur, et comparera cette entrée encodée au mot de passe encodé tel qu'il est connu à partir du fichier.) Et en effet, selon la documentation, Les mots de passe doivent être encodés par la fonction crypt(3). Vous pouvez créer le fichier de mots de passe avec le programme htpasswd d'Apache.
Cela n'explique toujours pas le message d'erreur réel, mais lorsque le fichier de mot de passe contient les mots de passe lisibles par l'homme, cela donnera sûrement une 402 Non autorisé
ou un 403 Interdit
.
On peut aussi créer un tel mot de passe encodé en ligne, sur divers sites web.