Модуль nginx JavaScript

njs - это модуль nginx, который расширяет возможности сервера nginx с помощью сценариев JavaScript, позволяя создавать пользовательскую логику на стороне сервера и выполнять другие задачи.

nginx вызывает JavaScript-обработчики в фиксированном наборе точек интеграции: в фазах обработки HTTP-запроса и ответа, фазах stream-сессии, при вычислении переменных и по таймеру. njs не является самостоятельной средой выполнения приложений: стартовый сценарий и собственный цикл событий отсутствуют, код JavaScript выполняется исключительно в рамках настроенного обработчика, вызванного nginx, по завершении которого управление возвращается nginx.

Встроенный JavaScript-движок njs объявлен устаревшим начиная с 1.0.0; в новых конфигурациях следует использовать движок QuickJS.

Начало работы

Справочная информация

О проекте

Сценарии использования

Подробнее о сценариях использования см. в примерах.

Базовый пример HTTP

Чтобы использовать njs в nginx, необходимо:

Также доступна отдельная утилита командной строки, которая может использоваться независимо от nginx для разработки и отладки njs.

Протестированные ОС и платформы

Презентация на nginx.conf 2018