在线生成 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 选项中使用正确的路径。