auth_basic

Директива `auth_basic` включает базовую аутентификацию для указанного контекста в NGINX.

Синтаксисauth_basic "realm_name";
По умолчаниюnone
Контекстhttp, server, location, limit_except
Аргументы1

Описание

Директива auth_basic позволяет защитить локации или ресурсы на вашем сервере NGINX, требуя от клиентов HTTP Basic-аутентификацию. Когда эта директива включена, клиенты должны предоставить действительное имя пользователя и пароль, которые проверяются в соответствии с учётными данными, заданными в конфигурации. Эта директива преимущественно используется в сценариях, где требуется простое управление доступом, например для ограничения доступа к определённой части вашего сайта.

Директива принимает один аргумент — название области (realm). Это имя является важной частью процесса аутентификации, так как оно будет отображаться в диалоговом окне аутентификации, показываемом браузером пользователя. Для полной реализации базовой аутентификации следует также использовать директиву auth_basic_user_file вместе с auth_basic, чтобы указать расположение файла паролей, содержащего разрешённые имена пользователей и хэшированные пароли. Без этого директивы не будут работать, так как сервер не будет знать, какие учётные данные проверять.

В более сложных конфигурациях вы можете дополнительно контролировать доступ с помощью других директив, таких как allow и deny, которые можно комбинировать с auth_basic для уточнения, какие пользователи могут получить доступ к защищённому содержимому в зависимости от их IP-адресов или других критериев.

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

location /private {
    auth_basic "Restricted Content";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Убедитесь, что файл паролей создан корректно и имеет подходящие права доступа для пользователя NGINX.

Будьте внимательны с синтаксисом: имя realm должно быть заключено в кавычки, а директива должна заканчиваться точкой с запятой.

Не забудьте перезапустить NGINX, чтобы применить изменения после редактирования конфигурации.

← Ко всем директивам