auth_digest
Директива auth_digest включает Digest-аутентификацию в NGINX, позволяя безопасно передавать учетные данные.
Описание
Директива 'auth_digest' является частью модуля Digest Authentication в NGINX, который предоставляет способ защиты учетных данных пользователей по HTTP. Эта директива требует как минимум один аргумент, задающий область (realm) аутентификации, что является важным для процесса аутентификации. При настройке она управляет и проверяет поток Digest-аутентификации, включая генерацию значений nonce и обработку ответов клиента, чтобы гарантировать, что учетные данные не передаются в открытом виде.
При использовании 'auth_digest' NGINX создает область разделяемой памяти для хранения учетных данных пользователей, nonces и связанных данных, чтобы обеспечить аутентификацию между рабочими процессами. Это критично для масштабируемости в средах с несколькими процессами. Директиву можно добавлять в различных контекстах (http, server, location, limit_except) для управления доступом к разным разделам вашего приложения, и обычно ее помещают в блок 'location' для защиты конкретных ресурсов. Дополнительные параметры, такие как значения таймаутов и максимальное число повторных попыток, можно задать для дальнейшей настройки поведения аутентификации.
Правильное использование этой директивы требует понимания того, как Digest-аутентификация функционирует как механизм challenge-response, что повышает безопасность по сравнению с базовой аутентификацией. Важно убедиться в наличии требуемого файла пользователей, содержащего хешированные учетные данные, поскольку его отсутствие приведет к ошибкам аутентификации.
Пример конфига
location /protected {
auth_digest "Restricted Area";
auth_digest_user_file /etc/nginx/.htdigest;
}Убедитесь, что файл пользователя, содержащий hashed credentials, существует; в противном случае аутентификация не сработает.
Будьте внимательны со строкой realm; она должна точно совпадать между клиентом и сервером, чтобы обеспечить корректную аутентификацию.
Обратите внимание на настройки shared memory; недостаточный объём памяти может привести к проблемам с аутентификацией.