nginx 1.9.9 および nginx 1.9.8 がリリース

12月8日 nginx 1.9.8、12月9日に nginx 1.9.9 がリリースされました。 各バージョンでのリリース概要をご案内しています。 バグ情報も含まれておりますので、 nginx 1.9.8のご利用はご注意ください。
 

こんにちは、村田です。

12月8日 nginx 1.9.8、12月9日に nginx 1.9.9 がリリースされました。
nginx 1.9.8にはunix domain sockets へのプロキシが正しく動作しないという重大なバグが含まれていたようで、即座に nginx 1.9.9 がリリースされました。ご利用の際は nginx 1.9.9をご利用頂くのが良いかと思います。

詳細はページ内の参考訳と原文をご確認下さい。

目次 [hide]

nginx 1.9.9

  • Bugfix:変数を使用した場合、Unix domain sockets へのプロキシが動作しませんでした。
    当バグは nginx 1.9.8 から含まれていました。

リリース原文

Changes with nginx 1.9.9                                                                                     09 Dec 2015

*) Bugfix: proxying to unix domain sockets did not work when using variables; the bug had appeared in 1.9.8.

nginx 1.9.8

  • 機能追加:pwritev() に対応
  • 機能追加:Upstream ブロックの include ディレクティブが追加されました。
  • 機能追加:ngx_http_slice_module が追加されました。
  • Bugfix:LibreSSLを使用した場合、ワーカープロセスでセグメンテーションフォールトが発生する可能性があります。当バグは nginx 1.9.6 から含まれていました。
  • Bugfix:nginx はいくつかのケースで OS X 上に構築することができませんでした。
Changes with nginx 1.9.8                                                                                    08 Dec 2015

*) Feature: pwritev() support.

*) Feature: the “include” directive inside the “upstream” block.

*) Feature: the ngx_http_slice_module.

*) Bugfix: a segmentation fault might occur in a worker process when using LibreSSL; the bug had appeared in 1.9.6.

*) Bugfix: nginx could not be built on OS X in some cases.

 

Nginx 1.9.7 がリリースされました。

11月17日に nginx1.9.7 がリリースされました。 アップデート概要について日本語の参考訳を交えて紹介します。
 

2015年11月17日(米国時間)に Nginx1.9.7 がリリースされました。

今回のリリースでは3つの新機能とバグフィックスが行われています。http2モジュールに関連するバグ修正も幾つか行われております。HTTP/2をご利用の方はバグ修正が該当してないかご確認ください。

Changes with nginx 1.9.7 (2015/11/17)

  • 機能追加:syslog記録の “nohostname” パラメーターが追加されました。
  • 機能追加:”proxy_cache_convert_head” ディレクティブが追加されました。
  • 機能追加:ngx_http_realip_moduleに$realip_remote_addr 変数が追加されました。
  • Bugfix:”expires”ディレクティブで変数を使用している場合、動作しない場合があります。
  • Bugfix:HTTP/2を使用する場合、セグメンテーション違反が発生する可能性があります。このBugは nginx1.9.6以降で発生します。
  • Bugfix:ngx_http_v2_moduleでビルドされた場合、”listen”ディレクティブにhttp2パラメータを指定しない場合でも使用することができました。
  • Bugfix:ngx_http_v2_moduleのバグ修正

原文は下記参照。

Changes with nginx 1.9.7                                          17 Nov 2015

*) Feature: the “nohostname” parameter of logging to syslog.

*) Feature: the “proxy_cache_convert_head” directive.

*) Feature: the $realip_remote_addr variable in the ngx_http_realip_module.

*) Bugfix: the “expires” directive might not work when using variables.

*) Bugfix: a segmentation fault might occur in a worker process when using HTTP/2; the bug had appeared in 1.9.6.

*) Bugfix: if nginx was built with the ngx_http_v2_module it was possible to use the HTTP/2 protocol even if the “http2” parameter of the “listen” directive was not specified.

*) Bugfix: in the ngx_http_v2_module.

20151124_Seminar

Nginx 1.9.6 がリリースされました。

2015年10月27日に Nginx 1.9.6 がリリースされました。 本記事ではnginx.org に掲載されている Changes 情報より、リリース内容に参考訳を付けてご案内します。
 

2015年10月27日に Nginx 1.9.6 がリリースされました。

今回のリリースはバグフィックスが中心で、HTTP/2 に関連するバグフィックスを含んでいますので、HTTP/2 モジュールを利用しているかたはアップデートをご検討ください。

以下に nginx 1.9.6 の参考訳を掲載します。

nginx 1.9.6 の変更点

  • バグ修正:HTTP/2を使用する際に、ワーカープロセスでセグメンテーションフォールトが発生する可能性があります。
  • バグ修正:HTTP/2を使用する際に、$SERVER_PROTOCOL変数が空でした。
  • バグ修正:ストリームモジュール内のバックエンドSSL接続が予期せずタイムアウトする可能性があります。
  • バグ修正:異なる ssl_session_cacheの設定を、異なる仮想サーバーで使用した場合、にワーカープロセスでセグメンテーションフォールトが発生する可能性があります。
  • バグ修正:nginxはWindowsのMinGW gccでビルドすることができませんでした。
    このバグは nginx1.9.4で登場していました。
  • バグ修正:Windowsでtimer_resolutionディレクティブを使用したとき、時間が更新されませんでした。
  • その他のマイナーな修正と改善。

 

原文を下記に記載いたします。正式な内容はこちらをご覧ください。

Changes with nginx 1.9.6                                                                                             27 Oct 2015

*) Bugfix: a segmentation fault might occur in a worker process when using HTTP/2. Thanks to Piotr Sikora and Denis Andzakovic.

*) Bugfix: the $server_protocol variable was empty when using HTTP/2.

*) Bugfix: backend SSL connections in the stream module might be timed out unexpectedly.

*) Bugfix: a segmentation fault might occur in a worker process if different ssl_session_cache settings were used in different virtual servers.

*) Bugfix: nginx/Windows could not be built with MinGW gcc; the bug had appeared in 1.9.4. Thanks to Kouhei Sutou.

*) Bugfix: time was not updated when the timer_resolution directive was used on Windows.

*) Miscellaneous minor fixes and improvements. Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora.

 

HTTP/2 に対応した Nginx 1.9.5 がリリースされました。

2015年9月22日に HTTP/2 に対応した Nginx 1.9.5 がリリースされました。 今回は最新版のリリース内容をご案内します。
 

2015年9月22日に HTTP/2 に対応した Nginx 1.9.5 がリリースされました。

HTTP/2 への対応は、当初より2015年中の対応が予定されており、米国にて Nginx conf (9/22-9/24)が開催されたタイミングでのリリースとなりました。詳細を見ていきますと、SPDYモジュールを HTTP v2モジュールに置き換える形でのリリース内容となっています。

以下に日本語参考訳を掲載します。

  • HTTP/2 に対応したモジュール ngx_http_v2_module を追加(ngx_http_spdy_moduleからのリプレース)
  • 現在、”output_buffers” ディレクティブは、デフォルトでは二つのバッファを使用しています。
  • 現在、再帰サブリクエスト制限は、非同期サブリクエストです
  • 現在、キャッシュから応答を返すとき、全体のキャッシュキーをチェックします。
  • “header already sent” キャッシュを使用するとき、ログに警告が表示されることがあります。
    このバグは 1.7.5 から含まれていました。
  • CephFS および Linux の “timer_resolution” ディレクティブを使用する際に”writev() failed (4: Interrupted system call)” エラーがログに表示されることがあります。
  • 無効な構成での取り扱いを行うバグの修正
  • “sub_filter” ディレクティブを HTTP レベルで使用した場合、セグメンテーションフォールトがワーカープロセスで発生しました。このバグは 1.9.4 から含まれていました。

参考:HTTP/2 を有効にする方法

HTTP/2 を利用するには、下記のような設定が必要となります。

SSL / TLSで暗号化されていない場合はこのタイミングでセキュアな HTTPS に対応することが推奨されています。

server {
  listen 80;
  location / {
    return 301 https://$host$request_uri;
  }
}

HTTP/2 を有効にします

“listen” ディレクティブに http2 の項目を追加します。

server {
  listen 443 ssl http2 default_server;

  ssl_certificate server.crt;
  ssl_certificate_key server.key;
  …
}

※HTTP/2の「Server Push」機能は、このリリースではサポートされていません。

設定を反省させるために、nginx の再起動を行って下さい。

参考URL:https://www.nginx.com/blog/nginx-1-9-5/

リリース内容の原文は下記を参照ください。

Changes with nginx 1.9.5                                         22 Sep 2015

    *) Feature: the ngx_http_v2_module (replaces ngx_http_spdy_module).
       Thanks to Dropbox and Automattic for sponsoring this work.

    *) Change: now the "output_buffers" directive uses two buffers by
       default.

    *) Change: now nginx limits subrequests recursion, not simultaneous
       subrequests.

    *) Change: now nginx checks the whole cache key when returning a
       response from cache.
       Thanks to Gena Makhomed and Sergey Brester.

    *) Bugfix: "header already sent" alerts might appear in logs when using
       cache; the bug had appeared in 1.7.5.

    *) Bugfix: "writev() failed (4: Interrupted system call)" errors might
       appear in logs when using CephFS and the "timer_resolution" directive
       on Linux.

    *) Bugfix: in invalid configurations handling.
       Thanks to Markus Linnala.

    *) Bugfix: a segmentation fault occurred in a worker process if the
       "sub_filter" directive was used at http level; the bug had appeared
       in 1.9.4.

 

Nginx Changes

NGINX Plus Release 7 リリース

2015年9月16日にNGINX Plus Release 7 がリリースされました。 HTTP/2に対応するなどいくつかの機能追加が行われております。 本記事では主なアップデートをご紹介します。
 

米国時間の2015年9月16日に NGINX Plus Release 7 がリリースされました。

本バージョンから対応するHTTP/2は、2015年2月17日に承認され、2015年5月にRFC 7540として文書化された新しい規格です。今後のWebコンテンツには欠かせない技術にいち早く対応していますので、HTTP/2でのコンテンツを準備されている方は、ぜひこの機会に NGINX Plus をお試しください。

以下に NGINX Plus Release 7 での主な変更点をご案内します。
(各機能の詳細は別途記事を起こします。)

  • HTTP/2をフルサポート
  • スレッドプールとソケットシャーディングのパフォーマンスを最大9倍高速化
  • NTLMのサポートおよび新しいTCPのセキュリティ強化
  • チューニングやデバッグを支援する、監視および診断ツールの改善
  • NGINX Plusのステータスダッシュボードのユーザーインターフェース刷新(下記イメージ参照)

NP Dashboard

NP Dashboard2

 

 

Nginx Inc. は、以下URLにて Live status information のデモを公開しています。
http://demo.nginx.com/status.html

次回はHTTP/2のサポートなどより詳しい情報をご案内いたします。

Nginx 1.9.4 がリリースされました。

2015年8月18日にリリースされた Nginx 1.9.4 のリリース内容についてご案内します。
 

2015年8月18日に Nginx 1.9.4 がリリースされました。

主な変更点として streamモジュールの”proxy_downstream_buffer” と “proxy_upstream_buffer” ディレクティブは “proxy_buffer_size” ディレクティブへと変更されます。ご注意ください。

以下にCHANGEより日本語参考訳を記載します。

  •  streamモジュールの”proxy_downstream_buffer” と “proxy_upstream_buffer” ディレクティブは “proxy_buffer_size” ディレクティブへと変更されます。
  • ストリームモジュールの “tcp_nodelay” ディレクティブが追加されました。
  • 複数の  “sub_filter” を同時に使用することができます。
  • “sub_filter” ディレクティブの検索文字列に変数をサポートしました。
  • ワークアラウンド:Linux OpenVZで利用した場合にコンフィグレーションテストに失敗する場合があります。
  • Bugfix: “worker_connections” の値を多く再設定した後に古いワーカー·プロセスがCPUを占有することがあります。
  • Bugfix: “try_files” と “alias”ディレクティブは正規表現で指定された場所の内部で使用された場合に、ワーカープロセスでセグメンテーションフォールトが発生することがあります。このバグは Nginx 1.7.1以降に含まれます。
  • Bugfix: “alias” ディレクティブのロケーション外で、正規表現で入れ子状のロケーション内の “try_files” は誤った動作をしていました。
  • Bugfix: ハッシュテーブルの初期化エラー処理のバグを修正
  • Bugfix: Nginxは、Visual Studio 2015を使用して構築することができませんでした。

 

原文は下記となります。正式には原文の内容をご確認ください。

CHANGE with Nginx 1.9.4

    *) Change: the "proxy_downstream_buffer" and "proxy_upstream_buffer"
       directives of the stream module are replaced with the
       "proxy_buffer_size" directive.

    *) Feature: the "tcp_nodelay" directive in the stream module.

    *) Feature: multiple "sub_filter" directives can be used simultaneously.

    *) Feature: variables support in the search string of the "sub_filter"
       directive.

    *) Workaround: configuration testing might fail under Linux OpenVZ.
       Thanks to Gena Makhomed.

    *) Bugfix: old worker processes might hog CPU after reconfiguration with
       a large number of worker_connections.

    *) Bugfix: a segmentation fault might occur in a worker process if the
       "try_files" and "alias" directives were used inside a location given
       by a regular expression; the bug had appeared in 1.7.1.

    *) Bugfix: the "try_files" directive inside a nested location given by a
       regular expression worked incorrectly if the "alias" directive was
       used in the outer location.

    *) Bugfix: in hash table initialization error handling.

    *) Bugfix: nginx could not be built with Visual Studio 2015.
 

Nginx 1.9.3 がリリースされました。

本記事では、Nginx 1.9.3 の CHANGES より追加された機能およびBug情報をまとめております。
 

2015年7月14日に Nginx 1.9.3 がリリースされました。

主な変更点として streamモジュールにて接続やデータレートを制限できる機能が追加されています。

CHANGE with Nginx 1.9.3

  • ”http”、”mail”、”stream”ブロックの Duplicate は利用できなくなりました。
  • stream moduleに接続制限の機能が追加されました。
  • stream moduleにデータレートの制限機能が追加されました。
  • Bugfix: “upstream”ブロックの”zone”ディレクティブはWindows上では正しく動作しませんでした。
  • Bugfix:stream moduleのLibreSSLとの互換性が修正されました。
  • Bugfix:”–builddir” 設定パラメータが修正されました。
  • Bugfix:1.9.2 から組み込まれた ”ssl_stapling_file” ディレクティブは正しく動作しないバグがありました。
  • Bugfix:1.9.2 では、”ssl_stapling” ディレクティブを使用した場合、ワーカープロセスでセグメンテーションフォールトが発生する可能性があります。

 

Nginx 1.9.3 の CHANGES 原文は以下のとおりです。

Changes with nginx 1.9.3 14 Jul 2015

*) Change: duplicate “http”, “mail”, and “stream” blocks are now disallowed.

*) Feature: connection limiting in the stream module.

*) Feature: data rate limiting in the stream module.

*) Bugfix: the “zone” directive inside the “upstream” block did not work on Windows.

*) Bugfix: compatibility with LibreSSL in the stream module. Thanks to Piotr Sikora.

*) Bugfix: in the “–builddir” configure parameter. Thanks to Piotr Sikora.

*) Bugfix: the “ssl_stapling_file” directive did not work; the bug had appeared in 1.9.2. Thanks to Faidon Liambotis and Brandon Black.

*) Bugfix: a segmentation fault might occur in a worker process if the “ssl_stapling” directive was used; the bug had appeared in 1.9.2. Thanks to Matthew Baldwin.

 

nginx開発者コメント:nginx 1.8およびnginx 1.9リリースについて

nginx 1.8 および nginx 1.9 のリリースに際して、開発者 Igor氏およびAndrew氏にコメントを頂きました。
 

こんにちは、村田です。

昨年6月の記者発表にも来日を頂きました、nginxの開発者であるIgor氏およびNginx Inc.のAndrew氏にnginxの新バージョンリリースについて、コメントを貰いました。ぜひ彼らのnginxに対する熱い想いをご覧ください。

また、7月16日(木)に開催します「いま企業に求められるクラウドとは?高速・高信頼クラウドソリューションセミナー」でnginxをご紹介します。こちらもぜひご参加下さい。


 

nginx1.8ステーブルラインとnginx1.9メインラインの公開により、Nginxは重要なマイルストーンに到達しました。この新しいバージョンへの分岐により、nginx 1.6(ステーブルライン)とnginx 1.7(メインライン)から入れ替えしてください。

最近の2つのステーブルライン、メインラインの発表は、コアエンジニアリングチームと世界中の熱狂的なWebサーバのユーザコミュニティが主導するnginxの年次開発や大規模な品質保証サイクルの集大成です。

Igor Sysoev氏 (nginxの開発者でありnginxの社の創設者) からは以下のコメントを頂きました。

「この最新リリースは、開発の非常に重要な段階を完了します。私たちは、大きな進歩を遂げている企業として成長し、成熟しており、アプリケーション配信のための現代的で非常に費用対効果の高いソリューションとして、さらに多くのエンタープライズ企業がnginxを使用しているのを見て興奮しています。
私たちは、特別なユーザーコミュニティからのフィードバックに基づいて、拡張機能のさまざまな作業を続けます。」

目次 [hide]

nginx 1.8

nginx 1.8.0は便利な機能と一年間の開発、テスト、展開のサイクルで発見された多くの重要なバグ修正の数を取り入れ、ステーブルラインの最新の製品品質のリリースです。

メインのアプリケーション配信ソフトウェアとしての拡張受け入れを強化し、nginx 1.8.0には、パフォーマンス、スケーラビリティ、信頼性、およびセキュリティ上のフォーカスを反映しています。ソフトウェア開発と品質管理プロセスを強化することに加えて、同社は、nginxのオープンソース専用のユーザーカンファレンスを開始した、そして継続的なコミュニティへのアウトリーチ活動に増加したリソースを注いできました。

nginx 1.9

nginx 1.9.0-メインラインは、積極的にユーザーコミュニティからの多大な貢献と、nginxのコアエンジニアリングチームによって開発されている、nginxのコードの最新スナップショットです。

nginx 1.9.0-メインラインは常に最新かつ最高のnginxのコードを利用したいユーザーをターゲットにしています。

nginx 1.9メインラインは、継続的な統合ルールに基づいて、同じ品質保証サイクルを受けます。nginxのメインバージョンは、(最も重要なものはステーブルラインにバックポートされます)バグ修正のほとんどがコミットされているブランチです。

ステーブルラインとメインラインの重要な違いは、メインラインはインフラストラクチャ操作に影響を与える可能性があり、開発APIの変更がある場合があるため、nginxのサードパーティ製モジュールや拡張機能に影響を及ぼす場合があります。それ以外は、安全にご利用いただけます。

現時点では、nginx 1.9メインラインは、nginx 1.8ステーブルラインからあまり違いはありません 🙂
nginx 1.9メインラインの中で最も注目すべき最近の特徴は「TCPプロキシとTCP負荷分散のサポート」です。

Nginx_Seminar

NGINX Plus R6の高い可用性

本記事はNGINX Inc.に掲載されている Tech Blog を日本語訳したものとなります。 原文は記事の最後にあるURLよりご確認ください。
 

インターネット接続が常態となった今日の社会では、ユーザーは、貴社のサイトやアプリを、24時間休みなく利用できることを期待しています。これを実現し、貴社の価値を高めるのがNGINXとNGINX Plusです。アプリケーションサーバのリバースプロキシおよびロードバランサーとしてNGINX Plusを展開する主な利点の一つは、アプリケーションの可用性と信頼性の向上であり、NGINX Plusそのものに高可用性(HA)を付加することにより、アプリとウェブサイトのパフォーマンスを一層向上させます。

NGINX Plus Release 6(R6)では、NGINX Plusインスタンスをアクティブ/パッシブHA設定で迅速かつ容易に展開できる新ソリューションを導入しました。このソリューションはオープンソースkeepalivedプロジェクトをベースに、(1) keepalivedデーモン、(2) HAペアの仮想IPアドレス割り当てを管理する仮想ルータ冗長性プロトコル(VRRP)の実装、および (3) サービス(ウェブサーバ、PHPバックエンド、NGINX Plusなど)が稼働状態にあるかどうかを判定するヘルスチェック機能という3つのコンポーネントをLinuxシステム向けHAソリューションに付与します。

目次 [hide]

 

高可用性はどのようにもたらされるか?

初期設定を基に(下記のHA用にNGINX Plusを設定するを参照)、keepalivedは一方のNGINX Plusノードを(アクティブ)マスターに、他方を(パッシブ)バックアップに指定します。各ノードにはそれぞれのIPアドレスがあり、マスターノードには仮想IPアドレスも割り当てられており、ドメイン名システム(DNS)の中でクライアントにアドバタイズされます。運用中、VRRPとヘルスチェック機能はノードとNGINX Plusの動作を監視し、マスターが機能を停止すると、その仮想IPアドレスが以下のようにバックアップに再割り当てされるようにします。

  • バックアップノードのVRRPインスタンスが、マスターノードのピアからadvertisementパケットを監視する。設定されたadvertisement間隔の3倍の時間を超えて同パケットを受信しないと、バックアップノードがマスターに代わって、仮想IPアドレスを自らに割り当てる。
  • マスターノードのNGINX Plusのヘルスチェックが、設定された回数失敗すると、keepalivedが仮想IPアドレスをマスターノードからバックアップノードに再割り当てする。

HA用にNGINX Plusを設定する

NGINX Plusノードのアクティブ/パッシブペアをHAに設定するには、それぞれのノードで以下の手順を実行します。

  1. NGINX Plusリポジトリーにある対応オペレーティングシステムの指示に従って、NGINX Plus R6ベースパッケージ(nginx-plus)をインストールまたはアップグレードします。
  2. NGINX Plusリポジトリーに示される対応オペレーティングシステムのインストールコマンドを使用し、下のUbuntuの例のようにnginx-plusnginx-ha-keepalivedに置換して、nginx-ha-keepalivedパッケージをインストールします。
    root# apt-get install nginx-ha-keepalived
  3. nginx-ha-setupスクリプトを実行します(nginx-ha-keepalivedから/usr/binにインストールされます)。
    root# nginx-ha-setup

端末のウインドウをサイドバイサイドにして、スクリプトを各ノードで同時に実行し、どちらも同じ手順を実行してから次の手順に進むようお薦めします。また、Linuxのscreen (1) コマンドを使用して端末のウインドウを起動し、セッションが途絶した場合でもインストールが続行されるようにすることをお薦めします。

表示されたプロンプトに対応できるよう、始める前に以下の情報を用意しておいてください。

  • 各ノードの物理IPアドレス
  • 最初にマスターノードに割り当てられている仮想IPアドレス。スクリプトはこれを「クラスターIPアドレス(またはエンドポイント)」として参照します。どちらかのノードの実際のIPアドレスではありません。

 

keepalived設定スクリプト

nginx-ha-setupスクリプトは、/etc/keepalived/keepalived.confというローカルkeepalived設定ファイルを各ノードに作成し、手順3で指定した値を取り込みます。次の例は、IPアドレスが192.168.100.100のノードでの作成例です(他方のノードのアドレスは192.168.100.101で、仮想IPアドレスは192.168.100.150です)。これはNGINX Plusの設定とよく似ていますが別物です。たとえば、ディレクティブの区切りにセミコロンが使われていません。

vrrp_script chk_nginx_service {
   script “/usr/libexec/keepalived/nginx-ha-check”
   interval 3 weight 50
}

vrrp_instance VI_1 {
   interface eth0
   state BACKUP
   priority 101
   virtual_router_id 51
   advert_int 1
   unicast_src_ip 192.168.100.100
   unicast_peer {
           192.168.100.101
        }
   authentication {
      auth_type PASS
      auth_pass f8f0e5114cbe031a3e1e622daf18f82a
   }
   virtual_ipaddress {
      192.168.100.150
   }
   track_script {
      chk_nginx_service
   }
   notify “/usr/libexec/keepalived/nginx-ha-notify”
}

すべてのディレクティブの目的を説明するのは、本稿では範囲を超えますが、以下のいくつかの点は留意する価値があります。

  • ファイルには以下の2つの主な設定ブロックがあります。
    • vrrp_scriptブロックはヘルスチェック機能を設定し、スクリプトを実行してNGINX Plusが稼働状態にあるかどうかをチェックします。

      nginx-ha-checkスクリプトがnginx-ha-keepalivedパッケージから指定のディレクトリ(OSにより異なる)に自動的にインストールされます。

      intervalディレクティブは、スクリプトの実行頻度を秒単位で設定します。

    • vrrp_instanceブロックは、このノードのVRRPインスタンスを設定します。

      指定したIPアドレスは、次の3つのディレクティブの値として記録されます:unicast_src_ip(ローカルノード)、unicast_peer(他方のノード)、およびvirtual_ipaddress(マスターノードに割り当てられた仮想IPアドレス)

      advert_intディレクティブは、マスターノードのVRRPインスタンスがadvertisementをバックアップノードのピアに送信する頻度を秒単位で制御します。

      virtual_router_idディレクティブ用の値51はサンプルです。必要に応じて変更し、使用環境で一意になるようにしてください(VRRPを使用してHAを複数のサービスに付与している場合に当てはまります)。

  • また、vrrp_scriptブロックのweightディレクティブとvrrp_instanceブロックのpriorityディレクティブは、どちらがマスターになるかを決定します。詳細はHAに関するNGINX Plus管理者ガイドのヘルスチェックスクリプトを使用したマスターとバックアップの管理をご覧ください。
  • ローカルネットワークで複数ペアのkeepalivedインスタンス(または他のVRRPインスタンス)を実行する場合、それぞれにvrrp_instanceブロックを作成し、一意の名前(例ではVI_1など)とvirtual_router_id番号を付与します。

    同様に、keepalivedを使用して他のサービスにHAを与える場合、それぞれに別々のヘルスチェックスクリプトとvrrp_scriptブロックを作成する必要があります。

 

詳細情報

HAソリューションの詳細は、NGINX Plus管理者ガイドのNGINX Plusの高可用性サポートをご覧ください。

どちらがマスターノードかの確認、マスターとバックアップの強制的変更、仮想IPの手動再割り当て、keepalivedとVRRPのトラブルシューティング、および仮想IPアドレスの追加に関する方法について記述されています。また、より複雑なHAセットアップ用のサンプル設定ファイルも提供されています。

原文:http://nginx.com/blog/high-availability-in-nginx-plus-r6/

Nginx_Seminar

Nginx 1.9.2 がリリースされました。

本記事では CHANGES に掲載された Nginx 1.9.2 のリリース情報をまとめています。
 

6月16日に Nginx 1.9.2 がリリースされました。
今回のCHENGESを見ますとストリームモジュールを中心に機能強化が行われています。

以下、Nginx 1.9.2 の CHANGES の日本語参考訳となります。

  • メールプロキシとストリームモジュールの”listen”ディレクティブの”backlog”パラメータが追加されました。
  • ストリームモジュール内の “allow” と “deny” ディレクティブが追加されました。
  • ストリームモジュール内の “proxy_bind” ディレクティブが追加されました。
  • ストリームモジュール内の “proxy_protocol” ディレクティブが追加されました。
  • -T switch が追加されました。
  • REQUEST_SCHEME パラメータは、uwsgi_params、fastcgi_params、scgi_params、fastcgi.confの標準設定ファイルに追加されました。
  • バグ修正:ストリームモジュールの”listen”ディレクティブの「reuseport」パラメータが機能しませんでした。
  • バグ修正:OCSP stapling がある場合には有効期限が切れたOCSPレスポンスを返すことがあります。

 

Nginx.org の CHANGES 原文は、下記のとおりです。

*) Feature: the “backlog” parameter of the “listen” directives of the mail proxy and stream modules.

*) Feature: the “allow” and “deny” directives in the stream module.

*) Feature: the “proxy_bind” directive in the stream module.

*) Feature: the “proxy_protocol” directive in the stream module.

*) Feature: the -T switch.

*) Feature: the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params, scgi_params, and uwsgi_params standard configuration files.

*) Bugfix: the “reuseport” parameter of the “listen” directive of the stream module did not work.

*) Bugfix: OCSP stapling might return an expired OCSP response in some cases.