njs scripting language
njs はnginxの機能を拡張できるJavaScript言語のサブセットです。njsはECMAScript 5.1 (strict mode) に準拠して作成され、一部のECMAScript 6以降の拡張機能を備えています。互換性はまだ進展しています。
利用例
- リクエストがupstreamサーバに到達する前のnjsでの複雑なアクセス制御とセキュリティチェック
- 応答ヘッダの操作
- 柔軟な非同期コンテンツハンドラとフィルターの書き方
その他のnjsの使用法については、例とブログの投稿を見てください。
基本的なHTTPの例
nginxでnjsを使ういは:
-
njsスクリプト言語のインストール
-
njsスクリプトファイルの作成。例えば、
http.js
。njsのプロパティとメソッドのリストについては、リファレンスを見てください。function hello(r) { r.return(200, "Hello world!"); } export default {hello};
-
nginx.conf
ファイルで、ngx_http_js_module モジュールを有効にし、http.js
スクリプトファイルでjs_import ディレクティブを指定します:load_module modules/ngx_http_js_module.so; events {} http { js_import http.js; server { listen 8000; location / { js_content http.hello; } } }
njsの開発とデバッグのために、nginxと独立して使うことができるスタンドアロンのコマンドラインユーティリティもあります。
テストされたOSとプラットフォーム
- FreeBSD / amd64;
- Linux / x86, amd64, arm64, ppc64el;
- Solaris 11 / amd64;
- macOS / x86_64;