<!-- review: finished -->

<a id="http-auth-basic"></a>

# Auth Basic

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

Ограничить доступ можно также по [адресу](https://angie.software//angie/docs/configuration/modules/http/http_access.md#http-access) или по [результату подзапроса](https://angie.software//angie/docs/configuration/modules/http/http_auth_request.md#http-auth-request). Одновременное ограничение доступа по адресу и паролю управляется директивой [satisfy](https://angie.software//angie/docs/configuration/modules/http/index.md#satisfy).

<a id="configuration-example-6"></a>

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

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

<a id="directives-7"></a>

## Директивы

<a id="index-0"></a>

<a id="id3"></a>

### auth_basic

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `auth_basic` строка | `off`;         |
|------------------------------------------------------------------------------------------|--------------------------------------|
| По умолчанию                                                                             | `auth_basic off;`                    |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location, limit_except |

Включает проверку имени и пароля пользователя по протоколу "HTTP Basic Authentication". Заданный параметр используется в качестве realm. В значении параметра допустимо использование переменных.

| `off`   | отменяет действие унаследованной с предыдущего уровня конфигурации директивы auth_basic   |
|---------|-------------------------------------------------------------------------------------------|

<a id="index-1"></a>

<a id="auth-basic-user-file"></a>

### auth_basic_user_file

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `auth_basic_user_file` файл;         |
|------------------------------------------------------------------------------------------|--------------------------------------|
| По умолчанию                                                                             | —                                    |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location, limit_except |

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

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

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

Поддерживаются следующие типы паролей:

* зашифрованные функцией crypt(); могут быть созданы с помощью утилиты `htpasswd` из дистрибутива HTTP-сервера Apache или команды "openssl passwd";
* хэшированные с помощью алгоритма, основанного на MD5, по версии Apache (apr1); могут быть созданы теми же инструментами;
* заданные согласно синтаксису "{схема}данные" как описано в [RFC 2307](https://datatracker.ietf.org/doc/html/rfc2307#section-5.3); в настоящий момент реализованы схемы PLAIN (в качестве примера, не следует применять), SHA (простое SHA-1 хэширование, не следует применять) и SSHA (SHA-1 хэширование с солью, используется в некоторых программах, в частности OpenLDAP и Dovecot).

#### WARNING
Поддержка схемы SHA была добавлена лишь для облегчения процесса миграции файлов паролей с других веб-серверов. Ее не следует применять для новых паролей, т.к. используемое при этом SHA-1 хэширование без соли уязвимо к взлому при помощи [радужных таблиц](http://en.wikipedia.org/wiki/Rainbow_attack).
