It seems I found the bug. If the "test:cgsk91HyOZHGE" is the single
line in th efile and has no the carridge return or the line feed
characters (if you edit file in the joe editor), then nginx does
not understand the hash.
This doesn't appear to be the problem in this case.
The htpassword file actually has two lines as follows:
followed by two empty lines (carriage returns).
I copied the admin line from etc/passwd and checked the password encryption
with the perl script.
Authorisation fails for both admin and test logins.
May crypt() using another salt ?
perl -le 'print crypt("test", "cgsk91HyOZHGE")'