Модуль nginx JavaScript
njs - это модуль nginx, который расширяет возможности сервера nginx с помощью сценариев JavaScript, позволяя создавать пользовательскую логику на стороне сервера и выполнять другие задачи.
- Загрузка и установка
- Изменения в njs [en]
- Справочник [en]
- Движок JavaScript
- Примеры использования
- Безопасность [en]
- Совместимость
- Интерфейс командной строки
- Предзагруженные объекты
- Протестированные ОС и платформы
Сценарии использования
- Комплексное управление доступом и проверка защиты при помощи njs до получения запроса сервером группы
- Управление заголовками ответа
- Создание гибких асинхронных обработчиков содержимого и фильтров
Подробнее о сценариях использования см. в примерах.
Базовый пример HTTP
Чтобы использовать njs в nginx, необходимо:
-
установить njs
-
создать файл сценария njs, например
http.js
. Описание свойств и методов языка njs см. в справочнике.function hello(r) { r.return(200, "Hello world!"); } export default {hello};
-
в файле
nginx.conf
включить модуль ngx_http_js_module и указать директиву js_import с файлом сценарияhttp.js
:load_module modules/ngx_http_js_module.so; events {} http { js_import http.js; server { listen 8000; location / { js_content http.hello; } } }
Также доступна отдельная утилита командной строки, которая может использоваться независимо от nginx для разработки и отладки njs.
Протестированные ОС и платформы
- FreeBSD / amd64;
- Linux / x86, amd64, arm64, ppc64el;
- Solaris 11 / amd64;
- macOS / x86_64;