auth_basic
Директива `auth_basic` включает базовую аутентификацию для указанного контекста в NGINX.
Описание
Директива 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, чтобы применить изменения после редактирования конфигурации.