auth_basic

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

auth_basic
httpserverlocationlimit_except
Синтаксисauth_basic "realm_name";
По умолчаниюnone
Контекстhttp, server, location, limit_except
МодульNGINX HTTP Core
Аргументы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, чтобы применить изменения после редактирования конфигурации.