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