auth_digest

Директива auth_digest включает Digest-аутентификацию в NGINX, позволяя безопасно передавать учетные данные.

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

Описание

Директива '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; недостаточный объём памяти может привести к проблемам с аутентификацией.

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