Конфигурация базовой аутентификации nginx в Windows не может найти пользователя в файле auth_basic_user_file
Я пытаюсь настроить базовую аутентификацию на сервере nginx 1.14.2 на компьютере с Windows 7.
Вот моя тестовая конфигурация:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8282;
auth_basic "Restricted";
auth_basic_user_file .htpasswd;
location / {
root html;
index index.html index.htm;
}
}
}
Когда я захожу на веб-сайт, как и ожидалось, у меня появляется окно для входа, но проверка подлинности всегда заканчивается неудачей Эта ошибка появляется в журналах ошибок:
2019/01/24 16:47:55 [error] 178984#159308: *1 user "test" was not found in "C:\path-to-nginx/conf/.htpasswd", client: 127.0.0.1, server: , request: "GET / HTTP/1.1", host: "localhost:8282"
Путь правильный, я проверил это, поместив неверный путь в auth_basic_user_file
и наблюдая другое сообщение об ошибке.
Это содержимое моего.htpasswd (пароли abc123
а также test
соответственно)
user:$apr1$xQVhJhiA$MCeALGvCxI0bXIcEfYpTR/
test:$apr1$UFI.GptK$v3aa644WePbta3a4ClR2R0
Я пытался изменить переводы строк с \r\n
в \n
и это не помогло.
Что-то не так в моей конфигурации, которую я пропустил? Или что-нибудь, что я могу попытаться отладить эту проблему?
Идея состоит в том, чтобы в конечном итоге использовать nginx в качестве обратного прокси-сервера для аутентификации ресурса, который его не поддерживает, но сначала я пытаюсь выполнить аутентификацию на максимально простой конфигурации.