nginx 1.17.9 および njs 0.3.9 のリリース

形成された アップストリームリリース nginx 1.17.9、その中で新しい機能の開発が続けられます (並行して安定したサポートが行われます) ブランチ1.16 重大なエラーと脆弱性の排除に関連する変更のみが行われます)。

メイン 変更:

  • 複数の「Host」行を指定することは禁止されています。
    リクエストヘッダー。

  • nginx が追加の行を無視するバグを修正しました
    リクエストヘッダー内の「Transfer-Encoding」。

  • HTTP/2 プロトコル使用時のソケット リークを防ぐための修正が行われました。
  • OCSP ステープリングを使用するときに発生するワーカー プロセスのセグメンテーション フォールトを修正しました。
  • ngx_http_mp4_module モジュールが修正されました。
  • 「error_page」ディレクティブを使用してコード 494 のエラーをリダイレクトするときに、コード 494 の代わりにコード 400 の応答が返される場合がある問題を解決しました。
  • njs モジュールおよび aio ディレクティブでサブクエリを使用する場合のソケット リークを修正しました。

さらに、注目できるのは、 問題 njs0.3.9、nginx Web サーバーの JavaScript インタープリター。 njs インタープリターは ECMAScript 標準を実装しており、構成内のスクリプトを使用して nginx のリクエストを処理する機能を拡張できます。 構成ファイル内でスクリプトを使用すると、リクエストの処理、構成の生成、応答の動的生成、リクエスト/応答の変更、Web アプリケーションの問題を解決するためのスタブの迅速な作成などの高度なロジックを定義できます。

新しいリリースでは、njs モジュールは r.subrequest() でのデタッチ リクエスト モードのサポートを追加しました。分離されたサブクエリへの応答は無視されます。通常のサブクエリとは異なり、切り離されたサブクエリは変数ハンドラー内で作成できます。また:

  • 「fs」モジュールの API Promise を追加しました。
  • 関数 access()、symlink()、unlink() が「fs」モジュールに追加されました。
    realpath() など。

  • メモリ消費の点で効率的な通常の配列が導入されました。
  • レクサーが改良されました。
  • バックトレースでのネイティブ関数のマッピングが修正されました。
    痕跡。

  • 「fs」モジュールのコールバック呼び出しを修正しました。
  • Object.getOwnPropertySymbols() が修正されました。
  • njs_json_append_string() のヒープ バッファ オーバーフローを修正しました。
  • 仕様に準拠するように encodeURI() と decodeURI() を修正しました。
  • Number.prototype.toPrecision(); を修正しました。
  • JSON.stringify() のスペース引数の処理を修正しました。
  • Number() オブジェクトと String() オブジェクトを使用して JSON.stringify() を修正しました。
  • に従って、JSON.stringify() で Unicode 文字のエスケープを提供しました
    仕様付き。

  • 非ネイティブ モジュールのインポートが修正されました。
  • コンテナ内の Date() インスタンスを使用して njs.dump() を修正しました。

出所: オープンネット.ru

コメントを追加します