Windows 上的 nginx 基本身份验证配置在 auth_basic_user_file 中找不到用户

Windows 上的 nginx 基本身份验证配置在 auth_basic_user_file 中找不到用户

我正在尝试在 Windows 7 计算机上的 nginx 1.14.2 服务器上设置基本身份验证。

这是我的测试配置:

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 的内容(密码分别为abc123test

user:$apr1$xQVhJhiA$MCeALGvCxI0bXIcEfYpTR/
test:$apr1$UFI.GptK$v3aa644WePbta3a4ClR2R0

我尝试将换行符从 改为\r\n\n但没有帮助。

我的配置中是否存在我遗漏的错误?或者我可以尝试哪些方法来进一步调试此问题?

我们的想法是最终使用 nginx 作为反向代理来验证不支持它的资源,但我首先尝试在最简单的配置上进行身份验证。

相关内容