Конфигурация базовой аутентификации 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 в качестве обратного прокси-сервера для аутентификации ресурса, который его не поддерживает, но сначала я пытаюсь выполнить аутентификацию на максимально простой конфигурации.

0 ответов

Другие вопросы по тегам