2

我想用密码保护我的整个网站。我正在运行 Debian Squeeze。假设我希望我的用户名是“Jane”,密码是“V3RySEcRe7”。

在我的 app-nginx.conf 中:

auth_basic "Restricted"; auth_basic_user_file /etc/nginx/htpasswd;

在我的 shell 脚本中,我有这个:

printf "Jane:$(openssl passwd -1 V3RySEcRe7)\n" >> /etc/nginx/htpasswd

当我访问我的站点时,它受密码保护,但我使用的凭据不起作用。我在哪里错了?

4

1 回答 1

10

我相信你现在已经解决了这个问题,但我想我会为其他人添加这个:

Nginx 文档对此有点神秘,但确实提到应该使用“基于 MD5 的密码算法 (apr1) 的 Apache 变体”来生成密码哈希。所以使用-apr1标志而不是 -1 将起作用:

printf "Jane:$(openssl passwd -apr1 V3RySEcRe7)\n" >> /etc/nginx/htpasswd
于 2012-12-19T12:39:24.953 回答