js_fetch_ciphers
Директива 'js_fetch_ciphers' задаёт набор шифров TLS, которые следует использовать при получении криптографических данных в NGINX через JavaScript.
Описание
Директива 'js_fetch_ciphers' используется в контексте потоковой передачи NGINX для определения наборов шифров, которые должны применяться для защищённых подключений, устанавливаемых сервером NGINX. Конкретно, эта директива позволяет разработчикам настраивать параметры TLS непосредственно из кода JavaScript, выполняемого в NGINX, что повышает гибкость сервера при работе с TLS‑соединениями. Она принимает один аргумент — строку, которая перечисляет имена наборов шифров в соответствии с документацией OpenSSL.
В практическом плане, когда указана 'js_fetch_ciphers', сервер NGINX соответствующим образом корректирует процесс рукопожатия SSL/TLS, позволяя ему согласовывать защищённые сессии с использованием перечисленных шифров. Это особенно полезно для приложений, которым требуется строгая соответствие политике безопасности в отношении используемых шифров. Директива поддерживает динамические изменения и корректировки конфигурации в реальном времени с помощью JavaScript, давая разработчикам возможность адаптировать настройки TLS без перезагрузки глобальной конфигурации сервера.
Важно убедиться, что указанные шифры действительны и совместимы с используемой версией OpenSSL в NGINX. Неправильная конфигурация может привести к сбоям подключений или уязвимостям безопасности, если в список включены небезопасные шифры. Рекомендуется протестировать настроенный набор шифров на предмет известных уязвимостей, чтобы поддерживать безопасное окружение.
Пример конфига
stream {
js_fetch_ciphers "HIGH:!aNULL:!MD5";
server {
listen 443;
proxy_pass backend;
}
}Убедитесь, что список шифров соответствует стандартам OpenSSL; в противном случае соединения могут не устанавливаться.
Перечисленные шифры должны поддерживаться версией OpenSSL, используемой с NGINX.
Будьте осторожны при включении в список слабых или устаревших шифров.