リリース情報

nginx 1.15.4と1.15.5がリリースされました。

こんにちは、サイオステクノロジーの原です。

nginx.orgで2018年9月25日に1.15.4、2018年10月2日に1.15.5が公開されました。
今回のバージョンアップではSSL関連のディレクティブ機能拡充、ワーカープロセス・gRPC・error_pageディレクティブ関連のバグ修正が含まれています。

以下、リリース内容の詳細を参考訳として記載します。

nginx 1.15.4 リリース内容

<機能追加>
*)”ssl_early_data”ディレクティブでOpenSSLを使用可能。

<バグ修正>

*)ngx_http_uwsgi_moduleのバグ修正。Chris Caputoさん、ありがとう。

*)keepaliveディレクティブ文を使用すると、いくつかのgRPCバックエンドとの接続はキャッシュされない可能性があった。

*)”error_page”ディレクティブを使用して初期要求処理エラー(特にコード400のエラー)をリダイレクトすると、ソケットリークが発生することがあった

*)リクエストが “error_page”指示でリダイレクトされた場合、エラーを返すときに “return”ディレクティブ文は応答コードを変更しなかった。

*)標準エラーページとngx_http_autoindex_moduleモジュールの応答では、”bgcolor”属性が使用され、ブラウザでカスタムカラー設定を使用すると
   誤って表示されることがある。Nova DasSarmaさん、ありがとう。

<仕様変更>

*) “no suitable key share”および”no suitable signature algorithm”のSSLエラーのログレベルが「crit」から「info」に下げられました。

nginx 1.15.5 リリース内容

<バグ修正>

*)OpenSSL 1.1.0h以降を使用している場合、ワーカープロセスでセグメンテーションエラーが発生する可能性があった。バグは1.15.4でも発生していた。

*)潜在的なバグ修正。

 

【参考URL】

http://nginx.org/en/CHANGES

nginx 1.13.5 リリース

2017年9月5日に nginx 1.13.5 が公開されました。本記事ではこのリリースバージョンに関する変更点をご案内します。
 

nginx 1.13.5 のリリースでは ssl_client_exxcaped_cert が追加された他、バグ修正が中心に変更が行なわれています。以下にリリース内容の参考訳を記載します。

nginx 1.13.5 リリース内容

  • 機能追加:$ ssl_client_escaped_cert 変数の追加
  • バグ修正: “ssl_session_ticket_key” ディレクティブと “geo” ディレクティブの “include” パラメータはWindowsでは動作しませんでした。
  • バグ修正:複数の範囲で4ギガバイトを超えるリクエストをしたときに、32ビットプラットフォームでは誤ったレスポンスが返されました。
  • バグ修正:キャッシュなしのプロキシを使用した場合、 “expires modified” ディレクティブと “If-Range” リクエストヘッダ行の処理では、最後の変更時の応答は使用されませんでした。
Changes with nginx 1.13.5                     05 Sep 2017

*) Feature: the $ssl_client_escaped_cert variable.

*) Bugfix: the “ssl_session_ticket_key” directive and the “include” parameter of the “geo” directive did not work on Windows.

*) Bugfix: incorrect response length was returned on 32-bit platforms when requesting more than 4 gigabytes with multiple ranges.

*) Bugfix: the “expires modified” directive and processing of the “If-Range” request header line did not use the response last modification time if proxying without caching was used.

nginx 1.13.4 リリース

2017年8月8日に nginx 1.13.4 が公開されました。本記事ではこのリリースバージョンに関する変更点をご案内します。
 

nginx 1.13.4 のリリースでは新たに ngx_http_mirror_module が追加された他、バグ修正が中心に変更が行なわれています。以下にリリース内容の参考訳を記載します。

目次 [hide]

nginx 1.13.4 リリース内容

  • 機能追加:ngx_http_mirror_module
  • バグ修正:Linux上で “listen”ディレクティブの “reuseport”パラメータを使用しているとき、設定テスト中にクライアント接続が切断される可能性があります。
  • バグ修正:ファイルに保存してプロキシを使用した場合、サブリクエストでリクエスト本体を利用できないことがあります。
  • バグ修正: “max_size”パラメータに基づくキャッシュのクリーニングはWindowsでは動作しませんでした。
  • バグ修正:Windows上では4096バイトの共有メモリ割り当てを必要としていました。
  • バグ修正:Windows上の “upstream” ブロック内の “zone” ディレクティブを使用すると、nginxワーカーが異常終了することがあります。

 

Module ngx_http_mirror_module

ngx_http_mirror_moduleモジュール(1.13.4)は、バックグラウンドミラーサブリクエストを作成することによって、元のリクエストのミラーリングを実装します。 ミラーサブリクエストに対する応答は無視されます。

Example Configuration

location / {
  mirror /mirror;
  proxy_pass http://backend;
}

location /mirror {
  internal;
  proxy_pass http://test_backend$request_uri;
}

Directives

Syntax: mirror uri | off;
Default:
mirror off;
Context: httpserverlocation

元の要求をミラーリングするURIを設定します。 複数のミラーを同じレベルで指定できます。

Syntax: mirror_request_body on | off;
Default:
mirror_request_body on;
Context: httpserverlocation

クライアント要求本文がミラーリングされているかどうかを示します。 有効にすると、ミラーサブリクエストを作成する前に、クライアントリクエスト本文が読み取られます。 この場合、proxy_request_buffering、fastcgi_request_buffering、scgi_request_buffering、およびuwsgi_request_bufferingディレクティブによって設定されたバッファリングされていないクライアント要求ボディのプロキシは無効になります。

location / {
  mirror /mirror;
  mirror_request_body off;
  proxy_pass http://backend;
}
location /mirror {
  internal;
  proxy_pass http://log_backend;
  proxy_pass_request_body off;
  proxy_set_header Content-Length “”;
  proxy_set_header X-Original-URI $request_uri;
}

リリース情報原文は以下の通りです。

Changes with nginx 1.13.4                   08 Aug 2017

*) Feature: the ngx_http_mirror_module.

*) Bugfix: client connections might be dropped during configuration testing when using the “reuseport” parameter of the “listen” directive on Linux.

*) Bugfix: request body might not be available in subrequests if it was saved to a file and proxying was used.

*) Bugfix: cleaning cache based on the “max_size” parameter did not work on Windows.

*) Bugfix: any shared memory allocation required 4096 bytes on Windows.

*) Bugfix: nginx worker might be terminated abnormally when using the “zone” directive inside the “upstream” block on Windows.

nginx 1.13.3 リリース(CVE-2017-7529 対応)

2017年7月11日に nginx 1.13.3 がリリースされました。このリリースではCVE-2017-7529に対応しています。

nginx 1.13.3 リリース(CVE-2017-7529 対応)

nginx 1.13.3 がリリースされました。このリリースでは CVE-2017-7529 に対応しています。

この脆弱性では下記のレポートが公開されています。

nginxの “range filter”でセキュリティの問題が確認されました。 特別に細工された要求により、整数のオーバーフローや不正な範囲の処理が行われ、機密情報の漏洩を招く可能性があります。

標準モジュールでnginxを使用すると、キャッシュから応答が返された場合、攻撃者はキャッシュファイルヘッダを取得できます。 いくつかの構成では、キャッシュファイルヘッダは、バックエンドサーバのIPアドレスまたは他の機密情報を含むことができます。

この脆弱性が影響するバージョンは下記の範囲になります。

  • nginx 0.5.6 – 1.13.2.

 

この脆弱性問題は以下のバージョンで修正されています。

  • nginx 1.13.3, 1.12.1.

 

リリース原文は下記となります。

Changes with nginx 1.13.3                    11 Jul 2017

*) Security: a specially crafted request might result in an integer overflow and incorrect processing of ranges in the range filter, potentially resulting in sensitive information leak (CVE-2017-7529).

nginx 1.13.2 リリース

2017年6月27日に nginx 1.13.2 がリリースされました。 本記事ではこのリリース内容及び日本語参考訳を紹介します。
 

nginx 1.13.2 のリリースではバグ修正が中心に変更が行なわれています。一部の機能では応答コードに仕様変更が行なわれておりますので、該当機能をご利用の方は動作にご注意下さい。

nginx 1.13.2 リリース内容

  • 機能変更:nginx は空のファイルから ith 0 を開始する範囲が要求されたときに416ではなく200を返すようになりました。
  • 機能追加:”add_trailer” ディレクティブ。
  • バグ修正:nginxはCygwinとNetBSDで構築できませんでした。 バグは 1.13.0 以降に含まれます。
  • バグ修正:MSYS2 / MinGW 64ビットでnginxを構築できませんでした。
  • バグ修正:変数付きで多くの include と proxy_pass で SSI を使用すると、ワーカープロセスでセグメンテーションエラーが発生することがあります。
  • バグ修正:ngx_http_v2_module の修正

 

リリース情報原文は以下の通りです。

Changes with nginx 1.13.2                        27 Jun 2017

*) Change: nginx now returns 200 instead of 416 when a range starting with 0 is requested from an empty file.

*) Feature: the “add_trailer” directive. Thanks to Piotr Sikora.

*) Bugfix: nginx could not be built on Cygwin and NetBSD; the bug had appeared in 1.13.0.

*) Bugfix: nginx could not be built under MSYS2 / MinGW 64-bit. Thanks to Orgad Shaneh.

*) Bugfix: a segmentation fault might occur in a worker process when using SSI with many includes and proxy_pass with variables.

*) Bugfix: in the ngx_http_v2_module. Thanks to Piotr Sikora.

nginx 1.13.1 リリース

本記事では、2017年5月30日にリリースされた nginx 1.13.1 についてご案内します。
 

2017年5月30日に nginx 1.13.1 がリリースされました。今回のリリースでは機能追加とBugFixが中心となっています。以下に日本語参考訳をご案内します。

nginx 1.13.1 内容

  • 機能追加:ホスト名を “set_real_ip_from” ディレクティブパラメータとして使用できるようになりました。
  • 機能改善:vimの構文強調表示スクリプトの改善。
  • 機能追加:”worker_cpu_affinity” ディレクティブがFreeBSD BSDで動作するようになりました。Sepherosa Ziehauに感謝します。
  • バグ修正:1.1.0より前のOpenSSLを使用している場合、バックエンド接続のSSL再ネゴシエーションが機能しませんでした。
  • ワークアラウンド:Oracle Developer Studio 12.5ではnginxを構築できませんでした。
  • ワークアラウンド:”max_size”パラメータに基づいてキャッシュをクリーニングするとき、キャッシュマネージャはロングロックキャッシュエントリを無視するようになりました。
  • 遅延受諾と “listen” ディレクティブの “proxy_protocol”パラメータが使用された場合、クライアント SSL 接続は直ちに終了しました。
  • バグ修正:”proxy_cache_background_update” ディレクティブのバグ修正
  • ワークアラウンド:”tcp_nodelay” ディレクティブが SS Lハンドシェイクの前に TCP_NODELAY オプションを設定するようになりました。

 

リリース情報原文は以下の通りです。

Changes with nginx 1.13.1                         30 May 2017

*) Feature: now a hostname can be used as the “set_real_ip_from” directive parameter.

*) Feature: vim syntax highlighting scripts improvements.

*) Feature: the “worker_cpu_affinity” directive now works on DragonFly BSD. Thanks to Sepherosa Ziehau.

*) Bugfix: SSL renegotiation on backend connections did not work when using OpenSSL before 1.1.0.

*) Workaround: nginx could not be built with Oracle Developer Studio 12.5.

*) Workaround: now cache manager ignores long locked cache entries when cleaning cache based on the “max_size” parameter.

*) Bugfix: client SSL connections were immediately closed if deferred accept and the “proxy_protocol” parameter of the “listen” directive were used.

*) Bugfix: in the “proxy_cache_background_update” directive.

*) Workaround: now the “tcp_nodelay” directive sets the TCP_NODELAY option before an SSL handshake.

Nginxの Mainline Version の新リリースバージョン nginx 1.13.0 リリース、安定バージョンの nginx 1.12 も公開

4月25日にメインラインの新バージョン nginx 1.13 がリリースされました。 本記事では、同バージョンのリリース情報を掲載しています。
 

4月25日にメインラインの新バージョン nginx 1.13 がリリースされました。

また、4月12日には安定版の nginx 1.12.0 がリリースされ、nginx 1.11.x のメインラインブランチからの新機能とバグ修正が組み込まれました。

本記事では nginx 1.13.0 の参考訳をご案内します。

nginx 1.13.0 リリース

  • 機能変更:バックエンド接続でSSL再ネゴシエーションが許可されるようになりました
  • 機能追加:”listen” ディレクティブ内の mail proxy および stream modules にて “rcvbuf”と “sndbuf” パラメーターを追加
  • 機能追加:”return”と “error_page” ディレクティブを使用して、308のリダイレクトを返すことができます。
  • 機能追加: “ssl_protocols” ディレクティブの “TLSv1.3” パラメーター
  • 機能追加:シグナルを記録するとき、nginxはシグナルを送信したプロセスのPIDを記録するようになりました。
  • バグ修正:メモリ内の割り当てエラー処理のバグ修正
  • バグ修正:stream module 内のサーバがワイルドカードアドレスでリッスンした場合、応答UDPデータグラムの送信元アドレスは、元のデータグラム宛先アドレスと異なる場合がありました。

 

リリース情報原文は以下の通りです。

Changes with nginx 1.13.0                    25 Apr 2017

*) Change: SSL renegotiation is now allowed on backend connections.

*) Feature: the “rcvbuf” and “sndbuf” parameters of the “listen” directives of the mail proxy and stream modules.

*) Feature: the “return” and “error_page” directives can now be used to return 308 redirections. Thanks to Simon Leblanc.

*) Feature: the “TLSv1.3” parameter of the “ssl_protocols” directive.

*) Feature: when logging signals nginx now logs PID of the process which sent the signal.

*) Bugfix: in memory allocation error handling.

*) Bugfix: if a server in the stream module listened on a wildcard address, the source address of a response UDP datagram could differ from the original datagram destination address.

Nginx 1.11.12 リリース(Nginx 1.11.11のCPU占有問題へのBugFix)

Nginx 1.11.12がリリースされました。 Nginx 1.11.11のCPU占有問題が確認され、そのBugFixが提供されています。
 

2017年3月24日に Nginx 1.11.12 がリリースされました。
Nginx 1.11.11のCPU占有問題が確認され、そのBugFixが提供されています。

Nginx 1.11.11をご利用の方は早々にアップデート頂くことを推奨します。
※1.11.10以前の方には該当しないバグのようです。

Nginx 1.11.12

  • バグ修正:nginxはCPUを占有する可能性があります。
    Nginx 1.11.11 にバグがありました。

 

リリース情報原文は以下の通りです。

Changes with nginx 1.11.12                         24 Mar 2017

*) Bugfix: nginx might hog CPU; the bug had appeared in 1.11.11.

NGINX Plus R12 リリース

2017年3月14日にNGINX Plus R12がリリースされました。 本記事では、このリリース内容の日本語参考訳をご案内します。
 

NGINX Plus R12は、より多くのプログラマビリティ、スケーラビリティ、自動管理機能を備えており、優れたデジタルエクスペリエンスをシームレスに提供します。本リリースはコミュニティ版 Nginx 1.11.10 をベースに開発されています。

リリース内容の詳細は「Announcing NGINX Plus R12」および「NGINX PLUS RELEASES」をご参照ください。

クラスタリングと構成の共有

構成同期のための新しいNGINX Plus R12サポートにより、単一の場所からNGINX Plusサーバーの大規模なクラスタを簡単に管理できます。

R12-Configuration-Sharing

dashboard-nginx-plus-r12

nginScriptの一般提供開始

独自のJavaScript実装であるnginScriptを使用して、洗練されたトラフィック管理ソリューションを構築します。 NGINX Plusのお客様には一般提供が開始されました。

より多くの統計と指標

更新されたライブアクティビティ監視ダッシュボードを使用して、サーバーの応答時間などの新しいメトリクスを使用して、アプリケーションのパフォーマンスを実践的に把握します。

 

 

拡張キャッシュ

期限切れのキャッシュリソースをバックグラウンドで更新するための新しいサポートにより、キャッシュのパフォーマンスを向上させます。これにより、ユーザーはオリジンサーバーへの往復で遅れることはありません。

nginx 1.11.11 リリース

本記事では、2017年3月21日にリリースされた nginx 1.11.11 についてご案内します。
 

2017年3月21日に nginx 1.11.11 がリリースされました。今回のリリースでは機能追加とBugFixが中心となっています。以下に日本語参考訳をご案内します。

nginx 1.11.11 リリース

  • 機能追加:”worker_shutdown_timeout” ディレクティブ
  • 機能改善:vim構文強調スクリプトの改善
  • バグ修正:$ limit_rate変数が空文字列に設定されていると、ワーカープロセスでセグメンテーションエラーが発生する可能性があります。
  • バグ修正:”if” ディレクティブが使用された場合 “proxy_cache_background_update”、 “fastcgi_cache_background_update”、 “scgi_cache_background_update”、 “uwsgi_cache_background_update” ディレクティブが正しく動作しない可能性があります。
  • バグ修正:仮想サーバーの large_client_header_buffers の数がデフォルトサーバーの数と異なる場合、ワーカープロセスでセグメンテーションフォルトが発生することがあります。
  • バグ修正:メールプロキシサーバーの修正

 

リリース情報原文は以下の通りです。

Changes with nginx 1.11.11                        21 Mar 2017

*) Feature: the “worker_shutdown_timeout” directive.

*) Feature: vim syntax highlighting scripts improvements. Thanks to Wei-Ko Kao.

*) Bugfix: a segmentation fault might occur in a worker process if the $limit_rate variable was set to an empty string.

*) Bugfix: the “proxy_cache_background_update”, “fastcgi_cache_background_update”, “scgi_cache_background_update”, and “uwsgi_cache_background_update” directives might work incorrectly if the “if” directive was used.

*) Bugfix: a segmentation fault might occur in a worker process if number of large_client_header_buffers in a virtual server was different from the one in the default server.

*) Bugfix: in the mail proxy server.