Модуль ngx_http_auth_basic_module

Пример конфигурации
Директивы
     auth_basic
     auth_basic_user_file

Модуль ngx_http_auth_basic_module позволяет ограничить доступ к ресурсам с проверкой имени и пароля пользователя по протоколу “HTTP Basic Authentication”.

Ограничить доступ можно также по адресу или по результату подзапроса. Одновременное ограничение доступа по адресу и паролю управляется директивой satisfy.

Пример конфигурации

location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

Директивы

Синтаксис: auth_basic строка | off;
Умолчание:
auth_basic off;
Контекст: http, server, location, limit_except

Включает проверку имени и пароля пользователя по протоколу “HTTP Basic Authentication”. Заданный параметр используется в качестве realm. В значении параметра допустимо использование переменных (1.3.10, 1.2.7). Специальное значение off отменяет действие унаследованной с предыдущего уровня конфигурации директивы auth_basic.

Синтаксис: auth_basic_user_file файл;
Умолчание:
Контекст: http, server, location, limit_except

Задаёт файл, в котором хранятся имена и пароли пользователей. Формат файла следующий:

# комментарий
имя1:пароль1
имя2:пароль2:комментарий
имя3:пароль3

В имени файла можно использовать переменные.

Пароли должны быть зашифрованы функцией crypt(). Доступны все методы хэширования паролей, поддерживаемые операционной системой. В частности, распространены следующие методы хэширования:

Кроме того, поддерживаются следующие кросс-платформенные типы паролей:

Хэши паролей для распространнённых методов хэширования могут быть сгенерированы с помощью команды “openssl passwd”, например:

$ openssl passwd -apr1 secret
$apr1$x/muFo1c$zwUN24M2TEq.6wg0AZacn0

$ openssl passwd -6 secret
$6$FjZ1ss8ytcGmrGFY$1fopTJLuLUGCRlv2YcRPIsZk9uaD9NBOGcKsUay/BLV3RR1ol0ONS08oPTVqA4XBkZ44M7OL4K6NjP9xPKShP0

При выборе метода хэширования паролей следует учитывать, что HTTP Basic Authentication подразумевает проверку пароля при каждом запросе.