njsスクリプト言語
njsスクリプト言語
njsは、nginx機能の拡張を可能にするJavaScript言語のサブセットです。 njsは、 ECMAScript 5.1 (厳密モード)に準拠して作成され、一部の ECMAScript6以降の拡張機能があります。 コンプライアンスはまだ進化中です。
ユースケース
- リクエストがアップストリームサーバーに到達する前のnjsでの複雑なアクセス制御とセキュリティチェック
- 応答ヘッダーの操作
- 柔軟な非同期コンテンツハンドラーとフィルターの作成
その他のnjsの使用例については、例およびブログ投稿を参照してください。
基本HTTPの例
nginxでnjsを使用するには:
-
インストール njs scripting language
-
http.js
などのnjsスクリプトファイルを作成します。 njsのプロパティとメソッドのリストについては、Referenceを参照してください。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;