らっちゃいブログ

日々の学びと気づきを発信するブログ

Nginx1.11.2がリリースされました

スポンサーリンク

変更点を見てみます。

https://nginx.org/en/CHANGES

*) 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.

stream モジュールと HTTP/2 関連の新機能とバグフィックスが目立ちますが、特段目立った変更はなさそうです。

あえて特筆するとすれば、IP_BIND_ADDRESS_NO_PORTオプションを指定することが可能になった点でしょうか。

NO_PORT と言っていますが、ポートを割り当てないという意味ではありません。ポートの割り当てタイミングをBIND時ではなく実際の接続時に変更するような動作となります。何がしたいかというと、dst ip が異なる場合には利用中のポートを再度割り当てることで、エフェメラルポートを節約することができる機能のようです。

私自身はエフェメラルポートが枯渇するような状況には陥ったことはないですが、必要な人には必要な機能なのでしょうね。

racchai.hatenablog.com

racchai.hatenablog.com

racchai.hatenablog.com