Spec-Zone.ru › nginx

Язык сценариев njs

njs — это подмножество языка JavaScript, которое позволяет расширять функциональность nginx. njs создан в соответствии с ECMAScript 5.1 (строгий режим) с некоторыми расширениями ECMAScript 6 и более поздними. Соответствие всё ещё развивается.

  • Скачать и установить
  • Изменения
  • Справочник
  • Примеры
  • Безопасность
  • Совместимость
  • Командная строка
  • Изучение предварительно загруженных объектов
  • Протестированные операционные системы и платформы
  • Модуль ngx_http_js_module
  • Модуль ngx_stream_js_module
  • Написание кода njs с использованием файлов определений TypeScript
  • Использование модулей node с njs

Сферы применения

  • Сложные проверки доступа и безопасности в njs перед тем, как запрос достигнет сервера-прокси
  • Изменение заголовков ответа
  • Написание гибких асинхронных обработчиков и фильтров контента

См. примеры для получения дополнительных сведений о сферах применения 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;

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

© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/njs/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API