13か月の開発後 新しい安定したブランチがリリースされました 高性能HTTPサーバーとマルチプロトコルプロキシサーバー nginx 1.22.0、 これには、1.21.xメインブランチに蓄積された変更が組み込まれています。
将来は、 1.22安定ブランチでのすべての変更は、デバッグに関連します 深刻な脆弱性。 nginx 1.23のメインブランチがまもなく形成され、新機能の開発が継続されます。
サードパーティのモジュールとの互換性を確保するタスクを持たない通常のユーザーには、メインブランチを使用することをお勧めします。これは、XNUMXか月ごとに作成される商用製品NginxPlusのバージョンに基づいています。
nginx1.22.0の主なニュース
提示されているnginx1.22.0のこの新しいバージョンでは、 HTTPリクエスト密輸クラス攻撃に対する保護の強化 フロントエンドとバックエンドの間の同じスレッドで処理される他のユーザーのリクエストのコンテンツにアクセスできるようにするフロントエンド-バックエンドシステム。 Nginxは、CONNECTメソッドを使用するときに常にエラーを返すようになりました。 「Content-Length」ヘッダーと「Transfer-Encoding」ヘッダーを同時に指定する。 クエリ文字列、HTTPヘッダー名、または「ホスト」ヘッダー値にスペースまたは制御文字が含まれている場合。
この新しいバージョンで際立っているもうXNUMXつの目新しさは、 ディレクティブに変数のサポートを追加 「proxy_ssl_certificate」、「proxy_ssl_certificate_key」、「grpc_ssl_certificate」、「grpc_ssl_certificate_key」、「uwsgi_ssl_certificate」、「uwsgi_ssl_certificate_key」。
また、追加されたことにも注意してください 「パイプライン」モードのサポート 同じ接続で複数のPOP3またはIMAP要求をメールプロキシモジュールに送信するとともに、接続が閉じられるまでのプロトコルエラーの最大数を指定する新しい「max_errors」ディレクティブを送信します。
ヘッダー 「Auth-SSL-Protocol」と「Auth-SSL-Cipher」がメールプロキシ認証サーバーに渡され、 さらに、ALPNTLS拡張のサポートが伝送モジュールに追加されました。 サポートされているALPNプロトコル(h2、http / 1.1)のリストを決定するために、ssl_alpnディレクティブが提案され、クライアントと合意したALPNプロトコルに関する情報を取得するために変数$ssl_alpn_protocolが提案されます。
その他の変更点 目立つ:
- 「Transfer-Encoding」HTTPヘッダー(HTTP / 1.0プロトコルバージョンで導入)を含むHTTP/1.1リクエストをブロックします。
- FreeBSDプラットフォームは、ファイル記述子とソケット間のデータの直接転送を調整するように設計されたsendfileシステムコールのサポートを改善しました。 sendfile(SF_NODISKIO)モードは永続的に有効になり、sendfile(SF_NOCACHE)モードのサポートが追加されました。
- 「fastopen」パラメータが送信モジュールに追加されました。これにより、リッスンソケットの「TCPFastOpen」モードが有効になります。
- 文字"""、" <"、"> "、" \ "、" ^ "、" `"、 "{"、"|"のエスケープを修正しましたURIを変更してプロキシを使用する場合は「}」。
- proxy_half_closeディレクティブがストリームモジュールに追加されました。これを使用して、プロキシTCP接続が片側で閉じられたときの動作(「TCPハーフクローズ」)を構成できます。
- キーフレームからビデオをストリーミングするために、新しいmp4_start_key_frameディレクティブをngx_http_mp4_moduleモジュールに追加しました。
- TLSセッションでキーネゴシエーション用に選択された楕円曲線のタイプを返す$ssl_curve変数が追加されました。
- sendfile_max_chunkディレクティブは、デフォルト値を2メガバイトに変更しました。
- OpenSSL3.0ライブラリで提供されるサポート。 OpenSSL 3.0を使用するときにSSL_sendfile()を呼び出すためのサポートが追加されました。
- PCRE2ライブラリを使用したアセンブリはデフォルトで有効になっており、正規表現を処理するための関数を提供します。
- サーバー証明書をロードする際に、OpenSSL 1.1.0以降でサポートされ、ssl_ciphersディレクティブの「@ SECLEVEL=N」パラメーターを介して設定されたセキュリティレベルの使用が調整されました。
- エクスポート暗号スイートのサポートを削除しました。
- リクエストボディフィルタリングAPIでは、処理されたデータのバッファリングが許可されます。
- ALPNの代わりにNextProtocolNegotiation(NPN)拡張機能を使用してHTTP/2接続を確立するためのサポートを削除しました。
最後に あなたがそれについてもっと知りたいなら、詳細を確認できます 次のリンクで。