Назад | Перейти на главную страницу

Настройте auth_basic с Nginx и Passenger

Я пытаюсь настроить базовую аутентификацию с помощью 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, чтобы увидеть, может ли это быть проблемой без какого-либо успеха.

Может ли кто-нибудь предложить мне что-нибудь проверить?

Вы пытаетесь использовать простой текстовый пароль? В документе указано, что вы должны использовать зашифрованный: http://wiki.nginx.org/HttpAuthBasicModule

Пароли должны кодироваться функцией crypt (3).