使用 Nginx 和 Passenger 配置 auth_basic

使用 Nginx 和 Passenger 配置 auth_basic

我正在尝试使用 Nginx 设置基本身份验证。

我的服务器配置如下:

server {
  listen 80;
  server_name DOMAIN;
  root /var/www/web-front-dev/current/public;
  error_log /var/log/nginx/web-front-dev-error.log;
  access_log /var/log/nginx/web-front-dev-access.log;
  passenger_enabled on;
  client_max_body_size 100M;

  location / {
    passenger_enabled on;

    auth_basic "Restricted";
    auth_basic_user_file /var/www/web-front-dev/shared/simple_authentication_user_file;
  }
}

simple_authentication_user_file 的内容很简单:a:b

重新启动所有程序后,我尝试登录到我的域时仍然出现错误(我检查过我是否正确输入了“b”嗯嗯):

2011/08/10 16:10:13 [error] 26768#0: *1 user "a": password mismatch, client: IP, server: DOMAIN, request: "GET / HTTP/1.1", host: "DOMAIN"

我甚至将 chmod 777 放入 simple_authentication_user_file 中以查看是否存在问题,但没有成功。

有人可以建议我检查一些东西吗?

答案1

您是否尝试使用纯文本密码?文档指出您必须使用加密密码:http://wiki.nginx.org/HttpAuthBasicModule

密码必须通过函数 crypt(3) 进行编码。

相关内容