Nginx 反向代理需要 htpasswd 末尾有 }

Nginx 反向代理需要 htpasswd 末尾有 }

在线生成 htpasswd 文件后,nginx 报错“nginx: [emerg] 意外的文件结束,期望“;”或“}”在 /etc/nginx/sites-enabled/htpasswd:2 中”。奇怪的是,只有一行。我的配置文件如下:

server {
    listen 80;

    index index.html
    auth_basic "User: (username) Password: (password)";
    auth_basic_user_file htpasswd;
    location / {
         proxy_pass http://localhost:8080;
    }
}

我很好奇这是为什么。谢谢。

编辑:我的htpasswd的内容如下:xxx:$apr1$xxx

答案1

你把 htpasswd 放在了 nginx 的 sites-enabled 目录下,
在 nginx.conf 里大概会有这样一行:

include /etc/nginx/sites-enabled/*;

因此,该目录中的所有文件都被视为 nginx 配置文件。内容与 nginx 配置无关,因此您会收到该错误。
您需要将该文件放在其他位置,并在 auth_basic_user_file 选项中使用正确的路径。

相关内容