NGINX Plus R11 リリース

本記事では2016年10月25日にリリースされました NGINX Plus R11についてまとめております。

NGINX Plus Release11 (R11)

リリース日:2016/10/25 リリース

NGINX オープンソースBuild Version 1.11.5

NGINX Plus R11 リリース内容:

  • NGINX Plusとそれに対応するnginx / OSSのバージョンにて、バイナリ互換性のある「Dynamic Module」を導入
  • Stream moduleの拡張(追加の変数を使用したカスタムロギング、入接続のPROXYプロトコルサポート、PROXYプロトコルヘッダーからの実際のIPアドレスとポートの取得、SNIからさまざまな目的の変数へのサーバー名の抽出、カスタムルーティング )
  • ストリームメトリック(セッション、破棄)のステータスモジュールデータセットアップデートの拡張
  • キャッシュ・マネージャーは、古いキャッシュ・ファイルを削除するときにIterative operations modeをサポートするように改良され、ディスク負荷を軽減しました(proxy_cache_path ディレクティブの manager_files, manager_threshold, および manager_sleep パワメーターを参照).
  • sticky ディレクティブの domain パラメーターで変数を使用するためのサポートが追加されました。
  • 新しい変数 $upstream_bytes_received の追加 (stream と http の両方で対応)

 

NGINX Plus R11 サポートOS :

  • CentOS 5.10+, 6.5+, 7.0+
  • Debian 7, 8
  • FreeBSD 9.3, 10.1+, 11.0
  • Oracle Linux 5.10+, 6.5+, 7.0+
  • RHEL 5.10+, 6.5+, 7.0+
  • SLES 12, 12 SP1
  • Ubuntu 12.04 LTS, 14.04 LTS, 16.04 LTS, 16.10
  • Amazon Linux 2016.03+
  • Support for Ubuntu 16.10 (Yakkety Yak) and FreeBSD 11.0 are new in this release.

NOTE: NGINX Plus R11には、nginx-plus-extrasパッケージは含まれていません。
このパッケージを使用しているユーザは、nginx-plusパッケージに移行し、必要なdynamic modulesをインストールする必要があります。
より詳しい情報は次のURL(英語)にてご案内しております: Announcing NGINX Plus R11

NGINX Plus R10 リリース

本記事では2016年9月23日にリリースされました NGINX Plus R10についてまとめております。

NGINX Plus Release 10(R10)

  • 新しい Dynamic module: ModSecurity (パッケージ名は nginx-plus-module-modsecurity)、初期のModSecurity 3.0リリースで構築されています。
  • 新しい Dynamic module: nginScript (パッケージ名は nginx-plus-module-njs).
  • JSON Web Tokens (JWT)を使用したクライアント認証のサポート
  • TCP / UDPロードバランシング(NGINX variables, resolver support, map module, geo module, geoip module, および split_clients A/B testing support )に使用される stream モジュールの拡張。
  • 同じ仮想サーバー上に multiple ssl_certificate および ssl_certificate_key ディレクティブを定義することにより、デュアルスタックRSA / ECC証明書をサポートします。
  • proxy_bind ディレクティブの transparent パラメータを使用したIP透過性とダイレクト・サーバ・リターン(DSR)のサポート。DSRはUDPロードバランシングでのみサポートされています。
  • IP_BIND_ADDRESS_NO_PORT ソケットオプションをサポートしています(より多くのアップストリーム接続が可能です)。
  • Linuxカーネル4.2以降が必要です。 HTTP/2 の改善 : バッファリングされていないアップロードサポートと一般的なバグ修正。
  • 新しい NGINX 変数 : $request_id, $proxy_protocol_port, $realip_remote_port.
  • 更新されたモジュール (nginx-plus-extras および dynamic modules):
    • Headers-More module updated to version 0.31
    • Lua module updated to version 0.10.6
    • Phusion Passenger Open Source module updated to version 5.0.30
    • Set-Misc module updated to version 0.31

NGINX Plus R10 サポートOS :

  • CentOS 5.10+, 6.5+, 7.0+
  • Debian 7, 8
  • FreeBSD 9.3, 10.1+
  • Oracle Linux 5.10+, 6.5+, 7.0+
  • RHEL 5.10+, 6.5+, 7.0+
  • SLES 12, 12 SP1
  • Ubuntu 12.04 LTS, 14.04 LTS, 16.04 LTS
  • Amazon Linux 2016.03+
  • Support for Ubuntu 15.10 (Wily Werewolf) is no longer available.

NOTE: NGINX Plus R10は、nginx-plus-extrasパッケージを含む最後のリリースです。 このパッケージを使用しているユーザは、nginx-plusパッケージに移行し、必要なdynamic modulesをインストールする必要があります。

より詳しい情報は次のURL(英語)にてご案内しております: Announcing NGINX Plus R10

nginx 1.11.4 リリース

9月13日にリリースされたnginx 1.11.4 のリリース内容をご紹介します。
 

2016年9月13日にnginx 1.11.4がリリースされました。

今回のリリースでは、stream module で数多くの変数が追加されています。

ここでは本リリースの日本参考訳を公開します。

Nginx 1.11.4 リリース内容

  • 機能追加:変数 $upstream_bytes_received を追加
  • 機能追加:stream module にて以下の変数が利用出来ます。
    $bytes_received, $session_time, $protocol, $status, $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, $upstream_connect_time, $upstream_first_byte_time, $upstream_session_time
  • 機能追加:ngx_stream_log_module を追加
  • 機能追加: “listen” ディレクティブの “proxy_protocol” パラメーターでは、stream module にて $proxy_protocol_addr と $proxy_protocol_port の変数が利用出来ます。
  • 機能追加:ngx_stream_realip_module を追加
  • バグ修正:stream module と ngx_http_ssl_module を構築することが、ngx_stream_ssl_moduleなしに行うことができませんでした。このバグは 1.11.3 以降のバージョンが該当します。
  • バグ修正:IP_BIND_ADDRESS_NO_PORT の socket オプションは利用出来ませんでした。このバグは 1.11.2 以降のバージョンが該当します。
  • バグ修正:”geo” ディレクティブの “ranges” パラメーターのバグを修正しました。
  • バグ修正:”aio threads” と “sendfile” ディレクティブを使用した場合、 誤った応答が返されることがあります。このバグは1.9.13 以降のバージョンが該当します。

リリース内容の原文は以下の通りです。

Changes with nginx 1.11.4                                                                               13 Sep 2016

*) Feature: the $upstream_bytes_received variable.

*) Feature: the $bytes_received, $session_time, $protocol, $status, $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, $upstream_connect_time, $upstream_first_byte_time, and $upstream_session_time variables in the stream module.

*) Feature: the ngx_stream_log_module.

*) Feature: the “proxy_protocol” parameter of the “listen” directive, the $proxy_protocol_addr and $proxy_protocol_port variables in the stream module.

*) Feature: the ngx_stream_realip_module.

*) Bugfix: nginx could not be built with the stream module and the ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug had appeared in 1.11.3.

*) Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not used; the bug had appeared in 1.11.2.

*) Bugfix: in the “ranges” parameter of the “geo” directive.

*) Bugfix: an incorrect response might be returned when using the “aio threads” and “sendfile” directives; the bug had appeared in 1.9.13.

 

Nginx 1.11.3 リリース

7月26日に Nginx 1.11.3 がリリースされました。 本記事では、同バージョンのリリース内容についてご案内します。
 

2016年7月26日に、Nginx 1.11.3 がリリースされました。

今回のリリースでは、ngx_stream 関連のモジュールにて機能追加が多く行われています。
以下に同バージョンの参考訳を掲載いたします。

Nginx 1.11.3 リリース内容

  • 機能追加:現在、”accept_mutex” ディレクティブはデフォルトで OFF に変更されました。
  • 機能追加:現在、Linux環境の nginx は EPOLLEXCLUSIVE を使用しています。
  • 機能追加:ngx_stream_geo_module
  • 機能追加:ngx_stream_geoip_module
  • 機能追加:ngx_stream_split_clients_module
  • 機能追加:stream module の “proxy_pass” および “proxy_ssl_name” ディレクティブは、変数をサポートします。
  • Bug修正:HTTP/2 を使用している場合、ソケットリークが発生してました。
  • Bug修正:configure tests のバグ修正
Changes with nginx 1.11.3                                                         26 Jul 2016

*) Change: now the “accept_mutex” directive is turned off by default.

*) Feature: now nginx uses EPOLLEXCLUSIVE on Linux.

*) Feature: the ngx_stream_geo_module.

*) Feature: the ngx_stream_geoip_module.

*) Feature: the ngx_stream_split_clients_module.

*) Feature: variables support in the “proxy_pass” and “proxy_ssl_name” directives in the stream module.

*) Bugfix: socket leak when using HTTP/2.

*) Bugfix: in configure tests. Thanks to Piotr Sikora.

 

nginx 1.11.2 リリース

2016年7月5日に公開された Nginx 1.11.2の情報を公開しています。
 

2016年7月5日に Nginx 1.11.2 がリリースされました。

今回のリリースでは、 stream module を中心に機能追加が行われました。リリースの概要を参考訳で以下に記載します。

Nginx 1.11.2 リリース内容

  • 変更:現在、Nginx はMD5およびSHA1を実装しています。-with-md5、 –with-sha1 オプションは現在利用できません。
  • 機能追加:stream module は変数に対応しました。
  • 機能追加:ngx_stream_map_module を追加
  • 機能追加:ngx_stream_return_module を追加
  • 機能追加:”proxy_bind”, “fastcgi_bind”, “memcached_bind”, “scgi_bind”, “uwsgi_bind” ディレクティブにてポートの指定が可能になりました。
  • 機能追加:現在、Nginx は IP_BIND_ADDRESS_NO_PORT を使用できます。
  • Bug修正:HTTP/2および ”proxy_request_buffering” ディレクティブを使用するときに、ワーカープロセスでセグメンテーションフォールトが発生する可能性があります。
  • Bug修正:HTTP/2 を使用した場合、”Content-Length” リクエストヘッダ行は常に、バックエンドに受け渡すリクエストにBody のないリクエストを含めて追加されました。
  • Bug修正:HTTP/2を使用した場合、”http request count is zero” アラートがログに表示される場合があります。
  • Bug修正:”sub_filter” ディレクティブを使用している場合、不要なバッファリングが発生する場合があります。この問題は 1.9.4 から組み込まれていました。
Changes with nginx 1.11.2                                                                05 Jul 2016

*) Change: now nginx always uses internal MD5 and SHA1 implementations; the –with-md5 and –with-sha1 configure options were canceled.

*) Feature: variables support in the stream module.

*) Feature: the ngx_stream_map_module.

*) Feature: the ngx_stream_return_module.

*) Feature: a port can be specified in the “proxy_bind”, “fastcgi_bind”, “memcached_bind”, “scgi_bind”, and “uwsgi_bind” directives.

*) Feature: now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available.

*) Bugfix: a segmentation fault might occur in a worker process when using HTTP/2 and the “proxy_request_buffering” directive.

*) Bugfix: the “Content-Length” request header line was always added to requests passed to backends, including requests without body, when using HTTP/2.

*) Bugfix: “http request count is zero” alerts might appear in logs when using HTTP/2.

*) Bugfix: unnecessary buffering might occur when using the “sub_filter” directive; the issue had appeared in 1.9.4.

 

NGINX Plus R9 リリース

本記事では2016年4月12日にリリースされました NGINX Plus R9についてまとめております。
 

2016年4月12日にNGINX Plus R9がリリースされました。

新たな機能として、Dynamic modules と UDP load balancing に対応しました。
以下に NGINX Plus R9 のリリースより日本語参考訳つきでご案内します。

目次 [hide]

NGINX Plus Release 9 (R9)

NGINX open source build 1.9.13, 2016/04/20

NGINX Plus R9 機能リリース

 

  • UDP load balancing をサポート, 設定は stream ディレクティブの設定を編集してください。
  • DNS SRVレコードを介して、アップストリームサーバーの設定を取得するための機能を追加、
    server ディレクティブの新しいサービスパラメータを使用して設定
  • UDP の応答が切り捨てられた NGINX Plus は、自動的にTCP上でDNS要求を再試行します
  • proxy_next_upstream パラメータが proxy_next_upstream ディレクティブに含まれていない限り
    NGINX Plus の再試行は、上流のグループ内の他のサーバーと非べき等のHTTPリクエスト(POST、LOCK、PATCH)に失敗しました  
  • 改良された cache metadata accounting
  • worker_cpu_affinity ディレクティブの新しい動的パラメータを使用して、使用可能なCPUを自動的に結合します。
  • 一部のキャッシュ書き込み操作は、現在 aio_write ディレクティブ上で構成され、プールのスレッドにオフロードすることができます。
  • 標準のエラーメッセージに署名と同様に、サーバーのレスポンスヘッダフィールドをカスタマイズできます。
  • Live activity monitoring dashboard を更新
  • nginx-plus-extras パッケージには以下が含まれます:

 

  • NGINX Plus R9 サポートOS :
    • CentOS 5.10+, 6.5+, 7.0+
    • Debian 7, 8
    • FreeBSD 9.3, 10.1+
    • Oracle Linux 5.10+, 6.5+, 7.0+
    • RHEL 5.10+, 6.5+, 7.0+
    • SLES 12, 12 SP1
    • Ubuntu 12.04, 14.04, 15.10
    • Amazon Linux 2016.03+

※ Ubuntu 15.04 (Vivid Vervet) はサポートされません。

より詳しい情報は次のURL(英語)にてご案内しております: Announcing NGINX Plus R9

 

NGINX Plus Release 9 (R9)

NGINX open source build 1.9.13, 12 April 2016

NGINX Plus R9 is a feature release:

NGINX Plus R9 is supported on:

  • CentOS 5.10+, 6.5+, 7.0+
  • Debian 7, 8
  • FreeBSD 9.3, 10.1+
  • Oracle Linux 5.10+, 6.5+, 7.0+
  • RHEL 5.10+, 6.5+, 7.0+
  • SLES 12, 12 SP1
  • Ubuntu 12.04, 14.04, 15.10
  • Amazon Linux 2016.03+

Support for Ubuntu 15.04 (Vivid Vervet) is no longer available.

More information: Announcing NGINX Plus R9

nginx 1.9.14 がリリース – OpenSSL 1.1.0 の互換性やHTTP/2上の機能改善 –

本記事では、2016年4月6日にリリースされました nginx 1.9.14 についてご案内します。
 

nginx 1.9.14 が 2016年4月5日にリリースされました。

今回の nginx 1.9.14 のリリースでは、OpenSSL 1.1.0 の互換性を追加、HTTP/2 上での機能追加や修正がメインになります。

以下に参考訳をご案内します。

目次 [hide]

nginx 1.9.14 リリース内容

  • 機能追加:OpenSSL 1.1.0の互換機能
  • 機能追加:次のディレクティブで HTTP/2 を使用できます。
    “proxy_request_buffering”, “fastcgi_request_buffering”, “scgi_request_buffering”, “uwsgi_request_buffering”
  • バグ修正:HTTP/2 を使用した時に  “zero size buf in output” がログに表示される可能性があります。
  • バグ修正:HTTP/2 を使用した時に “client_max_body_size” が正しく動作しない場合があります。
  • バグ修正:ロギングのマイナーなバグを修正

 

以下、Changes with nginx 1.9.14 の原文になります。

Changes with nginx 1.9.14                                                                      05 Apr 2016

*) Feature: OpenSSL 1.1.0 compatibility.

*) Feature: the “proxy_request_buffering”, “fastcgi_request_buffering”, “scgi_request_buffering”, and “uwsgi_request_buffering” directives now work with HTTP/2.

*) Bugfix: “zero size buf in output” alerts might appear in logs when using HTTP/2.

*) Bugfix: the “client_max_body_size” directive might work incorrectly when using HTTP/2.

*) Bugfix: of minor bugs in logging.

出典:http://nginx.org/en/CHANGES

Nginx Inc,が開発するエンタープライズ向け製品「NGINX Plus」

企業での利用には、無停止での設定反映やGUIでの管理機能等の機能拡張に加え、日本語サポートが付属する NGINX Plus のご利用をお勧めしています。

nginx 1.9.11 がリリース – dynamic modules を追加 –

2016年2月9日に nginx 1.9.11 がリリースされました。 dynamic modules の追加と resolver にてTCPがサポートされた他、機能追加とバグフィックスが行われています。本記事ではリリース概要についてご案内しています。
 

2016年2月9日に nginx 1.9.11 がリリースされました。

2つの機能追加と、HTTP/2 に関連するバグフィックスが2件含まれています。
以下に、参考訳を記載しますので、該当機能をご利用されたいかたおよび、バグフィックスに該当される方はアップデートをご検討ください。

目次 [hide]

nginx 1.9.11

  • 機能追加:resolver にてTCPをサポートしました。
  • 機能追加:dynamic modules
  • Bugfix:HTTP/2を使用時にリクエストハンドルサイズを $request_length 変数に挿入できませんでした。
  • Bugfix:ngx_http_v2_module の修正を行いました。

 

新たに追加された dynamic modules

これまで 3rd パーティ製を含むモジュール追加の場合は、ソースコードと一緒にコンパイルを行い、バイナリに組み入れる必要がありました。

nginx_bloggraphics_dynamicmodules-01

Dynamic Modules機能により (現時点では、まだソースコードと一緒にコンパイルを行う必要はありますが) ロードされたモジュールの Shared Object を作成し、設定ファイルから有効/無効を設定できるようになります。

nginx_bloggraphics_dynamicmodules-02

出典:Introducing Dynamic Modules in NGINX 1.9.11
https://www.nginx.com/blog/dynamic-modules-nginx-1-9-11/

nginx 1.9.11 のリリース原文

Changes with nginx 1.9.11                                                                                        09 Feb 2016

*) Feature: TCP support in resolver.

*) Feature: dynamic modules.

*) Bugfix: the $request_length variable did not include size of request headers when using HTTP/2.

*) Bugfix: in the ngx_http_v2_module.

nginx 1.9.10 がリリース、3つの脆弱性問題を修正

本記事では2016年1月27日にリリースされました nginx 1.9.10 について概要を紹介しております。 CVE-2016-0742、CVE-2016-0746、CVE-2016-0747の脆弱性問題の修正が行われております為、「resolver」ディレクティブを使用されている環境においては、アップデートを頂くことを推奨いたします。
 

2016年1月27日にNginx 1.9.10がリリースされました。

今回のリリースはCVE-2016-0742、CVE-2016-0746、CVE-2016-0747の脆弱性問題の修正が含まれておりますので、脆弱性が該当する方はアップデート頂くことを推奨いたします。

参考訳を下記にご紹介します。

  • セキュリティ:「resolver」ディレクティブを使用した場合、無効なポインタ参照がDNSサーバーの応答の処理中に発生する可能性があります。攻撃者はワーカープロセスでセグメンテーションフォルトが発生するようにDNSサーバーからのUDPパケットを偽造することができます。(CVE-2016-0742)
  • セキュリティ:「resolver」ディレクティブを使用した場合、使用後にフリーな状態がCNAME応答処理中に発生する可能性のあります。これにより、ワーカープロセスでセグメンテーション違反が発生する名前解決を誘発することができる攻撃を可能にする、または潜在的な他の影響を与える可能性があります。 (CVE-2016-0746)
  • セキュリティ:「resolver」ディレクティブが使用された場合、CNAME分析の制限は不十分でした。ワーカープロセスにおける過度のリソース消費を引き起こすために、任意の名前解決をトリガにした、攻撃者が可能になります。(CVE-2016-0747)
  • 機能追加:「worker_cpu_affinity」ディレクティブの”auto”パラメータを追加。
  • バグ修正:IPv6はソケットを聞くと「listen”」ディレクティブの「proxy_protocol」パラメータが動作しませんでした。
  • バグ修正:「keepalive」ディレクティブを使用した場合、アップストリームサーバーへの接続が誤ってキャッシュされている可能性がありました。
  • バグ修正:プロキシは、「X-Accel-Redirect」のリダイレクト後に元のリクエストのHTTPメソッドを使用していました。

 

正式には下記の原文をご参照ください。

Changes with nginx 1.9.10                                                                                 26 Jan 2016

*) Security: invalid pointer dereference might occur during DNS server response processing if the “resolver” directive was used, allowing an attacker who is able to forge UDP packets from the DNS server to cause segmentation fault in a worker process (CVE-2016-0742).

*) Security: use-after-free condition might occur during CNAME response processing if the “resolver” directive was used, allowing an attacker who is able to trigger name resolution to cause segmentation fault in a worker process, or might have potential other impact (CVE-2016-0746).

*) Security: CNAME resolution was insufficiently limited if the “resolver” directive was used, allowing an attacker who is able to trigger arbitrary name resolution to cause excessive resource consumption in worker processes (CVE-2016-0747). *) Feature: the “auto” parameter of the “worker_cpu_affinity” directive.

*) Bugfix: the “proxy_protocol” parameter of the “listen” directive did not work with IPv6 listen sockets.

*) Bugfix: connections to upstream servers might be cached incorrectly when using the “keepalive” directive.

*) Bugfix: proxying used the HTTP method of the original request after an “X-Accel-Redirect” redirection.

 

NGINX Plus Release8 リリース

本記事では、2016年1月19日にNginx Inc.よりリリースされました新バージョンについてご案内しています。
 

2016年1月19日に高速Webプラットフォームとして定評のあるオープンソース・ソフトウェア Nginx のエンタープライズ向け製品 「NGINX Plus」の Release8 がリリースされました。

NGINX Plus Release8 では、HTTP/2規格への完全準拠と OAuth 2.0 に対応などが追加されています。

OAuth 2.0 はテクノロジー・プレビューが提供されております。この機能を利用することで、Single Sign On (SSO)でシステムをAPI連携をさせることができるため、独立した認証システムを減らし、結果としてセキュリティが向上させることができるようになります。

主な機能追加としては下記の通りです。

  • OAuth 2.0 のテクノロジー・プレビュー
  • HTTP/2規格への完全準拠
  • On-the-fly reconfiguration API による永続的な構成変更
  • 大容量ビデオファイルのスケーラブルなキャッシュ

詳細はNGINX Plusの下記原文をご覧ください。
本ブログにて、新しく追加された機能について取り上げて行く予定です。

Nginx Inc. – NGINX Plus Release8 (原文)
https://www.nginx.com/blog/nginx-plus-r8-released/