secure_link
Директива 'secure_link' используется для защиты ресурсов, требуя наличия действительной защищённой ссылки для доступа. — NGINX HTTP Core
Описание
Директива 'secure_link' добавляет дополнительный уровень защиты, гарантируя, что запросы к определённым ресурсам содержат защищённый токен. Этот токен генерируется на основе конкретного URL и секретного ключа, что позволяет серверу проверять подлинность и действительность запроса. Эта директива особенно полезна для медиаконтента или файлов для скачивания, когда нужно ограничить несанкционированный доступ. После настройки директива 'secure_link' проверяет наличие защищённой ссылки в URL запроса. Защищённая ссылка обычно состоит из хеша, который вычисляется с использованием URL запрашиваемого ресурса и секретного ключа, а также включает время истечения срока действия, что предотвращает бесконечное повторное использование ссылок. Если защищённая ссылка валидна, запрос обрабатывается; если она недействительна или отсутствует, доступ отклоняется. Синтаксис этой директивы позволяет задавать формат защищённой ссылки, а также секретный ключ, используемый для её генерации. Директиву можно применять в контекстах 'http', 'server' или 'location' для эффективного контроля доступа к ресурсам, повышая общую безопасность приложения.
Пример конфига
location /protected {
secure_link "$arg_md5$arg_time$uri";
secure_link_md5 "secret_key";
}Убедитесь, что секретный ключ, используемый для хеширования, хранится конфиденциально и надежно.
Будьте осторожны при выборе времени истечения срока действия: слишком раннее или слишком позднее истечение ссылок может привести к атакам типа отказа в обслуживании.