Модуль ngx_http_auth_basic_module
Пример конфигурации Директивы auth_basic auth_basic_user_file |
Модуль ngx_http_auth_basic_module
позволяет
ограничить доступ к ресурсам с проверкой имени и пароля пользователя
по протоколу “HTTP Basic Authentication”.
Ограничить доступ можно также по адресу, по результату подзапроса или по JWT. Одновременное ограничение доступа по адресу и паролю управляется директивой satisfy.
Пример конфигурации
location / { auth_basic "closed site"; auth_basic_user_file conf/htpasswd; }
Директивы
Синтаксис: |
auth_basic |
---|---|
Умолчание: |
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()
; могут быть созданы с помощью утилиты “htpasswd
” из дистрибутива HTTP-сервера Apache или команды “openssl passwd
”; - хэшированные с помощью алгоритма, основанного на MD5, по версии Apache (apr1); могут быть созданы теми же инструментами;
-
заданные согласно синтаксису
“
{
схема
}
данные
” (1.0.3 ) как описано в RFC 2307; в настоящий момент реализованы схемыPLAIN
(в качестве примера, не следует применять),SHA
(1.3.13) (простое SHA-1 хэширование, не следует применять) иSSHA
(SHA-1 хэширование с солью, используется в некоторых программах, в частности OpenLDAP и Dovecot).Поддержка схемы
SHA
была добавлена лишь для облегчения процесса миграции файлов паролей с других веб-серверов. Её не следует применять для новых паролей, т.к. используемое при этом SHA-1 хэширование без соли уязвимо к взлому при помощи радужных таблиц.