js_challenge_html

Директива `js_challenge_html` указывает путь к HTML-файлу, используемому в JavaScript-based challenge response mechanism для проверки клиентов в NGINX.

Синтаксисjs_challenge_html "/path/to/html/file.html";
По умолчаниюnone
Контекстserver, location
Аргументы1

Описание

Директива js_challenge_html является частью NGINX JavaScript challenge module и используется для настройки пользовательского HTML-ответа, который будет отправляться клиентам, когда они запускают JavaScript proof-of-work challenge. Этот механизм помогает проверить подлинность входящих запросов, служа сдерживающим фактором для автоматизированных ботов, при этом позволяя законным пользователям пройти после успешного выполнения JavaScript challenge. Путь, указанный в этой директиве, должен указывать на HTML-файл, содержащий необходимую JavaScript logic для корректной работы челленджа.

Директива js_challenge_html принимает один строковый аргумент, который служит путем к файлу с HTML-контентом, включаемым в тело ответа. Это тело настраиваемо и позволяет обеспечить индивидуальный опыт взаимодействия с пользователем. Для эффективной реализации крайне важно убедиться, что указанный файл существует и доступен для чтения процессом NGINX. Если путь неверен или файл недоступен, поведение челленджа по умолчанию не изменится, что может привести к нежелательному опыту пользователей.

Эта директива может использоваться в контекстах server или location block, что обеспечивает гибкость при применении JavaScript challenge на более тонком уровне. Используя эту директиву, администраторы могут обеспечить единый брендовый опыт даже во время проверок безопасности, повышая общее удовлетворение пользователей при сохранении надежных мер безопасности.

Пример конфига

server {
    js_challenge on;
    js_challenge_secret "change me!";
    js_challenge_html "/usr/share/nginx/html/challenge_body.html";
    js_challenge_title "Verifying your browser...";
}

Убедитесь, что указанный путь к HTML-файлу корректен и доступен процессу NGINX.

Если используется в контексте location, убедитесь, что оно не конфликтует с другими директивами location.

Будьте осторожны с проблемами кэширования, которые могут привести к тому, что пользователям будут отображаться устаревшие проверки.

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