Назад | Перейти на главную страницу

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