nginx 1.13.4 リリース

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

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

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.

Be the first to comment

コメント投稿

Your email address will not be published.


*