Mercurial > hg > nginx-vendor-1-0
changeset 632:65fd8be45530 NGINX_1_0_6
nginx 1.0.6
*) Feature: cache loader run time decrease.
*) Feature: loading time decrease of configuration with large number of
HTTPS sites.
*) Feature: now nginx supports ECDHE key exchange ciphers.
Thanks to Adrian Kotelba.
*) Feature: the "lingering_close" directive.
*) Feature: now shared zones and caches use POSIX semaphores on Solaris.
Thanks to Den Ivanov.
*) Bugfix: nginx could not be built on Linux 3.0.
*) Bugfix: a segmentation fault might occur in a worker process if
"fastcgi/scgi/uwsgi_param" directives were used with values starting
with "HTTP_"; the bug had appeared in 0.8.40.
*) Bugfix: in closing connection for pipelined requests.
*) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
"Accept-Encoding" request header line.
*) Bugfix: in timeout in unbuffered proxied mode.
*) Bugfix: memory leaks when a "proxy_pass" directive contains variables
and proxies to an HTTPS backend.
*) Bugfix: in parameter validaiton of a "proxy_pass" directive with
variables.
Thanks to Lanshun Zhou.
*) Bugfix: SSL did not work on QNX.
*) Bugfix: SSL modules could not be built by gcc 4.6 without
--with-debug option.
line wrap: on
line diff
--- a/CHANGES +++ b/CHANGES @@ -1,21 +1,62 @@ +Changes with nginx 1.0.6 29 Jul 2011 + + *) Feature: cache loader run time decrease. + + *) Feature: loading time decrease of configuration with large number of + HTTPS sites. + + *) Feature: now nginx supports ECDHE key exchange ciphers. + Thanks to Adrian Kotelba. + + *) Feature: the "lingering_close" directive. + + *) Feature: now shared zones and caches use POSIX semaphores on Solaris. + Thanks to Den Ivanov. + + *) Bugfix: nginx could not be built on Linux 3.0. + + *) Bugfix: a segmentation fault might occur in a worker process if + "fastcgi/scgi/uwsgi_param" directives were used with values starting + with "HTTP_"; the bug had appeared in 0.8.40. + + *) Bugfix: in closing connection for pipelined requests. + + *) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in + "Accept-Encoding" request header line. + + *) Bugfix: in timeout in unbuffered proxied mode. + + *) Bugfix: memory leaks when a "proxy_pass" directive contains variables + and proxies to an HTTPS backend. + + *) Bugfix: in parameter validaiton of a "proxy_pass" directive with + variables. + Thanks to Lanshun Zhou. + + *) Bugfix: SSL did not work on QNX. + + *) Bugfix: SSL modules could not be built by gcc 4.6 without + --with-debug option. + + Changes with nginx 1.0.5 19 Jul 2011 *) Change: now default SSL ciphers are "HIGH:!aNULL:!MD5". Thanks to Rob Stradling. - *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size" + *) Feature: the "referer_hash_max_size" and "referer_hash_bucket_size" directives. Thanks to Witold Filipczyk. *) Feature: $uid_reset variable. - *) Bugfix: a segmentation fault might occur in a worker process, if a + *) Bugfix: a segmentation fault might occur in a worker process, if a caching was used. Thanks to Lanshun Zhou. - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in + *) Bugfix: worker processes may got caught in an endless loop during + reconfiguration, if a caching was used; the bug had appeared in 0.8.48. Thanks to Maxim Dounin. @@ -25,36 +66,36 @@ Changes with nginx 1.0.5 Changes with nginx 1.0.4 01 Jun 2011 - *) Change: now regular expressions case sensitivity in the "map" + *) Change: now regular expressions case sensitivity in the "map" directive is given by prefixes "~" or "~*". - *) Feature: now shared zones and caches use POSIX semaphores on Linux. + *) Feature: now shared zones and caches use POSIX semaphores on Linux. Thanks to Denis F. Latypoff. *) Bugfix: "stalled cache updating" alert. - *) Bugfix: nginx could not be built --without-http_auth_basic_module; + *) Bugfix: nginx could not be built --without-http_auth_basic_module; the bug had appeared in 1.0.3. Changes with nginx 1.0.3 25 May 2011 - *) Feature: the "auth_basic_user_file" directive supports "$apr1", + *) Feature: the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", and "{SSHA}" password encryption methods. Thanks to Maxim Dounin. *) Feature: the "geoip_org" directive and $geoip_org variable. Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. - *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4 + *) Feature: ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses mapped to IPv6 addresses. - *) Bugfix: a segmentation fault occurred in a worker process during - testing IPv4 address mapped to IPv6 address, if access or deny rules + *) Bugfix: a segmentation fault occurred in a worker process during + testing IPv4 address mapped to IPv6 address, if access or deny rules were defined only for IPv6; the bug had appeared in 0.8.22. - *) Bugfix: a cached response may be broken if proxy/fastcgi/scgi/ - uwsgi_cache_bypass and proxy/fastcgi/scgi/uwsgi_no_cache directive + *) Bugfix: a cached response may be broken if proxy/fastcgi/scgi/ + uwsgi_cache_bypass and proxy/fastcgi/scgi/uwsgi_no_cache directive values were different; the bug had appeared in 0.8.46. @@ -62,44 +103,44 @@ Changes with nginx 1.0.2 *) Feature: now shared zones and caches use POSIX semaphores. - *) Bugfix: in the "rotate" parameter of the "image_filter" directive. + *) Bugfix: in the "rotate" parameter of the "image_filter" directive. Thanks to Adam Bocim. - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in + *) Bugfix: nginx could not be built on Solaris; the bug had appeared in 1.0.1. Changes with nginx 1.0.1 03 May 2011 - *) Change: now the "split_clients" directive uses MurmurHash2 algorithm + *) Change: now the "split_clients" directive uses MurmurHash2 algorithm because of better distribution. Thanks to Oleg Mamontov. - *) Change: now long strings starting with zero are not considered as + *) Change: now long strings starting with zero are not considered as false values. Thanks to Maxim Dounin. *) Change: now nginx uses a default listen backlog value 511 on Linux. - *) Feature: the $upstream_... variables may be used in the SSI and perl + *) Feature: the $upstream_... variables may be used in the SSI and perl modules. *) Bugfix: now nginx limits better disk cache size. Thanks to Oleg Mamontov. - *) Bugfix: a segmentation fault might occur while parsing incorrect - IPv4 address; the bug had appeared in 0.9.3. + *) Bugfix: a segmentation fault might occur while parsing incorrect IPv4 + address; the bug had appeared in 0.9.3. Thanks to Maxim Dounin. - *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug + *) Bugfix: nginx could not be built by gcc 4.6 without --with-debug option. - *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug + *) Bugfix: nginx could not be built on Solaris 9 and earlier; the bug had appeared in 0.9.3. Thanks to Dagobert Michelsen. - *) Bugfix: $request_time variable had invalid values if subrequests - were used; the bug had appeared in 0.8.47. + *) Bugfix: $request_time variable had invalid values if subrequests were + used; the bug had appeared in 0.8.47. Thanks to Igor A. Valcov. @@ -108,7 +149,7 @@ Changes with nginx 1.0.0 *) Bugfix: a cache manager might hog CPU after reload. Thanks to Maxim Dounin. - *) Bugfix: an "image_filter crop" directive worked incorrectly coupled + *) Bugfix: an "image_filter crop" directive worked incorrectly coupled with an "image_filter rotate 180" directive. *) Bugfix: a "satisfy any" directive disabled custom 401 error page. @@ -116,22 +157,22 @@ Changes with nginx 1.0.0 Changes with nginx 0.9.7 04 Apr 2011 - *) Feature: now keepalive connections may be closed premature, if there + *) Feature: now keepalive connections may be closed premature, if there are no free worker connections. Thanks to Maxim Dounin. *) Feature: the "rotate" parameter of the "image_filter" directive. Thanks to Adam Bocim. - *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or - "uwsgi_pass" directives is given by expression and refers to a + *) Bugfix: a case when a backend in "fastcgi_pass", "scgi_pass", or + "uwsgi_pass" directives is given by expression and refers to a defined upstream. Changes with nginx 0.9.6 21 Mar 2011 - *) Feature: the "map" directive supports regular expressions as value - of the first parameter. + *) Feature: the "map" directive supports regular expressions as value of + the first parameter. *) Feature: $time_iso8601 access_log variable. Thanks to Michael Lustfield. @@ -139,19 +180,19 @@ Changes with nginx 0.9.6 Changes with nginx 0.9.5 21 Feb 2011 - *) Change: now nginx uses a default listen backlog value -1 on Linux. + *) Change: now nginx uses a default listen backlog value -1 on Linux. Thanks to Andrei Nigmatulin. - *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city" + *) Feature: the "utf8" parameter of "geoip_country" and "geoip_city" directives. Thanks to Denis F. Latypoff. - *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass" + *) Bugfix: in a default "proxy_redirect" directive if "proxy_pass" directive has no URI part. Thanks to Maxim Dounin. - *) Bugfix: an "error_page" directive did not work with nonstandard - error codes; the bug had appeared in 0.8.53. + *) Bugfix: an "error_page" directive did not work with nonstandard error + codes; the bug had appeared in 0.8.53. Thanks to Maxim Dounin. @@ -164,23 +205,23 @@ Changes with nginx 0.9.4 Changes with nginx 0.9.3 13 Dec 2010 - *) Bugfix: if there was a single server for given IPv6 address:port - pair, then captures in regular expressions in a "server_name" + *) Bugfix: if there was a single server for given IPv6 address:port + pair, then captures in regular expressions in a "server_name" directive did not work. - *) Bugfix: nginx could not be built on Solaris; the bug had appeared in + *) Bugfix: nginx could not be built on Solaris; the bug had appeared in 0.9.0. Changes with nginx 0.9.2 06 Dec 2010 - *) Feature: the "If-Unmodified-Since" client request header line + *) Feature: the "If-Unmodified-Since" client request header line support. - *) Workaround: fallback to accept() syscall if accept4() was not + *) Workaround: fallback to accept() syscall if accept4() was not implemented; the issue had appeared in 0.9.0. - *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in + *) Bugfix: nginx could not be built on Cygwin; the bug had appeared in 0.9.0. *) Bugfix: for OpenSSL vulnerability CVE-2010-4180. @@ -189,7 +230,7 @@ Changes with nginx 0.9.2 Changes with nginx 0.9.1 30 Nov 2010 - *) Bugfix: "return CODE message" directives did not work; the bug had + *) Bugfix: "return CODE message" directives did not work; the bug had appeared in 0.9.0. @@ -197,13 +238,13 @@ Changes with nginx 0.9.0 *) Feature: the "keepalive_disable" directive. - *) Feature: the "map" directive supports variables as value of a - defined variable. - - *) Feature: the "map" directive supports empty strings as value of the + *) Feature: the "map" directive supports variables as value of a defined + variable. + + *) Feature: the "map" directive supports empty strings as value of the first parameter. - *) Feature: the "map" directive supports expressions as the first + *) Feature: the "map" directive supports expressions as the first parameter. *) Feature: nginx(8) manual page. @@ -212,36 +253,36 @@ Changes with nginx 0.9.0 *) Feature: Linux accept4() support. Thanks to Simon Liu. - *) Workaround: elimination of Linux linker warning about "sys_errlist" + *) Workaround: elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; the warning had appeared in 0.8.35. - *) Bugfix: a segmentation fault might occur in a worker process, if the + *) Bugfix: a segmentation fault might occur in a worker process, if the "auth_basic" directive was used. Thanks to Michail Laletin. - *) Bugfix: compatibility with ngx_http_eval_module; the bug had - appeared in 0.8.42. + *) Bugfix: compatibility with ngx_http_eval_module; the bug had appeared + in 0.8.42. Changes with nginx 0.8.53 18 Oct 2010 - *) Feature: now the "error_page" directive allows to change a status + *) Feature: now the "error_page" directive allows to change a status code in a redirect. - *) Feature: the "gzip_disable" directive supports special "degradation" + *) Feature: the "gzip_disable" directive supports special "degradation" mask. *) Bugfix: a socket leak might occurred if file AIO was used. Thanks to Maxim Dounin. - *) Bugfix: if the first server had no "listen" directive and there was - no explicit default server, then a next server with a "listen" + *) Bugfix: if the first server had no "listen" directive and there was + no explicit default server, then a next server with a "listen" directive became the default server; the bug had appeared in 0.8.21. Changes with nginx 0.8.52 28 Sep 2010 - *) Bugfix: nginx used SSL mode for a listen socket if any listen option + *) Bugfix: nginx used SSL mode for a listen socket if any listen option was set; the bug had appeared in 0.8.51. @@ -249,75 +290,75 @@ Changes with nginx 0.8.51 *) Change: the "secure_link_expires" directive has been canceled. - *) Change: a logging level of resolver errors has been lowered from + *) Change: a logging level of resolver errors has been lowered from "alert" to "error". - *) Feature: now a listen socket "ssl" parameter may be set several + *) Feature: now a listen socket "ssl" parameter may be set several times. Changes with nginx 0.8.50 02 Sep 2010 - *) Feature: the "secure_link", "secure_link_md5", and + *) Feature: the "secure_link", "secure_link_md5", and "secure_link_expires" directives of the ngx_http_secure_link_module. *) Feature: the -q switch. Thanks to Gena Makhomed. - *) Bugfix: worker processes may got caught in an endless loop during - reconfiguration, if a caching was used; the bug had appeared in + *) Bugfix: worker processes may got caught in an endless loop during + reconfiguration, if a caching was used; the bug had appeared in 0.8.48. *) Bugfix: in the "gzip_disable" directive. Thanks to Derrick Petzold. - *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload + *) Bugfix: nginx/Windows could not send stop, quit, reopen, and reload signals to a process run in other session. Changes with nginx 0.8.49 09 Aug 2010 - *) Feature: the "image_filter_jpeg_quality" directive supports + *) Feature: the "image_filter_jpeg_quality" directive supports variables. - *) Bugfix: a segmentation fault might occur in a worker process, if the - $geoip_region_name variables was used; the bug had appeared in + *) Bugfix: a segmentation fault might occur in a worker process, if the + $geoip_region_name variables was used; the bug had appeared in 0.8.48. - *) Bugfix: errors intercepted by error_page were cached only for next + *) Bugfix: errors intercepted by error_page were cached only for next request; the bug had appeared in 0.8.48. Changes with nginx 0.8.48 03 Aug 2010 - *) Change: now the "server_name" directive default value is an empty + *) Change: now the "server_name" directive default value is an empty name "". Thanks to Gena Makhomed. - *) Change: now the "server_name_in_redirect" directive default value is + *) Change: now the "server_name_in_redirect" directive default value is "off". - *) Feature: the $geoip_dma_code, $geoip_area_code, and + *) Feature: the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables. Thanks to Christine McGonagle. - *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and - "scgi_pass" directives were not inherited inside "limit_except" + *) Bugfix: the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and + "scgi_pass" directives were not inherited inside "limit_except" blocks. - *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses" - "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not + *) Bugfix: the "proxy_cache_min_uses", "fastcgi_cache_min_uses" + "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; the bug had appeared in 0.8.46. - *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly + *) Bugfix: the "fastcgi_split_path_info" directive used incorrectly captures, if only parts of an URI were captured. Thanks to Yuriy Taraday and Frank Enderle. - *) Bugfix: the "rewrite" directive did not escape a ";" character - during copying from URI to query string. + *) Bugfix: the "rewrite" directive did not escape a ";" character during + copying from URI to query string. Thanks to Daisuke Murase. - *) Bugfix: the ngx_http_image_filter_module closed a connection, if an + *) Bugfix: the ngx_http_image_filter_module closed a connection, if an image was larger than "image_filter_buffer" size. @@ -327,22 +368,22 @@ Changes with nginx 0.8.47 *) Bugfix: errors intercepted by error_page could not be cached. - *) Bugfix: a cache manager process may got caught in an endless loop, - if max_size parameter was used; the bug had appeared in 0.8.46. + *) Bugfix: a cache manager process may got caught in an endless loop, if + max_size parameter was used; the bug had appeared in 0.8.46. Changes with nginx 0.8.46 19 Jul 2010 - *) Change: now the "proxy_no_cache", "fastcgi_no_cache", - "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached + *) Change: now the "proxy_no_cache", "fastcgi_no_cache", + "uwsgi_no_cache", and "scgi_no_cache" directives affect on a cached response saving only. - *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass", + *) Feature: the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", and "scgi_cache_bypass" directives. - *) Bugfix: nginx did not free memory in cache keys zones if there was - an error during working with backend: the memory was freed only - after inactivity time or on memory low condition. + *) Bugfix: nginx did not free memory in cache keys zones if there was an + error during working with backend: the memory was freed only after + inactivity time or on memory low condition. Changes with nginx 0.8.45 13 Jul 2010 @@ -350,23 +391,23 @@ Changes with nginx 0.8.45 *) Feature: ngx_http_xslt_filter improvements. Thanks to Laurence Rowe. - *) Bugfix: SSI response might be truncated after include with + *) Bugfix: SSI response might be truncated after include with wait="yes"; the bug had appeared in 0.7.25. Thanks to Maxim Dounin. - *) Bugfix: the "listen" directive did not support the "setfib=0" + *) Bugfix: the "listen" directive did not support the "setfib=0" parameter. Changes with nginx 0.8.44 05 Jul 2010 - *) Change: now nginx does not cache by default backend responses, if + *) Change: now nginx does not cache by default backend responses, if they have a "Set-Cookie" header line. *) Feature: the "listen" directive supports the "setfib" parameter. Thanks to Andrew Filonov. - *) Bugfix: the "sub_filter" directive might change character case on + *) Bugfix: the "sub_filter" directive might change character case on partial match. *) Bugfix: compatibility with HP/UX. @@ -381,22 +422,21 @@ Changes with nginx 0.8.43 *) Feature: large geo ranges base loading speed-up. - *) Bugfix: an error_page redirection to "location /zero {return 204;}" - without changing status code kept the error body; the bug had + *) Bugfix: an error_page redirection to "location /zero {return 204;}" + without changing status code kept the error body; the bug had appeared in 0.8.42. - *) Bugfix: nginx might close IPv6 listen socket during - reconfiguration. + *) Bugfix: nginx might close IPv6 listen socket during reconfiguration. Thanks to Maxim Dounin. - *) Bugfix: the $uid_set variable may be used at any request processing + *) Bugfix: the $uid_set variable may be used at any request processing stage. Changes with nginx 0.8.42 21 Jun 2010 - *) Change: now nginx tests locations given by regular expressions, if - request was matched exactly by a location given by a prefix string. + *) Change: now nginx tests locations given by regular expressions, if + request was matched exactly by a location given by a prefix string. The previous behavior has been introduced in 0.7.1. *) Feature: the ngx_http_scgi_module. @@ -407,17 +447,17 @@ Changes with nginx 0.8.42 Changes with nginx 0.8.41 15 Jun 2010 - *) Security: nginx/Windows worker might be terminated abnormally if a + *) Security: nginx/Windows worker might be terminated abnormally if a requested file name has invalid UTF-8 encoding. *) Change: now nginx allows to use spaces in a request line. - *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend + *) Bugfix: the "proxy_redirect" directive changed incorrectly a backend "Refresh" response header line. Thanks to Andrey Andreew and Max Sogin. - *) Bugfix: nginx did not support path without host name in - "Destination" request header line. + *) Bugfix: nginx did not support path without host name in "Destination" + request header line. Changes with nginx 0.8.40 07 Jun 2010 @@ -428,26 +468,26 @@ Changes with nginx 0.8.40 *) Feature: the ngx_http_uwsgi_module. Thanks to Roberto De Ioris. - *) Feature: a "fastcgi_param" directive with value starting with - "HTTP_" overrides a client request header line. - - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request + *) Feature: a "fastcgi_param" directive with value starting with "HTTP_" + overrides a client request header line. + + *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request header lines were passed to FastCGI-server while caching. - *) Bugfix: listen unix domain socket could not be changed during + *) Bugfix: listen unix domain socket could not be changed during reconfiguration. Thanks to Maxim Dounin. Changes with nginx 0.8.39 31 May 2010 - *) Bugfix: an inherited "alias" directive worked incorrectly in + *) Bugfix: an inherited "alias" directive worked incorrectly in inclusive location. - *) Bugfix: in "alias" with variables and "try_files" directives + *) Bugfix: in "alias" with variables and "try_files" directives combination. - *) Bugfix: listen unix domain and IPv6 sockets did not inherit while + *) Bugfix: listen unix domain and IPv6 sockets did not inherit while online upgrade. Thanks to Maxim Dounin. @@ -456,15 +496,15 @@ Changes with nginx 0.8.38 *) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives. - *) Feature: now the "rewrite" directive does a redirect automatically - if the $scheme variable is used. + *) Feature: now the "rewrite" directive does a redirect automatically if + the $scheme variable is used. Thanks to Piotr Sikora. - *) Bugfix: now "limit_req" delay directive conforms to the described + *) Bugfix: now "limit_req" delay directive conforms to the described algorithm. Thanks to Maxim Dounin. - *) Bugfix: the $uid_got variable might not be used in the SSI and perl + *) Bugfix: the $uid_got variable might not be used in the SSI and perl modules. @@ -474,31 +514,31 @@ Changes with nginx 0.8.37 *) Feature: the "map" directive supports keys more than 255 characters. - *) Bugfix: nginx ignored the "private" and "no-store" values in the + *) Bugfix: nginx ignored the "private" and "no-store" values in the "Cache-Control" backend response header line. - *) Bugfix: a "stub" parameter of an "include" SSI directive was not + *) Bugfix: a "stub" parameter of an "include" SSI directive was not used, if empty response has 200 status code. - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then a segmentation fault might + *) Bugfix: if a proxied or FastCGI request was internally redirected to + another proxied or FastCGI location, then a segmentation fault might occur in a worker process; the bug had appeared in 0.8.33. Thanks to Yichun Zhang. - *) Bugfix: IMAP connections may hang until they timed out while talking + *) Bugfix: IMAP connections may hang until they timed out while talking to Zimbra server. Thanks to Alan Batie. Changes with nginx 0.8.36 22 Apr 2010 - *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, - COPY, and MOVE methods for symlinks. - - *) Bugfix: values of the $query_string, $arg_..., etc. variables cached + *) Bugfix: the ngx_http_dav_module handled incorrectly the DELETE, COPY, + and MOVE methods for symlinks. + + *) Bugfix: values of the $query_string, $arg_..., etc. variables cached in main request were used by the SSI module in subrequests. - *) Bugfix: a variable value was repeatedly encoded after each an "echo" + *) Bugfix: a variable value was repeatedly encoded after each an "echo" SSI-command output; the bug had appeared in 0.6.14. *) Bugfix: a worker process hung if a FIFO file was requested. @@ -507,7 +547,7 @@ Changes with nginx 0.8.36 *) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux. Thanks to Maxim Dounin. - *) Bugfix: nginx could not be built --without-http-cache; the bug had + *) Bugfix: nginx could not be built --without-http-cache; the bug had appeared in 0.8.35. @@ -517,60 +557,60 @@ Changes with nginx 0.8.35 *) Feature: the "chunked_transfer_encoding" directive. - *) Bugfix: an "&" character was not escaped when it was copied in + *) Bugfix: an "&" character was not escaped when it was copied in arguments part in a rewrite rule. - *) Bugfix: nginx might be terminated abnormally while a signal - processing or if the directive "timer_resolution" was used on - platforms which do not support kqueue or eventport notification + *) Bugfix: nginx might be terminated abnormally while a signal + processing or if the directive "timer_resolution" was used on + platforms which do not support kqueue or eventport notification methods. Thanks to George Xie and Maxim Dounin. - *) Bugfix: if temporary files and permanent storage area resided at - different file systems, then permanent file modification times were + *) Bugfix: if temporary files and permanent storage area resided at + different file systems, then permanent file modification times were incorrect. Thanks to Maxim Dounin. - *) Bugfix: ngx_http_memcached_module might issue the error message + *) Bugfix: ngx_http_memcached_module might issue the error message "memcached sent invalid trailer". Thanks to Maxim Dounin. - *) Bugfix: nginx could not built zlib-1.2.4 library using the library + *) Bugfix: nginx could not built zlib-1.2.4 library using the library sources. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault occurred in a worker process, if there - was large stderr output before FastCGI response; the bug had - appeared in 0.8.34. + *) Bugfix: a segmentation fault occurred in a worker process, if there + was large stderr output before FastCGI response; the bug had appeared + in 0.8.34. Thanks to Maxim Dounin. Changes with nginx 0.8.34 03 Mar 2010 - *) Bugfix: nginx did not support all ciphers and digests used in client + *) Bugfix: nginx did not support all ciphers and digests used in client certificates. Thanks to Innocenty Enikeew. - *) Bugfix: nginx cached incorrectly FastCGI responses if there was - large stderr output before response. + *) Bugfix: nginx cached incorrectly FastCGI responses if there was large + stderr output before response. *) Bugfix: nginx did not support HTTPS referrers. - *) Bugfix: nginx/Windows might not find file if path in configuration + *) Bugfix: nginx/Windows might not find file if path in configuration was given in other character case; the bug had appeared in 0.8.33. - *) Bugfix: the $date_local variable has an incorrect value, if the "%s" + *) Bugfix: the $date_local variable has an incorrect value, if the "%s" format was used. Thanks to Maxim Dounin. - *) Bugfix: if ssl_session_cache was not set or was set to "none", then - during client certificate verify the error "session id context + *) Bugfix: if ssl_session_cache was not set or was set to "none", then + during client certificate verify the error "session id context uninitialized" might occur; the bug had appeared in 0.7.1. - *) Bugfix: a geo range returned default value if the range included two + *) Bugfix: a geo range returned default value if the range included two or more /16 networks and did not begin at /16 network boundary. - *) Bugfix: a block used in a "stub" parameter of an "include" SSI + *) Bugfix: a block used in a "stub" parameter of an "include" SSI directive was output with "text/plain" MIME type. *) Bugfix: $r->sleep() did not work; the bug had appeared in 0.8.11. @@ -584,19 +624,19 @@ Changes with nginx 0.8.33 *) Security: now nginx/Windows ignores short files names. Thanks to Dan Crowley, Core Security Technologies. - *) Change: now keepalive connections after POST requests are not + *) Change: now keepalive connections after POST requests are not disabled for MSIE 7.0+. Thanks to Adam Lounds. *) Workaround: now keepalive connections are disabled for Safari. Thanks to Joshua Sierles. - *) Bugfix: if a proxied or FastCGI request was internally redirected to - another proxied or FastCGI location, then $upstream_response_time - variable may have abnormally large value; the bug had appeared in + *) Bugfix: if a proxied or FastCGI request was internally redirected to + another proxied or FastCGI location, then $upstream_response_time + variable may have abnormally large value; the bug had appeared in 0.8.7. - *) Bugfix: a segmentation fault might occur in a worker process, while + *) Bugfix: a segmentation fault might occur in a worker process, while discarding a request body; the bug had appeared in 0.8.11. @@ -605,68 +645,68 @@ Changes with nginx 0.8.32 *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. Thanks to Maxim Dounin. - *) Bugfix: regular expression named captures worked for two names only. + *) Bugfix: regular expression named captures worked for two names only. Thanks to Maxim Dounin. - *) Bugfix: now the "localhost" name is used in the "Host" request - header line, if an unix domain socket is defined in the "auth_http" + *) Bugfix: now the "localhost" name is used in the "Host" request header + line, if an unix domain socket is defined in the "auth_http" directive. Thanks to Maxim Dounin. - *) Bugfix: nginx did not support chunked transfer encoding for 201 + *) Bugfix: nginx did not support chunked transfer encoding for 201 responses. Thanks to Julian Reich. - *) Bugfix: if the "expires modified" set date in the past, then a - negative number was set in the "Cache-Control" response header line. + *) Bugfix: if the "expires modified" set date in the past, then a + negative number was set in the "Cache-Control" response header line. Thanks to Alex Kapranoff. Changes with nginx 0.8.31 23 Dec 2009 - *) Feature: now the "error_page" directive may redirect the 301 and 302 + *) Feature: now the "error_page" directive may redirect the 301 and 302 responses. - *) Feature: the $geoip_city_continent_code, $geoip_latitude, and + *) Feature: the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude variables. Thanks to Arvind Sundararajan. - *) Feature: now the ngx_http_image_filter_module deletes always EXIF - and other application specific data if the data consume more than 5% - of a JPEG file. - - *) Bugfix: nginx closed a connection if a cached response had an empty + *) Feature: now the ngx_http_image_filter_module deletes always EXIF and + other application specific data if the data consume more than 5% of a + JPEG file. + + *) Bugfix: nginx closed a connection if a cached response had an empty body. Thanks to Piotr Sikora. - *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher + *) Bugfix: nginx might not be built by gcc 4.x if the -O2 or higher optimization option was used. Thanks to Maxim Dounin and Denis F. Latypoff. - *) Bugfix: regular expressions in location were always tested in + *) Bugfix: regular expressions in location were always tested in case-sensitive mode; the bug had appeared in 0.8.25. - *) Bugfix: nginx cached a 304 response if there was the "If-None-Match" + *) Bugfix: nginx cached a 304 response if there was the "If-None-Match" header line in a proxied request. Thanks to Tim Dettrick and David Kostal. - *) Bugfix: nginx/Windows tried to delete a temporary file twice if the + *) Bugfix: nginx/Windows tried to delete a temporary file twice if the file should replace an already existent file. Changes with nginx 0.8.30 15 Dec 2009 - *) Change: now the default buffer size of the + *) Change: now the default buffer size of the "large_client_header_buffers" directive is 8K. Thanks to Andrew Cholakian. *) Feature: the conf/fastcgi.conf for simple FastCGI configurations. - *) Bugfix: nginx/Windows tried to rename a temporary file twice if the + *) Bugfix: nginx/Windows tried to rename a temporary file twice if the file should replace an already existent file. - *) Bugfix: of "double free or corruption" error issued if host could - not be resolved; the bug had appeared in 0.8.22. + *) Bugfix: of "double free or corruption" error issued if host could not + be resolved; the bug had appeared in 0.8.22. Thanks to Konstantin Svist. *) Bugfix: in libatomic usage on some platforms. @@ -675,11 +715,11 @@ Changes with nginx 0.8.30 Changes with nginx 0.8.29 30 Nov 2009 - *) Change: now the "009" status code is written to an access log for + *) Change: now the "009" status code is written to an access log for proxied HTTP/0.9 responses. - *) Feature: the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives support + *) Feature: the "addition_types", "charset_types", "gzip_types", + "ssi_types", "sub_filter_types", and "xslt_types" directives support an "*" parameter. *) Feature: GCC 4.1+ built-in atomic operations usage. @@ -692,63 +732,63 @@ Changes with nginx 0.8.29 *) Bugfix: cached HTTP/0.9 responses were handled incorrectly. - *) Bugfix: regular expression named captures given by "?P<...>" did not + *) Bugfix: regular expression named captures given by "?P<...>" did not work in a "server_name" directive. Thanks to Maxim Dounin. Changes with nginx 0.8.28 23 Nov 2009 - *) Bugfix: nginx could not be built with the --without-pcre parameter; + *) Bugfix: nginx could not be built with the --without-pcre parameter; the bug had appeared in 0.8.25. Changes with nginx 0.8.27 17 Nov 2009 - *) Bugfix: regular expressions did not work in nginx/Windows; the bug + *) Bugfix: regular expressions did not work in nginx/Windows; the bug had appeared in 0.8.25. Changes with nginx 0.8.26 16 Nov 2009 - *) Bugfix: in captures usage in "rewrite" directive; the bug had + *) Bugfix: in captures usage in "rewrite" directive; the bug had appeared in 0.8.25. - *) Bugfix: nginx could not be built without the --with-debug option; - the bug had appeared in 0.8.25. + *) Bugfix: nginx could not be built without the --with-debug option; the + bug had appeared in 0.8.25. Changes with nginx 0.8.25 16 Nov 2009 - *) Change: now no message is written in an error log if a variable is + *) Change: now no message is written in an error log if a variable is not found by $r->variable() method. *) Feature: the ngx_http_degradation_module. *) Feature: regular expression named captures. - *) Feature: now URI part is not required a "proxy_pass" directive if + *) Feature: now URI part is not required a "proxy_pass" directive if variables are used. *) Feature: now the "msie_padding" directive works for Chrome too. - *) Bugfix: a segmentation fault occurred in a worker process on low + *) Bugfix: a segmentation fault occurred in a worker process on low memory condition; the bug had appeared in 0.8.18. - *) Bugfix: nginx sent gzipped responses to clients those do not support - gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared + *) Bugfix: nginx sent gzipped responses to clients those do not support + gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared in 0.8.16. Changes with nginx 0.8.24 11 Nov 2009 - *) Bugfix: nginx always added "Content-Encoding: gzip" response header + *) Bugfix: nginx always added "Content-Encoding: gzip" response header line in 304 responses sent by ngx_http_gzip_static_module. - *) Bugfix: nginx could not be built without the --with-debug option; - the bug had appeared in 0.8.23. - - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive + *) Bugfix: nginx could not be built without the --with-debug option; the + bug had appeared in 0.8.23. + + *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive inherited incorrectly from previous level. *) Bugfix: in resolving empty name. @@ -759,11 +799,11 @@ Changes with nginx 0.8.23 *) Security: now SSL/TLS renegotiation is disabled. Thanks to Maxim Dounin. - *) Bugfix: listen unix domain socket did not inherit while online + *) Bugfix: listen unix domain socket did not inherit while online upgrade. - *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive - did not without yet another directive with any IP address. + *) Bugfix: the "unix:" parameter of the "set_real_ip_from" directive did + not without yet another directive with any IP address. *) Bugfix: segmentation fault and infinite looping in resolver. @@ -773,17 +813,17 @@ Changes with nginx 0.8.23 Changes with nginx 0.8.22 03 Nov 2009 - *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" + *) Feature: the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. *) Feature: the "access" and the "deny" directives support IPv6. - *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in + *) Feature: the "set_real_ip_from" directive supports IPv6 addresses in request headers. *) Feature: the "unix:" parameter of the "set_real_ip_from" directive. - *) Bugfix: nginx did not delete unix domain socket after configuration + *) Bugfix: nginx did not delete unix domain socket after configuration testing. *) Bugfix: nginx deleted unix domain socket while online upgrade. @@ -791,16 +831,16 @@ Changes with nginx 0.8.22 *) Bugfix: the "!-x" operator did not work. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault might occur in a worker process, if + *) Bugfix: a segmentation fault might occur in a worker process, if limit_rate was used in HTTPS server. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault might occur in a worker process while + *) Bugfix: a segmentation fault might occur in a worker process while $limit_rate logging. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault might occur in a worker process, if - there was no "listen" directive in "server" block; the bug had + *) Bugfix: a segmentation fault might occur in a worker process, if + there was no "listen" directive in "server" block; the bug had appeared in 0.8.21. @@ -808,13 +848,13 @@ Changes with nginx 0.8.21 *) Feature: now the "-V" switch shows TLS SNI support. - *) Feature: the "listen" directive of the HTTP module supports unix + *) Feature: the "listen" directive of the HTTP module supports unix domain sockets. Thanks to Hongli Lai. *) Feature: the "default_server" parameter of the "listen" directive. - *) Feature: now a "default" parameter is not required to set listen + *) Feature: now a "default" parameter is not required to set listen socket options. *) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms; @@ -826,22 +866,22 @@ Changes with nginx 0.8.20 *) Change: now default SSL ciphers are "HIGH:!ADH:!MD5". - *) Bugfix: the ngx_http_autoindex_module did not show the trailing - slash in links to a directory; the bug had appeared in 0.7.15. - - *) Bugfix: nginx did not close a log file set by the --error-log-path + *) Bugfix: the ngx_http_autoindex_module did not show the trailing slash + in links to a directory; the bug had appeared in 0.7.15. + + *) Bugfix: nginx did not close a log file set by the --error-log-path configuration option; the bug had appeared in 0.7.53. - *) Bugfix: nginx did not treat a comma as separator in the + *) Bugfix: nginx did not treat a comma as separator in the "Cache-Control" backend response header line. - *) Bugfix: nginx/Windows might not create temporary file, a cache file, - or "proxy/fastcgi_store"d file if a worker had no enough access + *) Bugfix: nginx/Windows might not create temporary file, a cache file, + or "proxy/fastcgi_store"d file if a worker had no enough access rights for top level directories. - *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines - were not hidden while caching if no "fastcgi_hide_header" directives - were used with any parameters. + *) Bugfix: the "Set-Cookie" and "P3P" FastCGI response header lines were + not hidden while caching if no "fastcgi_hide_header" directives were + used with any parameters. *) Bugfix: nginx counted incorrectly disk cache size. @@ -852,8 +892,8 @@ Changes with nginx 0.8.19 *) Change: now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". - *) Bugfix: a "limit_req" directive did not work; the bug had appeared - in 0.8.18. + *) Bugfix: a "limit_req" directive did not work; the bug had appeared in + 0.8.18. Changes with nginx 0.8.18 06 Oct 2009 @@ -862,21 +902,21 @@ Changes with nginx 0.8.18 *) Feature: now several "perl_modules" directives may be used. - *) Feature: the "limit_req_log_level" and "limit_conn_log_level" + *) Feature: the "limit_req_log_level" and "limit_conn_log_level" directives. - *) Bugfix: now "limit_req" directive conforms to the leaky bucket + *) Bugfix: now "limit_req" directive conforms to the leaky bucket algorithm. Thanks to Maxim Dounin. *) Bugfix: nginx did not work on Linux/sparc. Thanks to Marcus Ramberg. - *) Bugfix: nginx sent '\0' in a "Location" response header line on - MKCOL request. + *) Bugfix: nginx sent '\0' in a "Location" response header line on MKCOL + request. Thanks to Xie Zhenye. - *) Bugfix: zero status code was logged instead of 499 status code; the + *) Bugfix: zero status code was logged instead of 499 status code; the bug had appeared in 0.8.11. *) Bugfix: socket leak; the bug had appeared in 0.8.11. @@ -884,7 +924,7 @@ Changes with nginx 0.8.18 Changes with nginx 0.8.17 28 Sep 2009 - *) Security: now "/../" are disabled in "Destination" request header + *) Security: now "/../" are disabled in "Destination" request header line. *) Change: now $host variable value is always low case. @@ -898,7 +938,7 @@ Changes with nginx 0.8.16 *) Feature: the "image_filter_transparency" directive. - *) Bugfix: "addition_types" directive was incorrectly named + *) Bugfix: "addition_types" directive was incorrectly named "addtion_types". *) Bugfix: resolver cache poisoning. @@ -907,31 +947,31 @@ Changes with nginx 0.8.16 *) Bugfix: memory leak in resolver. Thanks to Matthew Dempsky. - *) Bugfix: invalid request line in $request variable was written in + *) Bugfix: invalid request line in $request variable was written in access_log only if error_log was set to "info" or "debug" level. - *) Bugfix: in PNG alpha-channel support in the + *) Bugfix: in PNG alpha-channel support in the ngx_http_image_filter_module. - *) Bugfix: nginx always added "Vary: Accept-Encoding" response header + *) Bugfix: nginx always added "Vary: Accept-Encoding" response header line, if both "gzip_static" and "gzip_vary" were on. - *) Bugfix: in UTF-8 encoding support by "try_files" directive in + *) Bugfix: in UTF-8 encoding support by "try_files" directive in nginx/Windows. - *) Bugfix: in "post_action" directive usage; the bug had appeared in + *) Bugfix: in "post_action" directive usage; the bug had appeared in 0.8.11. Thanks to Igor Artemiev. Changes with nginx 0.8.15 14 Sep 2009 - *) Security: a segmentation fault might occur in worker process while + *) Security: a segmentation fault might occur in worker process while specially crafted request handling. Thanks to Chris Ries. - *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld - were defined, then the name .sub.domain.tld was matched by + *) Bugfix: if names .domain.tld, .sub.domain.tld, and .domain-some.tld + were defined, then the name .sub.domain.tld was matched by .domain.tld. *) Bugfix: in transparency support in the ngx_http_image_filter_module. @@ -945,25 +985,25 @@ Changes with nginx 0.8.15 Changes with nginx 0.8.14 07 Sep 2009 - *) Bugfix: an expired cached response might stick in the "UPDATING" + *) Bugfix: an expired cached response might stick in the "UPDATING" state. - *) Bugfix: a segmentation fault might occur in worker process, if + *) Bugfix: a segmentation fault might occur in worker process, if error_log was set to info or debug level. Thanks to Sergey Bochenkov. *) Bugfix: in embedded perl module; the bug had appeared in 0.8.11. - *) Bugfix: an "error_page" directive did not redirect a 413 error; the + *) Bugfix: an "error_page" directive did not redirect a 413 error; the bug had appeared in 0.6.10. Changes with nginx 0.8.13 31 Aug 2009 - *) Bugfix: in the "aio sendfile" directive; the bug had appeared in + *) Bugfix: in the "aio sendfile" directive; the bug had appeared in 0.8.12. - *) Bugfix: nginx could not be built without the --with-file-aio option + *) Bugfix: nginx could not be built without the --with-file-aio option on FreeBSD; the bug had appeared in 0.8.12. @@ -978,7 +1018,7 @@ Changes with nginx 0.8.12 Changes with nginx 0.8.11 28 Aug 2009 - *) Change: now directive "gzip_disable msie6" does not disable gzipping + *) Change: now directive "gzip_disable msie6" does not disable gzipping for MSIE 6.0 SV1. *) Feature: file AIO support on FreeBSD and Linux. @@ -990,35 +1030,34 @@ Changes with nginx 0.8.10 *) Bugfix: memory leaks if GeoIP City database was used. - *) Bugfix: in copying temporary files to permanent storage area; the - bug had appeared in 0.8.9. + *) Bugfix: in copying temporary files to permanent storage area; the bug + had appeared in 0.8.9. Changes with nginx 0.8.9 17 Aug 2009 - *) Feature: now the start cache loader runs in a separate process; this + *) Feature: now the start cache loader runs in a separate process; this should improve large caches handling. - *) Feature: now temporary files and permanent storage area may reside - at different file systems. + *) Feature: now temporary files and permanent storage area may reside at + different file systems. Changes with nginx 0.8.8 10 Aug 2009 *) Bugfix: in handling FastCGI headers split in records. - *) Bugfix: a segmentation fault occurred in worker process, if a - request was handled in two proxied or FastCGIed locations and a - caching was enabled in the first location; the bug had appeared in - 0.8.7. + *) Bugfix: a segmentation fault occurred in worker process, if a request + was handled in two proxied or FastCGIed locations and a caching was + enabled in the first location; the bug had appeared in 0.8.7. Changes with nginx 0.8.7 27 Jul 2009 *) Change: minimum supported OpenSSL version is 0.9.7. - *) Change: the "ask" parameter of the "ssl_verify_client" directive was - changed to the "optional" parameter and now it checks a client + *) Change: the "ask" parameter of the "ssl_verify_client" directive was + changed to the "optional" parameter and now it checks a client certificate if it was offered. Thanks to Brice Figureau. @@ -1030,24 +1069,24 @@ Changes with nginx 0.8.7 *) Feature: the "proxy" parameter of the "geo" directive. - *) Feature: the "image_filter" directive supports variables for setting + *) Feature: the "image_filter" directive supports variables for setting size. - *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the - bug had appeared in 0.7.7. + *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the bug + had appeared in 0.7.7. Thanks to Sergey Zhuravlev. - *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did - not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", - "X-Accel-Buffering", and "X-Accel-Charset" lines from backend + *) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did + not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", + "X-Accel-Buffering", and "X-Accel-Charset" lines from backend response header. Thanks to Maxim Dounin. - *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend + *) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend response header lines; the bug had appeared in 0.7.44. Thanks to Maxim Dounin. - *) Bugfix: the "[alert] zero size buf" error if subrequest returns an + *) Bugfix: the "[alert] zero size buf" error if subrequest returns an empty response; the bug had appeared in 0.8.5. @@ -1055,17 +1094,17 @@ Changes with nginx 0.8.6 *) Feature: the ngx_http_geoip_module. - *) Bugfix: XSLT filter may fail with message "not well formed XML + *) Bugfix: XSLT filter may fail with message "not well formed XML document" for valid XML document. Thanks to Kuramoto Eiji. - *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by - a regular expression are always tested in case insensitive mode. + *) Bugfix: now in MacOSX, Cygwin, and nginx/Windows locations given by a + regular expression are always tested in case insensitive mode. *) Bugfix: now nginx/Windows ignores trailing dots in URI. Thanks to Hugo Leisink. - *) Bugfix: name of file specified in --conf-path was not honored during + *) Bugfix: name of file specified in --conf-path was not honored during installation; the bug had appeared in 0.6.6. Thanks to Maxim Dounin. @@ -1074,7 +1113,7 @@ Changes with nginx 0.8.5 *) Bugfix: now nginx allows underscores in a request method. - *) Bugfix: a 500 error code was returned for invalid login/password + *) Bugfix: a 500 error code was returned for invalid login/password while HTTP Basic authentication on Windows. *) Bugfix: ngx_http_perl_module responses did not work in subrequests. @@ -1085,7 +1124,7 @@ Changes with nginx 0.8.5 Changes with nginx 0.8.4 22 Jun 2009 - *) Bugfix: nginx could not be built --without-http-cache; the bug had + *) Bugfix: nginx could not be built --without-http-cache; the bug had appeared in 0.8.3. @@ -1095,43 +1134,43 @@ Changes with nginx 0.8.3 *) Bugfix: nginx could not be built on MacOSX 10.6. - *) Bugfix: nginx could not be built --without-http-cache; the bug had + *) Bugfix: nginx could not be built --without-http-cache; the bug had appeared in 0.8.2. - *) Bugfix: a segmentation fault occurred in worker process, if a - backend 401 error was intercepted and the backend did not set the + *) Bugfix: a segmentation fault occurred in worker process, if a backend + 401 error was intercepted and the backend did not set the "WWW-Authenticate" response header line. Thanks to Eugene Mychlo. Changes with nginx 0.8.2 15 Jun 2009 - *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on + *) Bugfix: in open_file_cache and proxy/fastcgi cache interaction on start up. - *) Bugfix: open_file_cache might cache open file descriptors too long; + *) Bugfix: open_file_cache might cache open file descriptors too long; the bug had appeared in 0.7.4. Changes with nginx 0.8.1 08 Jun 2009 - *) Feature: the "updating" parameter in "proxy_cache_use_stale" and + *) Feature: the "updating" parameter in "proxy_cache_use_stale" and "fastcgi_cache_use_stale" directives. - *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request - header lines were passed to backend while caching if no + *) Bugfix: the "If-Modified-Since", "If-Range", etc. client request + header lines were passed to backend while caching if no "proxy_set_header" directive was used with any parameters. - *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not - hidden while caching if no "proxy_hide_header/fastcgi_hide_header" + *) Bugfix: the "Set-Cookie" and "P3P" response header lines were not + hidden while caching if no "proxy_hide_header/fastcgi_hide_header" directives were used with any parameters. - *) Bugfix: the ngx_http_image_filter_module did not support GIF87a + *) Bugfix: the ngx_http_image_filter_module did not support GIF87a format. Thanks to Denis Ilyinyh. - *) Bugfix: nginx could not be built modules on Solaris 10 and early; - the bug had appeared in 0.7.56. + *) Bugfix: nginx could not be built modules on Solaris 10 and early; the + bug had appeared in 0.7.56. Changes with nginx 0.8.0 02 Jun 2009 @@ -1145,8 +1184,8 @@ Changes with nginx 0.8.0 *) Bugfix: in relative paths handling in nginx/Windows. - *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and - fastcgi_cache in nginx/Windows. + *) Bugfix: in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache + in nginx/Windows. *) Bugfix: in memory allocation error handling. Thanks to Maxim Dounin and Kirill A. Korinskiy. @@ -1154,23 +1193,23 @@ Changes with nginx 0.8.0 Changes with nginx 0.7.59 25 May 2009 - *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" + *) Feature: the "proxy_cache_methods" and "fastcgi_cache_methods" directives. *) Bugfix: socket leak; the bug had appeared in 0.7.25. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault occurred in worker process, - if a request had no body and the $request_body variable was used; + *) Bugfix: a segmentation fault occurred in worker process, if a request + had no body and the $request_body variable was used; the bug had appeared in 0.7.58. *) Bugfix: the SSL modules might not built on Solaris and Linux; the bug had appeared in 0.7.56. - *) Bugfix: ngx_http_xslt_filter_module responses were not handled by + *) Bugfix: ngx_http_xslt_filter_module responses were not handled by SSI, charset, and gzip filters. - *) Bugfix: a "charset" directive did not set a charset to + *) Bugfix: a "charset" directive did not set a charset to ngx_http_gzip_static_module responses. @@ -1184,24 +1223,24 @@ Changes with nginx 0.7.58 *) Feature: the $request_body variable. - *) Bugfix: in ngx_http_autoindex_module in file name links having a ":" + *) Bugfix: in ngx_http_autoindex_module in file name links having a ":" symbol in the name. - *) Bugfix: "make upgrade" procedure did not work; the bug had appeared + *) Bugfix: "make upgrade" procedure did not work; the bug had appeared in 0.7.53. Thanks to Denis F. Latypoff. Changes with nginx 0.7.57 12 May 2009 - *) Bugfix: a floating-point fault occurred in worker process, if the - ngx_http_image_filter_module errors were redirected to named + *) Bugfix: a floating-point fault occurred in worker process, if the + ngx_http_image_filter_module errors were redirected to named location; the bug had appeared in 0.7.56. Changes with nginx 0.7.56 11 May 2009 - *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the + *) Feature: nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. *) Bugfix: in ngx_http_image_filter_module. @@ -1209,21 +1248,21 @@ Changes with nginx 0.7.56 Changes with nginx 0.7.55 06 May 2009 - *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and + *) Bugfix: the http_XXX parameters in "proxy_cache_use_stale" and "fastcgi_cache_use_stale" directives did not work. *) Bugfix: fastcgi cache did not cache header only responses. - *) Bugfix: of "select() failed (9: Bad file descriptor)" error in + *) Bugfix: of "select() failed (9: Bad file descriptor)" error in nginx/Unix and "select() failed (10038: ...)" error in nginx/Windows. - *) Bugfix: a segmentation fault might occur in worker process, if an - "debug_connection" directive was used; the bug had appeared in + *) Bugfix: a segmentation fault might occur in worker process, if an + "debug_connection" directive was used; the bug had appeared in 0.7.54. *) Bugfix: fix ngx_http_image_filter_module building errors. - *) Bugfix: the files bigger than 2G could not be transferred using + *) Bugfix: the files bigger than 2G could not be transferred using $r->sendfile. Thanks to Maxim Dounin. @@ -1232,33 +1271,33 @@ Changes with nginx 0.7.54 *) Feature: the ngx_http_image_filter_module. - *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers" + *) Feature: the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. - *) Bugfix: a segmentation fault might occur in worker process, if an - "open_file_cache_errors off" directive was used; the bug had - appeared in 0.7.53. - - *) Bugfix: the "port_in_redirect off" directive did not work; the bug + *) Bugfix: a segmentation fault might occur in worker process, if an + "open_file_cache_errors off" directive was used; the bug had appeared + in 0.7.53. + + *) Bugfix: the "port_in_redirect off" directive did not work; the bug had appeared in 0.7.39. *) Bugfix: improve handling of "select" method errors. *) Bugfix: of "select() failed (10022: ...)" error in nginx/Windows. - *) Bugfix: in error text descriptions in nginx/Windows; the bug had + *) Bugfix: in error text descriptions in nginx/Windows; the bug had appeared in 0.7.53. Changes with nginx 0.7.53 27 Apr 2009 - *) Change: now a log set by --error-log-path is created from the very + *) Change: now a log set by --error-log-path is created from the very start-up. - *) Feature: now the start up errors and warnings are outputted to an + *) Feature: now the start up errors and warnings are outputted to an error_log and stderr. - *) Feature: the empty --prefix= configure parameter forces nginx to use + *) Feature: the empty --prefix= configure parameter forces nginx to use a directory where it was run as prefix. *) Feature: the -p switch. @@ -1270,14 +1309,14 @@ Changes with nginx 0.7.53 *) Feature: now switches may be set in condensed form. - *) Bugfix: nginx/Windows did not work if configuration file was given - by the -c switch. - - *) Bugfix: temporary files might be not removed if the "proxy_store", + *) Bugfix: nginx/Windows did not work if configuration file was given by + the -c switch. + + *) Bugfix: temporary files might be not removed if the "proxy_store", "fastcgi_store", "proxy_cache", or "fastcgi_cache" were used. Thanks to Maxim Dounin. - *) Bugfix: an incorrect value was passed to mail proxy authentication + *) Bugfix: an incorrect value was passed to mail proxy authentication server in "Auth-Method" header line; the bug had appeared in 0.7.34. Thanks to Simon Lecaille. @@ -1295,46 +1334,46 @@ Changes with nginx 0.7.52 *) Bugfix: in processing HEAD method while caching. - *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc. + *) Bugfix: in processing the "If-Modified-Since", "If-Range", etc. client request header lines while caching. - *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in + *) Bugfix: now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. - *) Bugfix: if nginx was built with the ngx_http_perl_module and with a - perl which supports threads, then during a master process exit the + *) Bugfix: if nginx was built with the ngx_http_perl_module and with a + perl which supports threads, then during a master process exit the message "panic: MUTEX_LOCK" might be issued. - *) Bugfix: nginx could not be built --without-http-cache; the bug had + *) Bugfix: nginx could not be built --without-http-cache; the bug had appeared in 0.7.48. - *) Bugfix: nginx could not be built on platforms different from i386, + *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc, and ppc; the bug had appeared in 0.7.42. Changes with nginx 0.7.51 12 Apr 2009 - *) Feature: the "try_files" directive supports a response code in the + *) Feature: the "try_files" directive supports a response code in the fallback parameter. *) Feature: now any response code can be used in the "return" directive. - *) Bugfix: the "error_page" directive made an external redirect without + *) Bugfix: the "error_page" directive made an external redirect without query string; the bug had appeared in 0.7.44. - *) Bugfix: if servers listened on several defined explicitly addresses, + *) Bugfix: if servers listened on several defined explicitly addresses, then virtual servers might not work; the bug had appeared in 0.7.39. Changes with nginx 0.7.50 06 Apr 2009 - *) Bugfix: the $arg_... variables did not work; the bug had appeared in + *) Bugfix: the $arg_... variables did not work; the bug had appeared in 0.7.49. Changes with nginx 0.7.49 06 Apr 2009 - *) Bugfix: a segmentation fault might occur in worker process, if the + *) Bugfix: a segmentation fault might occur in worker process, if the $arg_... variables were used; the bug had appeared in 0.7.48. @@ -1342,7 +1381,7 @@ Changes with nginx 0.7.48 *) Feature: the "proxy_cache_key" directive. - *) Bugfix: now nginx takes into account the "X-Accel-Expires", + *) Bugfix: now nginx takes into account the "X-Accel-Expires", "Expires", and "Cache-Control" header lines in a backend response. *) Bugfix: now nginx caches responses for the GET requests only. @@ -1355,28 +1394,28 @@ Changes with nginx 0.7.48 *) Bugfix: nginx could not be built with uclibc library. Thanks to Timothy Redaelli. - *) Bugfix: nginx could not be built on OpenBSD; the bug had + *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in 0.7.46. Changes with nginx 0.7.47 01 Apr 2009 - *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; - the bug had appeared in 0.7.46. - - *) Bugfix: nginx could not be built on MacOSX; the bug had + *) Bugfix: nginx could not be built on FreeBSD 6 and early versions; the + bug had appeared in 0.7.46. + + *) Bugfix: nginx could not be built on MacOSX; the bug had appeared in 0.7.46. - *) Bugfix: if the "max_size" parameter was set, then the cache manager + *) Bugfix: if the "max_size" parameter was set, then the cache manager might purge a whole cache; the bug had appeared in 0.7.46. - *) Change: a segmentation fault might occur in worker process, if the - "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/ - "fastcgi_cache_valid" were set on different levels; the bug had + *) Change: a segmentation fault might occur in worker process, if the + "proxy_cache"/"fastcgi_cache" and the "proxy_cache_valid"/ + "fastcgi_cache_valid" were set on different levels; the bug had appeared in 0.7.46. - *) Bugfix: a segmentation fault might occur in worker process, if a - request was redirected to a proxied or FastCGI server via error_page + *) Bugfix: a segmentation fault might occur in worker process, if a + request was redirected to a proxied or FastCGI server via error_page or try_files; the bug had appeared in 0.7.44. @@ -1387,30 +1426,29 @@ Changes with nginx 0.7.46 Changes with nginx 0.7.45 30 Mar 2009 - *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives + *) Change: now the "proxy_cache" and the "proxy_cache_valid" directives can be set on different levels. - *) Change: the "clean_time" parameter of the "proxy_cache_path" + *) Change: the "clean_time" parameter of the "proxy_cache_path" directive is canceled. - *) Feature: the "max_size" parameter of the "proxy_cache_path" + *) Feature: the "max_size" parameter of the "proxy_cache_path" directive. *) Feature: the ngx_http_fastcgi_module preliminary cache support. - *) Feature: now on shared memory allocation errors directive and zone + *) Feature: now on shared memory allocation errors directive and zone names are logged. - *) Bugfix: the directive "add_header last-modified ''" did not delete a + *) Bugfix: the directive "add_header last-modified ''" did not delete a "Last-Modified" response header line; the bug had appeared in 0.7.44. - *) Bugfix: a relative path in the "auth_basic_user_file" directive - given without variables did not work; the bug had appeared in - 0.7.44. + *) Bugfix: a relative path in the "auth_basic_user_file" directive given + without variables did not work; the bug had appeared in 0.7.44. Thanks to Jerome Loyet. - *) Bugfix: in an "alias" directive given using variables without - references to captures of regular expressions; the bug had appeared + *) Bugfix: in an "alias" directive given using variables without + references to captures of regular expressions; the bug had appeared in 0.7.42. @@ -1420,86 +1458,85 @@ Changes with nginx 0.7.44 *) Feature: the --with-pcre option in the configure. - *) Feature: the "try_files" directive is now allowed on the server - block level. - - *) Bugfix: the "try_files" directive handled incorrectly a query string + *) Feature: the "try_files" directive is now allowed on the server block + level. + + *) Bugfix: the "try_files" directive handled incorrectly a query string in a fallback parameter. *) Bugfix: the "try_files" directive might test incorrectly directories. - *) Bugfix: if there was a single server for given address:port pair, - then captures in regular expressions in a "server_name" directive - did not work. + *) Bugfix: if there was a single server for given address:port pair, + then captures in regular expressions in a "server_name" directive did + not work. Changes with nginx 0.7.43 18 Mar 2009 - *) Bugfix: a request was handled incorrectly, if a "root" directive - used variables; the bug had appeared in 0.7.42. - - *) Bugfix: if a server listened on wildcard address, then the - $server_addr variable value was "0.0.0.0"; the bug had appeared in + *) Bugfix: a request was handled incorrectly, if a "root" directive used + variables; the bug had appeared in 0.7.42. + + *) Bugfix: if a server listened on wildcard address, then the + $server_addr variable value was "0.0.0.0"; the bug had appeared in 0.7.36. Changes with nginx 0.7.42 16 Mar 2009 - *) Change: now the "Invalid argument" error returned by + *) Change: now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, is ignored. - *) Change: now if a file specified in a "auth_basic_user_file" - directive is absent, then the 403 error is returned instead of the - 500 one. + *) Change: now if a file specified in a "auth_basic_user_file" directive + is absent, then the 403 error is returned instead of the 500 one. *) Feature: the "auth_basic_user_file" directive supports variables. Thanks to Kirill A. Korinskiy. - *) Feature: the "listen" directive supports the "ipv6only" parameter. + *) Feature: the "listen" directive supports the "ipv6only" parameter. Thanks to Zhang Hua. - *) Bugfix: in an "alias" directive with references to captures of + *) Bugfix: in an "alias" directive with references to captures of regular expressions; the bug had appeared in 0.7.40. *) Bugfix: compatibility with Tru64 UNIX. Thanks to Dustin Marquess. - *) Bugfix: nginx could not be built without PCRE library; the bug had + *) Bugfix: nginx could not be built without PCRE library; the bug had appeared in 0.7.41. Changes with nginx 0.7.41 11 Mar 2009 - *) Bugfix: a segmentation fault might occur in worker process, if a - "server_name" or a "location" directives had captures in regular + *) Bugfix: a segmentation fault might occur in worker process, if a + "server_name" or a "location" directives had captures in regular expressions; the issue had appeared in 0.7.40. Thanks to Vladimir Sopot. Changes with nginx 0.7.40 09 Mar 2009 - *) Feature: the "location" directive supports captures in regular + *) Feature: the "location" directive supports captures in regular expressions. - *) Feature: an "alias" directive with capture references may be used + *) Feature: an "alias" directive with capture references may be used inside a location given by a regular expression with captures. - *) Feature: the "server_name" directive supports captures in regular + *) Feature: the "server_name" directive supports captures in regular expressions. - *) Workaround: the ngx_http_autoindex_module did not show the trailing - slash in directories on XFS filesystem; the issue had appeared in + *) Workaround: the ngx_http_autoindex_module did not show the trailing + slash in directories on XFS filesystem; the issue had appeared in 0.7.15. Thanks to Dmitry Kuzmenko. Changes with nginx 0.7.39 02 Mar 2009 - *) Bugfix: large response with SSI might hang, if gzipping was enabled; + *) Bugfix: large response with SSI might hang, if gzipping was enabled; the bug had appeared in 0.7.28. Thanks to Artem Bokhan. - *) Bugfix: a segmentation fault might occur in worker process, if short + *) Bugfix: a segmentation fault might occur in worker process, if short static variants are used in a "try_files" directive. @@ -1507,41 +1544,41 @@ Changes with nginx 0.7.38 *) Feature: authentication failures logging. - *) Bugfix: name/password in auth_basic_user_file were ignored after odd + *) Bugfix: name/password in auth_basic_user_file were ignored after odd number of empty lines. Thanks to Alexander Zagrebin. - *) Bugfix: a segmentation fault occurred in a master process, if long + *) Bugfix: a segmentation fault occurred in a master process, if long path was used in unix domain socket; the bug had appeared in 0.7.36. Changes with nginx 0.7.37 21 Feb 2009 - *) Bugfix: directives using upstreams did not work; the bug had - appeared in 0.7.36. + *) Bugfix: directives using upstreams did not work; the bug had appeared + in 0.7.36. Changes with nginx 0.7.36 21 Feb 2009 - *) Feature: a preliminary IPv6 support; the "listen" directive of the + *) Feature: a preliminary IPv6 support; the "listen" directive of the HTTP module supports IPv6. - *) Bugfix: the $ancient_browser variable did not work for browsers + *) Bugfix: the $ancient_browser variable did not work for browsers preset by a "modern_browser" directives. Changes with nginx 0.7.35 16 Feb 2009 - *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for + *) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for asymmetric ciphers. Thanks to Marcin Gozdalik. - *) Bugfix: a "try_files" directive set MIME type depending on an + *) Bugfix: a "try_files" directive set MIME type depending on an original request extension. - *) Bugfix: "*domain.tld" names were handled incorrectly in - "server_name", "valid_referers", and "map" directives, if - ".domain.tld" and ".subdomain.domain.tld" wildcards were used; + *) Bugfix: "*domain.tld" names were handled incorrectly in + "server_name", "valid_referers", and "map" directives, if + ".domain.tld" and ".subdomain.domain.tld" wildcards were used; the bug had appeared in 0.7.9. @@ -1549,15 +1586,15 @@ Changes with nginx 0.7.34 *) Feature: the "off" parameter of the "if_modified_since" directive. - *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT + *) Feature: now nginx sends an HELO/EHLO command after a XCLIENT command. Thanks to Maxim Dounin. - *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support + *) Feature: Microsoft specific "AUTH LOGIN with User Name" mode support in mail proxy server. Thanks to Maxim Dounin. - *) Bugfix: in a redirect rewrite directive original arguments were + *) Bugfix: in a redirect rewrite directive original arguments were concatenated with new arguments by a "?" rather than an "&"; the bug had appeared in 0.1.18. Thanks to Maxim Dounin. @@ -1567,35 +1604,34 @@ Changes with nginx 0.7.34 Changes with nginx 0.7.33 02 Feb 2009 - *) Bugfix: a double response might be returned if the epoll or rtsig - methods are used and a redirect was returned to a request with - body. + *) Bugfix: a double response might be returned if the epoll or rtsig + methods are used and a redirect was returned to a request with body. Thanks to Eden Li. - *) Bugfix: the $sent_http_location variable was empty for some - redirects types. - - *) Bugfix: a segmentation fault might occur in worker process if + *) Bugfix: the $sent_http_location variable was empty for some redirects + types. + + *) Bugfix: a segmentation fault might occur in worker process if "resolver" directive was used in SMTP proxy. Changes with nginx 0.7.32 26 Jan 2009 - *) Feature: now a directory existence testing can be set explicitly in + *) Feature: now a directory existence testing can be set explicitly in the "try_files" directive. *) Bugfix: fastcgi_store stored files not always. *) Bugfix: in geo ranges. - *) Bugfix: in shared memory allocations if nginx was built without + *) Bugfix: in shared memory allocations if nginx was built without debugging. Thanks to Andrey Kvasov. Changes with nginx 0.7.31 19 Jan 2009 - *) Change: now the "try_files" directive tests files only and ignores + *) Change: now the "try_files" directive tests files only and ignores directories. *) Feature: the "fastcgi_split_path_info" directive. @@ -1604,35 +1640,34 @@ Changes with nginx 0.7.31 *) Bugfixes in geo ranges. - *) Bugfix: in a miss case ngx_http_memcached_module returned the "END" - line as response body instead of default 404 page body; the bug had + *) Bugfix: in a miss case ngx_http_memcached_module returned the "END" + line as response body instead of default 404 page body; the bug had appeared in 0.7.18. Thanks to Maxim Dounin. - *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK" + *) Bugfix: while SMTP proxying nginx issued message "250 2.0.0 OK" instead of "235 2.0.0 OK"; the bug had appeared in 0.7.22. Thanks to Maxim Dounin. Changes with nginx 0.7.30 24 Dec 2008 - *) Bugfix: a segmentation fault occurred in worker process, if - variables were used in the "fastcgi_pass" or "proxy_pass" directives - and host name must be resolved; the bug had appeared in 0.7.29. + *) Bugfix: a segmentation fault occurred in worker process, if variables + were used in the "fastcgi_pass" or "proxy_pass" directives and host + name must be resolved; the bug had appeared in 0.7.29. Changes with nginx 0.7.29 24 Dec 2008 - *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not + *) Bugfix: the "fastcgi_pass" and "proxy_pass" directives did not support variables if unix domain sockets were used. *) Bugfixes in subrequest processing; the bugs had appeared in 0.7.25. - *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 - requests; + *) Bugfix: a "100 Continue" response was issued for HTTP/1.0 requests; Thanks to Maxim Dounin. - *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on + *) Bugfix: in memory allocation in the ngx_http_gzip_filter_module on Cygwin. @@ -1640,8 +1675,8 @@ Changes with nginx 0.7.28 *) Change: in memory allocation in the ngx_http_gzip_filter_module. - *) Change: the default "gzip_buffers" directive values have been - changed to 32 4k or 16 8k from 4 4k/8k. + *) Change: the default "gzip_buffers" directive values have been changed + to 32 4k or 16 8k from 4 4k/8k. Changes with nginx 0.7.27 15 Dec 2008 @@ -1650,24 +1685,23 @@ Changes with nginx 0.7.27 *) Feature: variables support in the "fastcgi_pass" directive. - *) Feature: now the $geo variable may get an address from a - variable. + *) Feature: now the $geo variable may get an address from a variable. Thanks to Andrei Nigmatulin. - *) Feature: now a location's modifier may be used without space before + *) Feature: now a location's modifier may be used without space before name. *) Feature: the $upstream_response_length variable. *) Bugfix: now a "add_header" directive does not add an empty value. - *) Bugfix: if zero length static file was requested, then nginx just + *) Bugfix: if zero length static file was requested, then nginx just closed connection; the bug had appeared in 0.7.25. *) Bugfix: a MOVE method could not move file in non-existent directory. - *) Bugfix: a segmentation fault occurred in worker process, if no one - named location was defined in server, but some one was used in an + *) Bugfix: a segmentation fault occurred in worker process, if no one + named location was defined in server, but some one was used in an error_page directive. Thanks to Sergey Bochenkov. @@ -1683,7 +1717,7 @@ Changes with nginx 0.7.25 *) Change: now POSTs without "Content-Length" header line are allowed. - *) Bugfix: now the "limit_req" and "limit_conn" directives log a + *) Bugfix: now the "limit_req" and "limit_conn" directives log a prohibition reason. *) Bugfix: in the "delete" parameter of the "geo" directive. @@ -1693,10 +1727,10 @@ Changes with nginx 0.7.24 *) Feature: the "if_modified_since" directive. - *) Bugfix: nginx did not process a FastCGI server response, if the + *) Bugfix: nginx did not process a FastCGI server response, if the server send too many messages to stderr before response. - *) Bugfix: the "$cookie_..." variables did not work in the SSI and the + *) Bugfix: the "$cookie_..." variables did not work in the SSI and the perl module. @@ -1732,7 +1766,7 @@ Changes with nginx 0.7.21 *) Workaround: compatibility with glibc 2.3. Thanks to Eric Benson and Maxim Dounin. - *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had + *) Bugfix: nginx could not run on MacOSX 10.4 and earlier; the bug had appeared in 0.7.6. @@ -1742,17 +1776,17 @@ Changes with nginx 0.7.20 *) Feature: the ngx_http_limit_req_module. - *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and + *) Bugfix: worker processes might exit on a SIGBUS signal on sparc and ppc platforms; the bug had appeared in 0.7.3. Thanks to Maxim Dounin. - *) Bugfix: the "proxy_pass http://host/some:uri" directives did not + *) Bugfix: the "proxy_pass http://host/some:uri" directives did not work; the bug had appeared in 0.7.12. - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" + *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" error. - *) Bugfix: the ngx_http_secure_link_module did not work inside + *) Bugfix: the ngx_http_secure_link_module did not work inside locations, whose names are less than 3 characters. *) Bugfix: $server_addr variable might have no value. @@ -1765,7 +1799,7 @@ Changes with nginx 0.7.19 Changes with nginx 0.7.18 13 Oct 2008 - *) Change: the "underscores_in_headers" directive; now nginx does not + *) Change: the "underscores_in_headers" directive; now nginx does not allows underscores in a client request header line names. *) Feature: the ngx_http_secure_link_module. @@ -1776,13 +1810,13 @@ Changes with nginx 0.7.18 *) Feature: the $realpath_root variable. - *) Feature: the "http_502" and "http_504" parameters of the + *) Feature: the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. - *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or + *) Bugfix: the "http_503" parameter of the "proxy_next_upstream" or "fastcgi_next_upstream" directives did not work. - *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line + *) Bugfix: nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. *) Bugfix: now accept threshold depends on worker_connections. @@ -1794,19 +1828,19 @@ Changes with nginx 0.7.17 *) Feature: the $pid variable. - *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did + *) Bugfix: the "directio" optimization that had appeared in 0.7.15 did not work with open_file_cache. - *) Bugfix: the "access_log" with variables did not work on Linux; the + *) Bugfix: the "access_log" with variables did not work on Linux; the bug had appeared in 0.7.7. - *) Bugfix: the ngx_http_charset_module did not understand quoted - charset name received from backend. + *) Bugfix: the ngx_http_charset_module did not understand quoted charset + name received from backend. Changes with nginx 0.7.16 08 Sep 2008 - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had + *) Bugfix: nginx could not be built on 64-bit platforms; the bug had appeared in 0.7.15. @@ -1814,31 +1848,31 @@ Changes with nginx 0.7.15 *) Feature: the ngx_http_random_index_module. - *) Feature: the "directio" directive has been optimized for file + *) Feature: the "directio" directive has been optimized for file requests starting from arbitrary position. - *) Feature: the "directio" directive turns off sendfile if it is + *) Feature: the "directio" directive turns off sendfile if it is necessary. - *) Feature: now nginx allows underscores in a client request header - line names. + *) Feature: now nginx allows underscores in a client request header line + names. Changes with nginx 0.7.14 01 Sep 2008 - *) Change: now the ssl_certificate and ssl_certificate_key directives + *) Change: now the ssl_certificate and ssl_certificate_key directives have not default values. *) Feature: the "listen" directive supports the "ssl" parameter. - *) Feature: now nginx takes into account a time zone change while + *) Feature: now nginx takes into account a time zone change while reconfiguration on FreeBSD and Linux. - *) Bugfix: the "listen" directive parameters such as "backlog", - "rcvbuf", etc. were not set, if a default server was not the first + *) Bugfix: the "listen" directive parameters such as "backlog", + "rcvbuf", etc. were not set, if a default server was not the first one. - *) Bugfix: if URI part captured by a "rewrite" directive was used as a + *) Bugfix: if URI part captured by a "rewrite" directive was used as a query string, then the query string was not escaped. *) Bugfix: configuration file validity test improvements. @@ -1846,7 +1880,7 @@ Changes with nginx 0.7.14 Changes with nginx 0.7.13 26 Aug 2008 - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had + *) Bugfix: nginx could not be built on Linux and Solaris; the bug had appeared in 0.7.12. @@ -1856,35 +1890,35 @@ Changes with nginx 0.7.12 *) Feature: the "gzip_disable" directive supports special "msie6" mask. - *) Bugfix: if the "max_fails=0" parameter was used in upstream with + *) Bugfix: if the "max_fails=0" parameter was used in upstream with several servers, then a worker process exited on a SIGFPE signal. Thanks to Maxim Dounin. - *) Bugfix: a request body was dropped while redirection via an + *) Bugfix: a request body was dropped while redirection via an "error_page" directive. - *) Bugfix: a full response was returned for request method HEAD while + *) Bugfix: a full response was returned for request method HEAD while redirection via an "error_page" directive. - *) Bugfix: the $r->header_in() method did not return value of the - "Host", "User-Agent", and "Connection" request header lines; the bug + *) Bugfix: the $r->header_in() method did not return value of the + "Host", "User-Agent", and "Connection" request header lines; the bug had appeared in 0.7.0. Changes with nginx 0.7.11 18 Aug 2008 - *) Change: now ngx_http_charset_module does not work by default with + *) Change: now ngx_http_charset_module does not work by default with text/css MIME type. - *) Feature: now nginx returns the 405 status code for POST method + *) Feature: now nginx returns the 405 status code for POST method requesting a static file only if the file exists. *) Feature: the "proxy_ssl_session_reuse" directive. - *) Bugfix: a "proxy_pass" directive without URI part might use original + *) Bugfix: a "proxy_pass" directive without URI part might use original request after the "X-Accel-Redirect" redirection was used; - *) Bugfix: if a directory has search only rights and the first index + *) Bugfix: if a directory has search only rights and the first index file was absent, then nginx returned the 500 status code. *) Bugfix: in inclusive locations; the bugs had appeared in 0.7.1. @@ -1892,25 +1926,25 @@ Changes with nginx 0.7.11 Changes with nginx 0.7.10 13 Aug 2008 - *) Bugfix: in the "addition_types", "charset_types", "gzip_types", - "ssi_types", "sub_filter_types", and "xslt_types" directives; the + *) Bugfix: in the "addition_types", "charset_types", "gzip_types", + "ssi_types", "sub_filter_types", and "xslt_types" directives; the bugs had appeared in 0.7.9. *) Bugfix: of recursive error_page for 500 status code. - *) Bugfix: now the ngx_http_realip_module sets address not for whole + *) Bugfix: now the ngx_http_realip_module sets address not for whole keepalive connection, but for each request passed via the connection. Changes with nginx 0.7.9 12 Aug 2008 - *) Change: now ngx_http_charset_module works by default with following - MIME types: text/html, text/css, text/xml, text/plain, + *) Change: now ngx_http_charset_module works by default with following + MIME types: text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, application/x-javascript, and application/rss+xml. *) Feature: the "charset_types" and "addition_types" directives. - *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types" + *) Feature: now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. *) Feature: the ngx_cpp_test_module. @@ -1920,15 +1954,15 @@ Changes with nginx 0.7.9 *) Feature: the ngx_http_xslt_module improvements and bug fixing. Thanks to Denis F. Latypoff and Maxim Dounin. - *) Bugfix: the "log_not_found" directive did not work for index files + *) Bugfix: the "log_not_found" directive did not work for index files tests. - *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or + *) Bugfix: HTTPS connections might hang, if kqueue, epoll, rtsig, or eventport methods were used; the bug had appeared in 0.7.7. - *) Bugfix: if the "server_name", "valid_referers", and "map" directives - used an "*.domain.tld" wildcard and exact name "domain.tld" was not - set, then the exact name was matched by the wildcard; the bug had + *) Bugfix: if the "server_name", "valid_referers", and "map" directives + used an "*.domain.tld" wildcard and exact name "domain.tld" was not + set, then the exact name was matched by the wildcard; the bug had appeared in 0.3.18. @@ -1941,19 +1975,19 @@ Changes with nginx 0.7.8 *) Feature: Solaris directio support. Thanks to Ivan Debnar. - *) Bugfix: now if FastCGI server sends a "Location" header line without + *) Bugfix: now if FastCGI server sends a "Location" header line without status line, then nginx uses 302 status code. Thanks to Maxim Dounin. Changes with nginx 0.7.7 30 Jul 2008 - *) Change: now the EAGAIN error returned by connect() is not considered + *) Change: now the EAGAIN error returned by connect() is not considered as temporary error. - *) Change: now the $ssl_client_cert variable value is a certificate - with TAB character intended before each line except first one; an - unchanged certificate is available in the $ssl_client_raw_cert + *) Change: now the $ssl_client_cert variable value is a certificate with + TAB character intended before each line except first one; an + unchanged certificate is available in the $ssl_client_raw_cert variable. *) Feature: the "ask" parameter in the "ssl_verify_client" directive. @@ -1966,11 +2000,11 @@ Changes with nginx 0.7.7 *) Feature: MacOSX 10.5 sendfile() support. - *) Bugfix: now in MacOSX and Cygwin locations are tested in case - insensitive mode; however, the compare is provided by single-byte + *) Bugfix: now in MacOSX and Cygwin locations are tested in case + insensitive mode; however, the compare is provided by single-byte locales only. - *) Bugfix: mail proxy SSL connections hanged, if select, poll, or + *) Bugfix: mail proxy SSL connections hanged, if select, poll, or /dev/poll methods were used. *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module. @@ -1978,23 +2012,23 @@ Changes with nginx 0.7.7 Changes with nginx 0.7.6 07 Jul 2008 - *) Bugfix: now if variables are used in the "access_log" directive a + *) Bugfix: now if variables are used in the "access_log" directive a request root existence is always tested. - *) Bugfix: the ngx_http_flv_module did not support several values in a + *) Bugfix: the ngx_http_flv_module did not support several values in a query string. Changes with nginx 0.7.5 01 Jul 2008 - *) Bugfixes in variables support in the "access_log" directive; the - bugs had appeared in 0.7.4. - - *) Bugfix: nginx could not be built --without-http_gzip_module; the bug + *) Bugfixes in variables support in the "access_log" directive; the bugs + had appeared in 0.7.4. + + *) Bugfix: nginx could not be built --without-http_gzip_module; the bug had appeared in 0.7.3. Thanks to Kirill A. Korinskiy. - *) Bugfix: if sub_filter and SSI were used together, then responses + *) Bugfix: if sub_filter and SSI were used together, then responses might were transferred incorrectly. @@ -2013,16 +2047,16 @@ Changes with nginx 0.7.4 Changes with nginx 0.7.3 23 Jun 2008 - *) Change: the "rss" extension MIME type has been changed to + *) Change: the "rss" extension MIME type has been changed to "application/rss+xml". - *) Change: now the "gzip_vary" directive turned on issues a + *) Change: now the "gzip_vary" directive turned on issues a "Vary: Accept-Encoding" header line for uncompressed responses too. - *) Feature: now the "rewrite" directive does a redirect automatically - if the "https://" protocol is used. - - *) Bugfix: the "proxy_pass" directive did not work with the HTTPS + *) Feature: now the "rewrite" directive does a redirect automatically if + the "https://" protocol is used. + + *) Bugfix: the "proxy_pass" directive did not work with the HTTPS protocol; the bug had appeared in 0.6.9. @@ -2035,14 +2069,14 @@ Changes with nginx 0.7.2 *) Feature: the $ssl_client_cert variable. Thanks to Manlio Perillo. - *) Bugfix: after changing URI via a "rewrite" directive nginx did not + *) Bugfix: after changing URI via a "rewrite" directive nginx did not search a new location; the bug had appeared in 0.7.1. Thanks to Maxim Dounin. - *) Bugfix: nginx could not be built without PCRE library; the bug had + *) Bugfix: nginx could not be built without PCRE library; the bug had appeared in 0.7.1. - *) Bugfix: when a request to a directory was redirected with the slash + *) Bugfix: when a request to a directory was redirected with the slash added, nginx dropped a query string from the original request. @@ -2050,16 +2084,16 @@ Changes with nginx 0.7.1 *) Change: now locations are searched in a tree. - *) Change: the "optimize_server_names" directive was canceled due to - the "server_name_in_redirect" directive introduction. + *) Change: the "optimize_server_names" directive was canceled due to the + "server_name_in_redirect" directive introduction. *) Change: some long deprecated directives are not supported anymore. - *) Change: the "none" parameter in the "ssl_session_cache" directive; + *) Change: the "none" parameter in the "ssl_session_cache" directive; now this is default parameter. Thanks to Rob Mueller. - *) Bugfix: worker processes might not catch reconfiguration and log + *) Bugfix: worker processes might not catch reconfiguration and log rotation signals. *) Bugfix: nginx could not be built on latest Fedora 9 Linux. @@ -2068,15 +2102,15 @@ Changes with nginx 0.7.1 Changes with nginx 0.7.0 19 May 2008 - *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as - \xXX in an access_log. + *) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX + in an access_log. Thanks to Maxim Dounin. *) Change: now nginx allows several "Host" request header line. *) Feature: the "modified" flag in the "expires" directive. - *) Feature: the $uid_got and $uid_set variables may be used at any + *) Feature: the $uid_got and $uid_set variables may be used at any request processing stage. *) Feature: the $hostname variable. @@ -2085,40 +2119,40 @@ Changes with nginx 0.7.0 *) Feature: DESTDIR support. Thanks to Todd A. Fisher and Andras Voroskoi. - *) Bugfix: a segmentation fault might occur in worker process on Linux, + *) Bugfix: a segmentation fault might occur in worker process on Linux, if keepalive was enabled. Changes with nginx 0.6.31 12 May 2008 - *) Bugfix: nginx did not process FastCGI response if header was at the + *) Bugfix: nginx did not process FastCGI response if header was at the end of FastCGI record; the bug had appeared in 0.6.2. Thanks to Sergey Serov. - *) Bugfix: a segmentation fault might occur in worker process if a file + *) Bugfix: a segmentation fault might occur in worker process if a file was deleted and the "open_file_cache_errors" directive was off. Changes with nginx 0.6.30 29 Apr 2008 - *) Change: now if an "include" directive pattern does not match any + *) Change: now if an "include" directive pattern does not match any file, then nginx does not issue an error. - *) Feature: now the time in directives may be specified without spaces, + *) Feature: now the time in directives may be specified without spaces, for example, "1h50m". *) Bugfix: memory leaks if the "ssl_verify_client" directive was on. Thanks to Chavelle Vincent. - *) Bugfix: the "sub_filter" directive might set text to change into + *) Bugfix: the "sub_filter" directive might set text to change into output. - *) Bugfix: the "error_page" directive did not take into account + *) Bugfix: the "error_page" directive did not take into account arguments in redirected URI. *) Bugfix: now nginx always opens files in binary mode under Cygwin. - *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in + *) Bugfix: nginx could not be built on OpenBSD; the bug had appeared in 0.6.15. @@ -2126,61 +2160,61 @@ Changes with nginx 0.6.29 *) Feature: the ngx_google_perftools_module. - *) Bugfix: the ngx_http_perl_module could not be built on 64-bit + *) Bugfix: the ngx_http_perl_module could not be built on 64-bit platforms; the bug had appeared in 0.6.27. Changes with nginx 0.6.28 13 Mar 2008 - *) Bugfix: the rtsig method could not be built; the bug had appeared in + *) Bugfix: the rtsig method could not be built; the bug had appeared in 0.6.27. Changes with nginx 0.6.27 12 Mar 2008 - *) Change: now by default the rtsig method is not built on + *) Change: now by default the rtsig method is not built on Linux 2.6.18+. - *) Change: now a request method is not changed while redirection to a + *) Change: now a request method is not changed while redirection to a named location via an "error_page" directive. - *) Feature: the "resolver" and "resolver_timeout" directives in SMTP + *) Feature: the "resolver" and "resolver_timeout" directives in SMTP proxy. *) Feature: the "post_action" directive supports named locations. - *) Bugfix: a segmentation fault occurred in worker process, if a - request was redirected from proxy, FastCGI, or memcached location to - static named locations. - - *) Bugfix: browsers did not repeat SSL handshake if there is no valid - client certificate in first handshake. + *) Bugfix: a segmentation fault occurred in worker process, if a request + was redirected from proxy, FastCGI, or memcached location to static + named locations. + + *) Bugfix: browsers did not repeat SSL handshake if there is no valid + client certificate in first handshake. Thanks to Alexander V. Inyukhin. - *) Bugfix: if response code 495-497 was redirected via an "error_page" - directive without code change, then nginx tried to allocate too many + *) Bugfix: if response code 495-497 was redirected via an "error_page" + directive without code change, then nginx tried to allocate too many memory. *) Bugfix: memory leak in long-lived non buffered connections. *) Bugfix: memory leak in resolver. - *) Bugfix: a segmentation fault occurred in worker process, if a - request was redirected from proxy, FastCGI, or memcached location to - static named locations. + *) Bugfix: a segmentation fault occurred in worker process, if a request + was redirected from proxy, FastCGI, or memcached location to static + named locations. *) Bugfix: in the $proxy_host and $proxy_port variables caching. Thanks to Sergey Bochenkov. - *) Bugfix: a "proxy_pass" directive with variables used incorrectly the - same port as in another "proxy_pass" directive with the same host + *) Bugfix: a "proxy_pass" directive with variables used incorrectly the + same port as in another "proxy_pass" directive with the same host name and without variables. Thanks to Sergey Bochenkov. - *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some + *) Bugfix: an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms while reconfiguration. - *) Bugfix: a segmentation fault occurred in worker process, if empty + *) Bugfix: a segmentation fault occurred in worker process, if empty stub block was used second time in SSI. *) Bugfix: in copying URI part contained escaped symbols into arguments. @@ -2188,69 +2222,69 @@ Changes with nginx 0.6.27 Changes with nginx 0.6.26 11 Feb 2008 - *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not + *) Bugfix: the "proxy_store" and "fastcgi_store" directives did not check a response length. - *) Bugfix: a segmentation fault occurred in worker process, if big - value was used in a "expires" directive. + *) Bugfix: a segmentation fault occurred in worker process, if big value + was used in a "expires" directive. Thanks to Joaquin Cuenca Abela. *) Bugfix: nginx incorrectly detected cache line size on Pentium 4. Thanks to Gena Makhomed. - *) Bugfix: in proxied or FastCGI subrequests a client original method + *) Bugfix: in proxied or FastCGI subrequests a client original method was used instead of the GET method. *) Bugfix: socket leak in HTTPS mode if deferred accept was used. Thanks to Ben Maurer. - *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed + *) Bugfix: nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; the bug had appeared in 0.6.23. - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" + *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" error; the bug had appeared in 0.6.23. Changes with nginx 0.6.25 08 Jan 2008 - *) Change: now the "server_name_in_redirect" directive is used instead + *) Change: now the "server_name_in_redirect" directive is used instead of the "server_name" directive's special "*" parameter. - *) Change: now wildcard and regex names can be used as main name in a + *) Change: now wildcard and regex names can be used as main name in a "server_name" directive. - *) Change: the "satisfy_any" directive was replaced by the "satisfy" + *) Change: the "satisfy_any" directive was replaced by the "satisfy" directive. - *) Workaround: old worker processes might hog CPU after reconfiguration + *) Workaround: old worker processes might hog CPU after reconfiguration if they was run under Linux OpenVZ. *) Feature: the "min_delete_depth" directive. *) Bugfix: the COPY and MOVE methods did not work with single files. - *) Bugfix: the ngx_http_gzip_static_module did not allow the + *) Bugfix: the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; the bug had appeared in 0.6.23. *) Bugfix: socket leak in HTTPS mode if deferred accept was used. Thanks to Ben Maurer. - *) Bugfix: nginx could not be built without PCRE library; the bug had + *) Bugfix: nginx could not be built without PCRE library; the bug had appeared in 0.6.23. Changes with nginx 0.6.24 27 Dec 2007 - *) Bugfix: a segmentation fault might occur in worker process if HTTPS + *) Bugfix: a segmentation fault might occur in worker process if HTTPS was used; the bug had appeared in 0.6.23. Changes with nginx 0.6.23 27 Dec 2007 - *) Change: the "off" parameter in the "ssl_session_cache" directive; - now this is default parameter. - - *) Change: the "open_file_cache_retest" directive was renamed to the + *) Change: the "off" parameter in the "ssl_session_cache" directive; now + this is default parameter. + + *) Change: the "open_file_cache_retest" directive was renamed to the "open_file_cache_valid". *) Feature: the "open_file_cache_min_uses" directive. @@ -2259,20 +2293,20 @@ Changes with nginx 0.6.23 *) Feature: the "gzip_disable" directive. - *) Feature: the "memcached_pass" directive may be used inside the "if" + *) Feature: the "memcached_pass" directive may be used inside the "if" block. - *) Bugfix: a segmentation fault occurred in worker process, if the + *) Bugfix: a segmentation fault occurred in worker process, if the "memcached_pass" and "if" directives were used in the same location. - *) Bugfix: if a "satisfy_any on" directive was used and not all access - and auth modules directives were set, then other given access and + *) Bugfix: if a "satisfy_any on" directive was used and not all access + and auth modules directives were set, then other given access and auth directives were not tested; - *) Bugfix: regex parameters in a "valid_referers" directive were not + *) Bugfix: regex parameters in a "valid_referers" directive were not inherited from previous level. - *) Bugfix: a "post_action" directive did run if a request was completed + *) Bugfix: a "post_action" directive did run if a request was completed with 499 status code. *) Bugfix: optimization of 16K buffer usage in a SSL connection. @@ -2281,71 +2315,71 @@ Changes with nginx 0.6.23 *) Bugfix: the STARTTLS in SMTP mode did not work. Thanks to Oleg Motienko. - *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" + *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" error; the bug had appeared in 0.5.13. Changes with nginx 0.6.22 19 Dec 2007 - *) Change: now all ngx_http_perl_module methods return values copied to + *) Change: now all ngx_http_perl_module methods return values copied to perl's allocated memory. - *) Bugfix: if nginx was built with ngx_http_perl_module, the perl - before 5.8.6 was used, and perl supported threads, then during - reconfiguration the master process aborted; the bug had appeared in + *) Bugfix: if nginx was built with ngx_http_perl_module, the perl before + 5.8.6 was used, and perl supported threads, then during + reconfiguration the master process aborted; the bug had appeared in 0.5.9. Thanks to Boris Zhmurov. - *) Bugfix: the ngx_http_perl_module methods may get invalid values of + *) Bugfix: the ngx_http_perl_module methods may get invalid values of the regex captures. - *) Bugfix: a segmentation fault occurred in worker process, if the - $r->has_request_body() method was called for a request whose small + *) Bugfix: a segmentation fault occurred in worker process, if the + $r->has_request_body() method was called for a request whose small request body was already received. - *) Bugfix: large_client_header_buffers did not freed before going to + *) Bugfix: large_client_header_buffers did not freed before going to keep-alive state. Thanks to Olexander Shtepa. - *) Bugfix: the last address was missed in the $upstream_addr variable; + *) Bugfix: the last address was missed in the $upstream_addr variable; the bug had appeared in 0.6.18. - *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; - now it returns 502 code, that can be rerouted to a next server using + *) Bugfix: the "fastcgi_catch_stderr" directive did return error code; + now it returns 502 code, that can be rerouted to a next server using the "fastcgi_next_upstream invalid_header" directive. - *) Bugfix: a segmentation fault occurred in master process if the - "fastcgi_catch_stderr" directive was used; the bug had appeared in + *) Bugfix: a segmentation fault occurred in master process if the + "fastcgi_catch_stderr" directive was used; the bug had appeared in 0.6.10. Thanks to Manlio Perillo. Changes with nginx 0.6.21 03 Dec 2007 - *) Change: if variable values used in a "proxy_pass" directive contain + *) Change: if variable values used in a "proxy_pass" directive contain IP-addresses only, then a "resolver" directive is not mandatory. - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared + *) Bugfix: a segmentation fault might occur in worker process if a + "proxy_pass" directive with URI-part was used; the bug had appeared in 0.6.19. - *) Bugfix: if resolver was used on platform that does not support + *) Bugfix: if resolver was used on platform that does not support kqueue, then nginx issued an alert "name is out of response". Thanks to Andrei Nigmatulin. - *) Bugfix: if the $server_protocol was used in FastCGI parameters and a - request line length was near to the "client_header_buffer_size" - directive value, then nginx issued an alert "fastcgi: the request + *) Bugfix: if the $server_protocol was used in FastCGI parameters and a + request line length was near to the "client_header_buffer_size" + directive value, then nginx issued an alert "fastcgi: the request record is too big". - *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS + *) Bugfix: if a plain text HTTP/0.9 version request was made to HTTPS server, then nginx returned usual response. Changes with nginx 0.6.20 28 Nov 2007 - *) Bugfix: a segmentation fault might occur in worker process if a - "proxy_pass" directive with URI-part was used; the bug had appeared + *) Bugfix: a segmentation fault might occur in worker process if a + "proxy_pass" directive with URI-part was used; the bug had appeared in 0.6.19. @@ -2356,20 +2390,20 @@ Changes with nginx 0.6.19 Changes with nginx 0.6.18 27 Nov 2007 - *) Change: now the ngx_http_userid_module adds start time microseconds + *) Change: now the ngx_http_userid_module adds start time microseconds to the cookie field contains a pid value. - *) Change: now the full request line instead of URI only is written to + *) Change: now the full request line instead of URI only is written to error_log. *) Feature: variables support in the "proxy_pass" directive. *) Feature: the "resolver" and "resolver_timeout" directives. - *) Feature: now the directive "add_header last-modified ''" deletes a + *) Feature: now the directive "add_header last-modified ''" deletes a "Last-Modified" response header line. - *) Bugfix: the "limit_rate" directive did not allow to use full + *) Bugfix: the "limit_rate" directive did not allow to use full throughput, even if limit value was very high. @@ -2378,19 +2412,19 @@ Changes with nginx 0.6.17 *) Feature: the "If-Range" request header line support. Thanks to Alexander V. Inyukhin. - *) Bugfix: URL double escaping in a redirect of the "msie_refresh" + *) Bugfix: URL double escaping in a redirect of the "msie_refresh" directive; the bug had appeared in 0.6.4. - *) Bugfix: the "autoindex" directive did not work with the "alias /" + *) Bugfix: the "autoindex" directive did not work with the "alias /" directive. - *) Bugfix: a segmentation fault might occur in worker process if + *) Bugfix: a segmentation fault might occur in worker process if subrequests were used. - *) Bugfix: the big responses may be transferred truncated if SSL and + *) Bugfix: the big responses may be transferred truncated if SSL and gzip were used. - *) Bugfix: the $status variable was equal to 0 if a proxied server + *) Bugfix: the $status variable was equal to 0 if a proxied server returned response in HTTP/0.9 version. @@ -2399,8 +2433,8 @@ Changes with nginx 0.6.16 *) Change: now the uname(2) is used on Linux instead of procfs. Thanks to Ilya Novikov. - *) Bugfix: if the "?" character was in a "error_page" directive, then - it was escaped in a proxied request; the bug had appeared in 0.6.11. + *) Bugfix: if the "?" character was in a "error_page" directive, then it + was escaped in a proxied request; the bug had appeared in 0.6.11. *) Bugfix: compatibility with mget. @@ -2418,21 +2452,21 @@ Changes with nginx 0.6.15 *) Bugfix: nginx did not unescape URI in the "include" SSI command. - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if variable was used in the "charset" or + *) Bugfix: the segmentation fault was occurred on start or while + reconfiguration if variable was used in the "charset" or "source_charset" directives. - *) Bugfix: nginx returned the 400 response on requests like + *) Bugfix: nginx returned the 400 response on requests like "GET http://www.domain.com HTTP/1.0". Thanks to James Oakley. - *) Bugfix: if request with request body was redirected using the - "error_page" directive, then nginx tried to read the request body + *) Bugfix: if request with request body was redirected using the + "error_page" directive, then nginx tried to read the request body again; the bug had appeared in 0.6.7. - *) Bugfix: a segmentation fault occurred in worker process if no - server_name was explicitly defined for server processing request; - the bug had appeared in 0.6.7. + *) Bugfix: a segmentation fault occurred in worker process if no + server_name was explicitly defined for server processing request; the + bug had appeared in 0.6.7. Changes with nginx 0.6.14 15 Oct 2007 @@ -2441,31 +2475,31 @@ Changes with nginx 0.6.14 *) Feature: the "encoding" parameter in the "echo" SSI command. - *) Feature: the "access_log" directive may be used inside the + *) Feature: the "access_log" directive may be used inside the "limit_except" block. - *) Bugfix: if all upstream servers were failed, then all servers had - got weight the was equal one until servers became alive; the bug had + *) Bugfix: if all upstream servers were failed, then all servers had got + weight the was equal one until servers became alive; the bug had appeared in 0.6.6. - *) Bugfix: a segmentation fault occurred in worker process if - $date_local and $date_gmt were used outside the + *) Bugfix: a segmentation fault occurred in worker process if + $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. - *) Bugfix: a segmentation fault might occur in worker process if debug + *) Bugfix: a segmentation fault might occur in worker process if debug log was enabled. Thanks to Andrei Nigmatulin. - *) Bugfix: ngx_http_memcached_module did not set + *) Bugfix: ngx_http_memcached_module did not set $upstream_response_time. Thanks to Maxim Dounin. - *) Bugfix: a worker process may got caught in an endless loop, if the + *) Bugfix: a worker process may got caught in an endless loop, if the memcached was used. - *) Bugfix: nginx supported low case only "close" and "keep-alive" - values in the "Connection" request header line; the bug had appeared - in 0.6.11. + *) Bugfix: nginx supported low case only "close" and "keep-alive" values + in the "Connection" request header line; the bug had appeared in + 0.6.11. *) Bugfix: sub_filter did not work with empty substitution. @@ -2474,7 +2508,7 @@ Changes with nginx 0.6.14 Changes with nginx 0.6.13 24 Sep 2007 - *) Bugfix: nginx did not close directory file on HEAD request if + *) Bugfix: nginx did not close directory file on HEAD request if autoindex was used. Thanks to Arkadiusz Patyk. @@ -2483,82 +2517,82 @@ Changes with nginx 0.6.12 *) Change: mail proxy was split on three modules: pop3, imap and smtp. - *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, + *) Feature: the --without-mail_pop3_module, --without-mail_imap_module, and --without-mail_smtp_module configuration parameters. - *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" + *) Feature: the "smtp_greeting_delay" and "smtp_client_buffer" directives of the ngx_mail_smtp_module. - *) Bugfix: the trailing wildcards did not work; the bug had appeared in + *) Bugfix: the trailing wildcards did not work; the bug had appeared in 0.6.9. - *) Bugfix: nginx could not start on Solaris if the shared PCRE library + *) Bugfix: nginx could not start on Solaris if the shared PCRE library located in non-standard place was used. - *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives - did not hide response header lines whose name was longer than 32 + *) Bugfix: the "proxy_hide_header" and "fastcgi_hide_header" directives + did not hide response header lines whose name was longer than 32 characters. Thanks to Manlio Perillo. Changes with nginx 0.6.11 11 Sep 2007 - *) Bugfix: active connection counter always increased if mail proxy was + *) Bugfix: active connection counter always increased if mail proxy was used. - *) Bugfix: if backend returned response header only using non-buffered + *) Bugfix: if backend returned response header only using non-buffered proxy, then nginx closed backend connection on timeout. - *) Bugfix: nginx did not support several "Connection" request header + *) Bugfix: nginx did not support several "Connection" request header lines. - *) Bugfix: if the "max_fails" was set for upstream server, then after - first failure server weight was always one; the bug had appeared in + *) Bugfix: if the "max_fails" was set for upstream server, then after + first failure server weight was always one; the bug had appeared in 0.6.6. Changes with nginx 0.6.10 03 Sep 2007 - *) Feature: the "open_file_cache", "open_file_cache_retest", and + *) Feature: the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" directives. *) Bugfix: socket leak; the bug had appeared in 0.6.7. - *) Bugfix: a charset set by the "charset" directive was not appended to + *) Bugfix: a charset set by the "charset" directive was not appended to the "Content-Type" header set by $r->send_http_header(). - *) Bugfix: a segmentation fault might occur in worker process if + *) Bugfix: a segmentation fault might occur in worker process if /dev/poll method was used. Changes with nginx 0.6.9 28 Aug 2007 - *) Bugfix: a worker process may got caught in an endless loop, if the + *) Bugfix: a worker process may got caught in an endless loop, if the HTTPS protocol was used; the bug had appeared in 0.6.7. - *) Bugfix: if server listened on two addresses or ports and trailing + *) Bugfix: if server listened on two addresses or ports and trailing wildcard was used, then nginx did not run. - *) Bugfix: the "ip_hash" directive might incorrectly mark servers as + *) Bugfix: the "ip_hash" directive might incorrectly mark servers as down. - *) Bugfix: nginx could not be built on amd64; the bug had appeared in + *) Bugfix: nginx could not be built on amd64; the bug had appeared in 0.6.8. Changes with nginx 0.6.8 20 Aug 2007 - *) Change: now nginx tries to set the "worker_priority", - "worker_rlimit_nofile", "worker_rlimit_core", and + *) Change: now nginx tries to set the "worker_priority", + "worker_rlimit_nofile", "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user privileges. - *) Change: now nginx escapes space and "%" in request to a mail proxy + *) Change: now nginx escapes space and "%" in request to a mail proxy authentication server. *) Change: now nginx escapes "%" in $memcached_key variable. - *) Bugfix: nginx used path relative to configuration prefix for - non-absolute configuration file path specified in the "-c" key; the + *) Bugfix: nginx used path relative to configuration prefix for + non-absolute configuration file path specified in the "-c" key; the bug had appeared in 0.6.6. *) Bugfix: nginx did not work on FreeBSD/sparc64. @@ -2566,45 +2600,45 @@ Changes with nginx 0.6.8 Changes with nginx 0.6.7 15 Aug 2007 - *) Change: now the paths specified in the "include", - "auth_basic_user_file", "perl_modules", "ssl_certificate", - "ssl_certificate_key", and "ssl_client_certificate" directives are - relative to directory of nginx configuration file nginx.conf, but - not to nginx prefix directory. + *) Change: now the paths specified in the "include", + "auth_basic_user_file", "perl_modules", "ssl_certificate", + "ssl_certificate_key", and "ssl_client_certificate" directives are + relative to directory of nginx configuration file nginx.conf, but not + to nginx prefix directory. *) Change: the --sysconfdir=PATH option in configure was canceled. - *) Change: the special make target "upgrade1" was defined for online + *) Change: the special make target "upgrade1" was defined for online upgrade of 0.1.x versions. - *) Feature: the "server_name" and "valid_referers" directives support + *) Feature: the "server_name" and "valid_referers" directives support regular expressions. - *) Feature: the "server" directive in the "upstream" context supports + *) Feature: the "server" directive in the "upstream" context supports the "backup" parameter. - *) Feature: the ngx_http_perl_module supports the + *) Feature: the ngx_http_perl_module supports the $r->discard_request_body. - *) Feature: the "add_header Last-Modified ..." directive changes the + *) Feature: the "add_header Last-Modified ..." directive changes the "Last-Modified" response header line. - *) Bugfix: if a response different than 200 was returned to a request - with body and connection went to the keep-alive state after the + *) Bugfix: if a response different than 200 was returned to a request + with body and connection went to the keep-alive state after the request, then nginx returned 400 for the next request. - *) Bugfix: a segmentation fault occurred in worker process if invalid + *) Bugfix: a segmentation fault occurred in worker process if invalid address was set in the "auth_http" directive. - *) Bugfix: now nginx uses default listen backlog value 511 on all + *) Bugfix: now nginx uses default listen backlog value 511 on all platforms except FreeBSD. Thanks to Jiang Hong. - *) Bugfix: a worker process may got caught in an endless loop, if a - "server" inside "upstream" block was marked as "down"; the bug had + *) Bugfix: a worker process may got caught in an endless loop, if a + "server" inside "upstream" block was marked as "down"; the bug had appeared in 0.6.6. - *) Bugfix: now Solaris sendfilev() is not used to transfer the client + *) Bugfix: now Solaris sendfilev() is not used to transfer the client request body to FastCGI-server via the unix domain socket. @@ -2620,13 +2654,13 @@ Changes with nginx 0.6.6 *) Bugfix: fair big weight upstream balancer. - *) Bugfix: if a client has closed connection to mail proxy then nginx + *) Bugfix: if a client has closed connection to mail proxy then nginx might not close connection to backend. - *) Bugfix: if the same host without specified port was used as backend + *) Bugfix: if the same host without specified port was used as backend for HTTP and HTTPS, then nginx used only one port - 80 or 443. - *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early + *) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early versions; the bug had appeared in 0.6.4. @@ -2643,8 +2677,7 @@ Changes with nginx 0.6.5 *) Bugfix: now nginx escapes space in $memcached_key variable. - *) Bugfix: nginx was incorrectly built by Sun Studio on - Solaris/amd64. + *) Bugfix: nginx was incorrectly built by Sun Studio on Solaris/amd64. Thanks to Jiang Hong. *) Bugfix: of minor potential bugs. @@ -2656,13 +2689,13 @@ Changes with nginx 0.6.4 *) Security: the "msie_refresh" directive allowed XSS. Thanks to Maxim Boguk. - *) Change: the "proxy_store" and "fastcgi_store" directives were + *) Change: the "proxy_store" and "fastcgi_store" directives were changed. - *) Feature: the "proxy_store_access" and "fastcgi_store_access" + *) Feature: the "proxy_store_access" and "fastcgi_store_access" directives. - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun + *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun Studio. Thanks to Andrei Nigmatulin. @@ -2674,79 +2707,79 @@ Changes with nginx 0.6.3 *) Feature: the "proxy_store" and "fastcgi_store" directives. - *) Bugfix: a segmentation fault might occur in worker process if the + *) Bugfix: a segmentation fault might occur in worker process if the "auth_http_header" directive was used. Thanks to Maxim Dounin. - *) Bugfix: a segmentation fault occurred in worker process if the + *) Bugfix: a segmentation fault occurred in worker process if the CRAM-MD5 authentication method was used, but it was not enabled. - *) Bugfix: a segmentation fault might occur in worker process when the + *) Bugfix: a segmentation fault might occur in worker process when the HTTPS protocol was used in the "proxy_pass" directive. - *) Bugfix: a segmentation fault might occur in worker process if the + *) Bugfix: a segmentation fault might occur in worker process if the eventport method was used. - *) Bugfix: the "proxy_ignore_client_abort" and - "fastcgi_ignore_client_abort" directives did not work; the bug had + *) Bugfix: the "proxy_ignore_client_abort" and + "fastcgi_ignore_client_abort" directives did not work; the bug had appeared in 0.5.13. Changes with nginx 0.6.2 09 Jul 2007 - *) Bugfix: if the FastCGI header was split in records, then nginx - passed garbage in the header to a client. + *) Bugfix: if the FastCGI header was split in records, then nginx passed + garbage in the header to a client. Changes with nginx 0.6.1 17 Jun 2007 *) Bugfix: in SSI parsing. - *) Bugfix: if remote SSI subrequest was used, then posterior local file + *) Bugfix: if remote SSI subrequest was used, then posterior local file subrequest might transferred to client in wrong order. - *) Bugfix: large SSI inclusions buffered in temporary files were + *) Bugfix: large SSI inclusions buffered in temporary files were truncated. - *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal + *) Bugfix: the perl $$ variable value in ngx_http_perl_module was equal to the master process identification number. Changes with nginx 0.6.0 14 Jun 2007 - *) Feature: the "server_name", "map", and "valid_referers" directives + *) Feature: the "server_name", "map", and "valid_referers" directives support the "www.example.*" wildcards. Changes with nginx 0.5.25 11 Jun 2007 - *) Bugfix: nginx could not be built with the - --without-http_rewrite_module parameter; the bug had appeared in + *) Bugfix: nginx could not be built with the + --without-http_rewrite_module parameter; the bug had appeared in 0.5.24. Changes with nginx 0.5.24 06 Jun 2007 - *) Security: the "ssl_verify_client" directive did not work if request + *) Security: the "ssl_verify_client" directive did not work if request was made using HTTP/0.9. - *) Bugfix: a part of response body might be passed uncompressed if gzip + *) Bugfix: a part of response body might be passed uncompressed if gzip was used; the bug had appeared in 0.5.23. Changes with nginx 0.5.23 04 Jun 2007 - *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS + *) Feature: the ngx_http_ssl_module supports Server Name Indication TLS extension. *) Feature: the "fastcgi_catch_stderr" directive. Thanks to Nick S. Grechukh, OWOX project. - *) Bugfix: a segmentation fault occurred in master process if two + *) Bugfix: a segmentation fault occurred in master process if two virtual servers should bind() to the overlapping ports. - *) Bugfix: if nginx was built with ngx_http_perl_module and perl - supported threads, then during second reconfiguration the error + *) Bugfix: if nginx was built with ngx_http_perl_module and perl + supported threads, then during second reconfiguration the error messages "panic: MUTEX_LOCK" and "perl_parse() failed" were issued. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. @@ -2754,20 +2787,20 @@ Changes with nginx 0.5.23 Changes with nginx 0.5.22 29 May 2007 - *) Bugfix: a big request body might not be passed to backend; the bug + *) Bugfix: a big request body might not be passed to backend; the bug had appeared in 0.5.21. Changes with nginx 0.5.21 28 May 2007 - *) Bugfix: if server has more than about ten locations, then regex + *) Bugfix: if server has more than about ten locations, then regex locations might be choosen not in that order as they were specified. - *) Bugfix: a worker process may got caught in an endless loop on 64-bit + *) Bugfix: a worker process may got caught in an endless loop on 64-bit platform, if the 33-rd or next in succession backend has failed. Thanks to Anton Povarov. - *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE + *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE library was used. Thanks to Andrei Nigmatulin. @@ -2778,22 +2811,21 @@ Changes with nginx 0.5.20 *) Feature: the "sendfile_max_chunk" directive. - *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..." + *) Feature: the "$http_...", "$sent_http_...", and "$upstream_http_..." variables may be changed using the "set" directive. - *) Bugfix: a segmentation fault might occur in worker process if the - SSI command 'if expr="$var = /"' was used. - - *) Bugfix: trailing boundary of multipart range response was - transferred incorrectly. + *) Bugfix: a segmentation fault might occur in worker process if the SSI + command 'if expr="$var = /"' was used. + + *) Bugfix: trailing boundary of multipart range response was transferred + incorrectly. Thanks to Evan Miller. - *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun + *) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun Studio. Thanks to Andrei Nigmatulin. - *) Bugfix: the ngx_http_perl_module could not be built by Solaris - make. + *) Bugfix: the ngx_http_perl_module could not be built by Solaris make. Thanks to Andrei Nigmatulin. @@ -2801,19 +2833,19 @@ Changes with nginx 0.5.19 *) Change: now the $request_time variable has millisecond precision. - *) Change: the method $r->rflush of ngx_http_perl_module was renamed to + *) Change: the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. *) Feature: the $upstream_addr variable. - *) Feature: the "proxy_headers_hash_max_size" and + *) Feature: the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" directives. Thanks to Volodymyr Kostyrko. - *) Bugfix: the files more than 2G could not be transferred using + *) Bugfix: the files more than 2G could not be transferred using sendfile and limit_rate on 64-bit platforms. - *) Bugfix: the files more than 2G could not be transferred using + *) Bugfix: the files more than 2G could not be transferred using sendfile on 64-bit Linux. @@ -2823,16 +2855,16 @@ Changes with nginx 0.5.18 *) Feature: the "$upstream_http_..." variables. - *) Feature: now the $upstream_status and $upstream_response_time + *) Feature: now the $upstream_status and $upstream_response_time variables keep data about all upstreams before X-Accel-Redirect. - *) Bugfix: a segmentation fault occurred in master process after first - reconfiguration and receiving any signal if nginx was built with - ngx_http_perl_module and perl did not support multiplicity; the bug + *) Bugfix: a segmentation fault occurred in master process after first + reconfiguration and receiving any signal if nginx was built with + ngx_http_perl_module and perl did not support multiplicity; the bug had appeared in 0.5.9. - *) Bugfix: if perl did not support multiplicity, then after - reconfiguration perl code did not work; the bug had appeared in + *) Bugfix: if perl did not support multiplicity, then after + reconfiguration perl code did not work; the bug had appeared in 0.3.38. @@ -2840,68 +2872,68 @@ Changes with nginx 0.5.17 *) Change: now nginx always returns the 405 status for the TRACE method. - *) Feature: now nginx supports the "include" directive inside the + *) Feature: now nginx supports the "include" directive inside the "types" block. - *) Bugfix: the $document_root variable usage in the "root" and "alias" + *) Bugfix: the $document_root variable usage in the "root" and "alias" directives is disabled: this caused recursive stack overflow. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - *) Bugfix: in some cases non-cachable variables (such as $uri variable) + *) Bugfix: in some cases non-cachable variables (such as $uri variable) returned old cached value. Changes with nginx 0.5.16 26 Mar 2007 - *) Bugfix: the C-class network was not used as hash key in the - "ip_hash" directive. + *) Bugfix: the C-class network was not used as hash key in the "ip_hash" + directive. Thanks to Pavel Yarkovoy. - *) Bugfix: a segmentation fault might occur in worker process if a - charset was set in the "Content-Type" header line and the line has + *) Bugfix: a segmentation fault might occur in worker process if a + charset was set in the "Content-Type" header line and the line has trailing ";"; the bug had appeared in 0.3.50. - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was - used and a request body written in a temporary file was multiple of + *) Bugfix: the "[alert] zero size buf" error when FastCGI server was + used and a request body written in a temporary file was multiple of 32K. - *) Bugfix: nginx could not be built on Solaris without the --with-debug + *) Bugfix: nginx could not be built on Solaris without the --with-debug option; the bug had appeared in 0.5.15. Changes with nginx 0.5.15 19 Mar 2007 - *) Feature: the mail proxy supports authenticated SMTP proxying and the + *) Feature: the mail proxy supports authenticated SMTP proxying and the "smtp_auth", "smtp_capablities", and "xclient" directives. Thanks to Anton Yuzhaninov and Maxim Dounin. - *) Feature: now the keep-alive connections are closed just after + *) Feature: now the keep-alive connections are closed just after receiving the reconfiguration signal. - *) Change: the "imap" and "auth" directives were renamed to the "mail" + *) Change: the "imap" and "auth" directives were renamed to the "mail" and "pop3_auth" directives. - *) Bugfix: a segmentation fault occurred in worker process if the - CRAM-MD5 authentication method was used and the APOP method was + *) Bugfix: a segmentation fault occurred in worker process if the + CRAM-MD5 authentication method was used and the APOP method was disabled. - *) Bugfix: if the "starttls only" directive was used in POP3 protocol, + *) Bugfix: if the "starttls only" directive was used in POP3 protocol, then nginx allowed authentication without switching to the SSL mode. - *) Bugfix: worker processes did not exit after reconfiguration and did + *) Bugfix: worker processes did not exit after reconfiguration and did not rotate logs if the eventport method was used. - *) Bugfix: a worker process may got caught in an endless loop, if the + *) Bugfix: a worker process may got caught in an endless loop, if the "ip_hash" directive was used. - *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll + *) Bugfix: now nginx does not log some alerts if eventport or /dev/poll methods are used. Changes with nginx 0.5.14 23 Feb 2007 - *) Bugfix: nginx ignored superfluous closing "}" in the end of + *) Bugfix: nginx ignored superfluous closing "}" in the end of configuration file. @@ -2909,33 +2941,33 @@ Changes with nginx 0.5.13 *) Feature: the COPY and MOVE methods. - *) Bugfix: the ngx_http_realip_module set garbage for requests passed + *) Bugfix: the ngx_http_realip_module set garbage for requests passed via keep-alive connection. *) Bugfix: nginx did not work on big-endian 64-bit Linux. Thanks to Andrei Nigmatulin. - *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes + *) Bugfix: now when IMAP/POP3 proxy receives too long command it closes the connection right away, but not after timeout. - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a - send timeout only. - - *) Bugfix: nginx could not be built on platforms different from i386, + *) Bugfix: if the "epoll" method was used and a client closed a + connection prematurely, then nginx closed the connection after a send + timeout only. + + *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc, and ppc; the bug had appeared in 0.5.8. Changes with nginx 0.5.12 12 Feb 2007 - *) Bugfix: nginx could not be built on platforms different from i386, + *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc, and ppc; the bug had appeared in 0.5.8. - *) Bugfix: a segmentation fault might occur in worker process if the - temporary files were used while working with FastCGI server; the bug + *) Bugfix: a segmentation fault might occur in worker process if the + temporary files were used while working with FastCGI server; the bug had appeared in 0.5.8. - *) Bugfix: a segmentation fault might occur in worker process if the + *) Bugfix: a segmentation fault might occur in worker process if the $fastcgi_script_name variable was logged. *) Bugfix: ngx_http_perl_module could not be built on Solaris. @@ -2946,69 +2978,69 @@ Changes with nginx 0.5.11 *) Feature: now configure detects system PCRE library in MacPorts. Thanks to Chris McGrath. - *) Bugfix: the response was incorrect if several ranges were requested; + *) Bugfix: the response was incorrect if several ranges were requested; the bug had appeared in 0.5.6. - *) Bugfix: the "create_full_put_path" directive could not create the + *) Bugfix: the "create_full_put_path" directive could not create the intermediate directories if no "dav_access" directive was set. Thanks to Evan Miller. - *) Bugfix: the "0" response code might be logged in the access_log + *) Bugfix: the "0" response code might be logged in the access_log instead of the "400" and "408" error codes. - *) Bugfix: a segmentation fault might occur in worker process if nginx + *) Bugfix: a segmentation fault might occur in worker process if nginx was built with -O2 optimization. Changes with nginx 0.5.10 26 Jan 2007 - *) Bugfix: while online executable file upgrade the new master process + *) Bugfix: while online executable file upgrade the new master process did not inherit the listening sockets; the bug had appeared in 0.5.9. - *) Bugfix: a segmentation fault might occur in worker process if nginx + *) Bugfix: a segmentation fault might occur in worker process if nginx was built with -O2 optimization; the bug had appeared in 0.5.1. Changes with nginx 0.5.9 25 Jan 2007 - *) Change: now the ngx_http_memcached_module uses the $memcached_key + *) Change: now the ngx_http_memcached_module uses the $memcached_key variable value as a key. *) Feature: the $memcached_key variable. - *) Feature: the "clean" parameter in the "client_body_in_file_only" + *) Feature: the "clean" parameter in the "client_body_in_file_only" directive. *) Feature: the "env" directive. *) Feature: the "sendfile" directive is available inside the "if" block. - *) Feature: now on failure of the writing to access nginx logs a - message to error_log, but not more often than once a minute. - - *) Bugfix: the "access_log off" directive did not always turn off the + *) Feature: now on failure of the writing to access nginx logs a message + to error_log, but not more often than once a minute. + + *) Bugfix: the "access_log off" directive did not always turn off the logging. Changes with nginx 0.5.8 19 Jan 2007 - *) Bugfix: a segmentation fault might occur if + *) Bugfix: a segmentation fault might occur if "client_body_in_file_only on" was used and a request body was small. - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" and "proxy_pass_request_body off" or - "fastcgi_pass_request_body off" directives were used, and nginx + *) Bugfix: a segmentation fault occurred if + "client_body_in_file_only on" and "proxy_pass_request_body off" or + "fastcgi_pass_request_body off" directives were used, and nginx switched to a next upstream. - *) Bugfix: if the "proxy_buffering off" directive was used and a client - connection was non-active, then the connection was closed after send + *) Bugfix: if the "proxy_buffering off" directive was used and a client + connection was non-active, then the connection was closed after send timeout; the bug had appeared in 0.4.7. - *) Bugfix: if the "epoll" method was used and a client closed a - connection prematurely, then nginx closed the connection after a - send timeout only. - - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was + *) Bugfix: if the "epoll" method was used and a client closed a + connection prematurely, then nginx closed the connection after a send + timeout only. + + *) Bugfix: the "[alert] zero size buf" error when FastCGI server was used. *) Bugfixes in the "limit_zone" directive. @@ -3020,15 +3052,15 @@ Changes with nginx 0.5.7 *) Bugfixes in the "ssl_session_cache" and "limit_zone" directives. - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if the "ssl_session_cache" or "limit_zone" - directives were used on 64-bit platforms. - - *) Bugfix: a segmentation fault occurred if the "add_before_body" or - "add_after_body" directives were used and there was no - "Content-Type" header line in response. - - *) Bugfix: the OpenSSL library was always built with the threads + *) Bugfix: the segmentation fault was occurred on start or while + reconfiguration if the "ssl_session_cache" or "limit_zone" directives + were used on 64-bit platforms. + + *) Bugfix: a segmentation fault occurred if the "add_before_body" or + "add_after_body" directives were used and there was no "Content-Type" + header line in response. + + *) Bugfix: the OpenSSL library was always built with the threads support. Thanks to Den Ivanov. @@ -3037,19 +3069,19 @@ Changes with nginx 0.5.7 Changes with nginx 0.5.6 09 Jan 2007 - *) Change: now the ngx_http_index_module ignores all methods except the + *) Change: now the ngx_http_index_module ignores all methods except the GET, HEAD, and POST methods. *) Feature: the ngx_http_limit_zone_module. *) Feature: the $binary_remote_addr variable. - *) Feature: the "ssl_session_cache" directives of the + *) Feature: the "ssl_session_cache" directives of the ngx_http_ssl_module and ngx_imap_ssl_module. *) Feature: the DELETE method supports recursive removal. - *) Bugfix: the byte-ranges were transferred incorrectly if the + *) Bugfix: the byte-ranges were transferred incorrectly if the $r->sendfile() was used. @@ -3059,13 +3091,13 @@ Changes with nginx 0.5.5 *) Feature: the -V switch. - *) Feature: the "worker_rlimit_core" directive supports size in K, M, + *) Feature: the "worker_rlimit_core" directive supports size in K, M, and G. - *) Bugfix: the nginx.pm module now could be installed by an - unprivileged user. - - *) Bugfix: a segmentation fault might occur if the $r->request_body or + *) Bugfix: the nginx.pm module now could be installed by an unprivileged + user. + + *) Bugfix: a segmentation fault might occur if the $r->request_body or $r->request_body_file methods were used. *) Bugfix: the ppc platform specific bugs. @@ -3073,85 +3105,85 @@ Changes with nginx 0.5.5 Changes with nginx 0.5.4 15 Dec 2006 - *) Feature: the "perl" directive may be used inside the "limit_except" + *) Feature: the "perl" directive may be used inside the "limit_except" block. - *) Bugfix: the ngx_http_dav_module required the "Date" request header + *) Bugfix: the ngx_http_dav_module required the "Date" request header line for the DELETE method. - *) Bugfix: if one only parameter was used in the "dav_access" - directive, then nginx might report about configuration error. - - *) Bugfix: a segmentation fault might occur if the $host variable was + *) Bugfix: if one only parameter was used in the "dav_access" directive, + then nginx might report about configuration error. + + *) Bugfix: a segmentation fault might occur if the $host variable was used; the bug had appeared in 0.4.14. Changes with nginx 0.5.3 13 Dec 2006 - *) Feature: the ngx_http_perl_module supports the $r->status, + *) Feature: the ngx_http_perl_module supports the $r->status, $r->log_error, and $r->sleep methods. - *) Feature: the $r->variable method supports variables that do not - exist in nginx configuration. + *) Feature: the $r->variable method supports variables that do not exist + in nginx configuration. *) Bugfix: the $r->has_request_body method did not work. Changes with nginx 0.5.2 11 Dec 2006 - *) Bugfix: if the "proxy_pass" directive used the name of the - "upstream" block, then nginx tried to resolve the name; the bug had - appeared in 0.5.1. + *) Bugfix: if the "proxy_pass" directive used the name of the "upstream" + block, then nginx tried to resolve the name; the bug had appeared in + 0.5.1. Changes with nginx 0.5.1 11 Dec 2006 - *) Bugfix: the "post_action" directive might not run after a + *) Bugfix: the "post_action" directive might not run after a unsuccessful completion of a request. *) Workaround: for Eudora for Mac; the bug had appeared in 0.4.11. Thanks to Bron Gondwana. - *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then - the message "no port in upstream" was issued; the bug had appeared - in 0.5.0. - - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - same servers but different ports, then these directives uses the + *) Bugfix: if the "upstream" name was used in the "fastcgi_pass", then + the message "no port in upstream" was issued; the bug had appeared in + 0.5.0. + + *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the + same servers but different ports, then these directives uses the first described port; the bug had appeared in 0.5.0. - *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the - unix domain sockets, then these directives used first described + *) Bugfix: if the "proxy_pass" and "fastcgi_pass" directives used the + unix domain sockets, then these directives used first described socket; the bug had appeared in 0.5.0. - *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the - last line in the password file and there was no the carriage return, + *) Bugfix: ngx_http_auth_basic_module ignored the user if it was in the + last line in the password file and there was no the carriage return, the line feed, or the ":" symbol after the password. - *) Bugfix: the $upstream_response_time variable might be equal to + *) Bugfix: the $upstream_response_time variable might be equal to "0.000", although response time was more than 1 millisecond. Changes with nginx 0.5.0 04 Dec 2006 - *) Change: the parameters in the "%name" form in the "log_format" + *) Change: the parameters in the "%name" form in the "log_format" directive are not supported anymore. - *) Change: the "proxy_upstream_max_fails", - "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", - "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and - "memcached_upstream_fail_timeout" directives are not supported + *) Change: the "proxy_upstream_max_fails", + "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", + "fastcgi_upstream_fail_timeout", "memcached_upstream_max_fails", and + "memcached_upstream_fail_timeout" directives are not supported anymore. - *) Feature: the "server" directive in the "upstream" context supports + *) Feature: the "server" directive in the "upstream" context supports the "max_fails", "fail_timeout", and "down" parameters. *) Feature: the "ip_hash" directive inside the "upstream" block. - *) Feature: the WAIT status in the "Auth-Status" header line of the + *) Feature: the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy authentication server response. - *) Bugfix: nginx could not be built on 64-bit platforms; the bug had + *) Bugfix: nginx could not be built on 64-bit platforms; the bug had appeared in 0.4.14. @@ -3159,62 +3191,62 @@ Changes with nginx 0.4.14 *) Feature: the "proxy_pass_error_message" directive in IMAP/POP3 proxy. - *) Feature: now configure detects system PCRE library on FreeBSD, - Linux, and NetBSD. - - *) Bugfix: ngx_http_perl_module did not work with perl built with the + *) Feature: now configure detects system PCRE library on FreeBSD, Linux, + and NetBSD. + + *) Bugfix: ngx_http_perl_module did not work with perl built with the threads support; the bug had appeared in 0.3.38. - *) Bugfix: ngx_http_perl_module did not work if perl was called + *) Bugfix: ngx_http_perl_module did not work if perl was called recursively. *) Bugfix: nginx ignored a host name in a request line. - *) Bugfix: a worker process may got caught in an endless loop, if a + *) Bugfix: a worker process may got caught in an endless loop, if a FastCGI server sent too many data to the stderr. - *) Bugfix: the $upstream_response_time variable may be negative if the + *) Bugfix: the $upstream_response_time variable may be negative if the system time was changed backward. - *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 + *) Bugfix: the "Auth-Login-Attempt" parameter was not sent to IMAP/POP3 proxy authentication server when POP3 was used. - *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 + *) Bugfix: a segmentation fault might occur if connect to IMAP/POP3 proxy authentication server failed. Changes with nginx 0.4.13 15 Nov 2006 - *) Feature: the "proxy_pass" directive may be used inside the + *) Feature: the "proxy_pass" directive may be used inside the "limit_except" block. *) Feature: the "limit_except" directive supports all WebDAV methods. - *) Bugfix: if the "add_before_body" directive was used without the - "add_after_body" directive, then a response did not transferred + *) Bugfix: if the "add_before_body" directive was used without the + "add_after_body" directive, then a response did not transferred complete. - *) Bugfix: a large request body did not receive if the epoll method and + *) Bugfix: a large request body did not receive if the epoll method and the deferred accept() were used. - *) Bugfix: a charset could not be set for ngx_http_autoindex_module + *) Bugfix: a charset could not be set for ngx_http_autoindex_module responses; the bug had appeared in 0.3.50. - *) Bugfix: the "[alert] zero size buf" error when FastCGI server was + *) Bugfix: the "[alert] zero size buf" error when FastCGI server was used; *) Bugfix: the --group= configuration parameter was ignored. Thanks to Thomas Moschny. - *) Bugfix: the 50th subrequest in SSI response did not work; the bug - had appeared in 0.3.50. + *) Bugfix: the 50th subrequest in SSI response did not work; the bug had + appeared in 0.3.50. Changes with nginx 0.4.12 31 Oct 2006 *) Feature: the ngx_http_perl_module supports the $r->variable method. - *) Bugfix: if a big static file was included using SSI in a response, + *) Bugfix: if a big static file was included using SSI in a response, then the response may be transferred incomplete. *) Bugfix: nginx did not omit the "#fragment" part in URI. @@ -3224,28 +3256,28 @@ Changes with nginx 0.4.11 *) Feature: the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. - *) Feature: the ngx_http_perl_module supports the $r->allow_ranges + *) Feature: the ngx_http_perl_module supports the $r->allow_ranges method. - *) Bugfix: if the APOP was enabled in the POP3 proxy, then the - USER/PASS commands might not work; the bug had appeared in 0.4.10. + *) Bugfix: if the APOP was enabled in the POP3 proxy, then the USER/PASS + commands might not work; the bug had appeared in 0.4.10. Changes with nginx 0.4.10 23 Oct 2006 *) Feature: the POP3 proxy supports the APOP command. - *) Bugfix: if the select, poll or /dev/poll methods were used, then - while waiting authentication server response the IMAP/POP3 proxy + *) Bugfix: if the select, poll or /dev/poll methods were used, then + while waiting authentication server response the IMAP/POP3 proxy hogged CPU. - *) Bugfix: a segmentation fault might occur if the $server_addr - variable was used in the "map" directive. - - *) Bugfix: the ngx_http_flv_module did not support the byte ranges for + *) Bugfix: a segmentation fault might occur if the $server_addr variable + was used in the "map" directive. + + *) Bugfix: the ngx_http_flv_module did not support the byte ranges for full responses; the bug had appeared in 0.4.7. - *) Bugfix: nginx could not be built on Debian amd64; the bug had + *) Bugfix: nginx could not be built on Debian amd64; the bug had appeared in 0.4.9. @@ -3253,17 +3285,17 @@ Changes with nginx 0.4.9 *) Feature: the "set" parameter in the "include" SSI command. - *) Feature: the ngx_http_perl_module now tests the nginx.pm module + *) Feature: the ngx_http_perl_module now tests the nginx.pm module version. Changes with nginx 0.4.8 11 Oct 2006 - *) Bugfix: if an "include" SSI command were before another "include" - SSI command with a "wait" parameter, then the "wait" parameter might - not work. - - *) Bugfix: the ngx_http_flv_module added the FLV header to the full + *) Bugfix: if an "include" SSI command were before another "include" SSI + command with a "wait" parameter, then the "wait" parameter might not + work. + + *) Bugfix: the ngx_http_flv_module added the FLV header to the full responses. Thanks to Alexey Kovyrin. @@ -3274,38 +3306,38 @@ Changes with nginx 0.4.7 *) Feature: the $request_body_file variable. - *) Feature: the "charset" and "source_charset" directives support the + *) Feature: the "charset" and "source_charset" directives support the variables. - *) Bugfix: if an "include" SSI command were before another "include" - SSI command with a "wait" parameter, then the "wait" parameter might - not work. - - *) Bugfix: if the "proxy_buffering off" directive was used or while - working with memcached the connections might not be closed on + *) Bugfix: if an "include" SSI command were before another "include" SSI + command with a "wait" parameter, then the "wait" parameter might not + work. + + *) Bugfix: if the "proxy_buffering off" directive was used or while + working with memcached the connections might not be closed on timeout. - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, + *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. Changes with nginx 0.4.6 06 Oct 2006 - *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, + *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. *) Bugfix: nginx sent the chunked response for HTTP/1.1 request, - if its length was set by text string in the + if its length was set by text string in the $r->headers_out("Content-Length", ...) method. - *) Bugfix: after redirecting error by an "error_page" directive any - ngx_http_rewrite_module directive returned this error code; the bug + *) Bugfix: after redirecting error by an "error_page" directive any + ngx_http_rewrite_module directive returned this error code; the bug had appeared in 0.4.4. Changes with nginx 0.4.5 02 Oct 2006 - *) Bugfix: nginx could not be built on Linux and Solaris; the bug had + *) Bugfix: nginx could not be built on Linux and Solaris; the bug had appeared in 0.4.4. @@ -3318,29 +3350,29 @@ Changes with nginx 0.4.4 *) Feature: the "include" directive supports the "*" mask. Thanks to Jonathan Dance. - *) Bugfix: the "return" directive always overrode the "error_page" + *) Bugfix: the "return" directive always overrode the "error_page" response code redirected by the "error_page" directive. - *) Bugfix: a segmentation fault occurred if zero-length body was in PUT + *) Bugfix: a segmentation fault occurred if zero-length body was in PUT method. - *) Bugfix: the redirect was changed incorrectly if the variables were + *) Bugfix: the redirect was changed incorrectly if the variables were used in the "proxy_redirect" directive. Changes with nginx 0.4.3 26 Sep 2006 - *) Change: now the 499 error could not be redirected using an + *) Change: now the 499 error could not be redirected using an "error_page" directive. *) Feature: the Solaris 10 event ports support. *) Feature: the ngx_http_browser_module. - *) Bugfix: a segmentation fault may occur while redirecting the 400 + *) Bugfix: a segmentation fault may occur while redirecting the 400 error to the proxied server using a "proxy_pass" directive. - *) Bugfix: a segmentation fault occurred if an unix domain socket was + *) Bugfix: a segmentation fault occurred if an unix domain socket was used in a "proxy_pass" directive; the bug had appeared in 0.3.47. *) Bugfix: SSI did work with memcached and nonbuffered responses. @@ -3350,8 +3382,8 @@ Changes with nginx 0.4.3 Changes with nginx 0.4.2 14 Sep 2006 - *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug - had appeared in 0.4.1. + *) Bugfix: the O_NOATIME flag support on Linux was canceled; the bug had + appeared in 0.4.1. Changes with nginx 0.4.1 14 Sep 2006 @@ -3359,32 +3391,31 @@ Changes with nginx 0.4.1 *) Bugfix: the DragonFlyBSD compatibility. Thanks to Pavel Nazarov. - *) Workaround: of bug in 64-bit Linux sendfile(), when file is more - than 2G. - - *) Feature: now on Linux nginx uses O_NOATIME flag for static - requests. + *) Workaround: of bug in 64-bit Linux sendfile(), when file is more than + 2G. + + *) Feature: now on Linux nginx uses O_NOATIME flag for static requests. Thanks to Yusuf Goolamabbas. Changes with nginx 0.4.0 30 Aug 2006 - *) Change in internal API: the HTTP modules initialization was moved + *) Change in internal API: the HTTP modules initialization was moved from the init module phase to the HTTP postconfiguration phase. - *) Change: now the request body is not read beforehand for the - ngx_http_perl_module: it's required to start the reading using the + *) Change: now the request body is not read beforehand for the + ngx_http_perl_module: it's required to start the reading using the $r->has_request_body method. *) Feature: the ngx_http_perl_module supports the DECLINED return code. - *) Feature: the ngx_http_dav_module supports the incoming "Date" header + *) Feature: the ngx_http_dav_module supports the incoming "Date" header line for the PUT method. *) Feature: the "ssi" directive is available inside the "if" block. - *) Bugfix: a segmentation fault occurred if there was an "index" - directive with variables and the first index name was without + *) Bugfix: a segmentation fault occurred if there was an "index" + directive with variables and the first index name was without variables; the bug had appeared in 0.1.29. @@ -3396,26 +3427,26 @@ Changes with nginx 0.3.61 *) Feature: the "recursive_error_pages" directive. - *) Bugfix: the "rewrite" directive returned incorrect redirect, if the + *) Bugfix: the "rewrite" directive returned incorrect redirect, if the redirect had the captured escaped symbols from original URI. Changes with nginx 0.3.60 18 Aug 2006 - *) Bugfix: a worker process may got caught in an endless loop while an + *) Bugfix: a worker process may got caught in an endless loop while an error redirection; the bug had appeared in 0.3.59. Changes with nginx 0.3.59 16 Aug 2006 - *) Feature: now is possible to do several redirection using the + *) Feature: now is possible to do several redirection using the "error_page" directive. *) Bugfix: the "dav_access" directive did not support three parameters. - *) Bugfix: the "error_page" directive did not changes the - "Content-Type" header line after the "X-Accel-Redirect" was used; - the bug had appeared in 0.3.58. + *) Bugfix: the "error_page" directive did not changes the "Content-Type" + header line after the "X-Accel-Redirect" was used; the bug had + appeared in 0.3.58. Changes with nginx 0.3.58 14 Aug 2006 @@ -3424,12 +3455,12 @@ Changes with nginx 0.3.58 *) Change: now the procfs interface instead of sysctl is used on Linux. - *) Change: now the "Content-Type" header line is inherited from first + *) Change: now the "Content-Type" header line is inherited from first response when the "X-Accel-Redirect" was used. *) Bugfix: the "error_page" directive did not redirect the 413 error. - *) Bugfix: the trailing "?" did not remove old arguments if no new + *) Bugfix: the trailing "?" did not remove old arguments if no new arguments were added to a rewritten URI. *) Bugfix: nginx could not run on 64-bit FreeBSD 7.0-CURRENT. @@ -3442,10 +3473,10 @@ Changes with nginx 0.3.57 *) Bugfix: in the "!-e" operator of the "if" directive. Thanks to Andrian Budanstov. - *) Bugfix: while a client certificate verification nginx did not send - to a client the required certificates information. - - *) Bugfix: the $document_root variable did not support the variables in + *) Bugfix: while a client certificate verification nginx did not send to + a client the required certificates information. + + *) Bugfix: the $document_root variable did not support the variables in the "root" directive. @@ -3453,11 +3484,11 @@ Changes with nginx 0.3.56 *) Feature: the "dav_access" directive. - *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", + *) Feature: the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" operators. - *) Bugfix: a segmentation fault occurred if a request returned a - redirect and some sent to client header lines were logged in the + *) Bugfix: a segmentation fault occurred if a request returned a + redirect and some sent to client header lines were logged in the access log. @@ -3469,108 +3500,108 @@ Changes with nginx 0.3.55 *) Feature: the unicode2nginx script was added to contrib. - *) Bugfix: if a "root" was specified by variable only, then the root - was relative to a server prefix. - - *) Bugfix: if the request contained "//" or "/./" and escaped symbols + *) Bugfix: if a "root" was specified by variable only, then the root was + relative to a server prefix. + + *) Bugfix: if the request contained "//" or "/./" and escaped symbols after them, then the proxied request was sent unescaped. - *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now + *) Bugfix: the $r->header_in("Cookie") of the ngx_http_perl_module now returns all "Cookie" header lines. - *) Bugfix: a segmentation fault occurred if - "client_body_in_file_only on" was used and nginx switched to a next + *) Bugfix: a segmentation fault occurred if + "client_body_in_file_only on" was used and nginx switched to a next upstream. - *) Bugfix: on some condition while reconfiguration character codes - inside the "charset_map" may be treated invalid; the bug had - appeared in 0.3.50. + *) Bugfix: on some condition while reconfiguration character codes + inside the "charset_map" may be treated invalid; the bug had appeared + in 0.3.50. Changes with nginx 0.3.54 11 Jul 2006 *) Feature: nginx now logs the subrequest information to the error log. - *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and + *) Feature: the "proxy_next_upstream", "fastcgi_next_upstream", and "memcached_next_upstream" directives support the "off" parameter. - *) Feature: the "debug_connection" directive supports the CIDR address + *) Feature: the "debug_connection" directive supports the CIDR address form. - *) Bugfix: if a response of proxied server or FastCGI server was + *) Bugfix: if a response of proxied server or FastCGI server was converted from UTF-8 or back, then it may be transferred incomplete. - *) Bugfix: the $upstream_response_time variable had the time of the + *) Bugfix: the $upstream_response_time variable had the time of the first request to a backend only. - *) Bugfix: nginx could not be built on amd64 platform; the bug had + *) Bugfix: nginx could not be built on amd64 platform; the bug had appeared in 0.3.53. Changes with nginx 0.3.53 07 Jul 2006 - *) Change: the "add_header" directive adds the string to 204, 301, and + *) Change: the "add_header" directive adds the string to 204, 301, and 302 responses. - *) Feature: the "server" directive in the "upstream" context supports + *) Feature: the "server" directive in the "upstream" context supports the "weight" parameter. *) Feature: the "server_name" directive supports the "*" wildcard. *) Feature: nginx supports the request body size more than 2G. - *) Bugfix: if a client was successfully authorized using "satisfy_any - on", then anyway the message "access forbidden by rule" was written + *) Bugfix: if a client was successfully authorized using "satisfy_any + on", then anyway the message "access forbidden by rule" was written in the log. - *) Bugfix: the "PUT" method may erroneously not create a file and - return the 409 code. - - *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx + *) Bugfix: the "PUT" method may erroneously not create a file and return + the 409 code. + + *) Bugfix: if the IMAP/POP3 backend returned an error, then nginx continued proxying anyway. Changes with nginx 0.3.52 03 Jul 2006 - *) Change: the ngx_http_index_module behavior for the "POST /" requests - is reverted to the 0.3.40 version state: the module now does not + *) Change: the ngx_http_index_module behavior for the "POST /" requests + is reverted to the 0.3.40 version state: the module now does not return the 405 error. - *) Bugfix: the worker process may got caught in an endless loop if the + *) Bugfix: the worker process may got caught in an endless loop if the limit rate was used; the bug had appeared in 0.3.37. - *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even + *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even if the recoding was not needed; the bug had appeared in 0.3.50. - *) Bugfix: if a code response of the PUT request was 409, then a + *) Bugfix: if a code response of the PUT request was 409, then a temporary file was not removed. Changes with nginx 0.3.51 30 Jun 2006 - *) Bugfix: the "<" symbols might disappeared some conditions in the - SSI; the bug had appeared in 0.3.50. + *) Bugfix: the "<" symbols might disappeared some conditions in the SSI; + the bug had appeared in 0.3.50. Changes with nginx 0.3.50 28 Jun 2006 - *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" - directives was renamed to the "proxy_intercept_errors" and + *) Change: the "proxy_redirect_errors" and "fastcgi_redirect_errors" + directives was renamed to the "proxy_intercept_errors" and "fastcgi_intercept_errors" directives. - *) Feature: the ngx_http_charset_module supports the recoding from the + *) Feature: the ngx_http_charset_module supports the recoding from the single byte encodings to the UTF-8 encoding and back. - *) Feature: the "X-Accel-Charset" response header line is supported in + *) Feature: the "X-Accel-Charset" response header line is supported in proxy and FastCGI mode. - *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI + *) Bugfix: the "\" escape symbol in the "\"" and "\'" pairs in the SSI command was removed only if the command also has the "$" symbol. - *) Bugfix: the "<!--" string might be added on some conditions in the + *) Bugfix: the "<!--" string might be added on some conditions in the SSI after inclusion. - *) Bugfix: if the "Content-Length: 0" header line was in response, then + *) Bugfix: if the "Content-Length: 0" header line was in response, then in nonbuffered proxying mode the client connection was not closed. @@ -3578,26 +3609,26 @@ Changes with nginx 0.3.49 *) Bugfix: in the "set" directive. - *) Bugfix: if two or more FastCGI subrequests was in SSI, then first - subrequest output was included instead of second and following + *) Bugfix: if two or more FastCGI subrequests was in SSI, then first + subrequest output was included instead of second and following subrequests. Changes with nginx 0.3.48 29 May 2006 - *) Change: now the ngx_http_charset_module works for subrequests, if - the response has no "Content-Type" header line. - - *) Bugfix: if the "proxy_pass" directive has no URI part, then the - "proxy_redirect default" directive add the unnecessary slash in - start of the rewritten redirect. - - *) Bugfix: the internal redirect always transform client's HTTP method - to GET, now the transformation is made for the "X-Accel-Redirect" - redirects only and if the method is not HEAD; the bug had appeared - in 0.3.42. - - *) Bugfix: the ngx_http_perl_module could not be built, if the perl was + *) Change: now the ngx_http_charset_module works for subrequests, if the + response has no "Content-Type" header line. + + *) Bugfix: if the "proxy_pass" directive has no URI part, then the + "proxy_redirect default" directive add the unnecessary slash in start + of the rewritten redirect. + + *) Bugfix: the internal redirect always transform client's HTTP method + to GET, now the transformation is made for the "X-Accel-Redirect" + redirects only and if the method is not HEAD; the bug had appeared in + 0.3.42. + + *) Bugfix: the ngx_http_perl_module could not be built, if the perl was built with the threads support; the bug had appeared in 0.3.46. @@ -3605,42 +3636,42 @@ Changes with nginx 0.3.47 *) Feature: the "upstream" directive. - *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the + *) Change: now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command is always removed. Changes with nginx 0.3.46 11 May 2006 - *) Feature: the "proxy_hide_header", "proxy_pass_header", + *) Feature: the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", and "fastcgi_pass_header" directives. - *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and + *) Change: the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" directives were canceled. - *) Feature: the "X-Accel-Buffering" response header line is supported - in proxy mode. - - *) Bugfix: the reconfiguration bug and memory leaks in the + *) Feature: the "X-Accel-Buffering" response header line is supported in + proxy mode. + + *) Bugfix: the reconfiguration bug and memory leaks in the ngx_http_perl_module. Changes with nginx 0.3.45 06 May 2006 - *) Feature: the "ssl_verify_client", "ssl_verify_depth", and + *) Feature: the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" directives. - *) Change: the $request_method variable now returns the main request + *) Change: the $request_method variable now returns the main request method. - *) Change: the ° symbol codes were changed in koi-win conversion + *) Change: the ° symbol codes were changed in koi-win conversion table. - *) Feature: the euro and N symbols were added to koi-win conversion + *) Feature: the euro and N symbols were added to koi-win conversion table. - *) Bugfix: if nginx distributed the requests among several backends and - some backend failed, then requests intended for this backend was - directed to one live backend only instead of being distributed among + *) Bugfix: if nginx distributed the requests among several backends and + some backend failed, then requests intended for this backend was + directed to one live backend only instead of being distributed among the rest. @@ -3648,7 +3679,7 @@ Changes with nginx 0.3.44 *) Feature: the "wait" parameter in the "include" SSI command. - *) Feature: the Ukrainian and Byelorussian characters were added to + *) Feature: the Ukrainian and Byelorussian characters were added to koi-win conversion table. *) Bugfix: in the SSI. @@ -3661,18 +3692,18 @@ Changes with nginx 0.3.43 Changes with nginx 0.3.42 26 Apr 2006 - *) Feature: the "bind" option of the "listen" directive in IMAP/POP3 + *) Feature: the "bind" option of the "listen" directive in IMAP/POP3 proxy. - *) Bugfix: if the same capture in the "rewrite" directive was used more + *) Bugfix: if the same capture in the "rewrite" directive was used more then once. - *) Bugfix: the $sent_http_content_type, $sent_http_content_length, - $sent_http_last_modified, $sent_http_connection, - $sent_http_keep_alive, and $sent_http_transfer_encoding variables + *) Bugfix: the $sent_http_content_type, $sent_http_content_length, + $sent_http_last_modified, $sent_http_connection, + $sent_http_keep_alive, and $sent_http_transfer_encoding variables were not written to access log. - *) Bugfix: the $sent_http_cache_control returned value of the single + *) Bugfix: the $sent_http_cache_control returned value of the single "Cache-Control" response header line. @@ -3680,13 +3711,13 @@ Changes with nginx 0.3.41 *) Feature: the -v switch. - *) Bugfix: the segmentation fault may occurred if the SSI page has + *) Bugfix: the segmentation fault may occurred if the SSI page has remote subrequests. *) Bugfix: in FastCGI handling. - *) Bugfix: if the perl modules path was not set using - --with-perl_modules_path=PATH or the "perl_modules", then the + *) Bugfix: if the perl modules path was not set using + --with-perl_modules_path=PATH or the "perl_modules", then the segmentation fault was occurred. @@ -3701,21 +3732,21 @@ Changes with nginx 0.3.40 Changes with nginx 0.3.39 17 Apr 2006 - *) Feature: the "uninitialized_variable_warn" directive; the logging - level of the "uninitialized variable" message was lowered from + *) Feature: the "uninitialized_variable_warn" directive; the logging + level of the "uninitialized variable" message was lowered from "alert" to "warn". *) Feature: the "override_charset" directive. - *) Change: now if the unknown variable is used in the "echo" and "if - expr='$name'" SSI-commands, then the "unknown variable" message is + *) Change: now if the unknown variable is used in the "echo" and "if + expr='$name'" SSI-commands, then the "unknown variable" message is not logged. - *) Bugfix: the active connection counter increased on the exceeding of - the connection limit specified by the "worker_connections" - directive; the bug had appeared in 0.2.0. - - *) Bugfix: the limit rate might not work on some condition; the bug had + *) Bugfix: the active connection counter increased on the exceeding of + the connection limit specified by the "worker_connections" directive; + the bug had appeared in 0.2.0. + + *) Bugfix: the limit rate might not work on some condition; the bug had appeared in 0.3.38. @@ -3726,20 +3757,20 @@ Changes with nginx 0.3.38 *) Change: the ngx_http_perl_module optimizations. Thanks to Sergey Skvortsov. - *) Feature: the ngx_http_perl_module supports the $r->request_body_file + *) Feature: the ngx_http_perl_module supports the $r->request_body_file method. *) Feature: the "client_body_in_file_only" directive. - *) Workaround: now on disk overflow nginx tries to write access logs + *) Workaround: now on disk overflow nginx tries to write access logs once a second only. Thanks to Anton Yuzhaninov and Maxim Dounin. - *) Bugfix: now the "limit_rate" directive more precisely limits rate if + *) Bugfix: now the "limit_rate" directive more precisely limits rate if rate is more than 100 Kbyte/s. Thanks to ForJest. - *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in + *) Bugfix: now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and password to pass authorization server. Thanks to Maxim Dounin. @@ -3748,10 +3779,10 @@ Changes with nginx 0.3.37 *) Feature: the "limit_except" directive. - *) Feature: the "if" directive supports the "!~", "!~*", "-f", and - "!-f" operators. - - *) Feature: the ngx_http_perl_module supports the $r->request_body + *) Feature: the "if" directive supports the "!~", "!~*", "-f", and "!-f" + operators. + + *) Feature: the ngx_http_perl_module supports the $r->request_body method. *) Bugfix: in the ngx_http_addition_filter_module. @@ -3761,37 +3792,37 @@ Changes with nginx 0.3.36 *) Feature: the ngx_http_addition_filter_module. - *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used + *) Feature: the "proxy_pass" and "fastcgi_pass" directives may be used inside the "if" block. - *) Feature: the "proxy_ignore_client_abort" and + *) Feature: the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. *) Feature: the "$request_completion" variable. - *) Feature: the ngx_http_perl_module supports the $r->request_method - and $r->remote_addr. + *) Feature: the ngx_http_perl_module supports the $r->request_method and + $r->remote_addr. *) Feature: the ngx_http_ssi_module supports the "elif" command. - *) Bugfix: the "\/" string in the expression of the "if" command of the + *) Bugfix: the "\/" string in the expression of the "if" command of the ngx_http_ssi_module was treated incorrectly. - *) Bugfix: in the regular expressions in the "if" command of the + *) Bugfix: in the regular expressions in the "if" command of the ngx_http_ssi_module. - *) Bugfix: if the relative path was specified in the - "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and - "perl_modules" directives, then the directory was used relatively to + *) Bugfix: if the relative path was specified in the + "client_body_temp_path", "proxy_temp_path", "fastcgi_temp_path", and + "perl_modules" directives, then the directory was used relatively to a current path but not to a server prefix. Changes with nginx 0.3.35 22 Mar 2006 - *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set + *) Bugfix: the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" directive only; the bug had appeared in 0.3.31. - *) Bugfix: in the "proxy_pass" directive without the URI part in a + *) Bugfix: in the "proxy_pass" directive without the URI part in a subrequest. @@ -3802,10 +3833,10 @@ Changes with nginx 0.3.34 Changes with nginx 0.3.33 15 Mar 2006 - *) Feature: the "http_503" parameter of the "proxy_next_upstream" or + *) Feature: the "http_503" parameter of the "proxy_next_upstream" or "fastcgi_next_upstream" directives. - *) Bugfix: ngx_http_perl_module did not work with inlined in the + *) Bugfix: ngx_http_perl_module did not work with inlined in the configuration code, if it was not started with the "sub" word. *) Bugfix: in the "post_action" directive. @@ -3813,7 +3844,7 @@ Changes with nginx 0.3.33 Changes with nginx 0.3.32 11 Mar 2006 - *) Bugfix: the debug logging on startup and reconfiguration time was + *) Bugfix: the debug logging on startup and reconfiguration time was removed; the bug had appeared in 0.3.31. @@ -3821,22 +3852,21 @@ Changes with nginx 0.3.31 *) Change: now nginx passes the malformed proxied backend responses. - *) Feature: the "listen" directives support the address in the "*:port" + *) Feature: the "listen" directives support the address in the "*:port" form. *) Feature: the EVFILER_TIMER support in MacOSX 10.4. - *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout - bug. + *) Workaround: for MacOSX 64-bit kernel kqueue millisecond timeout bug. Thanks to Andrei Nigmatulin. - *) Bugfix: if there were several "listen" directives listening one - various addresses inside one server, then server names like - "*.domain.tld" worked for first address only; the bug had appeared - in 0.3.18. - - *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive - and the request body was in temporary file then the request was not + *) Bugfix: if there were several "listen" directives listening one + various addresses inside one server, then server names like + "*.domain.tld" worked for first address only; the bug had appeared in + 0.3.18. + + *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive + and the request body was in temporary file then the request was not transferred. *) Bugfix: perl 5.8.8 compatibility. @@ -3844,29 +3874,29 @@ Changes with nginx 0.3.31 Changes with nginx 0.3.30 22 Feb 2006 - *) Change: the ECONNABORTED error log level was changed to "error" from + *) Change: the ECONNABORTED error log level was changed to "error" from "crit". - *) Bugfix: the ngx_http_perl_module could not be build without the + *) Bugfix: the ngx_http_perl_module could not be build without the ngx_http_ssi_filter_module. - *) Bugfix: nginx could not be built on i386 platform, if the PIC was + *) Bugfix: nginx could not be built on i386 platform, if the PIC was used; the bug had appeared in 0.3.27. Changes with nginx 0.3.29 20 Feb 2006 - *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends + *) Feature: now nginx uses less memory, if PHP in FastCGI mode sends many warnings before the response. - *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in + *) Bugfix: the "Transfer-Encoding: chunked" header line was issued in the 204 responses for the HTTP/1.1 requests. - *) Bugfix: nginx returned the 502 response, if the complete response + *) Bugfix: nginx returned the 502 response, if the complete response header lines were transferred in a separate FastCGI records. - *) Bugfix: if the proxied URI was specified in the "post_action" - directive, then it ran only after a successful completion of a + *) Bugfix: if the proxied URI was specified in the "post_action" + directive, then it ran only after a successful completion of a request. @@ -3876,58 +3906,58 @@ Changes with nginx 0.3.28 *) Feature: the --with-cpu-opt=ppc64 configuration parameter. - *) Bugfix: on some condition the proxied connection with a client was + *) Bugfix: on some condition the proxied connection with a client was terminated prematurely. Thanks to Vladimir Shutoff. - *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into - account if the request was redirected using the "X-Accel-Redirect" + *) Bugfix: the "X-Accel-Limit-Rate" header line was not taken into + account if the request was redirected using the "X-Accel-Redirect" header line. - *) Bugfix: the "post_action" directive ran only after a successful + *) Bugfix: the "post_action" directive ran only after a successful completion of a request. - *) Bugfix: the proxied response body generated by the "post_action" + *) Bugfix: the proxied response body generated by the "post_action" directive was transferred to a client. Changes with nginx 0.3.27 08 Feb 2006 - *) Change: the "variables_hash_max_size" and + *) Change: the "variables_hash_max_size" and "variables_hash_bucket_size" directives. - *) Feature: the $body_bytes_sent variable can be used not only in the + *) Feature: the $body_bytes_sent variable can be used not only in the "log_format" directive. *) Feature: the $ssl_protocol and $ssl_cipher variables. - *) Feature: the cache line size detection for widespread CPUs at start + *) Feature: the cache line size detection for widespread CPUs at start time. - *) Feature: now the "accept_mutex" directive is supported using - fcntl(2) on platforms different from i386, amd64, sparc64, and ppc. - - *) Feature: the "lock_file" directive and the --with-lock-path=PATH + *) Feature: now the "accept_mutex" directive is supported using fcntl(2) + on platforms different from i386, amd64, sparc64, and ppc. + + *) Feature: the "lock_file" directive and the --with-lock-path=PATH autoconfiguration directive. - *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive + *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive then the requests with the body was not transferred. Changes with nginx 0.3.26 03 Feb 2006 - *) Change: the "optimize_host_names" directive was renamed to the + *) Change: the "optimize_host_names" directive was renamed to the "optimize_server_names". - *) Bugfix: if in the "proxy_pass" directive was no the URI part, then - the main request URI was transferred to a backend while proxying the + *) Bugfix: if in the "proxy_pass" directive was no the URI part, then + the main request URI was transferred to a backend while proxying the SSI subrequest. Changes with nginx 0.3.25 01 Feb 2006 - *) Bugfix: the segmentation fault was occurred on start or while - reconfiguration if there was invalid configuration; the bug had + *) Bugfix: the segmentation fault was occurred on start or while + reconfiguration if there was invalid configuration; the bug had appeared in 0.3.24. @@ -3935,16 +3965,16 @@ Changes with nginx 0.3.24 *) Workaround: for bug in FreeBSD kqueue. - *) Bugfix: now a response generated by the "post_action" directive is + *) Bugfix: now a response generated by the "post_action" directive is not transferred to a client. *) Bugfix: the memory leaks were occurring if many log files were used. - *) Bugfix: the first "proxy_redirect" directive was working inside one + *) Bugfix: the first "proxy_redirect" directive was working inside one location. - *) Bugfix: on 64-bit platforms segmentation fault may occurred on start - if the many names were used in the "server_name" directives; the bug + *) Bugfix: on 64-bit platforms segmentation fault may occurred on start + if the many names were used in the "server_name" directives; the bug had appeared in 0.3.18. @@ -3952,23 +3982,23 @@ Changes with nginx 0.3.23 *) Feature: the "optimize_host_names" directive. - *) Bugfix: in using of the variables in the "path" and "alias" + *) Bugfix: in using of the variables in the "path" and "alias" directives. - *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and + *) Bugfix: the ngx_http_perl_module was incorrectly built on Linux and Solaris. Changes with nginx 0.3.22 17 Jan 2006 - *) Feature: the ngx_http_perl_module supports the $r->args and + *) Feature: the ngx_http_perl_module supports the $r->args and $r->unescape methods. - *) Feature: the method $r->query_string of ngx_http_perl_module was + *) Feature: the method $r->query_string of ngx_http_perl_module was canceled. - *) Bugfix: segmentation fault was occurred if the "none" or "blocked" - values was specified in the "valid_referers" directive; the bug had + *) Bugfix: segmentation fault was occurred if the "none" or "blocked" + values was specified in the "valid_referers" directive; the bug had appeared in 0.3.18. @@ -3976,7 +4006,7 @@ Changes with nginx 0.3.21 *) Feature: the ngx_http_perl_module. - *) Change: the "valid_referers" directive allows the referreres without + *) Change: the "valid_referers" directive allows the referreres without URI part. @@ -3984,8 +4014,8 @@ Changes with nginx 0.3.20 *) Bugfix: in SSI handling. - *) Bugfix: the ngx_http_memcached_module did not support the keys in - the "/usr?args" form. + *) Bugfix: the ngx_http_memcached_module did not support the keys in the + "/usr?args" form. Changes with nginx 0.3.19 28 Dec 2005 @@ -3999,47 +4029,47 @@ Changes with nginx 0.3.19 Changes with nginx 0.3.18 26 Dec 2005 - *) Feature: the "server_names" directive supports the ".domain.tld" + *) Feature: the "server_names" directive supports the ".domain.tld" names. - *) Feature: the "server_names" directive uses the hash for the + *) Feature: the "server_names" directive uses the hash for the "*.domain.tld" names and more effective hash for usual names. - *) Change: the "server_names_hash_max_size" and + *) Change: the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. - *) Change: the "server_names_hash" and "server_names_hash_threshold" + *) Change: the "server_names_hash" and "server_names_hash_threshold" directives were canceled. *) Feature: the "valid_referers" directive uses the hash site names. - *) Change: now the "valid_referers" directive checks the site names - only without the URI part. - - *) Bugfix: some ".domain.tld" names incorrectly processed by the + *) Change: now the "valid_referers" directive checks the site names only + without the URI part. + + *) Bugfix: some ".domain.tld" names incorrectly processed by the ngx_http_map_module. - *) Bugfix: segmentation fault was occurred if configuration file did - not exist; the bug had appeared in 0.3.12. - - *) Bugfix: on 64-bit platforms segmentation fault may occurred on - start; the bug had appeared in 0.3.16. + *) Bugfix: segmentation fault was occurred if configuration file did not + exist; the bug had appeared in 0.3.12. + + *) Bugfix: on 64-bit platforms segmentation fault may occurred on start; + the bug had appeared in 0.3.16. Changes with nginx 0.3.17 18 Dec 2005 - *) Change: now on Linux configure checks the presence of epoll and + *) Change: now on Linux configure checks the presence of epoll and sendfile64() in kernel. - *) Feature: the "map" directive supports domain names in the + *) Feature: the "map" directive supports domain names in the ".domain.tld" form. - *) Bugfix: the timeouts were not used in SSL handshake; the bug had + *) Bugfix: the timeouts were not used in SSL handshake; the bug had appeared in 0.2.4. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. - *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" + *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" directive the port 80 was used by default. @@ -4047,41 +4077,41 @@ Changes with nginx 0.3.16 *) Feature: the ngx_http_map_module. - *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" + *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" directives. *) Feature: the "ssi_value_length" directive. *) Feature: the "worker_rlimit_core" directive. - *) Workaround: the connection number in logs was always 1 if nginx was - built by the icc 8.1 or 9.0 compilers with optimization for + *) Workaround: the connection number in logs was always 1 if nginx was + built by the icc 8.1 or 9.0 compilers with optimization for Pentium 4. *) Bugfix: the "config timefmt" SSI command set incorrect time format. - *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the + *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the SSL connections; the bug had appeared in 0.3.13. Thanks to Rob Mueller. - *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug + *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug had appeared in 0.3.13. Changes with nginx 0.3.15 07 Dec 2005 - *) Feature: the new 444 code of the "return" directive to close + *) Feature: the new 444 code of the "return" directive to close connection. *) Feature: the "so_keepalive" directive in IMAP/POP3 proxy. - *) Bugfix: if there are unclosed connection nginx now calls abort() - only on gracefull quit and active "debug_points" directive. + *) Bugfix: if there are unclosed connection nginx now calls abort() only + on gracefull quit and active "debug_points" directive. Changes with nginx 0.3.14 05 Dec 2005 - *) Bugfix: in the 304 response the body was transferred; the bug had + *) Bugfix: in the 304 response the body was transferred; the bug had appeared in 0.3.13. @@ -4089,69 +4119,69 @@ Changes with nginx 0.3.13 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. - *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and + *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. *) Bugfix: in SSI handling. - *) Bugfix: now Solaris sendfilev() is not used to transfer the client + *) Bugfix: now Solaris sendfilev() is not used to transfer the client request body to FastCGI-server via the unix domain socket. - *) Bugfix: the "auth_basic" directive did not disable the - authorization; the bug had appeared in 0.3.11. + *) Bugfix: the "auth_basic" directive did not disable the authorization; + the bug had appeared in 0.3.11. Changes with nginx 0.3.12 26 Nov 2005 - *) Security: if nginx was built with the ngx_http_realip_module and the - "satisfy_any on" directive was used, then access and authorization - directives did not work. The ngx_http_realip_module was not built - and is not built by default. + *) Security: if nginx was built with the ngx_http_realip_module and the + "satisfy_any on" directive was used, then access and authorization + directives did not work. The ngx_http_realip_module was not built and + is not built by default. *) Change: the "$time_gmt" variable name was changed to "$time_local". - *) Change: the "proxy_header_buffer_size" and - "fastcgi_header_buffer_size" directives was renamed to the + *) Change: the "proxy_header_buffer_size" and + "fastcgi_header_buffer_size" directives was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. *) Feature: the ngx_http_memcached_module. *) Feature: the "proxy_buffering" directive. - *) Bugfix: the changes in accept mutex handling when the "rtsig" method + *) Bugfix: the changes in accept mutex handling when the "rtsig" method was used; the bug had appeared in 0.3.0. - *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header + *) Bugfix: if the client sent the "Transfer-Encoding: chunked" header line, then nginx returns the 411 error. - *) Bugfix: if the "auth_basic" directive was inherited from the http - level, then the realm in the "WWW-Authenticate" header line was + *) Bugfix: if the "auth_basic" directive was inherited from the http + level, then the realm in the "WWW-Authenticate" header line was without the "Basic realm" text. - *) Bugfix: if the "combined" format was explicitly specified in the - "access_log" directive, then the empty lines was written to the log; + *) Bugfix: if the "combined" format was explicitly specified in the + "access_log" directive, then the empty lines was written to the log; the bug had appeared in 0.3.8. - *) Bugfix: nginx did not run on the sparc platform under any OS except + *) Bugfix: nginx did not run on the sparc platform under any OS except Solaris. - *) Bugfix: now it is not necessary to place space between the quoted + *) Bugfix: now it is not necessary to place space between the quoted string and closing bracket in the "if" directive. Changes with nginx 0.3.11 15 Nov 2005 - *) Bugfix: nginx did not pass the client request headers and body while + *) Bugfix: nginx did not pass the client request headers and body while proxying; the bug had appeared in 0.3.10. Changes with nginx 0.3.10 15 Nov 2005 - *) Change: the "valid_referers" directive and the "$invalid_referer" - variable were moved to the new ngx_http_referer_module from the + *) Change: the "valid_referers" directive and the "$invalid_referer" + variable were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. - *) Change: the "$apache_bytes_sent" variable name was changed to + *) Change: the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". *) Feature: the "$sent_http_..." variables. @@ -4168,73 +4198,73 @@ Changes with nginx 0.3.10 *) Feature: the "worker_cpu_affinity" directive for Linux. - *) Bugfix: the "rewrite" directive did not unescape URI part in - redirect, now it is unescaped except the %00-%25 and %7F-%FF + *) Bugfix: the "rewrite" directive did not unescape URI part in + redirect, now it is unescaped except the %00-%25 and %7F-%FF characters. *) Bugfix: nginx could not be built by the icc 9.0 compiler. - *) Bugfix: if the SSI was enabled for zero size static file, then the + *) Bugfix: if the SSI was enabled for zero size static file, then the chunked response was encoded incorrectly. Changes with nginx 0.3.9 10 Nov 2005 - *) Bugfix: nginx considered URI as unsafe if two any symbols was - between two slashes; the bug had appeared in 0.3.8. + *) Bugfix: nginx considered URI as unsafe if two any symbols was between + two slashes; the bug had appeared in 0.3.8. Changes with nginx 0.3.8 09 Nov 2005 - *) Security: nginx now checks URI got from a backend in - "X-Accel-Redirect" header line or in SSI file for the "/../" paths + *) Security: nginx now checks URI got from a backend in + "X-Accel-Redirect" header line or in SSI file for the "/../" paths and zeroes. - *) Change: nginx now does not treat the empty user name in the + *) Change: nginx now does not treat the empty user name in the "Authorization" header line as valid one. - *) Feature: the "ssl_session_timeout" directives of the + *) Feature: the "ssl_session_timeout" directives of the ngx_http_ssl_module and ngx_imap_ssl_module. - *) Feature: the "auth_http_header" directive of the + *) Feature: the "auth_http_header" directive of the ngx_imap_auth_http_module. *) Feature: the "add_header" directive. *) Feature: the ngx_http_realip_module. - *) Feature: the new variables to use in the "log_format" directive: - $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri, - $request_time, $request_length, $upstream_status, - $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, - $connection, $pipe, and $msec. The parameters in the "%name" form + *) Feature: the new variables to use in the "log_format" directive: + $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri, + $request_time, $request_length, $upstream_status, + $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, + $connection, $pipe, and $msec. The parameters in the "%name" form will be canceled soon. - *) Change: now the false variable values in the "if" directive are the + *) Change: now the false variable values in the "if" directive are the empty string "" and string starting with "0". - *) Bugfix: while using proxied or FastCGI-server nginx may leave + *) Bugfix: while using proxied or FastCGI-server nginx may leave connections and temporary files with client requests in open state. - *) Bugfix: the worker processes did not flush the buffered logs on + *) Bugfix: the worker processes did not flush the buffered logs on graceful exit. - *) Bugfix: if the request URI was changes by the "rewrite" directive - and the request was proxied in location given by regular expression, - then the incorrect request was transferred to backend; the bug had + *) Bugfix: if the request URI was changes by the "rewrite" directive and + the request was proxied in location given by regular expression, then + the incorrect request was transferred to backend; the bug had appeared in 0.2.6. - *) Bugfix: the "expires" directive did not remove the previous - "Expires" header. - - *) Bugfix: nginx may stop to accept requests if the "rtsig" method and + *) Bugfix: the "expires" directive did not remove the previous "Expires" + header. + + *) Bugfix: nginx may stop to accept requests if the "rtsig" method and several worker processes were used. - *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in + *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. - *) Bugfix: if the response was ended just after the SSI command and - gzipping was used, then the response did not transferred complete or + *) Bugfix: if the response was ended just after the SSI command and + gzipping was used, then the response did not transferred complete or did not transferred at all. @@ -4242,78 +4272,77 @@ Changes with nginx 0.3.7 *) Feature: the "access_log" supports the "buffer=" parameter. - *) Bugfix: nginx could not be built on platforms different from i386, + *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc, and ppc; the bug had appeared in 0.3.2. Changes with nginx 0.3.6 24 Oct 2005 - *) Change: now the IMAP/POP3 proxy do not send the empty login to + *) Change: now the IMAP/POP3 proxy do not send the empty login to authorization server. *) Feature: the "log_format" supports the variables in the $name form. - *) Bugfix: if at least in one server was no the "listen" directive, - then nginx did not listen on the 80 port; the bug had appeared in - 0.3.3. - - *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the - the 80 port was always used. + *) Bugfix: if at least in one server was no the "listen" directive, then + nginx did not listen on the 80 port; the bug had appeared in 0.3.3. + + *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the the + 80 port was always used. Changes with nginx 0.3.5 21 Oct 2005 - *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login + *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login was changed by authorization server; the bug had appeared in 0.2.2. - *) Bugfix: the accept mutex did not work and all connections were + *) Bugfix: the accept mutex did not work and all connections were handled by one process; the bug had appeared in 0.3.3. - *) Bugfix: the timeout did not work if the "rtsig" method and the + *) Bugfix: the timeout did not work if the "rtsig" method and the "timer_resolution" directive were used. Changes with nginx 0.3.4 19 Oct 2005 - *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug + *) Bugfix: nginx could not be built on Linux 2.4+ and MacOS X; the bug had appeared in 0.3.3. Changes with nginx 0.3.3 19 Oct 2005 - *) Change: the "bl" and "af" parameters of the "listen" directive was + *) Change: the "bl" and "af" parameters of the "listen" directive was renamed to the "backlog" and "accept_filter". - *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" + *) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen" directive. - *) Change: the "$msec" log parameter does not require now the - additional the gettimeofday() system call. + *) Change: the "$msec" log parameter does not require now the additional + the gettimeofday() system call. *) Feature: the -t switch now tests the "listen" directives. - *) Bugfix: if the invalid address was specified in the "listen" - directive, then after the -HUP signal nginx left an open socket in + *) Bugfix: if the invalid address was specified in the "listen" + directive, then after the -HUP signal nginx left an open socket in the CLOSED state. - *) Bugfix: the mime type may be incorrectly set to default value for + *) Bugfix: the mime type may be incorrectly set to default value for index file with variable in the name; the bug had appeared in 0.3.0. *) Feature: the "timer_resolution" directive. *) Feature: the millisecond "$upstream_response_time" log parameter. - *) Bugfix: a temporary file with client request body now is removed - just after the response header was transferred to a client. + *) Bugfix: a temporary file with client request body now is removed just + after the response header was transferred to a client. *) Bugfix: OpenSSL 0.9.6 compatibility. *) Bugfix: the SSL certificate and key file paths could not be relative. - *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in - the ngx_imap_ssl_module. - - *) Bugfix: the "ssl_protocols" directive allowed to specify the single + *) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in the + ngx_imap_ssl_module. + + *) Bugfix: the "ssl_protocols" directive allowed to specify the single protocol only. @@ -4321,101 +4350,100 @@ Changes with nginx 0.3.2 *) Feature: the Sun Studio 10 C compiler support. - *) Feature: the "proxy_upstream_max_fails", - "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and + *) Feature: the "proxy_upstream_max_fails", + "proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" directives. Changes with nginx 0.3.1 10 Oct 2005 - *) Bugfix: the segmentation fault occurred when the signal queue - overflowed if the "rtsig" method was used; the bug had appeared in + *) Bugfix: the segmentation fault occurred when the signal queue + overflowed if the "rtsig" method was used; the bug had appeared in 0.2.0. - *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in + *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. Changes with nginx 0.3.0 07 Oct 2005 - *) Change: the 10-days live time limit of worker process was - eliminated. The limit was introduced because of millisecond timers - overflow. + *) Change: the 10-days live time limit of worker process was eliminated. + The limit was introduced because of millisecond timers overflow. Changes with nginx 0.2.6 05 Oct 2005 - *) Change: while using load-balancing the time before the failed - backend retry was decreased from 60 to 10 seconds. - - *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI + *) Change: while using load-balancing the time before the failed backend + retry was decreased from 60 to 10 seconds. + + *) Change: the "proxy_pass_unparsed_uri" was canceled, the original URI now passed, if the URI part is omitted in "proxy_pass" directive. - *) Feature: the "error_page" directive supports redirects and allows + *) Feature: the "error_page" directive supports redirects and allows more flexible to change an error code. - *) Change: the charset in the "Content-Type" header line now is ignored + *) Change: the charset in the "Content-Type" header line now is ignored in proxied subrequests. - *) Bugfix: if the URI was changed in the "if" block and request did not - found new configuration, then the ngx_http_rewrite_module rules ran + *) Bugfix: if the URI was changed in the "if" block and request did not + found new configuration, then the ngx_http_rewrite_module rules ran again. - *) Bugfix: if the "set" directive set the ngx_http_geo_module variable - in some configuration part, the this variable was not available in - other configuration parts and the "using uninitialized variable" + *) Bugfix: if the "set" directive set the ngx_http_geo_module variable + in some configuration part, the this variable was not available in + other configuration parts and the "using uninitialized variable" error was occurred; the bug had appeared in 0.2.2. Changes with nginx 0.2.5 04 Oct 2005 - *) Change: the duplicate value of the ngx_http_geo_module variable now + *) Change: the duplicate value of the ngx_http_geo_module variable now causes the warning and changes old value. *) Feature: the ngx_http_ssi_module supports the "set" command. - *) Feature: the ngx_http_ssi_module supports the "file" parameter in - the "include" command. - - *) Feature: the ngx_http_ssi_module supports the variable value + *) Feature: the ngx_http_ssi_module supports the "file" parameter in the + "include" command. + + *) Feature: the ngx_http_ssi_module supports the variable value substitutions in expressions of the "if" command. Changes with nginx 0.2.4 03 Oct 2005 - *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", + *) Feature: the ngx_http_ssi_module supports "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions in the "if" command. - *) Bugfix: in proxying location without trailing slash; the bug had + *) Bugfix: in proxying location without trailing slash; the bug had appeared in 0.1.44. - *) Bugfix: the segmentation fault may occurred if the "rtsig" method - was used; the bug had appeared in 0.2.0. + *) Bugfix: the segmentation fault may occurred if the "rtsig" method was + used; the bug had appeared in 0.2.0. Changes with nginx 0.2.3 30 Sep 2005 - *) Bugfix: nginx could not be built without the --with-debug option; - the bug had appeared in 0.2.2. + *) Bugfix: nginx could not be built without the --with-debug option; the + bug had appeared in 0.2.2. Changes with nginx 0.2.2 30 Sep 2005 *) Feature: the "config errmsg" command of the ngx_http_ssi_module. - *) Change: the ngx_http_geo_module variables can be overridden by the + *) Change: the ngx_http_geo_module variables can be overridden by the "set" directive. - *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers" + *) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers" directives of the ngx_http_ssl_module and ngx_imap_ssl_module. - *) Bugfix: the ngx_http_autoindex_module did not show correctly the - long file names; - - *) Bugfix: the ngx_http_autoindex_module now do not show the files + *) Bugfix: the ngx_http_autoindex_module did not show correctly the long + file names; + + *) Bugfix: the ngx_http_autoindex_module now do not show the files starting by dot. - *) Bugfix: if the SSL handshake failed then another connection may be + *) Bugfix: if the SSL handshake failed then another connection may be closed too. Thanks to Rob Mueller. @@ -4424,36 +4452,36 @@ Changes with nginx 0.2.2 Changes with nginx 0.2.1 23 Sep 2005 - *) Bugfix: if all backend using in load-balancing failed after one - error, then nginx may got caught in an endless loop; the bug had + *) Bugfix: if all backend using in load-balancing failed after one + error, then nginx may got caught in an endless loop; the bug had appeared in 0.2.0. Changes with nginx 0.2.0 23 Sep 2005 - *) The pid-file names used during online upgrade was changed and now is - not required a manual rename operation. The old master process adds - the ".oldbin" suffix to its pid-file and executes a new binary file. - The new master process creates usual pid-file without the ".newbin" - suffix. If the master process exits, then old master process renames - back its pid-file with the ".oldbin" suffix to the pid-file without + *) The pid-file names used during online upgrade was changed and now is + not required a manual rename operation. The old master process adds + the ".oldbin" suffix to its pid-file and executes a new binary file. + The new master process creates usual pid-file without the ".newbin" + suffix. If the master process exits, then old master process renames + back its pid-file with the ".oldbin" suffix to the pid-file without suffix. - *) Change: the "worker_connections" directive, new name of the - "connections" directive; now the directive specifies maximum number + *) Change: the "worker_connections" directive, new name of the + "connections" directive; now the directive specifies maximum number of connections, but not maximum socket descriptor number. *) Feature: SSL supports the session cache inside one worker process. *) Feature: the "satisfy_any" directive. - *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do + *) Change: the ngx_http_access_module and ngx_http_auth_basic_module do not run for subrequests. - *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending" + *) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives. - *) Bugfix: if all backend using in load-balancing failed after one + *) Bugfix: if all backend using in load-balancing failed after one error, then nginx did not try do connect to them during 60 seconds. *) Bugfix: in IMAP/POP3 command argument parsing. @@ -4463,17 +4491,17 @@ Changes with nginx 0.2.0 *) Bugfix: errors while using SSI and gzipping. - *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted + *) Bugfix: the "Expires" and "Cache-Control" header lines were omitted from the 304 responses. Thanks to Alexandr Kukushkin. Changes with nginx 0.1.45 08 Sep 2005 - *) Change: the "ssl_engine" directive was canceled in the + *) Change: the "ssl_engine" directive was canceled in the ngx_http_ssl_module and now is introduced at global level. - *) Bugfix: the responses with SSI subrequests did not transferred via + *) Bugfix: the responses with SSI subrequests did not transferred via SSL connection. *) Various bug fixes in the IMAP/POP3 proxy. @@ -4487,126 +4515,126 @@ Changes with nginx 0.1.44 *) Feature: the "userid_mark" directive. - *) Feature: the $remote_user variable value is determined independently + *) Feature: the $remote_user variable value is determined independently of authorization use. Changes with nginx 0.1.43 30 Aug 2005 - *) Feature: the listen(2) backlog in the "listen" directive can be + *) Feature: the listen(2) backlog in the "listen" directive can be changed using the -HUP signal. *) Feature: the geo2nginx.pl script was added to contrib. - *) Change: the FastCGI parameters with the empty values now are passed + *) Change: the FastCGI parameters with the empty values now are passed to a server. - *) Bugfix: the segmentation fault occurred or the worker process may - got caught in an endless loop if the proxied or FastCGI server sent - the "Cache-Control" header line and the "expires" directive was - used; in the proxied mode the the bug had appeared in 0.1.29. + *) Bugfix: the segmentation fault occurred or the worker process may got + caught in an endless loop if the proxied or FastCGI server sent the + "Cache-Control" header line and the "expires" directive was used; in + the proxied mode the the bug had appeared in 0.1.29. Changes with nginx 0.1.42 23 Aug 2005 - *) Bugfix: if the request URI had a zero length after the processing in - the ngx_http_proxy_module, then the segmentation fault or bus error + *) Bugfix: if the request URI had a zero length after the processing in + the ngx_http_proxy_module, then the segmentation fault or bus error occurred in the ngx_http_proxy_module. - *) Bugfix: the "limit_rate" directive did not work inside the "if" + *) Bugfix: the "limit_rate" directive did not work inside the "if" block; the bug had appeared in 0.1.38. Changes with nginx 0.1.41 25 Jul 2005 - *) Bugfix: if the variable was used in the configuration file, then it + *) Bugfix: if the variable was used in the configuration file, then it can not be used in SSI. Changes with nginx 0.1.40 22 Jul 2005 - *) Bugfix: if a client sent too long header line, then the request + *) Bugfix: if a client sent too long header line, then the request information did not logged in the error log. - *) Bugfix: the "Set-Cookie" header line was not transferred when the + *) Bugfix: the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect" was used; the bug had appeared in 0.1.39. - *) Bugfix: the "Content-Disposition" header line was not transferred + *) Bugfix: the "Content-Disposition" header line was not transferred when the "X-Accel-Redirect" was used. - *) Bugfix: the master process did not close the listen socket on the + *) Bugfix: the master process did not close the listen socket on the SIGQUIT signal. - *) Bugfix: after on-line upgrade on Linux and Solaris the process name + *) Bugfix: after on-line upgrade on Linux and Solaris the process name became shorter in the "ps" command. Changes with nginx 0.1.39 14 Jul 2005 - *) The changes in the ngx_http_charset_module: the "default_charset" - directive was canceled; the "charset" directive sets the response + *) The changes in the ngx_http_charset_module: the "default_charset" + directive was canceled; the "charset" directive sets the response charset; the "source_charset" directive sets the source charset only. - *) Bugfix: the backend "WWW-Authenticate" header line did not + *) Bugfix: the backend "WWW-Authenticate" header line did not transferred while the 401 response code redirecting. - *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may - close a connection before anything was transferred to a client; the + *) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may + close a connection before anything was transferred to a client; the bug had appeared in 0.1.38. *) Workaround: the Linux glibc crypt_r() initialization bug. - *) Bugfix: the ngx_http_ssi_module did not support the relative URI in + *) Bugfix: the ngx_http_ssi_module did not support the relative URI in the "include virtual" command. - *) Bugfix: if the backend response had the "Location" header line and - nginx should not rewrite this line, then the 500 code response body + *) Bugfix: if the backend response had the "Location" header line and + nginx should not rewrite this line, then the 500 code response body was transferred; the bug had appeared in 0.1.29. - *) Bugfix: some directives of the ngx_http_proxy_module and - ngx_http_fastcgi_module were not inherited from the server to the + *) Bugfix: some directives of the ngx_http_proxy_module and + ngx_http_fastcgi_module were not inherited from the server to the location level; the bug had appeared in 0.1.29. - *) Bugfix: the ngx_http_ssl_module did not support the certificate + *) Bugfix: the ngx_http_ssl_module did not support the certificate chain. - *) Bugfix: the ngx_http_autoindex_module did not show correctly the - long file names; the bug had appeared in 0.1.38. - - *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the + *) Bugfix: the ngx_http_autoindex_module did not show correctly the long + file names; the bug had appeared in 0.1.38. + + *) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. Changes with nginx 0.1.38 08 Jul 2005 - *) Feature: the "limit_rate" directive is supported in in proxy and + *) Feature: the "limit_rate" directive is supported in in proxy and FastCGI mode. - *) Feature: the "X-Accel-Limit-Rate" response header line is supported + *) Feature: the "X-Accel-Limit-Rate" response header line is supported in proxy and FastCGI mode. *) Feature: the "break" directive. *) Feature: the "log_not_found" directive. - *) Bugfix: the response status code was not changed when request was + *) Bugfix: the response status code was not changed when request was redirected by the ""X-Accel-Redirect" header line. - *) Bugfix: the variables set by the "set" directive could not be used - in SSI. - - *) Bugfix: the segmentation fault may occurred if the SSI page has more + *) Bugfix: the variables set by the "set" directive could not be used in + SSI. + + *) Bugfix: the segmentation fault may occurred if the SSI page has more than one remote subrequest. - *) Bugfix: nginx treated the backend response as invalid if the status - line in the header was transferred in two packets; the bug had + *) Bugfix: nginx treated the backend response as invalid if the status + line in the header was transferred in two packets; the bug had appeared in 0.1.29. *) Feature: the "ssi_types" directive. *) Feature: the "autoindex_exact_size" directive. - *) Bugfix: the ngx_http_autoindex_module did not support the long file + *) Bugfix: the ngx_http_autoindex_module did not support the long file names in UTF-8. *) Feature: the IMAP/POP3 proxy. @@ -4616,34 +4644,34 @@ Changes with nginx 0.1.37 *) Change: now the "\n" is added to the end of the "nginx.pid" file. - *) Bugfix: the responses may be transferred not completely, if many + *) Bugfix: the responses may be transferred not completely, if many parts or the big parts were included by SSI. - *) Bugfix: if all backends had returned the 404 reponse and the - "http_404" parameter of the "proxy_next_upstream" or - "fastcgi_next_upstream" directives was used, then nginx started to + *) Bugfix: if all backends had returned the 404 reponse and the + "http_404" parameter of the "proxy_next_upstream" or + "fastcgi_next_upstream" directives was used, then nginx started to request all backends again. Changes with nginx 0.1.36 15 Jun 2005 - *) Change: if the request header has duplicate the "Host", - "Connection", "Content-Length", or "Authorization" lines, then nginx - now returns the 400 error. + *) Change: if the request header has duplicate the "Host", "Connection", + "Content-Length", or "Authorization" lines, then nginx now returns + the 400 error. *) Change: the "post_accept_timeout" directive was canceled. - *) Feature: the "default", "af=", "bl=", "deferred", and "bind" + *) Feature: the "default", "af=", "bl=", "deferred", and "bind" parameters of the "listen" directive. *) Feature: the FreeBSD accept filters support. *) Feature: the Linux TCP_DEFER_ACCEPT support. - *) Bugfix: the ngx_http_autoindex_module did not support the file names + *) Bugfix: the ngx_http_autoindex_module did not support the file names in UTF-8. - *) Bugfix: the new log file can be rotated by the -USR1 signal only if + *) Bugfix: the new log file can be rotated by the -USR1 signal only if the reconfiguration by the -HUP signal was made twice. @@ -4653,61 +4681,61 @@ Changes with nginx 0.1.35 *) Feature: the "port_in_redirect" directive. - *) Bugfix: the segmentation fault was occurred if the backend response + *) Bugfix: the segmentation fault was occurred if the backend response header was in several packets; the bug had appeared in 0.1.29. - *) Bugfix: if more than 10 servers were configured or some server did - not use the "listen" directive, then the segmentation fault was + *) Bugfix: if more than 10 servers were configured or some server did + not use the "listen" directive, then the segmentation fault was occurred on the start. - *) Bugfix: the segmentation fault might occur if the response was - bigger than the temporary file. - - *) Bugfix: nginx returned the 400 response on requests like - "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in + *) Bugfix: the segmentation fault might occur if the response was bigger + than the temporary file. + + *) Bugfix: nginx returned the 400 response on requests like + "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in 0.1.28. Changes with nginx 0.1.34 26 May 2005 - *) Bugfix: the worker process may got caught in an endless loop if the + *) Bugfix: the worker process may got caught in an endless loop if the big response part were include by SSI. - *) Bugfix: the variables set by the "set" directive were not available + *) Bugfix: the variables set by the "set" directive were not available in SSI. *) Feature: the "autoindex_localtime" directive. - *) Bugfix: the empty value of the "proxy_set_header" directive forbids + *) Bugfix: the empty value of the "proxy_set_header" directive forbids the client request header line passing. Changes with nginx 0.1.33 23 May 2005 - *) Bugfix: nginx could not be built with the --without-pcre parameter; + *) Bugfix: nginx could not be built with the --without-pcre parameter; the bug had appeared in 0.1.29. - *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one - level cause the bus fault on start up. + *) Bugfix: 3, 4, 7, and 8 the "proxy_set_header" directives in one level + cause the bus fault on start up. *) Bugfix: the HTTP protocol was specified in the HTTPS redirects. - *) Bugfix: if the "rewrite" directive used the captures inside the "if" + *) Bugfix: if the "rewrite" directive used the captures inside the "if" directive, then the 500 error code was returned. Changes with nginx 0.1.32 19 May 2005 - *) Bugfix: the arguments were omitted in the redirects, issued by the + *) Bugfix: the arguments were omitted in the redirects, issued by the "rewrite" directive; the bug had appeared in 0.1.29. - *) Feature: the "if" directive supports the captures in regular + *) Feature: the "if" directive supports the captures in regular expressions. - *) Feature: the "set" directive supports the variables and the captures + *) Feature: the "set" directive supports the variables and the captures of regular expressions. - *) Feature: the "X-Accel-Redirect" response header line is supported in + *) Feature: the "X-Accel-Redirect" response header line is supported in proxy and FastCGI mode. @@ -4719,23 +4747,23 @@ Changes with nginx 0.1.31 *) Bugfix: errors while using SSI and gzipping. - *) Bugfix: the redirect with the 301 code was transferred without + *) Bugfix: the redirect with the 301 code was transferred without response body; the bug had appeared in 0.1.30. Changes with nginx 0.1.30 14 May 2005 - *) Bugfix: the worker process may got caught in an endless loop if the + *) Bugfix: the worker process may got caught in an endless loop if the SSI was used. *) Bugfix: the response encrypted by SSL may not transferred complete. - *) Bugfix: if the length of the response part received at once from - proxied or FastCGI server was equal to 500, then nginx returns the - 500 response code; in proxy mode the the bug had appeared in 0.1.29 + *) Bugfix: if the length of the response part received at once from + proxied or FastCGI server was equal to 500, then nginx returns the + 500 response code; in proxy mode the the bug had appeared in 0.1.29 only. - *) Bugfix: nginx did not consider the directives with 8 or 9 parameters + *) Bugfix: nginx did not consider the directives with 8 or 9 parameters as invalid. *) Feature: the "return" directive can return the 204 response code. @@ -4747,47 +4775,47 @@ Changes with nginx 0.1.29 *) Feature: the ngx_http_ssi_module supports "include virtual" command. - *) Feature: the ngx_http_ssi_module supports the condition command like - 'if expr="$NAME"' and "else" and "endif" commands. Only one nested + *) Feature: the ngx_http_ssi_module supports the condition command like + 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. - *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and - DATE_GMT variables and "config timefmt" command. + *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT + variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. - *) Bugfix: the "echo" command did not show the default value for the + *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. - *) Feature: the "proxy_redirect", "proxy_pass_request_headers", + *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. - *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was + *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. - *) Change: the "proxy_preserve_host" is canceled and must be replaced - with the "proxy_set_header Host $host" and the "proxy_redirect off" - directives, the "proxy_set_header Host $host:$proxy_port" directive + *) Change: the "proxy_preserve_host" is canceled and must be replaced + with the "proxy_set_header Host $host" and the "proxy_redirect off" + directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. - *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced + *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. - *) Change: the "proxy_add_x_forwarded_for" is canceled and must be - replaced with - the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" + *) Change: the "proxy_add_x_forwarded_for" is canceled and must be + replaced with + the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. - *) Change: the "proxy_set_x_url" is canceled and must be replaced with - the "proxy_set_header X-URL http://$host:$server_port$request_uri" + *) Change: the "proxy_set_x_url" is canceled and must be replaced with + the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. - *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" - directive are canceled and must be replaced with the fastcgi_param + *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" + directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. @@ -4800,32 +4828,32 @@ Changes with nginx 0.1.29 *) Feature: the "internal" directive. - *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, - SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, + *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, + SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. - *) Change: nginx now passes the invalid lines in a client request + *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. - *) Bugfix: if the backend did not transfer response for a long time and - the "send_timeout" was less than "proxy_read_timeout", then nginx + *) Bugfix: if the backend did not transfer response for a long time and + the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. - *) Bugfix: the segmentation fault was occurred if the backend sent an + *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; the bug had appeared in 0.1.26. - *) Bugfix: the segmentation fault may occurred in FastCGI fault + *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. - *) Bugfix: the "expires" directive did not remove the previous - "Expires" and "Cache-Control" headers. - - *) Bugfix: nginx did not take into account trailing dot in "Host" - header line. + *) Bugfix: the "expires" directive did not remove the previous "Expires" + and "Cache-Control" headers. + + *) Bugfix: nginx did not take into account trailing dot in "Host" header + line. *) Bugfix: the ngx_http_auth_module did not work under Linux. - *) Bugfix: the rewrite directive worked incorrectly, if the arguments + *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X. @@ -4842,55 +4870,55 @@ Changes with nginx 0.1.27 *) Feature: the "blocked" parameter of the "valid_referers" directive. - *) Change: the errors while handling the request header now logged at - "info" level. The server name and the "Host" and "Referer" header + *) Change: the errors while handling the request header now logged at + "info" level. The server name and the "Host" and "Referer" header lines also logged. *) Change: the "Host" header line is also logged in error log. - *) Feature: the proxy_pass_unparsed_uri directive. The special handling - of the "://" symbols in URI, appeared in 0.1.11 version, now is + *) Feature: the proxy_pass_unparsed_uri directive. The special handling + of the "://" symbols in URI, appeared in 0.1.11 version, now is canceled. - *) Bugfix: nginx could not be built on FreeBSD and Linux, if the - --without-ngx_http_auth_basic_module configuration parameter was + *) Bugfix: nginx could not be built on FreeBSD and Linux, if the + --without-ngx_http_auth_basic_module configuration parameter was used. Changes with nginx 0.1.26 22 Mar 2005 - *) Change: the invalid client header lines are now ignored and logged - at the info level. + *) Change: the invalid client header lines are now ignored and logged at + the info level. *) Change: the server name is also logged in error log. - *) Feature: the ngx_http_auth_basic_module module and the auth_basic - and auth_basic_user_file directives. + *) Feature: the ngx_http_auth_basic_module module and the auth_basic and + auth_basic_user_file directives. Changes with nginx 0.1.25 19 Mar 2005 *) Bugfix: nginx did run on Linux parisc. - *) Feature: nginx now does not start under FreeBSD if the sysctl + *) Feature: nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn value is too big. - *) Bugfix: if a request was internally redirected by the - ngx_http_index_module module to the ngx_http_proxy_module or - ngx_http_fastcgi_module modules, then the index file was not closed + *) Bugfix: if a request was internally redirected by the + ngx_http_index_module module to the ngx_http_proxy_module or + ngx_http_fastcgi_module modules, then the index file was not closed after request completion. - *) Feature: the "proxy_pass" can be used in location with regular + *) Feature: the "proxy_pass" can be used in location with regular expression. - *) Feature: the ngx_http_rewrite_filter_module module supports the + *) Feature: the ngx_http_rewrite_filter_module module supports the condition like "if ($HTTP_USER_AGENT ~ MSIE)". - *) Bugfix: nginx started too slow if the large number of addresses and + *) Bugfix: nginx started too slow if the large number of addresses and text values were used in the "geo" directive. - *) Change: a variable name must be declared as "$name" in the "geo" - directive. The previous variant without "$" is still supported, but + *) Change: a variable name must be declared as "$name" in the "geo" + directive. The previous variant without "$" is still supported, but will be removed soon. *) Feature: the "%{VARIABLE}v" logging parameter. @@ -4904,58 +4932,58 @@ Changes with nginx 0.1.25 Changes with nginx 0.1.24 04 Mar 2005 - *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING - and DOCUMENT_URI variables. - - *) Bugfix: the ngx_http_autoindex_module may some times return the 404 - response for existent directory, if this directory was used in + *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and + DOCUMENT_URI variables. + + *) Bugfix: the ngx_http_autoindex_module may some times return the 404 + response for existent directory, if this directory was used in "alias" directive. - *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large + *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large responses. - *) Bugfix: the lack of the "Referer" header line was always accounted - as valid referrer. + *) Bugfix: the lack of the "Referer" header line was always accounted as + valid referrer. Changes with nginx 0.1.23 01 Mar 2005 - *) Feature: the ngx_http_ssi_filter_module and the ssi, - ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo - var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are + *) Feature: the ngx_http_ssi_filter_module and the ssi, + ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo + var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are supported. *) Feature: the %request_time log parameter. - *) Feature: if the request has no the "Host" header line, then the - "proxy_preserve_host" directive set this header line to the first + *) Feature: if the request has no the "Host" header line, then the + "proxy_preserve_host" directive set this header line to the first server name of the "server_name" directive. - *) Bugfix: nginx could not be built on platforms different from i386, + *) Bugfix: nginx could not be built on platforms different from i386, amd64, sparc, and ppc; the bug had appeared in 0.1.22. - *) Bugfix: the ngx_http_autoindex_module now shows the information not + *) Bugfix: the ngx_http_autoindex_module now shows the information not about the symlink, but about file or directory it points to. - *) Bugfix: the %apache_length parameter logged the negative length of + *) Bugfix: the %apache_length parameter logged the negative length of the response header if the no response was transferred to a client. Changes with nginx 0.1.22 22 Feb 2005 - *) Bugfix: the ngx_http_stub_status_module showed incorrect handled + *) Bugfix: the ngx_http_stub_status_module showed incorrect handled connections statistics if the proxying or FastCGI server were used. - *) Bugfix: the installation paths were incorrectly quoted on Linux and + *) Bugfix: the installation paths were incorrectly quoted on Linux and Solaris; the bug had appeared in 0.1.21. Changes with nginx 0.1.21 22 Feb 2005 - *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics + *) Bugfix: the ngx_http_stub_status_module showed incorrect statistics if "rtsig" method was used or if several worker process ran on SMP. - *) Bugfix: nginx could not be built by the icc compiler on Linux or if + *) Bugfix: nginx could not be built by the icc compiler on Linux or if the zlib-1.2.x library was building from sources. *) Bugfix: nginx could not be built on NetBSD 2.0. @@ -4963,7 +4991,7 @@ Changes with nginx 0.1.21 Changes with nginx 0.1.20 17 Feb 2005 - *) Feature: the new "script_filename" and "remote_port" parameters of + *) Feature: the new "script_filename" and "remote_port" parameters of the fastcgi_params directive. *) Bugfix: the FastCGI stderr stream was handled incorrectly. @@ -4971,68 +4999,68 @@ Changes with nginx 0.1.20 Changes with nginx 0.1.19 16 Feb 2005 - *) Bugfix: now, if request contains the zero, then the 404 error is + *) Bugfix: now, if request contains the zero, then the 404 error is returned for the local requests. *) Bugfix: nginx could not be built on NetBSD 2.0. - *) Bugfix: the timeout may occur while reading of the the client - request body via SSL connections. + *) Bugfix: the timeout may occur while reading of the the client request + body via SSL connections. Changes with nginx 0.1.18 09 Feb 2005 - *) Workaround: the default values of the devpoll_events and the - devpoll_changes directives changed from 512 to 32 to be compatible + *) Workaround: the default values of the devpoll_events and the + devpoll_changes directives changed from 512 to 32 to be compatible with Solaris 10. - *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not + *) Bugfix: the proxy_set_x_var and fastcgi_set_var directives were not inherited. - *) Bugfix: in a redirect rewrite directive arguments were concatenated + *) Bugfix: in a redirect rewrite directive arguments were concatenated with URI by an "&" rather than a "?". - *) Bugfix: the lines without trailing ";" in the file being included by + *) Bugfix: the lines without trailing ";" in the file being included by the ngx_http_geo_module were silently ignored. *) Feature: the ngx_http_stub_status_module. - *) Bugfix: the unknown log format in the access_log directive caused - the segmentation fault. - - *) Feature: the new "document_root" parameter of the fastcgi_params + *) Bugfix: the unknown log format in the access_log directive caused the + segmentation fault. + + *) Feature: the new "document_root" parameter of the fastcgi_params directive. *) Feature: the fastcgi_redirect_errors directive. - *) Feature: the new "break" modifier of the "rewrite" directive allows - to stop the rewrite/location cycle and sets the current - configuration to the request. + *) Feature: the new "break" modifier of the "rewrite" directive allows + to stop the rewrite/location cycle and sets the current configuration + to the request. Changes with nginx 0.1.17 03 Feb 2005 - *) Change: the ngx_http_rewrite_module was rewritten from the scratch. - Now it is possible to redirect, to return the error codes, to check - the variables and referrers. The directives can be used inside + *) Change: the ngx_http_rewrite_module was rewritten from the scratch. + Now it is possible to redirect, to return the error codes, to check + the variables and referrers. The directives can be used inside locations. The redirect directive was canceled. *) Feature: the ngx_http_geo_module. *) Feature: the proxy_set_x_var and fastcgi_set_var directives. - *) Bugfix: the location configuration with "=" modifier may be used in + *) Bugfix: the location configuration with "=" modifier may be used in another location. - *) Bugfix: the correct content type was set only for requests that use + *) Bugfix: the correct content type was set only for requests that use small caps letters in extension. - *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the - location, and access was denied, and the error was redirected to a + *) Bugfix: if the proxy_pass or fastcgi_pass directives were set in the + location, and access was denied, and the error was redirected to a static page, then the segmentation fault occurred. - *) Bugfix: if in a proxied "Location" header was a relative URL, then a - host name and a slash were added to them; the bug had appeared in + *) Bugfix: if in a proxied "Location" header was a relative URL, then a + host name and a slash were added to them; the bug had appeared in 0.1.14. *) Bugfix: the system error message was not logged on Linux. @@ -5040,82 +5068,82 @@ Changes with nginx 0.1.17 Changes with nginx 0.1.16 25 Jan 2005 - *) Bugfix: if the response were transferred by chunks, then on the HEAD + *) Bugfix: if the response were transferred by chunks, then on the HEAD request the final chunk was issued. - *) Bugfix: the "Connection: keep-alive" header were issued, even if the + *) Bugfix: the "Connection: keep-alive" header were issued, even if the keepalive_timeout directive forbade the keep-alive use. - *) Bugfix: the errors in the ngx_http_fastcgi_module caused the + *) Bugfix: the errors in the ngx_http_fastcgi_module caused the segmentation faults. - *) Bugfix: the compressed response encrypted by SSL may not transferred + *) Bugfix: the compressed response encrypted by SSL may not transferred complete. - *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK + *) Bugfix: the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options, are not used for the unix domain sockets. *) Feature: the rewrite directive supports the arguments rewriting. - *) Bugfix: the response code 400 was returned for the POST request with + *) Bugfix: the response code 400 was returned for the POST request with the "Content-Length: 0" header; the bug had appeared in 0.1.14. Changes with nginx 0.1.15 19 Jan 2005 - *) Bugfix: the error while the connecting to the FastCGI server caused + *) Bugfix: the error while the connecting to the FastCGI server caused segmentation fault. - *) Bugfix: the correct handling of the regular expression, that has + *) Bugfix: the correct handling of the regular expression, that has different number of the captures and substitutions. - *) Feature: the location, that is passed to the FastCGI server, can be + *) Feature: the location, that is passed to the FastCGI server, can be regular expression. - *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the + *) Bugfix: the FastCGI's parameter REQUEST_URI is now passed with the arguments and in the original state. - *) Bugfix: the ngx_http_rewrite_module module was required to be built + *) Bugfix: the ngx_http_rewrite_module module was required to be built to use the regular expressions in locations. - *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the - "Host" headers, if upstream listen on port 80; the bug had appeared + *) Bugfix: the directive "proxy_preserve_host on" adds port 80 to the + "Host" headers, if upstream listen on port 80; the bug had appeared in 0.1.14. - *) Bugfix: the same paths in autoconfiguration parameters - --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, - or --http-client-body-temp-path=PATH and - --http-fastcgi-temp-path=PATH caused segmentation fault. + *) Bugfix: the same paths in autoconfiguration parameters + --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, or + --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH + caused segmentation fault. Changes with nginx 0.1.14 18 Jan 2005 - *) Feature: the autoconfiguration directives: - --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and + *) Feature: the autoconfiguration directives: + --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH, and --http-fastcgi-temp-path=PATH - *) Change: the directory name for the temporary files with the client - request body is specified by directive client_body_temp_path, by + *) Change: the directory name for the temporary files with the client + request body is specified by directive client_body_temp_path, by default it is <prefix>/client_body_temp. - *) Feature: the ngx_http_fastcgi_module and the directives: - fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, - fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, - fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, - fastcgi_busy_buffers_size, fastcgi_temp_path, - fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, + *) Feature: the ngx_http_fastcgi_module and the directives: + fastcgi_pass, fastcgi_root, fastcgi_index, fastcgi_params, + fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, + fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, + fastcgi_busy_buffers_size, fastcgi_temp_path, + fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, fastcgi_next_upstream, and fastcgi_x_powered_by. - *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in + *) Bugfix: the "[alert] zero size buf" error; the bug had appeared in 0.1.3. - *) Change: the URI must be specified after the host name in the + *) Change: the URI must be specified after the host name in the proxy_pass directive. - *) Change: the %3F symbol in the URI was considered as the argument + *) Change: the %3F symbol in the URI was considered as the argument string start. - *) Feature: the unix domain sockets support in the + *) Feature: the unix domain sockets support in the ngx_http_proxy_module. *) Feature: the ssl_engine and ssl_ciphers directives. @@ -5124,13 +5152,13 @@ Changes with nginx 0.1.14 Changes with nginx 0.1.13 21 Dec 2004 - *) Feature: the server_names_hash and server_names_hash_threshold + *) Feature: the server_names_hash and server_names_hash_threshold directives. - *) Bugfix: the *.domain.tld names in the "server_name" directive did - not work. - - *) Bugfix: the %request_length log parameter logged the incorrect + *) Bugfix: the *.domain.tld names in the "server_name" directive did not + work. + + *) Bugfix: the %request_length log parameter logged the incorrect length. @@ -5138,12 +5166,12 @@ Changes with nginx 0.1.12 *) Feature: the %request_length log parameter. - *) Bugfix: when using the /dev/poll, select and poll on the platforms, - where these methods may do the false reports, there may be the long - delay when the request was passed via the keep-alive connection. It + *) Bugfix: when using the /dev/poll, select and poll on the platforms, + where these methods may do the false reports, there may be the long + delay when the request was passed via the keep-alive connection. It may be at least on Solaris when using the /dev/poll. - *) Bugfix: the send_lowat directive is ignored on Linux because Linux + *) Bugfix: the send_lowat directive is ignored on Linux because Linux does not support the SO_SNDLOWAT option. @@ -5151,26 +5179,26 @@ Changes with nginx 0.1.11 *) Feature: the worker_priority directive. - *) Change: both tcp_nopush and tcp_nodelay directives affect the + *) Change: both tcp_nopush and tcp_nodelay directives affect the transferred response. *) Bugfix: nginx did not call initgroups(). Thanks to Andrew Sitnikov and Andrei Nigmatulin. - *) Change: now the ngx_http_autoindex_module shows the file size in the + *) Change: now the ngx_http_autoindex_module shows the file size in the bytes. - *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the + *) Bugfix: the ngx_http_autoindex_module returned the 500 error if the broken symlink was in a directory. - *) Bugfix: the files bigger than 4G could not be transferred using + *) Bugfix: the files bigger than 4G could not be transferred using sendfile. - *) Bugfix: if the backend was resolved to several backends and there - was an error while the response waiting then process may got caught - in an endless loop. - - *) Bugfix: the worker process may exit with the "unknown cycle" message + *) Bugfix: if the backend was resolved to several backends and there was + an error while the response waiting then process may got caught in an + endless loop. + + *) Bugfix: the worker process may exit with the "unknown cycle" message when the /dev/poll method was used. *) Bugfix: "close() channel failed" errors. @@ -5179,44 +5207,43 @@ Changes with nginx 0.1.11 *) Bugfix: the send_lowat directive did not work on Linux. - *) Bugfix: the segmentation fault occurred if there was no events + *) Bugfix: the segmentation fault occurred if there was no events section in configuration. *) Bugfix: nginx could not be built on OpenBSD. - *) Bugfix: the double slashes in "://" in the URI were converted to + *) Bugfix: the double slashes in "://" in the URI were converted to ":/". Changes with nginx 0.1.10 26 Nov 2004 - *) Bugfix: if the request without arguments contains "//", "/./", - "/../" or "%XX" then the last character in the request line was - lost; the bug had appeared in 0.1.9. - - *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did + *) Bugfix: if the request without arguments contains "//", "/./", "/../" + or "%XX" then the last character in the request line was lost; the + bug had appeared in 0.1.9. + + *) Bugfix: the fix in 0.1.9 for the files bigger than 2G on Linux did not work. Changes with nginx 0.1.9 25 Nov 2004 - *) Bugfix: the proxied request was sent without arguments if the - request contains "//", "/./", "/../" or "%XX". - - *) Bugfix: the large compressed responses may be transferred not + *) Bugfix: the proxied request was sent without arguments if the request + contains "//", "/./", "/../" or "%XX". + + *) Bugfix: the large compressed responses may be transferred not completely. - *) Bugfix: the files bigger than 2G was not transferred on Linux that + *) Bugfix: the files bigger than 2G was not transferred on Linux that does not support sendfile64(). - *) Bugfix: while the build configuration on Linux the - --with-poll_module parameter was required; the bug had appeared in - 0.1.8. + *) Bugfix: while the build configuration on Linux the --with-poll_module + parameter was required; the bug had appeared in 0.1.8. Changes with nginx 0.1.8 20 Nov 2004 - *) Bugfix: in the ngx_http_autoindex_module if the long file names were + *) Bugfix: in the ngx_http_autoindex_module if the long file names were in the listing. *) Feature: the "^~" modifier in the location directive. @@ -5226,34 +5253,34 @@ Changes with nginx 0.1.8 Changes with nginx 0.1.7 12 Nov 2004 - *) Bugfix: on FreeBSD the segmentation fault may occur if the size of + *) Bugfix: on FreeBSD the segmentation fault may occur if the size of the transferred file was changed; the bug had appeared in 0.1.5. Changes with nginx 0.1.6 11 Nov 2004 - *) Bugfix: some location directive combinations with the regular + *) Bugfix: some location directive combinations with the regular expressions caused the wrong configuration choose. Changes with nginx 0.1.5 11 Nov 2004 - *) Bugfix: on Solaris and Linux there may be too many "recvmsg() + *) Bugfix: on Solaris and Linux there may be too many "recvmsg() returned not enough data" alerts. - *) Bugfix: there were the "writev() failed (22: Invalid argument)" - errors on Solaris in proxy mode without sendfile. On other platforms - that do not support sendfile at all the process got caught in an + *) Bugfix: there were the "writev() failed (22: Invalid argument)" + errors on Solaris in proxy mode without sendfile. On other platforms + that do not support sendfile at all the process got caught in an endless loop. - *) Bugfix: segmentation fault on Solaris in proxy mode and using + *) Bugfix: segmentation fault on Solaris in proxy mode and using sendfile. *) Bugfix: segmentation fault on Solaris. *) Bugfix: on-line upgrade did not work on Linux. - *) Bugfix: the ngx_http_autoindex_module module did not escape the + *) Bugfix: the ngx_http_autoindex_module module did not escape the spaces, the quotes, and the percent signs in the directory listing. *) Change: the decrease of the copy operations. @@ -5272,31 +5299,31 @@ Changes with nginx 0.1.3 *) Feature: the proxy_set_x_url directive. - *) Bugfix: proxy module may get caught in an endless loop when sendfile + *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. Changes with nginx 0.1.2 21 Oct 2004 - *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS + *) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. *) Feature: the server_name directive supports *.domain.tld. *) Bugfix: the portability improvements. - *) Bugfix: if configuration file was set in command line, the + *) Bugfix: if configuration file was set in command line, the reconfiguration was impossible; the bug had appeared in 0.1.1. - *) Bugfix: proxy module may get caught in an endless loop when sendfile + *) Bugfix: proxy module may get caught in an endless loop when sendfile is not used. - *) Bugfix: with sendfile the response was not recoded according to the + *) Bugfix: with sendfile the response was not recoded according to the charset module directives; the bug had appeared in 0.1.1. *) Bugfix: very seldom bug in the kqueue processing. - *) Bugfix: the gzip module compressed the proxied responses that was + *) Bugfix: the gzip module compressed the proxied responses that was already compressed. @@ -5306,24 +5333,24 @@ Changes with nginx 0.1.1 *) Feature: the tcp_nodelay directive. - *) Feature: the send_lowat directive is working not only on OSes that + *) Feature: the send_lowat directive is working not only on OSes that support kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. *) Feature: the setproctitle() emulation for Linux and Solaris. *) Bugfix: the "Location" header rewrite bug fixed while the proxying. - *) Bugfix: the ngx_http_chunked_module module may get caught in an + *) Bugfix: the ngx_http_chunked_module module may get caught in an endless loop. *) Bugfix: the /dev/poll module bugs fixed. - *) Bugfix: the responses were corrupted when the temporary files were + *) Bugfix: the responses were corrupted when the temporary files were used while the proxying. *) Bugfix: the unescaped requests were passed to the backend. - *) Bugfix: while the build configuration on Linux 2.4 the + *) Bugfix: while the build configuration on Linux 2.4 the --with-poll_module parameter was required.
--- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,5424 +1,5442 @@ -éÚÍÅÎÅÎÉÑ × nginx 1.0.5 19.07.2011 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÛÉÆÒÙ SSL: +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.6 29.07.2011 + + *) Добавление: уменьшение времени работы загрузчика кÑша. + + *) Добавление: уменьшение времени загрузки конфигураций Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ + количеÑтвом HTTPS Ñерверов. + + *) Добавление: теперь nginx поддерживает шифры Ñ Ð¾Ð±Ð¼ÐµÐ½Ð¾Ð¼ ECDHE-ключами. + СпаÑибо Adrian Kotelba. + + *) Добавление: директива lingering_close. + + *) Добавление: теперь разделÑемые зоны и кÑши иÑпользуют Ñемафоры POSIX + на Solaris. + СпаÑибо ДениÑу Иванову. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Linux 3.0. + + *) ИÑправление: при иÑпользовании директив fastcgi/scgi/uwsgi_param Ñо + значениÑми, начинающимиÑÑ Ñо Ñтроки "HTTP_", в рабочем процеÑÑе мог + произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.8.40. + + *) ИÑправление: Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ pipelined-запроÑов. + + *) ИÑправление: nginx не запрещал Ñжатие при получении Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ + "gzip;q=0" в Ñтроке "Accept-Encoding" в заголовке запроÑа клиента. + + *) ИÑправление: таймаута при небуферизированном прокÑировании. + + *) ИÑправление: утечки памÑти при иÑпользовании переменных в директиве + proxy_pass при работе Ñ Ð±Ñкендом по HTTPS. + + *) ИÑправление: в проверке параметра директивы proxy_pass, заданного + переменными. + СпаÑибо Lanshun Zhou. + + *) ИÑправление: SSL не работал на QNX. + + *) ИÑправление: SSL модули не ÑобиралиÑÑŒ gcc 4.6 без параметра + --with-debug. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.5 19.07.2011 + + *) Изменение: теперь по умолчанию иÑпользуютÑÑ Ñледующие шифры SSL: "HIGH:!aNULL:!MD5". - óÐÁÓÉÂÏ Rob Stradling. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù referer_hash_max_size É + СпаÑибо Rob Stradling. + + *) Добавление: директивы referer_hash_max_size и referer_hash_bucket_size. - óÐÁÓÉÂÏ Witold Filipczyk. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $uid_reset. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÜÛÉÒÏ×ÁÎÉÑ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ Lanshun Zhou. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÜÛÉÒÏ×ÁÎÉÑ ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÍÏÇÌÉ - ÚÁÃÉËÌÉÔØÓÑ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.48. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏÏÂÝÅÎÉÑ "stalled cache updating". - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 1.0.4 01.06.2011 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å map ÍÏÖÎÏ - ÚÁÄÁÔØ ÞÕ×ÓÔ×ÉÔÅÌØÎÏÓÔØ Ë ÒÅÇÉÓÔÒÕ Ó ÐÏÍÏÝØÀ ÐÒÅÆÉËÓÏ× "~" É "~*". - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÒÁÚÄÅÌÑÅÍÙÅ ÚÏÎÙ É ËÜÛÉ ÉÓÐÏÌØÚÕÀÔ ÓÅÍÁÆÏÒÙ POSIX - ÎÁ Linux. - óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏÏÂÝÅÎÉÑ "stalled cache updating". - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ - --without-http_auth_basic_module; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 1.0.3. - - -éÚÍÅÎÅÎÉÑ × nginx 1.0.3 25.05.2011 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á auth_basic_user_file ÐÏÄÄÅÒÖÉ×ÁÅÔ ÛÉÆÒÏ×ÁÎÉÅ - ÐÁÒÏÌÑ ÍÅÔÏÄÁÍÉ "$apr1", "{PLAIN}" É "{SSHA}". - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á geoip_org É ÐÅÒÅÍÅÎÎÁÑ $geoip_org. - óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ õÓËÏ×Õ, Arnaud Granal É äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌÉ ngx_http_geo_module É ngx_http_geoip_module - ÐÏÄÄÅÒÖÉ×ÁÀÔ ÁÄÒÅÓÁ IPv4, ÏÔÏÂÒÁÖ£ÎÎÙÅ ÎÁ IPv6 ÁÄÒÅÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏ×ÅÒËÅ ÁÄÒÅÓÁ IPv4, ÏÔÏÂÒÁÖ£ÎÎÏÇÏ ÎÁ ÁÄÒÅÓ IPv6, - × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÄÉÒÅËÔÉ×Ù - access ÉÌÉ deny ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ ÔÏÌØËÏ ÄÌÑ ÁÄÒÅÓÏ× IPv6; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.22. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁËÜÛÉÒÏ×ÁÎÎÙÊ ÏÔ×ÅÔ ÍÏÇ ÂÙÔØ ÉÓÐÏÒÞÅÎ, ÅÓÌÉ ÚÎÁÞÅÎÉÑ - ÄÉÒÅËÔÉ× proxy/fastcgi/scgi/uwsgi_cache_bypass É proxy/fastcgi/scgi/ - uwsgi_no_cache ÂÙÌÉ ÒÁÚÎÙÍÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.46. - - -éÚÍÅÎÅÎÉÑ × nginx 1.0.2 10.05.2011 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÒÁÚÄÅÌÑÅÍÙÅ ÚÏÎÙ É ËÜÛÉ ÉÓÐÏÌØÚÕÀÔ ÓÅÍÁÆÏÒÙ POSIX. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÔÅ ÐÁÒÁÍÅÔÒÁ rotate ÄÉÒÅËÔÉ×Ù image_filter. - óÐÁÓÉÂÏ Adam Bocim. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 1.0.1. - - -éÚÍÅÎÅÎÉÑ × nginx 1.0.1 03.05.2011 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á split_clients ÉÓÐÏÌØÚÕÅÔ ÁÌÇÏÒÉÔÍ - MurmurHash2 ÉÚ-ÚÁ ÌÕÞÛÅÇÏ ÒÁÓÐÒÅÄÅÌÅÎÉÑ. - óÐÁÓÉÂÏ ïÌÅÇÕ íÁÍÏÎÔÏ×Õ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÌÉÎÎÙÅ ÓÔÒÏËÉ, ÎÁÞÉÎÁÀÝÉÅÓÑ Ó ÎÕÌÑ, ÎÅ ÓÞÉÔÁÀÔÓÑ - ÌÏÖÎÙÍÉ ÚÎÁÞÅÎÉÑÍÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ nginx ÉÓÐÏÌØÚÕÅÔ ÚÎÁÞÅÎÉÅ 511 ÄÌÑ - listen backlog ÎÁ Linux. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $upstream_... ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ × SSI É - ÐÅÒÌÏ×ÏÍ ÍÏÄÕÌÑÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÌÕÞÛÅ ÏÇÒÁÎÉÞÉ×ÁÅÔ ÒÁÚÍÅÒ ËÜÛÁ ÎÁ - ÄÉÓËÅ. - óÐÁÓÉÂÏ ïÌÅÇÕ íÁÍÏÎÔÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÁÒÓÉÎÇÅ ÎÅÐÒÁ×ÉÌØÎÏÇÏ IPv4 ÁÄÒÅÓÁ ÍÏÇ ÐÒÏÉÚÏÊÔÉ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.22. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ gcc 4.6 ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris 9 É ÂÏÌÅÅ ÒÁÎÎÉÈ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.9.3. - óÐÁÓÉÂÏ Dagobert Michelsen. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $request_time ÉÍÅÌÁ ÎÅ×ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ, ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÐÏÄÚÁÐÒÏÓÙ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.47. - óÐÁÓÉÂÏ éÇÏÒÀ á. ÷ÁÌØËÏ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 1.0.0 12.04.2011 - - *) éÓÐÒÁ×ÌÅÎÉÅ: cache manager ÍÏÇ ÎÁÇÒÕÖÁÔØ ÐÒÏÃÅÓÓÏÒ ÐÏÓÌÅ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "image_filter crop" ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÌÁ × - ÓÏÞÅÔÁÎÉÉ Ó "image_filter rotate 180". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "satisfy any" ÚÁÐÒÅÝÁÌÁ ×ÙÄÁÞÕ - ÐÏÌØÚÏ×ÁÔÅÌØÓËÏÊ ÓÔÒÁÎÉÃÙ ÄÌÑ 401 ËÏÄÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.7 04.04.2011 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÓÏÅÄÉÎÅÎÉÑ × ÓÏÓÔÏÑÎÉÉ keepalive ÍÏÇÕÔ ÂÙÔØ - ÚÁËÒÙÔÙ ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ, ÅÓÌÉ Õ ×ÏÒËÅÒÁ ÎÅÔ Ó×ÏÂÏÄÎÙÈ ÓÏÅÄÉÎÅÎÉÊ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ rotate ÄÉÒÅËÔÉ×Ù image_filter. - óÐÁÓÉÂÏ Adam Bocim. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÉÔÕÁÃÉÉ, ËÏÇÄÁ ÂÜËÅÎÄ × ÄÉÒÅËÔÉ×ÁÈ fastcgi_pass, - scgi_pass ÉÌÉ uwsgi_pass ÚÁÄÁÎ ×ÙÒÁÖÅÎÉÅÍ É ÓÓÙÌÁÅÔÓÑ ÎÁ ÏÐÉÓÁÎÎÙÊ + СпаÑибо Witold Filipczyk. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $uid_reset. + + *) ИÑправление: при иÑпользовании кÑÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² рабочем процеÑÑе мог + произойти segmentation fault. + СпаÑибо Lanshun Zhou. + + *) ИÑправление: при иÑпользовании кÑÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ðµ процеÑÑÑ‹ могли + зациклитьÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸; ошибка поÑвилаÑÑŒ в 0.8.48. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ "stalled cache updating". + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.4 01.06.2011 + + *) Изменение: теперь в регулÑрных выражениÑÑ… в директиве map можно + задать чувÑтвительноÑÑ‚ÑŒ к региÑтру Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ префикÑов "~" и "~*". + + *) Добавление: теперь разделÑемые зоны и кÑши иÑпользуют Ñемафоры POSIX + на Linux. + СпаÑибо ДениÑу Латыпову. + + *) ИÑправление: ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ "stalled cache updating". + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ + --without-http_auth_basic_module; ошибка поÑвилаÑÑŒ в 1.0.3. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.3 25.05.2011 + + *) Добавление: директива auth_basic_user_file поддерживает шифрование + Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°Ð¼Ð¸ "$apr1", "{PLAIN}" и "{SSHA}". + СпаÑибо МакÑиму Дунину. + + *) Добавление: директива geoip_org и Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $geoip_org. + СпаÑибо ÐлекÑандру УÑкову, Arnaud Granal и ДениÑу Латыпову. + + *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module + поддерживают адреÑа IPv4, отображённые на IPv6 адреÑа. + + *) ИÑправление: при проверке адреÑа IPv4, отображённого на Ð°Ð´Ñ€ÐµÑ IPv6, в + рабочем процеÑÑе проиÑходил segmentation fault, еÑли директивы access + или deny были определены только Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑов IPv6; ошибка поÑвилаÑÑŒ в + 0.8.22. + + *) ИÑправление: закÑшированный ответ мог быть иÑпорчен, еÑли Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ + директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ + uwsgi_no_cache были разными; ошибка поÑвилаÑÑŒ в 0.8.46. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.2 10.05.2011 + + *) Добавление: теперь разделÑемые зоны и кÑши иÑпользуют Ñемафоры POSIX. + + *) ИÑправление: в работе параметра rotate директивы image_filter. + СпаÑибо Adam Bocim. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Solaris; ошибка поÑвилаÑÑŒ в 1.0.1. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.1 03.05.2011 + + *) Изменение: теперь директива split_clients иÑпользует алгоритм + MurmurHash2 из-за лучшего раÑпределениÑ. + СпаÑибо Олегу Мамонтову. + + *) Изменение: теперь длинные Ñтроки, начинающиеÑÑ Ñ Ð½ÑƒÐ»Ñ, не ÑчитаютÑÑ + ложными значениÑми. + СпаÑибо МакÑиму Дунину. + + *) Изменение: теперь по умолчанию nginx иÑпользует значение 511 Ð´Ð»Ñ + listen backlog на Linux. + + *) Добавление: переменные $upstream_... можно иÑпользовать в SSI и + перловом модулÑÑ…. + + *) ИÑправление: теперь nginx лучше ограничивает размер кÑша на диÑке. + СпаÑибо Олегу Мамонтову. + + *) ИÑправление: при парÑинге неправильного IPv4 адреÑа мог произойти + segmentation fault; ошибка поÑвилаÑÑŒ в 0.8.22. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не ÑобиралÑÑ gcc 4.6 без параметра --with-debug. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Solaris 9 и более ранних; ошибка + поÑвилаÑÑŒ в 0.9.3. + СпаÑибо Dagobert Michelsen. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_time имела неверные значениÑ, еÑли + иÑпользовалиÑÑŒ подзапроÑÑ‹; ошибка поÑвилаÑÑŒ в 0.8.47. + СпаÑибо Игорю Ð. Валькову. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 1.0.0 12.04.2011 + + *) ИÑправление: cache manager мог нагружать процеÑÑор поÑле + переконфигурации. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: директива "image_filter crop" неправильно работала в + Ñочетании Ñ "image_filter rotate 180". + + *) ИÑправление: директива "satisfy any" запрещала выдачу + пользовательÑкой Ñтраницы Ð´Ð»Ñ 401 кода. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.7 04.04.2011 + + *) Добавление: теперь ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² ÑоÑтоÑнии keepalive могут быть + закрыты преждевременно, еÑли у воркера нет Ñвободных Ñоединений. + СпаÑибо МакÑиму Дунину. + + *) Добавление: параметр rotate директивы image_filter. + СпаÑибо Adam Bocim. + + *) ИÑправление: Ñитуации, когда бÑкенд в директивах fastcgi_pass, + scgi_pass или uwsgi_pass задан выражением и ÑÑылаетÑÑ Ð½Ð° опиÑанный upstream. -éÚÍÅÎÅÎÉÑ × nginx 0.9.6 21.03.2011 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ × - ËÁÞÅÓÔ×Å ÚÎÁÞÅÎÉÑ ÐÅÒ×ÏÇÏ ÐÁÒÁÍÅÔÒÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $time_iso8601 ÄÌÑ access_log. - óÐÁÓÉÂÏ Michael Lustfield. - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.5 21.02.2011 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ nginx ÉÓÐÏÌØÚÕÅÔ ÚÎÁÞÅÎÉÅ -1 ÄÌÑ - listen backlog ÎÁ Linux. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ utf8 × ÄÉÒÅËÔÉ×ÁÈ geoip_country É - geoip_city. - óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÓÐÒÁ×ÌÅÎÉÅ × ÕÍÏÌÞÁÔÅÌØÎÏÊ ÄÉÒÅËÔÉ×Å proxy_redirect, - ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÂÙÌ ÏÐÉÓÁÎ URI. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÎÅ ÒÁÂÏÔÁÌÁ Ó ÎÅÓÔÁÎÄÁÒÔÎÙÍÉ - ËÏÄÁÍÉ ÏÛÉÂÏË; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.53. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.4 21.01.2011 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÕÀ $hostname. - - *) äÏÂÁ×ÌÅÎÉÅ: 494 ËÏÄ ÄÌÑ ÏÛÉÂËÉ "Request Header Too Large". - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.3 13.12.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÌÑ ÐÁÒÙ IPv6-ÁÄÒÅÓ:ÐÏÒÔ ÏÐÉÓÁÎ ÔÏÌØËÏ ÏÄÉÎ - ÓÅÒ×ÅÒ, ÔÏ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name - ÎÅ ÒÁÂÏÔÁÌÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ Solaris; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.6 21.03.2011 + + *) Добавление: директива map поддерживает регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² + качеÑтве Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ параметра. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $time_iso8601 Ð´Ð»Ñ access_log. + СпаÑибо Michael Lustfield. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.5 21.02.2011 + + *) Изменение: теперь по умолчанию nginx иÑпользует значение -1 Ð´Ð»Ñ + listen backlog на Linux. + СпаÑибо Ðндрею Ðигматулину. + + *) Добавление: параметр utf8 в директивах geoip_country и geoip_city. + СпаÑибо ДениÑу Латыпову. + + *) ИÑправление: иÑправление в умолчательной директиве proxy_redirect, + еÑли в директиве proxy_pass не был опиÑан URI. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: директива error_page не работала Ñ Ð½ÐµÑтандартными кодами + ошибок; ошибка поÑвилаÑÑŒ в 0.8.53. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.4 21.01.2011 + + *) Добавление: директива server_name поддерживает переменную $hostname. + + *) Добавление: 494 код Ð´Ð»Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ "Request Header Too Large". + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.3 13.12.2010 + + *) ИÑправление: еÑли Ð´Ð»Ñ Ð¿Ð°Ñ€Ñ‹ IPv6-адреÑ:порт опиÑан только один Ñервер, + то Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ… в директиве server_name не + работали. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ Solaris; ошибка поÑвилаÑÑŒ в 0.9.0. -éÚÍÅÎÅÎÉÑ × nginx 0.9.2 06.12.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ ÓÔÒÏËÉ "If-Unmodified-Since" × ÚÁÇÏÌÏ×ËÅ - ÚÁÐÒÏÓÅ ËÌÉÅÎÔÁ. - - *) éÚÍÅÎÅÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎÉÅ accept(), ÅÓÌÉ accept4() ÎÅ ÒÅÁÌÉÚÏ×ÁÎ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.9.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ Cygwin; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.9.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÑÚ×ÉÍÏÓÔÉ × OpenSSL CVE-2010-4180. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.1 30.11.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ×ÉÄÁ "return CODE message" ÎÅ ÒÁÂÏÔÁÌÉ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.9.0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.9.0 29.11.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á keepalive_disable. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ × ËÁÞÅÓÔ×Å - ÚÎÁÞÅÎÉÑ ÏÐÒÅÄÅÌÑÅÍÏÊ ÐÅÒÅÍÅÎÎÏÊ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÕÓÔÙÅ ÓÔÒÏËÉ × ËÁÞÅÓÔ×Å - ÚÎÁÞÅÎÉÑ ÐÅÒ×ÏÇÏ ÐÁÒÁÍÅÔÒÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÒÁÖÅÎÉÑ × ÐÅÒ×ÏÍ ÐÁÒÁÍÅÔÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÓÔÒÁÎÉÃÁ ÒÕËÏ×ÏÄÓÔ×Á nginx(8). - óÐÁÓÉÂÏ óÅÒÇÅÀ ïÓÏËÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ accept4() × Linux. - óÐÁÓÉÂÏ Simon Liu. - - *) éÚÍÅÎÅÎÉÅ: ÕÓÔÒÁÎÅÎÉÅ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ ÌÉÎËÅÒÁ Ï "sys_errlist" É - "sys_nerr" ÐÏÄ Linux; ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ ÐÏÑ×ÉÌÏÓØ × 0.8.35. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_basic × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ íÉÈÁÉÌÕ ìÁÌÅÔÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ÍÏÄÕÌÅÍ ngx_http_eval_module; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.42. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.53 18.10.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á error_page ÐÏÚ×ÏÌÑÅÔ ÍÅÎÑÔØ ËÏÄ ÓÔÁÔÕÓÁ - Õ ÒÅÄÉÒÅËÔÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á gzip_disable ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÐÅÃÉÁÌØÎÕÀ ÍÁÓËÕ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.2 06.12.2010 + + *) Добавление: поддержка Ñтроки "If-Unmodified-Since" в заголовке + запроÑе клиента. + + *) Изменение: иÑпользование accept(), еÑли accept4() не реализован; + ошибка поÑвилаÑÑŒ в 0.9.0. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ Cygwin; ошибка поÑвилаÑÑŒ в 0.9.0. + + *) ИÑправление: уÑзвимоÑти в OpenSSL CVE-2010-4180. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.1 30.11.2010 + + *) ИÑправление: директивы вида "return CODE message" не работали; ошибка + поÑвилаÑÑŒ в 0.9.0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.9.0 29.11.2010 + + *) Добавление: директива keepalive_disable. + + *) Добавление: директива map поддерживает переменные в качеÑтве Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ + определÑемой переменной. + + *) Добавление: директива map поддерживает пуÑтые Ñтроки в качеÑтве + Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ параметра. + + *) Добавление: директива map поддерживает Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² первом параметре. + + *) Добавление: Ñтраница руководÑтва nginx(8). + СпаÑибо Сергею ОÑокину. + + *) Добавление: поддержка accept4() в Linux. + СпаÑибо Simon Liu. + + *) Изменение: уÑтранение Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð»Ð¸Ð½ÐºÐµÑ€Ð° о "sys_errlist" и + "sys_nerr" под Linux; предупреждение поÑвилоÑÑŒ в 0.8.35. + + *) ИÑправление: при иÑпользовании директивы auth_basic в рабочем + процеÑÑе мог произойти segmentation fault. + СпаÑибо Михаилу Лалетину. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_eval_module; ошибка + поÑвилаÑÑŒ в 0.8.42. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.53 18.10.2010 + + *) Добавление: теперь директива error_page позволÑет менÑÑ‚ÑŒ код ÑтатуÑа + у редиректа. + + *) Добавление: директива gzip_disable поддерживает Ñпециальную маÑку degradation. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÆÁÊÌÏ×ÏÇÏ AIO ÍÏÇÌÁ ÐÒÏÉÓÈÏÄÉÔØ - ÕÔÅÞËÁ ÓÏËÅÔÏ×. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÐÅÒ×ÏÍ ÓÅÒ×ÅÒÅ ÎÅ ÂÙÌÁ ÏÐÉÓÁÎÁ ÄÉÒÅËÔÉ×Á listen - É ÎÉÇÄÅ Ñ×ÎÏ ÎÅ ÏÐÉÓÁÎ ÓÅÒ×ÅÒ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÔÏ ÓÅÒ×ÅÒÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ - ÓÔÁÎÏ×ÉÌÓÑ ÓÌÅÄÕÀÝÉÊ ÓÅÒ×ÅÒ Ó ÄÉÒÅËÔÉ×ÏÊ listen; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: при иÑпользовании файлового AIO могла проиÑходить утечка + Ñокетов. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: еÑли в первом Ñервере не была опиÑана директива listen и + нигде Ñвно не опиÑан Ñервер по умолчанию, то Ñервером по умолчанию + ÑтановилÑÑ Ñледующий Ñервер Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¾Ð¹ listen; ошибка поÑвилаÑÑŒ в 0.8.21. -éÚÍÅÎÅÎÉÑ × nginx 0.8.52 28.09.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÉÓÐÏÌØÚÏ×ÁÌ ÒÅÖÉÍ SSL ÄÌÑ listen ÓÏËÅÔÁ, ÅÓÌÉ ÄÌÑ - ÎÅÇÏ ÂÙÌ ÕÓÔÁÎÏ×ÌÅÎ ÌÀÂÏÊ listen-ÐÁÒÁÍÅÔÒ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.51. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.51 27.09.2010 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á secure_link_expires ÕÐÒÁÚÄÎÅÎÁ. - - *) éÚÍÅÎÅÎÉÅ: ÕÒÏ×ÅÎØ ÌÏÇÇÉÒÏ×ÁÎÉÑ ÏÛÉÂÏË resolver'Á ÐÏÎÉÖÅÎ Ó ÕÒÏ×ÎÑ - alert ÎÁ error. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÁÒÁÍÅÔÒ "ssl" listen-ÓÏËÅÔÁ ÍÏÖÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ - ÎÅÓËÏÌØËÏ ÒÁÚ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.50 02.09.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù secure_link, secure_link_md5 É - secure_link_expires ÍÏÄÕÌÑ ngx_http_secure_link_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -q. - óÐÁÓÉÂÏ çÅÎÎÁÄÉÀ íÁÈÏÍÅÄÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÜÛÉÒÏ×ÁÎÉÑ ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ É ÍÏÇÌÉ - ÚÁÃÉËÌÉÔØÓÑ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.48. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å gzip_disable. - óÐÁÓÉÂÏ Derrick Petzold. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÎÅ ÍÏÇ ÐÏÓÙÌÁÔØ ÓÉÇÎÁÌÙ stop, quit, - reopen, reload ÐÒÏÃÅÓÓÕ, ÚÁÐÕÝÅÎÎÏÍÕ × ÄÒÕÇÏÊ ÓÅÓÓÉÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.49 09.08.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á image_filter_jpeg_quality ÐÏÄÄÅÒÖÉ×ÁÅÔ - ÐÅÒÅÍÅÎÎÙÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $geoip_region_name × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.8.48. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ, ÐÅÒÅÈ×ÁÞÅÎÎÙÅ error_page, ËÜÛÉÒÏ×ÁÌÉÓØ ÔÏÌØËÏ - ÄÏ ÓÌÅÄÕÀÝÅÇÏ ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.48. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.48 03.08.2010 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÉÒÅËÔÉ×Á server_name ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ - ÐÕÓÔÏÅ ÉÍÑ "". - óÐÁÓÉÂÏ çÅÎÎÁÄÉÀ íÁÈÏÍÅÄÕ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÉÒÅËÔÉ×Á server_name_in_redirect - ÉÍÅÅÔ ÚÎÁÞÅÎÉÅ off. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $geoip_dma_code, $geoip_area_code É +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.52 28.09.2010 + + *) ИÑправление: nginx иÑпользовал режим SSL Ð´Ð»Ñ listen Ñокета, еÑли Ð´Ð»Ñ + него был уÑтановлен любой listen-параметр; ошибка поÑвилаÑÑŒ в 0.8.51. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.51 27.09.2010 + + *) Изменение: директива secure_link_expires упразднена. + + *) Изменение: уровень Ð»Ð¾Ð³Ð³Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑˆÐ¸Ð±Ð¾Ðº resolver'а понижен Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ + alert на error. + + *) Добавление: теперь параметр "ssl" listen-Ñокета можно уÑтанавливать + неÑколько раз. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.50 02.09.2010 + + *) Добавление: директивы secure_link, secure_link_md5 и + secure_link_expires Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_secure_link_module. + + *) Добавление: ключ -q. + СпаÑибо Геннадию Махомеду. + + *) ИÑправление: при иÑпользовании кÑÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‡Ð¸Ðµ процеÑÑÑ‹ и могли + зациклитьÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸; ошибка поÑвилаÑÑŒ в 0.8.48. + + *) ИÑправление: в директиве gzip_disable. + СпаÑибо Derrick Petzold. + + *) ИÑправление: nginx/Windows не мог поÑылать Ñигналы stop, quit, + reopen, reload процеÑÑу, запущенному в другой ÑеÑÑии. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.49 09.08.2010 + + *) Добавление: директива image_filter_jpeg_quality поддерживает + переменные. + + *) ИÑправление: при иÑпользовании переменной $geoip_region_name в + рабочем процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в + 0.8.48. + + *) ИÑправление: ошибки, перехваченные error_page, кÑшировалиÑÑŒ только до + Ñледующего запроÑа; ошибка поÑвилаÑÑŒ в 0.8.48. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.48 03.08.2010 + + *) Изменение: теперь по умолчанию директива server_name имеет значение + пуÑтое Ð¸Ð¼Ñ "". + СпаÑибо Геннадию Махомеду. + + *) Изменение: теперь по умолчанию директива server_name_in_redirect + имеет значение off. + + *) Добавление: переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name. - óÐÁÓÉÂÏ Christine McGonagle. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_pass, fastcgi_pass, uwsgi_pass É - scgi_pass ÎÅ ÎÁÓÌÅÄÏ×ÁÌÉÓØ × ÂÌÏËÉ limit_except. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_cache_min_uses, fastcgi_cache_min_uses - uwsgi_cache_min_uses É scgi_cache_min_uses ÎÅ ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.46. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_split_path_info ÎÅ×ÅÒÎÏ ÉÓÐÏÌØÚÏ×ÁÌÁ - ×ÙÄÅÌÅÎÉÑ, ÅÓÌÉ × ×ÙÄÅÌÅÎÉÑ ÐÏÐÁÄÁÌÁ ÔÏÌØËÏ ÞÁÓÔØ URI. - óÐÁÓÉÂÏ àÒÉÀ ôÁÒÁÄÁÀ É Frank Enderle. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á rewrite ÎÅ ÜËÒÁÎÉÒÏ×ÁÌÁ ÓÉÍ×ÏÌ ";" ÐÒÉ - ËÏÐÉÒÏ×ÁÎÉÉ ÉÚ URI × ÁÒÇÕÍÅÎÔÙ. - óÐÁÓÉÂÏ Daisuke Murase. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_image_filter_module ÚÁËÒÙ×ÁÌ - ÓÏÅÄÉÎÅÎÉÅ, ÅÓÌÉ ÉÚÏÂÒÁÖÅÎÉÅ ÂÙÌÏ ÂÏÌØÛÅ ÒÁÚÍÅÒÁ image_filter_buffer. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.47 28.07.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $request_time ÉÍÅÌÁ ÎÅ×ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ ÄÌÑ - ÐÏÄÚÁÐÒÏÓÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ, ÐÅÒÅÈ×ÁÞÅÎÎÙÅ error_page, ÎÅ ËÜÛÉÒÏ×ÁÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÁÒÁÍÅÔÒ max_size, ÔÏ cache manager - ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.46. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.46 19.07.2010 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_no_cache, fastcgi_no_cache, - uwsgi_no_cache É scgi_no_cache ÔÅÐÅÒØ ×ÌÉÑÀÔ ÔÏÌØËÏ ÎÁ ÓÏÈÒÁÎÅÎÉÅ - ÚÁËÜÛÉÒÏ×ÁÎÎÏÇÏ ÏÔ×ÅÔÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_cache_bypass, fastcgi_cache_bypass, - uwsgi_cache_bypass É scgi_cache_bypass. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÏÓ×ÏÂÏÖÄÁÌ ÐÁÍÑÔØ × keys_zone ËÜÛÅÊ × ÓÌÕÞÁÅ - ÏÛÉÂËÉ ÒÁÂÏÔÙ Ó ÂÜËÅÎÄÏÍ: ÐÁÍÑÔØ ÏÓ×ÏÂÏÖÄÁÌÁÓØ ÔÏÌØËÏ ÐÏ ÉÓÔÅÞÅÎÉÉ - ×ÒÅÍÅÎÉ ÎÅÁËÔÉ×ÎÏÓÔÉ ÉÌÉ ÐÒÉ ÎÅÄÏÓÔÁÔËÅ ÐÁÍÑÔÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.45 13.07.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_xslt_filter. - óÐÁÓÉÂÏ Laurence Rowe. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔ SSI ÍÏÄÕÌÑ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ ÐÏÓÌÅ - ËÏÍÁÎÄÙ include Ó ÐÁÒÁÍÅÔÒÏÍ wait="yes"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÐÁÒÁÍÅÔÒ setfib=0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.44 05.07.2010 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ËÜÛÉÒÕÅÔ ÏÔ×ÅÔÙ ÂÜËÅÎÄÏ×, × - ÚÁÇÏÌÏ×ËÅ ËÏÔÏÒÙÈ ÅÓÔØ ÓÔÒÏËÁ "Set-Cookie". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ setfib. - óÐÁÓÉÂÏ áÎÄÒÅÀ æÉÌÏÎÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á sub_filter ÍÏÇÌÁ ÉÚÍÅÎÑÔØ ÒÅÇÉÓÔÒ ÂÕË× ÐÒÉ - ÞÁÓÔÉÞÎÏÍ ÓÏ×ÐÁÄÅÎÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó HP/UX. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ËÏÍÐÉÌÑÔÏÒÏÍ AIX xlC_r. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÓÞÉÔÁÌ ÂÏÌØÛÉÅ ÐÁËÅÔÙ SSLv2 ËÁË ÏÂÙÞÎÙÅ ÔÅËÓÔÏ×ÙÅ - ÚÁÐÒÏÓÙ. - óÐÁÓÉÂÏ Miroslaw Jaworski. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.43 30.06.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÓËÏÒÅÎÉÅ ÚÁÇÒÕÚËÉ ÂÏÌØÛÉÈ ÂÁÚ geo-ÄÉÁÐÁÚÏÎÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ÏÛÉÂËÉ × "location /zero {return 204;}" - ÂÅÚ ÉÚÍÅÎÅÎÉÑ ËÏÄÁ ÏÔ×ÅÔÁ ÏÓÔÁ×ÌÑÌÏ ÔÅÌÏ ÏÛÉÂËÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + СпаÑибо Christine McGonagle. + + *) ИÑправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и + scgi_pass не наÑледовалиÑÑŒ в блоки limit_except. + + *) ИÑправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses + uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка + поÑвилаÑÑŒ в 0.8.46. + + *) ИÑправление: директива fastcgi_split_path_info неверно иÑпользовала + выделениÑ, еÑли в Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð»Ð° только чаÑÑ‚ÑŒ URI. + СпаÑибо Юрию Тарадаю и Frank Enderle. + + *) ИÑправление: директива rewrite не Ñкранировала Ñимвол ";" при + копировании из URI в аргументы. + СпаÑибо Daisuke Murase. + + *) ИÑправление: модуль ngx_http_image_filter_module закрывал Ñоединение, + еÑли изображение было больше размера image_filter_buffer. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.47 28.07.2010 + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_time имела неверные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ + подзапроÑов. + + *) ИÑправление: ошибки, перехваченные error_page, не кÑшировалиÑÑŒ. + + *) ИÑправление: еÑли иÑпользовалÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ max_size, то cache manager + мог зациклитьÑÑ; ошибка поÑвилаÑÑŒ в 0.8.46. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.46 19.07.2010 + + *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache + и scgi_no_cache теперь влиÑÑŽÑ‚ только на Ñохранение закÑшированного + ответа. + + *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass, + uwsgi_cache_bypass и scgi_cache_bypass. + + *) ИÑправление: nginx не оÑвобождал памÑÑ‚ÑŒ в keys_zone кÑшей в Ñлучае + ошибки работы Ñ Ð±Ñкендом: памÑÑ‚ÑŒ оÑвобождалаÑÑŒ только по иÑтечении + времени неактивноÑти или при недоÑтатке памÑти. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.45 13.07.2010 + + *) Добавление: ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð² модуле ngx_http_xslt_filter. + СпаÑибо Laurence Rowe. + + *) ИÑправление: ответ SSI Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¼Ð¾Ð³ передаватьÑÑ Ð½Ðµ полноÑтью поÑле + команды include Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ wait="yes"; ошибка поÑвилаÑÑŒ в 0.7.25. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: директива listen не поддерживала параметр setfib=0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.44 05.07.2010 + + *) Изменение: теперь nginx по умолчанию не кÑширует ответы бÑкендов, в + заголовке которых еÑÑ‚ÑŒ Ñтрока "Set-Cookie". + + *) Добавление: директива listen поддерживает параметр setfib. + СпаÑибо Ðндрею Филонову. + + *) ИÑправление: директива sub_filter могла изменÑÑ‚ÑŒ региÑÑ‚Ñ€ букв при + чаÑтичном Ñовпадении. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ HP/UX. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñтором AIX xlC_r. + + *) ИÑправление: nginx Ñчитал большие пакеты SSLv2 как обычные текÑтовые + запроÑÑ‹. + СпаÑибо Miroslaw Jaworski. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.43 30.06.2010 + + *) Добавление: уÑкорение загрузки больших баз geo-диапазонов. + + *) ИÑправление: перенаправление ошибки в "location /zero {return 204;}" + без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° ответа оÑтавлÑло тело ошибки; ошибка поÑвилаÑÑŒ в 0.8.42. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÍÏÇ ÚÁËÒÙ×ÁÔØ IPv6 listen ÓÏËÅÔ ×Ï ×ÒÅÍÑ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÕÀ $uid_set ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁ ÌÀÂÏÊ ÓÔÁÄÉÉ - ÏÂÒÁÂÏÔËÉ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.42 21.06.2010 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÒÏ×ÅÒÑÅÔ location'Ù, ÚÁÄÁÎÎÙÅ ÒÅÇÕÌÑÒÎÙÍÉ - ×ÙÒÁÖÅÎÉÑÍÉ, ÅÓÌÉ ÚÁÐÒÏÓ ÐÏÌÎÏÓÔØÀ ÓÏ×ÐÁÌ Ó location'ÏÍ, ÚÁÄÁÎÎÙÍ - ÓÔÒÏËÏÊ ÐÒÅÆÉËÓÁ. ðÒÅÄÙÄÕÝÅÅ ÐÏ×ÅÄÅÎÉÅ ÐÏÑ×ÉÌÏÓØ × 0.7.1. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_scgi_module. - óÐÁÓÉÂÏ Manlio Perillo. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å return ÍÏÖÎÏ ÄÏÂÁ×ÌÑÔØ ÔÅËÓÔ ÏÔ×ÅÔÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.41 15.06.2010 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ nginx/Windows ÍÏÇ ÚÁ×ÅÒÛÁÔØÓÑ Á×ÁÒÉÊÎÏ - ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ Ó ÎÅ×ÅÒÎÏÊ ËÏÄÉÒÏ×ËÏÊ UTF-8. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÏÂÅÌÙ × ÓÔÒÏËÅ - ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_redirect ÎÅÐÒÁ×ÉÌØÎÏ ÉÚÍÅÎÑÌÁ ÓÔÒÏËÕ - "Refresh" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ. - óÐÁÓÉÂÏ áÎÄÒÅÀ áÎÄÒÅÅ×Õ É íÁËÓÉÍÕ óÏÇÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÐÕÔØ ÂÅÚ ÉÍÅÎÉ ÈÏÓÔÁ × ÓÔÒÏËÅ - "Destination" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.40 07.06.2010 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÉÍÑ ÐÏÔÏËÁ ÆÁÊÌÁ ÐÏ - ÕÍÏÌÞÁÎÉÀ. - óÐÁÓÉÂÏ Jose Antonio Vazquez Gonzalez. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_uwsgi_module. - óÐÁÓÉÂÏ Roberto De Ioris. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_param ÓÏ ÚÎÁÞÅÎÉÅÍ, ÎÁÞÉÎÁÀÝÉÍÓÑ ÓÏ - ÓÔÒÏËÉ "HTTP_", ÉÚÍÅÎÑÅÔ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ × ÚÁÐÒÏÓÅ ËÌÉÅÎÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÉ "If-Modified-Since", "If-Range" É ÉÍ ÐÏÄÏÂÎÙÅ × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÐÅÒÅÄÁ×ÁÌÉÓØ FastCGI-ÓÅÒ×ÅÒÕ ÐÒÉ - ËÜÛÉÒÏ×ÁÎÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: listen unix domain ÓÏËÅÔ ÎÅÌØÚÑ ÂÙÌÏ ÉÚÍÅÎÉÔØ ×Ï ×ÒÅÍÑ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.39 31.05.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁÓÌÅÄÕÅÍÁÑ ÄÉÒÅËÔÉ×Á alias ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÌÁ ×Ï - ×ÌÏÖÅÎÎÏÍ location'Å. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ËÏÍÂÉÎÁÃÉÉ ÄÉÒÅËÔÉ× alias Ó ÐÅÒÅÍÅÎÎÙÍÉ É try_files; - - *) éÓÐÒÁ×ÌÅÎÉÅ: listen unix domain É IPv6 ÓÏËÅÔÙ ÎÅ ÎÁÓÌÅÄÏ×ÁÌÉÓØ ×Ï - ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ ÂÅÚ ÐÅÒÅÒÙ×Á. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.38 24.05.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_no_cache É fastcgi_no_cache. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $scheme × ÄÉÒÅËÔÉ×Å - rewrite Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÅÌÁÅÔÓÑ ÒÅÄÉÒÅËÔ. - óÐÁÓÉÂÏ Piotr Sikora. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÚÁÄÅÒÖËÉ × ÄÉÒÅËÔÉ×Å limit_req ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ - ÏÐÉÓÁÎÎÏÍÕ ÁÌÇÏÒÉÔÍÕ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÕÀ $uid_got ÎÅÌØÚÑ ÂÙÌÏ ÉÓÐÏÌØÚÏ×ÁÔØ × SSI É - ÐÅÒÌÏ×ÏÍ ÍÏÄÕÌÑÈ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.37 17.05.2010 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_split_clients_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÌÀÞÉ ÂÏÌØÛÅ 255 ÓÉÍ×ÏÌÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÚÎÁÞÅÎÉÑ "private" É "no-store" × - ÓÔÒÏËÅ "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ stub × SSI-ÄÉÒÅËÔÉ×Å include ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ, - ÅÓÌÉ ÐÕÓÔÏÊ ÏÔ×ÅÔ ÉÍÅÌ ËÏÄ 200. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI ÚÁÐÒÏÓ ×ÎÕÔÒÅÎÎÅ - ÐÅÒÅÎÁÐÒÁ×ÌÑÌÓÑ × ÄÒÕÇÏÊ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI location, ÔÏ × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.8.33. - óÐÁÓÉÂÏ Yichun Zhang. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏÅÄÉÎÅÎÉÑ IMAP Ë ÓÅÒ×ÅÒÕ Zimbra ÍÏÇÌÏ ÚÁ×ÉÓÎÕÔØ ÄÏ - ÔÁÊÍÁÕÔÁ. - óÐÁÓÉÂÏ Alan Batie. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.36 22.04.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_dav_module ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌ - ÍÅÔÏÄÙ DELETE, COPY É MOVE ÄÌÑ ÓÉÍÌÉÎËÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ SSI × ÐÏÄÚÁÐÒÏÓÁÈ ÉÓÐÏÌØÚÏ×ÁÌ ÚÁËÜÛÉÒÏ×ÁÎÎÙÅ × - ÏÓÎÏ×ÎÏÍ ÚÁÐÒÏÓÅ ÚÎÁÞÅÎÉÑ ÐÅÒÅÍÅÎÎÙÈ $query_string, $arg_... É ÉÍ - ÐÏÄÏÂÎÙÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ÐÏ×ÔÏÒÎÏ ÜËÒÁÎÉÒÏ×ÁÌÏÓØ ÐÏÓÌÅ - ËÁÖÄÏÇÏ ×Ù×ÏÄÁ SSI-ËÏÍÁÎÄÙ echo; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.14. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÚÁ×ÉÓÁÌ ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ FIFO. - óÐÁÓÉÂÏ Vicente Aguilar É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó OpenSSL-1.0.0 ÎÁ 64-ÂÉÔÎÏÍ Linux. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.35. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.35 01.04.2010 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ charset-ÆÉÌØÔÒ ÒÁÂÏÔÁÅÔ ÄÏ SSI-ÆÉÌØÔÒÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á chunked_transfer_encoding. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÉÍ×ÏÌ "&" ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ × ÁÒÇÕÍÅÎÔÙ × ÐÒÁ×ÉÌÁÈ - rewrite ÎÅ ÜËÒÁÎÉÒÏ×ÁÌÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÍÏÇ ÚÁ×ÅÒÛÁÔØÓÑ Á×ÁÒÉÊÎÏ ×Ï ×ÒÅÍÑ ÏÂÒÁÂÏÔËÉ - ÓÉÇÎÁÌÁ ÉÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù timer_resolution ÎÁ - ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÍÅÔÏÄÙ kqueue ÉÌÉ eventport. - óÐÁÓÉÂÏ George Xie É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ É ÐÏÓÔÏÑÎÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ - ÒÁÓÐÏÌÁÇÁÌÉÓØ ÎÁ ÒÁÚÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ, ÔÏ Õ ÐÏÓÔÏÑÎÎÙÈ ÆÁÊÌÏ× - ×ÒÅÍÑ ÉÚÍÅÎÅÎÉÑ ÂÙÌÏ ÎÅ×ÅÒÎÙÍ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_memcached_module ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÛÉÂËÕ + *) ИÑправление: nginx мог закрывать IPv6 listen Ñокет во Ð²Ñ€ÐµÐ¼Ñ + переконфигурации. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: переменную $uid_set можно иÑпользовать на любой Ñтадии + обработки запроÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.42 21.06.2010 + + *) Изменение: теперь nginx проверÑет location'Ñ‹, заданные регулÑрными + выражениÑми, еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ð¾Ð»Ð½Ð¾Ñтью Ñовпал Ñ location'ом, заданным + Ñтрокой префикÑа. Предыдущее поведение поÑвилоÑÑŒ в 0.7.1. + + *) Добавление: модуль ngx_http_scgi_module. + СпаÑибо Manlio Perillo. + + *) Добавление: в директиве return можно добавлÑÑ‚ÑŒ текÑÑ‚ ответа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.41 15.06.2010 + + *) БезопаÑноÑÑ‚ÑŒ: рабочий процеÑÑ nginx/Windows мог завершатьÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ + при запроÑе файла Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾Ð¹ кодировкой UTF-8. + + *) Изменение: теперь nginx разрешает иÑпользовать пробелы в Ñтроке + запроÑа. + + *) ИÑправление: директива proxy_redirect неправильно изменÑла Ñтроку + "Refresh" в заголовке ответа бÑкенда. + СпаÑибо Ðндрею Ðндрееву и МакÑиму Согину. + + *) ИÑправление: nginx не поддерживал путь без имени хоÑта в Ñтроке + "Destination" в заголовке запроÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.40 07.06.2010 + + *) БезопаÑноÑÑ‚ÑŒ: теперь nginx/Windows игнорирует Ð¸Ð¼Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ° файла по + умолчанию. + СпаÑибо Jose Antonio Vazquez Gonzalez. + + *) Добавление: модуль ngx_http_uwsgi_module. + СпаÑибо Roberto De Ioris. + + *) Добавление: директива fastcgi_param Ñо значением, начинающимÑÑ Ñо + Ñтроки "HTTP_", изменÑет Ñтроку заголовка в запроÑе клиента. + + *) ИÑправление: Ñтроки "If-Modified-Since", "If-Range" и им подобные в + заголовке запроÑа клиента передавалиÑÑŒ FastCGI-Ñерверу при + кÑшировании. + + *) ИÑправление: listen unix domain Ñокет Ð½ÐµÐ»ÑŒÐ·Ñ Ð±Ñ‹Ð»Ð¾ изменить во Ð²Ñ€ÐµÐ¼Ñ + переконфигурации. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.39 31.05.2010 + + *) ИÑправление: наÑÐ»ÐµÐ´ÑƒÐµÐ¼Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° alias неправильно работала во + вложенном location'е. + + *) ИÑправление: в комбинации директив alias Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ и try_files; + + *) ИÑправление: listen unix domain и IPv6 Ñокеты не наÑледовалиÑÑŒ во + Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· перерыва. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.38 24.05.2010 + + *) Добавление: директивы proxy_no_cache и fastcgi_no_cache. + + *) Добавление: теперь при иÑпользовании переменной $scheme в директиве + rewrite автоматичеÑки делаетÑÑ Ñ€ÐµÐ´Ð¸Ñ€ÐµÐºÑ‚. + СпаÑибо Piotr Sikora. + + *) ИÑправление: теперь задержки в директиве limit_req ÑоответÑтвует + опиÑанному алгоритму. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: переменную $uid_got Ð½ÐµÐ»ÑŒÐ·Ñ Ð±Ñ‹Ð»Ð¾ иÑпользовать в SSI и + перловом модулÑÑ…. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.37 17.05.2010 + + *) Добавление: модуль ngx_http_split_clients_module. + + *) Добавление: директива map поддерживает ключи больше 255 Ñимволов. + + *) ИÑправление: nginx игнорировал Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "private" и "no-store" в + Ñтроке "Cache-Control" в заголовке ответа бÑкенда. + + *) ИÑправление: параметр stub в SSI-директиве include не иÑпользовалÑÑ, + еÑли пуÑтой ответ имел код 200. + + *) ИÑправление: еÑли прокÑированный или FastCGI Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ðµ + перенаправлÑлÑÑ Ð² другой прокÑированный или FastCGI location, то в + рабочем процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в + 0.8.33. + СпаÑибо Yichun Zhang. + + *) ИÑправление: ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ IMAP к Ñерверу Zimbra могло завиÑнуть до + таймаута. + СпаÑибо Alan Batie. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.36 22.04.2010 + + *) ИÑправление: модуль ngx_http_dav_module неправильно обрабатывал + методы DELETE, COPY и MOVE Ð´Ð»Ñ Ñимлинков. + + *) ИÑправление: модуль SSI в подзапроÑах иÑпользовал закÑшированные в + оÑновном запроÑе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… $query_string, $arg_... и им + подобных. + + *) ИÑправление: значение переменной повторно ÑкранировалоÑÑŒ поÑле + каждого вывода SSI-команды echo; ошибка поÑвилаÑÑŒ в 0.6.14. + + *) ИÑправление: рабочий процеÑÑ Ð·Ð°Ð²Ð¸Ñал при запроÑе файла FIFO. + СпаÑибо Vicente Aguilar и МакÑиму Дунину. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ OpenSSL-1.0.0 на 64-битном Linux. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-http-cache; + ошибка поÑвилаÑÑŒ в 0.8.35. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.35 01.04.2010 + + *) Изменение: теперь charset-фильтр работает до SSI-фильтра. + + *) Добавление: директива chunked_transfer_encoding. + + *) ИÑправление: Ñимвол "&" при копировании в аргументы в правилах + rewrite не ÑкранировалÑÑ. + + *) ИÑправление: nginx мог завершатьÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ + Ñигнала или при иÑпользовании директивы timer_resolution на + платформах, не поддерживающих методы kqueue или eventport. + СпаÑибо George Xie и МакÑиму Дунину. + + *) ИÑправление: еÑли временные файлы и поÑтоÑнное меÑто Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ + раÑполагалиÑÑŒ на разных файловых ÑиÑтемах, то у поÑтоÑнных файлов + Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¾ неверным. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid trailer". - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÍÏÇ ÓÏÂÒÁÔØ ÂÉÂÌÉÏÔÅËÕ zlib-1.2.4 ÉÚ ÉÓÈÏÄÎÙÈ - ÔÅËÓÔÏ×. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ - ÐÅÒÅÄ ÏÔ×ÅÔÏÍ FastCGI-ÓÅÒ×ÅÒÁ ÂÙÌÏ ÍÎÏÇÏ ×Ù×ÏÄÁ × stderr; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.34. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.34 03.03.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ×ÓÅ ÛÉÆÒÙ, ÉÓÐÏÌØÚÕÅÍÙÅ × - ËÌÉÅÎÔÓËÉÈ ÓÅÒÔÉÆÉËÁÔÁÈ. - óÐÁÓÉÂÏ éÎÎÏËÅÎÔÉÀ åÎÉËÅÅ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅÐÒÁ×ÉÌØÎÏ ËÜÛÉÒÏ×ÁÌ FastCGI-ÏÔ×ÅÔÙ, ÅÓÌÉ ÐÅÒÅÄ - ÏÔ×ÅÔÏÍ ÂÙÌÏ ÍÎÏÇÏ ×Ù×ÏÄÁ × stderr. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ HTTPS-ÒÅÆÅÒÅÒÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÍÏÇ ÎÅ ÎÁÈÏÄÉÔØ ÆÁÊÌÙ, ÅÓÌÉ ÐÕÔØ × - ËÏÎÆÉÇÕÒÁÃÉÉ ÂÙÌ ÚÁÄÁÎ × ÄÒÕÇÏÍ ÒÅÇÉÓÔÒÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.33. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $date_local ×ÙÄÁ×ÁÌÁ ÎÅ×ÅÒÎÏÅ ×ÒÅÍÑ, ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÆÏÒÍÁÔ "%s". - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ssl_session_cache ÎÅ ÂÙÌ ÕÓÔÁÎÏ×ÌÅÎ ÉÌÉ ÕÓÔÁÎÏ×ÌÅÎ - × none, ÔÏ ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÙ ÍÏÇÌÁ ÐÒÏÉÓÈÏÄÉÔØ - ÏÛÉÂËÁ "session id context uninitialized"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.1. - - *) éÓÐÒÁ×ÌÅÎÉÅ: geo-ÄÉÁÐÁÚÏÎ ×ÏÚ×ÒÁÝÁÌ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÅÓÌÉ - ÄÉÁÐÁÚÏÎ ×ËÌÀÞÁÌ × ÓÅÂÑ ÏÄÎÕ É ÂÏÌÅÅ ÓÅÔÅÊ ÒÁÚÍÅÒÏÍ /16 É ÎÅ - ÎÁÞÉÎÁÌÓÑ ÎÁ ÇÒÁÎÉÃÅ ÓÅÔÉ ÒÁÚÍÅÒÏÍ /16. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÌÏË, ÉÓÐÏÌØÚÕÅÍÙÊ × ÐÁÒÁÍÅÔÒÅ stub × SSI-ÄÉÒÅËÔÉ×Å - include, ×Ù×ÏÄÉÌÓÑ Ó MIME-ÔÉÐÏÍ "text/plain". - - *) éÓÐÒÁ×ÌÅÎÉÅ: $r->sleep() ÎÅ ÒÁÂÏÔÁÌ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.33 01.02.2010 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÐÒÏÂÅÌÙ × ËÏÎÃÅ URI. - óÐÁÓÉÂÏ Dan Crowley, Core Security Technologies. - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ËÏÒÏÔËÉÅ ÉÍÅÎÁ ÆÁÊÌÏ×. - óÐÁÓÉÂÏ Dan Crowley, Core Security Technologies. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ keepalive ÓÏÅÄÉÎÅÎÉÑ ÐÏÓÌÅ ÚÁÐÒÏÓÏ× POST ÎÅ - ÚÁÐÒÅÝÁÀÔÓÑ ÄÌÑ MSIE 7.0+. - óÐÁÓÉÂÏ Adam Lounds. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ keepalive ÓÏÅÄÉÎÅÎÉÑ ÚÁÐÒÅÝÅÎÙ ÄÌÑ Safari. - óÐÁÓÉÂÏ Joshua Sierles. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI ÚÁÐÒÏÓ ×ÎÕÔÒÅÎÎÅ - ÐÅÒÅÎÁÐÒÁ×ÌÑÌÓÑ × ÄÒÕÇÏÊ ÐÒÏËÓÉÒÏ×ÁÎÎÙÊ ÉÌÉ FastCGI location, ÔÏ - ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time ÍÏÇÌÁ ÉÍÅÔØ ÎÅÎÏÒÍÁÌØÎÏ ÂÏÌØÛÏÅ - ÚÎÁÞÅÎÉÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault ÐÒÉ - ÏÔÂÒÁÓÙ×ÁÎÉÑ ÔÅÌÁ ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.32 11.01.2010 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÄÉÒÏ×ËÉ UTF-8 × + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не мог Ñобрать библиотеку zlib-1.2.4 из иÑходных + текÑтов. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в рабочем процеÑÑе проиÑходил segmentation fault, еÑли + перед ответом FastCGI-Ñервера было много вывода в stderr; ошибка + поÑвилаÑÑŒ в 0.8.34. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.34 03.03.2010 + + *) ИÑправление: nginx не поддерживал вÑе шифры, иÑпользуемые в + клиентÑких Ñертификатах. + СпаÑибо Иннокентию Еникееву. + + *) ИÑправление: nginx неправильно кÑшировал FastCGI-ответы, еÑли перед + ответом было много вывода в stderr. + + *) ИÑправление: nginx не поддерживал HTTPS-рефереры. + + *) ИÑправление: nginx/Windows мог не находить файлы, еÑли путь в + конфигурации был задан в другом региÑтре; ошибка поÑвилаÑÑŒ в 0.8.33. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $date_local выдавала неверное времÑ, еÑли + иÑпользовалÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ "%s". + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: еÑли ssl_session_cache не был уÑтановлен или уÑтановлен + в none, то при проверке клиентÑкого Ñертификаты могла проиÑходить + ошибка "session id context uninitialized"; ошибка поÑвилаÑÑŒ в 0.7.1. + + *) ИÑправление: geo-диапазон возвращал значение по умолчанию, еÑли + диапазон включал в ÑÐµÐ±Ñ Ð¾Ð´Ð½Ñƒ и более Ñетей размером /16 и не + начиналÑÑ Ð½Ð° границе Ñети размером /16. + + *) ИÑправление: блок, иÑпользуемый в параметре stub в SSI-директиве + include, выводилÑÑ Ñ MIME-типом "text/plain". + + *) ИÑправление: $r->sleep() не работал; ошибка поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.33 01.02.2010 + + *) БезопаÑноÑÑ‚ÑŒ: теперь nginx/Windows игнорирует пробелы в конце URI. + СпаÑибо Dan Crowley, Core Security Technologies. + + *) БезопаÑноÑÑ‚ÑŒ: теперь nginx/Windows игнорирует короткие имена файлов. + СпаÑибо Dan Crowley, Core Security Technologies. + + *) Изменение: теперь keepalive ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле запроÑов POST не + запрещаютÑÑ Ð´Ð»Ñ MSIE 7.0+. + СпаÑибо Adam Lounds. + + *) Изменение: теперь keepalive ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ñ‹ Ð´Ð»Ñ Safari. + СпаÑибо Joshua Sierles. + + *) ИÑправление: еÑли прокÑированный или FastCGI Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ðµ + перенаправлÑлÑÑ Ð² другой прокÑированный или FastCGI location, то + Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_response_time могла иметь ненормально большое + значение; ошибка поÑвилаÑÑŒ в 0.8.7. + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault при + отбраÑÑ‹Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐ»Ð° запроÑа; ошибка поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.32 11.01.2010 + + *) ИÑправление: ошибки при иÑпользовании кодировки UTF-8 в ngx_http_autoindex_module. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÍÅÎÏ×ÁÎÎÙÅ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ ÒÁÂÏÔÁÌÉ - ÔÏÌØËÏ ÄÌÑ Ä×ÕÈ ÐÅÒÅÍÅÎÎÙÈ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ "Host" ÉÓÐÏÌØÚÕÅÔÓÑ - ÉÍÑ "localhost", ÅÓÌÉ × ÄÉÒÅËÔÉ×Å auth_http ÕËÁÚÁÎ unix domain - ÓÏËÅÔ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÐÅÒÅÄÁÞÕ chunk'ÁÍÉ ÄÌÑ 201-ÙÈ - ÏÔ×ÅÔÏ×. - óÐÁÓÉÂÏ Julian Reich. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÉÒÅËÔÉ×Á "expires modified" ×ÙÓÔÁ×ÌÑÌÁ ÄÁÔÕ × - ÐÒÏÛÌÏÍ, ÔÏ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ "Cache-Control" ×ÙÄÁ×ÁÌÏÓØ - ÏÔÒÉÃÁÔÅÌØÎÏÅ ÞÉÓÌÏ. - óÐÁÓÉÂÏ áÌÅËÓÅÀ ëÁÐÒÁÎÏ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.31 23.12.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á error_page ÍÏÖÅÔ ÐÅÒÅÎÁÐÒÁ×ÌÑÔØ ÏÔ×ÅÔÙ - ÓÏ ÓÔÁÔÕÓÏÍ 301 É 302. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $geoip_city_continent_code, $geoip_latitude É + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: именованные Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ… работали + только Ð´Ð»Ñ Ð´Ð²ÑƒÑ… переменных. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: теперь в Ñтроке заголовка запроÑа "Host" иÑпользуетÑÑ + Ð¸Ð¼Ñ "localhost", еÑли в директиве auth_http указан unix domain Ñокет. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не поддерживал передачу chunk'ами Ð´Ð»Ñ 201-Ñ‹Ñ… + ответов. + СпаÑибо Julian Reich. + + *) ИÑправление: еÑли директива "expires modified" выÑтавлÑла дату в + прошлом, то в Ñтроке заголовка ответа "Cache-Control" выдавалоÑÑŒ + отрицательное чиÑло. + СпаÑибо ÐлекÑею Капранову. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.31 23.12.2009 + + *) Добавление: теперь директива error_page может перенаправлÑÑ‚ÑŒ ответы + Ñо ÑтатуÑом 301 и 302. + + *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude. - óÐÁÓÉÂÏ Arvind Sundararajan. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_image_filter_module ÔÅÐÅÒØ ×ÓÅÇÄÁ - ÕÄÁÌÑÅÔ EXIF É ÄÒÕÇÉÅ ÄÁÎÎÙÅ, ÅÓÌÉ ÏÎÉ ÚÁÎÉÍÁÀÔ ÂÏÌØÛÅ 5% × - JPEG-ÆÁÊÌÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ ÐÒÉ ÚÁÐÒÏÓÅ ÚÁËÜÛÉÒÏ×ÁÎÎÏÇÏ - ÏÔ×ÅÔÁ Ó ÐÕÓÔÙÍ ÔÅÌÏÍ. - óÐÁÓÉÂÏ Piotr Sikora. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÍÏÇ ÎÅ ÓÏÂÉÒÁÔØÓÑ gcc 4.x ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÏÐÔÉÍÉÚÁÃÉÉ -O2 É ×ÙÛÅ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ É äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ × location ×ÓÅÇÄÁ ÔÅÓÔÉÒÏ×ÁÌÉÓØ Ó - ÕÞ£ÔÏÍ ÒÅÇÉÓÔÒÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.25. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ËÜÛÉÒÏ×ÁÌ 304 ÏÔ×ÅÔ, ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ - ÐÒÏËÓÉÒÕÅÍÏÇÏ ÚÁÐÒÏÓÁ ÂÙÌÁ ÓÔÒÏËÁ "If-None-Match". - óÐÁÓÉÂÏ Tim Dettrick É David Kostal. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÐÙÔÁÌÓÑ Ä×ÁÖÄÙ ÕÄÁÌÉÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÐÒÉ - ÐÅÒÅÚÁÐÉÓÉ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÆÁÊÌÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.30 15.12.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÚÍÅÒ ÂÕÆÅÒÁ ÄÉÒÅËÔÉ×Ù - large_client_header_buffers ÒÁ×ÅÎ 8K. - óÐÁÓÉÂÏ Andrew Cholakian. - - *) äÏÂÁ×ÌÅÎÉÅ: ÆÁÊÌ conf/fastcgi.conf ÄÌÑ ÐÒÏÓÔÙÈ ËÏÎÆÉÇÕÒÁÃÉÊ FastCGI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÐÙÔÁÌÓÑ Ä×ÁÖÄÙ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ×ÒÅÍÅÎÎÙÊ - ÆÁÊÌ ÐÒÉ ÐÅÒÅÚÁÐÉÓÉ ÕÖÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ÆÁÊÌÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ double free or corruption, ×ÏÚÎÉËÁÀÝÅÊ, ÅÓÌÉ ÉÍÑ - ÈÏÓÔÁ ÎÅ ÂÙÌÏ ÎÁÊÄÅÎÏ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.22. - óÐÁÓÉÂÏ ëÏÎÓÔÁÎÔÉÎÕ ó×ÉÓÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ libatomic ÎÁ ÎÅËÏÔÏÒÙÈ ÐÌÁÔÆÏÒÍÁÈ. - óÐÁÓÉÂÏ W-Mark Kubacki. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.29 30.11.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÌÑ ÐÒÏËÓÉÒÕÅÍÙÈ ÏÔ×ÅÔÏ× HTTP/0.9 × ÌÏÇ ÐÉÛÅÔÓÑ - ËÏÄ ÏÔ×ÅÔÁ "009". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù addition_types, charset_types, gzip_types, - ssi_types, sub_filter_types É xslt_types ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÁÒÁÍÅÔÒ "*". - - *) äÏÂÁ×ÌÅÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎÉÅ ×ÓÔÒÏÅÎÎÙÈ ÁÔÏÍÁÒÎÙÈ ÏÐÅÒÁÃÉÊ GCC 4.1+. - óÐÁÓÉÂÏ W-Mark Kubacki. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ --with-libatomic[=DIR] × configure. - óÐÁÓÉÂÏ W-Mark Kubacki. - - *) éÓÐÒÁ×ÌÅÎÉÅ: listen unix domain ÓÏËÅÔ ÉÍÅÌÉ ÏÇÒÁÎÉÞÅÎÎÙÅ ÐÒÁ×Á - ÄÏÓÔÕÐÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁËÜÛÉÒÏ×ÁÎÎÙÅ ÏÔ×ÅÔÙ ÏÔ×ÅÔÏ× HTTP/0.9 ÎÅÐÒÁ×ÉÌØÎÏ - ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÍÅÎÏ×ÁÎÎÙÅ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ, ÚÁÄÁÎÎÙÅ - ËÁË "?P<...>", ÎÅ ÒÁÂÏÔÁÌÉ × ÄÉÒÅËÔÉ×Å server_name. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.28 23.11.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-pcre; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.25. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.27 17.11.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ ÎÅ ÒÁÂÏÔÁÌÉ × nginx/Windows; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.25. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.26 16.11.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÙÄÅÌÅÎÉÊ × ÄÉÒÅËÔÉ×Å rewrite; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.25. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.25. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.25 16.11.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ × ÌÏÇ ÏÛÉÂÏË ÎÅ ÐÉÛÅÔÓÑ ÓÏÏÂÝÅÎÉÅ, ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ - ÎÅ ÎÁÊÄÅÎÁ Ó ÐÏÍÏÝØÀ ÍÅÔÏÄÁ $r->variable(). - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_degradation_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÉÍÅÎÏ×ÁÎÎÙÅ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å - proxy_pass ÎÅ ÔÒÅÂÕÅÔÓÑ ÚÁÄÁ×ÁÔØ URI. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á msie_padding ÒÁÂÏÔÁÅÔ É ÄÌÑ Chrome. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault ÐÒÉ - ÎÅÄÏÓÔÁÔËÅ ÐÁÍÑÔÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.18. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÐÅÒÅÄÁ×ÁÌ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ ËÌÉÅÎÔÁÍ, ÎÅ - ÐÏÄÄÅÒÖÉ×ÁÀÝÉÍ ÓÖÁÔÉÅ, ÐÒÉ ÎÁÓÔÒÏÊËÁÈ gzip_static on É gzip_vary - off; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.16. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.24 11.11.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÓÅÇÄÁ ÄÏÂÁ×ÌÑÌ ÓÔÒÏËÕ "Content-Encoding: gzip" × - ÚÁÇÏÌÏ×ÏË 304-ÙÈ ÏÔ×ÅÔÏ× ÍÏÄÕÌÑ ngx_http_gzip_static_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.23. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ "unix:" × ÄÉÒÅËÔÉ×Å set_real_ip_from - ÎÅÐÒÁ×ÉÌØÎÏ ÎÁÓÌÅÄÏ×ÁÌÓÑ Ó ÐÒÅÄÙÄÕÝÅÇÏ ÕÒÏ×ÎÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × resolver'Å ÐÒÉ ÏÐÒÅÄÅÌÅÎÉÉ ÐÕÓÔÏÇÏ ÉÍÅÎÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.23 11.11.2009 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÔÅÐÅÒØ SSL/TLS renegotiation ÚÁÐÒÅÝ£Î. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: listen unix domain ÓÏËÅÔ ÎÅ ÎÁÓÌÅÄÏ×ÁÌÓÑ ×Ï ×ÒÅÍÑ - ÏÂÎÏ×ÌÅÎÉÑ ÂÅÚ ÐÅÒÅÒÙ×Á. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ "unix:" × ÄÉÒÅËÔÉ×Å set_real_ip_from ÎÅ - ÒÁÂÏÔÁÌ ÂÅÚ ÅÝ£ ÏÄÎÏÊ ÄÉÒÅËÔÉ×Ù Ó ÌÀÂÙÍ IP-ÁÄÒÅÓÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: segmentation fault É ÚÁÃÉËÌÉ×ÁÎÉÑ × resolver'Å. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × resolver'Å. - óÐÁÓÉÂÏ áÒÔ£ÍÕ âÏÈÁÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.22 03.11.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_bind, fastcgi_bind É memcached_bind. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù access É deny ÐÏÄÄÅÒÖÉ×ÁÀÔ IPv6. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á set_real_ip_from ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6 ÁÄÒÅÓÁ × - ÚÁÇÏÌÏ×ËÁÈ ÚÁÐÒÏÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ "unix:" × ÄÉÒÅËÔÉ×Å set_real_ip_from. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÕÄÁÌÑÌ unix domain ÓÏËÅÔ ÐÏÓÌÅ ÔÅÓÔÉÒÏ×ÁÎÉÑ - ËÏÎÆÉÇÕÒÁÃÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÕÄÁÌÑÌ unix domain ÓÏËÅÔ ×Ï ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ ÂÅÚ - ÐÅÒÅÒÙ×Á. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÐÅÒÁÔÏÒ "!-x" ÎÅ ÒÁÂÏÔÁÌ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault ÐÒÉ - ÉÓÐÏÌØÚÏ×ÁÎÉÉ limit_rate × HTTPS ÓÅÒ×ÅÒÅ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÚÁÐÉÓÉ × ÌÏÇ ÐÅÒÅÍÅÎÎÏÊ $limit_rate × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault, - ÅÓÌÉ ×ÎÕÔÒÉ ÂÌÏËÁ server ÎÅ ÂÙÌÏ ÄÉÒÅËÔÉ×Ù listen; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.8.21. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.21 26.10.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ËÌÀÞ -V ÐÏËÁÚÙ×ÁÅÔ ÓÔÁÔÕÓ ÐÏÄÄÅÒÖËÉ TLS SNI. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÍÏÄÕÌÑ HTTP ÐÏÄÄÅÒÖÉ×ÁÅÔ unix domain - ÓÏËÅÔÙ. - óÐÁÓÉÂÏ Hongli Lai. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ "default_server" × ÄÉÒÅËÔÉ×Å listen. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÁÒÁÍÅÔÒ "default" ÎÅ ÏÂÑÚÁÔÅÌÅÎ ÄÌÑ ÕÓÔÁÎÏ×ËÉ - ÐÁÒÁÍÅÔÒÏ× listen-ÓÏËÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÄÁÔÙ × 2038 ÇÏÄÕ ÎÁ 32-ÂÉÔÎÙÈ - ÐÌÁÔÆÏÒÍÁÈ; - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.20 14.10.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÛÉÆÒÙ SSL: + СпаÑибо Arvind Sundararajan. + + *) Добавление: модуль ngx_http_image_filter_module теперь вÑегда удалÑет + EXIF и другие данные, еÑли они занимают больше 5% в JPEG-файле. + + *) ИÑправление: nginx закрывал Ñоединение при запроÑе закÑшированного + ответа Ñ Ð¿ÑƒÑтым телом. + СпаÑибо Piotr Sikora. + + *) ИÑправление: nginx мог не ÑобиратьÑÑ gcc 4.x при иÑпользовании + оптимизации -O2 и выше. + СпаÑибо МакÑиму Дунину и ДениÑу Латыпову. + + *) ИÑправление: регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² location вÑегда теÑтировалиÑÑŒ Ñ + учётом региÑтра; ошибка поÑвилаÑÑŒ в 0.8.25. + + *) ИÑправление: nginx кÑшировал 304 ответ, еÑли в заголовке + прокÑируемого запроÑа была Ñтрока "If-None-Match". + СпаÑибо Tim Dettrick и David Kostal. + + *) ИÑправление: nginx/Windows пыталÑÑ Ð´Ð²Ð°Ð¶Ð´Ñ‹ удалить временный файл при + перезапиÑи уже ÑущеÑтвующего файла. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.30 15.12.2009 + + *) Изменение: теперь по умолчанию размер буфера директивы + large_client_header_buffers равен 8K. + СпаÑибо Andrew Cholakian. + + *) Добавление: файл conf/fastcgi.conf Ð´Ð»Ñ Ð¿Ñ€Ð¾ÑÑ‚Ñ‹Ñ… конфигураций FastCGI. + + *) ИÑправление: nginx/Windows пыталÑÑ Ð´Ð²Ð°Ð¶Ð´Ñ‹ переименовать временный + файл при перезапиÑи уже ÑущеÑтвующего файла. + + *) ИÑправление: ошибки double free or corruption, возникающей, еÑли Ð¸Ð¼Ñ + хоÑта не было найдено; ошибка поÑвилаÑÑŒ в 0.8.22. + СпаÑибо КонÑтантину СвиÑту. + + *) ИÑправление: в иÑпользовании libatomic на некоторых платформах. + СпаÑибо W-Mark Kubacki. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.29 30.11.2009 + + *) Изменение: теперь Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐºÑируемых ответов HTTP/0.9 в лог пишетÑÑ ÐºÐ¾Ð´ + ответа "009". + + *) Добавление: директивы addition_types, charset_types, gzip_types, + ssi_types, sub_filter_types и xslt_types поддерживают параметр "*". + + *) Добавление: иÑпользование вÑтроенных атомарных операций GCC 4.1+. + СпаÑибо W-Mark Kubacki. + + *) Добавление: параметр --with-libatomic[=DIR] в configure. + СпаÑибо W-Mark Kubacki. + + *) ИÑправление: listen unix domain Ñокет имели ограниченные права + доÑтупа. + + *) ИÑправление: закÑшированные ответы ответов HTTP/0.9 неправильно + обрабатывалиÑÑŒ. + + *) ИÑправление: именованные Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ…, заданные + как "?P<...>", не работали в директиве server_name. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.28 23.11.2009 + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-pcre; ошибка + поÑвилаÑÑŒ в 0.8.25. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.27 17.11.2009 + + *) ИÑправление: регулÑрные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ работали в nginx/Windows; ошибка + поÑвилаÑÑŒ в 0.8.25. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.26 16.11.2009 + + *) ИÑправление: ошибки при иÑпользовании выделений в директиве rewrite; + ошибка поÑвилаÑÑŒ в 0.8.25. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· параметра --with-debug; ошибка + поÑвилаÑÑŒ в 0.8.25. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.25 16.11.2009 + + *) Изменение: теперь в лог ошибок не пишетÑÑ Ñообщение, еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ + не найдена Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ метода $r->variable(). + + *) Добавление: модуль ngx_http_degradation_module. + + *) Добавление: именованные Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ…. + + *) Добавление: теперь при иÑпользовании переменных в директиве + proxy_pass не требуетÑÑ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ URI. + + *) Добавление: теперь директива msie_padding работает и Ð´Ð»Ñ Chrome. + + *) ИÑправление: в рабочем процеÑÑе проиÑходил segmentation fault при + недоÑтатке памÑти; ошибка поÑвилаÑÑŒ в 0.8.18. + + *) ИÑправление: nginx передавал Ñжатые ответы клиентам, не + поддерживающим Ñжатие, при наÑтройках gzip_static on и gzip_vary off; + ошибка поÑвилаÑÑŒ в 0.8.16. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.24 11.11.2009 + + *) ИÑправление: nginx вÑегда добавлÑл Ñтроку "Content-Encoding: gzip" в + заголовок 304-Ñ‹Ñ… ответов Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_gzip_static_module. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· параметра --with-debug; ошибка + поÑвилаÑÑŒ в 0.8.23. + + *) ИÑправление: параметр "unix:" в директиве set_real_ip_from + неправильно наÑледовалÑÑ Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ уровнÑ. + + *) ИÑправление: в resolver'е при определении пуÑтого имени. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.23 11.11.2009 + + *) БезопаÑноÑÑ‚ÑŒ: теперь SSL/TLS renegotiation запрещён. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: listen unix domain Ñокет не наÑледовалÑÑ Ð²Ð¾ Ð²Ñ€ÐµÐ¼Ñ + Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· перерыва. + + *) ИÑправление: параметр "unix:" в директиве set_real_ip_from не работал + без ещё одной директивы Ñ Ð»ÑŽÐ±Ñ‹Ð¼ IP-адреÑом. + + *) ИÑправление: segmentation fault и Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ Ð² resolver'е. + + *) ИÑправление: в resolver'е. + СпаÑибо Ðртёму Бохану. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.22 03.11.2009 + + *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind. + + *) Добавление: директивы access и deny поддерживают IPv6. + + *) Добавление: директива set_real_ip_from поддерживает IPv6 адреÑа в + заголовках запроÑа. + + *) Добавление: параметр "unix:" в директиве set_real_ip_from. + + *) ИÑправление: nginx не удалÑл unix domain Ñокет поÑле теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ + конфигурации. + + *) ИÑправление: nginx удалÑл unix domain Ñокет во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· + перерыва. + + *) ИÑправление: оператор "!-x" не работал. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault при + иÑпользовании limit_rate в HTTPS Ñервере. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: при запиÑи в лог переменной $limit_rate в рабочем + процеÑÑе проиÑходил segmentation fault. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault, + еÑли внутри блока server не было директивы listen; ошибка поÑвилаÑÑŒ в + 0.8.21. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.21 26.10.2009 + + *) Добавление: теперь ключ -V показывает ÑÑ‚Ð°Ñ‚ÑƒÑ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¸ TLS SNI. + + *) Добавление: директива listen Ð¼Ð¾Ð´ÑƒÐ»Ñ HTTP поддерживает unix domain + Ñокеты. + СпаÑибо Hongli Lai. + + *) Добавление: параметр "default_server" в директиве listen. + + *) Добавление: теперь параметр "default" не обÑзателен Ð´Ð»Ñ ÑƒÑтановки + параметров listen-Ñокета. + + *) ИÑправление: nginx не поддерживал даты в 2038 году на 32-битных + платформах; + + *) ИÑправление: утечки Ñокетов; ошибка поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.20 14.10.2009 + + *) Изменение: теперь по умолчанию иÑпользуютÑÑ Ñледующие шифры SSL: "HIGH:!ADH:!MD5". - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏËÁÚÙ×ÁÌ ÐÏÓÌÅÄÎÉÊ - ÓÌÜÛ ÄÌÑ ÌÉÎËÏ× ÎÁ ËÁÔÁÌÏÇÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.15. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁËÒÙ×ÁÌ ÌÏÇ, ÚÁÄÁÎÎÙÊ ÐÁÒÁÍÅÔÒÏÍ ËÏÎÆÉÇÕÒÁÃÉÉ - --error-log-path; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÞÉÔÁÌ ÚÁÐÑÔÕÀ ÒÁÚÄÅÌÉÔÅÌÅÍ × ÓÔÒÏËÅ - "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÍÏÇ ÎÅ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ, ÆÁÊÌ × - ËÜÛÅ ÉÌÉ ÆÁÊÌ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ× proxy/fastcgi_store, ÅÓÌÉ ÒÁÂÏÞÉÊ - ÐÒÏÃÅÓÓ ÎÅ ÉÍÅÌ ÄÏÓÔÁÔÏÞÎÏ ÐÒÁ× ÄÌÑ ÒÁÂÏÔÙ Ó ËÁÔÁÌÏÇÁÍÉ ×ÅÒÈÎÅÇÏ - ÕÒÏ×ÎÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÉ "Set-Cookie" É "P3P" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ - FastCGI-ÓÅÒ×ÅÒÁ ÎÅ ÓËÒÙ×ÁÌÉÓØ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ, ÅÓÌÉ ÎÅ - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù fastcgi_hide_header Ó ÌÀÂÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ×ÅÒÎÏ ÓÞÉÔÁÌ ÒÁÚÍÅÒ ËÜÛÁ ÎÁ ÄÉÓËÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.19 06.10.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÒÏÔÏËÏÌ SSLv2 ÐÏ ÕÍÏÌÞÁÎÉÀ ÚÁÐÒÅÝ£Î. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ÛÉÆÒÙ SSL: + *) ИÑправление: модуль ngx_http_autoindex_module не показывал поÑледний + ÑлÑш Ð´Ð»Ñ Ð»Ð¸Ð½ÐºÐ¾Ð² на каталоги; ошибка поÑвилаÑÑŒ в 0.7.15. + + *) ИÑправление: nginx не закрывал лог, заданный параметром конфигурации + --error-log-path; ошибка поÑвилаÑÑŒ в 0.7.53. + + *) ИÑправление: nginx не Ñчитал запÑтую разделителем в Ñтроке + "Cache-Control" в заголовке ответа бÑкенда. + + *) ИÑправление: nginx/Windows мог не Ñоздать временный файл, файл в кÑше + или файл Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директив proxy/fastcgi_store, еÑли рабочий процеÑÑ + не имел доÑтаточно прав Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°Ð¼Ð¸ верхнего уровнÑ. + + *) ИÑправление: Ñтроки "Set-Cookie" и "P3P" в заголовке ответа + FastCGI-Ñервера не ÑкрывалиÑÑŒ при кÑшировании, еÑли не иÑпользовалиÑÑŒ + директивы fastcgi_hide_header Ñ Ð»ÑŽÐ±Ñ‹Ð¼Ð¸ параметрами. + + *) ИÑправление: nginx неверно Ñчитал размер кÑша на диÑке. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.19 06.10.2009 + + *) Изменение: теперь протокол SSLv2 по умолчанию запрещён. + + *) Изменение: теперь по умолчанию иÑпользуютÑÑ Ñледующие шифры SSL: "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_req ÎÅ ÒÁÂÏÔÁÌÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: директива limit_req не работала; ошибка поÑвилаÑÑŒ в 0.8.18. -éÚÍÅÎÅÎÉÑ × nginx 0.8.18 06.10.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á read_ahead. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓËÏÌØËÏ ÄÉÒÅËÔÉ× +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.18 06.10.2009 + + *) Добавление: директива read_ahead. + + *) Добавление: теперь можно иÑпользовать неÑколько директив perl_modules. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù limit_req_log_level É limit_conn_log_level. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á limit_req ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÁÌÇÏÒÉÔÍÕ - leaky bucket. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux/sparc. - óÐÁÓÉÂÏ Marcus Ramberg. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÓÌÁÌ ÓÉÍ×ÏÌ '\0' × ÓÔÒÏËÅ "Location" × ÚÁÇÏÌÏ×ËÅ - × ÏÔ×ÅÔÅ ÎÁ ÚÁÐÒÏÓ MKCOL. - óÐÁÓÉÂÏ Xie Zhenye. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÍÅÓÔÏ ËÏÄÁ ÏÔ×ÅÔÁ 499 × ÌÏÇ ÚÁÐÉÓÙ×ÁÌÓÑ ËÏÄ 0; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.17 28.09.2009 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ "/../" ÚÁÐÒÅÝÅÎÙ × ÓÔÒÏËÅ "Destination" - × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $host ×ÓÅÇÄÁ × ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $ssl_session_id. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.16 22.09.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á image_filter_transparency. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "addition_types" ÂÙÌÁ ÎÅ×ÅÒÎÏ ÎÁÚ×ÁÎÁ + *) Добавление: директивы limit_req_log_level и limit_conn_log_level. + + *) ИÑправление: теперь директива limit_req ÑоответÑтвует алгоритму leaky + bucket. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не работал на Linux/sparc. + СпаÑибо Marcus Ramberg. + + *) ИÑправление: nginx Ñлал Ñимвол '\0' в Ñтроке "Location" в заголовке в + ответе на Ð·Ð°Ð¿Ñ€Ð¾Ñ MKCOL. + СпаÑибо Xie Zhenye. + + *) ИÑправление: вмеÑто кода ответа 499 в лог запиÑывалÑÑ ÐºÐ¾Ð´ 0; ошибка + поÑвилаÑÑŒ в 0.8.11. + + *) ИÑправление: утечки Ñокетов; ошибка поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.17 28.09.2009 + + *) БезопаÑноÑÑ‚ÑŒ: теперь Ñимволы "/../" запрещены в Ñтроке "Destination" + в заголовке запроÑа. + + *) Изменение: теперь значение переменной $host вÑегда в нижнем региÑтре. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $ssl_session_id. + + *) ИÑправление: утечки Ñокетов; ошибка поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.16 22.09.2009 + + *) Добавление: директива image_filter_transparency. + + *) ИÑправление: директива "addition_types" была неверно названа "addtion_types". - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÒÞÉ ËÜÛÁ resolver'Á. - óÐÁÓÉÂÏ Matthew Dempsky. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÐÁÍÑÔÉ × resolver'Å. - óÐÁÓÉÂÏ Matthew Dempsky. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ ÚÁÐÒÏÓÁ × ÐÅÒÅÍÅÎÎÏÊ $request - ÚÁÐÉÓÙ×ÁÌÁÓØ × access_log ÔÏÌØËÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ error_log ÎÁ - ÕÒÏ×ÎÅ info ÉÌÉ debug. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÏÄÄÅÒÖËÅ ÁÌØÆÁ-ËÁÎÁÌÁ PNG × ÍÏÄÕÌÅ + *) ИÑправление: порчи кÑша resolver'а. + СпаÑибо Matthew Dempsky. + + *) ИÑправление: утечки памÑти в resolver'е. + СпаÑибо Matthew Dempsky. + + *) ИÑправление: Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñтрока запроÑа в переменной $request + запиÑывалаÑÑŒ в access_log только при иÑпользовании error_log на + уровне info или debug. + + *) ИÑправление: в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÓÅÇÄÁ ÄÏÂÁ×ÌÑÌ ÓÔÒÏËÕ "Vary: Accept-Encoding" × - ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ, ÅÓÌÉ ÏÂÅ ÄÉÒÅËÔÉ×Ù gzip_static É gzip_vary ÂÙÌÉ - ×ËÌÀÞÅÎÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÏÄÄÅÒÖËÅ ËÏÄÉÒÏ×ËÉ UTF-8 ÄÉÒÅËÔÉ×ÏÊ try_files × + *) ИÑправление: nginx вÑегда добавлÑл Ñтроку "Vary: Accept-Encoding" в + заголовок ответа, еÑли обе директивы gzip_static и gzip_vary были + включены. + + *) ИÑправление: в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ post_action; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.8.11. - óÐÁÓÉÂÏ éÇÏÒÀ áÒÔÅÍØÅ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.15 14.09.2009 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÐÒÉ ÏÂÒÁÂÏÔËÅ ÓÐÅÃÉÁÌØÎÏ ÓÏÚÄÁÎÎÏÇÏ ÚÁÐÒÏÓÁ × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ Chris Ries. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÙÌÉ ÏÐÉÓÁÎÙ ÉÍÅÎÁ .domain.tld, .sub.domain.tld É - .domain-some.tld, ÔÏ ÉÍÑ .sub.domain.tld ÐÏÐÁÄÁÌÏ ÐÏÄ ÍÁÓËÕ + *) ИÑправление: ошибки при иÑпользовании post_action; ошибка поÑвилаÑÑŒ в + 0.8.11. + СпаÑибо Игорю Ðртемьеву. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.15 14.09.2009 + + *) БезопаÑноÑÑ‚ÑŒ: при обработке Ñпециально Ñозданного запроÑа в рабочем + процеÑÑе мог произойти segmentation fault. + СпаÑибо Chris Ries. + + *) ИÑправление: еÑли были опиÑаны имена .domain.tld, .sub.domain.tld и + .domain-some.tld, то Ð¸Ð¼Ñ .sub.domain.tld попадало под маÑку .domain.tld. - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÏÄÄÅÒÖËÅ ÐÒÏÚÒÁÞÎÏÓÔÉ × ÍÏÄÕÌÅ + *) ИÑправление: в поддержке прозрачноÑти в модуле ngx_http_image_filter_module. - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÆÁÊÌÏ×ÏÍ AIO. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ X-Accel-Redirect; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÓÔÒÏÅÎÎÏÇÏ ÐÅÒÌÁ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.14 07.09.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÓÔÁÒÅ×ÛÉÊ ÚÁËÜÛÉÒÏ×ÁÎÎÙÊ ÚÁÐÒÏÓ ÍÏÇ ÚÁÌÉÐÎÕÔØ × - ÓÏÓÔÏÑÎÉÉ "UPDATING". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ error_log ÎÁ ÕÒÏ×ÎÅ info ÉÌÉ debug × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÓÔÒÏÅÎÎÏÇÏ ÐÅÒÌÁ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.8.11. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁ ÏÛÉÂËÕ 413; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.10. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.13 31.08.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å "aio sendfile"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.12. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-file-aio ÎÁ - FreeBSD; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.12. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.12 31.08.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ sendfile × ÄÉÒÅËÔÉ×Å aio ×Ï FreeBSD. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ try_files; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: в файловом AIO. + + *) ИÑправление: ошибки при иÑпользовании X-Accel-Redirect; ошибка + поÑвилаÑÑŒ в 0.8.11. + + *) ИÑправление: ошибки при иÑпользовании вÑтроенного перла; ошибка + поÑвилаÑÑŒ в 0.8.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.14 07.09.2009 + + *) ИÑправление: уÑтаревший закÑшированный Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¼Ð¾Ð³ залипнуть в + ÑоÑтоÑнии "UPDATING". + + *) ИÑправление: при иÑпользовании error_log на уровне info или debug в + рабочем процеÑÑе мог произойти segmentation fault. + СпаÑибо Сергею Боченкову. + + *) ИÑправление: ошибки при иÑпользовании вÑтроенного перла; ошибка + поÑвилаÑÑŒ в 0.8.11. + + *) ИÑправление: директива error_page не перенаправлÑла ошибку 413; + ошибка поÑвилаÑÑŒ в 0.6.10. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.13 31.08.2009 + + *) ИÑправление: в директиве "aio sendfile"; ошибка поÑвилаÑÑŒ в 0.8.12. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· параметра --with-file-aio на + FreeBSD; ошибка поÑвилаÑÑŒ в 0.8.12. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.12 31.08.2009 + + *) Добавление: параметр sendfile в директиве aio во FreeBSD. + + *) ИÑправление: ошибки при иÑпользовании try_files; ошибка поÑвилаÑÑŒ в 0.8.11. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ memcached; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: ошибки при иÑпользовании memcached; ошибка поÑвилаÑÑŒ в 0.8.11. -éÚÍÅÎÅÎÉÑ × nginx 0.8.11 28.08.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "gzip_disable msie6" ÎÅ ÚÁÐÒÅÝÁÅÔ ÓÖÁÔÉÅ - ÄÌÑ MSIE 6.0 SV1. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ ÆÁÊÌÏ×ÏÇÏ AIO ×Ï FreeBSD É Linux. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio_alignment. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.10 24.08.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞÅË ÐÁÍÑÔÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÁÚÙ GeoIP City. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× × ÐÏÓÔÏÑÎÎÏÅ - ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.9. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.9 17.08.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÓÔÁÒÔÏ×ÙÊ ÚÁÇÒÕÚÞÉË ËÜÛÁ ÒÁÂÏÔÁÅÔ × ÏÔÄÅÌØÎÏÍ - ÐÒÏÃÅÓÓ; ÜÔÏ ÄÏÌÖÎÏ ÕÌÕÞÛÉÔØ ÏÂÒÁÂÏÔËÕ ÂÏÌØÛÉÈ ËÜÛÅÊ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ É ÐÏÓÔÏÑÎÎÏÅ ÍÅÓÔÏ ÈÒÁÎÅÎÉÑ ÍÏÇÕÔ - ÒÁÓÐÏÌÁÇÁÔØÓÑ ÎÁ ÒÁÚÎÙÈ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍÁÈ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.8 10.08.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ ÚÁÇÏÌÏ×ËÏ× ÏÔ×ÅÔÁ, ÒÁÚÄÅÌ£ÎÎÙÈ × - FastCGI-ÚÁÐÉÓÑÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÚÁÐÒÏÓ ÏÂÒÁÂÁÔÙ×ÁÌÓÑ × Ä×ÕÈ ÐÒÏËÓÉÒÏ×ÁÎÎÙÈ ÉÌÉ - FastCGI location'ÁÈ É × ÐÅÒ×ÏÍ ÉÚ ÎÉÈ ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ËÜÛÉÒÏ×ÁÎÉÅ, ÔÏ - × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.11 28.08.2009 + + *) Изменение: теперь директива "gzip_disable msie6" не запрещает Ñжатие + Ð´Ð»Ñ MSIE 6.0 SV1. + + *) Добавление: поддержка файлового AIO во FreeBSD и Linux. + + *) Добавление: директива directio_alignment. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.10 24.08.2009 + + *) ИÑправление: утечек памÑти при иÑпользовании базы GeoIP City. + + *) ИÑправление: ошибки при копировании временных файлов в поÑтоÑнное + меÑто хранениÑ; ошибка поÑвилаÑÑŒ в 0.8.9. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.9 17.08.2009 + + *) Добавление: теперь Ñтартовый загрузчик кÑша работает в отдельном + процеÑÑ; Ñто должно улучшить обработку больших кÑшей. + + *) Добавление: теперь временные файлы и поÑтоÑнное меÑто Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ + раÑполагатьÑÑ Ð½Ð° разных файловых ÑиÑтемах. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.8 10.08.2009 + + *) ИÑправление: в обработке заголовков ответа, разделённых в + FastCGI-запиÑÑÑ…. + + *) ИÑправление: еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ð»ÑÑ Ð² двух прокÑированных или + FastCGI location'ах и в первом из них иÑпользовалоÑÑŒ кÑширование, то + в рабочем процеÑÑе проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.8.7. -éÚÍÅÎÅÎÉÑ × nginx 0.8.7 27.07.2009 - - *) éÚÍÅÎÅÎÉÅ: ÍÉÎÉÍÁÌØÎÁÑ ÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ ×ÅÒÓÉÑ OpenSSL - 0.9.7. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ ask ÄÉÒÅËÔÉ×Ù ssl_verify_client ÉÚÍÅΣΠÎÁ - ÐÁÒÁÍÅÔÒ optional É ÔÅÐÅÒØ ÏÎ ÐÒÏ×ÅÒÑÅÔ ËÌÉÅÎÔÓËÉÊ ÓÅÒÔÉÆÉËÁÔ, ÅÓÌÉ - ÏÎ ÂÙÌ ÐÒÅÄÌÏÖÅÎ. - óÐÁÓÉÂÏ Brice Figureau. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $ssl_client_verify. - óÐÁÓÉÂÏ Brice Figureau. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_crl. - óÐÁÓÉÂÏ Brice Figureau. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ proxy ÄÉÒÅËÔÉ×Ù geo. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á image_filter ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ ÄÌÑ - ÚÁÄÁÎÉÑ ÒÁÚÍÅÒÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $ssl_client_cert ÐÏÒÔÉÌÏ - ÐÁÍÑÔØ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.7. - óÐÁÓÉÂÏ óÅÒÇÅÀ öÕÒÁ×Ì£×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_pass_header É fastcgi_pass_header" ÎÅ - ÐÅÒÅÄÁ×ÁÌÉ ËÌÉÅÎÔÕ ÓÔÒÏËÉ "X-Accel-Redirect", "X-Accel-Limit-Rate", - "X-Accel-Buffering" É "X-Accel-Charset" ÉÚ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ - ÂÜËÅÎÄÁ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ ÓÔÒÏË "Last-Modified" É "Accept-Ranges" × - ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÐÕÓÔÙÈ - ÏÔ×ÅÔÙ × ÐÏÄÚÁÐÒÏÓÁÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.5. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.6 20.07.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_geoip_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: XSLT-ÆÉÌØÔÒ ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÛÉÂËÕ "not well formed XML - document" ÄÌÑ ÐÒÁ×ÉÌØÎÏÇÏ ÄÏËÕÍÅÎÔÁ. - óÐÁÓÉÂÏ Kuramoto Eiji. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × MacOSX, Cygwin É nginx/Windows ÐÒÉ ÐÒÏ×ÅÒËÅ - location'Ï×, ÚÁÄÁÎÎÙÈ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ, ÔÅÐÅÒØ ×ÓÅÇÄÁ ÄÅÌÁÅÔÓÑ - ÓÒÁ×ÎÅÎÉÅ ÂÅÚ ÕÞ£ÔÁ ÒÅÇÉÓÔÒÁ ÓÉÍ×ÏÌÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx/Windows ÉÇÎÏÒÉÒÕÅÔ ÔÏÞËÉ × ËÏÎÃÅ URI. - óÐÁÓÉÂÏ Hugo Leisink. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÍÑ ÆÁÊÌÁ ÕËÁÚÁÎÎÏÇÏ × --conf-path ÉÇÎÏÒÉÒÏ×ÁÌÏÓØ ÐÒÉ - ÕÓÔÁÎÏ×ËÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.5 13.07.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÍÅÔÏÄÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTP Basic-ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÎÁ Windows - ÄÌÑ ÎÅ×ÅÒÎÙÈ ÉÍÅÎÉ/ÐÁÒÏÌÑ ×ÏÚ×ÒÁÝÁÌÁÓØ 500-ÁÑ ÏÛÉÂËÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔÙ ÍÏÄÕÌÑ ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌÉ × - ÐÏÄÚÁÐÒÏÓÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÍÏÄÕÌÅ ngx_http_limit_req_module. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.4 22.06.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.3. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.3 19.06.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $upstream_cache_status. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOSX 10.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.8.2. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÅÒÅÈ×ÁÔ 401 ÏÛÉÂËÉ ÏÔ ÂÜËÅÎÄÁ É - ÂÜËÅÎÄ ÎÅ ×ÏÚ×ÒÁÝÁÌ ÓÔÒÏËÕ "WWW-Authenticate" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ, ÔÏ - × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - óÐÁÓÉÂÏ å×ÇÅÎÉÀ íÙÞÌÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.2 15.06.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÚÁÉÍÏÄÅÊÓÔ×ÉÉ open_file_cache É proxy/fastcgi ËÜÛÁ - ÎÁ ÓÔÁÒÔÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: open_file_cache ÍÏÇ ËÜÛÉÒÏ×ÁÔØ ÏÔËÒÙÔÙÅ ÆÁÊÌÙ ÏÞÅÎØ - ÄÏÌÇÏ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.4. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.1 08.06.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ updating × ÄÉÒÅËÔÉ×ÁÈ proxy_cache_use_stale É +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.7 27.07.2009 + + *) Изменение: Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ OpenSSL - 0.9.7. + + *) Изменение: параметр ask директивы ssl_verify_client изменён на + параметр optional и теперь он проверÑет клиентÑкий Ñертификат, еÑли + он был предложен. + СпаÑибо Brice Figureau. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $ssl_client_verify. + СпаÑибо Brice Figureau. + + *) Добавление: директива ssl_crl. + СпаÑибо Brice Figureau. + + *) Добавление: параметр proxy директивы geo. + + *) Добавление: директива image_filter поддерживает переменные Ð´Ð»Ñ + Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð². + + *) ИÑправление: иÑпользование переменной $ssl_client_cert портило + памÑÑ‚ÑŒ; ошибка поÑвилаÑÑŒ в 0.7.7. + СпаÑибо Сергею Журавлёву. + + *) ИÑправление: директивы proxy_pass_header и fastcgi_pass_header" не + передавали клиенту Ñтроки "X-Accel-Redirect", "X-Accel-Limit-Rate", + "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бÑкенда. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в обработке Ñтрок "Last-Modified" и "Accept-Ranges" в + заголовке ответа бÑкенда; ошибка поÑвилаÑÑŒ в 0.7.44. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: ошибки "[alert] zero size buf" при получении пуÑÑ‚Ñ‹Ñ… + ответы в подзапроÑах; ошибка поÑвилаÑÑŒ в 0.8.5. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.6 20.07.2009 + + *) Добавление: модуль ngx_http_geoip_module. + + *) ИÑправление: XSLT-фильтр мог выдавать ошибку "not well formed XML + document" Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð³Ð¾ документа. + СпаÑибо Kuramoto Eiji. + + *) ИÑправление: в MacOSX, Cygwin и nginx/Windows при проверке + location'ов, заданных регулÑрным выражением, теперь вÑегда делаетÑÑ + Ñравнение без учёта региÑтра Ñимволов. + + *) ИÑправление: теперь nginx/Windows игнорирует точки в конце URI. + СпаÑибо Hugo Leisink. + + *) ИÑправление: Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° указанного в --conf-path игнорировалоÑÑŒ при + уÑтановке; ошибка поÑвилаÑÑŒ в 0.6.6. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.5 13.07.2009 + + *) ИÑправление: теперь nginx разрешает Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð² методе запроÑа. + + *) ИÑправление: при иÑпользовании HTTP Basic-аутентификации на Windows + Ð´Ð»Ñ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ñ… имени/Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°Ð»Ð°ÑÑŒ 500-Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. + + *) ИÑправление: ответы Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_perl_module не работали в + подзапроÑах. + + *) ИÑправление: в модуле ngx_http_limit_req_module. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.4 22.06.2009 + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-http-cache; + ошибка поÑвилаÑÑŒ в 0.8.3. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.3 19.06.2009 + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_cache_status. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° MacOSX 10.6. + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-http-cache; + ошибка поÑвилаÑÑŒ в 0.8.2. + + *) ИÑправление: еÑли иÑпользовалÑÑ Ð¿ÐµÑ€ÐµÑ…Ð²Ð°Ñ‚ 401 ошибки от бÑкенда и + бÑкенд не возвращал Ñтроку "WWW-Authenticate" в заголовке ответа, то + в рабочем процеÑÑе проиÑходил segmentation fault. + СпаÑибо Евгению Мычло. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.2 15.06.2009 + + *) ИÑправление: во взаимодейÑтвии open_file_cache и proxy/fastcgi кÑша + на Ñтарте. + + *) ИÑправление: open_file_cache мог кÑшировать открытые файлы очень + долго; ошибка поÑвилаÑÑŒ в 0.7.4. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.1 08.06.2009 + + *) Добавление: параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÉ "If-Modified-Since", "If-Range" É ÉÍ ÐÏÄÏÂÎÙÅ × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÐÅÒÅÄÁ×ÁÌÉÓØ ÂÜËÅÎÄÕ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ, ÅÓÌÉ - ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÄÉÒÅËÔÉ×Á proxy_set_header Ó ÌÀÂÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÉ "Set-Cookie" É "P3P" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ - ÎÅ ÓËÒÙ×ÁÌÉÓØ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ, ÅÓÌÉ ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù - proxy_hide_header/fastcgi_hide_header Ó ÌÀÂÙÍÉ ÐÁÒÁÍÅÔÒÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_image_filter_module ÎÅ ÐÏÎÉÍÁÌ ÆÏÒÍÁÔ + *) ИÑправление: Ñтроки "If-Modified-Since", "If-Range" и им подобные в + заголовке запроÑа клиента передавалиÑÑŒ бÑкенду при кÑшировании, еÑли + не иÑпользовалаÑÑŒ директива proxy_set_header Ñ Ð»ÑŽÐ±Ñ‹Ð¼Ð¸ параметрами. + + *) ИÑправление: Ñтроки "Set-Cookie" и "P3P" в заголовке ответа бÑкенда + не ÑкрывалиÑÑŒ при кÑшировании, еÑли не иÑпользовалиÑÑŒ директивы + proxy_hide_header/fastcgi_hide_header Ñ Ð»ÑŽÐ±Ñ‹Ð¼Ð¸ параметрами. + + *) ИÑправление: модуль ngx_http_image_filter_module не понимал формат GIF87a. - óÐÁÓÉÂÏ äÅÎÉÓÕ éÌØÉÎÙÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris 10 É ÂÏÌÅÅ ÒÁÎÎÉÈ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.56. - - -éÚÍÅÎÅÎÉÑ × nginx 0.8.0 02.06.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á keepalive_requests. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_rate_after. - óÐÁÓÉÂÏ Ivan Debnar. - - *) éÓÐÒÁ×ÌÅÎÉÅ: XSLT-ÆÉÌØÔÒ ÎÅ ÒÁÂÏÔÁÌ × ÐÏÄÚÁÐÒÏÓÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÂÒÁÂÏÔËÅ ÏÔÎÏÓÉÔÅÌØÎÙÈ ÐÕÔÅÊ × nginx/Windows. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × proxy_store, fastcgi_store, proxy_cache É - fastcgi_cache × nginx/Windows. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ ÏÛÉÂÏË ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ É ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.59 25.05.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_cache_methods É fastcgi_cache_methods. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $request_body × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÚÁÐÒÏÓÅ ÎÅ ÂÙÌÏ ÔÅÌÁ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.58. - - *) éÓÐÒÁ×ÌÅÎÉÅ: SSL-ÍÏÄÕÌÉ ÍÏÇÌÉ ÎÅ ÓÏÂÉÒÁÔØÓÑ ÎÁ Solaris É Linux; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.56. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔÙ ÍÏÄÕÌÑ ngx_http_xslt_filter_module ÎÅ - ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ SSI-, charset- É gzip-ÆÉÌØÔÒÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á charset ÎÅ ÓÔÁ×ÉÌÁ ËÏÄÉÒÏ×ËÕ ÄÌÑ ÏÔ×ÅÔÏ× - ÍÏÄÕÌÑ ngx_http_gzip_static_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.58 18.05.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÐÏÄÄÅÒÖÉ×ÁÅÔ + СпаÑибо ДениÑу Ильиных. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Solaris 10 и более ранних; ошибка + поÑвилаÑÑŒ в 0.7.56. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.8.0 02.06.2009 + + *) Добавление: директива keepalive_requests. + + *) Добавление: директива limit_rate_after. + СпаÑибо Ivan Debnar. + + *) ИÑправление: XSLT-фильтр не работал в подзапроÑах. + + *) ИÑправление: обработке отноÑительных путей в nginx/Windows. + + *) ИÑправление: в proxy_store, fastcgi_store, proxy_cache и + fastcgi_cache в nginx/Windows. + + *) ИÑправление: в обработке ошибок Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼Ñти. + СпаÑибо МакÑиму Дунину и Кириллу КоринÑкому. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.59 25.05.2009 + + *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods. + + *) ИÑправление: утечки Ñокетов; ошибка поÑвилаÑÑŒ в 0.7.25. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: при иÑпользовании переменной $request_body в рабочем + процеÑÑе проиÑходил segmentation fault, еÑли в запроÑе не было тела; + ошибка поÑвилаÑÑŒ в 0.7.58. + + *) ИÑправление: SSL-модули могли не ÑобиратьÑÑ Ð½Ð° Solaris и Linux; + ошибка поÑвилаÑÑŒ в 0.7.56. + + *) ИÑправление: ответы Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_xslt_filter_module не + обрабатывалиÑÑŒ SSI-, charset- и gzip-фильтрами. + + *) ИÑправление: директива charset не Ñтавила кодировку Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð² + Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_gzip_static_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.58 18.05.2009 + + *) Добавление: директива listen почтового прокÑи-Ñервера поддерживает IPv6. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á image_filter_jpeg_quality. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á client_body_in_single_buffer. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $request_body. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÍÏÄÕÌÅ ngx_http_autoindex_module × ÓÓÙÌËÁÈ ÎÁ ÉÍÅÎÁ - ÆÁÊÌÏ×, ÓÏÄÅÒÖÁÝÉÈ ÓÉÍ×ÏÌ ":". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÃÅÄÕÒÁ "make upgrade" ÎÅ ÒÁÂÏÔÁÌÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.7.53. - óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.57 12.05.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂÏË ÍÏÄÕÌÑ - ngx_http_image_filter_module × ÉÍÅÎÏ×ÁÎÎÙÊ location × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ floating-point fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.56. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.56 11.05.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: nginx/Windows ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6 × ÄÉÒÅËÔÉ×Å listen - ÍÏÄÕÌÑ HTTP. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÍÏÄÕÌÅ ngx_http_image_filter_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.55 06.05.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ http_XXX × ÄÉÒÅËÔÉ×ÁÈ proxy_cache_use_stale É - fastcgi_cache_use_stale ÎÅ ÒÁÂÏÔÁÌÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: fastcgi ËÜÛ ÎÅ ËÜÛÉÒÏ×ÁÌ ÏÔ×ÅÔÙ, ÓÏÓÔÏÑÝÉÅ ÔÏÌØËÏ ÉÚ - ÚÁÇÏÌÏ×ËÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "select() failed (9: Bad file descriptor)" × - nginx/Unix É "select() failed (10038: ...)" × nginx/Windows. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù debug_connection × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.54. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÓÂÏÒËÅ ÍÏÄÕÌÑ ngx_http_image_filter_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÆÁÊÌÙ ÂÏÌØÛÅ 2G ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ + *) Добавление: директива image_filter_jpeg_quality. + + *) Добавление: директива client_body_in_single_buffer. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_body. + + *) ИÑправление: в модуле ngx_http_autoindex_module в ÑÑылках на имена + файлов, Ñодержащих Ñимвол ":". + + *) ИÑправление: процедура "make upgrade" не работала; ошибка поÑвилаÑÑŒ в + 0.7.53. + СпаÑибо ДениÑу Латыпову. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.57 12.05.2009 + + *) ИÑправление: при перенаправлении ошибок Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_image_filter_module в именованный location в рабочем + процеÑÑе проиÑходил floating-point fault; ошибка поÑвилаÑÑŒ в 0.7.56. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.56 11.05.2009 + + *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen Ð¼Ð¾Ð´ÑƒÐ»Ñ + HTTP. + + *) ИÑправление: в модуле ngx_http_image_filter_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.55 06.05.2009 + + *) ИÑправление: параметры http_XXX в директивах proxy_cache_use_stale и + fastcgi_cache_use_stale не работали. + + *) ИÑправление: fastcgi кÑш не кÑшировал ответы, ÑоÑтоÑщие только из + заголовка. + + *) ИÑправление: ошибки "select() failed (9: Bad file descriptor)" в + nginx/Unix и "select() failed (10038: ...)" в nginx/Windows. + + *) ИÑправление: при иÑпользовании директивы debug_connection в рабочем + процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.7.54. + + *) ИÑправление: в Ñборке Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_image_filter_module. + + *) ИÑправление: файлы больше 2G не передавалиÑÑŒ Ñ Ð¸Ñпользованием $r->sendfile. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.54 01.05.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_image_filter_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_ignore_headers É fastcgi_ignore_headers. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ "open_file_cache_errors - on" × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.53. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "port_in_redirect off" ÎÅ ÒÁÂÏÔÁÌÁ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.39. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÉÅ ÏÂÒÁÂÏÔËÉ ÏÛÉÂÏË ÍÅÔÏÄÁ select. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "select() failed (10022: ...)" × nginx/Windows. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÔÅËÓÔÏ×ÙÈ ÓÏÏÂÝÅÎÉÑÈ Ï ÏÛÉÂËÁÈ × nginx/Windows; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.53. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.53 27.04.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÌÏÇ, ÕËÁÚÁÎÎÙÊ × --error-log-path, ÓÏÚÄÁ£ÔÓÑ Ó - ÓÁÍÏÇÏ ÎÁÞÁÌÁ ÒÁÂÏÔÙ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÏÛÉÂËÉ É ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ ÐÒÉ ÓÔÁÒÔÅ ÚÁÐÉÓÙ×ÁÀÔÓÑ × - error_log É ×Ù×ÏÄÑÔÓÑ ÎÁ stderr. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÒÉ ÓÂÏÒËÅ Ó ÐÕÓÔÙÍ ÐÁÒÁÍÅÔÒÏÍ --prefix= nginx - ÉÓÐÏÌØÚÕÅÔ ËÁË ÐÒÅÆÉËÓ ËÁÔÁÌÏÇ, × ËÏÔÏÒÏÍ ÏÎ ÂÙÌ ÚÁÐÕÝÅÎ. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -p. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -s ÎÁ Unix-ÐÌÁÔÆÏÒÍÁÈ. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞÉ -? É -h. - óÐÁÓÉÂÏ Jerome Loyet. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ËÌÀÞÉ ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ × ÓÖÁÔÏÊ ÆÏÒÍÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx/Windows ÎÅ ÒÁÂÏÔÁÌ, ÅÓÌÉ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ ÂÙÌ - ÚÁÄÁÎ ËÌÀÞÏÍ -c. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ× proxy_store, fastcgi_store, - proxy_cache ÉÌÉ fastcgi_cache ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ ÍÏÇÌÉ ÎÅ ÕÄÁÌÑÔØÓÑ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÚÁÇÏÌÏ×ËÅ Auth-Method ÚÁÐÒÏÓÁ ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ - ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÐÅÒÅÄÁ×ÁÌÏÓØ ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.34. - óÐÁÓÉÂÏ Simon Lecaille. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÌÏÇÇÉÒÏ×ÁÎÉÉ ÎÁ Linux ÎÅ ÐÉÓÁÌÉÓØ ÔÅËÓÔÏ×ÙÅ - ÏÐÉÓÁÎÉÑ ÓÉÓÔÅÍÎÙÈ ÏÛÉÂÏË; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.45. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_cache_min_uses ÎÅ ÒÁÂÏÔÁÌÁ. - óÐÁÓÉÂÏ áÎÄÒÅÀ ÷ÏÒÏÂØ£×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.52 20.04.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒ×ÁÑ ÂÉÎÁÒÎÁÑ ×ÅÒÓÉÑ ÐÏÄ Windows. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÍÅÔÏÄÁ HEAD ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÓÔÒÏË "If-Modified-Since", - "If-Range" É ÉÍ ÐÏÄÏÂÎÙÈ × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÓÔÒÏËÉ "Set-Cookie" É "P3P" ÓËÒÙ×ÁÀÔÓÑ × - ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÄÌÑ ÚÁËÜÛÉÒÏ×ÁÎÎÙÈ ÏÔ×ÅÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É - perl ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ, ÔÏ ÐÒÉ ×ÙÈÏÄÅ ÏÓÎÏ×ÎÏÇÏ ÐÒÏÃÅÓÓÁ ÍÏÇÌÁ - ×ÙÄÁ×ÁÔØÓÑ ÏÛÉÂËÁ "panic: MUTEX_LOCK". - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-http-cache; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.48. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, - amd64, sparc É ppc; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.51 12.04.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á try_files ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÄ ÏÔ×ÅÔÁ × ÐÏÓÌÅÄÎÅÍ - ÐÁÒÁÍÅÔÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ × ÄÉÒÅËÔÉ×Å return ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÏÊ ËÏÄ - ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÄÅÌÁÌÁ ×ÎÅÛÎÉÊ ÒÅÄÉÒÅËÔ ÂÅÚ ÓÔÒÏËÉ - ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÓÅÒ×ÅÒÁ ÓÌÕÛÁÌÉ ÎÁ ÎÅÓËÏÌØËÉÈ Ñ×ÎÏ ÏÐÉÓÁÎÎÙÈ - ÁÄÒÅÓÁÈ, ÔÏ ×ÉÒÔÕÁÌØÎÙÅ ÓÅÒ×ÅÒÁ ÍÏÇÌÉ ÎÅ ÒÁÂÏÔÁÔØ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.7.39. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.50 06.04.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $arg_... ÎÅ ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.54 01.05.2009 + + *) Добавление: модуль ngx_http_image_filter_module. + + *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers. + + *) ИÑправление: при иÑпользовании переменных "open_file_cache_errors on" + в рабочем процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ + в 0.7.53. + + *) ИÑправление: директива "port_in_redirect off" не работала; ошибка + поÑвилаÑÑŒ в 0.7.39. + + *) ИÑправление: улучшение обработки ошибок метода select. + + *) ИÑправление: ошибки "select() failed (10022: ...)" в nginx/Windows. + + *) ИÑправление: в текÑтовых ÑообщениÑÑ… об ошибках в nginx/Windows; + ошибка поÑвилаÑÑŒ в 0.7.53. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.53 27.04.2009 + + *) Изменение: теперь лог, указанный в --error-log-path, ÑоздаётÑÑ Ñ + Ñамого начала работы. + + *) Добавление: теперь ошибки и Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñтарте запиÑываютÑÑ Ð² + error_log и выводÑÑ‚ÑÑ Ð½Ð° stderr. + + *) Добавление: при Ñборке Ñ Ð¿ÑƒÑтым параметром --prefix= nginx иÑпользует + как Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³, в котором он был запущен. + + *) Добавление: ключ -p. + + *) Добавление: ключ -s на Unix-платформах. + + *) Добавление: ключи -? и -h. + СпаÑибо Jerome Loyet. + + *) Добавление: теперь ключи можно задавать в Ñжатой форме. + + *) ИÑправление: nginx/Windows не работал, еÑли файл конфигурации был + задан ключом -c. + + *) ИÑправление: при иÑпользовании директив proxy_store, fastcgi_store, + proxy_cache или fastcgi_cache временные файлы могли не удалÑÑ‚ÑŒÑÑ. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в заголовке Auth-Method запроÑа Ñерверу аутентификации + почтового прокÑи-Ñервера передавалоÑÑŒ неверное значение; ошибка + поÑвилаÑÑŒ в 0.7.34. + СпаÑибо Simon Lecaille. + + *) ИÑправление: при логгировании на Linux не пиÑалиÑÑŒ текÑтовые опиÑÐ°Ð½Ð¸Ñ + ÑиÑтемных ошибок; ошибка поÑвилаÑÑŒ в 0.7.45. + + *) ИÑправление: директива fastcgi_cache_min_uses не работала. + СпаÑибо Ðндрею Воробьёву. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.52 20.04.2009 + + *) Добавление: Ð¿ÐµÑ€Ð²Ð°Ñ Ð±Ð¸Ð½Ð°Ñ€Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¿Ð¾Ð´ Windows. + + *) ИÑправление: ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° метода HEAD при кÑшировании. + + *) ИÑправление: ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° Ñтрок "If-Modified-Since", + "If-Range" и им подобных в заголовке запроÑа клиента при кÑшировании. + + *) ИÑправление: теперь Ñтроки "Set-Cookie" и "P3P" ÑкрываютÑÑ Ð² + заголовке ответа Ð´Ð»Ñ Ð·Ð°ÐºÑшированных ответов. + + *) ИÑправление: еÑли nginx был Ñобран Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_perl_module и + perl поддерживал потоки, то при выходе оÑновного процеÑÑа могла + выдаватьÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° "panic: MUTEX_LOCK". + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-http-cache; + ошибка поÑвилаÑÑŒ в 0.7.48. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформах, отличных от i386, + amd64, sparc и ppc; ошибка поÑвилаÑÑŒ в 0.7.42. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.51 12.04.2009 + + *) Добавление: директива try_files поддерживает код ответа в поÑледнем + параметре. + + *) Добавление: теперь в директиве return можно иÑпользовать любой код + ответа. + + *) ИÑправление: директива error_page делала внешний редирект без Ñтроки + запроÑа; ошибка поÑвилаÑÑŒ в 0.7.44. + + *) ИÑправление: еÑли Ñервера Ñлушали на неÑкольких Ñвно опиÑанных + адреÑах, то виртуальные Ñервера могли не работать; ошибка поÑвилаÑÑŒ в + 0.7.39. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.50 06.04.2009 + + *) ИÑправление: переменные $arg_... не работали; ошибка поÑвилаÑÑŒ в 0.7.49. -éÚÍÅÎÅÎÉÑ × nginx 0.7.49 06.04.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $arg_... × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.48. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.48 06.04.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_cache_key. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÕÞÉÔÙ×ÁÅÔ ÐÒÉ ËÜÛÉÒÏ×ÁÎÉÉ ÓÔÒÏËÉ - "X-Accel-Expires", "Expires" É "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ - ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ËÜÛÉÒÕÅÔ ÔÏÌØËÏ ÏÔ×ÅÔÙ ÎÁ ÚÁÐÒÏÓÙ GET. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_cache_key ÎÅ ÎÁÓÌÅÄÏ×ÁÌÁÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $arg_... ÎÅ ÒÁÂÏÔÁÌÉ Ó SSI-ÐÏÄÚÁÐÒÏÓÁÍÉ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÂÉÂÌÉÏÔÅËÏÊ uclibc. - óÐÁÓÉÂÏ Timothy Redaelli. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ OpenBSD; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.7.46. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.47 01.04.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ FreeBSD 6 É ÂÏÌÅÅ ÒÁÎÎÉÈ ×ÅÒÓÉÑÈ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOSX; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÁÒÁÍÅÔÒ max_size, ÔÏ cache manager - ÍÏÇ ÕÄÁÌÉÔØ ×ÅÓØ ËÜÛ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.46. - - *) éÚÍÅÎÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault, ÅÓÌÉ - ÄÉÒÅËÔÉ×Ù proxy_cache/fastcgi_cache É proxy_cache_valid/ - fastcgi_cache_valid ÎÅ ÂÙÌÉ ÚÁÄÁÎÙ ÎÁ ÏÄÎÏÍ ÕÒÏ×ÎÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.7.46. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault ÐÒÉ - ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÐÒÏËÓÉÒÏ×ÁÎÎÏÍÕ ÉÌÉ FastCGI-ÓÅÒ×ÅÒÕ Ó - ÐÏÍÏÝØÀ error_page ÉÌÉ try_files; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.46 30.03.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÁÒÈÉ× ÐÒÅÄÙÄÕÝÅÇÏ ÒÅÌÉÚÁ ÂÙÌ ÎÅ×ÅÒÎÙÍ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.45 30.03.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù proxy_cache É proxy_cache_valid ÍÏÖÎÏ - ÚÁÄÁ×ÁÔØ ÎÁ ÒÁÚÎÙÈ ÕÒÏ×ÎÑÈ. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ clean_time × ÄÉÒÅËÔÉ×Å proxy_cache_path ÕÄÁÌ£Î. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ max_size × ÄÉÒÅËÔÉ×Å proxy_cache_path. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ ËÜÛÉÒÏ×ÁÎÉÑ × ÍÏÄÕÌÅ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.49 06.04.2009 + + *) ИÑправление: при иÑпользовании переменных $arg_... в рабочем процеÑÑе + мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.7.48. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.48 06.04.2009 + + *) Добавление: директива proxy_cache_key. + + *) ИÑправление: теперь nginx учитывает при кÑшировании Ñтроки + "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа + бÑкенда. + + *) ИÑправление: теперь nginx кÑширует только ответы на запроÑÑ‹ GET. + + *) ИÑправление: директива fastcgi_cache_key не наÑледовалаÑÑŒ. + + *) ИÑправление: переменные $arg_... не работали Ñ SSI-подзапроÑами. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¾Ð¹ uclibc. + СпаÑибо Timothy Redaelli. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° OpenBSD; ошибка поÑвилаÑÑŒ + в 0.7.46. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.47 01.04.2009 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° FreeBSD 6 и более ранних верÑиÑÑ…; + ошибка поÑвилаÑÑŒ в 0.7.46. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° MacOSX; ошибка поÑвилаÑÑŒ в 0.7.46. + + *) ИÑправление: еÑли иÑпользовалÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ max_size, то cache manager + мог удалить веÑÑŒ кÑш; ошибка поÑвилаÑÑŒ в 0.7.46. + + *) Изменение: в рабочем процеÑÑе мог произойти segmentation fault, еÑли + директивы proxy_cache/fastcgi_cache и proxy_cache_valid/ + fastcgi_cache_valid не были заданы на одном уровне; ошибка поÑвилаÑÑŒ + в 0.7.46. + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault при + перенаправлении запроÑа прокÑированному или FastCGI-Ñерверу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + error_page или try_files; ошибка поÑвилаÑÑŒ в 0.7.44. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.46 30.03.2009 + + *) ИÑправление: архив предыдущего релиза был неверным. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.45 30.03.2009 + + *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно + задавать на разных уровнÑÑ…. + + *) Изменение: параметр clean_time в директиве proxy_cache_path удалён. + + *) Добавление: параметр max_size в директиве proxy_cache_path. + + *) Добавление: Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° кÑÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² модуле ngx_http_fastcgi_module. - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÏÛÉÂËÁÈ ×ÙÄÅÌÅÎÉÑ × ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ × ÌÏÇÅ - ÕËÁÚÙ×ÁÀÔÓÑ ÎÁÚ×ÁÎÉÑ ÄÉÒÅËÔÉ×Ù É ÚÏÎÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "add_header last-modified ''" ÎÅ ÕÄÁÌÑÌÁ × - ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÓÔÒÏËÕ "Last-Modified"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.44. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å auth_basic_user_file ÎÅ ÒÁÂÏÔÁÌ - ÏÔÎÏÓÉÔÅÌØÎÙÊ ÐÕÔØ, ÚÁÄÁÎÎÙÊ ÓÔÒÏËÏÊ ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.44. - óÐÁÓÉÂÏ Jerome Loyet. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å alias, ÚÁÄÁÎÎÏÊ ÐÅÒÅÍÅÎÎÙÍÉ ÂÅÚ ÓÓÙÌÏË ÎÁ - ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.44 23.03.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ ËÜÛÉÒÏ×ÁÎÉÑ × ÍÏÄÕÌÅ + *) Добавление: теперь при ошибках Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² разделÑемой памÑти в логе + указываютÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ и зоны. + + *) ИÑправление: директива "add_header last-modified ''" не удалÑла в + заголовке ответа Ñтроку "Last-Modified"; ошибка поÑвилаÑÑŒ в 0.7.44. + + *) ИÑправление: в директиве auth_basic_user_file не работал + отноÑительный путь, заданный Ñтрокой без переменных; ошибка поÑвилаÑÑŒ + в 0.7.44. + СпаÑибо Jerome Loyet. + + *) ИÑправление: в директиве alias, заданной переменными без ÑÑылок на + Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ…; ошибка поÑвилаÑÑŒ в 0.7.42. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.44 23.03.2009 + + *) Добавление: Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° кÑÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² модуле ngx_http_proxy_module. - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ --with-pcre × configure. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á try_files ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ÎÁ - ÕÒÏ×ÎÅ server. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á try_files ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÁ ÓÔÒÏËÕ - ÚÁÐÒÏÓÁ × ÐÏÓÌÅÄÎÅÍ ÐÁÒÁÍÅÔÒÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á try_files ÍÏÇÌÁ ÎÅ×ÅÒÎÏ ÔÅÓÔÉÒÏ×ÁÔØ ËÁÔÁÌÏÇÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÌÑ ÐÁÒÙ ÁÄÒÅÓ:ÐÏÒÔ ÏÐÉÓÁÎ ÔÏÌØËÏ ÏÄÉÎ ÓÅÒ×ÅÒ, ÔÏ - ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ÄÉÒÅËÔÉ×Å server_name ÎÅ - ÒÁÂÏÔÁÌÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.43 18.03.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁÐÒÏÓ ÏÂÒÁÂÁÔÙ×ÁÌÓÑ ÎÅ×ÅÒÎÏ, ÅÓÌÉ ÄÉÒÅËÔÉ×Á root - ÉÓÐÏÌØÚÏ×ÁÌÁ ÐÅÒÅÍÅÎÎÙÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.42. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÓÅÒ×ÅÒ ÓÌÕÛÁÌ ÎÁ ÁÄÒÅÓÁÈ ÔÉÐÁ "*", ÔÏ ÚÎÁÞÅÎÉÅ - ÐÅÒÅÍÅÎÎÏÊ $server_addr ÂÙÌÏ "0.0.0.0"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.36. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.42 16.03.2009 - - *) éÚÍÅÎÅÎÉÅ: ÏÛÉÂËÁ "Invalid argument", ×ÏÚ×ÒÁÝÁÅÍÁÑ - setsockopt(TCP_NODELAY) ÎÁ Solaris, ÔÅÐÅÒØ ÉÇÎÏÒÉÒÕÅÔÓÑ. - - *) éÚÍÅÎÅÎÉÅ: ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÆÁÊÌÁ, ÕËÁÚÁÎÎÏÇÏ × ÄÉÒÅËÔÉ×Å - auth_basic_user_file, ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔÓÑ ÏÛÉÂËÁ 403 ×ÍÅÓÔÏ 500. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á auth_basic_user_file ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - óÐÁÓÉÂÏ ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ ipv6only. - óÐÁÓÉÂÏ Zhang Hua. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å alias ÓÏ ÓÓÙÌËÁÍÉ ÎÁ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ - ×ÙÒÁÖÅÎÉÑÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.40. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó Tru64 UNIX. - óÐÁÓÉÂÏ Dustin Marquess. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.41. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.41 11.03.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault, - ÅÓÌÉ × server_name ÉÌÉ location ÂÙÌÉ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ - ×ÙÒÁÖÅÎÉÑÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.40. - óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ óÏÐÏÔÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.40 09.03.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á location ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ - ×ÙÒÁÖÅÎÉÑÈ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Õ alias Ó ÓÓÙÌËÁÍÉ ÎÁ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ - ×ÙÒÁÖÅÎÉÑÈ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ location'Á, ÚÁÄÁÎÎÏÇÏ - ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ Ó ×ÙÄÅÌÅÎÉÑÍÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × - ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ. - - *) éÚÍÅÎÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏËÁÚÙ×ÁÌ ÐÏÓÌÅÄÎÉÊ - ÓÌÜÛ ÄÌÑ ËÁÔÁÌÏÇÏ× ÎÁ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ XFS; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) Добавление: параметр --with-pcre в configure. + + *) Добавление: теперь директива try_files может быть иÑпользована на + уровне server. + + *) ИÑправление: директива try_files неправильно обрабатывала Ñтроку + запроÑа в поÑледнем параметре. + + *) ИÑправление: директива try_files могла неверно теÑтировать каталоги. + + *) ИÑправление: еÑли Ð´Ð»Ñ Ð¿Ð°Ñ€Ñ‹ адреÑ:порт опиÑан только один Ñервер, то + Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ… в директиве server_name не + работали. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.43 18.03.2009 + + *) ИÑправление: Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ð»ÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾, еÑли директива root + иÑпользовала переменные; ошибка поÑвилаÑÑŒ в 0.7.42. + + *) ИÑправление: еÑли Ñервер Ñлушал на адреÑах типа "*", то значение + переменной $server_addr было "0.0.0.0"; ошибка поÑвилаÑÑŒ в 0.7.36. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.42 16.03.2009 + + *) Изменение: ошибка "Invalid argument", Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ð°Ñ + setsockopt(TCP_NODELAY) на Solaris, теперь игнорируетÑÑ. + + *) Изменение: при отÑутÑтвии файла, указанного в директиве + auth_basic_user_file, теперь возвращаетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° 403 вмеÑто 500. + + *) Добавление: директива auth_basic_user_file поддерживает переменные. + СпаÑибо Кириллу КоринÑкому. + + *) Добавление: директива listen поддерживает параметр ipv6only. + СпаÑибо Zhang Hua. + + *) ИÑправление: в директиве alias Ñо ÑÑылками на Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ…; ошибка поÑвилаÑÑŒ в 0.7.40. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ Tru64 UNIX. + СпаÑибо Dustin Marquess. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· библиотеки PCRE; ошибка поÑвилаÑÑŒ + в 0.7.41. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.41 11.03.2009 + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault, + еÑли в server_name или location были Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ…; ошибка поÑвилаÑÑŒ в 0.7.40. + СпаÑибо Владимиру Сопоту. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.40 09.03.2009 + + *) Добавление: директива location поддерживает Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ…. + + *) Добавление: директиву alias Ñ ÑÑылками на Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ… можно иÑпользовать внутри location'а, заданного регулÑрным + выражением Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñми. + + *) Добавление: директива server_name поддерживает Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ…. + + *) Изменение: модуль ngx_http_autoindex_module не показывал поÑледний + ÑлÑш Ð´Ð»Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð² на файловой ÑиÑтеме XFS; ошибка поÑвилаÑÑŒ в 0.7.15. - óÐÁÓÉÂÏ äÍÉÔÒÉÀ ëÕÚØÍÅÎËÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.39 02.03.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞ£ÎÎÏÍ ÓÖÁÔÉÉ ÂÏÌØÛÉÅ ÏÔ×ÅÔÙ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ - SSI ÍÏÇÌÉ ÚÁ×ÉÓÁÔØ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.28. - óÐÁÓÉÂÏ áÒÔ£ÍÕ âÏÈÁÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÒÏÔËÉÈ ÓÔÁÔÉÞÅÓËÉÈ ×ÁÒÉÁÎÔÏ× × - ÄÉÒÅËÔÉ×Å try_files × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation + СпаÑибо Дмитрию Кузьменко. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.39 02.03.2009 + + *) ИÑправление: при включённом Ñжатии большие ответы Ñ Ð¸Ñпользованием + SSI могли завиÑать; ошибка поÑвилаÑÑŒ в 0.7.28. + СпаÑибо Ðртёму Бохану. + + *) ИÑправление: при иÑпользовании коротких ÑтатичеÑких вариантов в + директиве try_files в рабочем процеÑÑе мог произойти segmentation fault. -éÚÍÅÎÅÎÉÑ × nginx 0.7.38 23.02.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÌÏÇÇÉÒÏ×ÁÎÉÅ ÏÛÉÂÏË ÁÕÔÅÎÔÉÆÉËÁÃÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÍÑ/ÐÁÒÏÌØ, ÚÁÄÁÎÎÙÅ × auth_basic_user_file, - ÉÇÎÏÒÉÒÏ×ÁÌÉÓØ ÐÏÓÌÅ ÎÅÞ£ÔÎÏÇÏ ÞÉÓÌÁ ÐÕÓÔÙÈ ÓÔÒÏË. - óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ úÁÇÒÅÂÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÌÉÎÎÏÇÏ ÐÕÔÉ × unix domain ÓÏËÅÔÅ × - ÇÌÁ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.38 23.02.2009 + + *) Добавление: логгирование ошибок аутентификации. + + *) ИÑправление: имÑ/пароль, заданные в auth_basic_user_file, + игнорировалиÑÑŒ поÑле нечётного чиÑла пуÑÑ‚Ñ‹Ñ… Ñтрок. + СпаÑибо ÐлекÑандру Загребину. + + *) ИÑправление: при иÑпользовании длинного пути в unix domain Ñокете в + главном процеÑÑе проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.7.36. -éÚÍÅÎÅÎÉÑ × nginx 0.7.37 21.02.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù, ÉÓÐÏÌØÚÕÀÝÉÅ upstream'Ù, ÎÅ ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.36. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.36 21.02.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÒÅÄ×ÁÒÉÔÅÌØÎÁÑ ÐÏÄÄÅÒÖËÁ IPv6; ÄÉÒÅËÔÉ×Á listen ÍÏÄÕÌÑ - HTTP ÐÏÄÄÅÒÖÉ×ÁÅÔ IPv6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $ancient_browser ÎÅ ÒÁÂÏÔÁÌÁ ÄÌÑ ÂÒÁÕÚÅÒÏ×, - ÚÁÄÁÎÎÙÈ ÄÉÒÅËÔÉ×ÁÍÉ modern_browser. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.35 16.02.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_engine ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÁ SSL-ÁËÓÅÌÅÒÁÔÏÒ - ÄÌÑ ÁÓÉÍÍÅÔÒÉÞÎÙÈ ÛÉÆÒÏ×. - óÐÁÓÉÂÏ Marcin Gozdalik. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á try_files ×ÙÓÔÁ×ÌÑÌÁ MIME-type, ÉÓÈÏÄÑ ÉÚ - ÒÁÓÛÉÒÅÎÉÑ ÐÅÒ×ÏÎÁÞÁÌØÎÏÇÏ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×ÁÈ server_name, valid_referers É map - ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÉÍÅÎÁ ×ÉÄÁ "*domain.tld", ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÁÓËÉ ×ÉÄÁ ".domain.tld" É ".subdomain.domain.tld"; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.9. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.34 10.02.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ off × ÄÉÒÅËÔÉ×Å if_modified_since. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÏÓÌÅ ËÏÍÁÎÄÙ XCLIENT nginx ÐÏÓÙÌÁÅÔ ËÏÍÁÎÄÕ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.37 21.02.2009 + + *) ИÑправление: директивы, иÑпользующие upstream'Ñ‹, не работали; ошибка + поÑвилаÑÑŒ в 0.7.36. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.36 21.02.2009 + + *) Добавление: Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° IPv6; директива listen Ð¼Ð¾Ð´ÑƒÐ»Ñ + HTTP поддерживает IPv6. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $ancient_browser не работала Ð´Ð»Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð¾Ð², + заданных директивами modern_browser. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.35 16.02.2009 + + *) ИÑправление: директива ssl_engine не иÑпользовала SSL-акÑелератор Ð´Ð»Ñ + аÑимметричных шифров. + СпаÑибо Marcin Gozdalik. + + *) ИÑправление: директива try_files выÑтавлÑла MIME-type, иÑÑ…Ð¾Ð´Ñ Ð¸Ð· + раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ запроÑа. + + *) ИÑправление: в директивах server_name, valid_referers и map + неправильно обрабатывалиÑÑŒ имена вида "*domain.tld", еÑли + иÑпользовалиÑÑŒ маÑки вида ".domain.tld" и ".subdomain.domain.tld"; + ошибка поÑвилаÑÑŒ в 0.7.9. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.34 10.02.2009 + + *) Добавление: параметр off в директиве if_modified_since. + + *) Добавление: теперь поÑле команды XCLIENT nginx поÑылает команду HELO/EHLO. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ Microsoft-ÓÐÅÃÉÆÉÞÎÏÇÏ ÒÅÖÉÍÁ - "AUTH LOGIN with User Name" × ÐÏÞÔÏ×ÏÍ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å rewrite, ×ÏÚ×ÒÁÝÁÀÝÅÊ ÒÅÄÉÒÅËÔ, ÓÔÁÒÙÅ - ÁÒÇÕÍÅÎÔÙ ÐÒÉÓÏÅÄÉÎÑÌÉÓØ Ë ÎÏ×ÙÍ ÞÅÒÅÚ ÓÉÍ×ÏÌ "?" ×ÍÅÓÔÏ "&"; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.18. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ AIX. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.33 02.02.2009 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÎÁ ÚÁÐÒÏÓ Ó ÔÅÌÏÍ ×ÏÚ×ÒÁÝÁÌÓÑ ÒÅÄÉÒÅËÔ, ÔÏ ÏÔ×ÅÔ - ÍÏÇ ÂÙÔØ Ä×ÏÊÎÙÍ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× epoll ÉÌÉ rtsig. - óÐÁÓÉÂÏ Eden Li. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÌÑ ÎÅËÏÔÏÒÙÈ ÔÉÐÏ× ÒÅÄÉÒÅËÔÏ× × ÐÅÒÅÍÅÎÎÏÊ - $sent_http_location ÂÙÌÏ ÐÕÓÔÏÅ ÚÎÁÞÅÎÉÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù resolver × SMTP - ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.32 26.01.2009 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ × ÄÉÒÅËÔÉ×Å try_files ÍÏÖÎÏ Ñ×ÎÏ ÕËÁÚÁÔØ ÐÒÏ×ÅÒËÕ - ËÁÔÁÌÏÇÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: fastcgi_store ÎÅ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÌ ÆÁÊÌÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÇÅÏ-ÄÉÁÐÁÚÏÎÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ×ÙÄÅÌÅÎÉÑ ÂÏÌØÛÉÈ ÂÌÏËÏ× × ÒÁÚÄÅÌÑÅÍÏÊ ÐÁÍÑÔÉ, - ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ ÂÅÚ ÏÔÌÁÄËÉ. - óÐÁÓÉÂÏ áÎÄÒÅÀ ë×ÁÓÏ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.31 19.01.2009 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á try_files ÐÒÏ×ÅÒÑÅÔ ÔÏÌØËÏ ÆÁÊÌÙ, - ÉÇÎÏÒÉÒÕÑ ËÁÔÁÌÏÇÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_split_path_info. - - *) éÓÐÒÁ×ÌÅÎÉÑ × ÐÏÄÄÅÒÖËÅ ÓÔÒÏËÉ "Expect" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÑ × ÇÅÏ-ÄÉÁÐÁÚÏÎÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÏÔÓÕÔÓÔ×ÉÉ ÏÔ×ÅÔÁ ngx_http_memcached_module - ×ÏÚ×ÒÁÝÁÌ × ÔÅÌÅ ÏÔ×ÅÔÁ ÓÔÒÏËÕ "END" ×ÍÅÓÔÏ 404-ÏÊ ÓÔÒÁÎÉÃÙ ÐÏ - ÕÍÏÌÞÁÎÉÀ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.18. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ SMPT nginx ×ÙÄÁ×ÁÌ ÓÏÏÂÝÅÎÉÅ - "250 2.0.0 OK" ×ÍÅÓÔÏ "235 2.0.0 OK"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.22. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.30 24.12.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ - × ÄÉÒÅËÔÉ×ÁÈ fastcgi_pass ÉÌÉ proxy_pass ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÐÅÒÅÍÅÎÎÙÅ É - ÉÍÑ ÈÏÓÔÁ ÄÏÌÖÎÏ ÂÙÌÏ ÒÅÚÏÌ×ÉÔØÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.29. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.29 24.12.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù fastcgi_pass É proxy_pass ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÉ - ÐÅÒÅÍÅÎÎÙÅ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ unix domain ÓÏËÅÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÑ × ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×; ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × 0.7.25. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔ "100 Continue" ×ÙÄÁ×ÁÌÓÑ ÄÌÑ ÚÁÐÒÏÓÏ× ×ÅÒÓÉÉ + СпаÑибо МакÑиму Дунину. + + *) Добавление: поддержка Microsoft-Ñпецифичного режима + "AUTH LOGIN with User Name" в почтовом прокÑи-Ñервере. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в директиве rewrite, возвращающей редирект, Ñтарые + аргументы приÑоединÑлиÑÑŒ к новым через Ñимвол "?" вмеÑто "&"; + ошибка поÑвилаÑÑŒ в 0.1.18. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° AIX. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.33 02.02.2009 + + *) ИÑправление: еÑли на Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ Ñ‚ÐµÐ»Ð¾Ð¼ возвращалÑÑ Ñ€ÐµÐ´Ð¸Ñ€ÐµÐºÑ‚, то ответ + мог быть двойным при иÑпользовании методов epoll или rtsig. + СпаÑибо Eden Li. + + *) ИÑправление: Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… типов редиректов в переменной + $sent_http_location было пуÑтое значение. + + *) ИÑправление: при иÑпользовании директивы resolver в SMTP + прокÑи-Ñервере в рабочем процеÑÑе мог произойти segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.32 26.01.2009 + + *) Добавление: теперь в директиве try_files можно Ñвно указать проверку + каталога. + + *) ИÑправление: fastcgi_store не вÑегда ÑохранÑл файлы. + + *) ИÑправление: в гео-диапазонах. + + *) ИÑправление: ошибки Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… блоков в разделÑемой памÑти, + еÑли nginx был Ñобран без отладки. + СпаÑибо Ðндрею КваÑову. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.31 19.01.2009 + + *) Изменение: теперь директива try_files проверÑет только файлы, + Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€ÑƒÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¸. + + *) Добавление: директива fastcgi_split_path_info. + + *) ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² поддержке Ñтроки "Expect" в заголовке запроÑа. + + *) ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² гео-диапазонах. + + *) ИÑправление: при отÑутÑтвии ответа ngx_http_memcached_module + возвращал в теле ответа Ñтроку "END" вмеÑто 404-ой Ñтраницы по + умолчанию; ошибка поÑвилаÑÑŒ в 0.7.18. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: при прокÑировании SMPT nginx выдавал Ñообщение + "250 2.0.0 OK" вмеÑто "235 2.0.0 OK"; ошибка поÑвилаÑÑŒ в 0.7.22. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.30 24.12.2008 + + *) ИÑправление: в рабочем процеÑÑе проиÑходил segmentation fault, еÑли в + директивах fastcgi_pass или proxy_pass иÑпользовалиÑÑŒ переменные и + Ð¸Ð¼Ñ Ñ…Ð¾Ñта должно было резолвитьÑÑ; ошибка поÑвилаÑÑŒ в 0.7.29. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.29 24.12.2008 + + *) ИÑправление: директивы fastcgi_pass и proxy_pass не поддерживали + переменные при иÑпользовании unix domain Ñокетов. + + *) ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² обработке подзапроÑов; ошибки поÑвилиÑÑŒ в 0.7.25. + + *) ИÑправление: ответ "100 Continue" выдавалÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов верÑии HTTP/1.0; - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module - ÐÏÄ Cygwin. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.28 22.12.2008 - - *) éÚÍÅÎÅÎÉÅ: × ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module. - - *) éÚÍÅÎÅÎÉÅ: ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÄÉÒÅËÔÉ×Ù gzip_buffers ÉÚÍÅÎÅÎÙ - Ó 4 4k/8k ÎÁ 32 4k ÉÌÉ 16 8k. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.27 15.12.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á try_files. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á geo ÍÏÖÅÔ ÂÒÁÔØ ÁÄÒÅÓ ÉÚ ÐÅÒÅÍÅÎÎÏÊ. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÍÏÄÉÆÉËÁÔÏÒ location'Á ÍÏÖÎÏ ÕËÁÚÙ×ÁÔØ ÂÅÚ - ÐÒÏÂÅÌÁ ÐÅÒÅÄ ÎÁÚ×ÁÎÉÅÍ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $upstream_response_length. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á add_header ÎÅ ÄÏÂÁ×ÌÑÅÔ ÐÕÓÔÏÅ - ÚÎÁÞÅÎÉÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÚÁÐÒÏÓÅ ÆÁÊÌÁ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ nginx ÚÁËÒÙ×ÁÌ - ÓÏÅÄÉÎÅÎÉÅ, ÎÉÞÅÇÏ ÎÅ ÐÅÒÅÄÁ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ MOVE ÎÅ ÍÏÇ ÐÅÒÅÍÅÝÁÔØ ÆÁÊÌ × ÎÅÓÕÝÅÓÔ×ÕÀÝÉÊ - ËÁÔÁÌÏÇ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÓÅÒ×ÅÒÅ ÎÅ ÂÙÌ ÏÐÉÓÁÎ ÎÉ ÏÄÉÎ ÉÍÅÎÏ×ÁÎÎÙÊ - location, ÎÏ ÔÁËÏÊ location ÉÓÐÏÌØÚÏ×ÁÌÓÑ × ÄÉÒÅËÔÉ×Å error_page, ÔÏ - × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.26 08.12.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.25. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.25 08.12.2008 - - *) éÚÍÅÎÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ ÐÏÄÚÁÐÒÏÓÏ×. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÒÁÚÒÅÛÁÀÔÓÑ POST'Ù ÂÅÚ ÓÔÒÏËÉ "Content-Length" × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù limit_req É limit_conn ÕËÁÚÙ×ÁÀÔ - ÐÒÉÞÉÎÕ ÚÁÐÒÅÔÁ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÁÒÁÍÅÔÒÅ delete ÄÉÒÅËÔÉ×Ù geo. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.24 01.12.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á if_modified_since. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÏÂÒÁÂÁÔÙ×ÁÌ ÏÔ×ÅÔ FastCGI-ÓÅÒ×ÅÒÁ, ÅÓÌÉ ÐÅÒÅÄ - ÏÔ×ÅÔÏÍ ÓÅÒ×ÅÒ ÐÅÒÅÄÁ×ÁÌ ÍÎÏÇÏ ÓÏÏÂÝÅÎÉÊ × stderr. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$cookie_..." ÎÅ ÒÁÂÏÔÁÌÉ × SSI and × - ÐÅÒÌÏ×ÏÍ ÍÏÄÕÌÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.23 27.11.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ delete É ranges × ÄÉÒÅËÔÉ×Å geo. - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÓËÏÒÅÎÉÅ ÚÁÇÒÕÚËÉ geo-ÂÁÚÙ Ó ÂÏÌØÛÉÍ ÞÉÓÌÏÍ ÚÎÁÞÅÎÉÊ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÍÅÎØÛÅÎÉÅ ÐÁÍÑÔÉ, ÎÅÏÂÈÏÄÉÍÏÊ ÄÌÑ ÚÁÇÒÕÚËÉ geo-ÂÁÚÙ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.22 20.11.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ none × ÄÉÒÅËÔÉ×Å smtp_auth. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$cookie_...". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio ÎÅ ÒÁÂÏÔÁÌÁ Ó ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÏÊ XFS. - - *) éÓÐÒÁ×ÌÅÎÉÅ: resolver ÎÅ ÐÏÎÉÍÁÌ ÂÏÌØÛÉÅ DNS-ÏÔ×ÅÔÙ. - óÐÁÓÉÂÏ Zyb. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.21 11.11.2008 - - *) éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_limit_req_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ EXSLT × ÍÏÄÕÌÅ ngx_http_xslt_module. - óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ. - - *) éÚÍÅÎÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó glibc 2.3. - óÐÁÓÉÂÏ Eric Benson É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ MacOSX 10.4 É ÂÏÌÅÅ ÒÁÎÎÉÈ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.6. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.20 10.11.2008 - - *) éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_gzip_filter_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_limit_req_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ ÐÌÁÔÆÏÒÍÁÈ sparc É ppc ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÍÏÇÌÉ - ×ÙÈÏÄÉÔØ ÐÏ ÓÉÇÎÁÌÕ SIGBUS; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.3. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ×ÉÄÁ "proxy_pass http://host/some:uri" ÎÅ - ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.12. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó - ÏÛÉÂËÏÊ "bad write retry". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_secure_link_module ÎÅ ÒÁÂÏÔÁÌ ×ÎÕÔÒÉ - location'Ï× Ó ÉÍÅÎÁÍÉ ÍÅÎØÛÅ 3 ÓÉÍ×ÏÌÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $server_addr ÍÏÇÌÁ ÎÅ ÉÍÅÔØ ÚÎÁÞÅÎÉÑ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.19 13.10.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÂÎÏ×ÌÅÎÉÅ ÎÏÍÅÒÁ ×ÅÒÓÉÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.18 13.10.2008 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á underscores_in_headers; ÔÅÐÅÒØ nginx ÐÏ - ÕÍÏÌÞÁÎÉÀ ÎÅ ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÉÍÅÎÁÈ ÓÔÒÏË × ÚÁÇÏÌÏ×ËÅ - ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_secure_link_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á real_ip_header ÐÏÄÄÅÒÖÉ×ÁÅÔ ÌÀÂÏÊ ÚÁÇÏÌÏ×ÏË. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á log_subrequest. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $realpath_root. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ http_502 É http_504 × ÄÉÒÅËÔÉ×Å + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: в выделении памÑти в модуле ngx_http_gzip_filter_module + под Cygwin. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.28 22.12.2008 + + *) Изменение: в выделении памÑти в модуле ngx_http_gzip_filter_module. + + *) Изменение: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ñ‹ gzip_buffers изменены + Ñ 4 4k/8k на 32 4k или 16 8k. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.27 15.12.2008 + + *) Добавление: директива try_files. + + *) Добавление: директива fastcgi_pass поддерживает переменные. + + *) Добавление: теперь директива geo может брать Ð°Ð´Ñ€ÐµÑ Ð¸Ð· переменной. + СпаÑибо Ðндрею Ðигматулину. + + *) Добавление: теперь модификатор location'а можно указывать без пробела + перед названием. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_response_length. + + *) ИÑправление: теперь директива add_header не добавлÑет пуÑтое + значение. + + *) ИÑправление: при запроÑе файла нулевой длины nginx закрывал + Ñоединение, ничего не передав; ошибка поÑвилаÑÑŒ в 0.7.25. + + *) ИÑправление: метод MOVE не мог перемещать файл в неÑущеÑтвующий + каталог. + + *) ИÑправление: еÑли в Ñервере не был опиÑан ни один именованный + location, но такой location иÑпользовалÑÑ Ð² директиве error_page, то + в рабочем процеÑÑе проиÑходил segmentation fault. + СпаÑибо Сергею Боченкову. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.26 08.12.2008 + + *) ИÑправление: в обработке подзапроÑов; ошибка поÑвилаÑÑŒ в 0.7.25. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.25 08.12.2008 + + *) Изменение: в обработке подзапроÑов. + + *) Изменение: теперь разрешаютÑÑ POST'Ñ‹ без Ñтроки "Content-Length" в + заголовке запроÑа. + + *) ИÑправление: теперь директивы limit_req и limit_conn указывают + причину запрета запроÑа. + + *) ИÑправление: в параметре delete директивы geo. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.24 01.12.2008 + + *) Добавление: директива if_modified_since. + + *) ИÑправление: nginx не обрабатывал ответ FastCGI-Ñервера, еÑли перед + ответом Ñервер передавал много Ñообщений в stderr. + + *) ИÑправление: переменные "$cookie_..." не работали в SSI and в + перловом модуле. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.23 27.11.2008 + + *) Добавление: параметры delete и ranges в директиве geo. + + *) Добавление: уÑкорение загрузки geo-базы Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ чиÑлом значений. + + *) Добавление: уменьшение памÑти, необходимой Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ geo-базы. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.22 20.11.2008 + + *) Добавление: параметр none в директиве smtp_auth. + СпаÑибо МакÑиму Дунину. + + *) Добавление: переменные "$cookie_...". + + *) ИÑправление: директива directio не работала Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð¹ ÑиÑтемой XFS. + + *) ИÑправление: resolver не понимал большие DNS-ответы. + СпаÑибо Zyb. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.21 11.11.2008 + + *) Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² модуле ngx_http_limit_req_module. + + *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module. + СпаÑибо ДениÑу Латыпову. + + *) Изменение: ÑовмеÑтимоÑÑ‚ÑŒ Ñ glibc 2.3. + СпаÑибо Eric Benson и МакÑиму Дунину. + + *) ИÑправление: nginx не запуÑкалÑÑ Ð½Ð° MacOSX 10.4 и более ранних; + ошибка поÑвилаÑÑŒ в 0.7.6. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.20 10.11.2008 + + *) Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² модуле ngx_http_gzip_filter_module. + + *) Добавление: модуль ngx_http_limit_req_module. + + *) ИÑправление: на платформах sparc и ppc рабочие процеÑÑÑ‹ могли + выходить по Ñигналу SIGBUS; ошибка поÑвилаÑÑŒ в 0.7.3. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: директивы вида "proxy_pass http://host/some:uri" не + работали; ошибка поÑвилаÑÑŒ в 0.7.12. + + *) ИÑправление: при иÑпользовании HTTPS запроÑÑ‹ могли завершатьÑÑ Ñ + ошибкой "bad write retry". + + *) ИÑправление: модуль ngx_http_secure_link_module не работал внутри + location'ов Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ меньше 3 Ñимволов. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $server_addr могла не иметь значениÑ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.19 13.10.2008 + + *) ИÑправление: обновление номера верÑии. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.18 13.10.2008 + + *) Изменение: директива underscores_in_headers; теперь nginx по + умолчанию не разрешает Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð² именах Ñтрок в заголовке + запроÑа клиента. + + *) Добавление: модуль ngx_http_secure_link_module. + + *) Добавление: директива real_ip_header поддерживает любой заголовок. + + *) Добавление: директива log_subrequest. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $realpath_root. + + *) Добавление: параметры http_502 и http_504 в директиве proxy_next_upstream. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ http_503 × ÄÉÒÅËÔÉ×ÁÈ proxy_next_upstream ÉÌÉ - fastcgi_next_upstream ÎÅ ÒÁÂÏÔÁÌ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÍÏÇ ×ÙÄÁ×ÁÔØ ÓÔÒÏËÕ "Transfer-Encoding: chunked" - ÄÌÑ ÚÁÐÒÏÓÏ× HEAD. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ accept-ÌÉÍÉÔ ÚÁ×ÉÓÉÔ ÏÔ ÞÉÓÌÁ worker_connections. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.17 15.09.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio ÔÅÐÅÒØ ÒÁÂÏÔÁÅÔ ÎÁ Linux. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $pid. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÐÔÉÍÉÚÁÃÉÑ directio, ÐÏÑ×É×ÛÁÑÓÑ × 0.7.15, ÎÅ ÒÁÂÏÔÁÌÁ - ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ open_file_cache. - - *) éÓÐÒÁ×ÌÅÎÉÅ: access_log Ó ÐÅÒÅÍÅÎÎÙÍÉ ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_charset_module ÎÅ ÐÏÎÉÍÁÌ ÎÁÚ×ÁÎÉÅ - ËÏÄÉÒÏ×ËÉ × ËÁ×ÙÞËÁÈ, ÐÏÌÕÞÅÎÎÏÅ ÏÔ ÂÜËÅÎÄÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.16 08.09.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.15. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.15 08.09.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_random_index_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio ÏÐÔÉÍÉÚÉÒÏ×ÁÎÁ ÄÌÑ ÚÁÐÒÏÓÏ× ÆÁÊÌÏ×, - ÎÁÞÉÎÁÀÝÉÈÓÑ Ó ÐÒÏÉÚ×ÏÌØÎÏÊ ÐÏÚÉÃÉÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio ÐÒÉ ÎÅÏÂÈÏÄÉÍÏÓÔÉ ÚÁÐÒÅÝÁÅÔ - ÉÓÐÏÌØÚÏ×ÁÎÉÅ sendfile. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÐÏÄÞ£ÒËÉ×ÁÎÉÑ × ÉÍÅÎÁÈ ÓÔÒÏË × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.14 01.09.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù ssl_certificate É ssl_certificate_key ÎÅ - ÉÍÅÀÔ ÚÎÁÞÅÎÉÊ ÐÏ ÕÍÏÌÞÁÎÉÀ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á listen ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ ssl. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ nginx ÕÞÉÔÙ×ÁÅÔ ÉÚÍÅÎÅÎÉÅ - ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ ÎÁ FreeBSD É Linux. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ ÄÉÒÅËÔÉ×Ù listen, ÔÁËÉÅ ËÁË backlog, rcvbuf É - ÐÒÏÞÉÅ, ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌÉÓØ, ÅÓÌÉ ÓÅÒ×ÅÒÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÙÌ ÎÅ ÐÅÒ×ÙÊ - ÓÅÒ×ÅÒ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÏ× ÞÁÓÔÉ URI, - ×ÙÄÅÌÅÎÎÏÇÏ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù rewrite, ÜÔÉ ÁÒÇÕÍÅÎÔÙ ÎÅ - ÜËÒÁÎÉÒÏ×ÁÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÉÑ ÔÅÓÔÉÒÏ×ÁÎÉÑ ÐÒÁ×ÉÌØÎÏÓÔÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ - ÆÁÊÌÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.13 26.08.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux É Solaris; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.7.12. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.12 26.08.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÕÓÔÏÅ ÉÍÑ "". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á gzip_disable ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÐÅÃÉÁÌØÎÕÀ ÍÁÓËÕ + *) ИÑправление: параметр http_503 в директивах proxy_next_upstream или + fastcgi_next_upstream не работал. + + *) ИÑправление: nginx мог выдавать Ñтроку "Transfer-Encoding: chunked" + Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов HEAD. + + *) ИÑправление: теперь accept-лимит завиÑит от чиÑла worker_connections. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.17 15.09.2008 + + *) Добавление: директива directio теперь работает на Linux. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $pid. + + *) ИÑправление: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ directio, поÑвившаÑÑÑ Ð² 0.7.15, не работала + при иÑпользовании open_file_cache. + + *) ИÑправление: access_log Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ не работал на Linux; ошибка + поÑвилаÑÑŒ в 0.7.7. + + *) ИÑправление: модуль ngx_http_charset_module не понимал название + кодировки в кавычках, полученное от бÑкенда. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.16 08.09.2008 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° 64-битных платформах; ошибка + поÑвилаÑÑŒ в 0.7.15. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.15 08.09.2008 + + *) Добавление: модуль ngx_http_random_index_module. + + *) Добавление: директива directio оптимизирована Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов файлов, + начинающихÑÑ Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÑŒÐ½Ð¾Ð¹ позиции. + + *) Добавление: директива directio при необходимоÑти запрещает + иÑпользование sendfile. + + *) Добавление: теперь nginx разрешает Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð² именах Ñтрок в + заголовке запроÑа клиента. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.14 01.09.2008 + + *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не + имеют значений по умолчанию. + + *) Добавление: директива listen поддерживает параметр ssl. + + *) Добавление: теперь при переконфигурации nginx учитывает изменение + временной зоны на FreeBSD и Linux. + + *) ИÑправление: параметры директивы listen, такие как backlog, rcvbuf и + прочие, не уÑтанавливалиÑÑŒ, еÑли Ñервером по умолчанию был не первый + Ñервер. + + *) ИÑправление: при иÑпользовании в качеÑтве аргументов чаÑти URI, + выделенного Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы rewrite, Ñти аргументы не + ÑкранировалиÑÑŒ. + + *) ИÑправление: ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ñти конфигурационного + файла. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.13 26.08.2008 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Linux и Solaris; ошибка поÑвилаÑÑŒ + в 0.7.12. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.12 26.08.2008 + + *) Добавление: директива server_name поддерживает пуÑтое Ð¸Ð¼Ñ "". + + *) Добавление: директива gzip_disable поддерживает Ñпециальную маÑку msie6. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÁÒÁÍÅÔÒÁ max_fails=0 × upstream'Å Ó - ÎÅÓËÏÌØËÉÍÉ ÓÅÒ×ÅÒÁÍÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ×ÙÈÏÄÉÌ ÐÏ ÓÉÇÎÁÌÕ SIGFPE. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù - error_page ÔÅÒÑÌÏÓØ ÔÅÌÏ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÍÅÔÏÄÏÍ HEAD Ó ÐÏÍÏÝØÀ - ÄÉÒÅËÔÉ×Ù error_page ×ÏÚ×ÒÁÝÁÌÓÑ ÐÏÌÎÙÊ ÏÔ×ÅÔ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ $r->header_in() ÎÅ ×ÏÚ×ÒÁÝÁÌ ÚÎÁÞÅÎÉÑ ÓÔÒÏË - "Host", "User-Agent", É "Connection" ÉÚ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.11 18.08.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ngx_http_charset_module ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÒÁÂÏÔÁÅÔ - MIME-ÔÉÐÏÍ text/css. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ×ÏÚ×ÒÁÝÁÅÔ ËÏÄ 405 ÄÌÑ ÍÅÔÏÄÁ POST ÐÒÉ - ÚÁÐÒÏÓÅ ÓÔÁÔÉÞÅÓËÏÇÏ ÆÁÊÌÁ, ÔÏÌØËÏ ÅÓÌÉ ÆÁÊÌ ÓÕÝÅÓÔ×ÕÅÔ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_ssl_session_reuse. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ - "X-Accel-Redirect" ÄÉÒÅËÔÉ×Á proxy_pass ÂÅÚ URI ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØ - ÏÒÉÇÉÎÁÌØÎÙÊ ÚÁÐÒÏÓ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ Õ ËÁÔÁÌÏÇÁ ÂÙÌÉ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÔÏÌØËÏ ÎÁ ÐÏÉÓË - ÆÁÊÌÏ× É ÐÅÒ×ÙÊ ÉÎÄÅËÓÎÙÊ ÆÁÊÌ ÏÔÓÕÔÓÔ×Ï×ÁÌ, ÔÏ nginx ×ÏÚ×ÒÁÝÁÌ - ÏÛÉÂËÕ 500. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂÏË ×Ï ×ÌÏÖÅÎÎÙÈ location'ÁÈ; ÏÛÉÂËÉ ÐÏÑ×ÉÌÉÓØ × + *) ИÑправление: при иÑпользовании параметра max_fails=0 в upstream'е Ñ + неÑколькими Ñерверами рабочий процеÑÑ Ð²Ñ‹Ñ…Ð¾Ð´Ð¸Ð» по Ñигналу SIGFPE. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: при перенаправлении запроÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы + error_page терÑлоÑÑŒ тело запроÑа. + + *) ИÑправление: при перенаправлении запроÑа Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¾Ð¼ HEAD Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + директивы error_page возвращалÑÑ Ð¿Ð¾Ð»Ð½Ñ‹Ð¹ ответ. + + *) ИÑправление: метод $r->header_in() не возвращал Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñтрок + "Host", "User-Agent", и "Connection" из заголовка запроÑа; ошибка + поÑвилаÑÑŒ в 0.7.0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.11 18.08.2008 + + *) Изменение: теперь ngx_http_charset_module по умолчанию не работает + MIME-типом text/css. + + *) Добавление: теперь nginx возвращает код 405 Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° POST при + запроÑе ÑтатичеÑкого файла, только еÑли файл ÑущеÑтвует. + + *) Добавление: директива proxy_ssl_session_reuse. + + *) ИÑправление: поÑле Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + "X-Accel-Redirect" директива proxy_pass без URI могла иÑпользовать + оригинальный запроÑ. + + *) ИÑправление: еÑли у каталога были права доÑтупа только на поиÑк + файлов и первый индекÑный файл отÑутÑтвовал, то nginx возвращал + ошибку 500. + + *) ИÑправление: ошибок во вложенных location'ах; ошибки поÑвилиÑÑŒ в 0.7.1. -éÚÍÅÎÅÎÉÑ × nginx 0.7.10 13.08.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂÏË × ÄÉÒÅËÔÉ×ÁÈ addition_types, charset_types, - gzip_types, ssi_types, sub_filter_types É xslt_types; ÏÛÉÂËÉ - ÐÏÑ×ÉÌÉÓØ × 0.7.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÅËÕÒÓÉ×ÎÏÊ error_page ÄÌÑ 500 ÏÛÉÂËÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_realip_module ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ - ÁÄÒÅÓ ÎÅ ÄÌÑ ×ÓÅÇÏ keepalive ÓÏÅÄÉÎÅÎÉÑ, Á ÄÌÑ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ ÐÏ - ÜÔÏÍÕ ÓÏÅÄÉÎÅÎÉÀ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.9 12.08.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ngx_http_charset_module ÐÏ ÕÍÏÌÞÁÎÉÀ ÒÁÂÏÔÁÅÔ ÓÏ - ÓÌÅÄÕÀÝÉÍÉ MIME-ÔÉÐÁÍÉ: text/html, text/css, text/xml, text/plain, - text/vnd.wap.wml, application/x-javascript É application/rss+xml. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù charset_types É addition_types. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Ù gzip_types, ssi_types É - sub_filter_types ÉÓÐÏÌØÚÕÀÔ ÈÜÛ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_cpp_test_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÕÔÏÞÎÏÅ ×ÒÅÍÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÉÑ É ÉÓÐÒÁ×ÌÅÎÉÑ × ÍÏÄÕÌÅ - ngx_http_xslt_module. - óÐÁÓÉÂÏ äÅÎÉÓÕ ìÁÔÙÐÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á log_not_found ÎÅ ÒÁÂÏÔÁÌÁ ÐÒÉ ÐÏÉÓËÅ - ÉÎÄÅËÓÎÙÈ ÆÁÊÌÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: HTTPS-ÓÏÅÄÉÎÅÎÉÑ ÍÏÇÌÉ ÚÁ×ÉÓÎÕÔØ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ - ÍÅÔÏÄÙ kqueue, epoll, rtsig ÉÌÉ eventport; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ server_name, valid_referers É map - ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÍÁÓËÁ ×ÉÄÁ "*.domain.tld" É ÐÒÉ ÜÔÏÍ ÐÏÌÎÏÅ ÉÍÑ ×ÉÄÁ - "domain.tld" ÎÅ ÂÙÌÏ ÏÐÉÓÁÎÏ, ÔÏ ÜÔÏ ÉÍÑ ÐÏÐÁÄÁÌÏ ÐÏÄ ÍÁÓËÕ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.3.18. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.8 04.08.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_xslt_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$arg_...". - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ directio × Solaris. - óÐÁÓÉÂÏ Ivan Debnar. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ, ÅÓÌÉ FastCGI-ÓÅÒ×ÅÒ ÐÒÉÓÙÌÁÅÔ ÓÔÒÏËÕ "Location" - × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÅÚ ÓÔÒÏËÉ ÓÔÁÔÕÓÁ, ÔÏ nginx ÉÓÐÏÌØÚÕÅÔ ËÏÄ - ÓÔÁÔÕÓÁ 302. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.7 30.07.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÏÛÉÂËÁ EAGAIN ÐÒÉ ×ÙÚÏ×Å connect() ÎÅ ÓÞÉÔÁÅÔÓÑ - ×ÒÅÍÅÎÎÏÊ. - - *) éÚÍÅÎÅÎÉÅ: ÚÎÁÞÅÎÉÅÍ ÐÅÒÅÍÅÎÎÏÊ $ssl_client_cert ÔÅÐÅÒØ Ñ×ÌÑÅÔÓÑ - ÓÅÒÔÉÆÉËÁÔ, ÐÅÒÅÄ ËÁÖÄÏÊ ÓÔÒÏËÏÊ ËÏÔÏÒÏÇÏ, ËÒÏÍÅ ÐÅÒ×ÏÊ, ×ÓÔÁ×ÌÑÅÔÓÑ - ÓÉÍ×ÏÌ ÔÁÂÕÌÑÃÉÉ; ÎÅÉÚÍÅΣÎÎÙÊ ÓÅÒÔÉÆÉËÁÔ ÄÏÓÔÕÐÅÎ ÞÅÒÅÚ ÐÅÒÅÍÅÎÎÕÀ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.10 13.08.2008 + + *) ИÑправление: ошибок в директивах addition_types, charset_types, + gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки + поÑвилиÑÑŒ в 0.7.9. + + *) ИÑправление: рекурÑивной error_page Ð´Ð»Ñ 500 ошибки. + + *) ИÑправление: теперь модуль ngx_http_realip_module уÑтанавливает Ð°Ð´Ñ€ÐµÑ + не Ð´Ð»Ñ Ð²Ñего keepalive ÑоединениÑ, а Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ запроÑа по Ñтому + Ñоединению. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.9 12.08.2008 + + *) Изменение: теперь ngx_http_charset_module по умолчанию работает Ñо + Ñледующими MIME-типами: text/html, text/css, text/xml, text/plain, + text/vnd.wap.wml, application/x-javascript и application/rss+xml. + + *) Добавление: директивы charset_types и addition_types. + + *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types + иÑпользуют Ñ…Ñш. + + *) Добавление: модуль ngx_cpp_test_module. + + *) Добавление: директива expires поддерживает Ñуточное времÑ. + + *) Добавление: ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¸ иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² модуле ngx_http_xslt_module. + СпаÑибо ДениÑу Латыпову и МакÑиму Дунину. + + *) ИÑправление: директива log_not_found не работала при поиÑке индекÑных + файлов. + + *) ИÑправление: HTTPS-ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³Ð»Ð¸ завиÑнуть, еÑли иÑпользовалиÑÑŒ + методы kqueue, epoll, rtsig или eventport; ошибка поÑвилаÑÑŒ в 0.7.7. + + *) ИÑправление: еÑли в директивах server_name, valid_referers и map + иÑпользовалаÑÑŒ маÑка вида "*.domain.tld" и при Ñтом полное Ð¸Ð¼Ñ Ð²Ð¸Ð´Ð° + "domain.tld" не было опиÑано, то Ñто Ð¸Ð¼Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð»Ð¾ под маÑку; ошибка + поÑвилаÑÑŒ в 0.3.18. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.8 04.08.2008 + + *) Добавление: модуль ngx_http_xslt_module. + + *) Добавление: переменные "$arg_...". + + *) Добавление: поддержка directio в Solaris. + СпаÑибо Ivan Debnar. + + *) ИÑправление: теперь, еÑли FastCGI-Ñервер приÑылает Ñтроку "Location" + в заголовке ответа без Ñтроки ÑтатуÑа, то nginx иÑпользует код + ÑтатуÑа 302. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.7 30.07.2008 + + *) Изменение: теперь ошибка EAGAIN при вызове connect() не ÑчитаетÑÑ + временной. + + *) Изменение: значением переменной $ssl_client_cert теперь ÑвлÑетÑÑ + Ñертификат, перед каждой Ñтрокой которого, кроме первой, вÑтавлÑетÑÑ + Ñимвол табулÑции; неизменённый Ñертификат доÑтупен через переменную $ssl_client_raw_cert. - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ask ÄÉÒÅËÔÉ×Ù ssl_verify_client. - - *) äÏÂÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÉÑ × ÏÂÒÁÂÏÔËÅ byte-range. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á directio. - óÐÁÓÉÂÏ Jiang Hong. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ sendfile() × MacOSX 10.5. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × MacOSX É Cygwin ÐÒÉ ÐÒÏ×ÅÒËÅ location'Ï× ÔÅÐÅÒØ - ÄÅÌÁÅÔÓÑ ÓÒÁ×ÎÅÎÉÅ ÂÅÚ ÕÞ£ÔÁ ÒÅÇÉÓÔÒÁ ÓÉÍ×ÏÌÏ×; ÏÄÎÁËÏ, ÓÒÁ×ÎÅÎÉÅ - ÏÇÒÁÎÉÞÅÎÏ ÔÏÌØËÏ ÏÄÎÏÂÁÊÔÎÙÍÉ locale'ÑÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏÅÄÉÎÅÎÉÑ ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ ÚÁ×ÉÓÁÌÉ × ÒÅÖÉÍÅ - SSL, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÅÔÏÄÙ select, poll ÉÌÉ /dev/poll. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ËÏÄÉÒÏ×ËÉ UTF-8 × + *) Добавление: параметр ask директивы ssl_verify_client. + + *) Добавление: ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð² обработке byte-range. + СпаÑибо МакÑиму Дунину. + + *) Добавление: директива directio. + СпаÑибо Jiang Hong. + + *) Добавление: поддержка sendfile() в MacOSX 10.5. + + *) ИÑправление: в MacOSX и Cygwin при проверке location'ов теперь + делаетÑÑ Ñравнение без учёта региÑтра Ñимволов; однако, Ñравнение + ограничено только однобайтными locale'Ñми. + + *) ИÑправление: ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ прокÑи-Ñервера завиÑали в режиме + SSL, еÑли иÑпользовалиÑÑŒ методы select, poll или /dev/poll. + + *) ИÑправление: ошибки при иÑпользовании кодировки UTF-8 в ngx_http_autoindex_module. -éÚÍÅÎÅÎÉÑ × nginx 0.7.6 07.07.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å - access_log ×ÓÅÇÄÁ ÐÒÏ×ÅÒÑÅÔÓÑ ÓÕÝÅÓÔ×Ï×ÁÎÉÉ root'Á ÄÌÑ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_flv_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÎÅÓËÏÌØËÏ - ÚÎÁÞÅÎÉÊ × ÁÒÇÕÍÅÎÔÁÈ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.5 01.07.2008 - - *) éÓÐÒÁ×ÌÅÎÉÑ × ÐÏÄÄÅÒÖËÅ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å access_log; ÏÛÉÂËÉ - ÐÏÑ×ÉÌÉÓØ × 0.7.4. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ - --without-http_gzip_module; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.3. - óÐÁÓÉÂÏ ëÉÒÉÌÌÕ ëÏÒÉÎÓËÏÍÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÓÏ×ÍÅÓÔÎÏÍ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sub_filter É SSI ÏÔ×ÅÔÙ - ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ×ÅÒÎÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.4 30.06.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á access_log ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á open_log_file_cache. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -g. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ ÓÔÒÏËÉ "Expect" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÏÌØÛÉÅ ×ËÌÀÞÅÎÉÑ × SSI ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.3 23.06.2008 - - *) éÚÍÅÎÅÎÉÅ: MIME-ÔÉÐ ÄÌÑ ÒÁÓÛÉÒÅÎÉÑ rss ÉÚÍÅΣΠÎÁ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.6 07.07.2008 + + *) ИÑправление: теперь при иÑпользовании переменных в директиве + access_log вÑегда проверÑетÑÑ ÑущеÑтвовании root'а Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + *) ИÑправление: модуль ngx_http_flv_module не поддерживал неÑколько + значений в аргументах запроÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.5 01.07.2008 + + *) ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² поддержке переменных в директиве access_log; ошибки + поÑвилиÑÑŒ в 0.7.4. + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ + --without-http_gzip_module; ошибка поÑвилаÑÑŒ в 0.7.3. + СпаÑибо Кириллу КоринÑкому. + + *) ИÑправление: при ÑовмеÑтном иÑпользовании sub_filter и SSI ответы + могли передаватьÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.4 30.06.2008 + + *) Добавление: директива access_log поддерживает переменные. + + *) Добавление: директива open_log_file_cache. + + *) Добавление: ключ -g. + + *) Добавление: поддержка Ñтроки "Expect" в заголовке запроÑа. + + *) ИÑправление: большие Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² SSI могли передавалиÑÑŒ не полноÑтью. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.3 23.06.2008 + + *) Изменение: MIME-тип Ð´Ð»Ñ Ñ€Ð°ÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ rss изменён на "application/rss+xml". - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "gzip_vary on" ×ÙÄÁ£Ô ÓÔÒÏËÕ - "Vary: Accept-Encoding" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ É ÄÌÑ ÎÅÓÖÁÔÙÈ ÏÔ×ÅÔÏ×. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ "https://" × - ÄÉÒÅËÔÉ×Å rewrite Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÅÌÁÅÔÓÑ ÒÅÄÉÒÅËÔ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass ÎÅ ÒÁÂÏÔÁÌÁ Ó ÐÒÏÔÏËÏÌÏÍ HTTPS; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.9. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.2 16.06.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÛÉÆÒÙ Ó ÏÂÍÅÎÏÍ EDH-ËÌÀÞÁÍÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_dhparam. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $ssl_client_cert. - óÐÁÓÉÂÏ Manlio Perillo. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ URI Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù rewrite nginx - ÎÅ ÉÓËÁÌ ÎÏ×ÙÊ location; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.7.1. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.7.1. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÒÅÄÉÒÅËÔÅ ÚÁÐÒÏÓÁ Ë ËÁÔÁÌÏÇÕ Ó ÄÏÂÁ×ÌÅÎÉÅÍ ÓÌÜÛÁ - nginx ÎÅ ÄÏÂÁ×ÌÑÌ ÁÒÇÕÍÅÎÔÙ ÉÚ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.1 26.05.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏÉÓË location'Á ÄÅÌÁÅÔÓÑ Ó ÐÏÍÏÝØÀ ÄÅÒÅ×Á. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á optimize_server_names ÕÐÒÁÚÄÎÅÎÁ × Ó×ÑÚÉ Ó - ÐÏÑ×ÌÅÎÉÅÍ ÄÉÒÅËÔÉ×Ù server_name_in_redirect. - - *) éÚÍÅÎÅÎÉÅ: ÎÅËÏÔÏÒÙÅ ÄÁ×ÎÏ ÕÓÔÁÒÅ×ÛÉÅ ÄÉÒÅËÔÉ×Ù ÂÏÌØÛÅ ÎÅ - ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ "none" × ÄÉÒÅËÔÉ×Å ssl_session_cache; ÔÅÐÅÒØ - ÜÔÏÔ ÐÁÒÁÍÅÔÒ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ. - óÐÁÓÉÂÏ Rob Mueller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÍÏÇÌÉ ÎÅ ÒÅÁÇÉÒÏ×ÁÔØ ÎÁ ÓÉÇÎÁÌÙ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ É ÒÏÔÁÃÉÉ ÌÏÇÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÏÓÌÅÄÎÉÈ Fedora 9 Linux. - óÐÁÓÉÂÏ Roxis. - - -éÚÍÅÎÅÎÉÑ × nginx 0.7.0 19.05.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ 0x00-0x1F, '"' É '\' × access_log - ÚÁÐÉÓÙ×ÁÀÔÓÑ × ×ÉÄÅ \xXX. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÒÁÚÒÅÛÁÅÔ ÎÅÓËÏÌØËÏ ÓÔÒÏË "Host" × ÚÁÇÏÌÏ×ËÅ - ÚÁÐÒÏÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÆÌÁÇ modified. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $uid_got É $uid_set ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÁ - ÌÀÂÏÊ ÓÔÁÄÉÉ ÏÂÒÁÂÏÔËÉ ÚÁÐÒÏÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $hostname. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ DESTDIR. - óÐÁÓÉÂÏ Todd A. Fisher É Andras Voroskoi. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ keepalive ÎÁ Linux × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ - ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.31 12.05.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÏÂÒÁÂÁÔÙ×ÁÌ ÏÔ×ÅÔ FastCGI-ÓÅÒ×ÅÒÁ, ÅÓÌÉ ÓÔÒÏËÁ - ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔ ÂÙÌÁ × ËÏÎÃÅ ÚÁÐÉÓÉ FastCGI; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) Изменение: теперь директива "gzip_vary on" выдаёт Ñтроку + "Vary: Accept-Encoding" в заголовке ответа и Ð´Ð»Ñ Ð½ÐµÑжатых ответов. + + *) Добавление: теперь при иÑпользовании протокола "https://" в директиве + rewrite автоматичеÑки делаетÑÑ Ñ€ÐµÐ´Ð¸Ñ€ÐµÐºÑ‚. + + *) ИÑправление: директива proxy_pass не работала Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð¾Ð¼ HTTPS; + ошибка поÑвилаÑÑŒ в 0.6.9. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.2 16.06.2008 + + *) Добавление: теперь nginx поддерживает шифры Ñ Ð¾Ð±Ð¼ÐµÐ½Ð¾Ð¼ EDH-ключами. + + *) Добавление: директива ssl_dhparam. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $ssl_client_cert. + СпаÑибо Manlio Perillo. + + *) ИÑправление: поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ URI Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы rewrite nginx не + иÑкал новый location; ошибка поÑвилаÑÑŒ в 0.7.1. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· библиотеки PCRE; ошибка поÑвилаÑÑŒ + в 0.7.1. + + *) ИÑправление: при редиректе запроÑа к каталогу Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸ÐµÐ¼ ÑлÑша + nginx не добавлÑл аргументы из оригинального запроÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.1 26.05.2008 + + *) Изменение: теперь поиÑк location'а делаетÑÑ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ дерева. + + *) Изменение: директива optimize_server_names упразднена в ÑвÑзи Ñ + поÑвлением директивы server_name_in_redirect. + + *) Изменение: некоторые давно уÑтаревшие директивы больше не + поддерживаютÑÑ. + + *) Изменение: параметр "none" в директиве ssl_session_cache; теперь Ñтот + параметр иÑпользуетÑÑ Ð¿Ð¾ умолчанию. + СпаÑибо Rob Mueller. + + *) ИÑправление: рабочие процеÑÑÑ‹ могли не реагировать на Ñигналы + переконфигурации и ротации логов. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° поÑледних Fedora 9 Linux. + СпаÑибо Roxis. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.7.0 19.05.2008 + + *) Изменение: теперь Ñимволы 0x00-0x1F, '"' и '\' в access_log + запиÑываютÑÑ Ð² виде \xXX. + СпаÑибо МакÑиму Дунину. + + *) Изменение: теперь nginx разрешает неÑколько Ñтрок "Host" в заголовке + запроÑа. + + *) Добавление: директива expires поддерживает флаг modified. + + *) Добавление: переменные $uid_got и $uid_set можно иÑпользовать на + любой Ñтадии обработки запроÑа. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $hostname. + СпаÑибо Ðндрею Ðигматулину. + + *) Добавление: поддержка DESTDIR. + СпаÑибо Todd A. Fisher и Andras Voroskoi. + + *) ИÑправление: при иÑпользовании keepalive на Linux в рабочем процеÑÑе + мог произойти segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.31 12.05.2008 + + *) ИÑправление: nginx не обрабатывал ответ FastCGI-Ñервера, еÑли Ñтрока + заголовка ответ была в конце запиÑи FastCGI; ошибка поÑвилаÑÑŒ в 0.6.2. - óÐÁÓÉÂÏ óÅÒÇÅÀ óÅÒÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÕÄÁÌÅÎÉÉ ÆÁÊÌÁ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù - open_file_cache_errors off × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ + СпаÑибо Сергею Серову. + + *) ИÑправление: при удалении файла и иÑпользовании директивы + open_file_cache_errors off в рабочем процеÑÑе мог произойти segmentation fault. -éÚÍÅÎÅÎÉÑ × nginx 0.6.30 29.04.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ, ÅÓÌÉ ÍÁÓËÅ, ÚÁÄÁÎÎÏÊ × ÄÉÒÅËÔÉ×Å include, ÎÅ - ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÎÉ ÏÄÉÎ ÆÁÊÌ, ÔÏ nginx ÎÅ ×ÙÄÁ£Ô ÏÛÉÂËÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ×ÒÅÍÑ × ÄÉÒÅËÔÉ×ÁÈ ÍÏÖÎÏ ÚÁÄÁ×ÁÔØ ÂÅÚ ÐÒÏÂÅÌÁ, - ÎÁÐÒÉÍÅÒ, "1h50m". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞÅË ÐÁÍÑÔÉ, ÅÓÌÉ ÄÉÒÅËÔÉ×Á ssl_verify_client ÉÍÅÌÁ - ÚÎÁÞÅÎÉÅ on. - óÐÁÓÉÂÏ Chavelle Vincent. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á sub_filter ÍÏÇÌÁ ×ÓÔÁ×ÌÑÔØ ÚÁÍÅÎÑÅÍÙÊ ÔÅËÓÔ × - ×Ù×ÏÄ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÎÅ ×ÏÓÐÒÉÎÉÍÁÌÁ ÐÁÒÁÍÅÔÒÙ × - ÐÅÒÅÎÁÐÒÁ×ÌÑÅÍÏÍ URI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÓÂÏÒËÅ Ó Cygwin nginx ×ÓÅÇÄÁ ÏÔËÒÙ×ÁÅÔ ÆÁÊÌÙ - × ÂÉÎÁÒÎÏÍ ÒÅÖÉÍÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ OpenBSD; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.30 29.04.2008 + + *) Изменение: теперь, еÑли маÑке, заданной в директиве include, не + ÑоответÑтвует ни один файл, то nginx не выдаёт ошибку. + + *) Добавление: теперь Ð²Ñ€ÐµÐ¼Ñ Ð² директивах можно задавать без пробела, + например, "1h50m". + + *) ИÑправление: утечек памÑти, еÑли директива ssl_verify_client имела + значение on. + СпаÑибо Chavelle Vincent. + + *) ИÑправление: директива sub_filter могла вÑтавлÑÑ‚ÑŒ заменÑемый текÑÑ‚ в + вывод. + + *) ИÑправление: директива error_page не воÑпринимала параметры в + перенаправлÑемом URI. + + *) ИÑправление: теперь при Ñборке Ñ Cygwin nginx вÑегда открывает файлы + в бинарном режиме. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ OpenBSD; ошибка поÑвилаÑÑŒ в 0.6.15. -éÚÍÅÎÅÎÉÑ × nginx 0.6.29 18.03.2008 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_google_perftools_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ - ÐÌÁÔÆÏÒÍÁÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.27. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.28 13.03.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ rtsig ÎÅ ÓÏÂÉÒÁÌÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.27. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.27 12.03.2008 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÎÁ Linux 2.6.18+ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÍÅÔÏÄ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.29 18.03.2008 + + *) Добавление: модуль ngx_google_perftools_module. + + *) ИÑправление: модуль ngx_http_perl_module не ÑобиралÑÑ Ð½Ð° 64-битных + платформах; ошибка поÑвилаÑÑŒ в 0.6.27. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.28 13.03.2008 + + *) ИÑправление: метод rtsig не ÑобиралÑÑ; ошибка поÑвилаÑÑŒ в 0.6.27. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.27 12.03.2008 + + *) Изменение: теперь на Linux 2.6.18+ по умолчанию не ÑобираетÑÑ Ð¼ÐµÑ‚Ð¾Ð´ rtsig. - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ × ÉÍÅÎÏ×ÁÎÎÙÊ location - Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page ÍÅÔÏÄ ÚÁÐÒÏÓÁ ÎÅ ÉÚÍÅÎÑÅÔÓÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù resolver É resolver_timeout × SMTP - ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_action ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÍÅÎÏ×ÁÎÎÙÅ - location'Ù. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÉÚ location'Á c - ÏÂÒÁÂÏÔÞÉËÏÍ proxy, FastCGI ÉÌÉ memcached × ÉÍÅÎÏ×ÁÎÎÙÊ location ÓÏ - ÓÔÁÔÉÞÅÓËÉÍ ÏÂÒÁÂÏÔÞÉËÏÍ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation - fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÒÁÕÚÅÒÙ ÎÅ ÐÏ×ÔÏÒÑÌÉ SSL handshake, ÅÓÌÉ ÐÒÉ ÐÅÒ×ÏÍ - handshake ÎÅ ÏËÁÚÁÌÏÓØ ÐÒÁ×ÉÌØÎÏÇÏ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ. - óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ éÎÀÈÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂÏË 495-497 Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù - error_page ÂÅÚ ÉÚÍÅÎÅÎÉÑ ËÏÄÁ ÏÛÉÂËÉ nginx ÐÙÔÁÌÓÑ ×ÙÄÅÌÉÔØ ÏÞÅÎØ - ÍÎÏÇÏ ÐÁÍÑÔÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÐÁÍÑÔÉ × ÄÏÌÇÏÖÉ×ÕÝÉÈ ÎÅÂÕÆÆÅÒÉÚÉÒÏ×ÁÎÎÙÈ - ÓÏÅÄÉÎÅÎÉÑÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÐÁÍÑÔÉ × resolver'Å. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ ÉÚ location'Á c - ÏÂÒÁÂÏÔÞÉËÏÍ proxy × ÄÒÕÇÏÊ location Ó ÏÂÒÁÂÏÔÞÉËÏÍ proxy × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ËÜÛÉÒÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $proxy_host É + *) Изменение: теперь при перенаправлении запроÑа в именованный location + Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы error_page метод запроÑа не изменÑетÑÑ. + + *) Добавление: директивы resolver и resolver_timeout в SMTP + прокÑи-Ñервере. + + *) Добавление: директива post_action поддерживает именованные + location'Ñ‹. + + *) ИÑправление: при перенаправлении запроÑа из location'а c обработчиком + proxy, FastCGI или memcached в именованный location Ñо ÑтатичеÑким + обработчиком в рабочем процеÑÑе проиÑходил segmentation fault. + + *) ИÑправление: браузеры не повторÑли SSL handshake, еÑли при первом + handshake не оказалоÑÑŒ правильного клиентÑкого Ñертификата. + СпаÑибо ÐлекÑандру Инюхину. + + *) ИÑправление: при перенаправлении ошибок 495-497 Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы + error_page без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð° ошибки nginx пыталÑÑ Ð²Ñ‹Ð´ÐµÐ»Ð¸Ñ‚ÑŒ очень + много памÑти. + + *) ИÑправление: утечки памÑти в долгоживущих небуфферизированных + ÑоединениÑÑ…. + + *) ИÑправление: утечки памÑти в resolver'е. + + *) ИÑправление: при перенаправлении запроÑа из location'а c обработчиком + proxy в другой location Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ñ‡Ð¸ÐºÐ¾Ð¼ proxy в рабочем процеÑÑе + проиÑходил segmentation fault. + + *) ИÑправление: ошибки в кÑшировании переменных $proxy_host и $proxy_port. - óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass Ó ÐÅÒÅÍÅÎÎÙÍÉ ÉÓÐÏÌØÚÏ×ÁÌÁ ÐÏÒÔ, - ÏÐÉÓÁÎÎÏÊ × ÄÒÕÇÏÊ ÄÉÒÅËÔÉ×Å proxy_pass ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ, ÎÏ Ó ÔÁËÉÍ - ÖÅ ÉÍÅÎÅÍ ÈÏÓÔÁ. - óÐÁÓÉÂÏ óÅÒÇÅÀ âÏÞÅÎËÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÎÁ ÎÅËÏÔÏÒÙÈ 64-ÂÉÔÎÏÍ - ÐÌÁÔÆÏÒÍÁÈ × ÌÏÇ ÚÁÐÉÓÙ×ÁÌÓÑ alert "sendmsg() failed (9: Bad file + СпаÑибо Сергею Боченкову. + + *) ИÑправление: директива proxy_pass Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ иÑпользовала порт, + опиÑанной в другой директиве proxy_pass без переменных, но Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же + именем хоÑта. + СпаÑибо Сергею Боченкову. + + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ на некоторых 64-битном + платформах в лог запиÑывалÑÑ alert "sendmsg() failed (9: Bad file descriptor)". - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÏ×ÔÏÒÎÏÍ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × SSI ÐÕÓÔÏÇÏ block'Á × - ËÁÞÅÓÔ×Å ÚÁÇÌÕÛËÉ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ËÏÐÉÒÏ×ÁÎÉÉ ÞÁÓÔÉ URI, ÓÏÄÅÒÖÁÝÅÇÏ - ÜËÒÁÎÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ, × ÁÒÇÕÍÅÎÔÙ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.26 11.02.2008 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store ÎÅ ÐÒÏ×ÅÒÑÌÉ - ÄÌÉÎÕ ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ÚÎÁÞÅÎÉÑ × ÄÉÒÅËÔÉ×Å expires - × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - óÐÁÓÉÂÏ Joaquin Cuenca Abela. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ×ÅÒÎÏ ÏÐÒÅÄÅÌÑÌ ÄÌÉÎÕ ÓÔÒÏËÉ ËÜÛÁ ÎÁ - Pentium 4. - óÐÁÓÉÂÏ çÅÎÎÁÄÉÀ íÁÈÏÍÅÄÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÒÏËÓÉÒÏ×ÁÎÎÙÈ ÐÏÄÚÁÐÒÏÓÁÈ É ÐÏÄÚÁÐÒÏÓÁÈ Ë - FastCGI-ÓÅÒ×ÅÒÕ ×ÍÅÓÔÏ ÍÅÔÏÄÁ GET ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÏÒÉÇÉÎÁÌØÎÙÊ ÍÅÔÏÄ - ËÌÉÅÎÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ× × ÒÅÖÉÍÅ HTTPS ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÏÔÌÏÖÅÎÎÏÇÏ accept'Á. - óÐÁÓÉÂÏ Ben Maurer. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÙÄÁ×ÁÌ ÏÛÉÂÏÞÎÏÅ ÓÏÏÂÝÅÎÉÅ "SSL_shutdown() - failed (SSL: )"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó - ÏÛÉÂËÏÊ "bad write retry"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.25 08.01.2008 - - *) éÚÍÅÎÅÎÉÅ: ×ÍÅÓÔÏ ÓÐÅÃÉÁÌØÎÏÇÏ ÐÁÒÁÍÅÔÒÁ "*" × ÄÉÒÅËÔÉ×Å server_name - ÔÅÐÅÒØ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÉÒÅËÔÉ×Á server_name_in_redirect. - - *) éÚÍÅÎÅÎÉÅ: × ËÁÞÅÓÔ×Å ÏÓÎÏ×ÎÏÇÏ ÉÍÅÎÉ × ÄÉÒÅËÔÉ×Å server_name ÔÅÐÅÒØ - ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÉÍÅÎÁ Ó ÍÁÓËÁÍÉ É ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á satisfy_any ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ satisfy. - - *) éÚÍÅÎÅÎÉÅ: ÐÏÓÌÅ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÓÔÁÒÙÅ ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓ ÍÏÇÌÉ - ÓÉÌØÎÏ ÎÁÇÒÕÖÁÔØ ÐÒÏÃÅÓÓÏÒ ÐÒÉ ÚÁÐÕÓËÅ ÐÏÄ Linux OpenVZ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á min_delete_depth. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄÙ COPY É MOVE ÎÅ ÒÁÂÏÔÁÌÉ Ó ÏÄÉÎÏÞÎÙÍÉ ÆÁÊÌÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_gzip_static_module ÎÅ ÐÏÚ×ÏÌÑÌ ÒÁÂÏÔÁÔØ - ÍÏÄÕÌÀ ngx_http_dav_module; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ× × ÒÅÖÉÍÅ HTTPS ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÏÔÌÏÖÅÎÎÏÇÏ accept'Á. - óÐÁÓÉÂÏ Ben Maurer. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÂÉÂÌÉÏÔÅËÉ PCRE; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.6.23. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.24 27.12.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.23. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.23 27.12.2007 - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ "off" × ÄÉÒÅËÔÉ×Å ssl_session_cache; ÔÅÐÅÒØ ÜÔÏÔ - ÐÁÒÁÍÅÔÒ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á open_file_cache_retest ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × + *) ИÑправление: при повторном иÑпользовании в SSI пуÑтого block'а в + качеÑтве заглушки в рабочем процеÑÑе проиÑходил segmentation fault. + + *) ИÑправление: ошибки при копировании чаÑти URI, Ñодержащего + Ñкранированные Ñимволы, в аргументы. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.26 11.02.2008 + + *) ИÑправление: директивы proxy_store и fastcgi_store не проверÑли длину + ответа. + + *) ИÑправление: при иÑпользовании большого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² директиве expires + в рабочем процеÑÑе проиÑходил segmentation fault. + СпаÑибо Joaquin Cuenca Abela. + + *) ИÑправление: nginx неверно определÑл длину Ñтроки кÑша на Pentium 4. + СпаÑибо Геннадию Махомеду. + + *) ИÑправление: в прокÑированных подзапроÑах и подзапроÑах к + FastCGI-Ñерверу вмеÑто метода GET иÑпользовалÑÑ Ð¾Ñ€Ð¸Ð³Ð¸Ð½Ð°Ð»ÑŒÐ½Ñ‹Ð¹ метод + клиента. + + *) ИÑправление: утечки Ñокетов в режиме HTTPS при иÑпользовании + отложенного accept'а. + СпаÑибо Ben Maurer. + + *) ИÑправление: nginx выдавал ошибочное Ñообщение "SSL_shutdown() failed + (SSL: )"; ошибка поÑвилаÑÑŒ в 0.6.23. + + *) ИÑправление: при иÑпользовании HTTPS запроÑÑ‹ могли завершатьÑÑ Ñ + ошибкой "bad write retry"; ошибка поÑвилаÑÑŒ в 0.6.23. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.25 08.01.2008 + + *) Изменение: вмеÑто Ñпециального параметра "*" в директиве server_name + теперь иÑпользуетÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° server_name_in_redirect. + + *) Изменение: в качеÑтве оÑновного имени в директиве server_name теперь + можно иÑпользовать имена Ñ Ð¼Ð°Ñками и регулÑрными выражениÑми. + + *) Изменение: директива satisfy_any заменена директивой satisfy. + + *) Изменение: поÑле переконфигурации Ñтарые рабочие процеÑÑ Ð¼Ð¾Ð³Ð»Ð¸ Ñильно + нагружать процеÑÑор при запуÑке под Linux OpenVZ. + + *) Добавление: директива min_delete_depth. + + *) ИÑправление: методы COPY и MOVE не работали Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ñ‹Ð¼Ð¸ файлами. + + *) ИÑправление: модуль ngx_http_gzip_static_module не позволÑл работать + модулю ngx_http_dav_module; ошибка поÑвилаÑÑŒ в 0.6.23. + + *) ИÑправление: утечки Ñокетов в режиме HTTPS при иÑпользовании + отложенного accept'а. + СпаÑибо Ben Maurer. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· библиотеки PCRE; ошибка поÑвилаÑÑŒ + в 0.6.23. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.24 27.12.2007 + + *) ИÑправление: при иÑпользовании HTTPS в рабочем процеÑÑе мог произойти + segmentation fault; ошибка поÑвилаÑÑŒ в 0.6.23. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.23 27.12.2007 + + *) Изменение: параметр "off" в директиве ssl_session_cache; теперь Ñтот + параметр иÑпользуетÑÑ Ð¿Ð¾ умолчанию. + + *) Изменение: директива open_file_cache_retest переименована в open_file_cache_valid. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á open_file_cache_min_uses. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_gzip_static_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á gzip_disable. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Õ memcached_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ + *) Добавление: директива open_file_cache_min_uses. + + *) Добавление: модуль ngx_http_gzip_static_module. + + *) Добавление: директива gzip_disable. + + *) Добавление: директиву memcached_pass можно иÑпользовать внутри блока if. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÎÕÔÒÉ ÏÄÎÏÇÏ location'Á ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÄÉÒÅËÔÉ×Ù - "memcached_pass" É "if", ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ - segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù satisfy_any on" ÂÙÌÉ - ÚÁÄÁÎÙ ÄÉÒÅËÔÉ×Ù ÎÅ ×ÓÅÈ ÍÏÄÕÌÅÊ ÄÏÓÔÕÐÁ, ÔÏ ÚÁÄÁÎÎÙÅ ÄÉÒÅËÔÉ×Ù ÎÅ - ÐÒÏ×ÅÒÑÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ, ÚÁÄÁÎÎÙÅ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ × ÄÉÒÅËÔÉ×Å - valid_referers, ÎÅ ÎÁÓÌÅÄÏ×ÁÌÁÓØ Ó ÐÒÅÄÙÄÕÝÅÇÏ ÕÒÏ×ÎÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_action ÎÅ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ ÚÁÐÒÏÓ - ÚÁ×ÅÒÛÁÌÓÑ Ó ËÏÄÏÍ 499. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÐÔÉÍÉÚÁÃÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ 16K ÂÕÆÅÒÁ ÄÌÑ - SSL-ÓÏÅÄÉÎÅÎÉÑ. - óÐÁÓÉÂÏ Ben Maurer. - - *) éÓÐÒÁ×ÌÅÎÉÅ: STARTTLS × ÒÅÖÉÍÅ SMTP ÎÅ ÒÁÂÏÔÁÌ. - óÐÁÓÉÂÏ ïÌÅÇÕ íÏÔÉÅÎËÏ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ HTTPS ÚÁÐÒÏÓÙ ÍÏÇÌÉ ÚÁ×ÅÒÛÁÔØÓÑ Ó - ÏÛÉÂËÏÊ "bad write retry"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.13. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.22 19.12.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ×ÓÅ ÍÅÔÏÄÙ ÍÏÄÕÌÑ ngx_http_perl_module ×ÏÚ×ÒÁÝÁÀÔ - ÚÎÁÞÅÎÉÑ, ÓËÏÐÉÒÏ×ÁÎÎÙÅ × ÐÁÍÑÔØ, ×ÙÄÅÌÅÎÎÕÀ perl'ÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module, - ÉÓÐÏÌØÚÏ×ÁÌÓÑ perl ÄÏ ×ÅÒÓÉÉ 5.8.6 É perl ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ, ÔÏ ×Ï - ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ Á×ÁÒÉÊÎÏ ×ÙÈÏÄÉÌ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.5.9. - óÐÁÓÉÂÏ âÏÒÉÓÕ öÍÕÒÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÍÅÔÏÄÙ ÍÏÄÕÌÑ ngx_http_perl_module ÍÏÇÌÉ ÐÅÒÅÄÁ×ÁÔØÓÑ - ÎÅ×ÅÒÎÙÅ ÒÅÚÕÌØÔÁÔÙ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÍÅÔÏÄ $r->has_request_body() ×ÙÚÙ×ÁÌÓÑ ÄÌÑ - ÚÁÐÒÏÓÁ, Õ ËÏÔÏÒÏÇÏ ÎÅÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÙÌÏ ÕÖÅ ÐÏÌÎÏÓÔØÀ - ÐÏÌÕÞÅÎÏ, ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: large_client_header_buffers ÎÅ ÏÓ×ÏÂÏÖÄÁÌÉÓØ ÐÅÒÅÄ - ÐÅÒÅÈÏÄÏÍ × ÓÏÓÔÏÑÎÉÅ keep-alive. - óÐÁÓÉÂÏ ïÌÅËÓÁÎÄÒÕ ûÔÅÐÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÅÒÅÍÅÎÎÏÊ $upstream_addr ÎÅ ÚÁÐÉÓÙ×ÁÌÓÑ ÐÏÓÌÅÄÎÉÊ - ÁÄÒÅÓ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.18. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_catch_stderr ÎÅ ×ÏÚ×ÒÁÝÁÌÁ ÏÛÉÂËÕ; - ÔÅÐÅÒØ ÏÎÁ ×ÏÚ×ÒÁÝÁÅÔ ÏÛÉÂËÕ 502, ËÏÔÏÒÕÀ ÍÏÖÎÏ ÎÁÐÒÁ×ÉÔØ ÎÁ - ÓÌÅÄÕÀÝÉÊ ÓÅÒ×ÅÒ Ó ÐÏÍÏÝØÀ "fastcgi_next_upstream invalid_header". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù fastcgi_catch_stderr × - ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.6.10. - óÐÁÓÉÂÏ Manlio Perillo. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.21 03.12.2007 - - *) éÚÍÅÎÅÎÉÅ: ÅÓÌÉ × ÚÎÁÞÅÎÉÑÈ ÐÅÒÅÍÅÎÎÙÈ ÄÉÒÅËÔÉ×Ù proxy_pass - ÉÓÐÏÌØÚÕÀÔÓÑ ÔÏÌØËÏ IP-ÁÄÒÅÓÁ, ÔÏ ÕËÁÚÙ×ÁÔØ resolver ÎÅ ÎÕÖÎÏ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù proxy_pass c URI-ÞÁÓÔØÀ × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.6.19. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ resolver ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÎÅ - ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ ÍÅÔÏÄ kqueue, ÔÏ nginx ×ÙÄÁ×ÁÌ alert "name is out of - response". - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $server_protocol × - FastCGI-ÐÁÒÁÍÅÔÒÁÈ É ÚÁÐÒÏÓÅ, ÄÌÉÎÁ ËÏÔÏÒÏÇÏ ÂÙÌÁ ÂÌÉÚËÁ Ë ÚÎÁÞÅÎÉÀ - ÄÉÒÅËÔÉ×Ù client_header_buffer_size, nginx ×ÙÄÁ×ÁÌ alert "fastcgi: - the request record is too big". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÏÂÙÞÎÏÍ ÚÁÐÒÏÓÅ ×ÅÒÓÉÉ HTTP/0.9 Ë HTTPS ÓÅÒ×ÅÒÕ - nginx ×ÏÚ×ÒÁÝÁÌ ÏÂÙÞÎÙÊ ÏÔ×ÅÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.20 28.11.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù proxy_pass c URI-ÞÁÓÔØÀ × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.6.19. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.19 27.11.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÅÒÓÉÑ 0.6.18 ÎÅ ÓÏÂÉÒÁÌÁÓØ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.18 27.11.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_userid_module × ÐÏÌÅ ËÕËÉ Ó - ÎÏÍÅÒÏÍ ÐÒÏÃÅÓÓÁ ÄÏÂÁ×ÌÑÅÔ ÍÉËÒÏÓÅËÕÎÄÙ ÎÁ ×ÒÅÍÑ ÓÔÁÒÔÁ. - - *) éÚÍÅÎÅÎÉÅ: × error_log ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÐÏÌÎÁÑ ÓÔÒÏËÁ ÚÁÐÒÏÓÁ - ×ÍÅÓÔÏ ÔÏÌØËÏ URI. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù resolver É resolver_timeout. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á "add_header last-modified ''" ÕÄÁÌÑÅÔ × - ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÓÔÒÏËÕ "Last-Modified". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_rate ÎÅ ÐÏÚ×ÏÌÑÌÁ ÐÅÒÅÄÁ×ÁÔØ ÎÁ ÐÏÌÎÏÊ - ÓËÏÒÏÓÔÉ, ÄÁÖÅ ÅÓÌÉ ÂÙÌ ÕËÁÚÁÎ ÏÞÅÎØ ÂÏÌØÛÏÊ ÌÉÍÉÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.17 15.11.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ ÓÔÒÏËÉ "If-Range" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ éÎÀÈÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù msie_refresh ÐÏ×ÔÏÒÎÏ - ÜËÒÁÎÉÒÏ×ÁÌÉÓØ ÕÖÅ ÜËÒÁÎÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.4. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á autoindex ÎÅ ÒÁÂÏÔÁÌÁ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - "alias /". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÏÄÚÁÐÒÏÓÏ× × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL É gzip ÂÏÌØÛÉÅ ÏÔ×ÅÔÙ ÍÏÇÌÉ - ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÏÔ×ÅÔ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÂÙÌ ×ÅÒÓÉÉ HTTP/0.9, - ÔÏ ÐÅÒÅÍÅÎÎÁÑ $status ÂÙÌÁ ÒÁ×ÎÁ 0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.16 29.10.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÎÁ Linux ÉÓÐÏÌØÚÕÅÔÓÑ uname(2) ×ÍÅÓÔÏ procfs. - óÐÁÓÉÂÏ éÌØÅ îÏ×ÉËÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å error_page ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÓÉÍ×ÏÌ "?", - ÔÏ ÏÎ ÜËÒÁÎÉÒÏ×ÁÌÓÑ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.6.11. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó mget. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.15 22.10.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó Cygwin. - óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ ëÕÔÁËÏ×Õ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á merge_slashes. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á gzip_vary. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_tokens. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÓËÏÄÉÒÏ×ÁÌ URI × ËÏÍÁÎÄÅ SSI include. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ × ÄÉÒÅËÔÉ×ÁÈ charset ÉÌÉ - source_charset ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ - segmentation fault, - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 400 ÎÁ ÚÁÐÒÏÓÙ ×ÉÄÁ - "GET http://www.domain.com HTTP/1.0". - óÐÁÓÉÂÏ James Oakley. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÚÁÐÒÏÓÁ Ó ÔÅÌÏÍ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ - ÄÉÒÅËÔÉ×Ù error_page nginx ÐÙÔÁÌÓÑ ÓÎÏ×Á ÐÒÏÞÉÔÁÔØ ÔÅÌÏ ÚÁÐÒÏÓÁ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ - Õ ÓÅÒ×ÅÒÁ, ÏÂÒÁÂÁÔÙ×ÁÀÝÅÍÕ ÚÁÐÒÏÓ, ÎÅ ÂÙÌ Ñ×ÎÏ ÏÐÒÅÄẠ̊Π- server_name; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.14 15.10.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ËÏÍÁÎÄÁ SSI echo ÉÓÐÏÌØÚÕÅÔ - ËÏÄÉÒÏ×ÁÎÉÅ entity. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ encoding × ËÏÍÁÎÄÅ SSI echo. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Õ access_log ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ - limit_except. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÓÅ ÓÅÒ×ÅÒÁ ÁÐÓÔÒÉÍÁ ÏËÁÚÙ×ÁÌÉÓØ ÎÅÄÏÓÔÕÐÎÙÍÉ, ÔÏ - ÄÏ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÒÁÂÏÔÏÓÐÏÓÏÂÎÏÓÔÉ Õ ×ÓÅÈ ÓÅÒ×ÅÒÏ× ×ÅÓ ÓÔÁÎÏ×ÉÌÓÑ - ÒÁ×ÎÙÍ ÏÄÎÏÍÕ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ $date_local É $date_gmt - ×ÎÅ ÍÏÄÕÌÑ ngx_http_ssi_filter_module × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ + *) ИÑправление: еÑли внутри одного location'а иÑпользовалиÑÑŒ директивы + "memcached_pass" и "if", то в рабочем процеÑÑе проиÑходил segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ËÌÀÞ£ÎÎÏÍ ÏÔÌÁÄÏÞÎÏÍ ÌÏÇÅ × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_memcached_module ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌ + *) ИÑправление: еÑли при иÑпользовании директивы satisfy_any on" были + заданы директивы не вÑех модулей доÑтупа, то заданные директивы не + проверÑлиÑÑŒ. + + *) ИÑправление: параметры, заданные регулÑрным выражением в директиве + valid_referers, не наÑледовалаÑÑŒ Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾ уровнÑ. + + *) ИÑправление: директива post_action не работала, еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ + завершалÑÑ Ñ ÐºÐ¾Ð´Ð¾Ð¼ 499. + + *) ИÑправление: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ 16K буфера Ð´Ð»Ñ SSL-ÑоединениÑ. + СпаÑибо Ben Maurer. + + *) ИÑправление: STARTTLS в режиме SMTP не работал. + СпаÑибо Олегу Мотиенко. + + *) ИÑправление: при иÑпользовании HTTPS запроÑÑ‹ могли завершатьÑÑ Ñ + ошибкой "bad write retry"; ошибка поÑвилаÑÑŒ в 0.5.13. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.22 19.12.2007 + + *) Изменение: теперь вÑе методы Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_perl_module возвращают + значениÑ, Ñкопированные в памÑÑ‚ÑŒ, выделенную perl'ом. + + *) ИÑправление: еÑли nginx был Ñобран Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_perl_module, + иÑпользовалÑÑ perl до верÑии 5.8.6 и perl поддерживал потоки, то во + Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ оÑновной процеÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ выходил; ошибка + поÑвилаÑÑŒ в 0.5.9. + СпаÑибо БориÑу Жмурову. + + *) ИÑправление: в методы Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_perl_module могли передаватьÑÑ + неверные результаты Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных выражениÑÑ…. + + *) ИÑправление: еÑли метод $r->has_request_body() вызывалÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа, + у которого небольшое тело запроÑа было уже полноÑтью получено, то в + рабочем процеÑÑе проиÑходил segmentation fault. + + *) ИÑправление: large_client_header_buffers не оÑвобождалиÑÑŒ перед + переходом в ÑоÑтоÑние keep-alive. + СпаÑибо ОлекÑандру Штепе. + + *) ИÑправление: в переменной $upstream_addr не запиÑывалÑÑ Ð¿Ð¾Ñледний + адреÑ; ошибка поÑвилаÑÑŒ в 0.6.18. + + *) ИÑправление: директива fastcgi_catch_stderr не возвращала ошибку; + теперь она возвращает ошибку 502, которую можно направить на + Ñледующий Ñервер Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "fastcgi_next_upstream invalid_header". + + *) ИÑправление: при иÑпользовании директивы fastcgi_catch_stderr в + оÑновном процеÑÑе проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в + 0.6.10. + СпаÑибо Manlio Perillo. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.21 03.12.2007 + + *) Изменение: еÑли в значениÑÑ… переменных директивы proxy_pass + иÑпользуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ IP-адреÑа, то указывать resolver не нужно. + + *) ИÑправление: при иÑпользовании директивы proxy_pass c URI-чаÑтью в + рабочем процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в + 0.6.19. + + *) ИÑправление: еÑли resolver иÑпользовалÑÑ Ð½Ð° платформах, не + поддерживающих метод kqueue, то nginx выдавал alert "name is out of + response". + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: При иÑпользовании переменной $server_protocol в + FastCGI-параметрах и запроÑе, длина которого была близка к значению + директивы client_header_buffer_size, nginx выдавал alert "fastcgi: + the request record is too big". + + *) ИÑправление: при обычном запроÑе верÑии HTTP/0.9 к HTTPS Ñерверу + nginx возвращал обычный ответ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.20 28.11.2007 + + *) ИÑправление: при иÑпользовании директивы proxy_pass c URI-чаÑтью в + рабочем процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в + 0.6.19. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.19 27.11.2007 + + *) ИÑправление: верÑÐ¸Ñ 0.6.18 не ÑобиралаÑÑŒ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.18 27.11.2007 + + *) Изменение: теперь модуль ngx_http_userid_module в поле куки Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ + процеÑÑа добавлÑет микроÑекунды на Ð²Ñ€ÐµÐ¼Ñ Ñтарта. + + *) Изменение: в error_log теперь запиÑываетÑÑ Ð¿Ð¾Ð»Ð½Ð°Ñ Ñтрока запроÑа + вмеÑто только URI. + + *) Добавление: директива proxy_pass поддерживает переменные. + + *) Добавление: директивы resolver и resolver_timeout. + + *) Добавление: теперь директива "add_header last-modified ''" удалÑет в + заголовке ответа Ñтроку "Last-Modified". + + *) ИÑправление: директива limit_rate не позволÑла передавать на полной + ÑкороÑти, даже еÑли был указан очень большой лимит. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.17 15.11.2007 + + *) Добавление: поддержка Ñтроки "If-Range" в заголовке запроÑа. + СпаÑибо ÐлекÑандру Инюхину. + + *) ИÑправление: при иÑпользовании директивы msie_refresh повторно + ÑкранировалиÑÑŒ уже Ñкранированные Ñимволы; ошибка поÑвилаÑÑŒ в 0.6.4. + + *) ИÑправление: директива autoindex не работала при иÑпользовании "alias + /". + + *) ИÑправление: при иÑпользовании подзапроÑов в рабочем процеÑÑе мог + произойти segmentation fault. + + *) ИÑправление: при иÑпользовании SSL и gzip большие ответы могли + передаватьÑÑ Ð½Ðµ полноÑтью. + + *) ИÑправление: еÑли ответ прокÑированного Ñервера был верÑии HTTP/0.9, + то Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $status была равна 0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.16 29.10.2007 + + *) Изменение: теперь на Linux иÑпользуетÑÑ uname(2) вмеÑто procfs. + СпаÑибо Илье Ðовикову. + + *) ИÑправление: еÑли в директиве error_page иÑпользовалÑÑ Ñимвол "?", то + он ÑкранировалÑÑ Ð¿Ñ€Ð¸ прокÑировании запроÑа; ошибка поÑвилаÑÑŒ в + 0.6.11. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ mget. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.15 22.10.2007 + + *) Добавление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ Cygwin. + СпаÑибо Владимиру Кутакову. + + *) Добавление: директива merge_slashes. + + *) Добавление: директива gzip_vary. + + *) Добавление: директива server_tokens. + + *) ИÑправление: nginx не раÑкодировал URI в команде SSI include. + + *) ИÑправление: при иÑпользовании переменной в директивах charset или + source_charset на Ñтарте или во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ проиÑходил + segmentation fault, + + *) ИÑправление: nginx возвращал ошибку 400 на запроÑÑ‹ вида + "GET http://www.domain.com HTTP/1.0". + СпаÑибо James Oakley. + + *) ИÑправление: поÑле Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа Ñ Ñ‚ÐµÐ»Ð¾Ð¼ запроÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + директивы error_page nginx пыталÑÑ Ñнова прочитать тело запроÑа; + ошибка поÑвилаÑÑŒ в 0.6.7. + + *) ИÑправление: в рабочем процеÑÑе проиÑходил segmentation fault, еÑли у + Ñервера, обрабатывающему запроÑ, не был Ñвно определён server_name; + ошибка поÑвилаÑÑŒ в 0.6.7. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.14 15.10.2007 + + *) Изменение: теперь по умолчанию команда SSI echo иÑпользует + кодирование entity. + + *) Добавление: параметр encoding в команде SSI echo. + + *) Добавление: директиву access_log можно иÑпользовать внутри блока + limit_except. + + *) ИÑправление: еÑли вÑе Ñервера апÑтрима оказывалиÑÑŒ недоÑтупными, то + до воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð¾ÑпоÑобноÑти у вÑех Ñерверов Ð²ÐµÑ ÑтановилÑÑ + равным одному; ошибка поÑвилаÑÑŒ в 0.6.6. + + *) ИÑправление: при иÑпользовании переменных $date_local и $date_gmt вне + Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_ssi_filter_module в рабочем процеÑÑе проиÑходил + segmentation fault. + + *) ИÑправление: при иÑпользовании включённом отладочном логе в рабочем + процеÑÑе мог произойти segmentation fault. + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: ngx_http_memcached_module не уÑтанавливал $upstream_response_time. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: рабочий процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ Ð¿Ñ€Ð¸ иÑпользовании memcached. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÒÁÓÐÏÚÎÁ×ÁÌ ÐÁÒÁÍÅÔÒÙ "close" É "keep-alive" × - ÓÔÒÏËÅ "Connection" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ÔÏÌØËÏ, ÅÓÌÉ ÏÎÉ ÂÙÌÉ × - ÎÉÖÎÅÍ ÒÅÇÉÓÔÒÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.11. - - *) éÓÐÒÁ×ÌÅÎÉÅ: sub_filter ÎÅ ÒÁÂÏÔÁÌ Ó ÐÕÓÔÏÊ ÓÔÒÏËÏÊ ÚÁÍÅÎÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÁÒÓÉÎÇÅ sub_filter. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.13 24.09.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁËÒÙ×ÁÌ ÆÁÊÌ ËÁÔÁÌÏÇÁ ÄÌÑ ÚÁÐÒÏÓÁ HEAD, ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÓÑ autoindex - óÐÁÓÉÂÏ Arkadiusz Patyk. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.12 21.09.2007 - - *) éÚÍÅÎÅÎÉÅ: ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÒÁÚÄẠ̊ΠÎÁ ÔÒÉ ÍÏÄÕÌÑ: pop3, imap - É smtp. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ ËÏÎÆÉÇÕÒÁÃÉÉ --without-mail_pop3_module, - --without-mail_imap_module É --without-mail_smtp_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù smtp_greeting_delay É smtp_client_buffer - ÍÏÄÕÌÑ ngx_mail_smtp_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: wildcard × ËÏÎÃÅ ÉÍÅÎÉ ÓÅÒ×ÅÒÁ ÎÅ ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.6.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÁÚÄÅÌÑÅÍÏÊ ÂÉÂÌÉÏÔÅËÉ PCRE, - ÒÁÓÐÏÌÏÖÅÎÎÏÊ × ÎÅÓÔÁÎÄÁÒÔÎÏÍ ÍÅÓÔÅ, nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ Solaris. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_hide_header É fastcgi_hide_header ÎÅ - ÓËÒÙ×ÁÌÉ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ Ó ÉÍÅÎÅÍ ÂÏÌØÛÅ 32 ÓÉÍ×ÏÌÏ×. - óÐÁÓÉÂÏ Manlio Perillo. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.11 11.09.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÞ£ÔÞÉË ÁËÔÉ×ÎÙÈ ÓÏÅÄÉÎÅÎÉÊ ×ÓÅÇÄÁ ÒÏÓ ÐÒÉ - ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÜËÅÎÄ ×ÏÚ×ÒÁÝÁÌ ÔÏÌØËÏ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÐÒÉ - ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÍ ÐÒÏËÓÉÒÏ×ÁÎÉÉ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÅ Ó - ÂÜËÅÎÄÏÍ ÐÏ ÔÁÊÍÁÕÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÎÅÓËÏÌØËÏ ÓÔÒÏË "Connection" × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÓÅÒ×ÅÒÅ ÁÐÓÔÒÉÍÁ ÂÙÌ ÚÁÄÁÎ max_fails, ÔÏ ÐÏÓÌÅ - ÐÅÒ×ÏÊ ÖÅ ÎÅÕÄÁÞÎÏÊ ÐÏÐÙÔËÉ ×ÅÓ ÓÅÒ×ÅÒÁ ÎÁ×ÓÅÇÄÁ ÓÔÁÎÏ×ÉÌÓÑ ÒÁ×ÎÙÍ - ÏÄÎÏÍÕ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.10 03.09.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù open_file_cache, open_file_cache_retest É + *) ИÑправление: nginx раÑпознавал параметры "close" и "keep-alive" в + Ñтроке "Connection" в заголовке запроÑа только, еÑли они были в + нижнем региÑтре; ошибка поÑвилаÑÑŒ в 0.6.11. + + *) ИÑправление: sub_filter не работал Ñ Ð¿ÑƒÑтой Ñтрокой замены. + + *) ИÑправление: в парÑинге sub_filter. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.13 24.09.2007 + + *) ИÑправление: nginx не закрывал файл каталога Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа HEAD, еÑли + иÑпользовалÑÑ autoindex + СпаÑибо Arkadiusz Patyk. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.12 21.09.2007 + + *) Изменение: почтовый прокÑи-Ñервер разделён на три модулÑ: pop3, imap + и smtp. + + *) Добавление: параметры конфигурации --without-mail_pop3_module, + --without-mail_imap_module и --without-mail_smtp_module. + + *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_mail_smtp_module. + + *) ИÑправление: wildcard в конце имени Ñервера не работали; ошибка + поÑвилаÑÑŒ в 0.6.9. + + *) ИÑправление: при иÑпользовании разделÑемой библиотеки PCRE, + раÑположенной в неÑтандартном меÑте, nginx не запуÑкалÑÑ Ð½Ð° Solaris. + + *) ИÑправление: директивы proxy_hide_header и fastcgi_hide_header не + Ñкрывали Ñтроки заголовка ответа Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ больше 32 Ñимволов. + СпаÑибо Manlio Perillo. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.11 11.09.2007 + + *) ИÑправление: Ñчётчик активных Ñоединений вÑегда Ñ€Ð¾Ñ Ð¿Ñ€Ð¸ иÑпользовании + почтового прокÑи-Ñервера. + + *) ИÑправление: еÑли бÑкенд возвращал только заголовок ответа при + небуферизированном прокÑировании, то nginx закрывал Ñоединение Ñ + бÑкендом по таймауту. + + *) ИÑправление: nginx не поддерживал неÑколько Ñтрок "Connection" в + заголовке запроÑа. + + *) ИÑправление: еÑли в Ñервере апÑтрима был задан max_fails, то поÑле + первой же неудачной попытки Ð²ÐµÑ Ñервера навÑегда ÑтановилÑÑ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ + одному; ошибка поÑвилаÑÑŒ в 0.6.6. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.10 03.09.2007 + + *) Добавление: директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÔÅÞËÉ ÓÏËÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÷ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ "Content-Type", ÕËÁÚÁÎÎÕÀ × - ÍÅÔÏÄÅ $r->send_http_header(), ÎÅ ÄÏÂÁ×ÌÑÌÁÓØ ËÏÄÉÒÏ×ËÁ, ÕËÁÚÁÎÎÁÑ × - ÄÉÒÅËÔÉ×Å charset. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ /dev/poll × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ - ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.9 28.08.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÐÒÏÔÏËÏÌÁ HTTPS; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÓÅÒ×ÅÒ ÓÌÕÛÁÌ ÎÁ Ä×ÕÈ ÁÄÒÅÓÁÈ ÉÌÉ ÐÏÒÔÁÈ, ÔÏ nginx - ÎÅ ÚÁÐÕÓËÁÌÓÑ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ wildcard × ËÏÎÃÅ ÉÍÅÎÉ ÓÅÒ×ÅÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ip_hash ÍÏÇÌÁ ÎÅ×ÅÒÎÏ ÐÏÍÅÞÁÔØ ÓÅÒ×ÅÒÁ ËÁË - ÎÅÒÁÂÏÞÉÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ amd64; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.8. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.8 20.08.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÙÔÁÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ ÄÉÒÅËÔÉ×Ù - worker_priority, worker_rlimit_nofile, worker_rlimit_core, - worker_rlimit_sigpending ÂÅÚ ÐÒÉ×ÉÌÅÇÉÊ root'Á. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÓÉÍ×ÏÌÙ ÐÒÏÂÅÌÁ É "%" ÐÒÉ - ÐÅÒÅÄÁÞÅ ÚÁÐÒÏÓÁ ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÐÏÞÔÏ×ÏÇÏ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÁ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÓÉÍ×ÏÌ "%" × ÐÅÒÅÍÅÎÎÏÊ - $memcached_key. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÕËÁÚÁÎÉÉ ÏÔÎÏÓÉÔÅÌØÎÏÇÏ ÐÕÔÉ Ë ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍÕ - ÆÁÊÌÕ × ËÁÞÅÓÔ×Å ÐÁÒÁÍÅÔÒÁ ËÌÀÞÁ -c nginx ÏÐÒÅÄÅÌÑÌ ÐÕÔØ - ÏÔÎÏÓÉÔÅÌØÎÏ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÐÒÅÆÉËÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ FreeBSD/sparc64. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.7 15.08.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÕÔÉ, ÕËÁÚÁÎÎÙÅ × ÄÉÒÅËÔÉ×ÁÈ include, - auth_basic_user_file, perl_modules, ssl_certificate, - ssl_certificate_key É ssl_client_certificate, ÏÐÒÅÄÅÌÑÀÔÓÑ - ÏÔÎÏÓÉÔÅÌØÎÏ ËÁÔÁÌÏÇÁ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ nginx.conf, Á ÎÅ - ÏÔÎÏÓÉÔÅÌØÎÏ ÐÒÅÆÉËÓÁ. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ --sysconfdir=PATH × configure ÕÐÒÁÚÄΣÎ. - - *) éÚÍÅÎÅÎÉÅ: ÄÌÑ ÏÂÎÏ×ÌÅÎÉÑ ÎÁ ÌÅÔÕ ×ÅÒÓÉÊ 0.1.x ÓÏÚÄÁÎ ÓÐÅÃÉÁÌØÎÙÊ - ÓÃÅÎÁÒÉÊ make upgrade1. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù server_name É valid_referers ÐÏÄÄÅÒÖÉ×ÁÀÔ - ÒÅÇÕÌÑÒÎÙÅ ×ÙÒÁÖÅÎÉÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ - backup. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ - $r->discard_request_body. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "add_header Last-Modified ..." ÍÅÎÑÅÔ ÓÔÒÏËÕ - "Last-Modified" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÎÁ ÚÁÐÒÏÓ Ó ÔÅÌÏÍ ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ Ó ËÏÄÏÍ HTTP - ÏÔÌÉÞÎÙÍ ÏÔ 200, É ÐÏÓÌÅ ÜÔÏÇÏ ÚÁÐÒÏÓÁ ÓÏÅÄÉÎÅÎÉÅ ÐÅÒÅÈÏÄÉÌÏ × - ÓÏÓÔÏÑÎÉÅ keep-alive, ÔÏ ÎÁ ÓÌÅÄÕÀÝÉÊ ÚÁÐÒÏÓ nginx ×ÏÚ×ÒÁÝÁÌ 400. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å auth_http ÂÙÌ ÚÁÄÁÎ ÎÅÐÒÁ×ÉÌØÎÙÊ - ÁÄÒÅÓ, ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ nginx ÉÓÐÏÌØÚÕÅÔ ÚÎÁÞÅÎÉÅ 511 ÄÌÑ - listen backlog ÎÁ ×ÓÅÈ ÐÌÁÔÆÏÒÍÁÈ, ËÒÏÍÅ FreeBSD. - óÐÁÓÉÂÏ Jiang Hong. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ, ÅÓÌÉ server × ÂÌÏËÅ - upstream ÂÙÌ ÐÏÍÅÞÅÎ ËÁË down; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: sendfilev() × Solaris ÔÅÐÅÒØ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÉ - ÐÅÒÅÄÁÞÅ ÔÅÌÁ ÚÁÐÒÏÓÁ FastCGI-ÓÅÒ×ÅÒÕ ÞÅÒÅÚ unix domain ÓÏËÅÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.6 30.07.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ --sysconfdir=PATH × configure. - - *) äÏÂÁ×ÌÅÎÉÅ: ÉÍÅÎÏ×ÁÎÎÙÅ location'Ù. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÕÀ $args ÍÏÖÎÏ ÕÓÔÁÎÁ×ÌÉ×ÁÔØ Ó ÐÏÍÏÝØÀ set. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $is_args. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁ×ÎÏÍÅÒÎÏÅ ÒÁÓÐÒÅÄÅÌÅÎÉÅ ÚÁÐÒÏÓÏ× Ë ÁÐÓÔÒÉÍÁÍ Ó - ÂÏÌØÛÉÍÉ ×ÅÓÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ËÌÉÅÎÔ × ÐÏÞÔÏ×ÏÍ ÐÒÏËÓÉ-ÓÅÒ×ÅÒÅ ÚÁËÒÙ×ÁÌ - ÓÏÅÄÉÎÅÎÉÅ, ÔÏ nginx ÍÏÇ ÎÅ ÚÁËÒÙ×ÁÔØ ÓÏÅÄÉÎÅÎÉÅ Ó ÂÜËÅÎÄÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÄÎÏÇÏ ÈÏÓÔÁ × ËÁÞÅÓÔ×Å ÂÜËÅÎÄÏ× ÄÌÑ - ÐÒÏÔÏËÏÌÏ× HTTP É HTTPS ÂÅÚ Ñ×ÎÏÇÏ ÕËÁÚÁÎÉÑ ÐÏÒÔÏ×, nginx - ÉÓÐÏÌØÚÏ×ÁÌ ÔÏÌØËÏ ÏÄÉÎ ÐÏÒÔ - 80 ÉÌÉ 443. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris/amd64 Sun Studio 11 É - ÂÏÌÅÅ ÒÁÎÎÉÍÉ ×ÅÒÓÉÑÍÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.6.4. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.5 23.07.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $nginx_version. - óÐÁÓÉÂÏ îÉËÏÌÁÀ çÒÅÞÕÈÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ AUTHENTICATE × - ÒÅÖÉÍÅ IMAP. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ STARTTLS × ÒÅÖÉÍÅ - SMTP. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÜËÒÁÎÉÒÕÅÔ ÐÒÏÂÅÌ × ÐÅÒÅÍÅÎÎÏÊ + *) ИÑправление: утечки Ñокетов; ошибка поÑвилаÑÑŒ в 0.6.7. + + *) ИÑправление: Ð’ Ñтроку заголовка ответа "Content-Type", указанную в + методе $r->send_http_header(), не добавлÑлаÑÑŒ кодировка, ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð² + директиве charset. + + *) ИÑправление: при иÑпользовании метода /dev/poll в рабочем процеÑÑе + мог произойти segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.9 28.08.2007 + + *) ИÑправление: рабочий процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ Ð¿Ñ€Ð¸ иÑпользовании + протокола HTTPS; ошибка поÑвилаÑÑŒ в 0.6.7. + + *) ИÑправление: еÑли Ñервер Ñлушал на двух адреÑах или портах, то nginx + не запуÑкалÑÑ Ð¿Ñ€Ð¸ иÑпользовании wildcard в конце имени Ñервера. + + *) ИÑправление: директива ip_hash могла неверно помечать Ñервера как + нерабочие. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° amd64; ошибка поÑвилаÑÑŒ в 0.6.8. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.8 20.08.2007 + + *) Изменение: теперь nginx пытаетÑÑ ÑƒÑтановить директивы + worker_priority, worker_rlimit_nofile, worker_rlimit_core, + worker_rlimit_sigpending без привилегий root'а. + + *) Изменение: теперь nginx Ñкранирует Ñимволы пробела и "%" при передаче + запроÑа Ñерверу аутентификации почтового прокÑи-Ñервера. + + *) Изменение: теперь nginx Ñкранирует Ñимвол "%" в переменной $memcached_key. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅÐÒÁ×ÉÌØÎÏ ÓÏÂÉÒÁÌÓÑ Sun Studio ÎÁ - Solaris/amd64. - óÐÁÓÉÂÏ Jiang Hong. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅÚÎÁÞÉÔÅÌØÎÙÈ ÐÏÔÅÎÃÉÁÌØÎÙÈ ÏÛÉÂÏË. - óÐÁÓÉÂÏ Coverity's Scan. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.4 17.07.2007 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù msie_refresh ÂÙÌ ×ÏÚÍÏÖÅÎ + *) ИÑправление: при указании отноÑительного пути к конфигурационному + файлу в качеÑтве параметра ключа -c nginx определÑл путь отноÑительно + конфигурационного префикÑа; ошибка поÑвилаÑÑŒ в 0.6.6. + + *) ИÑправление: nginx не работал на FreeBSD/sparc64. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.7 15.08.2007 + + *) Изменение: теперь пути, указанные в директивах include, + auth_basic_user_file, perl_modules, ssl_certificate, + ssl_certificate_key и ssl_client_certificate, определÑÑŽÑ‚ÑÑ + отноÑительно каталога конфигурационного файла nginx.conf, а не + отноÑительно префикÑа. + + *) Изменение: параметр --sysconfdir=PATH в configure упразднён. + + *) Изменение: Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° лету верÑий 0.1.x Ñоздан Ñпециальный + Ñценарий make upgrade1. + + *) Добавление: директивы server_name и valid_referers поддерживают + регулÑрные выражениÑ. + + *) Добавление: директива server в блоке upstream поддерживает параметр + backup. + + *) Добавление: модуль ngx_http_perl_module поддерживает метод + $r->discard_request_body. + + *) Добавление: директива "add_header Last-Modified ..." менÑет Ñтроку + "Last-Modified" в заголовке ответа. + + *) ИÑправление: еÑли на Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ Ñ‚ÐµÐ»Ð¾Ð¼ возвращалÑÑ Ð¾Ñ‚Ð²ÐµÑ‚ Ñ ÐºÐ¾Ð´Ð¾Ð¼ HTTP + отличным от 200, и поÑле Ñтого запроÑа Ñоединение переходило в + ÑоÑтоÑние keep-alive, то на Ñледующий Ð·Ð°Ð¿Ñ€Ð¾Ñ nginx возвращал 400. + + *) ИÑправление: еÑли в директиве auth_http был задан неправильный адреÑ, + то в рабочем процеÑÑе проиÑходил segmentation fault. + + *) ИÑправление: теперь по умолчанию nginx иÑпользует значение 511 Ð´Ð»Ñ + listen backlog на вÑех платформах, кроме FreeBSD. + СпаÑибо Jiang Hong. + + *) ИÑправление: рабочий процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ, еÑли server в блоке + upstream был помечен как down; ошибка поÑвилаÑÑŒ в 0.6.6. + + *) ИÑправление: sendfilev() в Solaris теперь не иÑпользуетÑÑ Ð¿Ñ€Ð¸ + передаче тела запроÑа FastCGI-Ñерверу через unix domain Ñокет. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.6 30.07.2007 + + *) Добавление: параметр --sysconfdir=PATH в configure. + + *) Добавление: именованные location'Ñ‹. + + *) Добавление: переменную $args можно уÑтанавливать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ set. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $is_args. + + *) ИÑправление: равномерное раÑпределение запроÑов к апÑтримам Ñ + большими веÑами. + + *) ИÑправление: еÑли клиент в почтовом прокÑи-Ñервере закрывал + Ñоединение, то nginx мог не закрывать Ñоединение Ñ Ð±Ñкендом. + + *) ИÑправление: при иÑпользовании одного хоÑта в качеÑтве бÑкендов Ð´Ð»Ñ + протоколов HTTP и HTTPS без Ñвного ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñ€Ñ‚Ð¾Ð², nginx иÑпользовал + только один порт - 80 или 443. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Solaris/amd64 Sun Studio 11 и + более ранними верÑиÑми; ошибка поÑвилаÑÑŒ в 0.6.4. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.5 23.07.2007 + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $nginx_version. + СпаÑибо Ðиколаю Гречуху. + + *) Добавление: почтовый прокÑи-Ñервер поддерживает AUTHENTICATE в режиме + IMAP. + СпаÑибо МакÑиму Дунину. + + *) Добавление: почтовый прокÑи-Ñервер поддерживает STARTTLS в режиме + SMTP. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: теперь nginx Ñкранирует пробел в переменной + $memcached_key. + + *) ИÑправление: nginx неправильно ÑобиралÑÑ Sun Studio на Solaris/amd64. + СпаÑибо Jiang Hong. + + *) ИÑправление: незначительных потенциальных ошибок. + СпаÑибо Coverity's Scan. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.4 17.07.2007 + + *) БезопаÑноÑÑ‚ÑŒ: при иÑпользовании директивы msie_refresh был возможен XSS. - óÐÁÓÉÂÏ íÁËÓÉÍÕ âÏÇÕËÕ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store ÉÚÍÅÎÅÎÙ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_store_access É fastcgi_store_access. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Solaris/sparc64, ÅÓÌÉ ÂÙÌ ÓÏÂÒÁÎ - Sun Studio. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ × Sun Studio 12. - óÐÁÓÉÂÏ Jiang Hong. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.3 12.07.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_store É fastcgi_store. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_http_header × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ CRAM-MD5, ÎÏ ÏÎ - ÎÅ ÂÙÌ ÒÁÚÒÅÛ£Î, ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å - proxy_pass × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault, - ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ eventport. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_ignore_client_abort É - fastcgi_ignore_client_abort ÎÅ ÒÁÂÏÔÁÌÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.13. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.2 09.07.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÂÙÌ ÒÁÚÄÅÌ£Î × FastCGI-ÚÁÐÉÓÑÈ, - ÔÏ nginx ÐÅÒÅÄÁ×ÁÌ ËÌÉÅÎÔÕ ÍÕÓÏÒ × ÔÁËÉÈ ÚÁÇÏÌÏ×ËÁÈ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.1 17.06.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÁÒÓÉÎÇÅ SSI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÕÄÁÌ£ÎÎÏÇÏ ÐÏÄÚÁÐÒÏÓÁ × SSI - ÐÏÓÌÅÄÕÀÝÉÊ ÐÏÄÚÁÐÒÏÓ ÌÏËÁÌØÎÏÇÏ ÆÁÊÌÁ ÍÏÇ ÏÔÄÁ×ÁÔØÓÑ ËÌÉÅÎÔÕ × - ÎÅ×ÅÒÎÏÍ ÐÏÒÑÄËÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÏÌØÛÉÅ ×ËÌÀÞÅÎÉÑ × SSI, ÓÏÈÒÁΣÎÎÙÅ ×Ï ×ÒÅÍÅÎÎÙÅ - ÆÁÊÌÙ, ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÎÁÞÅÎÉÅ perl'Ï×ÏÊ ÐÅÒÅÍÅÎÎÏÊ $$ ÍÏÄÕÌÑ - ngx_http_perl_module ÂÙÌÏ ÒÁ×ÎÏ ÎÏÍÅÒÕ ÇÌÁ×ÎÏÇÏ ÐÒÏÃÅÓÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.6.0 14.06.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù "server_name", "map", and "valid_referers" - ÐÏÄÄÅÒÖÉ×ÁÀÔ ÍÁÓËÉ ×ÉÄÁ "www.example.*". - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.25 11.06.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ - --without-http_rewrite_module; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.24. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.24 06.06.2007 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÄÉÒÅËÔÉ×Á ssl_verify_client ÎÅ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ ÚÁÐÒÏÓ - ×ÙÐÏÌÎÑÌÓÑ ÐÏ ÐÒÏÔÏËÏÌÕ HTTP/0.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÖÁÔÉÑ ÞÁÓÔØ ÏÔ×ÅÔÁ ÍÏÇÌÁ - ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅÓÖÁÔÏÊ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.23. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.23 04.06.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÓÛÉÒÅÎÉÅ TLS + СпаÑибо МакÑиму Богуку. + + *) Изменение: директивы proxy_store и fastcgi_store изменены. + + *) Добавление: директивы proxy_store_access и fastcgi_store_access. + + *) ИÑправление: nginx не работал на Solaris/sparc64, еÑли был Ñобран Sun + Studio. + СпаÑибо Ðндрею Ðигматулину. + + *) Изменение: обход ошибки в Sun Studio 12. + СпаÑибо Jiang Hong. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.3 12.07.2007 + + *) Добавление: директивы proxy_store и fastcgi_store. + + *) ИÑправление: при иÑпользовании директивы auth_http_header в рабочем + процеÑÑе мог произойти segmentation fault. + СпаÑибо МакÑиму Дунину. + + *) ИÑправление: еÑли иÑпользовалÑÑ Ð¼ÐµÑ‚Ð¾Ð´ аутентификации CRAM-MD5, но он + не был разрешён, то в рабочем процеÑÑе проиÑходил segmentation fault. + + *) ИÑправление: при иÑпользовании протокола HTTPS в директиве proxy_pass + в рабочем процеÑÑе мог произойти segmentation fault. + + *) ИÑправление: в рабочем процеÑÑе мог произойти segmentation fault, + еÑли иÑпользовалÑÑ Ð¼ÐµÑ‚Ð¾Ð´ eventport. + + *) ИÑправление: директивы proxy_ignore_client_abort и + fastcgi_ignore_client_abort не работали; ошибка поÑвилаÑÑŒ в 0.5.13. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.2 09.07.2007 + + *) ИÑправление: еÑли заголовок ответа был разделён в FastCGI-запиÑÑÑ…, то + nginx передавал клиенту муÑор в таких заголовках. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.1 17.06.2007 + + *) ИÑправление: в парÑинге SSI. + + *) ИÑправление: при иÑпользовании удалённого подзапроÑа в SSI + поÑледующий Ð¿Ð¾Ð´Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ файла мог отдаватьÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñƒ в + неверном порÑдке. + + *) ИÑправление: большие Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² SSI, Ñохранённые во временные файлы, + передавалиÑÑŒ не полноÑтью. + + *) ИÑправление: значение perl'овой переменной $$ Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_perl_module было равно номеру главного процеÑÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.6.0 14.06.2007 + + *) Добавление: директивы "server_name", "map", and "valid_referers" + поддерживают маÑки вида "www.example.*". + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.25 11.06.2007 + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ + --without-http_rewrite_module; ошибка поÑвилаÑÑŒ в 0.5.24. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.24 06.06.2007 + + *) БезопаÑноÑÑ‚ÑŒ: директива ssl_verify_client не работала, еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ + выполнÑлÑÑ Ð¿Ð¾ протоколу HTTP/0.9. + + *) ИÑправление: при иÑпользовании ÑÐ¶Ð°Ñ‚Ð¸Ñ Ñ‡Ð°ÑÑ‚ÑŒ ответа могла передаватьÑÑ + неÑжатой; ошибка поÑвилаÑÑŒ в 0.5.23. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.23 04.06.2007 + + *) Добавление: модуль ngx_http_ssl_module поддерживает раÑширение TLS Server Name Indication. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_catch_stderr. - óÐÁÓÉÂÏ îÉËÏÌÁÀ çÒÅÞÕÈÕ, ÐÒÏÅËÔ OWOX. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ ìÉÎÕËÓÅ × ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ segmentation - fault, ÅÓÌÉ Ä×Á ×ÉÒÔÕÁÌØÎÙÈ ÓÅÒ×ÅÒÁ ÄÏÌÖÎÙ bind()ÉÔÓÑ Ë - ÐÅÒÅÓÅËÁÀÝÉÍÓÑ ÐÏÒÔÁÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É - perl ÐÏÄÄÅÒÖÉ×ÁÌ ÐÏÔÏËÉ, ÔÏ ×Ï ×ÒÅÍÑ ×ÔÏÒÏÊ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ - ×ÙÄÁ×ÁÌÉÓØ ÏÛÉÂËÉ "panic: MUTEX_LOCK" É "perl_parse() failed". - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.22 29.05.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÍÏÇÌÏ ÎÅ ÐÅÒÅÄÁ×ÁÔØÓÑ ÂÜËÅÎÄÕ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.21. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.21 28.05.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÎÕÔÒÉ ÓÅÒ×ÅÒÁ ÏÐÉÓÁÎÏ ÂÏÌØÛÅ ÐÒÉÍÅÒÎÏ ÄÅÓÑÔÉ - location'Ï×, ÔÏ location'Ù, ÚÁÄÁÎÎÙÅ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÏÇÏ - ×ÙÒÁÖÅÎÉÑ, ÍÏÇÌÉ ×ÙÐÏÌÎÑÔØÓÑ ÎÅ × ÔÏÍ, ÐÏÒÑÄËÅ, × ËÁËÏÍ ÏÎÉ ÏÐÉÓÁÎÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ 64-ÂÉÔÎÏÊ ÐÌÁÔÆÏÒÍÅ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ, - ÅÓÌÉ 33-ÔÉÊ ÐÏ ÓÞ£ÔÕ ÉÌÉ ÐÏÓÌÅÄÕÀÝÉÊ ÂÜËÅÎÄ ÕÐÁÌ. - óÐÁÓÉÂÏ áÎÔÏÎÕ ðÏ×ÁÒÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÉÂÌÉÏÔÅËÉ PCRE ÎÁ Solaris/sparc64 - ÍÏÇ ÐÒÏÉÚÏÊÔÉ bus error. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.20 07.05.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á sendfile_max_chunk. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$http_...", "$sent_http_..." É - "$upstream_http_..." ÍÏÖÎÏ ÍÅÎÑÔØ ÄÉÒÅËÔÉ×ÏÊ set. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI-ËÏÍÁÎÄÙ 'if expr="$var = /"' × - ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁ×ÅÒÛÁÀÝÁÑ ÓÔÒÏËÁ multipart range ÏÔ×ÅÔÁ ÐÅÒÅÄÁ×ÁÌÁÓØ - ÎÅ×ÅÒÎÏ. - óÐÁÓÉÂÏ Evan Miller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Solaris/sparc64, ÅÓÌÉ ÂÙÌ ÓÏÂÒÁÎ - Sun Studio. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ make × - Solaris. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.19 24.04.2007 - - *) éÚÍÅÎÅÎÉÅ: ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $request_time ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔÓÑ Ó - ÔÏÞÎÏÓÔØÀ ÄÏ ÍÉÌÌÉÓÅËÕÎÄ. - - *) éÚÍÅÎÅÎÉÅ: ÍÅÔÏÄ $r->rflush × ÍÏÄÕÌÅ ngx_http_perl_module - ÐÅÒÅÉÍÅÎÏ×ÁÎ × $r->flush. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $upstream_addr. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_headers_hash_max_size É + *) Добавление: директива fastcgi_catch_stderr. + СпаÑибо Ðиколаю Гречуху, проект OWOX. + + *) ИÑправление: на ЛинукÑе в оÑновном процеÑÑе проиÑходил segmentation + fault, еÑли два виртуальных Ñервера должны bind()итÑÑ Ðº + переÑекающимÑÑ Ð¿Ð¾Ñ€Ñ‚Ð°Ð¼. + + *) ИÑправление: еÑли nginx был Ñобран Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_perl_module и + perl поддерживал потоки, то во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¹ переконфигурации + выдавалиÑÑŒ ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". + + *) ИÑправление: в иÑпользовании протокола HTTPS в директиве proxy_pass. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.22 29.05.2007 + + *) ИÑправление: большое тело запроÑа могло не передаватьÑÑ Ð±Ñкенду; + ошибка поÑвилаÑÑŒ в 0.5.21. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.21 28.05.2007 + + *) ИÑправление: еÑли внутри Ñервера опиÑано больше примерно деÑÑти + location'ов, то location'Ñ‹, заданные Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ регулÑрного выражениÑ, + могли выполнÑÑ‚ÑŒÑÑ Ð½Ðµ в том, порÑдке, в каком они опиÑаны. + + *) ИÑправление: на 64-битной платформе рабочий процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ, + еÑли 33-тий по Ñчёту или поÑледующий бÑкенд упал. + СпаÑибо Ðнтону Поварову. + + *) ИÑправление: при иÑпользовании библиотеки PCRE на Solaris/sparc64 мог + произойти bus error. + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: в иÑпользовании протокола HTTPS в директиве proxy_pass. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.20 07.05.2007 + + *) Добавление: директива sendfile_max_chunk. + + *) Добавление: переменные "$http_...", "$sent_http_..." и + "$upstream_http_..." можно менÑÑ‚ÑŒ директивой set. + + *) ИÑправление: при иÑпользовании SSI-команды 'if expr="$var = /"' в + рабочем процеÑÑе мог произойти segmentation fault. + + *) ИÑправление: Ð·Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð°Ñ Ñтрока multipart range ответа передавалаÑÑŒ + неверно. + СпаÑибо Evan Miller. + + *) ИÑправление: nginx не работал на Solaris/sparc64, еÑли был Ñобран Sun + Studio. + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: модуль ngx_http_perl_module не ÑобиралÑÑ make в Solaris. + СпаÑибо Ðндрею Ðигматулину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.19 24.04.2007 + + *) Изменение: значение переменной $request_time теперь запиÑываетÑÑ Ñ + точноÑтью до миллиÑекунд. + + *) Изменение: метод $r->rflush в модуле ngx_http_perl_module + переименован в $r->flush. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_addr. + + *) Добавление: директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size. - óÐÁÓÉÂÏ ÷ÏÌÏÄÙÍÙÒÕ ëÏÓÔÙÒËÏ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile É limit_rate ÎÁ 64-ÂÉÔÎÙÈ - ÐÌÁÔÆÏÒÍÁÈ ÎÅÌØÚÑ ÂÙÌÏ ÐÅÒÅÄÁ×ÁÔØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile ÎÁ 64-ÂÉÔÎÏÍ Linux ÎÅÌØÚÑ - ÂÙÌÏ ÐÅÒÅÄÁ×ÁÔØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.18 19.04.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_sub_filter_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$upstream_http_...". - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÅÒÅÍÅÎÎÙÅ $upstream_status É - $upstream_response_time ÓÏÄÅÒÖÁÔ ÄÁÎÎÙÅ Ï ×ÓÅÈ ÏÂÒÁÝÅÎÉÑÈ Ë - ÁÐÓÔÒÉÍÁÍ, ÓÄÅÌÁÎÎÙÍ ÄÏ X-Accel-Redirect. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ ngx_http_perl_module É - perl ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ multiplicity, ÔÏ ÐÏÓÌÅ ÐÅÒ×ÏÊ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ É - ÐÏÓÌÅ ÐÏÌÕÞÅÎÉÑ ÌÀÂÏÇÏ ÓÉÇÎÁÌÁ × ÏÓÎÏ×ÎÏÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ perl ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ multiplicity, ÔÏ ÐÏÓÌÅ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÅÒÌÏ×ÙÊ ËÏÄ ÎÅ ÒÁÂÏÔÁÌ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.17 02.04.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÄÌÑ ÍÅÔÏÄÁ TRACE ×ÓÅÇÄÁ ×ÏÚ×ÒÁÝÁÅÔ ËÏÄ 405. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÉÒÅËÔÉ×Õ include ×ÎÕÔÒÉ ÂÌÏËÁ + СпаÑибо Володымыру КоÑтырко. + + *) ИÑправление: при иÑпользовании sendfile и limit_rate на 64-битных + платформах Ð½ÐµÐ»ÑŒÐ·Ñ Ð±Ñ‹Ð»Ð¾ передавать файлы больше 2G. + + *) ИÑправление: при иÑпользовании sendfile на 64-битном Linux Ð½ÐµÐ»ÑŒÐ·Ñ + было передавать файлы больше 2G. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.18 19.04.2007 + + *) Добавление: модуль ngx_http_sub_filter_module. + + *) Добавление: переменные "$upstream_http_...". + + *) Добавление: теперь переменные $upstream_status и + $upstream_response_time Ñодержат данные о вÑех обращениÑÑ… к + апÑтримам, Ñделанным до X-Accel-Redirect. + + *) ИÑправление: еÑли nginx был Ñобран Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_perl_module и + perl не поддерживал multiplicity, то поÑле первой переконфигурации и + поÑле Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð»ÑŽÐ±Ð¾Ð³Ð¾ Ñигнала в оÑновном процеÑÑе проиÑходил + segmentation fault; ошибка поÑвилаÑÑŒ в 0.5.9. + + *) ИÑправление: еÑли perl не поддерживал multiplicity, то поÑле + переконфигурации перловый код не работал; ошибка поÑвилаÑÑŒ в 0.3.38. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.17 02.04.2007 + + *) Изменение: теперь nginx Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° TRACE вÑегда возвращает код 405. + + *) Добавление: теперь nginx поддерживает директиву include внутри блока types. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $document_root × ÄÉÒÅËÔÉ×Å - root É alias ÚÁÐÒÅÝÅÎÏ: ÏÎÏ ×ÙÚÙ×ÁÌÏ ÒÅËÕÒÓÉ×ÎÏÅ ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÅËÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÎÅËÏÔÏÒÙÈ ÓÌÕÞÁÑÈ ÎÅËÜÛÉÒÕÅÍÙÅ ÐÅÒÅÍÅÎÎÙÅ (ÔÁËÉÅ, ËÁË - $uri) ×ÏÚ×ÒÁÝÁÌÉ ÓÔÁÒÏÅ ÚÁËÜÛÉÒÏ×ÁÎÎÏÅ ÚÎÁÞÅÎÉÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.16 26.03.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ËÁÞÅÓÔ×Å ËÌÀÞÁ ÄÌÑ ÈÜÛÁ × ÄÉÒÅËÔÉ×Å ip_hash ÎÅ - ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÓÅÔØ ËÌÁÓÓÁ ó. - óÐÁÓÉÂÏ ðÁ×ÌÕ ñÒËÏ×ÏÍÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÓÔÒÏËÅ "Content-Type" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ - ÂÙÌ ÕËÁÚÁÎ charset É ÓÔÒÏËÁ ÚÁ×ÅÒÛÁÌÁÓØ ÓÉÍ×ÏÌÏÍ ";", ÔÏ × ÒÁÂÏÞÅÍ - ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó - FastCGI-ÓÅÒ×ÅÒÏÍ, ÅÓÌÉ ÔÅÌÏ ÚÁÐÒÏÓÁ, ÚÁÐÉÓÁÎÎÏÅ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ, - ÂÙÌÏ ËÒÁÔÎÏ 32K. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris ÂÅÚ ÐÁÒÁÍÅÔÒÁ - --with-debug; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.15. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.15 19.03.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÞÔÏ×ÙÊ ÐÒÏËÓÉ-ÓÅÒ×ÅÒ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÕÔÅÎÔÉÆÉÃÉÒÏ×ÁÎÎÏÅ - SMTP-ÐÒÏËÓÉÒÏ×ÁÎÉÅ É ÄÉÒÅËÔÉ×Ù smtp_auth, smtp_capablities É - xclient. - óÐÁÓÉÂÏ áÎÔÏÎÕ àÖÁÎÉÎÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ keep-alive ÓÏÅÄÉÎÅÎÉÑ ÚÁËÒÙ×ÁÀÔÓÑ ÓÒÁÚÕ ÖÅ ÐÏ - ÐÏÌÕÞÅÎÉÉ ÓÉÇÎÁÌÁ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù imap É auth ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × mail - É pop3_auth. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ CRAM-MD5 É ÎÅ - ÂÙÌ ÒÁÚÒÅۣΠÍÅÔÏÄ APOP, ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÐÒÏÉÓÈÏÄÉÌ + *) ИÑправление: иÑпользование переменной $document_root в директиве root + и alias запрещено: оно вызывало рекурÑивное переполнение Ñтека. + + *) ИÑправление: в иÑпользовании протокола HTTPS в директиве proxy_pass. + + *) ИÑправление: в некоторых ÑлучаÑÑ… некÑшируемые переменные (такие, как + $uri) возвращали Ñтарое закÑшированное значение. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.16 26.03.2007 + + *) ИÑправление: в качеÑтве ключа Ð´Ð»Ñ Ñ…Ñша в директиве ip_hash не + иÑпользовалаÑÑŒ Ñеть клаÑÑа С. + СпаÑибо Павлу Ярковому. + + *) ИÑправление: еÑли в Ñтроке "Content-Type" в заголовке ответа бÑкенда + был указан charset и Ñтрока завершалаÑÑŒ Ñимволом ";", то в рабочем + процеÑÑе мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.3.50. + + *) ИÑправление: ошибки "[alert] zero size buf" при работе Ñ + FastCGI-Ñервером, еÑли тело запроÑа, запиÑанное во временный файл, + было кратно 32K. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Solaris без параметра + --with-debug; ошибка поÑвилаÑÑŒ в 0.5.15. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.15 19.03.2007 + + *) Добавление: почтовый прокÑи-Ñервер поддерживает аутентифицированное + SMTP-прокÑирование и директивы smtp_auth, smtp_capablities и xclient. + СпаÑибо Ðнтону Южанинову и МакÑиму Дунину. + + *) Добавление: теперь keep-alive ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‚ÑÑ Ñразу же по + получении Ñигнала переконфигурации. + + *) Изменение: директивы imap и auth переименованы ÑоответÑтвенно в mail + и pop3_auth. + + *) ИÑправление: еÑли иÑпользовалÑÑ Ð¼ÐµÑ‚Ð¾Ð´ аутентификации CRAM-MD5 и не + был разрешён метод APOP, то в рабочем процеÑÑе проиÑходил segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù starttls only × ÐÒÏÔÏËÏÌÅ - POP3 nginx ÒÁÚÒÅÛÁÌ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ ÂÅÚ ÐÅÒÅÈÏÄÁ × ÒÅÖÉÍ SSL. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ×ÙÈÏÄÉÌÉ ÐÏÓÌÅ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ É - ÎÅ ÐÅÒÅÏÔËÒÙ×ÁÌÉ ÌÏÇÉ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÍÅÔÏÄ eventport. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù ip_hash ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ - ÚÁÃÉËÌÉÔØÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÎÅ ÐÉÛÅÔ × ÌÏÇ ÎÅËÏÔÏÒÙÅ alert'Ù, ÅÓÌÉ - ÉÓÐÏÌØÚÕÀÔÓÑ ÍÅÔÏÄÙ eventport ÉÌÉ /dev/poll. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.14 23.02.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÌÉÛÎÉÅ ÚÁËÒÙ×ÁÀÝÉÅ ÓËÏÂËÉ "}" × ËÏÎÃÅ - ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.13 19.02.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÅÔÏÄÙ COPY É MOVE. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_realip_module ÕÓÔÁÎÁ×ÌÉ×ÁÌ ÍÕÓÏÒ ÄÌÑ - ÚÁÐÒÏÓÏ×, ÐÅÒÅÄÁÎÎÙÈ ÐÏ keep-alive ÓÏÅÄÉÎÅÎÉÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ 64-ÂÉÔÎÏÍ big-endian Linux. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÊ ËÏÍÁÎÄÙ IMAP/POP3-ÐÒÏËÓÉ - ÔÅÐÅÒØ ÓÒÁÚÕ ÚÁËÒÙ×ÁÅÔ ÓÏÅÄÉÎÅÎÉÅ, Á ÎÅ ÐÏ ÔÁÊÍÁÕÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ epoll ËÌÉÅÎÔ ÚÁËÒÙ×ÁÌ - ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ ÓÏÅÄÉÎÅÎÉÅ ÓÏ Ó×ÏÅÊ ÓÔÏÒÏÎÙ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÜÔÏ - ÓÏÅÄÉÎÅÎÉÅ ÔÏÌØËÏ ÐÏ ÉÓÔÅÞÅÎÉÉ ÔÁÊÍÁÕÔÁ ÎÁ ÐÅÒÅÄÁÞÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, - amd64, sparc É ppc; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.12 12.02.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, - amd64, sparc É ppc; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× × ×ÒÅÍÑ ÒÁÂÏÔÙ Ó - FastCGI-ÓÅÒ×ÅÒÏÍ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation - fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.8. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ $fastcgi_script_name ÚÁÐÉÓÙ×ÁÌÁÓØ × - ÌÏÇ, ÔÏ × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Solaris. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.11 05.02.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ configure ÏÐÒÅÄÅÌÑÅÔ ÂÉÂÌÉÏÔÅËÕ PCRE × - MacPorts. - óÐÁÓÉÂÏ Chris McGrath. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔ ÂÙÌ ÎÅ×ÅÒÎÙÍ, ÅÓÌÉ ÚÁÐÒÁÛÉ×ÁÌÏÓØ ÎÅÓËÏÌØËÏ - ÄÉÁÐÁÚÏÎÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á create_full_put_path ÎÅ ÍÏÇÌÁ ÓÏÚÄÁ×ÁÔØ - ÐÒÏÍÅÖÕÔÏÞÎÙÅ ËÁÔÁÌÏÇÉ, ÅÓÌÉ ÎÅ ÂÙÌÁ ÕÓÔÁÎÏ×ÌÅÎÁ ÄÉÒÅËÔÉ×Á + *) ИÑправление: при иÑпользовании директивы starttls only в протоколе + POP3 nginx разрешал аутентификацию без перехода в режим SSL. + + *) ИÑправление: рабочие процеÑÑÑ‹ не выходили поÑле переконфигурации и не + переоткрывали логи, еÑли иÑпользовалÑÑ Ð¼ÐµÑ‚Ð¾Ð´ eventport. + + *) ИÑправление: при иÑпользовании директивы ip_hash рабочий процеÑÑ Ð¼Ð¾Ð³ + зациклитьÑÑ. + + *) ИÑправление: теперь nginx не пишет в лог некоторые alert'Ñ‹, еÑли + иÑпользуютÑÑ Ð¼ÐµÑ‚Ð¾Ð´Ñ‹ eventport или /dev/poll. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.14 23.02.2007 + + *) ИÑправление: nginx игнорировал лишние закрывающие Ñкобки "}" в конце + конфигурационного файла. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.13 19.02.2007 + + *) Добавление: методы COPY и MOVE. + + *) ИÑправление: модуль ngx_http_realip_module уÑтанавливал муÑор Ð´Ð»Ñ + запроÑов, переданных по keep-alive Ñоединению. + + *) ИÑправление: nginx не работал на 64-битном big-endian Linux. + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: при получении Ñлишком длинной команды IMAP/POP3-прокÑи + теперь Ñразу закрывает Ñоединение, а не по таймауту. + + *) ИÑправление: еÑли при иÑпользовании метода epoll клиент закрывал + преждевременно Ñоединение Ñо Ñвоей Ñтороны, то nginx закрывал Ñто + Ñоединение только по иÑтечении таймаута на передачу. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформах, отличных от i386, + amd64, sparc и ppc; ошибка поÑвилаÑÑŒ в 0.5.8. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.12 12.02.2007 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформах, отличных от i386, + amd64, sparc и ppc; ошибка поÑвилаÑÑŒ в 0.5.8. + + *) ИÑправление: при иÑпользовании временных файлов в Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ + FastCGI-Ñервером в рабочем процеÑÑе мог произойти segmentation fault; + ошибка поÑвилаÑÑŒ в 0.5.8. + + *) ИÑправление: еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $fastcgi_script_name запиÑывалаÑÑŒ в лог, + то в рабочем процеÑÑе мог произойти segmentation fault. + + *) ИÑправление: ngx_http_perl_module не ÑобиралÑÑ Ð½Ð° Solaris. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.11 05.02.2007 + + *) Добавление: теперь configure определÑет библиотеку PCRE в MacPorts. + СпаÑибо Chris McGrath. + + *) ИÑправление: ответ был неверным, еÑли запрашивалоÑÑŒ неÑколько + диапазонов; ошибка поÑвилаÑÑŒ в 0.5.6. + + *) ИÑправление: директива create_full_put_path не могла Ñоздавать + промежуточные каталоги, еÑли не была уÑтановлена директива dav_access. - óÐÁÓÉÂÏ Evan Miller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÍÅÓÔÏ ËÏÄÏ× ÏÛÉÂÏË "400" É "408" × access_log ÍÏÇ - ÚÁÐÉÓÙ×ÁÔØÓÑ ËÏÄ "0". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÓÂÏÒËÅ Ó ÏÐÔÉÍÉÚÁÃÉÅÊ -O2 × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.10 26.01.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ ÎÅ - ÎÁÓÌÅÄÏ×ÁÌ ÓÌÕÛÁÀÝÉÅ ÓÏËÅÔÙ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÓÂÏÒËÅ Ó ÏÐÔÉÍÉÚÁÃÉÅÊ -O2 × ÒÁÂÏÞÅÍ ÐÒÏÃÅÓÓÅ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.1. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.9 25.01.2007 - - *) éÚÍÅÎÅÎÉÅ: ÍÏÄÕÌØ ngx_http_memcached_module ÔÅÐÅÒØ × ËÁÞÅÓÔ×Å ËÌÀÞÁ - ÉÓÐÏÌØÚÕÅÔ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $memcached_key. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $memcached_key. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ clean × ÄÉÒÅËÔÉ×Å client_body_in_file_only. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á env. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á sendfile ÒÁÂÏÔÁÅÔ ×ÎÕÔÒÉ ÂÌÏËÁ if. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÏÛÉÂËÅ ÚÁÐÉÓÉ × access_log nginx ÚÁÐÉÓÙ×ÁÅÔ - ÓÏÏÂÝÅÎÉÅ × error_log, ÎÏ ÎÅ ÞÁÝÅ ÏÄÎÏÇÏ ÒÁÚÁ × ÍÉÎÕÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "access_log off" ÎÅ ×ÓÅÇÄÁ ÚÁÐÒÅÝÁÌÁ ÚÁÐÉÓØ × - ÌÏÇ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.8 19.01.2007 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÄÉÒÅËÔÉ×Á - "client_body_in_file_only on" É ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÙÌÏ ÎÅÂÏÌØÛÏÅ, ÔÏ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÉÓØ - ÄÉÒÅËÔÉ×Ù "client_body_in_file_only on" É - "proxy_pass_request_body off" ÉÌÉ "fastcgi_pass_request_body off", É - ÄÅÌÁÌÓÑ ÐÅÒÅÈÏÄ Ë ÓÌÅÄÕÀÝÅÍÕ ÂÜËÅÎÄÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù "proxy_buffering off" - ÓÏÅÄÉÎÅÎÉÅ Ó ËÌÉÅÎÔÏÍ ÂÙÌÏ ÎÅÁËÔÉ×ÎÏ, ÔÏ ÏÎÏ ÚÁËÒÙ×ÁÌÏÓØ ÐÏ - ÔÁÊÍÁÕÔÕ, ÚÁÄÁÎÎÏÍÕ ÄÉÒÅËÔÉ×ÏÊ send_timeout; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.4.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ epoll ËÌÉÅÎÔ ÚÁËÒÙ×ÁÌ - ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ ÓÏÅÄÉÎÅÎÉÅ ÓÏ Ó×ÏÅÊ ÓÔÏÒÏÎÙ, ÔÏ nginx ÚÁËÒÙ×ÁÌ ÜÔÏ - ÓÏÅÄÉÎÅÎÉÅ ÔÏÌØËÏ ÐÏ ÉÓÔÅÞÅÎÉÉ ÔÁÊÍÁÕÔÁ ÎÁ ÐÅÒÅÄÁÞÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó - FastCGI-ÓÅÒ×ÅÒÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ ÏÛÉÂÏË × ÄÉÒÅËÔÉ×Å limit_zone. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.7 15.01.2007 - - *) äÏÂÁ×ÌÅÎÉÅ: ÏÐÔÉÍÉÚÁÃÉÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÍÑÔÉ × ssl_session_cache. - - *) éÓÐÒÁ×ÌÅÎÉÅ ÏÛÉÂÏË × ÄÉÒÅËÔÉ×ÁÈ ssl_session_cache É limit_zone. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ - segmentation fault, ÅÓÌÉ ÄÉÒÅËÔÉ×Ù ssl_session_cache ÉÌÉ limit_zone - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ× add_before_body ÉÌÉ - add_after_body ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ - ÏÔ×ÅÔÁ ÎÅÔ ÓÔÒÏËÉ "Content-Type". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÉÂÌÉÏÔÅËÁ OpenSSL ×ÓÅÇÄÁ ÓÏÂÉÒÁÌÁÓØ Ó ÐÏÄÄÅÒÖËÏÊ - ÐÏÔÏËÏ×. - óÐÁÓÉÂÏ äÅÎÕ é×ÁÎÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÂÉÂÌÉÏÔÅËÉ PCRE-6.5+ É ËÏÍÐÉÌÑÔÏÒÁ icc. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.6 09.01.2007 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_index_module ÉÇÎÏÒÉÒÕÅÔ ×ÓÅ - ÍÅÔÏÄÙ, ËÒÏÍÅ GET, HEAD É POST. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_limit_zone_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $binary_remote_addr. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ssl_session_cache ÍÏÄÕÌÅÊ ngx_http_ssl_module - É ngx_imap_ssl_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÅÔÏÄ DELETE ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅËÕÒÓÉ×ÎÏÅ ÕÄÁÌÅÎÉÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ $r->sendfile() byte-ranges - ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ×ÅÒÎÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.5 24.12.2006 - - *) éÚÍÅÎÅÎÉÅ: ËÌÀÞ -v ÂÏÌØÛÅ ÎÅ ×Ù×ÏÄÉÔ ÉÎÆÏÒÍÁÃÉÀ Ï ËÏÍÐÉÌÑÔÏÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -V. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á worker_rlimit_core ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕËÁÚÁÎÉÅ - ÒÁÚÍÅÒÁ × K, M É G. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ nginx.pm ÔÅÐÅÒØ ÍÏÖÅÔ ÕÓÔÁÎÁ×ÌÉ×ÁÔØÓÑ - ÎÅÐÒÉ×ÉÌÅÇÉÒÏ×ÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÅÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× $r->request_body ÉÌÉ - $r->request_body_file ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂÏË, ÓÐÅÃÉÆÉÞÎÙÈ ÄÌÑ ÐÌÁÔÆÏÒÍÙ ppc. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.4 15.12.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Õ perl ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ + СпаÑибо Evan Miller. + + *) ИÑправление: вмеÑто кодов ошибок "400" и "408" в access_log мог + запиÑыватьÑÑ ÐºÐ¾Ð´ "0". + + *) ИÑправление: при Ñборке Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ -O2 в рабочем процеÑÑе мог + произойти segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.10 26.01.2007 + + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑполнÑемого файла новый процеÑÑ Ð½Ðµ + наÑледовал Ñлушающие Ñокеты; ошибка поÑвилаÑÑŒ в 0.5.9. + + *) ИÑправление: при Ñборке Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ -O2 в рабочем процеÑÑе мог + произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.5.1. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.9 25.01.2007 + + *) Изменение: модуль ngx_http_memcached_module теперь в качеÑтве ключа + иÑпользует значение переменной $memcached_key. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $memcached_key. + + *) Добавление: параметр clean в директиве client_body_in_file_only. + + *) Добавление: директива env. + + *) Добавление: директива sendfile работает внутри блока if. + + *) Добавление: теперь при ошибке запиÑи в access_log nginx запиÑывает + Ñообщение в error_log, но не чаще одного раза в минуту. + + *) ИÑправление: директива "access_log off" не вÑегда запрещала запиÑÑŒ в + лог. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.8 19.01.2007 + + *) ИÑправление: еÑли иÑпользовалаÑÑŒ директива + "client_body_in_file_only on" и тело запроÑа было небольшое, то мог + произойти segmentation fault. + + *) ИÑправление: проиÑходил segmentation fault, еÑли иÑпользовалиÑÑŒ + директивы "client_body_in_file_only on" и + "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и + делалÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ к Ñледующему бÑкенду. + + *) ИÑправление: еÑли при иÑпользовании директивы "proxy_buffering off" + Ñоединение Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð¼ было неактивно, то оно закрывалоÑÑŒ по таймауту, + заданному директивой send_timeout; ошибка поÑвилаÑÑŒ в 0.4.7. + + *) ИÑправление: еÑли при иÑпользовании метода epoll клиент закрывал + преждевременно Ñоединение Ñо Ñвоей Ñтороны, то nginx закрывал Ñто + Ñоединение только по иÑтечении таймаута на передачу. + + *) ИÑправление: ошибки "[alert] zero size buf" при работе Ñ + FastCGI-Ñервером. + + *) ИÑправление ошибок в директиве limit_zone. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.7 15.01.2007 + + *) Добавление: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти в ssl_session_cache. + + *) ИÑправление ошибок в директивах ssl_session_cache и limit_zone. + + *) ИÑправление: на Ñтарте или во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ проиÑходил + segmentation fault, еÑли директивы ssl_session_cache или limit_zone + иÑпользовалиÑÑŒ на 64-битных платформах. + + *) ИÑправление: при иÑпользовании директив add_before_body или + add_after_body проиÑходил segmentation fault, еÑли в заголовке ответа + нет Ñтроки "Content-Type". + + *) ИÑправление: библиотека OpenSSL вÑегда ÑобиралаÑÑŒ Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ + потоков. + СпаÑибо Дену Иванову. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ библиотеки PCRE-6.5+ и компилÑтора icc. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.6 09.01.2007 + + *) Изменение: теперь модуль ngx_http_index_module игнорирует вÑе методы, + кроме GET, HEAD и POST. + + *) Добавление: модуль ngx_http_limit_zone_module. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $binary_remote_addr. + + *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и + ngx_imap_ssl_module. + + *) Добавление: метод DELETE поддерживает рекурÑивное удаление. + + *) ИÑправление: при иÑпользовании $r->sendfile() byte-ranges + передавалиÑÑŒ неверно. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.5 24.12.2006 + + *) Изменение: ключ -v больше не выводит информацию о компилÑторе. + + *) Добавление: ключ -V. + + *) Добавление: директива worker_rlimit_core поддерживает указание + размера в K, M и G. + + *) ИÑправление: модуль nginx.pm теперь может уÑтанавливатьÑÑ + непривилегированным пользователем. + + *) ИÑправление: при иÑпользовании методов $r->request_body или + $r->request_body_file мог произойти segmentation fault. + + *) ИÑправление: ошибок, Ñпецифичных Ð´Ð»Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ñ‹ ppc. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.4 15.12.2006 + + *) Добавление: директиву perl можно иÑпользовать внутри блока limit_except. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_dav_module ÔÒÅÂÏ×ÁÌ ÓÔÒÏËÕ "Date" × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ ÄÌÑ ÍÅÔÏÄÁ DELETE. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÄÎÏÇÏ ÐÁÒÁÍÅÔÒÁ × ÄÉÒÅËÔÉ×Å - dav_access nginx ÍÏÇ ÓÏÏÂÝÉÔØ Ï ÏÛÉÂËÅ × ËÏÎÆÉÇÕÒÁÃÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $host ÍÏÇ ÐÒÏÉÚÏÊÔÉ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.14. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.3 13.12.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ - $r->status, $r->log_error É $r->sleep. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÅÔÏÄ $r->variable ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ, ÎÅÏÐÉÓÁÎÎÙÅ - × ËÏÎÆÉÇÕÒÁÃÉÉ nginx'Á. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ $r->has_request_body ÎÅ ÒÁÂÏÔÁÌ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.2 11.12.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ÉÍÑ, - ÕËÁÚÁÎÎÏÅ × upstream, ÔÏ nginx ÐÙÔÁÌÓÑ ÎÁÊÔÉ IP-ÁÄÒÅÓ ÜÔÏÇÏ ÉÍÅÎÉ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.1. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.1 11.12.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_action ÍÏÇÌÁ ÎÅ ÒÁÂÏÔÁÔØ ÐÏÓÌÅ - ÎÅÕÄÁÞÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ × Eudora ÄÌÑ Mac; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.4.11. - óÐÁÓÉÂÏ Bron Gondwana. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÕËÁÚÁÎÉÉ × ÄÉÒÅËÔÉ×Å fastcgi_pass ÉÍÅÎÉ ÏÐÉÓÁÎÎÏÇÏ - upstream'Á ×ÙÄÁ×ÁÌÏÓØ ÓÏÏÂÝÅÎÉÅ "no port in upstream"; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.5.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass É fastcgi_pass - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÏÄÉÎÁËÏ×ÙÈ ÉÍÅÎÁ ÓÅÒ×ÅÒÏ×, ÎÏ Ó ÒÁÚÎÙÍÉ ÐÏÒÔÁÍÉ, ÔÏ - ÜÔÉ ÄÉÒÅËÔÉ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ ÐÅÒ×ÙÊ ÏÐÉÓÁÎÎÙÊ ÐÏÒÔ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: модуль ngx_http_dav_module требовал Ñтроку "Date" в + заголовке запроÑа Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° DELETE. + + *) ИÑправление: при иÑпользовании одного параметра в директиве + dav_access nginx мог Ñообщить об ошибке в конфигурации. + + *) ИÑправление: при иÑпользовании переменной $host мог произойти + segmentation fault; ошибка поÑвилаÑÑŒ в 0.4.14. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.3 13.12.2006 + + *) Добавление: модуль ngx_http_perl_module поддерживает методы + $r->status, $r->log_error и $r->sleep. + + *) Добавление: метод $r->variable поддерживает переменные, неопиÑанные в + конфигурации nginx'а. + + *) ИÑправление: метод $r->has_request_body не работал. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.2 11.12.2006 + + *) ИÑправление: еÑли в директивах proxy_pass иÑпользовалоÑÑŒ имÑ, + указанное в upstream, то nginx пыталÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ IP-Ð°Ð´Ñ€ÐµÑ Ñтого имени; + ошибка поÑвилаÑÑŒ в 0.5.1. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.1 11.12.2006 + + *) ИÑправление: директива post_action могла не работать поÑле неудачного + Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + *) Изменение: обход ошибки в Eudora Ð´Ð»Ñ Mac; ошибка поÑвилаÑÑŒ в 0.4.11. + СпаÑибо Bron Gondwana. + + *) ИÑправление: при указании в директиве fastcgi_pass имени опиÑанного + upstream'а выдавалоÑÑŒ Ñообщение "no port in upstream"; ошибка + поÑвилаÑÑŒ в 0.5.0. + + *) ИÑправление: еÑли в директивах proxy_pass и fastcgi_pass + иÑпользовалиÑÑŒ одинаковых имена Ñерверов, но Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ портами, то + Ñти директивы иÑпользовали первый опиÑанный порт; ошибка поÑвилаÑÑŒ в 0.5.0. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×ÁÈ proxy_pass É fastcgi_pass - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ unix domain ÓÏËÅÔÙ, ÔÏ ÜÔÉ ÄÉÒÅËÔÉ×Ù ÉÓÐÏÌØÚÏ×ÁÌÉ - ÐÅÒ×ÙÊ ÏÐÉÓÁÎÎÙÊ ÓÏËÅÔ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.5.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_auth_basic_module ÉÇÎÏÒÉÒÏ×ÁÌ ÐÏÌØÚÏ×ÁÔÅÌÑ, - ÅÓÌÉ ÏÎ ÂÙÌ ÕËÁÚÁÎ × ÐÏÓÌÅÄÎÅÊ ÓÔÒÏËÅ ÆÁÊÌÁ ÐÁÒÏÌÅÊ É ÐÏÓÌÅ ÐÁÒÏÌÑ - ÎÅ ÂÙÌÏ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ, ×ÏÚ×ÒÁÔÁ ËÁÒÅÔËÉ ÉÌÉ ÓÉÍ×ÏÌÁ ":". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time ÍÏÇÌÁ ÂÙÔØ ÒÁ×ÎÁ - "0.000", ÈÏÔÑ ×ÒÅÍÑ ÏÂÒÁÂÏÔËÉ ÂÙÌÏ ÂÏÌØÛÅ 1 ÍÉÌÌÉÓÅËÕÎÄÙ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.5.0 04.12.2006 - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ × ×ÉÄÅ "%name" × ÄÉÒÅËÔÉ×Å log_format ÂÏÌØÛÅ ÎÅ - ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_upstream_max_fails, - proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, É - fastcgi_upstream_fail_timeout, memcached_upstream_max_fails É - memcached_upstream_fail_timeout ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒÙ - max_fails, fail_timeout É down. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ip_hash × ÂÌÏËÅ upstream. - - *) äÏÂÁ×ÌÅÎÉÅ: ÓÔÁÔÕÓ WAIT × ÓÔÒÏËÅ "Auth-Status" × ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ - ÓÅÒ×ÅÒÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÐÒÏËÓÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.4.14. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.14 27.11.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass_error_message × IMAP/POP3 ÐÒÏËÓÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ configure ÏÐÒÅÄÅÌÑÅÔ ÂÉÂÌÉÏÔÅËÕ PCRE ÎÁ FreeBSD, - Linux É NetBSD. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ Ó ÐÅÒÌÏÍ, ÓÏÂÒÁÎÎÙÍ Ó - ÐÏÄÄÅÒÖËÏÊ ÐÏÔÏËÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ ËÏÒÒÅËÔÎÏ, ÅÓÌÉ ÐÅÒÌ - ×ÙÚÙ×ÁÌÓÑ ÒÅËÕÒÓÉ×ÎÏ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÉÇÎÏÒÉÒÏ×ÁÌ ÉÍÑ ÓÅÒ×ÅÒÁ × ÓÔÒÏËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ FastCGI ÓÅÒ×ÅÒ ÐÅÒÅÄÁ×ÁÌ ÍÎÏÇÏ × stderr, ÔÏ - ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÚÍÅÎÅÎÉÉ ÓÉÓÔÅÍÎÏÇÏ ×ÒÅÍÅÎÉ ÐÅÒÅÍÅÎÎÁÑ - $upstream_response_time ÍÏÇÌÁ ÂÙÔØ ÏÔÒÉÃÁÔÅÌØÎÏÊ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ POP3 ÓÅÒ×ÅÒÕ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 - ÐÒÏËÓÉ ÎÅ ÐÅÒÅÄÁ×ÁÌÓÑ ÐÁÒÁÍÅÔÒ Auth-Login-Attempt. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÏÛÉÂËÅ ÓÏÅÄÉÎÅÎÉÑ Ó ÓÅÒ×ÅÒÏÍ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ - IMAP/POP3 ÐÒÏËÓÉ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.13 15.11.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Õ proxy_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ ÂÌÏËÁ + *) ИÑправление: еÑли в директивах proxy_pass и fastcgi_pass + иÑпользовалиÑÑŒ unix domain Ñокеты, то Ñти директивы иÑпользовали + первый опиÑанный Ñокет; ошибка поÑвилаÑÑŒ в 0.5.0. + + *) ИÑправление: ngx_http_auth_basic_module игнорировал пользователÑ, + еÑли он был указан в поÑледней Ñтроке файла паролей и поÑле Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ðµ + было перевода Ñтроки, возврата каретки или Ñимвола ":". + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_response_time могла быть равна + "0.000", Ñ…Ð¾Ñ‚Ñ Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ было больше 1 миллиÑекунды. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.5.0 04.12.2006 + + *) Изменение: параметры в виде "%name" в директиве log_format больше не + поддерживаютÑÑ. + + *) Изменение: директивы proxy_upstream_max_fails, + proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и + fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и + memcached_upstream_fail_timeout больше не поддерживаютÑÑ. + + *) Добавление: директива server в блоке upstream поддерживает параметры + max_fails, fail_timeout и down. + + *) Добавление: директива ip_hash в блоке upstream. + + *) Добавление: ÑÑ‚Ð°Ñ‚ÑƒÑ WAIT в Ñтроке "Auth-Status" в заголовка ответа + Ñервера аутентификации IMAP/POP3 прокÑи. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° 64-битных платформах; ошибка + поÑвилаÑÑŒ в 0.4.14. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.14 27.11.2006 + + *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокÑи. + + *) Добавление: теперь configure определÑет библиотеку PCRE на FreeBSD, + Linux и NetBSD. + + *) ИÑправление: ngx_http_perl_module не работал Ñ Ð¿ÐµÑ€Ð»Ð¾Ð¼, Ñобранным Ñ + поддержкой потоков; ошибка поÑвилаÑÑŒ в 0.3.38. + + *) ИÑправление: ngx_http_perl_module не работал корректно, еÑли перл + вызывалÑÑ Ñ€ÐµÐºÑƒÑ€Ñивно. + + *) ИÑправление: nginx игнорировал Ð¸Ð¼Ñ Ñервера в Ñтроке запроÑа. + + *) ИÑправление: еÑли FastCGI Ñервер передавал много в stderr, то рабочий + процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ. + + *) ИÑправление: при изменении ÑиÑтемного времени Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ + $upstream_response_time могла быть отрицательной. + + *) ИÑправление: при иÑпользовании POP3 Ñерверу аутентификации IMAP/POP3 + прокÑи не передавалÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Auth-Login-Attempt. + + *) ИÑправление: при ошибке ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ñервером аутентификации + IMAP/POP3 прокÑи мог произойти segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.13 15.11.2006 + + *) Добавление: директиву proxy_pass можно иÑпользовать внутри блока limit_except. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_except ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÓÅ WebDAV ÍÅÔÏÄÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù add_before_body ÂÅÚ - ÄÉÒÅËÔÉ×Ù add_after_body ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÏÌØÛÏÅ ÔÅÌÏ ÚÁÐÒÏÓÁ ÎÅ ÐÒÉÎÉÍÁÌÏÓØ, ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÉÓØ ÍÅÔÏÄ epoll É deferred accept(). - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÌÑ ÏÔ×ÅÔÏ× ÍÏÄÕÌÑ ngx_http_autoindex_module ÎÅ - ×ÙÓÔÁ×ÌÑÌÁÓØ ËÏÄÉÒÏ×ËÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "[alert] zero size buf" ÐÒÉ ÒÁÂÏÔÅ Ó - FastCGI-ÓÅÒ×ÅÒÏÍ; - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ --group= ÉÇÎÏÒÉÒÏ×ÁÌÓÑ. - óÐÁÓÉÂÏ Thomas Moschny. - - *) éÓÐÒÁ×ÌÅÎÉÅ: 50-Ê ÐÏÄÚÁÐÒÏÓ × SSI ÏÔ×ÅÔÅ ÎÅ ÒÁÂÏÔÁÌ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.12 31.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ + *) Добавление: директива limit_except поддерживает вÑе WebDAV методы. + + *) ИÑправление: при иÑпользовании директивы add_before_body без + директивы add_after_body ответ передавалÑÑ Ð½Ðµ полноÑтью. + + *) ИÑправление: большое тело запроÑа не принималоÑÑŒ, еÑли иÑпользовалиÑÑŒ + метод epoll и deferred accept(). + + *) ИÑправление: Ð´Ð»Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð¾Ð² Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_autoindex_module не + выÑтавлÑлаÑÑŒ кодировка; ошибка поÑвилаÑÑŒ в 0.3.50. + + *) ИÑправление: ошибки "[alert] zero size buf" при работе Ñ + FastCGI-Ñервером; + + *) ИÑправление: параметр конфигурации --group= игнорировалÑÑ. + СпаÑибо Thomas Moschny. + + *) ИÑправление: 50-й Ð¿Ð¾Ð´Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð² SSI ответе не работал; ошибка поÑвилаÑÑŒ + в 0.3.50. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.12 31.10.2006 + + *) Добавление: модуль ngx_http_perl_module поддерживает метод $r->variable. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ × ÏÔ×ÅÔ ÂÏÌØÛÏÇÏ ÓÔÁÔÉÞÅÓËÏÇÏ ÆÁÊÌÁ Ó - ÐÏÍÏÝØÀ SSI ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÕÂÉÒÁÌ "#fragment" × URI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.11 25.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ AUTH LOIGN PLAIN É CRAM-MD5. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ + *) ИÑправление: при включении в ответ большого ÑтатичеÑкого файла Ñ + помощью SSI ответ мог передаватьÑÑ Ð½Ðµ полноÑтью. + + *) ИÑправление: nginx не убирал "#fragment" в URI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.11 25.10.2006 + + *) Добавление: POP3 прокÑи поддерживает AUTH LOIGN PLAIN и CRAM-MD5. + + *) Добавление: модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞ£ÎÎÏÊ ÐÏÄÄÅÒÖËÅ ËÏÍÁÎÄÙ APOP × POP3 ÐÒÏËÓÉ - ÍÏÇÌÉ ÎÅ ÒÁÂÏÔÁÔØ ËÏÍÁÎÄÙ USER/PASS; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.10. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.10 23.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ APOP. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÏ× select, poll É /dev/poll ×Ï - ×ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÏÔ×ÅÔÁ ÏÔ ÓÅÒ×ÅÒÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÐÒÏËÓÉ - ÎÁÇÒÕÖÁÌ ÐÒÏÃÅÓÓÏÒ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÏÊ $server_addr × ÄÉÒÅËÔÉ×Å - map ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_flv_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ byte ranges - ÄÌÑ ÐÏÌÎÙÈ ÏÔ×ÅÔÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.7. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Debian amd64; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: при включённой поддержке команды APOP в POP3 прокÑи + могли не работать команды USER/PASS; ошибка поÑвилаÑÑŒ в 0.4.10. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.10 23.10.2006 + + *) Добавление: POP3 прокÑи поддерживает APOP. + + *) ИÑправление: при иÑпользовании методов select, poll и /dev/poll во + Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð° от Ñервера аутентификации IMAP/POP3 прокÑи + нагружал процеÑÑор. + + *) ИÑправление: при иÑпользовании переменной $server_addr в директиве + map мог произойти segmentation fault. + + *) ИÑправление: модуль ngx_http_flv_module не поддерживал byte ranges + Ð´Ð»Ñ Ð¿Ð¾Ð»Ð½Ñ‹Ñ… ответов; ошибка поÑвилаÑÑŒ в 0.4.7. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Debian amd64; ошибка поÑвилаÑÑŒ в 0.4.9. -éÚÍÅÎÅÎÉÑ × nginx 0.4.9 13.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ set × ËÏÍÁÎÄÅ SSI include. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ×ÅÒÓÉÀ - ÍÏÄÕÌÑ nginx.pm. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.8 11.10.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÏ ËÏÍÁÎÄÙ SSI include Ó ÐÁÒÁÍÅÔÒÏÍ wait - ×ÙÐÏÌÎÑÌÁÓØ ÅÝ£ ÏÄÎÁ ËÏÍÁÎÄÁ SSI include, ÔÏ ÐÁÒÁÍÅÔÒ wait ÍÏÇ ÎÅ - ÒÁÂÏÔÁÔØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_flv_module ÄÏÂÁ×ÌÑÌ FLV-ÚÁÇÏÌÏ×ÏË ÄÌÑ - ÐÏÌÎÙÈ ÏÔ×ÅÔÏ×. - óÐÁÓÉÂÏ áÌÅËÓÅÀ ëÏ×ÙÒÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.7 10.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_flv_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $request_body_file. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù charset É source_charset ÐÏÄÄÅÒÖÉ×ÁÀÔ - ÐÅÒÅÍÅÎÎÙÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÏ ËÏÍÁÎÄÙ SSI include Ó ÐÁÒÁÍÅÔÒÏÍ wait - ×ÙÐÏÌÎÑÌÁÓØ ÅÝ£ ÏÄÎÁ ËÏÍÁÎÄÁ SSI include, ÔÏ ÐÁÒÁÍÅÔÒ wait ÍÏÇ ÎÅ - ÒÁÂÏÔÁÔØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù "proxy_buffering off" ÉÌÉ - ÐÒÉ ÒÁÂÏÔÅ Ó memcached ÓÏÅÄÉÎÅÎÉÑ ÍÏÇÌÉ ÎÅ ÚÁËÒÙ×ÁÔØÓÑ ÐÏ ÔÁÊÍÁÕÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ - ÏÔ amd64, sparc64 É ppc64. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.6 06.10.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ - ÏÔ amd64, sparc64 É ppc64. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÚÁÐÒÏÓÅ ×ÅÒÓÉÉ HTTP/1.1 nginx ÐÅÒÅÄÁ×ÁÌ ÏÔ×ÅÔ - chunk'ÁÍÉ, ÅÓÌÉ ÄÌÉÎÁ ÏÔ×ÅÔÁ × ÍÅÔÏÄÅ - $r->headers_out("Content-Length", ...) ÂÙÌÁ ÚÁÄÁÎÁ ÔÅËÓÔÏ×ÏÊ ÓÔÒÏËÏÊ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù - error_page ÌÀÂÁÑ ÄÉÒÅËÔÉ×Á ÍÏÄÕÌÑ ngx_http_rewrite_module ×ÏÚ×ÒÁÝÁÌÁ - ÜÔÕ ÏÛÉÂËÕ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.4.4. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.5 02.10.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux É Solaris; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.4.4. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.4 02.10.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $scheme. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á expires ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ max. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á include ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÁÓËÕ "*". - óÐÁÓÉÂÏ Jonathan Dance. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á return ×ÓÅÇÄÁ ÉÚÍÅÎÑÌÁ ËÏÄ ÏÔ×ÅÔÁ, - ÐÅÒÅÎÁÐÒÁ×ÌÅÎÎÏÇÏ ÄÉÒÅËÔÉ×ÏÊ error_page. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÍÅÔÏÄÅ PUT - ÐÅÒÅÄÁ×ÁÌÏÓØ ÔÅÌÏ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×Å proxy_redirect - ÒÅÄÉÒÅËÔ ÉÚÍÅÎÑÌÓÑ ÎÅ×ÅÒÎÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.3 26.09.2006 - - *) éÚÍÅÎÅÎÉÅ: ÏÛÉÂËÕ 499 ÔÅÐÅÒØ ÎÅÌØÚÑ ÐÅÒÅÎÁÐÒÁ×ÉÔØ Ó ÐÏÍÏÝØÀ - ÄÉÒÅËÔÉ×Ù error_page. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ Solaris 10 event ports. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_browser_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂËÉ 400 ÐÒÏËÓÉÒÏ×ÁÎÎÏÍÕ ÓÅÒ×ÅÒÕ - ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù error_page ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å - proxy_pass ÉÓÐÏÌØÚÏ×ÁÌÓÑ unix domain ÓÏËÅÔ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.9 13.10.2006 + + *) Добавление: параметр set в команде SSI include. + + *) Добавление: модуль ngx_http_perl_module теперь проверÑет верÑию + Ð¼Ð¾Ð´ÑƒÐ»Ñ nginx.pm. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.8 11.10.2006 + + *) ИÑправление: еÑли до команды SSI include Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ wait + выполнÑлаÑÑŒ ещё одна команда SSI include, то параметр wait мог не + работать. + + *) ИÑправление: модуль ngx_http_flv_module добавлÑл FLV-заголовок Ð´Ð»Ñ + полных ответов. + СпаÑибо ÐлекÑею Ковырину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.7 10.10.2006 + + *) Добавление: модуль ngx_http_flv_module. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_body_file. + + *) Добавление: директивы charset и source_charset поддерживают + переменные. + + *) ИÑправление: еÑли до команды SSI include Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ wait + выполнÑлаÑÑŒ ещё одна команда SSI include, то параметр wait мог не + работать. + + *) ИÑправление: при иÑпользовании директивы "proxy_buffering off" или + при работе Ñ memcached ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³Ð»Ð¸ не закрыватьÑÑ Ð¿Ð¾ таймауту. + + *) ИÑправление: nginx не запуÑкалÑÑ Ð½Ð° 64-битных платформах, отличных от + amd64, sparc64 и ppc64. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.6 06.10.2006 + + *) ИÑправление: nginx не запуÑкалÑÑ Ð½Ð° 64-битных платформах, отличных от + amd64, sparc64 и ppc64. + + *) ИÑправление: при запроÑе верÑии HTTP/1.1 nginx передавал ответ + chunk'ами, еÑли длина ответа в методе + $r->headers_out("Content-Length", ...) была задана текÑтовой Ñтрокой. + + *) ИÑправление: поÑле Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы + error_page Ð»ÑŽÐ±Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_rewrite_module возвращала + Ñту ошибку; ошибка поÑвилаÑÑŒ в 0.4.4. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.5 02.10.2006 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Linux и Solaris; ошибка поÑвилаÑÑŒ + в 0.4.4. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.4 02.10.2006 + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $scheme. + + *) Добавление: директива expires поддерживает параметр max. + + *) Добавление: директива include поддерживает маÑку "*". + СпаÑибо Jonathan Dance. + + *) ИÑправление: директива return вÑегда изменÑла код ответа, + перенаправленного директивой error_page. + + *) ИÑправление: проиÑходил segmentation fault, еÑли в методе PUT + передавалоÑÑŒ тело нулевой длины. + + *) ИÑправление: при иÑпользовании переменных в директиве proxy_redirect + редирект изменÑлÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.3 26.09.2006 + + *) Изменение: ошибку 499 теперь Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÑŒ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы + error_page. + + *) Добавление: поддержка Solaris 10 event ports. + + *) Добавление: модуль ngx_http_browser_module. + + *) ИÑправление: при перенаправлении ошибки 400 прокÑированному Ñерверу + помощью директивы error_page мог произойти segmentation fault. + + *) ИÑправление: проиÑходил segmentation fault, еÑли в директиве + proxy_pass иÑпользовалÑÑ unix domain Ñокет; ошибка поÑвилаÑÑŒ в 0.3.47. - *) éÓÐÒÁ×ÌÅÎÉÅ: SSI ÎÅ ÒÁÂÏÔÁÌ Ó ÏÔ×ÅÔÁÍÉ memcached É - ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÙÍÉ ÐÒÏËÓÉÒÏ×ÁÎÎÙÍÉ ÏÔ×ÅÔÁÍÉ. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ PAUSE hardware capability × Sun Studio. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.2 14.09.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÂÒÁÎÁ ÐÏÄÄÅÒÖËÁ ÆÌÁÇÁ O_NOATIME ÎÁ Linux; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.4.1. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.1 14.09.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó DragonFlyBSD. - óÐÁÓÉÂÏ ðÁ×ÌÕ îÁÚÁÒÏ×Õ. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ × sendfile() × 64-ÂÉÔÎÏÍ Linux ÐÒÉ ÐÅÒÅÄÁÞÅ - ÆÁÊÌÏ× ÂÏÌØÛÅ 2G. - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÎÁ Linux nginx ÄÌÑ ÓÔÁÔÉÞÅÓËÉÈ ÚÁÐÒÏÓÏ× - ÉÓÐÏÌØÚÕÅÔ ÆÌÁÇ O_NOATIME. - óÐÁÓÉÂÏ Yusuf Goolamabbas. - - -éÚÍÅÎÅÎÉÑ × nginx 0.4.0 30.08.2006 - - *) éÚÍÅÎÅÎÉÅ ×Ï ×ÎÕÔÒÅÎÎÅÍ API: ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÍÏÄÕÌÅÊ HTTP ÐÅÒÅÎÅÓÅÎÁ - ÉÚ ÆÁÚÙ init module × ÆÁÚÕ HTTP postconfiguration. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÔÅÌÏ ÚÁÐÒÏÓÁ × ÍÏÄÕÌÅ ngx_http_perl_module ÎÅ - ÓÞÉÔÙ×ÁÅÔÓÑ ÚÁÒÁÎÅÅ: ÎÕÖÎÏ Ñ×ÎÏ ÉÎÉÃÉÉÒÏ×ÁÔØ ÞÔÅÎÉÅ Ó ÐÏÍÏÝØÀ ÍÅÔÏÄÁ + *) ИÑправление: SSI не работал Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð°Ð¼Ð¸ memcached и + небуферизированными прокÑированными ответами. + + *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.2 14.09.2006 + + *) ИÑправление: убрана поддержка флага O_NOATIME на Linux; ошибка + поÑвилаÑÑŒ в 0.4.1. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.1 14.09.2006 + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ DragonFlyBSD. + СпаÑибо Павлу Ðазарову. + + *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче + файлов больше 2G. + + *) Добавление: теперь на Linux nginx Ð´Ð»Ñ ÑтатичеÑких запроÑов иÑпользует + флаг O_NOATIME. + СпаÑибо Yusuf Goolamabbas. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.4.0 30.08.2006 + + *) Изменение во внутреннем API: Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹ HTTP перенеÑена из + фазы init module в фазу HTTP postconfiguration. + + *) Изменение: теперь тело запроÑа в модуле ngx_http_perl_module не + ÑчитываетÑÑ Ð·Ð°Ñ€Ð°Ð½ÐµÐµ: нужно Ñвно инициировать чтение Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ метода $r->has_request_body. - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÄ ×ÏÚ×ÒÁÔÁ + *) Добавление: модуль ngx_http_perl_module поддерживает код возврата DECLINED. - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_dav_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÈÏÄÑÝÕÀ ÓÔÒÏËÕ - ÚÁÇÏÌÏ×ËÁ "Date" ÄÌÑ ÍÅÔÏÄÁ PUT. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssi ÒÁÂÏÔÁÅÔ ×ÎÕÔÒÉ ÂÌÏËÁ if. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å index - ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ÐÅÒÅÍÅÎÎÙÅ É ÐÒÉ ÜÔÏÍ ÐÅÒ×ÏÅ ÉÍÑ ÉÎÄÅËÓÎÏÇÏ ÆÁÊÌÁ - ÂÙÌÏ ÂÅÚ ÐÅÒÅÍÅÎÎÙÈ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.61 28.08.2006 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á tcp_nodelay ÔÅÐÅÒØ ÐÏ ÕÍÏÌÞÁÎÉÀ ×ËÌÀÞÅÎÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á msie_refresh. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á recursive_error_pages. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á rewrite ×ÏÚ×ÒÁÝÁÌÁ ÎÅÐÒÁ×ÉÌØÎÙÊ ÒÅÄÉÒÅËÔ, - ÅÓÌÉ ÒÅÄÉÒÅËÔ ×ËÌÀÞÁÌ × ÓÅÂÑ ×ÙÄÅÌÅÎÎÙÅ ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ ÉÚ - ÏÒÉÇÉÎÁÌØÎÏÇÏ URI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.60 18.08.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ ÏÛÉÂËÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ - ÚÁÃÉËÌÉÔØÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.59. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.59 16.08.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÍÏÖÎÏ ÄÅÌÁÔØ ÎÅÓËÏÌØËÏ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÊ ÞÅÒÅÚ - ÄÉÒÅËÔÉ×Õ error_page. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á dav_access ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÔÒÉ ÐÁÒÁÍÅÔÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÎÅ ÉÚÍÅÎÑÌÁ ÓÔÒÏËÕ "Content-Type" - ÐÏÓÌÅ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÑ Ó ÐÏÍÏÝØÀ "X-Accel-Redirect"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.3.58. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.58 14.08.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÎÁ Linux ÉÓÐÏÌØÚÕÅÔÓÑ ÉÎÔÅÒÆÅÊÓ procfs ×ÍÅÓÔÏ + *) Добавление: модуль ngx_http_dav_module поддерживает входÑщую Ñтроку + заголовка "Date" Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° PUT. + + *) Добавление: директива ssi работает внутри блока if. + + *) ИÑправление: проиÑходил segmentation fault, еÑли в директиве index + иÑпользовалаÑÑŒ переменные и при Ñтом первое Ð¸Ð¼Ñ Ð¸Ð½Ð´ÐµÐºÑного файла было + без переменных; ошибка поÑвилаÑÑŒ в 0.1.29. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.61 28.08.2006 + + *) Изменение: директива tcp_nodelay теперь по умолчанию включена. + + *) Добавление: директива msie_refresh. + + *) Добавление: директива recursive_error_pages. + + *) ИÑправление: директива rewrite возвращала неправильный редирект, еÑли + редирект включал в ÑÐµÐ±Ñ Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð½Ñ‹Ðµ закодированные Ñимволы из + оригинального URI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.60 18.08.2006 + + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¸ рабочий процеÑÑ Ð¼Ð¾Ð³ + зациклитьÑÑ; ошибка поÑвилаÑÑŒ в 0.3.59. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.59 16.08.2006 + + *) Добавление: теперь можно делать неÑколько перенаправлений через + директиву error_page. + + *) ИÑправление: директива dav_access не поддерживала три параметра. + + *) ИÑправление: директива error_page не изменÑла Ñтроку "Content-Type" + поÑле Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ "X-Accel-Redirect"; ошибка поÑвилаÑÑŒ + в 0.3.58. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.58 14.08.2006 + + *) Добавление: директива error_page поддерживает переменные. + + *) Изменение: теперь на Linux иÑпользуетÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ procfs вмеÑто sysctl. - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÓÔÒÏËÁ - "Content-Type" ÎÁÓÌÅÄÕÅÔÓÑ ÉÚ ÐÅÒ×ÏÎÁÞÁÌØÎÏÇÏ ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÎÅ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁ ÏÛÉÂËÕ 413. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁ×ÅÒÛÁÀÝÉÊ "?" ÎÅ ÕÄÁÌÑÌ ÓÔÁÒÙÅ ÁÒÇÕÍÅÎÔÙ, ÅÓÌÉ × - ÐÅÒÅÐÉÓÁÎÎÏÍ URI ÎÅ ÂÙÌÏ ÎÏ×ÙÈ ÁÒÇÕÍÅÎÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁÐÕÓËÁÌÓÑ ÎÁ 64-ÂÉÔÎÏÊ FreeBSD 7.0-CURRENT. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.57 09.08.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $ssl_client_serial. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÐÅÒÁÔÏÒÅ "!-e" × ÄÉÒÅËÔÉ×Å if. - óÐÁÓÉÂÏ áÎÄÒÉÁÎÕ âÕÄÁÎÃÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏ×ÅÒËÅ ËÌÉÅÎÔÓËÏÇÏ ÓÅÒÔÉÆÉËÁÔÁ nginx ÎÅ ÐÅÒÅÄÁ×ÁÌ - ËÌÉÅÎÔÕ ÉÎÆÏÒÍÁÃÉÀ Ï ÔÒÅÂÕÅÍÙÈ ÓÅÒÔÉÆÉËÁÔÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $document_root ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌÁ ÐÅÒÅÍÅÎÎÙÅ × - ÄÉÒÅËÔÉ×Å root. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.56 04.08.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á dav_access. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÔÏÒÙ "-d", "!-d", "-e", - "!-e", "-x" É "!-x". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÚÁÐÉÓÉ × access_log ÎÅËÏÔÏÒÙÈ ÐÅÒÅÄÁ×ÁÅÍÙÈ ËÌÉÅÎÔÕ - ÓÔÒÏË ÚÁÇÏÌÏ×ËÏ× ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÚÁÐÒÏÓ - ×ÏÚ×ÒÁÝÁÌ ÒÅÄÉÒÅËÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.55 28.07.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ stub × ËÏÍÁÎÄÅ SSI include. - - *) äÏÂÁ×ÌÅÎÉÅ: ËÏÍÁÎÄÁ SSI block. - - *) äÏÂÁ×ÌÅÎÉÅ: ÓËÒÉÐÔ unicode2nginx ÄÏÂÁ×ÌÅÎ × contrib. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ root ÂÙÌ ÚÁÄÁÎ ÔÏÌØËÏ ÐÅÒÅÍÅÎÎÏÊ, ÔÏ ËÏÒÅÎØ - ÚÁÄÁ×ÁÌÓÑ ÏÔÎÏÓÉÔÅÌØÎÏ ÐÒÅÆÉËÓÁ ÓÅÒ×ÅÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÚÁÐÒÏÓÅ ÂÙÌ "//" ÉÌÉ "/.", É ÐÏÓÌÅ ÜÔÏÇÏ - ÚÁËÏÄÉÒÏ×ÁÎÎÙÅ ÓÉÍ×ÏÌÙ × ×ÉÄÅ "%XX", ÔÏ ÐÒÏËÓÉÒÕÅÍÙÊ ÚÁÐÒÏÓ - ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅÚÁËÏÄÉÒÏ×ÁÎÎÙÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ $r->header_in("Cookie") ÍÏÄÕÌÑ - ngx_http_perl_module ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔ ×ÓÅ ÓÔÒÏËÉ "Cookie" × - ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÏÉÓÈÏÄÉÌ segmentation fault, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ - "client_body_in_file_only on" É ÄÅÌÁÌÓÑ ÐÅÒÅÈÏÄ Ë ÓÌÅÄÕÀÝÅÍÕ ÂÜËÅÎÄÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ ×Ï ×ÒÅÍÑ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ËÏÄÙ - ÓÉÍ×ÏÌÏ× ×ÎÕÔÒÉ ÄÉÒÅËÔÉ×Ù charset_map ÍÏÇÌÉ ÓÞÉÔÁÔØÓÑ ÎÅ×ÅÒÎÙÍÉ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.54 11.07.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: nginx ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÅÔ × ÌÏÇ ÉÎÆÏÒÍÁÃÉÀ Ï ÐÏÄÚÁÐÒÏÓÁÈ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_next_upstream, fastcgi_next_upstream É - memcached_next_upstream ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÁÒÁÍÅÔÒ off. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á debug_connection ÐÏÄÄÅÒÖÉ×ÁÅÔ ÚÁÐÉÓØ ÁÄÒÅÓÏ× × - ÆÏÒÍÁÔÅ CIDR. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅËÏÄÉÒÏ×ÁÎÉÉ ÏÔ×ÅÔÁ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÉÌÉ - ÓÅÒ×ÅÒÁ FastCGI × UTF-8 ÉÌÉ ÎÁÏÂÏÒÏÔ ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ - ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $upstream_response_time ÓÏÄÅÒÖÁÌÁ ×ÒÅÍÑ - ÔÏÌØËÏ ÐÅÒ×ÏÇÏ ÏÂÒÁÝÅÎÉÑ Ë ÂÜËÅÎÄÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÅ amd64; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.3.53. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.53 07.07.2006 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á add_header ÄÏÂÁ×ÌÑÅÔ ÓÔÒÏËÉ × ÏÔ×ÅÔÙ Ó ËÏÄÏÍ - 204, 301 É 302. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server × ÂÌÏËÅ upstream ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ + *) Изменение: теперь при иÑпользовании "X-Accel-Redirect" Ñтрока + "Content-Type" наÑледуетÑÑ Ð¸Ð· первоначального ответа. + + *) ИÑправление: директива error_page не перенаправлÑла ошибку 413. + + *) ИÑправление: завершающий "?" не удалÑл Ñтарые аргументы, еÑли в + перепиÑанном URI не было новых аргументов. + + *) ИÑправление: nginx не запуÑкалÑÑ Ð½Ð° 64-битной FreeBSD 7.0-CURRENT. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.57 09.08.2006 + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $ssl_client_serial. + + *) ИÑправление: в операторе "!-e" в директиве if. + СпаÑибо Ðндриану Буданцову. + + *) ИÑправление: при проверке клиентÑкого Ñертификата nginx не передавал + клиенту информацию о требуемых Ñертификатах. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $document_root не поддерживала переменные в + директиве root. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.56 04.08.2006 + + *) Добавление: директива dav_access. + + *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e", + "!-e", "-x" и "!-x". + + *) ИÑправление: при запиÑи в access_log некоторых передаваемых клиенту + Ñтрок заголовков проиÑходил segmentation fault, еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°Ð» + редирект. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.55 28.07.2006 + + *) Добавление: параметр stub в команде SSI include. + + *) Добавление: команда SSI block. + + *) Добавление: Ñкрипт unicode2nginx добавлен в contrib. + + *) ИÑправление: еÑли root был задан только переменной, то корень + задавалÑÑ Ð¾Ñ‚Ð½Ð¾Ñительно префикÑа Ñервера. + + *) ИÑправление: еÑли в запроÑе был "//" или "/.", и поÑле Ñтого + закодированные Ñимволы в виде "%XX", то прокÑируемый Ð·Ð°Ð¿Ñ€Ð¾Ñ + передавалÑÑ Ð½ÐµÐ·Ð°ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼. + + *) ИÑправление: метод $r->header_in("Cookie") Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_perl_module теперь возвращает вÑе Ñтроки "Cookie" в + заголовке запроÑа. + + *) ИÑправление: проиÑходил segmentation fault, еÑли иÑпользовалÑÑ + "client_body_in_file_only on" и делалÑÑ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´ к Ñледующему бÑкенду. + + *) ИÑправление: при некоторых уÑловиÑÑ… во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ð¸ коды + Ñимволов внутри директивы charset_map могли ÑчитатьÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¼Ð¸; + ошибка поÑвилаÑÑŒ в 0.3.50. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.54 11.07.2006 + + *) Добавление: nginx теперь запиÑывает в лог информацию о подзапроÑах. + + *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и + memcached_next_upstream поддерживают параметр off. + + *) Добавление: директива debug_connection поддерживает запиÑÑŒ адреÑов в + формате CIDR. + + *) ИÑправление: при перекодировании ответа прокÑированного Ñервера или + Ñервера FastCGI в UTF-8 или наоборот ответ мог передаватьÑÑ Ð½Ðµ + полноÑтью. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $upstream_response_time Ñодержала Ð²Ñ€ÐµÐ¼Ñ + только первого Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº бÑкенду. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформе amd64; ошибка поÑвилаÑÑŒ + в 0.3.53. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.53 07.07.2006 + + *) Изменение: директива add_header добавлÑет Ñтроки в ответы Ñ ÐºÐ¾Ð´Ð¾Ð¼ + 204, 301 и 302. + + *) Добавление: директива server в блоке upstream поддерживает параметр weight. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÁÓËÕ "*". - - *) äÏÂÁ×ÌÅÎÉÅ: nginx ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÅÌÏ ÚÁÐÒÏÓÁ ÂÏÌØÛÅ 2G. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "satisfy_any on" ËÌÉÅÎÔ ÕÓÐÅÛÎÏ - ÐÒÏÈÏÄÉÌ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ, × ÌÏÇ ×Ó£ ÒÁ×ÎÏ ÚÁÐÉÓÁÌÏcØ ÓÏÏÂÝÅÎÉÅ - "access forbidden by rule". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÅÔÏÄ PUT ÍÏÇ ÏÛÉÂÏÞÎÏ ÎÅ ÓÏÚÄÁÔØ ÆÁÊÌ É ×ÅÒÎÕÔØ ËÏÄ + *) Добавление: директива server_name поддерживает маÑку "*". + + *) Добавление: nginx поддерживает тело запроÑа больше 2G. + + *) ИÑправление: еÑли при иÑпользовании "satisfy_any on" клиент уÑпешно + проходил аутентификацию, в лог вÑÑ‘ равно запиÑалоcÑŒ Ñообщение "access + forbidden by rule". + + *) ИÑправление: метод PUT мог ошибочно не Ñоздать файл и вернуть код 409. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×Ï ×ÒÅÍÑ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ IMAP/POP3 ÂÜËÅÎÄ ×ÏÚ×ÒÁÝÁÌ - ÏÛÉÂËÕ, nginx ÐÒÏÄÏÌÖÁÌ ÐÒÏËÓÉÒÏ×ÁÎÉÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.52 03.07.2006 - - *) éÚÍÅÎÅÎÉÅ: ×ÏÓÓÔÁÎÏ×ÌÅÎÏ ÐÏ×ÅÄÅÎÉÅ ÍÏÄÕÌÑ ngx_http_index_module ÄÌÑ - ÚÁÐÒÏÓÏ× "POST /": ËÁË × ×ÅÒÓÉÉ ÄÏ 0.3.40, ÍÏÄÕÌØ ÔÅÐÅÒØ ÎÅ ×ÙÄÁ£Ô - ÏÛÉÂËÕ 405. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÇÒÁÎÉÞÅÎÉÑ ÓËÏÒÏÓÔÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ - ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.37. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_charset_module ÚÁÐÉÓÙ×ÁÌ × ÌÏÇ ÏÛÉÂËÕ - "unknown charset", ÄÁÖÅ ÅÓÌÉ ÐÅÒÅËÏÄÉÒÏ×ËÁ ÎÅ ÔÒÅÂÏ×ÁÌÁÓØ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÒÅÚÕÌØÔÁÔÅ ÚÁÐÒÏÓÁ PUT ×ÏÚ×ÒÁÝÁÌÓÑ ËÏÄ 409, ÔÏ - ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÎÅ ÕÄÁÌÑÌÓÑ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.51 30.06.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ × SSI ÍÏÇ ÐÒÏÐÁÄÁÔØ ÓÉÍ×ÏÌÙ "<"; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.50. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.50 28.06.2006 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_redirect_errors É fastcgi_redirect_errors - ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × proxy_intercept_errors É + *) ИÑправление: еÑли во Ð²Ñ€ÐµÐ¼Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ IMAP/POP3 бÑкенд возвращал + ошибку, nginx продолжал прокÑирование. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.52 03.07.2006 + + *) Изменение: воÑÑтановлено поведение Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_index_module Ð´Ð»Ñ + запроÑов "POST /": как в верÑии до 0.3.40, модуль теперь не выдаёт + ошибку 405. + + *) ИÑправление: при иÑпользовании Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑкороÑти рабочий процеÑÑ + мог зациклитьÑÑ; ошибка поÑвилаÑÑŒ в 0.3.37. + + *) ИÑправление: модуль ngx_http_charset_module запиÑывал в лог ошибку + "unknown charset", даже еÑли перекодировка не требовалаÑÑŒ; ошибка + поÑвилаÑÑŒ в 0.3.50. + + *) ИÑправление: еÑли в результате запроÑа PUT возвращалÑÑ ÐºÐ¾Ð´ 409, то + временный файл не удалÑлÑÑ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.51 30.06.2006 + + *) ИÑправление: при некоторых уÑловиÑÑ… в SSI мог пропадать Ñимволы "<"; + ошибка поÑвилаÑÑŒ в 0.3.50. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.50 28.06.2006 + + *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors + переименованы ÑоответÑтвенно в proxy_intercept_errors и fastcgi_intercept_errors. - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_charset_module ÐÏÄÄÅÒÖÉ×ÁÅÔ - ÐÅÒÅËÏÄÉÒÏ×ÁÎÉÅ ÉÚ ÏÄÎÏÂÁÊÔÎÙÈ ËÏÄÉÒÏ×ÏË × UTF-8 É ÏÂÒÁÔÎÏ. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ - ÚÁÇÏÌÏ×ËÁ "X-Accel-Charset" × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÕÂÉÒÁÌÓÑ, - ÔÏÌØËÏ ÅÓÌÉ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÓÉÍ×ÏÌ "$". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ × SSI ÐÏÓÌÅ ×ÓÔÁ×ËÉ ÍÏÇÌÁ ÂÙÔØ - ÄÏÂÁ×ÌÅÎÁ ÓÔÒÏËÁ "<!--". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ ÂÙÌÁ ÓÔÒÏËÁ - "Content-Length: 0", ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÏÇÏ - ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÎÅ ÚÁËÒÙ×ÁÌÏÓØ ÓÏÅÄÉÎÅÎÉÅ Ó ËÌÉÅÎÔÏÍ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.49 31.05.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å set. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ × ssi Ä×ÕÈ É ÂÏÌÅÅ ÐÏÄÚÁÐÒÏÓÏ×, - ÏÂÒÁÂÁÔÙ×ÁÅÍÙÈ ÞÅÒÅÚ FastCGI, ×ÍÅÓÔÏ ×Ù×ÏÄÁ ×ÔÏÒÏÇÏ É ÏÓÔÁÌØÎÙÈ - ÐÏÄÚÁÐÒÏÓÏ× × ÏÔ×ÅÔ ×ËÌÀÞÁÌÓÑ ×Ù×ÏÄ ÐÅÒ×ÏÇÏ ÐÏÄÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.48 29.05.2006 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÍÏÄÕÌØ ngx_http_charset_module ÒÁÂÏÔÁÅÔ ÄÌÑ - ÐÏÄÚÁÐÒÏÓÏ×, × ÏÔ×ÅÔÁÈ ËÏÔÏÒÙÈ ÎÅÔ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Content-Type". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÎÅ ÂÙÌÏ URI, ÔÏ ÄÉÒÅËÔÉ×Á - "proxy_redirect default" ÄÏÂÁ×ÌÑÌÁ × ÐÅÒÅÐÉÓÁÎÎÙÊ ÒÅÄÉÒÅËÔ × ÎÁÞÁÌÏ - ÌÉÛÎÉÊ ÓÌÜÛ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÎÕÔÒÅÎÎÉÊ ÒÅÄÉÒÅËÔ ×ÓÅÇÄÁ ÐÒÅ×ÒÁÝÁÌ ÌÀÂÏÊ HTTP-ÍÅÔÏÄ × - GET, ÔÅÐÅÒØ ÜÔÏ ÄÅÌÁÅÔÓÑ ÔÏÌØËÏ ÄÌÑ ÒÅÄÉÒÅËÔÏ×, ×ÙÐÏÌÎÑÅÍÙÈ Ó - ÐÏÍÏÝØÀ X-Accel-Redirect, É Õ ËÏÔÏÒÙÈ ÍÅÔÏÄ ÎÅ ÒÁ×ÅÎ HEAD; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.3.42. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ, ÅÓÌÉ ÐÅÒÌ ÂÙÌ - Ó ÐÏÄÄÅÒÖËÏÊ ÐÏÔÏËÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.46. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.47 23.05.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á upstream. - - *) éÚÍÅÎÅÎÉÅ: ÓÉÍ×ÏÌ "\" × ÐÁÒÁÈ "\"" É "\'" × SSI ËÏÍÁÎÄÁÈ ÔÅÐÅÒØ - ×ÓÅÇÄÁ ÕÂÉÒÁÅÔÓÑ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.46 11.05.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_hide_header, proxy_pass_header, - fastcgi_hide_header É fastcgi_pass_header. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_pass_x_powered_by, fastcgi_x_powered_by É - proxy_pass_server ÕÐÒÁÚÄÎÅÎÙ. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ - "X-Accel-Buffering" × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂÏË É ÕÔÅÞÅË ÐÁÍÑÔÉ ÐÒÉ ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ × ÍÏÄÕÌÅ + *) Добавление: модуль ngx_http_charset_module поддерживает + перекодирование из однобайтных кодировок в UTF-8 и обратно. + + *) Добавление: в режиме прокÑи и FastCGI поддерживаетÑÑ Ñтрока заголовка + "X-Accel-Charset" в ответе бÑкенда. + + *) ИÑправление: Ñимвол "\" в парах "\"" и "\'" в SSI командах убиралÑÑ, + только еÑли также иÑпользовалÑÑ Ñимвол "$". + + *) ИÑправление: при некоторых уÑловиÑÑ… в SSI поÑле вÑтавки могла быть + добавлена Ñтрока "<!--". + + *) ИÑправление: еÑли в заголовке ответа была Ñтрока "Content-Length: 0", + то при иÑпользовании небуферизированного прокÑировании не закрывалоÑÑŒ + Ñоединение Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð¾Ð¼. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.49 31.05.2006 + + *) ИÑправление: в директиве set. + + *) ИÑправление: при включении в ssi двух и более подзапроÑов, + обрабатываемых через FastCGI, вмеÑто вывода второго и оÑтальных + подзапроÑов в ответ включалÑÑ Ð²Ñ‹Ð²Ð¾Ð´ первого подзапроÑа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.48 29.05.2006 + + *) Изменение: теперь модуль ngx_http_charset_module работает Ð´Ð»Ñ + подзапроÑов, в ответах которых нет Ñтроки заголовка "Content-Type". + + *) ИÑправление: еÑли в директиве proxy_pass не было URI, то директива + "proxy_redirect default" добавлÑла в перепиÑанный редирект в начало + лишний ÑлÑш. + + *) ИÑправление: внутренний редирект вÑегда превращал любой HTTP-метод в + GET, теперь Ñто делаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ€ÐµÐ´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ð², выполнÑемых Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + X-Accel-Redirect, и у которых метод не равен HEAD; ошибка поÑвилаÑÑŒ в + 0.3.42. + + *) ИÑправление: модуль ngx_http_perl_module не ÑобиралÑÑ, еÑли перл был + Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ потоков; ошибка поÑвилаÑÑŒ в 0.3.46. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.47 23.05.2006 + + *) Добавление: директива upstream. + + *) Изменение: Ñимвол "\" в парах "\"" и "\'" в SSI командах теперь + вÑегда убираетÑÑ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.46 11.05.2006 + + *) Добавление: директивы proxy_hide_header, proxy_pass_header, + fastcgi_hide_header и fastcgi_pass_header. + + *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и + proxy_pass_server упразднены. + + *) Добавление: в режиме прокÑи поддерживаетÑÑ Ñтрока заголовка + "X-Accel-Buffering" в ответе бÑкенда. + + *) ИÑправление: ошибок и утечек памÑти при переконфигурации в модуле ngx_http_perl_module. -éÚÍÅÎÅÎÉÑ × nginx 0.3.45 06.05.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ssl_verify_client, ssl_verify_depth É +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.45 06.05.2006 + + *) Добавление: директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÅÒÅÍÅÎÎÁÑ $request_method ×ÏÚ×ÒÁÝÁÅÔ ÍÅÔÏÄ ÔÏÌØËÏ - ÏÓÎÏ×ÎÏÇÏ ÚÁÐÒÏÓÁ. - - *) éÚÍÅÎÅÎÉÅ: × ÔÁÂÌÉÃÅ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÉÚÍÅÎÅÎÙ ËÏÄÙ ÓÉÍ×ÏÌÁ + *) Изменение: теперь Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_method возвращает метод только + оÑновного запроÑа. + + *) Изменение: в таблице перекодировки koi-win изменены коды Ñимвола °. - *) äÏÂÁ×ÌÅÎÉÅ: × ÔÁÂÌÉÃÕ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÄÏÂÁ×ÌÅÎÙ ÓÉÍ×ÏÌÙ Å×ÒÏ É - ÎÏÍÅÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ nginx ÒÁÓÐÒÅÄÅÌÑÌ ÚÁÐÒÏÓÙ ÎÁ ÎÅÓËÏÌØËÏ ÍÁÛÉÎ, ÔÏ - ÐÒÉ ÐÁÄÅÎÉÉ ÏÄÎÏÊ ÉÚ ÎÉÈ ÚÁÐÒÏÓÙ, ÐÒÅÄÎÁÚÎÁÞÅÎÎÙÅ ÄÌÑ ÜÔÏÊ ÍÁÛÉÎÙ, - ÐÅÒÅÎÁÐÒÁ×ÌÑÌÉÓØ ÔÏÌØËÏ ÎÁ ÏÄÎÕ ÍÁÛÉÎÕ ×ÍÅÓÔÏ ÔÏÇÏ, ÞÔÏÂÙ ÒÁ×ÎÏÍÅÒÎÏ - ÒÁÓÐÒÅÄÅÌÑÔØÓÑ ÍÅÖÄÕ ÏÓÔÁÌØÎÙÍÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.44 04.05.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ wait × ËÏÍÁÎÄÅ SSI include. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÔÁÂÌÉÃÕ ÐÅÒÅËÏÄÉÒÏ×ËÉ koi-win ÄÏÂÁ×ÌÅÎÙ ÕËÒÁÉÎÓËÉÅ É - ÂÅÌÏÒÕÓÓËÉÅ ÓÉÍ×ÏÌÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × SSI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.43 26.04.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × SSI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.42 26.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ bind × ÄÉÒÅËÔÉ×Å listen × IMAP/POP3 ÐÒÏËÓÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × ÄÉÒÅËÔÉ×Å rewrite ÏÄÎÏÇÏ É - ÔÏÇÏ ÖÅ ×ÙÄÅÌÅÎÉÑ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÌÏÇ ÎÅ ÚÁÐÉÓÙ×ÁÌÉÓØ ÐÅÒÅÍÅÎÎÙÅ - $sent_http_content_type, $sent_http_content_length, - $sent_http_last_modified, $sent_http_connection, - $sent_http_keep_alive É $sent_http_transfer_encoding. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $sent_http_cache_control ×ÏÚ×ÒÁÝÁÌÁ - ÓÏÄÅÒÖÉÍÏÅ ÔÏÌØËÏ ÏÄÎÏÊ ÓÔÒÏËÉ "Cache-Control" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.41 21.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -v. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ × SSI ÕÄÁÌ£ÎÎÙÈ ÐÏÄÚÁÐÒÏÓÏ× ÍÏÇ ÐÒÏÉÚÏÊÔÉ + *) Добавление: в таблицу перекодировки koi-win добавлены Ñимволы евро и + номера. + + *) ИÑправление: еÑли nginx раÑпределÑл запроÑÑ‹ на неÑколько машин, то + при падении одной из них запроÑÑ‹, предназначенные Ð´Ð»Ñ Ñтой машины, + перенаправлÑлиÑÑŒ только на одну машину вмеÑто того, чтобы равномерно + раÑпределÑÑ‚ÑŒÑÑ Ð¼ÐµÐ¶Ð´Ñƒ оÑтальными. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.44 04.05.2006 + + *) Добавление: параметр wait в команде SSI include. + + *) Добавление: в таблицу перекодировки koi-win добавлены украинÑкие и + белоруÑÑкие Ñимволы. + + *) ИÑправление: в SSI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.43 26.04.2006 + + *) ИÑправление: в SSI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.42 26.04.2006 + + *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокÑи. + + *) ИÑправление: ошибки при иÑпользовании в директиве rewrite одного и + того же Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ одного раза. + + *) ИÑправление: в лог не запиÑывалиÑÑŒ переменные + $sent_http_content_type, $sent_http_content_length, + $sent_http_last_modified, $sent_http_connection, + $sent_http_keep_alive и $sent_http_transfer_encoding. + + *) ИÑправление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $sent_http_cache_control возвращала + Ñодержимое только одной Ñтроки "Cache-Control" в заголовке ответа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.41 21.04.2006 + + *) Добавление: ключ -v. + + *) ИÑправление: при включении в SSI удалённых подзапроÑов мог произойти segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÂÒÁÂÏÔËÅ FastCGI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÕÔØ Ë ÐÅÒÌÏ×ÙÍ ÍÏÄÕÌÑÍ ÎÅ ÂÙÌ ÕËÁÚÁÎ Ó ÐÏÍÏÝØÀ - --with-perl_modules_path=PATH ÉÌÉ ÄÉÒÅËÔÉ×Ù perl_modules, ÔÏ ÎÁ - ÓÔÁÒÔÅ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.40 19.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_dav_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ MKCOL. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á create_full_put_path. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $limit_rate. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.39 17.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á uninitialized_variable_warn; ÕÒÏ×ÅÎØ - ÌÏÇÇÉÒÏ×ÁÎÉÑ ÓÏÏÂÝÅÎÉÑ Ï ÎÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÎÏÊ ÐÅÒÅÍÅÎÎÏÊ ÐÏÎÉÖÅÎ Ó - ÕÒÏ×ÎÑ alert ÎÁ warn. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á override_charset. - - *) éÚÍÅÎÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÎÅÉÚ×ÅÓÔÎÏÊ ÐÅÒÅÍÅÎÎÏÊ × SSI-ËÏÍÁÎÄÁÈ - echo É if expr='$name' ÔÅÐÅÒØ ÎÅ ÚÁÐÉÓÙ×ÁÅÔÓÑ × ÌÏÇ ÓÏÏÂÝÅÎÉÅ Ï - ÎÅÉÚ×ÅÓÔÎÏÊ ÐÅÒÅÍÅÎÎÏÊ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÞ£ÔÞÉË ÁËÔÉ×ÎÙÈ ÓÏÅÄÉÎÅÎÉÊ ÒÏÓ ÐÒÉ ÐÒÅ×ÙÛÅÎÉÉ ÌÉÍÉÔÁ - ÓÏÅÄÉÎÅÎÉÊ, ÚÁÄÁÎÎÏÇÏ ÄÉÒÅËÔÉ×ÏÊ worker_connections; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.2.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑ ÏÇÒÁÎÉÞÅÎÉÅ ÓËÏÒÏÓÔÉ ÓÏÅÄÉÎÅÎÉÑ - ÍÏÇÌÏ ÎÅ ÒÁÂÏÔÁÔØ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.38. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.38 14.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_dav_module. - - *) éÚÍÅÎÅÎÉÅ: ÏÐÔÉÍÉÚÁÃÉÑ ÍÏÄÕÌÑ ngx_http_perl_module. - óÐÁÓÉÂÏ óÅÒÇÅÀ óË×ÏÒÃÏ×Õ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ + *) ИÑправление: в обработке FastCGI. + + *) ИÑправление: еÑли путь к перловым модулÑм не был указан Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ + --with-perl_modules_path=PATH или директивы perl_modules, то на + Ñтарте проиÑходил segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.40 19.04.2006 + + *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL. + + *) Добавление: директива create_full_put_path. + + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $limit_rate. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.39 17.04.2006 + + *) Добавление: директива uninitialized_variable_warn; уровень + Ð»Ð¾Ð³Ð³Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ неинициализированной переменной понижен Ñ + ÑƒÑ€Ð¾Ð²Ð½Ñ alert на warn. + + *) Добавление: директива override_charset. + + *) Изменение: при иÑпользовании неизвеÑтной переменной в SSI-командах + echo и if expr='$name' теперь не запиÑываетÑÑ Ð² лог Ñообщение о + неизвеÑтной переменной. + + *) ИÑправление: Ñчётчик активных Ñоединений Ñ€Ð¾Ñ Ð¿Ñ€Ð¸ превышении лимита + Ñоединений, заданного директивой worker_connections; ошибка поÑвилаÑÑŒ + в 0.2.0. + + *) ИÑправление: при некоторых уÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ðµ ÑкороÑти ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ + могло не работать; ошибка поÑвилаÑÑŒ в 0.3.38. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.38 14.04.2006 + + *) Добавление: модуль ngx_http_dav_module. + + *) Изменение: Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_perl_module. + СпаÑибо Сергею Скворцову. + + *) Добавление: модуль ngx_http_perl_module поддерживает метод $r->request_body_file. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á client_body_in_file_only. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÐÒÉ ÐÅÒÅÐÏÌÎÅÎÉÉ ÄÉÓËÁ nginx ÐÙÔÁÅÔÓÑ ÐÉÓÁÔØ - access_log'É ÔÏÌØËÏ ÒÁÚ × ÓÅËÕÎÄÕ. - óÐÁÓÉÂÏ áÎÔÏÎÕ àÖÁÎÉÎÏ×Õ É íÁËÓÉÍÕ äÕÎÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á limit_rate ÔÏÞÎÅÅ ÏÇÒÁÎÉÞÉ×ÁÅÔ - ÓËÏÒÏÓÔØ ÐÒÉ ÚÎÁÞÅÎÉÑÈ ÂÏÌØÛÅ 100 Kbyte/s. - óÐÁÓÉÂÏ ForJest. - - *) éÓÐÒÁ×ÌÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ ÔÅÐÅÒØ ÐÅÒÅÄÁ£Ô ÓÅÒ×ÅÒÕ Á×ÔÏÒÉÚÁÃÉÉ - ÓÉÍ×ÏÌÙ "\r" É "\n" × ÌÏÇÉÎÅ É ÐÁÒÏÌÅ × ÚÁËÏÄÉÒÏ×ÁÎÎÏÍ ×ÉÄÅ. - óÐÁÓÉÂÏ íÁËÓÉÍÕ äÕÎÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.37 07.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_except. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÔÏÒÙ "!~", "!~*", "-f" É + *) Добавление: директива client_body_in_file_only. + + *) Изменение: теперь при переполнении диÑка nginx пытаетÑÑ Ð¿Ð¸Ñать + access_log'и только раз в Ñекунду. + СпаÑибо Ðнтону Южанинову и МакÑиму Дунину. + + *) ИÑправление: теперь директива limit_rate точнее ограничивает ÑкороÑÑ‚ÑŒ + при значениÑÑ… больше 100 Kbyte/s. + СпаÑибо ForJest. + + *) ИÑправление: IMAP/POP3 прокÑи теперь передаёт Ñерверу авторизации + Ñимволы "\r" и "\n" в логине и пароле в закодированном виде. + СпаÑибо МакÑиму Дунину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.37 07.04.2006 + + *) Добавление: директива limit_except. + + *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄ + *) Добавление: модуль ngx_http_perl_module поддерживает метод $r->request_body. - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÍÏÄÕÌÅ ngx_http_addition_filter_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.36 05.04.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_addition_filter_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_pass É fastcgi_pass ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ - ×ÎÕÔÒÉ ÂÌÏËÁ if. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_ignore_client_abort É + *) ИÑправление: в модуле ngx_http_addition_filter_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.36 05.04.2006 + + *) Добавление: модуль ngx_http_addition_filter_module. + + *) Добавление: директивы proxy_pass и fastcgi_pass можно иÑпользовать + внутри блока if. + + *) Добавление: директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $request_completion. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ - $r->request_method É $r->remote_addr. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ elif. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÁ "\/" × ÎÁÞÁÌÅ ×ÙÒÁÖÅÎÉÑ ËÏÍÁÎÄÙ if ÍÏÄÕÌÑ - ngx_http_ssi_module ×ÏÓÐÒÉÎÉÍÁÌÁÓØ ÎÅ×ÅÒÎÏ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÑÈ × ËÏÍÁÎÄÅ if - ÍÏÄÕÌÑ ngx_http_ssi_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÚÁÄÁÎÉÉ ÏÔÎÏÓÉÔÅÌØÎÏÇÏ ÐÕÔÉ × ÄÉÒÅËÔÉ×ÁÈ - client_body_temp_path, proxy_temp_path, fastcgi_temp_path É - perl_modules ÉÓÐÏÌØÚÏ×ÁÌÓÑ ËÁÔÁÌÏÇ ÏÔÎÏÓÉÔÅÌØÎÏ ÔÅËÕÝÅÇÏ ËÁÔÁÌÏÇÁ, Á - ÎÅ ÏÔÎÏÓÉÔÅÌØÎÏ ÐÒÅÆÉËÓÁ ÓÅÒ×ÅÒÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.35 22.03.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: accept-ÆÉÌØÔÒ É TCP_DEFER_ACCEPT ÕÓÔÁÎÁ×ÌÉ×ÁÌÉÓØ ÔÏÌØËÏ - ÄÌÑ ÐÅÒ×ÏÊ ÄÉÒÅËÔÉ×Ù listen; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.31. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å proxy_pass ÂÅÚ URI ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ × - ÐÏÄÚÁÐÒÏÓÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.34 21.03.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á add_header ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.33 15.03.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ http_503 × ÄÉÒÅËÔÉ×ÁÈ proxy_next_upstream ÉÌÉ + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $request_completion. + + *) Добавление: модуль ngx_http_perl_module поддерживает методы + $r->request_method и $r->remote_addr. + + *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif. + + *) ИÑправление: Ñтрока "\/" в начале Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ if Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_ssi_module воÑпринималаÑÑŒ неверно. + + *) ИÑправление: в иÑпользовании регулÑрных выражениÑÑ… в команде if + Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_ssi_module. + + *) ИÑправление: при задании отноÑительного пути в директивах + client_body_temp_path, proxy_temp_path, fastcgi_temp_path и + perl_modules иÑпользовалÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³ отноÑительно текущего каталога, а + не отноÑительно префикÑа Ñервера. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.35 22.03.2006 + + *) ИÑправление: accept-фильтр и TCP_DEFER_ACCEPT уÑтанавливалиÑÑŒ только + Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ директивы listen; ошибка поÑвилаÑÑŒ в 0.3.31. + + *) ИÑправление: в директиве proxy_pass без URI при иÑпользовании в + подзапроÑе. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.34 21.03.2006 + + *) Добавление: директива add_header поддерживает переменные. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.33 15.03.2006 + + *) Добавление: параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_perl_module ÎÅ ÒÁÂÏÔÁÌ ÓÏ ×ÓÔÒÏÅÎÎÙÍ × - ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ËÏÄÏÍ, ÅÓÌÉ ÏÎ ÎÅ ÎÁÞÉÎÁÌÓÑ ÓÒÁÚÕ ÖÅ Ó "sub". - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å post_action. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.32 11.03.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÄÁÌÅÎÉÅ ÏÔÌÁÄÏÞÎÏÇÏ ÌÏÇÇÉÒÏ×ÁÎÉÑ ÎÁ ÓÔÁÒÔÅ É ÐÒÉ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.31. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.31 10.03.2006 - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ nginx ÐÅÒÅÄÁ£Ô ÎÅ×ÅÒÎÙÅ ÏÔ×ÅÔÙ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ - ÂÜËÅÎÄÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù listen ÐÏÄÄÅÒÖÉ×ÁÀÔ ÁÄÒÅÓ × ×ÉÄÅ "*:ÐÏÒÔ". - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ EVFILER_TIMER × MacOSX 10.4. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ ÏÂÒÁÂÏÔËÉ ÍÉÌÌÉÓÅËÕÎÄÎÙÈ ÔÁÊÍÁÕÔÏ× kqueue × - 64-ÂÉÔÎÏÍ ÑÄÒÅ MacOSX. - óÐÁÓÉÂÏ áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÎÕÔÒÉ ÏÄÎÏÇÏ ÓÅÒ×ÅÒÁ ÏÐÉÓÁÎÙ ÎÅÓËÏÌØËÏ ÄÉÒÅËÔÉ× - listen, ÓÌÕÛÁÀÝÉÈ ÎÁ ÒÁÚÎÙÈ ÁÄÒÅÓÁÈ, ÔÏ ÉÍÅÎÁ ÓÅÒ×ÅÒÏ× ×ÉÄÁ - "*.domain.tld" ÒÁÂÏÔÁÌÉ ÔÏÌØËÏ ÄÌÑ ÐÅÒ×ÏÇÏ ÁÄÒÅÓÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.3.18. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å - proxy_pass ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÚÁÐÒÏÓÙ Ó ÔÅÌÏÍ, ÚÁÐÉÓÁÎÎÙÍ ×Ï ×ÒÅÍÅÎÎÙÊ - ÆÁÊÌ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó perl 5.8.8. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.30 22.02.2006 - - *) éÚÍÅÎÅÎÉÅ: ÕÒÏ×ÅÎØ ÚÁÐÉÓÉ × ÌÏÇ ÏÛÉÂËÉ ECONNABORTED ÉÚÍÅΣΠÎÁ error - Ó ÕÒÏ×ÎÑ crit. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÍÏÄÕÌÑ + *) ИÑправление: ngx_http_perl_module не работал Ñо вÑтроенным в + конфигурационный файл кодом, еÑли он не начиналÑÑ Ñразу же Ñ "sub". + + *) ИÑправление: в директиве post_action. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.32 11.03.2006 + + *) ИÑправление: удаление отладочного Ð»Ð¾Ð³Ð³Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° Ñтарте и при + переконфигурации; ошибка поÑвилаÑÑŒ в 0.3.31. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.31 10.03.2006 + + *) Изменение: теперь nginx передаёт неверные ответы прокÑированного + бÑкенда. + + *) Добавление: директивы listen поддерживают Ð°Ð´Ñ€ÐµÑ Ð² виде "*:порт". + + *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4. + + *) Изменение: обход ошибки обработки миллиÑекундных таймаутов kqueue в + 64-битном Ñдре MacOSX. + СпаÑибо Ðндрею Ðигматулину. + + *) ИÑправление: еÑли внутри одного Ñервера опиÑаны неÑколько директив + listen, Ñлушающих на разных адреÑах, то имена Ñерверов вида + "*.domain.tld" работали только Ð´Ð»Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ адреÑа; ошибка поÑвилаÑÑŒ в + 0.3.18. + + *) ИÑправление: при иÑпользовании протокола HTTPS в директиве proxy_pass + не передавалиÑÑŒ запроÑÑ‹ Ñ Ñ‚ÐµÐ»Ð¾Ð¼, запиÑанным во временный файл. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ perl 5.8.8. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.30 22.02.2006 + + *) Изменение: уровень запиÑи в лог ошибки ECONNABORTED изменён на error + Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ crit. + + *) ИÑправление: модуль ngx_http_perl_module не ÑобиралÑÑ Ð±ÐµÐ· Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_ssi_filter_module. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ i386 ÐÌÁÔÆÏÒÍÅ, ÅÓÌÉ - ÉÓÐÏÌØÚÏ×ÁÌÓÑ PIC; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.27. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.29 20.02.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÔÅÐÅÒØ nginx ÉÓÐÏÌØÚÕÅÔ ÍÅÎØÛÅ ÐÁÍÑÔÉ, ÅÓÌÉ PHP × ÒÅÖÉÍÅ - FastCGI ÐÅÒÅÄÁ£Ô ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ ÐÅÒÅÄ ÏÔ×ÅÔÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÔ×ÅÔÁÈ 204 ÄÌÑ ÚÁÐÒÏÓÏ× ×ÅÒÓÉÉ HTTP/1.1 ×ÙÄÁ×ÁÌÁÓØ - ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "Transfer-Encoding: chunked". - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÏÚ×ÒÁÝÁÌ 502 ËÏÄ ÏÔ×ÅÔÁ, ÅÓÌÉ FastCGI ÓÅÒ×ÅÒ - ÐÅÒÅÄÁ×ÁÌ ÐÏÌÎÙÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ × ÏÔÄÅÌØÎÙÈ FastCGI ÚÁÐÉÓÑÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å post_action ÂÙÌ ÕËÁÚÁÎ ÐÒÏËÓÉÒÕÅÍÙÊ - URI, ÔÏ ÏÎ ×ÙÐÏÌÎÑÌÓÑ ÔÏÌØËÏ ÐÏÓÌÅ ÕÓÐÅÛÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.28 16.02.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á restrict_host_names ÕÐÒÁÚÄÎÅÎÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ --with-cpu-opt=ppc64. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÑÈ ÐÒÏËÓÉÒÏ×ÁÎÎÏÅ ÓÏÅÄÉÎÅÎÉÅ Ó - ËÌÉÅÎÔÏÍ ÚÁ×ÅÒÛÁÌÏÓØ ÐÒÅÖÄÅ×ÒÅÍÅÎÎÏ. - óÐÁÓÉÂÏ ÷ÌÁÄÉÍÉÒÕ ûÕÔÏ×Õ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "X-Accel-Limit-Rate" ÎÅ ÕÞÉÔÙ×ÁÌÁÓØ - ÄÌÑ ÚÁÐÒÏÓÏ×, ÐÅÒÅÎÁÐÒÁ×ÌÅÎÎÙÈ Ó ÐÏÍÏÝØÀ ÓÔÒÏËÉ "X-Accel-Redirect". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_action ÒÁÂÏÔÁÌÁ ÔÏÌØËÏ ÐÏÓÌÅ ÕÓÐÅÛÎÏÇÏ - ÚÁ×ÅÒÛÅÎÉÑ ÚÁÐÒÏÓÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÔÅÌÏ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÏÔ×ÅÔÁ, ÓÏÚÄÁ×ÁÅÍÏÇÏ ÄÉÒÅËÔÉ×ÏÊ - post_action, ÐÅÒÅÄÁ×ÁÌÏÓØ ËÌÉÅÎÔÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.27 08.02.2006 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù variables_hash_max_size É + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° i386 платформе, еÑли иÑпользовалÑÑ + PIC; ошибка поÑвилаÑÑŒ в 0.3.27. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.29 20.02.2006 + + *) Добавление: теперь nginx иÑпользует меньше памÑти, еÑли PHP в режиме + FastCGI передаёт большое количеÑтво предупреждений перед ответом. + + *) ИÑправление: в ответах 204 Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов верÑии HTTP/1.1 выдавалаÑÑŒ + Ñтрока заголовка "Transfer-Encoding: chunked". + + *) ИÑправление: nginx возвращал 502 код ответа, еÑли FastCGI Ñервер + передавал полные Ñтроки заголовка ответа в отдельных FastCGI запиÑÑÑ…. + + *) ИÑправление: еÑли в директиве post_action был указан прокÑируемый + URI, то он выполнÑлÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ поÑле уÑпешного Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.28 16.02.2006 + + *) Добавление: директива restrict_host_names упразднена. + + *) Добавление: параметр конфигурации --with-cpu-opt=ppc64. + + *) ИÑправление: при некоторых уÑловиÑÑ… прокÑированное Ñоединение Ñ + клиентом завершалоÑÑŒ преждевременно. + СпаÑибо Владимиру Шутову. + + *) ИÑправление: Ñтрока заголовка "X-Accel-Limit-Rate" не учитывалаÑÑŒ Ð´Ð»Ñ + запроÑов, перенаправленных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтроки "X-Accel-Redirect". + + *) ИÑправление: директива post_action работала только поÑле уÑпешного + Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + *) ИÑправление: тело прокÑированного ответа, Ñоздаваемого директивой + post_action, передавалоÑÑŒ клиенту. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.27 08.02.2006 + + *) Изменение: директивы variables_hash_max_size и variables_hash_bucket_size. - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÁÑ $body_bytes_sent ÄÏÓÔÕÐÎÁ ÎÅ ÔÏÌØËÏ × - ÄÉÒÅËÔÉ×Å log_format. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ $ssl_protocol É $ssl_cipher. - - *) äÏÂÁ×ÌÅÎÉÅ: ÏÐÒÅÄÅÌÅÎÉÅ ÒÁÚÍÅÒÁ ÓÔÒÏËÉ ËÜÛÁ ÒÁÓÐÒÏÓÔÒÁΣÎÎÙÈ - ÐÒÏÃÅÓÓÏÒÏ× ÐÒÉ ÓÔÁÒÔÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á accept_mutex ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏÓÒÅÄÓÔ×ÏÍ - fcntl(2) ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, amd64, sparc64 É ppc. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á lock_file É ÐÁÒÁÍÅÔÒ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ + *) Добавление: Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $body_bytes_sent доÑтупна не только в + директиве log_format. + + *) Добавление: переменные $ssl_protocol и $ssl_cipher. + + *) Добавление: определение размера Ñтроки кÑша раÑпроÑтранённых + процеÑÑоров при Ñтарте. + + *) Добавление: директива accept_mutex теперь поддерживаетÑÑ Ð¿Ð¾ÑредÑтвом + fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc. + + *) Добавление: директива lock_file и параметр автоконфигурации --with-lock-path=PATH. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å - proxy_pass ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÚÁÐÒÏÓÙ Ó ÔÅÌÏÍ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.26 03.02.2006 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á optimize_host_names ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × + *) ИÑправление: при иÑпользовании протокола HTTPS в директиве proxy_pass + не передавалиÑÑŒ запроÑÑ‹ Ñ Ñ‚ÐµÐ»Ð¾Ð¼. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.26 03.02.2006 + + *) Изменение: директива optimize_host_names переименована в optimize_server_names. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÐÏÄÚÁÐÒÏÓÁ × SSI ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÓÑ - URI ÏÓÎÏ×ÎÏÇÏ ÚÁÐÒÏÓÁ, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÏÔÓÕÔÓÔ×Ï×ÁÌ URI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.25 01.02.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅ×ÅÒÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ ÎÁ ÓÔÁÒÔÅ ÉÌÉ ×Ï ×ÒÅÍÑ - ÐÅÒÅËÏÎÆÉÇÕÒÁÃÉÉ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: при прокÑировании подзапроÑа в SSI бÑкенду передавалÑÑ + URI оÑновного запроÑа, еÑли в директиве proxy_pass отÑутÑтвовал URI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.25 01.02.2006 + + *) ИÑправление: при неверной конфигурации на Ñтарте или во Ð²Ñ€ÐµÐ¼Ñ + переконфигурации проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.3.24. -éÚÍÅÎÅÎÉÑ × nginx 0.3.24 01.02.2006 - - *) éÚÍÅÎÅÎÉÅ: ÏÂÈÏÄ ÏÛÉÂËÉ × kqueue ×Ï FreeBSD. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔ, ÓÏÚÄÁ×ÁÅÍÙÊ ÄÉÒÅËÔÉ×ÏÊ post_action, ÔÅÐÅÒØ ÎÅ - ÐÅÒÅÄÁ£ÔÓÑ ËÌÉÅÎÔÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÌÏÇ-ÆÁÊÌÏ× - ÐÒÏÉÓÈÏÄÉÌÁ ÕÔÅÞËÁ ÐÁÍÑÔÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÎÕÔÒÉ ÏÄÎÏÇÏ location ÒÁÂÏÔÁÌÁ ÔÏÌØËÏ ÐÅÒ×ÁÑ ÄÉÒÅËÔÉ×Á +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.24 01.02.2006 + + *) Изменение: обход ошибки в kqueue во FreeBSD. + + *) ИÑправление: ответ, Ñоздаваемый директивой post_action, теперь не + передаётÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñƒ. + + *) ИÑправление: при иÑпользовании большого количеÑтва лог-файлов + проиÑходила утечка памÑти. + + *) ИÑправление: внутри одного location работала только Ð¿ÐµÑ€Ð²Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° proxy_redirect. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÐÒÉ ÓÔÁÒÔÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ - segmentation fault, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÏÓØ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÍ£Î × - ÄÉÒÅËÔÉ×ÁÈ server_name; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.23 24.01.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á optimize_host_names. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÅÒÅÍÅÎÎÙÈ × ÄÉÒÅËÔÉ×ÁÈ path É + *) ИÑправление: на 64-битных платформах при Ñтарте мог произойти + segmentation fault, еÑли иÑпользовалоÑÑŒ большое количеÑтво имён в + директивах server_name; ошибка поÑвилаÑÑŒ в 0.3.18. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.23 24.01.2006 + + *) Добавление: директива optimize_host_names. + + *) ИÑправление: ошибки при иÑпользовании переменных в директивах path и alias. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÎÅÐÒÁ×ÉÌØÎÏ ÓÏÂÉÒÁÌÓÑ ÎÁ - Linux É Solaris. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.22 17.01.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÍÅÔÏÄÙ $r->args - É $r->unescape. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÅÔÏÄ $r->query_string × ÍÏÄÕÌÅ ngx_http_perl_module - ÕÐÒÁÚÄΣÎ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å valid_referers ÕËÁÚÁÎÙ ÔÏÌØËÏ none ÉÌÉ - blocked, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.18. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.21 16.01.2006 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_perl_module. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á valid_referers ÒÁÚÒÅÛÁÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÒÅÆÅÒÅÒÙ - ÓÏ×ÓÅÍ ÂÅÚ URI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.20 11.01.2006 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_memcached_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ËÌÀÞÉ × - ×ÉÄÅ /uri?args. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.19 28.12.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù path É alias ÐÏÄÄÅÒÖÉ×ÁÀÔ ÐÅÒÅÍÅÎÎÙÅ. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á valid_referers ÏÐÑÔØ ÕÞÉÔÙ×ÁÅÔ URI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.18 26.12.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_names ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÍÅÎÁ ×ÉÄÁ + *) ИÑправление: модуль ngx_http_perl_module неправильно ÑобиралÑÑ Ð½Ð° + Linux и Solaris. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.22 17.01.2006 + + *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args + и $r->unescape. + + *) Добавление: метод $r->query_string в модуле ngx_http_perl_module + упразднён. + + *) ИÑправление: еÑли в директиве valid_referers указаны только none или + blocked, то проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.3.18. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.21 16.01.2006 + + *) Добавление: модуль ngx_http_perl_module. + + *) Изменение: директива valid_referers разрешает иÑпользовать рефереры + ÑовÑем без URI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.20 11.01.2006 + + *) ИÑправление: ошибки в обработке SSI. + + *) ИÑправление: модуль ngx_http_memcached_module не поддерживал ключи в + виде /uri?args. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.19 28.12.2005 + + *) Добавление: директивы path и alias поддерживают переменные. + + *) Изменение: теперь директива valid_referers опÑÑ‚ÑŒ учитывает URI. + + *) ИÑправление: ошибки в обработке SSI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.18 26.12.2005 + + *) Добавление: директива server_names поддерживает имена вида ".domain.tld". - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_names ÉÓÐÏÌØÚÕÅÔ ÈÜÛ ÄÌÑ ÉͣΠ×ÉÄÁ - "*.domain.tld" É ÂÏÌÅÅ ÜÆÆÅËÔÉ×ÎÙÊ ÈÜÛ ÄÌÑ ÏÂÙÞÎÙÈ ÉÍ£Î. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù server_names_hash_max_size É + *) Добавление: директива server_names иÑпользует Ñ…Ñш Ð´Ð»Ñ Ð¸Ð¼Ñ‘Ð½ вида + "*.domain.tld" и более Ñффективный Ñ…Ñш Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ñ‹Ñ… имён. + + *) Изменение: директивы server_names_hash_max_size и server_names_hash_bucket_size. - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù server_names_hash É server_names_hash_threshold - ÕÐÒÁÚÄÎÅÎÙ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á valid_referers ÉÓÐÏÌØÚÕÅÔ ÈÜÛ ÄÌÑ ÉͣΠÓÁÊÔÏ×. - - *) éÚÍÅÎÅÎÉÅ: ÔÅÐÅÒØ ÄÉÒÅËÔÉ×Á valid_referers ÐÒÏ×ÅÒÑÅÔ ÔÏÌØËÏ ÉÍÅÎÁ - ÓÁÊÔÏ× ÂÅÚ ÕÞ£ÔÁ URI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅËÏÔÏÒÙÅ ÉÍÅÎÁ ×ÉÄÁ ".domain.tld" ÎÅ×ÅÒÎÏ - ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÍÏÄÕÌÅÍ ngx_http_map_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ ÎÅ ÂÙÌÏ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.12. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ 64-ÂÉÔÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÐÒÉ ÓÔÁÒÔÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.16. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.17 18.12.2005 - - *) éÚÍÅÎÅÎÉÅ: ÎÁ Linux configure ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ÎÁÌÉÞÉÅ epoll É - sendfile64() × ÑÄÒÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á map ÐÏÄÄÅÒÖÉ×ÁÅÔ ÄÏÍÅÎÎÙÅ ÉÍÅÎÁ × ÆÏÒÍÁÔÅ + *) Изменение: директивы server_names_hash и server_names_hash_threshold + упразднены. + + *) Добавление: директива valid_referers иÑпользует Ñ…Ñш Ð´Ð»Ñ Ð¸Ð¼Ñ‘Ð½ Ñайтов. + + *) Изменение: теперь директива valid_referers проверÑет только имена + Ñайтов без учёта URI. + + *) ИÑправление: некоторые имена вида ".domain.tld" неверно + обрабатывалиÑÑŒ модулем ngx_http_map_module. + + *) ИÑправление: еÑли конфигурационного файла не было, то проиÑходил + segmentation fault; ошибка поÑвилаÑÑŒ в 0.3.12. + + *) ИÑправление: на 64-битных платформах при Ñтарте мог произойти + segmentation fault; ошибка поÑвилаÑÑŒ в 0.3.16. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.17 18.12.2005 + + *) Изменение: на Linux configure теперь проверÑет наличие epoll и + sendfile64() в Ñдре. + + *) Добавление: директива map поддерживает доменные имена в формате ".domain.tld". - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ SSL handshake ÎÅ ÉcÐÏÌØÚÏ×ÁÌÉÓØ ÔÁÊÍÁÕÔÙ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.4. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å proxy_pass. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÒÏÔÏËÏÌÁ HTTPS × ÄÉÒÅËÔÉ×Å - proxy_pass ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÏÒÔ 80. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.16 16.12.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_map_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù types_hash_max_size É types_hash_bucket_size. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssi_value_length. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á worker_rlimit_core. - - *) éÚÍÅÎÅÎÉÅ: ÐÒÉ ÓÂÏÒËÅ ËÏÍÐÉÌÑÔÏÒÁÍÉ icc 8.1 É 9.0 Ó ÏÐÔÉÍÉÚÁÃÉÅÊ ÄÌÑ - Pentium 4 ÎÏÍÅÒ ÓÏÅÄÉÎÅÎÉÑ × ÌÏÇÁÈ ×ÓÅÇÄÁ ÂÙÌ ÒÁ×ÅÎ 1. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ËÏÍÁÎÄÁ config timefmt × SSI ÚÁÄÁ×ÁÌÁ ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ - ×ÒÅÍÅÎÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÚÁËÒÙ×ÁÌ ÓÏÅÄÉÎÅÎÉÑ Ó IMAP/POP3 ÂÜËÅÎÄÏÍ ÐÒÉ - ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÓÏÅÄÉÎÅÎÉÊ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.13. - óÐÁÓÉÂÏ Rob Mueller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: segmentation fault ÍÏÇ ÐÒÏÉÚÏÊÔÉ ×Ï ×ÒÅÍÑ SSL shutdown; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.13. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.15 07.12.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÎÏ×ÏÊ ËÏÄ 444 × ÄÉÒÅËÔÉ×Å return ÄÌÑ ÚÁËÒÙÔÉÑ ÓÏÅÄÉÎÅÎÉÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á so_keepalive × IMAP/POP3 ÐÒÏËÓÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÔÅÐÅÒØ ×ÙÚÙ×ÁÅÔ abort() ÐÒÉ ÏÂÎÁÒÕÖÅÎÉÉ - ÎÅÚÁËÒÙÔÙÈ ÓÏÅÄÉÎÅÎÉÊ ÔÏÌØËÏ ÐÒÉ ÐÌÁÎÏÍ ×ÙÈÏÄÅ É ×ËÌÀÞ£ÎÎÏÊ - ÄÉÒÅËÔÉ×Å debug_points. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.14 05.12.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÔ×ÅÔÅ 304 ÐÅÒÅÄÁ×ÁÌÏÓØ ÔÅÌÏ ÏÔ×ÅÔÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.3.13. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.13 05.12.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ STARTTLS É STLS. - - *) éÓÐÒÁ×ÌÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ ÎÅ ÒÁÂÏÔÁÌÁ Ó ÍÅÔÏÄÁÍÉ select, poll É + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ SSL handshake не иcпользовалиÑÑŒ таймауты; + ошибка поÑвилаÑÑŒ в 0.2.4. + + *) ИÑправление: в иÑпользовании протокола HTTPS в директиве proxy_pass. + + *) ИÑправление: при иÑпользовании протокола HTTPS в директиве proxy_pass + по умолчанию иÑпользовалÑÑ Ð¿Ð¾Ñ€Ñ‚ 80. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.16 16.12.2005 + + *) Добавление: модуль ngx_http_map_module. + + *) Добавление: директивы types_hash_max_size и types_hash_bucket_size. + + *) Добавление: директива ssi_value_length. + + *) Добавление: директива worker_rlimit_core. + + *) Изменение: при Ñборке компилÑторами icc 8.1 и 9.0 Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ Ð´Ð»Ñ + Pentium 4 номер ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² логах вÑегда был равен 1. + + *) ИÑправление: команда config timefmt в SSI задавала неверный формат + времени. + + *) ИÑправление: nginx не закрывал ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ IMAP/POP3 бÑкендом при + иÑпользовании SSL Ñоединений; ошибка поÑвилаÑÑŒ в 0.3.13. + СпаÑибо Rob Mueller. + + *) ИÑправление: segmentation fault мог произойти во Ð²Ñ€ÐµÐ¼Ñ SSL shutdown; + ошибка поÑвилаÑÑŒ в 0.3.13. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.15 07.12.2005 + + *) Добавление: новой код 444 в директиве return Ð´Ð»Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÑоединениÑ. + + *) Добавление: директива so_keepalive в IMAP/POP3 прокÑи. + + *) ИÑправление: nginx теперь вызывает abort() при обнаружении незакрытых + Ñоединений только при планом выходе и включённой директиве + debug_points. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.14 05.12.2005 + + *) ИÑправление: в ответе 304 передавалоÑÑŒ тело ответа; ошибка поÑвилаÑÑŒ + в 0.3.13. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.13 05.12.2005 + + *) Добавление: IMAP/POP3 прокÑи поддерживает STARTTLS и STLS. + + *) ИÑправление: IMAP/POP3 прокÑи не работала Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð°Ð¼Ð¸ select, poll и /dev/poll. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ÏÂÒÁÂÏÔËÅ SSI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: sendfilev() × Solaris ÔÅÐÅÒØ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÉ - ÐÅÒÅÄÁÞÅ ÔÅÌÁ ÚÁÐÒÏÓÁ FastCGI-ÓÅÒ×ÅÒÕ ÞÅÒÅÚ unix domain ÓÏËÅÔ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á auth_basic ÎÅ ÚÁÐÒÅÝÁÌÁ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.11. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.12 26.11.2005 - - *) âÅÚÏÐÁÓÎÏÓÔØ: ÅÓÌÉ nginx ÂÙÌ ÓÏÂÒÁÎ Ó ÍÏÄÕÌÅÍ - ngx_http_realip_module, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù "satisfy_any - on" ÄÉÒÅËÔÉ×Ù ÄÏÓÔÕÐÁ É ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÎÅ ÒÁÂÏÔÁÌÉ. íÏÄÕÌØ - ngx_http_realip_module ÎÅ ÓÏÂÉÒÁÌÓÑ É ÎÅ ÓÏÂÉÒÁÅÔÓÑ ÐÏ ÕÍÏÌÞÁÎÉÀ. - - *) éÚÍÅÎÅÎÉÅ: ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ "$time_gmt" ÉÚÍÅÎÅÎÏ ÎÁ "$time_local". - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_header_buffer_size É - fastcgi_header_buffer_size ÐÅÒÅÉÍÅÎÏ×ÁÎÙ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ × - proxy_buffer_size É fastcgi_buffer_size. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_memcached_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_buffering. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÚÍÅÎÅÎÉÅ × ÒÁÂÏÔÅ Ó accept mutex ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÍÅÔÏÄÁ rtsig; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ËÌÉÅÎÔ ÐÅÒÅÄÁÌ ÓÔÒÏËÕ "Transfer-Encoding: chunked" - × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ, ÔÏ nginx ÔÅÐÅÒØ ×ÙÄÁ£Ô ÏÛÉÂËÕ 411. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÁÓÌÅÄÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù auth_basic Ó ÕÒÏ×ÎÑ http × - ÓÔÒÏËÅ "WWW-Authenticate" ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ×Ù×ÏÄÉÌÓÑ realm ÂÅÚ - ÔÅËÓÔÁ "Basic realm". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å access_log ÂÙÌ Ñ×ÎÏ ÕËÁÚÁÎ ÆÏÒÍÁÔ - combined, ÔÏ × ÌÏÇ ÚÁÐÉÓÙ×ÁÌÉÓØ ÐÕÓÔÙÅ ÓÔÒÏËÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: ошибки в обработке SSI. + + *) ИÑправление: sendfilev() в Solaris теперь не иÑпользуетÑÑ Ð¿Ñ€Ð¸ + передаче тела запроÑа FastCGI-Ñерверу через unix domain Ñокет. + + *) ИÑправление: директива auth_basic не запрещала аутентификацию; ошибка + поÑвилаÑÑŒ в 0.3.11. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.12 26.11.2005 + + *) БезопаÑноÑÑ‚ÑŒ: еÑли nginx был Ñобран Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¼ ngx_http_realip_module, + то при иÑпользовании директивы "satisfy_any on" директивы доÑтупа и + аутентификации не работали. Модуль ngx_http_realip_module не + ÑобиралÑÑ Ð¸ не ÑобираетÑÑ Ð¿Ð¾ умолчанию. + + *) Изменение: Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ "$time_gmt" изменено на "$time_local". + + *) Изменение: директивы proxy_header_buffer_size и + fastcgi_header_buffer_size переименованы ÑоответÑтвенно в + proxy_buffer_size и fastcgi_buffer_size. + + *) Добавление: модуль ngx_http_memcached_module. + + *) Добавление: директива proxy_buffering. + + *) ИÑправление: изменение в работе Ñ accept mutex при иÑпользовании + метода rtsig; ошибка поÑвилаÑÑŒ в 0.3.0. + + *) ИÑправление: еÑли клиент передал Ñтроку "Transfer-Encoding: chunked" + в заголовке запроÑа, то nginx теперь выдаёт ошибку 411. + + *) ИÑправление: при наÑледовании директивы auth_basic Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ http в + Ñтроке "WWW-Authenticate" заголовка ответа выводилÑÑ realm без текÑта + "Basic realm". + + *) ИÑправление: еÑли в директиве access_log был Ñвно указан формат + combined, то в лог запиÑывалиÑÑŒ пуÑтые Ñтроки; ошибка поÑвилаÑÑŒ в 0.3.8. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ ÐÌÁÔÆÏÒÍÅ sparc ÐÏÄ ÌÀÂÙÍÉ OS, - ËÒÏÍÅ Solaris. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å if ÔÅÐÅÒØ ÎÅ ÎÕÖÎÏ ÒÁÚÄÅÌÑÔØ ÐÒÏÂÅÌÏÍ - ÓÔÒÏËÕ × ËÁ×ÙÞËÁÈ É ÚÁËÒÙ×ÁÀÝÕÀ ÓËÏÂËÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.11 15.11.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÐÅÒÅÄÁ×ÁÌ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÔÅÌÏ ÚÁÐÒÏÓÁ É - ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ËÌÉÅÎÔÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.10. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.10 15.11.2005 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á valid_referers É ÐÅÒÅÍÅÎÎÁÑ $invalid_referer - ÐÅÒÅÎÅÓÅÎÙ ÉÚ ÍÏÄÕÌÑ ngx_http_rewrite_module × ÎÏ×ÙÊ ÍÏÄÕÌØ + *) ИÑправление: nginx не работал на платформе sparc под любыми OS, кроме + Solaris. + + *) ИÑправление: в директиве if теперь не нужно разделÑÑ‚ÑŒ пробелом Ñтроку + в кавычках и закрывающую Ñкобку. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.11 15.11.2005 + + *) ИÑправление: nginx не передавал при прокÑировании тело запроÑа и + Ñтроки заголовка клиента; ошибка поÑвилаÑÑŒ в 0.3.10. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.10 15.11.2005 + + *) Изменение: директива valid_referers и Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $invalid_referer + перенеÑены из Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_rewrite_module в новый модуль ngx_http_referer_module. - *) éÚÍÅÎÅÎÉÅ: ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ "$apache_bytes_sent" ÉÚÍÅÎÅÎÏ ÎÁ + *) Изменение: Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ "$apache_bytes_sent" изменено на "$body_bytes_sent". - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ "$sent_http_...". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÅÒÁÃÉÉ "=" É "!=". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÒÏÔÏËÏÌ HTTPS. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_set_body. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_action. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_empty_gif_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á worker_cpu_affinity ÄÌÑ Linux. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á rewrite ÎÅ ÒÁÓËÏÄÉÒÏ×ÁÌÁ ÓÉÍ×ÏÌÙ × ÒÅÄÉÒÅËÔÁÈ - × URI, ÔÅÐÅÒØ ÓÉÍ×ÏÌÙ ÒÁÓËÏÄÉÒÕÀÔÓÑ, ËÒÏÍÅ ÓÉÍ×ÏÌÏ× %00-%25 É + *) Добавление: переменные "$sent_http_...". + + *) Добавление: директива if поддерживает операции "=" и "!=". + + *) Добавление: директива proxy_pass поддерживает протокол HTTPS. + + *) Добавление: директива proxy_set_body. + + *) Добавление: директива post_action. + + *) Добавление: модуль ngx_http_empty_gif_module. + + *) Добавление: директива worker_cpu_affinity Ð´Ð»Ñ Linux. + + *) ИÑправление: директива rewrite не раÑкодировала Ñимволы в редиректах + в URI, теперь Ñимволы раÑкодируютÑÑ, кроме Ñимволов %00-%25 и %7F-%FF. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ËÏÍÐÉÌÑÔÏÒÏÍ icc 9.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÌÑ ÓÔÁÔÉÞÅÓËÏÇÏ ÆÁÊÌÁ ÎÕÌÅ×ÏÇÏ ÒÁÚÍÅÒÁ ÂÙÌ - ÒÁÚÒÅۣΠSSI, ÔÏ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ×ÅÒÎÏ ÐÒÉ ËÏÄÉÒÏ×ÁÎÉÉ chunk'ÁÍÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.9 10.11.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÓÞÉÔÁÌ ÎÅÂÅÚÏÐÁÓÎÙÍÉ URI, × ËÏÔÏÒÙÈ ÍÅÖÄÕ Ä×ÕÍÑ - ÓÌÜÛÁÍÉ ÎÁÈÏÄÉÌÏÓØ Ä×Á ÌÀÂÙÈ ÓÉÍ×ÏÌÁ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.8. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.8 09.11.2005 - - *) âÅÚÏÐÁÓÎÏÓÔØ: nginx ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÔ URI, ÐÏÌÕÞÅÎÎÙÅ ÏÔ ÂÜËÅÎÄÁ × - ÓÔÒÏËÅ "X-Accel-Redirect" × ÚÁÇÏÌÏ×ËÅ ÏÔ×ÅÔÁ, ÉÌÉ × SSI ÆÁÊÌÅ ÎÁ - ÎÁÌÉÞÉÅ ÐÕÔÅÊ "/../" É ÎÕÌÅÊ. - - *) éÚÍÅÎÅÎÉÅ: nginx ÔÅÐÅÒØ ÎÅ ×ÏÓÐÒÉÎÉÍÁÅÔ ÐÕÓÔÏÅ ÉÍÑ ËÁË ÐÒÁ×ÉÌØÎÏÅ × - ÓÔÒÏËÅ "Authorization" × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_session_timeout ÍÏÄÕÌÅÊ - ngx_http_ssl_module É ngx_imap_ssl_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á auth_http_header ÍÏÄÕÌÑ + *) ИÑправление: nginx не ÑобиралÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñтором icc 9.0. + + *) ИÑправление: еÑли Ð´Ð»Ñ ÑтатичеÑкого файла нулевого размера был + разрешён SSI, то ответ передавалÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ð¾ при кодировании chunk'ами. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.9 10.11.2005 + + *) ИÑправление: nginx Ñчитал небезопаÑными URI, в которых между Ð´Ð²ÑƒÐ¼Ñ + ÑлÑшами находилоÑÑŒ два любых Ñимвола; ошибка поÑвилаÑÑŒ в 0.3.8. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.8 09.11.2005 + + *) БезопаÑноÑÑ‚ÑŒ: nginx теперь проверÑÑ‚ URI, полученные от бÑкенда в + Ñтроке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на + наличие путей "/../" и нулей. + + *) Изменение: nginx теперь не воÑпринимает пуÑтое Ð¸Ð¼Ñ ÐºÐ°Ðº правильное в + Ñтроке "Authorization" в заголовке запроÑа. + + *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module + и ngx_imap_ssl_module. + + *) Добавление: директива auth_http_header Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_imap_auth_http_module. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á add_header. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_realip_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÎÏ×ÙÅ ÐÅÒÅÍÅÎÎÙÅ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ × ÄÉÒÅËÔÉ×Å - log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, - $uri, $request_time, $request_length, $upstream_status, - $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, - $connection, $pipe É $msec. ðÁÒÁÍÅÔÒÙ × ×ÉÄÅ "%name" ÓËÏÒÏ ÂÕÄÕÔ - ÕÐÒÁÚÄÎÅÎÙ. - - *) éÚÍÅÎÅÎÉÅ: × ÄÉÒÅËÔÉ×Å "if" ÌÏÖÎÙÍÉ ÚÎÁÞÅÎÉÑÍÉ ÐÅÒÅÍÅÎÎÙÈ ÔÅÐÅÒØ - Ñ×ÌÑÀÔÓÑ ÐÕÓÔÁÑ ÓÔÒÏËÁ "" É ÓÔÒÏËÉ, ÎÁÞÉÎÁÀÝÉÅÓÑ ÎÁ "0". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÒÁÂÏÔÁÅÔ Ó ÐÒÏËÓÉÒÏ×ÁÎÎÙÍÉ ÉÌÉ FastCGI-ÓÅÒ×ÅÒÁÍÉ - nginx ÍÏÇ ÏÓÔÁ×ÌÑÔØ ÏÔËÒÙÔÙÍÉ ÓÏÅÄÉÎÅÎÉÑ É ×ÒÅÍÅÎÎÙÅ ÆÁÊÌÙ Ó - ÚÁÐÒÏÓÁÍÉ ËÌÉÅÎÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÁÂÏÞÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ÓÂÒÁÓÙ×ÁÌÉ ÂÕÆÅÒÉÚÉÒÏ×ÁÎÎÙÅ ÌÏÇÉ - ÐÒÉ ÐÌÁ×ÎÏÍ ×ÙÈÏÄÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ URI ÚÁÐÒÏÓÁ ÉÚÍÅÎÑÌÏÓØ Ó ÐÏÍÏÝØÀ rewrite, Á ÚÁÔÅÍ - ÚÁÐÒÏÓ ÐÒÏËÓÉÒÏ×ÁÌÓÑ × location, ÚÁÄÁÎÎÏÍ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ, ÔÏ - ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ×ÅÒÎÙÊ ÚÁÐÒÏÓ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á expires ÎÅ ÕÄÁÌÑÌÁ ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎÎÕÀ ÓÔÒÏËÕ - ÚÁÇÏÌÏ×ËÁ "Expires". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig É ÎÅÓËÏÌØËÉÈ ÒÁÂÏÞÉÈ - ÐÒÏÃÅÓÓÁÈ nginx ÍÏÇ ÐÅÒÅÓÔÁÔØ ÐÒÉÎÉÍÁÔØ ÚÁÐÒÏÓÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × SSI ËÏÍÁÎÄÁÈ ÎÅ×ÅÒÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ ÓÔÒÏËÉ "\"" É + *) Добавление: директива add_header. + + *) Добавление: модуль ngx_http_realip_module. + + *) Добавление: новые переменные Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² директиве + log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, + $uri, $request_time, $request_length, $upstream_status, + $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, + $connection, $pipe и $msec. Параметры в виде "%name" Ñкоро будут + упразднены. + + *) Изменение: в директиве "if" ложными значениÑми переменных теперь + ÑвлÑÑŽÑ‚ÑÑ Ð¿ÑƒÑÑ‚Ð°Ñ Ñтрока "" и Ñтроки, начинающиеÑÑ Ð½Ð° "0". + + *) ИÑправление: при работает Ñ Ð¿Ñ€Ð¾ÐºÑированными или FastCGI-Ñерверами + nginx мог оÑтавлÑÑ‚ÑŒ открытыми ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ временные файлы Ñ + запроÑами клиентов. + + *) ИÑправление: рабочие процеÑÑÑ‹ не ÑбраÑывали буферизированные логи при + плавном выходе. + + *) ИÑправление: еÑли URI запроÑа изменÑлоÑÑŒ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ rewrite, а затем + Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¾ÐºÑировалÑÑ Ð² location, заданном регулÑрным выражением, то + бÑкенду передавалÑÑ Ð½ÐµÐ²ÐµÑ€Ð½Ñ‹Ð¹ запроÑ; ошибка поÑвилаÑÑŒ в 0.2.6. + + *) ИÑправление: директива expires не удалÑла уже уÑтановленную Ñтроку + заголовка "Expires". + + *) ИÑправление: при иÑпользовании метода rtsig и неÑкольких рабочих + процеÑÑах nginx мог переÑтать принимать запроÑÑ‹. + + *) ИÑправление: в SSI командах неверно обрабатывалиÑÑŒ Ñтроки "\"" и "\'". - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÏÔ×ÅÔ ÚÁËÁÎÞÉ×ÁÌÓÑ ÓÒÁÚÕ ÖÅ ÐÏÓÌÅ SSI ËÏÍÁÎÄÙ, ÔÏ - ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÖÁÔÉÑ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ ÎÅ ÄÏ ËÏÎÃÁ ÉÌÉ ÎÅ - ÐÅÒÅÄÁ×ÁÌÓÑ ×ÏÏÂÝÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.7 27.10.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á access_log ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ buffer=. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, - amd64, sparc É ppc; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.2. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.6 24.10.2005 - - *) éÚÍÅÎÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ ÔÅÐÅÒØ ÎÅ ÐÅÒÅÄÁ£Ô ÓÅÒ×ÅÒÕ Á×ÔÏÒÉÚÁÃÉÉ - ÐÕÓÔÏÊ ÌÏÇÉÎ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á log_format ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ × ×ÉÄÅ + *) ИÑправление: еÑли ответ заканчивалÑÑ Ñразу же поÑле SSI команды, то + при иÑпользовании ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚ передавалÑÑ Ð½Ðµ до конца или не + передавалÑÑ Ð²Ð¾Ð¾Ð±Ñ‰Ðµ. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.7 27.10.2005 + + *) Добавление: директива access_log поддерживает параметр buffer=. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформах, отличных от i386, + amd64, sparc и ppc; ошибка поÑвилаÑÑŒ в 0.3.2. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.6 24.10.2005 + + *) Изменение: IMAP/POP3 прокÑи теперь не передаёт Ñерверу авторизации + пуÑтой логин. + + *) Добавление: директива log_format поддерживает переменные в виде $name. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÈÏÔÑ ÂÙ × ÏÄÎÏÍ ÓÅÒ×ÅÒÅ ÎÅ ÂÙÌÏ ÏÐÉÓÁÎÏ ÎÉ ÏÄÎÏÊ - ÄÉÒÅËÔÉ×Ù listen, ÔÏ nginx ÎÅ ÓÌÕÛÁÌ ÎÁ 80 ÐÏÒÔÕ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) ИÑправление: еÑли Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ в одном Ñервере не было опиÑано ни одной + директивы listen, то nginx не Ñлушал на 80 порту; ошибка поÑвилаÑÑŒ в 0.3.3. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass ÏÔÓÕÔÓÔ×Ï×ÁÌ URI, ÔÏ ×ÓÅÇÄÁ - ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÐÏÒÔ 80. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.5 21.10.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÌÏÇÉÎ IMAP/POP3 ÍÅÎÑÌÓÑ ÓÅÒ×ÅÒÏÍ Á×ÔÏÒÉÚÁÃÉÉ, ÔÏ - ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.2. - - *) éÓÐÒÁ×ÌÅÎÉÅ: accept mutex ÎÅ ÒÁÂÏÔÁÌ, ×ÓÅ ÓÏÅÄÉÎÅÎÉÑ ÏÂÒÁÂÁÔÙ×ÁÌÉÓØ - ÏÄÎÉÍ ÒÁÂÏÞÉÍ ÐÒÏÃÅÓÓÏÍ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.3.3. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig É ÄÉÒÅËÔÉ×Ù - timer_resolution ÎÅ ÒÁÂÏÔÁÌÉ ÔÁÊÍÁÕÔÙ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.4 19.10.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ Linux 2.4+ É MacOS X; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.3.3. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.3 19.10.2005 - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ "bl" É "af" ÄÉÒÅËÔÉ×Ù listen ÐÅÒÅÉÍÅÎÏ×ÁÎÙ × - "backlog" É "accept_filter". - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ "rcvbuf" É "sndbuf" × ÄÉÒÅËÔÉ×Å listen. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ $msec ÔÅÐÅÒØ ÎÅ ÔÒÅÂÕÅÔ ÄÏÐÏÌÎÉÔÅÌØÎÏÇÏ - ÓÉÓÔÅÍÎÏÇÏ ×ÙÚÏ×Á gettimeofday(). - - *) äÏÂÁ×ÌÅÎÉÅ: ËÌÀÞ -t ÔÅÐÅÒØ ÐÒÏ×ÅÒÑÅÔ ÄÉÒÅËÔÉ×Ù listen. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÄÉÒÅËÔÉ×Å listen ÂÙÌ ÕËÁÚÁÎ ÎÅ×ÅÒÎÙÊ ÁÄÒÅÓ, ÔÏ - nginx ÐÏÓÌÅ ÓÉÇÎÁÌÁ -HUP ÏÓÔÁ×ÌÑÌ ÏÔËÒÙÔÙÊ ÓÏËÅÔ × ÓÏÓÔÏÑÎÉÉ CLOSED. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÌÑ ÉÎÄÅËÓÎÙÈ ÆÁÊÌÏ×, ÓÏÄÅÒÖÁÝÉÈ × ÉÍÅÎÉ ÐÅÒÅÍÅÎÎÕÀ, - ÍÏÇ ÎÅ×ÅÒÎÏ ×ÙÓÔÁ×ÌÑÔØÓÑ ÔÉÐ mime ÐÏ ÕÍÏÌÞÁÎÉÀ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.3.0. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á timer_resolution. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ $upstream_response_time × ÍÉÌÌÉÓÅËÕÎÄÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ Ó ÔÅÌÏÍ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ ÔÅÐÅÒØ ÕÄÁÌÑÅÔÓÑ - ÓÒÁÚÕ ÐÏÓÌÅ ÔÏÇÏ, ËÁË ËÌÉÅÎÔÕ ÐÅÒÅÄÁÎ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó OpenSSL 0.9.6. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÕÔÉ Ë ÆÁÊÌÁÍ Ó SSL ÓÅÒÔÉÆÉËÁÔÏÍ É ËÌÀÞÏÍ ÎÅ ÍÏÇÌÉ ÂÙÔØ - ÏÔÎÏÓÉÔÅÌØÎÙÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_prefer_server_ciphers ÎÅ ÒÁÂÏÔÁÌÁ ÄÌÑ - ÍÏÄÕÌÑ ngx_imap_ssl_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_protocols ÐÏÚ×ÏÌÑÌÁ ÚÁÄÁÔØ ÔÏÌØËÏ ÏÄÉÎ - ÐÒÏÔÏËÏÌ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.2 12.10.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ Sun Studio 10 C compiler. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_upstream_max_fails, - proxy_upstream_fail_timeout, fastcgi_upstream_max_fails É + *) ИÑправление: еÑли в директиве proxy_pass отÑутÑтвовал URI, то вÑегда + иÑпользовалÑÑ Ð¿Ð¾Ñ€Ñ‚ 80. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.5 21.10.2005 + + *) ИÑправление: еÑли логин IMAP/POP3 менÑлÑÑ Ñервером авторизации, то + мог произойти segmentation fault; ошибка поÑвилаÑÑŒ в 0.2.2. + + *) ИÑправление: accept mutex не работал, вÑе ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ð»Ð¸ÑÑŒ + одним рабочим процеÑÑом; ошибка поÑвилаÑÑŒ в 0.3.3. + + *) ИÑправление: при иÑпользовании метода rtsig и директивы + timer_resolution не работали таймауты. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.4 19.10.2005 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° Linux 2.4+ и MacOS X; ошибка + поÑвилаÑÑŒ в 0.3.3. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.3 19.10.2005 + + *) Изменение: параметры "bl" и "af" директивы listen переименованы в + "backlog" и "accept_filter". + + *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen. + + *) Изменение: параметр лога $msec теперь не требует дополнительного + ÑиÑтемного вызова gettimeofday(). + + *) Добавление: ключ -t теперь проверÑет директивы listen. + + *) ИÑправление: еÑли в директиве listen был указан неверный адреÑ, то + nginx поÑле Ñигнала -HUP оÑтавлÑл открытый Ñокет в ÑоÑтоÑнии CLOSED. + + *) ИÑправление: Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑных файлов, Ñодержащих в имени переменную, мог + неверно выÑтавлÑÑ‚ÑŒÑÑ Ñ‚Ð¸Ð¿ mime по умолчанию; ошибка поÑвилаÑÑŒ в 0.3.0. + + *) Добавление: директива timer_resolution. + + *) Добавление: параметр лога $upstream_response_time в миллиÑекундах. + + *) ИÑправление: временный файл Ñ Ñ‚ÐµÐ»Ð¾Ð¼ запроÑа клиента теперь удалÑетÑÑ + Ñразу поÑле того, как клиенту передан заголовок ответа. + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ OpenSSL 0.9.6. + + *) ИÑправление: пути к файлам Ñ SSL Ñертификатом и ключом не могли быть + отноÑительными. + + *) ИÑправление: директива ssl_prefer_server_ciphers не работала Ð´Ð»Ñ + Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_imap_ssl_module. + + *) ИÑправление: директива ssl_protocols позволÑла задать только один + протокол. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.2 12.10.2005 + + *) Добавление: поддержка Sun Studio 10 C compiler. + + *) Добавление: директивы proxy_upstream_max_fails, + proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout. -éÚÍÅÎÅÎÉÑ × nginx 0.3.1 10.10.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ ÐÅÒÅÐÏÌÎÅÎÉÑ ÏÞÅÒÅÄÉ ÓÉÇÎÁÌÏ× ÐÒÉ - ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.2.0. - - *) éÚÍÅÎÅÎÉÅ: ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÐÁÒ "\\", "\"", "\'" É "\$" × SSI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.3.0 07.10.2005 - - *) éÚÍÅÎÅÎÉÅ: ÕÂÒÁÎÏ ÄÅÓÑÔÉÄÎÅ×ÎÏÅ ÏÇÒÁÎÉÞÅÎÉÅ ×ÒÅÍÅÎÉ ÒÁÂÏÔÙ ÒÁÂÏÞÅÇÏ - ÐÒÏÃÅÓÓÁ. ïÇÒÁÎÉÞÅÎÉÅ ÂÙÌÏ ××ÅÄÅÎÏ ÉÚ-ÚÁ ÐÅÒÅÐÏÌÎÅÎÉÑ ÍÉÌÌÉÓÅËÕÎÄÎÙÈ - ÔÁÊÍÅÒÏ×. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.6 05.10.2005 - - *) éÚÍÅÎÅÎÉÅ: Ó 60 ÄÏ 10 ÓÅËÕÎÄ ÕÍÅÎØÛÅÎÏ ×ÒÅÍÑ ÐÏ×ÔÏÒÎÏÇÏ ÏÂÒÁÝÅÎÉÑ Ë - ÂÜËÅÎÄÕ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÒÁÓÐÒÅÄÅÌÅÎÉÑ ÎÁÇÒÕÚËÉ. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass_unparsed_uri ÕÐÒÁÚÄÎÅÎÁ, - ÏÒÉÇÉÎÁÌØÎÙÊ ÚÁÐÒÏÓ ÔÅÐÅÒØ ÐÅÒÅÄÁ£ÔÓÑ, ÅÓÌÉ × ÄÉÒÅËÔÉ×Å proxy_pass - ÏÔÓÕÔÓÔ×ÕÅÔ URI. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á error_page ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÅÄÉÒÅËÔÙ É ÐÏÚ×ÏÌÑÅÔ - ÂÏÌÅÅ ÇÉÂËÏ ÍÅÎÑÔØ ËÏÄ ÏÛÉÂËÉ. - - *) éÚÍÅÎÅÎÉÅ: × ÐÒÏËÓÉÒÏ×ÁÎÎÙÈ ÐÏÄÚÁÐÒÏÓÁÈ ÔÅÐÅÒØ ÉÇÎÏÒÉÒÕÅÔÓÑ - ÐÅÒÅÄÁÎÎÙÊ charset. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ URI × ÂÌÏËÅ if ÄÌÑ ÚÁÐÒÏÓÁ ÎÅ - ÎÁÈÏÄÉÌÁÓØ ÎÏ×ÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ, ÔÏ ÐÒÁ×ÉÌÁ ÍÏÄÕÌÑ - ngx_http_rewrite_module ×ÙÐÏÌÎÑÌÉÓØ ÓÎÏ×Á. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÉÒÅËÔÉ×Á set ÕÓÔÁÎÁ×ÌÉ×ÁÌÁ ÐÅÒÅÍÅÎÎÕÀ ÍÏÄÕÌÑ - ngx_http_geo_module × ËÁËÏÊ-ÌÉÂÏ ÞÁÓÔÉ ËÏÎÆÉÇÕÒÁÃÉÉ, ÔÏ ÜÔÁ - ÐÅÒÅÍÅÎÎÁÑ ÎÅ ÂÙÌÁ ÄÏÓÔÕÐÎÁ × ÄÒÕÇÉÈ ÞÁÓÔÑÈ ËÏÎÆÉÇÕÒÁÃÉÉ É - ×ÙÄÁ×ÁÌÁÓØ ÏÛÉÂËÁ "using uninitialized variable"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × - 0.2.2. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.5 04.10.2005 - - *) éÚÍÅÎÅÎÉÅ: ÄÕÂÌÉÒÕÀÝÅÅ ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ÍÏÄÕÌÑ - ngx_http_geo_module ÔÅÐÅÒØ ×ÙÄÁ£Ô ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ É ÉÚÍÅÎÑÅÔ ÓÔÁÒÏÅ - ÚÎÁÞÅÎÉÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ set. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ file × - ËÏÍÁÎÄÅ include. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÄÓÔÁÎÏ×ËÕ - ÚÎÁÞÅÎÉÊ ÐÅÒÅÍÅÎÎÙÈ × ×ÙÒÁÖÅÎÉÑÈ ËÏÍÁÎÄÙ if. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.4 03.10.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÒÁÖÅÎÉÑ - "$var=text", "$var!=text", "$var=/text/" É "$var!=/text/" × ËÏÍÁÎÄÅ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.1 10.10.2005 + + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‡ÐµÑ€ÐµÐ´Ð¸ Ñигналов при иÑпользовании + метода rtsig проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.2.0. + + *) Изменение: ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° пар "\\", "\"", "\'" и "\$" в SSI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.3.0 07.10.2005 + + *) Изменение: убрано деÑÑтидневное ограничение времени работы рабочего + процеÑÑа. Ограничение было введено из-за Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¸Ð»Ð»Ð¸Ñекундных + таймеров. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.6 05.10.2005 + + *) Изменение: Ñ 60 до 10 Ñекунд уменьшено Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº + бÑкенду при иÑпользовании раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸. + + *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный + Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ‚ÐµÐ¿ÐµÑ€ÑŒ передаётÑÑ, еÑли в директиве proxy_pass отÑутÑтвует + URI. + + *) Добавление: директива error_page поддерживает редиректы и позволÑет + более гибко менÑÑ‚ÑŒ код ошибки. + + *) Изменение: в прокÑированных подзапроÑах теперь игнорируетÑÑ + переданный charset. + + *) ИÑправление: еÑли поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ URI в блоке if Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа не + находилаÑÑŒ Ð½Ð¾Ð²Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ, то правила Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_rewrite_module выполнÑлиÑÑŒ Ñнова. + + *) ИÑправление: еÑли директива set уÑтанавливала переменную Ð¼Ð¾Ð´ÑƒÐ»Ñ + ngx_http_geo_module в какой-либо чаÑти конфигурации, то Ñта + Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð½Ðµ была доÑтупна в других чаÑÑ‚ÑÑ… конфигурации и выдавалаÑÑŒ + ошибка "using uninitialized variable"; ошибка поÑвилаÑÑŒ в 0.2.2. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.5 04.10.2005 + + *) Изменение: дублирующее значение переменной Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_geo_module + теперь выдаёт предупреждение и изменÑет Ñтарое значение. + + *) Добавление: модуль ngx_http_ssi_module поддерживает команду set. + + *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в + команде include. + + *) Добавление: модуль ngx_http_ssi_module поддерживает подÑтановку + значений переменных в выражениÑÑ… команды if. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.4 03.10.2005 + + *) Добавление: модуль ngx_http_ssi_module поддерживает Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ + "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде if. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ location ÂÅÚ ÓÌÜÛÁ × ËÏÎÃÅ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.44. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig ÍÏÇ ÐÒÏÉÚÏÊÔÉ - segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.3 30.09.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÂÅÚ ÐÁÒÁÍÅÔÒÁ --with-debug; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.2.2. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.2 30.09.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ËÏÍÁÎÄÁ config errmsg × ÍÏÄÕÌÅ ngx_http_ssi_module. - - *) éÚÍÅÎÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ ÍÏÄÕÌÑ ngx_http_geo_module ÍÏÖÎÏ - ÐÅÒÅÏÐÒÅÄÅÌÑÔØ ÄÉÒÅËÔÉ×ÏÊ set. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ssl_protocols É ssl_prefer_server_ciphers - ÍÏÄÕÌÅÊ ngx_http_ssl_module É ngx_imap_ssl_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ - ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×; - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÔÅÐÅÒØ ÎÅ ÐÏËÁÚÙ×ÁÅÔ - ÆÁÊÌÙ, ÎÁÞÉÎÁÀÝÉÅÓÑ ÎÁ ÔÏÞËÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ SSL handshake ÚÁ×ÅÒÛÁÌÓÑ Ó ÏÛÉÂËÏÊ, ÔÏ ÜÔÏ ÍÏÇÌÏ - ÐÒÉ×ÅÓÔÉ ÔÁËÖÅ Ë ÚÁËÒÙÔÉÀ ÄÒÕÇÏÇÏ ÓÏÅÄÉÎÅÎÉÑ. - óÐÁÓÉÂÏ Rob Mueller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÜËÓÐÏÒÔÎÙÅ ×ÅÒÓÉÉ MSIE 5.x ÎÅ ÍÏÇÌÉ ÓÏÅÄÉÎÉÔØÓÑ ÐÏ + *) ИÑправление: ошибки при прокÑировании location без ÑлÑша в конце; + ошибка поÑвилаÑÑŒ в 0.1.44. + + *) ИÑправление: при иÑпользовании метода rtsig мог произойти + segmentation fault; ошибка поÑвилаÑÑŒ в 0.2.0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.3 30.09.2005 + + *) ИÑправление: nginx не ÑобиралÑÑ Ð±ÐµÐ· параметра --with-debug; ошибка + поÑвилаÑÑŒ в 0.2.2. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.2 30.09.2005 + + *) Добавление: команда config errmsg в модуле ngx_http_ssi_module. + + *) Изменение: переменные Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_geo_module можно переопределÑÑ‚ÑŒ + директивой set. + + *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers + модулей ngx_http_ssl_module и ngx_imap_ssl_module. + + *) ИÑправление: ошибка в модуле ngx_http_autoindex_module при показе + длинных имён файлов; + + *) ИÑправление: модуль ngx_http_autoindex_module теперь не показывает + файлы, начинающиеÑÑ Ð½Ð° точку. + + *) ИÑправление: еÑли SSL handshake завершалÑÑ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹, то Ñто могло + привеÑти также к закрытию другого ÑоединениÑ. + СпаÑибо Rob Mueller. + + *) ИÑправление: ÑкÑпортные верÑии MSIE 5.x не могли ÑоединитьÑÑ Ð¿Ð¾ HTTPS. -éÚÍÅÎÅÎÉÑ × nginx 0.2.1 23.09.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÂÁÌÁÎÓÉÒÏ×ËÉ - ÎÁÇÒÕÚËÉ, ÏËÁÚÙ×ÁÌÉÓØ × ÎÅÒÁÂÏÞÅÍ ÓÏÓÔÏÑÎÉÉ ÐÏÓÌÅ ÏÄÎÏÊ ÏÛÉÂËÉ, ÔÏ - nginx ÍÏÇ ÚÁÃÉËÌÉÔÓÑ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.2.0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.2.0 23.09.2005 - - *) éÚÍÅÎÉÌÉÓØ ÉÍÅÎÁ pid-ÆÁÊÌÏ×, ÉÓÐÏÌØÚÕÅÍÙÅ ×Ï ×ÒÅÍÑ ÏÂÎÏ×ÌÅÎÉÑ - ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ. òÕÞÎÏÅ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÅ ÔÅÐÅÒØ ÎÅ ÎÕÖÎÏ. óÔÁÒÙÊ - ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÄÏÂÁ×ÌÑÅÔ Ë Ó×ÏÅÍÕ pid-ÆÁÊÌ ÓÕÆÆÉËÓ ".oldbin" É - ÚÁÐÕÓËÁÅÔ ÎÏ×ÙÊ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ. îÏ×ÙÊ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÓÏÚÄÁ£Ô - ÏÂÙÞÎÙÊ pid-ÆÁÊÌ ÂÅÚ ÓÕÆÆÉËÓÁ ".newbin". åÓÌÉ ÎÏ×ÙÊ ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ - ×ÙÈÏÄÉÔ, ÔÏ ÓÔÁÒÙÊ ÐÒÏÃÅÓÓ ÐÅÒÅÉÍÅÎÏ×Ù×ÁÅÔ Ó×ÏÊ pid-ÆÁÊÌ c ÓÕÆÆÉËÓÏÍ - ".oldbin" × pid-ÆÁÊÌ ÂÅÚ ÓÕÆÆÉËÓÁ. ðÒÉ ÏÂÎÏ×ÌÅÎÉÉ Ó ×ÅÒÓÉÉ 0.1.È ÄÏ - 0.2.0 ÎÕÖÎÏ ÕÞÉÔÙ×ÁÔØ, ÞÔÏ ÏÂÁ ÐÒÏÃÅÓÓÁ - ÓÔÁÒÙÊ 0.1.x É ÎÏ×ÙÊ - 0.2.0 - ÉÓÐÏÌØÚÕÀÔ pid-ÆÁÊÌ ÂÅÚ ÓÕÆÆÉËÓÏ×. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á worker_connections, ÎÏ×ÏÅ ÎÁÚ×ÁÎÉÅ ÄÉÒÅËÔÉ×Ù - connections; ÄÉÒÅËÔÉ×Á ÔÅÐÅÒØ ÚÁÄÁ£Ô ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÓÏÅÄÉÎÅÎÉÊ, - Á ÎÅ ÍÁËÓÉÍÁÌØÎÏ ×ÏÚÍÏÖÎÙÊ ÎÏÍÅÒ ÄÅÓËÒÉÐÔÏÒÁ ÄÌÑ ÓÏËÅÔÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: SSL ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÜÛÉÒÏ×ÁÎÉÅ ÓÅÓÓÉÊ × ÐÒÅÄÅÌÁÈ ÏÄÎÏÇÏ - ÒÁÂÏÞÅÇÏ ÐÒÏÃÅÓÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á satisfy_any. - - *) éÚÍÅÎÅÎÉÅ: ÍÏÄÕÌÉ ngx_http_access_module É - ngx_http_auth_basic_module ÎÅ ÒÁÂÏÔÁÀÔ ÄÌÑ ÐÏÄÚÁÐÒÏÓÏ×. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù worker_rlimit_nofile É +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.1 23.09.2005 + + *) ИÑправление: еÑли вÑе бÑкенды, иÑпользуемые Ð´Ð»Ñ Ð±Ð°Ð»Ð°Ð½Ñировки + нагрузки, оказывалиÑÑŒ в нерабочем ÑоÑтоÑнии поÑле одной ошибки, то + nginx мог зациклитÑÑ; ошибка поÑвилаÑÑŒ в 0.2.0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.2.0 23.09.2005 + + *) ИзменилиÑÑŒ имена pid-файлов, иÑпользуемые во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ + иÑполнÑемого файла. Ручное переименование теперь не нужно. Старый + оÑновной процеÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»Ñет к Ñвоему pid-файл ÑÑƒÑ„Ñ„Ð¸ÐºÑ ".oldbin" и + запуÑкает новый иÑполнÑемый файл. Ðовый оÑновной процеÑÑ Ñоздаёт + обычный pid-файл без ÑуффикÑа ".newbin". ЕÑли новый оÑновной процеÑÑ + выходит, то Ñтарый процеÑÑ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ñ‹Ð²Ð°ÐµÑ‚ Ñвой pid-файл c ÑуффикÑом + ".oldbin" в pid-файл без ÑуффикÑа. При обновлении Ñ Ð²ÐµÑ€Ñии 0.1.Ñ… до + 0.2.0 нужно учитывать, что оба процеÑÑа - Ñтарый 0.1.x и новый + 0.2.0 - иÑпользуют pid-файл без ÑуффикÑов. + + *) Изменение: директива worker_connections, новое название директивы + connections; директива теперь задаёт макÑимальное чиÑло Ñоединений, а + не макÑимально возможный номер деÑкриптора Ð´Ð»Ñ Ñокета. + + *) Добавление: SSL поддерживает кÑширование ÑеÑÑий в пределах одного + рабочего процеÑÑа. + + *) Добавление: директива satisfy_any. + + *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module + не работают Ð´Ð»Ñ Ð¿Ð¾Ð´Ð·Ð°Ð¿Ñ€Ð¾Ñов. + + *) Добавление: директивы worker_rlimit_nofile и worker_rlimit_sigpending. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ, ÉÓÐÏÌØÚÕÅÍÙÅ ÄÌÑ ÂÁÌÁÎÓÉÒÏ×ËÉ - ÎÁÇÒÕÚËÉ, ÏËÁÚÙ×ÁÌÉÓØ × ÎÅÒÁÂÏÞÅÍ ÓÏÓÔÏÑÎÉÉ ÐÏÓÌÅ ÏÄÎÏÊ ÏÛÉÂËÉ, ÔÏ - nginx ÎÅ ÏÂÒÁÝÁÌÓÑ Ë ÎÉÍ × ÔÅÞÅÎÉÅ 60 ÓÅËÕÎÄ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÐÁÒÓÉÎÇÅ ÁÒÇÕÍÅÎÔÏ× IMAP/POP3 ËÏÍÁÎÄ. - óÐÁÓÉÂÏ Rob Mueller. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL × IMAP/POP3 ÐÒÏËÓÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI É ÓÖÁÔÉÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÏÔ×ÅÔÁÈ 304 ÎÅ ÄÏÂÁ×ÌÑÌÉÓØ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ - "Expires" É "Cache-Control". - óÐÁÓÉÂÏ áÌÅËÓÁÎÄÒÕ ëÕËÕÛËÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.45 08.09.2005 - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssl_engine ÕÐÒÁÚÄÎÅÎÁ × ÍÏÄÕÌÅ - ngx_http_ssl_module É ÐÅÒÅÎÅÓÅÎÁ ÎÁ ÇÌÏÂÁÌØÎÙÊ ÕÒÏ×ÅÎØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔ×ÅÔÙ Ó ÐÏÄÚÁÐÒÏÓÁÍÉ, ×ËÌÀÞ£ÎÎÙÅ Ó ÐÏÍÏÝØÀ SSI, ÎÅ - ÐÅÒÅÄÁ×ÁÌÉÓØ ÞÅÒÅÚ SSL ÓÏÅÄÉÎÅÎÉÅ. - - *) òÁÚÎÙÅ ÉÓÐÒÁ×ÌÅÎÉÑ × IMAP/POP3 ÐÒÏËÓÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.44 06.09.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ ÐÏÄÄÅÒÖÉ×ÁÅÔ SSL. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_timeout ÍÏÄÕÌÑ ngx_imap_proxy_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á userid_mark. - - *) äÏÂÁ×ÌÅÎÉÅ: ÚÎÁÞÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ $remote_user ÏÐÒÅÄÅÌÑÅÔÓÑ ÎÅÚÁ×ÉÓÉÍÏ - ÏÔ ÔÏÇÏ, ÉÓÐÏÌØÚÕÅÔÓÑ ÌÉ Á×ÔÏÒÉÚÁÃÉÑ ÉÌÉ ÎÅÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.43 30.08.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: listen(2) backlog × ÄÉÒÅËÔÉ×Å listen ÍÏÖÎÏ ÍÅÎÑÔØ ÐÏ - ÓÉÇÎÁÌÕ -HUP. - - *) äÏÂÁ×ÌÅÎÉÅ: ÓËÒÉÐÔ geo2nginx.pl ÄÏÂÁ×ÌÅÎ × contrib. - - *) éÚÍÅÎÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ FastCGI Ó ÐÕÓÔÙÍ ÚÎÁÞÅÎÉÑÍÉ ÔÅÐÅÒØ ÐÅÒÅÄÁÀÔÓÑ - ÓÅÒ×ÅÒÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÏÔ×ÅÔÅ ÐÒÏËÓÉÒÏ×ÁÎÎÏÇÏ ÓÅÒ×ÅÒÁ ÉÌÉ FastCGI - ÓÅÒ×ÅÒÁ ÂÙÌÁ ÓÔÒÏËÁ "Cache-Control", ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÄÉÒÅËÔÉ×Ù - expires ÐÒÏÉÓÈÏÄÉÌ segmentation fault ÉÌÉ ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ - ÚÁÃÉËÌÉÔÓÑ; × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.42 23.08.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ URI ÚÁÐÒÏÓÁ ÐÏÌÕÞÁÌÓÑ ÎÕÌÅ×ÏÊ ÄÌÉÎÙ ÐÏÓÌÅ - ÏÂÒÁÂÏÔËÉ ÍÏÄÕÌÅÍ ngx_http_rewrite_module, ÔÏ × ÍÏÄÕÌÅ - ngx_http_proxy_module ÐÒÏÉÓÈÏÄÉÌ segmentation fault ÉÌÉ bus error. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_rate ÎÅ ÒÁÂÏÔÁÌÁ ×ÎÕÔÒÉ ÂÌÏËÁ if; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.41 25.07.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ × ÆÁÊÌÅ ËÏÎÆÉÇÕÒÁÃÉÉ, ÔÏ - ÏÎÁ ÎÅ ÍÏÇÌÁ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × SSI. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.40 22.07.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ËÌÉÅÎÔ ÓÌÁÌ ÏÞÅÎØ ÄÌÉÎÎÕÀ ÓÔÒÏËÕ ÚÁÇÏÌÏ×ËÁ, ÔÏ × - ÌÏÇÅ ÎÅ ÐÏÍÅÝÁÌÁÓØ ÉÎÆÏÒÍÁÃÉÑ, Ó×ÑÚÁÎÎÁÑ Ó ÜÔÉÍ ÚÁÐÒÏÓÏÍ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ - ÓÔÒÏËÁ "Set-Cookie"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.39. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ "X-Accel-Redirect" ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ - ÓÔÒÏËÁ "Content-Disposition". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏ ÓÉÇÎÁÌÕ SIGQUIT ÏÓÎÏ×ÎÏÊ ÐÒÏÃÅÓÓ ÎÅ ÚÁËÒÙ×ÁÌ ÓÏËÅÔÙ, - ÎÁ ËÏÔÏÒÙÈ ÏÎ ÓÌÕÛÁÌ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÏÂÎÏ×ÌÅÎÉÑ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÁ ÌÅÔÕ ÎÁ Linux É - Solaris ÎÁÚ×ÁÎÉÅ ÐÒÏÃÅÓÓÁ × ËÏÍÁÎÄÅ ps ÓÔÁÎÏ×ÉÌÏÓØ ËÏÒÏÞÅ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.39 14.07.2005 - - *) éÚÍÅÎÅÎÉÑ × ÍÏÄÕÌÅ ngx_http_charset_module: ÄÉÒÅËÔÉ×Á - default_charset ÕÐÒÁÚÄÎÅÎÁ; ÄÉÒÅËÔÉ×Á charset ÚÁÄÁ£Ô ËÏÄÉÒÏ×ËÕ - ÏÔ×ÅÔÁ; ÄÉÒÅËÔÉ×Á source_charset ÚÁÄÁ£Ô ÔÏÌØËÏ ÉÓÈÏÄÎÕÀ ËÏÄÉÒÏ×ËÕ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÏÛÉÂËÉ 401, ÐÏÌÕÞÅÎÎÏÊ ÏÔ ÂÜËÅÎÄÁ, - ÎÅ ÐÅÒÅÄÁ×ÁÌÁÓØ ÓÔÒÏËÁ ÚÁÇÏÌÏ×ËÁ "WWW-Authenticate". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌÉ ngx_http_proxy_module É ngx_http_fastcgi_module - ÍÏÇÌÉ ÚÁËÒÙÔØ ÓÏÅÄÉÎÅÎÉÅ ÄÏ ÔÏÇÏ, ËÁË ÞÔÏ-ÎÉÂÕÄØ ÂÙÌÏ ÐÅÒÅÄÁÎÏ - ËÌÉÅÎÔÕ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38. - - *) éÚÍÅÎÅÎÉÅ: ÏÂÒÁÂÏÔËÁ ÏÛÉÂËÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ × crypt_r() × Linux glibc. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÏÔÎÏÓÉÔÅÌØÎÙÅ - URI × ËÏÍÁÎÄÅ include virtual. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÂÙÌÁ ÓÔÒÏËÁ - "Location", ËÏÔÏÒÕÀ nginx ÎÅ ÄÏÌÖÅÎ ÂÙÌ ÉÚÍÅÎÑÔØ, ÔÏ × ÏÔ×ÅÔÅ - ÐÅÒÅÄÁ×ÁÌÏÓØ ÔÅÌÏ 500 ÏÛÉÂËÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅËÏÔÏÒÙÅ ÄÉÒÅËÔÉ×Ù ÍÏÄÕÌÅÊ ngx_http_proxy_module É - ngx_http_fastcgi_module ÎÅ ÎÁÓÌÅÄÏ×ÁÌÉÓØ Ó ÕÒÏ×ÎÑ server ÎÁ ÕÒÏ×ÅÎØ - location; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssl_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÃÅÐÏÞËÉ - ÓÅÒÔÉÆÉËÁÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ - ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.38. - - *) éÓÐÒÁ×ÌÅÎÉÑ × IMAP/POP3 ÐÒÏËÓÉ ÐÒÉ ×ÚÁÉÍÏÄÅÊÓÔ×ÉÉ Ó ÂÜËÅÎÄÏÍ ÎÁ - ÓÔÁÄÉÉ login. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.38 08.07.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á limit_rate ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ × ÒÅÖÉÍÅ ÐÒÏËÓÉ É + *) ИÑправление: еÑли вÑе бÑкенды, иÑпользуемые Ð´Ð»Ñ Ð±Ð°Ð»Ð°Ð½Ñировки + нагрузки, оказывалиÑÑŒ в нерабочем ÑоÑтоÑнии поÑле одной ошибки, то + nginx не обращалÑÑ Ðº ним в течение 60 Ñекунд. + + *) ИÑправление: в парÑинге аргументов IMAP/POP3 команд. + СпаÑибо Rob Mueller. + + *) ИÑправление: ошибки при иÑпользовании SSL в IMAP/POP3 прокÑи. + + *) ИÑправление: ошибки при иÑпользовании SSI и ÑжатиÑ. + + *) ИÑправление: в ответах 304 не добавлÑлиÑÑŒ Ñтроки заголовка ответа + "Expires" и "Cache-Control". + СпаÑибо ÐлекÑандру Кукушкину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.45 08.09.2005 + + *) Изменение: директива ssl_engine упразднена в модуле + ngx_http_ssl_module и перенеÑена на глобальный уровень. + + *) ИÑправление: ответы Ñ Ð¿Ð¾Ð´Ð·Ð°Ð¿Ñ€Ð¾Ñами, включённые Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ SSI, не + передавалиÑÑŒ через SSL Ñоединение. + + *) Разные иÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² IMAP/POP3 прокÑи. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.44 06.09.2005 + + *) Добавление: IMAP/POP3 прокÑи поддерживает SSL. + + *) Добавление: директива proxy_timeout Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_imap_proxy_module. + + *) Добавление: директива userid_mark. + + *) Добавление: значение переменной $remote_user определÑетÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо + от того, иÑпользуетÑÑ Ð»Ð¸ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ нет. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.43 30.08.2005 + + *) Добавление: listen(2) backlog в директиве listen можно менÑÑ‚ÑŒ по + Ñигналу -HUP. + + *) Добавление: Ñкрипт geo2nginx.pl добавлен в contrib. + + *) Изменение: параметры FastCGI Ñ Ð¿ÑƒÑтым значениÑми теперь передаютÑÑ + Ñерверу. + + *) ИÑправление: еÑли в ответе прокÑированного Ñервера или FastCGI + Ñервера была Ñтрока "Cache-Control", то при иÑпользовании директивы + expires проиÑходил segmentation fault или рабочий процеÑÑ Ð¼Ð¾Ð³ + зациклитÑÑ; в режиме прокÑи ошибка поÑвилаÑÑŒ в 0.1.29. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.42 23.08.2005 + + *) ИÑправление: еÑли URI запроÑа получалÑÑ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð¹ длины поÑле обработки + модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module + проиÑходил segmentation fault или bus error. + + *) ИÑправление: директива limit_rate не работала внутри блока if; ошибка + поÑвилаÑÑŒ в 0.1.38. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.41 25.07.2005 + + *) ИÑправление: еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸ÑпользовалаÑÑŒ в файле конфигурации, то + она не могла иÑпользоватьÑÑ Ð² SSI. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.40 22.07.2005 + + *) ИÑправление: еÑли клиент Ñлал очень длинную Ñтроку заголовка, то в + логе не помещалаÑÑŒ информациÑ, ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ Ñтим запроÑом. + + *) ИÑправление: при иÑпользовании "X-Accel-Redirect" не передавалаÑÑŒ + Ñтрока "Set-Cookie"; ошибка поÑвилаÑÑŒ в 0.1.39. + + *) ИÑправление: при иÑпользовании "X-Accel-Redirect" не передавалаÑÑŒ + Ñтрока "Content-Disposition". + + *) ИÑправление: по Ñигналу SIGQUIT оÑновной процеÑÑ Ð½Ðµ закрывал Ñокеты, + на которых он Ñлушал. + + *) ИÑправление: поÑле Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑполнÑемого файла на лету на Linux и + Solaris название процеÑÑа в команде ps ÑтановилоÑÑŒ короче. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.39 14.07.2005 + + *) Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² модуле ngx_http_charset_module: директива default_charset + упразднена; директива charset задаёт кодировку ответа; директива + source_charset задаёт только иÑходную кодировку. + + *) ИÑправление: при перенаправлении ошибки 401, полученной от бÑкенда, + не передавалаÑÑŒ Ñтрока заголовка "WWW-Authenticate". + + *) ИÑправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module + могли закрыть Ñоединение до того, как что-нибудь было передано + клиенту; ошибка поÑвилаÑÑŒ в 0.1.38. + + *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc. + + *) ИÑправление: модуль ngx_http_ssi_module не поддерживал отноÑительные + URI в команде include virtual. + + *) ИÑправление: еÑли в Ñтроке заголовка ответа бÑкенда была Ñтрока + "Location", которую nginx не должен был изменÑÑ‚ÑŒ, то в ответе + передавалоÑÑŒ тело 500 ошибки; ошибка поÑвилаÑÑŒ в 0.1.29. + + *) ИÑправление: некоторые директивы модулей ngx_http_proxy_module и + ngx_http_fastcgi_module не наÑледовалиÑÑŒ Ñ ÑƒÑ€Ð¾Ð²Ð½Ñ server на уровень + location; ошибка поÑвилаÑÑŒ в 0.1.29. + + *) ИÑправление: модуль ngx_http_ssl_module не поддерживал цепочки + Ñертификатов. + + *) ИÑправление: ошибка в модуле ngx_http_autoindex_module при показе + длинных имён файлов; ошибка поÑвилаÑÑŒ в 0.1.38. + + *) ИÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² IMAP/POP3 прокÑи при взаимодейÑтвии Ñ Ð±Ñкендом на + Ñтадии login. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.38 08.07.2005 + + *) Добавление: директива limit_rate поддерживаетÑÑ Ð² режиме прокÑи и FastCGI. - *) äÏÂÁ×ÌÅÎÉÅ: × ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ - ÚÁÇÏÌÏ×ËÁ "X-Accel-Limit-Rate" × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á break. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á log_not_found. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÉ ÚÁÐÒÏÓÁ Ó ÐÏÍÏÝØÀ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ - "X-Accel-Redirect" ÎÅ ÉÚÍÅÎÑÌÓÑ ËÏÄ ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ, ÕÓÔÁÎÏ×ÌÅÎÎÙÅ ÄÉÒÅËÔÉ×ÏÊ set ÎÅ ÍÏÇÌÉ - ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × SSI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ × SSI ÂÏÌÅÅ ÏÄÎÏÇÏ ÕÄÁÌ£ÎÎÏÇÏ ÐÏÄÚÁÐÒÏÓÁ - ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÓÔÁÔÕÓÎÁÑ ÓÔÒÏËÁ × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ ÐÅÒÅÄÁ×ÁÌÁÓØ × - Ä×ÕÈ ÐÁËÅÔÁÈ, ÔÏ nginx ÓÞÉÔÁÌ ÏÔ×ÅÔ ÎÅ×ÅÒÎÙÍ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) Добавление: в режиме прокÑи и FastCGI поддерживаетÑÑ Ñтрока заголовка + "X-Accel-Limit-Rate" в ответе бÑкенда. + + *) Добавление: директива break. + + *) Добавление: директива log_not_found. + + *) ИÑправление: при перенаправлении запроÑа Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтроки заголовка + "X-Accel-Redirect" не изменÑлÑÑ ÐºÐ¾Ð´ ответа. + + *) ИÑправление: переменные, уÑтановленные директивой set не могли + иÑпользоватьÑÑ Ð² SSI. + + *) ИÑправление: при включении в SSI более одного удалённого подзапроÑа + мог произойти segmentation fault. + + *) ИÑправление: еÑли ÑтатуÑÐ½Ð°Ñ Ñтрока в ответе бÑкенда передавалаÑÑŒ в + двух пакетах, то nginx Ñчитал ответ неверным; ошибка поÑвилаÑÑŒ в 0.1.29. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssi_types. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á autoindex_exact_size. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÄÌÉÎÎÙÅ - ÉÍÅÎÁ ÆÁÊÌÏ× × UTF-8. - - *) äÏÂÁ×ÌÅÎÉÅ: IMAP/POP3 ÐÒÏËÓÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.37 23.06.2005 - - *) éÚÍÅÎÅÎÉÅ: × ËÏÎÃÅ ÆÁÊÌÁ nginx.pid ÔÅÐÅÒØ ÄÏÂÁ×ÌÑÅÔÓÑ "\n". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ×ÓÔÁ×ÏË ÉÌÉ - ÎÅÓËÏÌØËÉÈ ÂÏÌØÛÉÈ ×ÓÔÁ×ÏË Ó ÐÏÍÏÝØÀ SSI ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ - ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ×ÓÅ ÂÜËÅÎÄÙ ×ÏÚ×ÒÁÝÁÌÉ ÏÔ×ÅÔ 404, ÔÏ ÐÒÉ - ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÐÁÒÁÍÅÔÒÁ http_404 × ÄÉÒÅËÔÉ×ÁÈ proxy_next_upstream - ÉÌÉ fastcgi_next_upstream, nginx ÎÁÞÉÎÁÌ ÚÁÐÒÁÛÉ×ÁÔØ ×ÓÅ ÂÜËÅÎÄÙ - ÓÎÏ×Á. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.36 15.06.2005 - - *) éÚÍÅÎÅÎÉÅ: ÅÓÌÉ × ÚÁÇÏÌÏ×ËÅ ÚÁÐÒÏÓÅ ÅÓÔØ ÄÕÂÌÉÒÕÀÝÉÅÓÑ ÓÔÒÏËÉ - "Host", "Connection", "Content-Length" É "Authorization", ÔÏ nginx - ÔÅÐÅÒØ ×ÙÄÁ£Ô ÏÛÉÂËÕ 400. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á post_accept_timeout ÕÐÒÁÚÄÎÅÎÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ default, af=, bl=, deferred É bind × ÄÉÒÅËÔÉ×Å + *) Добавление: директива ssi_types. + + *) Добавление: директива autoindex_exact_size. + + *) ИÑправление: модуль ngx_http_autoindex_module не поддерживал длинные + имена файлов в UTF-8. + + *) Добавление: IMAP/POP3 прокÑи. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.37 23.06.2005 + + *) Изменение: в конце файла nginx.pid теперь добавлÑетÑÑ "\n". + + *) ИÑправление: при включении большого количеÑтва вÑтавок или неÑкольких + больших вÑтавок Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ SSI ответ мог передаватьÑÑ Ð½Ðµ полноÑтью. + + *) ИÑправление: еÑли вÑе бÑкенды возвращали ответ 404, то при + иÑпользовании параметра http_404 в директивах proxy_next_upstream или + fastcgi_next_upstream, nginx начинал запрашивать вÑе бÑкенды Ñнова. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.36 15.06.2005 + + *) Изменение: еÑли в заголовке запроÑе еÑÑ‚ÑŒ дублирующиеÑÑ Ñтроки "Host", + "Connection", "Content-Length" и "Authorization", то nginx теперь + выдаёт ошибку 400. + + *) Изменение: директива post_accept_timeout упразднена. + + *) Добавление: параметры default, af=, bl=, deferred и bind в директиве listen. - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ accept ÆÉÌØÔÒÏ× ×Ï FreeBSD. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ TCP_DEFER_ACCEPT × Linux. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÎÅ ÐÏÄÄÅÒÖÉ×ÁÌ ÉÍÅÎÁ - ÆÁÊÌÏ× × UTF-8. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÏÓÌÅ ÄÏÂÁ×ÌÅÎÉÑ ÎÏ×ÙÊ ÌÏÇ-ÆÁÊÌ ÒÏÔÁÃÉÑ ÜÔÏÇÏ ÌÏÇÁ ÐÏ - ÓÉÇÎÁÌÕ -USR1 ×ÙÐÏÌÎÑÌÁÓØ, ÔÏÌØËÏ ÅÓÌÉ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ nginx Ä×Á - ÒÁÚÁ ÐÏ ÓÉÇÎÁÌÕ -HUP. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.35 07.06.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á working_directory. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á port_in_redirect. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÚÁÇÏÌÏ×ÏË ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ ÎÅ ÐÏÍÅÝÁÌÓÑ × ÏÄÉÎ - ÐÁËÅÔ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÙÌÏ ÓËÏÎÆÉÇÕÒÉÒÏ×ÁÎÏ ÂÏÌÅÅ 10 ÓÅÒ×ÅÒÏ× ÉÌÉ × - ÓÅÒ×ÅÒÅ ÎÅ ÏÐÉÓÁÎÁ ÄÉÒÅËÔÉ×Á "listen", ÔÏ ÐÒÉ ÚÁÐÕÓËÅ ÍÏÇ ÐÒÏÉÚÏÊÔÉ + *) Добавление: поддержка accept фильтров во FreeBSD. + + *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux. + + *) ИÑправление: модуль ngx_http_autoindex_module не поддерживал имена + файлов в UTF-8. + + *) ИÑправление: поÑле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ñ‹Ð¹ лог-файл Ñ€Ð¾Ñ‚Ð°Ñ†Ð¸Ñ Ñтого лога по + Ñигналу -USR1 выполнÑлаÑÑŒ, только еÑли переконфигурировать nginx два + раза по Ñигналу -HUP. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.35 07.06.2005 + + *) Добавление: директива working_directory. + + *) Добавление: директива port_in_redirect. + + *) ИÑправление: еÑли заголовок ответа бÑкенда не помещалÑÑ Ð² один пакет, + то проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.1.29. + + *) ИÑправление: еÑли было Ñконфигурировано более 10 Ñерверов или в + Ñервере не опиÑана директива "listen", то при запуÑке мог произойти segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÏÔ×ÅÔ ÎÅ ÐÏÍÅÝÁÌÓÑ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ, ÔÏ ÍÏÇ - ÐÒÏÉÚÏÊÔÉ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 400 ÎÁ ÚÁÐÒÏÓÙ ×ÉÄÁ - "GET http://www.domain.com/uri HTTP/1.0"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.28. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.34 26.05.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ×ËÌÀÞÅÎÉÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÏ× Ó ÐÏÍÏÝØÀ SSI ÒÁÂÏÞÉÊ - ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ, ÕÓÔÁÎÁ×ÌÉ×ÁÅÍÙÅ ÄÉÒÅËÔÉ×ÏÊ "set", ÎÅ ÂÙÌÉ - ÄÏÓÔÕÐÎÙ × SSI. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á autoindex_localtime. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÕÓÔÏÅ ÚÎÁÞÅÎÉÅ × ÄÉÒÅËÔÉ×Å proxy_set_header ÚÁÐÒÅÝÁÅÔ - ÐÅÒÅÄÁÞÕ ÚÁÇÏÌÏ×ËÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.33 23.05.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ Ó ÐÁÒÁÍÅÔÒÏÍ --without-pcre; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - *) éÓÐÒÁ×ÌÅÎÉÅ: 3, 5, 7 É 8 ÄÉÒÅËÔÉ× proxy_set_header ÎÁ ÏÄÎÏÍ ÕÒÏ×ÎÅ - ×ÙÚÙ×ÁÌÉ bus fault ÐÒÉ ÚÁÐÕÓËÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÅÄÉÒÅËÔÁÈ ×ÎÕÔÒÉ HTTPS ÓÅÒ×ÅÒÁ ÂÙÌ ÕËÁÚÁÎ ÐÒÏÔÏËÏÌ + *) ИÑправление: еÑли ответ не помещалÑÑ Ð²Ð¾ временный файл, то мог + произойти segmentation fault. + + *) ИÑправление: nginx возвращал ошибку 400 на запроÑÑ‹ вида + "GET http://www.domain.com/uri HTTP/1.0"; ошибка поÑвилаÑÑŒ в 0.1.28. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.34 26.05.2005 + + *) ИÑправление: при включении больших ответов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ SSI рабочий + процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ. + + *) ИÑправление: переменные, уÑтанавливаемые директивой "set", не были + доÑтупны в SSI. + + *) Добавление: директива autoindex_localtime. + + *) ИÑправление: пуÑтое значение в директиве proxy_set_header запрещает + передачу заголовка. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.33 23.05.2005 + + *) ИÑправление: nginx не ÑобиралÑÑ Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ --without-pcre; ошибка + поÑвилаÑÑŒ в 0.1.29. + + *) ИÑправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне + вызывали bus fault при запуÑке. + + *) ИÑправление: в редиректах внутри HTTPS Ñервера был указан протокол HTTP. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÉÒÅËÔÉ×Á rewrite ÉÓÐÏÌØÚÏ×ÁÌÁ ×ÙÄÅÌÅÎÉÑ ×ÎÕÔÒÉ - ÄÉÒÅËÔÉ×Ù if, ÔÏ ×ÏÚ×ÒÁÝÁÌÁÓØ ÏÛÉÂËÁ 500. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.32 19.05.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÅÄÉÒÅËÔÁÈ, ×ÙÄÁ×ÁÅÍÙÈ Ó ÐÏÍÏÝØÀ ÄÉÒÅËÔÉ×Ù rewrite, - ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÁÒÇÕÍÅÎÔÙ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.29. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á if ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÙÄÅÌÅÎÉÑ × ÒÅÇÕÌÑÒÎÙÈ - ×ÙÒÁÖÅÎÉÑÈ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á set ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÍÅÎÎÙÅ É ×ÙÄÅÌÅÎÉÑ ÉÚ - ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÒÅÖÉÍÅ ÐÒÏËÓÉ É FastCGI ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÓÔÒÏËÁ - ÚÁÇÏÌÏ×ËÁ "X-Accel-Redirect" × ÏÔ×ÅÔÅ ÂÜËÅÎÄÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.31 16.05.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ - ËÏÎÃÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÏÂÒÁÂÏÔËÅ SSI × ÏÔ×ÅÔÅ, ÐÏÌÕÞÅÎÎÏÇÏ ÏÔ - FastCGI-ÓÅÒ×ÅÒÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI É ÓÖÁÔÉÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÒÅÄÉÒÅËÔ Ó ËÏÄÏÍ 301 ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÔÅÌÁ ÏÔ×ÅÔÁ; - ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.30. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.30 14.05.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSI ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ ÚÁÃÉËÌÉÔØÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ ÄÏ - ËÏÎÃÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÌÉÎÁ ÞÁÓÔÉ ÏÔ×ÅÔÁ, ÐÏÌÕÞÅÎÎÏÇÏ ÚÁ ÏÄÉÎ ÒÁÚ ÏÔ - ÐÒÏËÓÉÒÕÅÍÏÇÏ ÉÌÉ FastCGI ÓÅÒ×ÅÒÁ ÂÙÌÁ ÒÁ×ÎÁ 500 ÂÁÊÔ, ÔÏ nginx - ×ÏÚ×ÒÁÝÁÌ ËÏÄ ÏÔ×ÅÔÁ 500; × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ ÔÏÌØËÏ × + *) ИÑправление: еÑли директива rewrite иÑпользовала Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ + директивы if, то возвращалаÑÑŒ ошибка 500. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.32 19.05.2005 + + *) ИÑправление: в редиректах, выдаваемых Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ директивы rewrite, не + передавалиÑÑŒ аргументы; ошибка поÑвилаÑÑŒ в 0.1.29. + + *) Добавление: директива if поддерживает Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² регулÑрных + выражениÑÑ…. + + *) Добавление: директива set поддерживает переменные и Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· + регулÑрных выражений. + + *) Добавление: в режиме прокÑи и FastCGI поддерживаетÑÑ Ñтрока заголовка + "X-Accel-Redirect" в ответе бÑкенда. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.31 16.05.2005 + + *) ИÑправление: при иÑпользовании SSL ответ мог передаватьÑÑ Ð½Ðµ до + конца. + + *) ИÑправление: ошибки при обработке SSI в ответе, полученного от + FastCGI-Ñервера. + + *) ИÑправление: ошибки при иÑпользовании SSI и ÑжатиÑ. + + *) ИÑправление: редирект Ñ ÐºÐ¾Ð´Ð¾Ð¼ 301 передавалÑÑ Ð±ÐµÐ· тела ответа; ошибка + поÑвилаÑÑŒ в 0.1.30. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.30 14.05.2005 + + *) ИÑправление: при иÑпользовании SSI рабочий процеÑÑ Ð¼Ð¾Ð³ зациклитьÑÑ. + + *) ИÑправление: при иÑпользовании SSL ответ мог передаватьÑÑ Ð½Ðµ до + конца. + + *) ИÑправление: еÑли длина чаÑти ответа, полученного за один раз от + прокÑируемого или FastCGI Ñервера была равна 500 байт, то nginx + возвращал код ответа 500; в режиме прокÑи ошибка поÑвилаÑÑŒ только в 0.1.29. - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÞÉÔÁÌ ÎÅ×ÅÒÎÙÍÉ ÄÉÒÅËÔÉ×Ù Ó 8-À ÉÌÉ 9-À - ÐÁÒÁÍÅÔÒÁÍÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á return ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ËÏÄ ÏÔ×ÅÔÁ 204. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ignore_invalid_headers. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.29 12.05.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÍÁÎÄÕ include + *) ИÑправление: nginx не Ñчитал неверными директивы Ñ 8-ÑŽ или 9-ÑŽ + параметрами. + + *) Добавление: директива return может возвращать код ответа 204. + + *) Добавление: директива ignore_invalid_headers. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.29 12.05.2005 + + *) Добавление: модуль ngx_http_ssi_module поддерживает команду include virtual. - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕÓÌÏ×ÎÕÀ ËÏÍÁÎÄÕ - ×ÉÄÁ 'if expr="$NAME"' É ËÏÍÁÎÄÙ else É endif. äÏÐÕÓËÁÅÔÓÑ ÔÏÌØËÏ - ÏÄÉÎ ÕÒÏ×ÅÎØ ×ÌÏÖÅÎÎÏÓÔÉ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_module ÐÏÄÄÅÒÖÉ×ÁÅÔ Ä×Å ÐÅÒÅÍÅÎÎÙÅ - DATE_LOCAL É DATE_GMT É ËÏÍÁÎÄÕ config timefmt. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á ssi_ignore_recycled_buffers. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÐÅÒÅÍÅÎÎÁÑ QUERY_STRING ÎÅ ÂÙÌÁ ÏÐÒÅÄÅÌÅÎÁ, ÔÏ × - ËÏÍÁÎÄÅ echo ÎÅ ÓÔÁ×ÉÌÏÓØ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ. - - *) éÚÍÅÎÅÎÉÅ: ÍÏÄÕÌØ ngx_http_proxy_module ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_redirect, proxy_pass_request_headers, - proxy_pass_request_body É proxy_method. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_set_header. äÉÒÅËÔÉ×Á proxy_x_var - ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ proxy_set_header. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_preserve_host ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ - ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÁÍÉ "proxy_set_header Host $host" É "proxy_redirect - off" ÉÌÉ ÄÉÒÅËÔÉ×ÏÊ "proxy_set_header Host $host:$proxy_port" É - ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÍÉ ÅÊ ÄÉÒÅËÔÉ×ÁÍÉ proxy_redirect. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_set_x_real_ip ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ - ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ "proxy_set_header X-Real-IP $remote_addr". - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_add_x_forwarded_for ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ - ÂÙÔØ ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ + *) Добавление: модуль ngx_http_ssi_module поддерживает уÑловную команду + вида 'if expr="$NAME"' и команды else и endif. ДопуÑкаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ + один уровень вложенноÑти. + + *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные + DATE_LOCAL и DATE_GMT и команду config timefmt. + + *) Добавление: директива ssi_ignore_recycled_buffers. + + *) ИÑправление: еÑли Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ QUERY_STRING не была определена, то в + команде echo не ÑтавилоÑÑŒ значение по умолчанию. + + *) Изменение: модуль ngx_http_proxy_module полноÑтью перепиÑан. + + *) Добавление: директивы proxy_redirect, proxy_pass_request_headers, + proxy_pass_request_body и proxy_method. + + *) Добавление: директива proxy_set_header. Директива proxy_x_var + упразднена и должна быть заменена директивой proxy_set_header. + + *) Изменение: директива proxy_preserve_host упразднена и должна быть + заменена директивами "proxy_set_header Host $host" и "proxy_redirect + off" или директивой "proxy_set_header Host $host:$proxy_port" и + ÑоответÑтвующими ей директивами proxy_redirect. + + *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть + заменена директивой "proxy_set_header X-Real-IP $remote_addr". + + *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна + быть заменена директивой "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for". - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_set_x_url ÕÐÒÁÚÄÎÅÎÁ É ÄÏÌÖÎÁ ÂÙÔØ - ÚÁÍÅÎÅÎÁ ÄÉÒÅËÔÉ×ÏÊ + *) Изменение: директива proxy_set_x_url упразднена и должна быть + заменена директивой "proxy_set_header X-URL http://$host:$server_port$request_uri". - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_param. - - *) éÚÍÅÎÅÎÉÅ: ÄÉÒÅËÔÉ×Ù fastcgi_root, fastcgi_set_var É fastcgi_params - ÕÐÒÁÚÄÎÅÎÙ É ÄÏÌÖÎÙ ÂÙÔØ ÚÁÍÅÎÙ ÄÉÒÅËÔÉ×ÁÍÉ fastcgi_param. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á index ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÅÒÅÍÅÎÎÙÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á index ÍÏÖÅÔ ÂÙÔØ ÕËÁÚÁÎÁ ÎÁ ÕÒÏ×ÎÅ http É + *) Добавление: директива fastcgi_param. + + *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params + упразднены и должны быть замены директивами fastcgi_param. + + *) Добавление: директива index может иÑпользовать переменные. + + *) Добавление: директива index может быть указана на уровне http и server. - *) éÚÍÅÎÅÎÉÅ: ÔÏÌØËÏ ÐÏÓÌÅÄÎÉÊ ÐÁÒÁÍÅÔÒ × ÄÉÒÅËÔÉ×Å index ÍÏÖÅÔ ÂÙÔØ - ÁÂÓÏÌÀÔÎÙÍ. - - *) äÏÂÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å rewrite ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÅÒÅÍÅÎÎÙÅ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á internal. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÅÒÅÍÅÎÎÙÅ CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, - SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, - SERVER_NAME, REQUEST_METHOD, REQUEST_URI É REMOTE_USER. - - *) éÚÍÅÎÅÎÉÅ: nginx ÔÅÐÅÒØ ÐÅÒÅÄÁ£Ô ÎÅ×ÅÒÎÙÅ ÓÔÒÏËÉ × ÚÁÇÏÌÏ×ËÁÈ - ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ É ÏÔ×ÅÔÁ ÂÜËÅÎÄÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÜËÅÎÄ ÄÏÌÇÏ ÎÅ ÐÅÒÅÄÁ×ÁÌ ÏÔ×ÅÔ É send_timeout ÂÙÌ - ÍÅÎØÛÅ, ÞÅÍ proxy_read_timeout, ÔÏ ËÌÉÅÎÔÕ ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ 408. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÜËÅÎÄ ÐÅÒÅÄÁ×ÁÌ ÎÅ×ÅÒÎÕÀ ÓÔÒÏËÕ × ÚÁÇÏÌÏ×ËÅ - ÏÔ×ÅÔÁ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.26. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÏÔËÁÚÏÕÓÔÏÊÞÉ×ÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ × - FastCGI ÍÏÇ ÐÒÏÉÓÈÏÄÉÔØ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á expires ÎÅ ÕÄÁÌÑÌÁ ÕÖÅ ÕÓÔÁÎÏ×ÌÅÎÎÙÅ ÓÔÒÏËÉ - ÚÁÇÏÌÏ×ËÁ "Expires" É "Cache-Control". - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÕÞÉÔÙ×ÁÌ ÚÁ×ÅÒÛÁÀÝÕÀ ÔÏÞËÕ × ÓÔÒÏËÅ ÚÁÇÏÌÏ×ËÁ - ÚÁÐÒÏÓÁ "Host". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_auth_module ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á rewrite ÎÅ×ÅÒÎÏ ÒÁÂÏÔÁÌÁ, ÅÓÌÉ × ÚÁÐÒÏÓÅ - ÐÒÉÓÕÔÓÔ×Ï×ÁÌÉ ÁÒÇÕÍÅÎÔÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ MacOS X. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.28 08.04.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÂÏÌØÛÉÈ ÆÁÊÌÏ× nginx ÓÉÌØÎÏ ÎÁÇÒÕÖÁÌ - ÐÒÏÃÅÓÓÏÒ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ gcc 4.0 ÎÁ Linux. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.27 28.03.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ blocked × ÄÉÒÅËÔÉ×Å valid_referers. - - *) éÚÍÅÎÅÎÉÅ: ÏÛÉÂËÉ ÏÂÒÁÂÏÔËÉ ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ ÔÅÐÅÒØ ÚÁÐÉÓÙ×ÁÀÔÓÑ ÎÁ - ÕÒÏ×ÎÅ info, × ÌÏÇ ÔÁËÖÅ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÉÍÑ ÓÅÒ×ÅÒÁ É ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ - ÚÁÐÒÏÓÁ "Host" É "Referer". - - *) éÚÍÅÎÅÎÉÅ: ÐÒÉ ÚÁÐÉÓÉ ÏÛÉÂÏË × ÌÏÇ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÔÁËÖÅ ÓÔÒÏËÁ - ÚÁÇÏÌÏ×ËÁ ÚÁÐÒÏÓÁ "Host". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass_unparsed_uri. óÐÅÃÉÁÌØÎÁÑ ÏÂÒÁÂÏÔËÁ - ÓÉÍ×ÏÌÏ× "://" × URI, ××ÅÄ£ÎÎÁÑ × ×ÅÒÓÉÉ 0.1.11, ÔÅÐÅÒØ ÕÐÒÁÚÄÎÅÎÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ FreeBSD É Linux, ÅÓÌÉ ÂÙÌ ÕËÁÚÁÎ - ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ --without-ngx_http_auth_basic_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.26 22.03.2005 - - *) éÚÍÅÎÅÎÉÅ: ÎÅ×ÅÒÎÙÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ, ÐÅÒÅÄÁÎÎÙÅ ËÌÉÅÎÔÏÍ, ÔÅÐÅÒØ - ÉÇÎÏÒÉÒÕÅÔÓÑ É ÚÁÐÉÓÙ×ÁÀÔÓÑ × error_log ÎÁ ÕÒÏ×ÎÅ info. - - *) éÚÍÅÎÅÎÉÅ: ÐÒÉ ÚÁÐÉÓÉ ÏÛÉÂÏË × ÌÏÇ ÚÁÐÉÓÙ×ÁÅÔÓÑ ÔÁËÖÅ ÉÍÑ ÓÅÒ×ÅÒÁ, - ÐÒÉ ÏÂÒÁÝÅÎÉÉ Ë ËÏÔÏÒÏÍÕ ÐÒÏÉÚÏÛÌÁ ÏÛÉÂËÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_auth_basic_module É ÄÉÒÅËÔÉ×Ù auth_basic - É auth_basic_user_file. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.25 19.03.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÒÁÂÏÔÁÌ ÎÁ Linux parisc. - - *) äÏÂÁ×ÌÅÎÉÅ: nginx ÔÅÐÅÒØ ÎÅ ÚÁÐÕÓËÁÅÔÓÑ ÐÏÄ FreeBSD, ÅÓÌÉ ÚÎÁÞÅÎÉÅ - sysctl kern.ipc.somaxconn ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÍÏÄÕÌØ ngx_http_index_module ÄÅÌÁÌ ×ÎÕÔÒÅÎÎÅÅ - ÐÅÒÅÎÁÐÒÁ×ÌÅÎÉÅ ÚÁÐÒÏÓÁ × ÍÏÄÕÌÉ ngx_http_proxy_module ÉÌÉ - ngx_http_fastcgi_module, ÔÏ ÆÁÊÌ ÉÎÄÅËÓÁ ÎÅ ÚÁËÒÙ×ÁÌÓÑ ÐÏÓÌÅ - ÏÂÓÌÕÖÉ×ÁÎÉÑ ÚÁÐÒÏÓÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_pass ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × location, - ÚÁÄÁÎÎÙÈ ÒÅÇÕÌÑÒÎÙÍ ×ÙÒÁÖÅÎÉÅÍ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_rewrite_filter_module ÐÏÄÄÅÒÖÉ×ÁÅÔ - ÕÓÌÏ×ÉÑ ×ÉÄÁ "if ($HTTP_USER_AGENT ~ MSIE)". - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÏÞÅÎØ ÍÅÄÌÅÎÎÏ ÚÁÐÕÓËÁÌÓÑ ÐÒÉ ÂÏÌØÛÏÍ ËÏÌÉÞÅÓÔ×Å - ÁÄÒÅÓÏ× É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÔÅËÓÔÏ×ÙÈ ÚÎÁÞÅÎÉÊ × ÄÉÒÅËÔÉ×Å geo. - - *) éÚÍÅÎÅÎÉÅ: ÉÍÑ ÐÅÒÅÍÅÎÎÏÊ × ÄÉÒÅËÔÉ×Å geo ÎÕÖÎÏ ÕËÁÚÙ×ÁÔØ, ËÁË - $name. ðÒÅÖÎÉÊ ×ÁÒÉÁÎÔ ÂÅÚ "$" ÐÏËÁ ÒÁÂÏÔÁÅÔ, ÎÏ ×ÓËÏÒÅ ÂÕÄÅÔ ÕÂÒÁÎ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ "%{VARIABLE}v". - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á "set $name value". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó gcc 4.0. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ --with-openssl-opt=OPTIONS. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.24 04.03.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_filter_module ÐÏÄÄÅÒÖÉ×ÁÅÔ - ÐÅÒÅÍÅÎÎÙÅ QUERY_STRING É DOCUMENT_URI. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÍÏÇ ×ÙÄÁ×ÁÔØ ÏÔ×ÅÔ 404 - ÎÁ ÓÕÝÅÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ, ÅÓÌÉ ÜÔÏÔ ËÁÔÁÌÏÇ ÂÙÌ ÕËÁÚÁÎ ËÁË alias. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_filter_module ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÂÏÔÁÌ - ÐÒÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÔÓÕÔÓÔ×ÉÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Referer" ×ÓÅÇÄÁ ÓÞÉÔÁÌÏÓØ - ÐÒÁ×ÉÌØÎÙÍ referrer'ÏÍ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.23 01.03.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_ssi_filter_module É ÄÉÒÅËÔÉ×Ù ssi, - ssi_silent_errors É ssi_min_file_chunk. ðÏÄÄÅÒÖÉ×ÁÀÔÓÑ ËÏÍÁÎÄÙ 'echo - var="HTTP_..." default=""' É 'echo var="REMOTE_ADDR"'. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_time. - - *) äÏÂÁ×ÌÅÎÉÅ: ÅÓÌÉ ÚÁÐÒÏÓ ÐÒÉÛ£Ì ÂÅÚ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ "Host", ÔÏ - ÄÉÒÅËÔÉ×Á proxy_preserve_host ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ × ËÁÞÅÓÔ×Å ÜÔÏÇÏ - ÚÁÇÏÌÏ×ËÁ ÐÅÒ×ÏÅ ÉÍÑ ÓÅÒ×ÅÒÁ ÉÚ ÄÉÒÅËÔÉ×Ù server_name. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, ÏÔÌÉÞÎÙÈ ÏÔ i386, - amd64, sparc É ppc; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.22. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module ÔÅÐÅÒØ ÐÏËÁÚÙ×ÁÅÔ - ÉÎÆÏÒÍÁÃÉÀ ÎÅ Ï ÓÉÍ×ÏÌÉÞÅÓËÏÍ ÌÉÎËÅ, Á Ï ÆÁÊÌÅ ÉÌÉ ËÁÔÁÌÏÇÅ, ÎÁ - ËÏÔÏÒÙÊ ÏÎ ÕËÁÚÙ×ÁÅÔ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ËÌÉÅÎÔÕ ÎÉÞÅÇÏ ÎÅ ÐÅÒÅÄÁ×ÁÌÏÓØ, ÔÏ ÐÁÒÁÍÅÔÒ - %apache_length ÚÁÐÉÓÙ×ÁÌ × ÌÏÇ ÏÔÒÉÃÁÔÅÌØÎÕÀ ÄÌÉÎÕ ÚÁÇÏÌÏ×ËÁ ÏÔ×ÅÔÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.22 22.02.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_stub_status_module ÐÏËÁÚÙ×ÁÌ ÎÅ×ÅÒÎÕÀ - ÓÔÁÔÉÓÔÉËÕ ÄÌÑ ÏÂÒÁÂÏÔÁÎÎÙÈ ÓÏÅÄÉÎÅÎÉÊ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÏÓØ - ÐÒÏËÓÉÒÏ×ÁÎÉÅ ÉÌÉ FastCGI-ÓÅÒ×ÅÒ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ Linux É Solaris ÕÓÔÁÎÏ×ÏÞÎÙÅ ÐÕÔÉ ÂÙÌÉ ÎÅ×ÅÒÎÏ - ÚÁËÌÀÞÅÎÙ × ËÁ×ÙÞËÉ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.21. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.21 22.02.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_stub_status_module ÐÏËÁÚÙ×ÁÌ ÎÅ×ÅÒÎÕÀ - ÓÔÁÔÉÓÔÉËÕ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ rtsig ÉÌÉ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÎÅÓËÏÌØËÉÈ ÒÁÂÏÞÉÈ ÐÒÏÃÅÓÓÏ× ÎÁ SMP ÍÁÛÉÎÅ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ËÏÍÐÉÌÑÔÏÒÏÍ icc ÐÏÄ ìÉÎÕËÓÏÍ ÉÌÉ - ÅÓÌÉ ÂÉÂÌÉÏÔÅËÁ zlib-1.2.x ÓÏÂÉÒÁÌÁÓØ ÉÚ ÉÓÈÏÄÎÙÈ ÔÅËÓÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ NetBSD 2.0. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.20 17.02.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÎÏ×ÙÅ ÐÁÒÁÍÅÔÒÙ script_filename É remote_port × - ÄÉÒÅËÔÉ×Å fastcgi_params. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅÐÒÁ×ÉÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÌÓÑ ÐÏÔÏË stderr ÏÔ - FastCGI-ÓÅÒ×ÅÒÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.19 16.02.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÚÁÐÒÏÓÅ ÅÓÔØ ÎÕÌØ, ÔÏ ÄÌÑ ÌÏËÁÌØÎÙÈ ÚÁÐÒÏÓÏ× - ÔÅÐÅÒØ ×ÏÚ×ÒÁÝÁÅÔÓÑ ÏÛÉÂËÁ 404. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ NetBSD 2.0. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ×Ï ×ÒÅÍÑ ÞÔÅÎÉÑ ÔÅÌÁ ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ × SSL ÓÏÅÄÉÎÅÎÉÉ - ÍÏÇ ÐÒÏÉÚÏÊÔÉ ÔÁÊÍÁÕÔ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.18 09.02.2005 - - *) éÚÍÅÎÅÎÉÅ: ÄÌÑ ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó Solaris 10 × ÄÉÒÅËÔÉ×ÁÈ - devpoll_events É devpoll_changes ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÕÍÅÎØÛÅÎÙ Ó - 512 ÄÏ 32. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_set_x_var É fastcgi_set_var ÎÅ - ÎÁÓÌÅÄÏ×ÁÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÄÉÒÅËÔÉ×Å rewrite, ×ÏÚ×ÒÁÝÁÀÝÅÊ ÒÅÄÉÒÅËÔ, ÁÒÇÕÍÅÎÔÙ - ÐÒÉÓÏÅÄÉÎÑÌÉÓØ Ë URI ÞÅÒÅÚ ÓÉÍ×ÏÌ "&" ×ÍÅÓÔÏ "?". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÓÔÒÏËÉ ÄÌÑ ÍÏÄÕÌÑ ngx_http_geo_module ÂÅÚ ÓÉÍ×ÏÌÁ ";" - ×Ï ×ËÌÀÞ£ÎÎÏÍ ÆÁÊÌÅ ÉÇÎÏÒÉÒÏ×ÁÌÉÓØ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_stub_status_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅÉÚ×ÅÓÔÎÙÊ ÆÏÒÍÁÔ ÌÏÇ-ÆÁÊÌÁ × ÄÉÒÅËÔÉ×Å access_log - ×ÙÚÙ×ÁÌ segmentation fault. - - *) äÏÂÁ×ÌÅÎÉÅ: ÎÏ×ÙÊ ÐÁÒÁÍÅÔÒ document_root × ÄÉÒÅËÔÉ×Å fastcgi_params. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á fastcgi_redirect_errors. - - *) äÏÂÁ×ÌÅÎÉÅ: ÎÏ×ÙÊ ÍÏÄÉÆÉËÁÔÏÒ break × ÄÉÒÅËÔÉ×Å rewrite ÐÏÚ×ÏÌÑÅÔ - ÐÒÅËÒÁÔÉÔØ ÃÉËÌ rewrite/location É ÕÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÅËÕÝÕÀ - ËÏÎÆÉÇÕÒÁÃÉÀ ÄÌÑ ÚÁÐÒÏÓÁ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.17 03.02.2005 - - *) éÚÍÅÎÅÎÉÅ: ÍÏÄÕÌØ ngx_http_rewrite_module ÐÏÌÎÏÓÔØÀ ÐÅÒÅÐÉÓÁÎ. - ôÅÐÅÒØ ÍÏÖÎÏ ÄÅÌÁÔØ ÒÅÄÉÒÅËÔÙ, ×ÏÚ×ÒÁÝÁÔØ ËÏÄÙ ÏÛÉÂÏË É ÐÒÏ×ÅÒÑÔØ - ÐÅÒÅÍÅÎÎÙÅ É ÒÅÆÅÒÅÒÙ. üÔÉ ÄÉÒÅËÔÉ×Ù ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ×ÎÕÔÒÉ - location. äÉÒÅËÔÉ×Á redirect ÕÐÒÁÚÄÎÅÎÁ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_geo_module. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù proxy_set_x_var É fastcgi_set_var. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ËÏÎÆÉÇÕÒÁÃÉÑ location Ó ÍÏÄÉÆÉËÁÔÏÒÏÍ "=" ÍÏÇÌÁ - ÉÓÐÏÌØÚÏ×ÁÔØÓÑ × ÄÒÕÇÏÍ location. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÁ×ÉÌØÎÙÊ ÔÉÐ ÏÔ×ÅÔÁ ×ÙÓÔÁ×ÌÑÌÓÑ ÔÏÌØËÏ ÄÌÑ ÚÁÐÒÏÓÏ×, - Õ ËÏÔÏÒÙÈ × ÒÁÓÛÉÒÅÎÉÉ ÂÙÌÉ ÔÏÌØËÏ ÍÁÌÅÎØËÉÅ ÂÕË×Ù. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÄÌÑ location ÕÓÔÁÎÏ×ÌÅÎ proxy_pass ÉÌÉ - fastcgi_pass, É ÄÏÓÔÕÐ Ë ÎÅÍÕ ÚÁÐÒÅÝÁÌÓÑ, Á ÏÛÉÂËÁ ÐÅÒÅÎÁÐÒÁ×ÌÑÌÁÓØ - ÎÁ ÓÔÁÔÉÞÅÓËÕÀ ÓÔÒÁÎÉÃÕ, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÐÒÏËÓÉÒÏ×ÁÎÎÏÍ ÏÔ×ÅÔÅ × ÚÁÇÏÌÏ×ËÅ "Location" - ÐÅÒÅÄÁ×ÁÌÓÑ ÏÔÎÏÓÉÔÅÌØÎÙÊ URL, ÔÏ Ë ÎÅÍÕ ÄÏÂÁ×ÌÑÌÏÓØ ÉÍÑ ÈÏÓÔÁ É - ÓÌÜÛ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ Linux × ÌÏÇ ÎÅ ÚÁÐÉÓÙ×ÁÌÓÑ ÔÅËÓÔ ÓÉÓÔÅÍÎÏÊ ÏÛÉÂËÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.16 25.01.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÏÔ×ÅÔ ÐÅÒÅÄÁ×ÁÌÓÑ chunk'ÁÍÉ, ÔÏ ÐÒÉ ÚÁÐÒÏÓÅ HEAD - ×ÙÄÁ×ÁÌÓÑ ÚÁ×ÅÒÛÁÀÝÉÊ chunk. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÚÁÇÏÌÏ×ÏË "Connection: keep-alive" ×ÙÄÁ×ÁÌÓÑ, ÄÁÖÅ ÅÓÌÉ - ÄÉÒÅËÔÉ×Á keepalive_timeout ÚÁÐÒÅÝÁÌÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅ keep-alive. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ÍÏÄÕÌÅ ngx_http_fastcgi_module ×ÙÚÙ×ÁÌÉ + *) Изменение: только поÑледний параметр в директиве index может быть + абÑолютным. + + *) Добавление: в директиве rewrite могут иÑпользоватьÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ. + + *) Добавление: директива internal. + + *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, + SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, + SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER. + + *) Изменение: nginx теперь передаёт неверные Ñтроки в заголовках запроÑа + клиента и ответа бÑкенда. + + *) ИÑправление: еÑли бÑкенд долго не передавал ответ и send_timeout был + меньше, чем proxy_read_timeout, то клиенту возвращалÑÑ Ð¾Ñ‚Ð²ÐµÑ‚ 408. + + *) ИÑправление: еÑли бÑкенд передавал неверную Ñтроку в заголовке + ответа, то проиÑходил segmentation fault; ошибка поÑвилаÑÑŒ в 0.1.26. + + *) ИÑправление: при иÑпользовании отказоуÑтойчивой конфигурации в + FastCGI мог проиÑходить segmentation fault. + + *) ИÑправление: директива expires не удалÑла уже уÑтановленные Ñтроки + заголовка "Expires" и "Cache-Control". + + *) ИÑправление: nginx не учитывал завершающую точку в Ñтроке заголовка + запроÑа "Host". + + *) ИÑправление: модуль ngx_http_auth_module не работал на Linux. + + *) ИÑправление: директива rewrite неверно работала, еÑли в запроÑе + приÑутÑтвовали аргументы. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° MacOS X. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.28 08.04.2005 + + *) ИÑправление: при прокÑировании больших файлов nginx Ñильно нагружал + процеÑÑор. + + *) ИÑправление: nginx не ÑобиралÑÑ gcc 4.0 на Linux. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.27 28.03.2005 + + *) Добавление: параметр blocked в директиве valid_referers. + + *) Изменение: ошибки обработки заголовка запроÑа теперь запиÑываютÑÑ Ð½Ð° + уровне info, в лог также запиÑываетÑÑ Ð¸Ð¼Ñ Ñервера и Ñтроки заголовка + запроÑа "Host" и "Referer". + + *) Изменение: при запиÑи ошибок в лог запиÑываетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ Ñтрока + заголовка запроÑа "Host". + + *) Добавление: директива proxy_pass_unparsed_uri. Ð¡Ð¿ÐµÑ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° + Ñимволов "://" в URI, Ð²Ð²ÐµÐ´Ñ‘Ð½Ð½Ð°Ñ Ð² верÑии 0.1.11, теперь упразднена. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° FreeBSD и Linux, еÑли был указан + параметр конфигурации --without-ngx_http_auth_basic_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.26 22.03.2005 + + *) Изменение: неверные Ñтроки заголовка, переданные клиентом, теперь + игнорируетÑÑ Ð¸ запиÑываютÑÑ Ð² error_log на уровне info. + + *) Изменение: при запиÑи ошибок в лог запиÑываетÑÑ Ñ‚Ð°ÐºÐ¶Ðµ Ð¸Ð¼Ñ Ñервера, + при обращении к которому произошла ошибка. + + *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic + и auth_basic_user_file. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.25 19.03.2005 + + *) ИÑправление: nginx не работал на Linux parisc. + + *) Добавление: nginx теперь не запуÑкаетÑÑ Ð¿Ð¾Ð´ FreeBSD, еÑли значение + sysctl kern.ipc.somaxconn Ñлишком большое. + + *) ИÑправление: еÑли модуль ngx_http_index_module делал внутреннее + перенаправление запроÑа в модули ngx_http_proxy_module или + ngx_http_fastcgi_module, то файл индекÑа не закрывалÑÑ Ð¿Ð¾Ñле + обÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + *) Добавление: директива proxy_pass может иÑпользоватьÑÑ Ð² location, + заданных регулÑрным выражением. + + *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает + уÑÐ»Ð¾Ð²Ð¸Ñ Ð²Ð¸Ð´Ð° "if ($HTTP_USER_AGENT ~ MSIE)". + + *) ИÑправление: nginx очень медленно запуÑкалÑÑ Ð¿Ñ€Ð¸ большом количеÑтве + адреÑов и иÑпользовании текÑтовых значений в директиве geo. + + *) Изменение: Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ в директиве geo нужно указывать, как $name. + Прежний вариант без "$" пока работает, но вÑкоре будет убран. + + *) Добавление: параметр лога "%{VARIABLE}v". + + *) Добавление: директива "set $name value". + + *) ИÑправление: ÑовмеÑтимоÑÑ‚ÑŒ Ñ gcc 4.0. + + *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.24 04.03.2005 + + *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные + QUERY_STRING и DOCUMENT_URI. + + *) ИÑправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 + на ÑущеÑтвующий каталог, еÑли Ñтот каталог был указан как alias. + + *) ИÑправление: модуль ngx_http_ssi_filter_module неправильно работал + при больших ответах. + + *) ИÑправление: отÑутÑтвие Ñтроки заголовка "Referer" вÑегда ÑчиталоÑÑŒ + правильным referrer'ом. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.23 01.03.2005 + + *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, + ssi_silent_errors и ssi_min_file_chunk. ПоддерживаютÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ 'echo + var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'. + + *) Добавление: параметр лога %request_time. + + *) Добавление: еÑли Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ñ€Ð¸ÑˆÑ‘Ð» без Ñтроки заголовка "Host", то + директива proxy_preserve_host уÑтанавливает в качеÑтве Ñтого + заголовка первое Ð¸Ð¼Ñ Ñервера из директивы server_name. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð½Ð° платформах, отличных от i386, + amd64, sparc и ppc; ошибка поÑвилаÑÑŒ в 0.1.22. + + *) ИÑправление: модуль ngx_http_autoindex_module теперь показывает + информацию не о ÑимволичеÑком линке, а о файле или каталоге, на + который он указывает. + + *) ИÑправление: еÑли клиенту ничего не передавалоÑÑŒ, то параметр + %apache_length запиÑывал в лог отрицательную длину заголовка ответа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.22 22.02.2005 + + *) ИÑправление: модуль ngx_http_stub_status_module показывал неверную + ÑтатиÑтику Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ñ‹Ñ… Ñоединений, еÑли иÑпользовалоÑÑŒ + прокÑирование или FastCGI-Ñервер. + + *) ИÑправление: на Linux и Solaris уÑтановочные пути были неверно + заключены в кавычки; ошибка поÑвилаÑÑŒ в 0.1.21. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.21 22.02.2005 + + *) ИÑправление: модуль ngx_http_stub_status_module показывал неверную + ÑтатиÑтику при иÑпользовании метода rtsig или при иÑпользовании + неÑкольких рабочих процеÑÑов на SMP машине. + + *) ИÑправление: nginx не ÑобиралÑÑ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñтором icc под ЛинукÑом или + еÑли библиотека zlib-1.2.x ÑобиралаÑÑŒ из иÑходных текÑтов. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ NetBSD 2.0. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.20 17.02.2005 + + *) Добавление: новые параметры script_filename и remote_port в директиве + fastcgi_params. + + *) ИÑправление: неправильно обрабатывалÑÑ Ð¿Ð¾Ñ‚Ð¾Ðº stderr от + FastCGI-Ñервера. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.19 16.02.2005 + + *) ИÑправление: еÑли в запроÑе еÑÑ‚ÑŒ нуль, то Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… запроÑов + теперь возвращаетÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° 404. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ NetBSD 2.0. + + *) ИÑправление: во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ»Ð° запроÑа клиента в SSL Ñоединении + мог произойти таймаут. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.18 09.02.2005 + + *) Изменение: Ð´Ð»Ñ ÑовмеÑтимоÑти Ñ Solaris 10 в директивах devpoll_events + и devpoll_changes Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию уменьшены Ñ 512 до 32. + + *) ИÑправление: директивы proxy_set_x_var и fastcgi_set_var не + наÑледовалиÑÑŒ. + + *) ИÑправление: в директиве rewrite, возвращающей редирект, аргументы + приÑоединÑлиÑÑŒ к URI через Ñимвол "&" вмеÑто "?". + + *) ИÑправление: Ñтроки Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ ngx_http_geo_module без Ñимвола ";" во + включённом файле игнорировалиÑÑŒ. + + *) Добавление: модуль ngx_http_stub_status_module. + + *) ИÑправление: неизвеÑтный формат лог-файла в директиве access_log + вызывал segmentation fault. + + *) Добавление: новый параметр document_root в директиве fastcgi_params. + + *) Добавление: директива fastcgi_redirect_errors. + + *) Добавление: новый модификатор break в директиве rewrite позволÑет + прекратить цикл rewrite/location и уÑтанавливает текущую конфигурацию + Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.17 03.02.2005 + + *) Изменение: модуль ngx_http_rewrite_module полноÑтью перепиÑан. Теперь + можно делать редиректы, возвращать коды ошибок и проверÑÑ‚ÑŒ переменные + и рефереры. Ðти директивы можно иÑпользовать внутри location. + Директива redirect упразднена. + + *) Добавление: модуль ngx_http_geo_module. + + *) Добавление: директивы proxy_set_x_var и fastcgi_set_var. + + *) ИÑправление: ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ location Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ "=" могла + иÑпользоватьÑÑ Ð² другом location. + + *) ИÑправление: правильный тип ответа выÑтавлÑлÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов, у + которых в раÑширении были только маленькие буквы. + + *) ИÑправление: еÑли Ð´Ð»Ñ location уÑтановлен proxy_pass или + fastcgi_pass, и доÑтуп к нему запрещалÑÑ, а ошибка перенаправлÑлаÑÑŒ + на ÑтатичеÑкую Ñтраницу, то проиÑходил segmentation fault. + + *) ИÑправление: еÑли в прокÑированном ответе в заголовке "Location" + передавалÑÑ Ð¾Ñ‚Ð½Ð¾Ñительный URL, то к нему добавлÑлоÑÑŒ Ð¸Ð¼Ñ Ñ…Ð¾Ñта и + ÑлÑш; ошибка поÑвилаÑÑŒ в 0.1.14. + + *) ИÑправление: на Linux в лог не запиÑывалÑÑ Ñ‚ÐµÐºÑÑ‚ ÑиÑтемной ошибки. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.16 25.01.2005 + + *) ИÑправление: еÑли ответ передавалÑÑ chunk'ами, то при запроÑе HEAD + выдавалÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°ÑŽÑ‰Ð¸Ð¹ chunk. + + *) ИÑправление: заголовок "Connection: keep-alive" выдавалÑÑ, даже еÑли + директива keepalive_timeout запрещала иÑпользование keep-alive. + + *) ИÑправление: ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ SSL ÓÖÁÔÙÊ ÏÔ×ÅÔ ÍÏÇ ÐÅÒÅÄÁ×ÁÔØÓÑ ÎÅ - ÄÏ ËÏÎÃÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÐÃÉÉ TCP_NODELAY, TCP_NOPSUH É TCP_CORK, ÓÐÅÃÉÆÉÞÎÙÅ - ÄÌÑ TCP ÓÏËÅÔÏ×, ÎÅ ÉÓÐÏÌØÚÕÀÔÓÑ ÄÌÑ unix domain ÓÏËÅÔÏ×. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á rewrite ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÅÒÅÚÁÐÉÓÙ×ÁÎÉÅ - ÁÒÇÕÍÅÎÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ ÚÁÐÒÏÓ POST Ó ÚÁÇÏÌÏ×ËÏÍ "Content-Length: 0" - ×ÏÚ×ÒÁÝÁÌÓÑ ÏÔ×ÅÔ 400; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.15 19.01.2005 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ ÓÏÅÄÉÎÅÎÉÑ Ó FastCGI-ÓÅÒ×ÅÒÏÍ ×ÙÚÙ×ÁÌÁ + *) ИÑправление: при иÑпользовании SSL Ñжатый ответ мог передаватьÑÑ Ð½Ðµ + до конца. + + *) ИÑправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, Ñпецифичные + Ð´Ð»Ñ TCP Ñокетов, не иÑпользуютÑÑ Ð´Ð»Ñ unix domain Ñокетов. + + *) Добавление: директива rewrite поддерживает перезапиÑывание + аргументов. + + *) ИÑправление: на Ð·Ð°Ð¿Ñ€Ð¾Ñ POST Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð¼ "Content-Length: 0" + возвращалÑÑ Ð¾Ñ‚Ð²ÐµÑ‚ 400; ошибка поÑвилаÑÑŒ в 0.1.14. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.15 19.01.2005 + + *) ИÑправление: ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ FastCGI-Ñервером вызывала segmentation fault. - *) éÓÐÒÁ×ÌÅÎÉÅ: ËÏÒÒÅËÔÎÁÑ ÏÂÒÁÂÏÔËÁ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ, × ËÏÔÏÒÏÍ - ÞÉÓÌÏ ×ÙÄÅÌÅÎÎÙÈ ÞÁÓÔÅÊ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ÐÏÄÓÔÁÎÏ×ÏË. - - *) äÏÂÁ×ÌÅÎÉÅ: location, ËÏÔÏÒÙÊ ÐÅÒÅÄÁ£ÔÓÑ FastCGI-ÓÅÒ×ÅÒÕ, ÍÏÖÅÔ ÂÙÔØ - ÚÁÄÁÎ Ó ÐÏÍÏÝØÀ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ FastCGI REQUEST_URI ÔÅÐÅÒØ ÐÅÒÅÄÁ£ÔÓÑ ×ÍÅÓÔÅ Ó - ÁÒÇÕÍÅÎÔÁÍÉ É × ÔÏÍ ×ÉÄÅ, × ËÏÔÏÒÏÍ ÂÙÌ ÐÏÌÕÞÅÎ ÏÔ ËÌÉÅÎÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ × location ÎÕÖÎÏ - ÂÙÌÏ ÓÏÂÉÒÁÔØ nginx ×ÍÅÓÔÅ Ó ngx_http_rewrite_module. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÜËÅÎÄ ÓÌÕÛÁÌ ÎÁ 80-ÏÍ ÐÏÒÔÕ, ÔÏ ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ - ÄÉÒÅËÔÉ×Ù "proxy_preserve_host on" × ÚÁÇÏÌÏ×ËÅ "Host" ÕËÁÚÙ×ÁÌÓÑ - ÔÁËÖÅ ÐÏÒÔ 80; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.14. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÚÁÄÁÔØ ÏÄÉÎÁËÏ×ÙÅ ÐÕÔÉ × ÐÁÒÁÍÅÔÒÁÈ - Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ --http-client-body-temp-path=PATH É - --http-proxy-temp-path=PATH ÉÌÉ --http-client-body-temp-path=PATH É - --http-fastcgi-temp-path=PATH, ÔÏ ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.14 18.01.2005 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ Á×ÔÏËÏÎÆÉÇÕÒÁÃÉÉ - --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH É + *) ИÑправление: ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ° регулÑрного выражениÑ, в котором + чиÑло выделенных чаÑтей не Ñовпадает Ñ Ñ‡Ð¸Ñлом подÑтановок. + + *) Добавление: location, который передаётÑÑ FastCGI-Ñерверу, может быть + задан Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ регулÑрного выражениÑ. + + *) ИÑправление: параметр FastCGI REQUEST_URI теперь передаётÑÑ Ð²Ð¼ÐµÑте Ñ + аргументами и в том виде, в котором был получен от клиента. + + *) ИÑправление: Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрных выражений в location нужно + было Ñобирать nginx вмеÑте Ñ ngx_http_rewrite_module. + + *) ИÑправление: еÑли бÑкенд Ñлушал на 80-ом порту, то при иÑпользовании + директивы "proxy_preserve_host on" в заголовке "Host" указывалÑÑ + также порт 80; ошибка поÑвилаÑÑŒ в 0.1.14. + + *) ИÑправление: еÑли задать одинаковые пути в параметрах + автоконфигурации --http-client-body-temp-path=PATH и + --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и + --http-fastcgi-temp-path=PATH, то проиÑходил segmentation fault. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.14 18.01.2005 + + *) Добавление: параметры автоконфигурации + --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и --http-fastcgi-temp-path=PATH - *) éÚÍÅÎÅÎÉÅ: ÉÍÑ ËÁÔÁÌÏÇÁ Ó ×ÒÅÍÅÎÎÙÍÉ ÆÁÊÌÁÍÉ, ÓÏÄÅÒÖÁÝÉÅ ÔÅÌÏ - ÚÁÐÒÏÓÁ ËÌÉÅÎÔÁ, ÚÁÄÁ£ÔÓÑ ÄÉÒÅËÔÉ×ÏÊ client_body_temp_path, ÐÏ - ÕÍÏÌÞÁÎÉÀ <prefix>/client_body_temp. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_fastcgi_module É ÄÉÒÅËÔÉ×Ù fastcgi_pass, - fastcgi_root, fastcgi_index, fastcgi_params, - fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, - fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, - fastcgi_busy_buffers_size, fastcgi_temp_path, - fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, - fastcgi_next_upstream É fastcgi_x_powered_by. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ "[alert] zero size buf"; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × + *) Изменение: Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ файлами, Ñодержащие тело запроÑа + клиента, задаётÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð¾Ð¹ client_body_temp_path, по умолчанию + <prefix>/client_body_temp. + + *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, + fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout, + fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat, + fastcgi_header_buffer_size, fastcgi_buffers, + fastcgi_busy_buffers_size, fastcgi_temp_path, + fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, + fastcgi_next_upstream и fastcgi_x_powered_by. + + *) ИÑправление: ошибка "[alert] zero size buf"; ошибка поÑвилаÑÑŒ в 0.1.3. - *) éÚÍÅÎÅÎÉÅ: × ÄÉÒÅËÔÉ×Å proxy_pass ÎÕÖÎÏ ÏÂÑÚÁÔÅÌØÎÏ ÕËÁÚÙ×ÁÔØ URI - ÐÏÓÌÅ ÉÍÅÎÉ ÈÏÓÔÁ. - - *) éÚÍÅÎÅÎÉÅ: ÅÓÌÉ × URI ×ÓÔÒÅÞÁÌÓÑ ÓÉÍ×ÏÌ %3F, ÔÏ ÏÎ ÓÞÉÔÁÌÓÑ ÎÁÞÁÌÏÍ - ÓÔÒÏËÉ ÁÒÇÕÍÅÎÔÏ×. - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÏÄÄÅÒÖËÁ unix domain ÓoËÅÔÏ× × ÍÏÄÕÌÅ + *) Изменение: в директиве proxy_pass нужно обÑзательно указывать URI + поÑле имени хоÑта. + + *) Изменение: еÑли в URI вÑтречалÑÑ Ñимвол %3F, то он ÑчиталÑÑ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ + Ñтроки аргументов. + + *) Добавление: поддержка unix domain Ñoкетов в модуле ngx_http_proxy_module. - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù ssl_engine É ssl_ciphers. - óÐÁÓÉÂÏ óÅÒÇÅÀ óË×ÏÒÃÏ×Õ ÚÁ SSL-ÁËÓÅÌÅÒÁÔÏÒ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.13 21.12.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Ù server_names_hash É + *) Добавление: директивы ssl_engine и ssl_ciphers. + СпаÑибо Сергею Скворцову за SSL-акÑелератор. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.13 21.12.2004 + + *) Добавление: директивы server_names_hash и server_names_hash_threshold. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÍÅÎÁ *.domain.tld × ÄÉÒÅËÔÉ×Å server_name ÎÅ ÒÁÂÏÔÁÌÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length ÚÁÐÉÓÙ×ÁÌ ÎÅ×ÅÒÎÕÀ ÄÌÉÎÕ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.12 06.12.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒ ÌÏÇÁ %request_length. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ /dev/poll, select É poll ÎÁ - ÐÌÁÔÆÏÒÍÁÈ, ÇÄÅ ×ÏÚÍÏÖÎÙ ÌÏÖÎÙÅ ÓÒÁÂÁÔÙ×ÁÎÉÑ ÕËÁÚÁÎÎÙÈ ÍÅÔÏÄÏ×, - ÍÏÇÌÉ ÂÙÔØ ÄÌÉÔÅÌØÎÙÅ ÚÁÄÅÒÖËÉ ÐÒÉ ÏÂÒÁÂÏÔËÅ ÚÁÐÒÏÓÁ ÐÏ keep-alive - ÓÏÅÄÉÎÅÎÉÀ. îÁÂÌÀÄÁÌÏÓØ ÐÏ ËÒÁÊÎÅÊ ÍÅÒÅ ÎÁ Solaris Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ + *) ИÑправление: имена *.domain.tld в директиве server_name не работали. + + *) ИÑправление: параметр лога %request_length запиÑывал неверную длину. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.12 06.12.2004 + + *) Добавление: параметр лога %request_length. + + *) ИÑправление: при иÑпользовании /dev/poll, select и poll на + платформах, где возможны ложные ÑÑ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ñ… методов, могли + быть длительные задержки при обработке запроÑа по keep-alive + Ñоединению. ÐаблюдалоÑÑŒ по крайней мере на Solaris Ñ Ð¸Ñпользованием /dev/poll. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á send_lowat ÉÇÎÏÒÉÒÕÅÔÓÑ ÎÁ Linux, ÔÁË ËÁË - Linux ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÏÐÃÉÀ SO_SNDLOWAT. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.11 02.12.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á worker_priority. - - *) éÚÍÅÎÅÎÉÅ: ÐÏÄ FreeBSD ÄÉÒÅËÔÉ×Ù tcp_nopush É tcp_nodelay ×ÍÅÓÔÅ - ×ÌÉÑÀÔ ÎÁ ÐÅÒÅÄÁÞÕ ÏÔ×ÅÔÁ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ×ÙÚÙ×ÁÌ initgroups(). - óÐÁÓÉÂÏ áÎÄÒÅÀ óÉÔÎÉËÏ×Õ É áÎÄÒÅÀ îÉÇÍÁÔÕÌÉÎÕ. - - *) éÚÍÅÎÅÎÉÅ: ngx_http_auto_index_module ÔÅÐÅÒØ ×ÙÄÁ£Ô ÒÁÚÍÅÒ ÆÁÊÌÏ× × - ÂÁÊÔÁÈ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ngx_http_auto_index_module ×ÏÚ×ÒÁÝÁÌ ÏÛÉÂËÕ 500, ÅÓÌÉ × - ËÁÔÁÌÏÇÅ ÅÓÔØ ÂÉÔÙÊ symlink. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÆÁÊÌÙ ÂÏÌØÛÅ 4G ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ + *) ИÑправление: директива send_lowat игнорируетÑÑ Ð½Ð° Linux, так как + Linux не поддерживает опцию SO_SNDLOWAT. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.11 02.12.2004 + + *) Добавление: директива worker_priority. + + *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вмеÑте + влиÑÑŽÑ‚ на передачу ответа. + + *) ИÑправление: nginx не вызывал initgroups(). + СпаÑибо Ðндрею Ситникову и Ðндрею Ðигматулину. + + *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в + байтах. + + *) ИÑправление: ngx_http_auto_index_module возвращал ошибку 500, еÑли в + каталоге еÑÑ‚ÑŒ битый symlink. + + *) ИÑправление: файлы больше 4G не передавалиÑÑŒ Ñ Ð¸Ñпользованием sendfile. - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ ÂÜËÅÎÄ ÒÅÚÏÌ×ÉÌÓÑ × ÎÅÓËÏÌØËÏ ÁÄÒÅÓÏ× É ÐÒÉ - ÏÖÉÄÁÎÉÉ ÏÔ ÎÅÇÏ ÏÔ×ÅÔÁ ÐÒÏÉÓÈÏÄÉÌÁ ÏÛÉÂËÁ, ÔÏ ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÍÅÔÏÄÁ /dev/poll ÒÁÂÏÞÉÊ ÐÒÏÃÅÓÓ ÍÏÇ - ÚÁ×ÅÒÛÉÔØÓÑ Ó ÓÏÏÂÝÅÎÉÅÍ "unknown cycle". - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ "close() channel failed". - - *) éÓÐÒÁ×ÌÅÎÉÅ: Á×ÔÏÍÁÔÉÞÅÓËÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÇÒÕÐÐ nobody É nogroup. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á send_lowat ÎÅ ÒÁÂÏÔÁÌÁ ÎÁ Linux. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ËÏÎÆÉÇÕÒÁÃÉÉ ÎÅ ÂÙÌÏ ÒÁÚÄÅÌÁ events, ÔÏ - ÐÒÏÉÓÈÏÄÉÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: nginx ÎÅ ÓÏÂÉÒÁÌÓÑ ÐÏÄ OpenBSD. - - *) éÓÐÒÁ×ÌÅÎÉÅ: Ä×ÏÊÎÙÅ ÓÌÜÛÙ × "://" × URI ÐÒÅ×ÒÁÝÁÌÉÓØ × ":/". - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.10 26.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÚÁÐÒÏÓÅ ÂÅÚ ÁÒÇÕÍÅÎÔÏ× ÅÓÔØ "//", "/./", "/../" - ÉÌÉ "%XX", ÔÏ ÔÅÒÑÌÓÑ ÐÏÓÌÅÄÎÉÊ ÓÉÍ×ÏÌ × ÓÔÒÏËÅ ÚÁÐÒÏÓÁ; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.1.9. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÉÓÐÒÁ×ÌÅÎÉÅ × ×ÅÒÓÉÉ 0.1.9 ÄÌÑ ÆÁÊÌÏ× ÂÏÌØÛÅ 2G ÎÁ - Linux ÎÅ ÒÁÂÏÔÁÌÏ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.9 25.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÅÓÌÉ × ÚÁÐÒÏÓÅ ÅÓÔØ "//", "/./", "/../" ÉÌÉ "%XX", ÔÏ - ÐÒÏËÓÉÒÕÅÍÙÊ ÚÁÐÒÏÓ ÐÅÒÅÄÁ×ÁÌÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÏ×. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÓÖÁÔÉÉ ÂÏÌØÛÉÈ ÏÔ×ÅÔÏ× ÉÎÏÇÄÁ ÏÎÉ ÐÅÒÅÄÁ×ÁÌÉÓØ ÎÅ - ÐÏÌÎÏÓÔØÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅ ÐÅÒÅÄÁ×ÁÌÉÓØ ÆÁÊÌÙ ÂÏÌØÛÅ 2G ÎÁ Linux, - ÎÅÐÏÄÄÅÒÖÉ×ÁÀÝÅÍ sendfile64(). - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ Linux ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ ÏÂÑÚÁÔÅÌØÎÏ - ÉÓÐÏÌØÚÏ×ÁÔØ ÐÁÒÁÍÅÔÒ --with-poll_module; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.8. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.8 20.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module ÐÒÉ ÐÏËÁÚÅ - ÄÌÉÎÎÙÈ ÉͣΠÆÁÊÌÏ×. - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÉÆÉËÁÔÏÒ "^~" × ÄÉÒÅËÔÉ×Å location. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_max_temp_file_size. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.7 12.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile, ÅÓÌÉ ÐÅÒÅÄÁ×ÁÅÍÙÊ ÆÁÊÌ - ÍÅÎÑÌÓÑ, ÔÏ ÍÏÇ ÐÒÏÉÚÏÊÔÉ segmentation fault ÎÁ FreeBSD; ÏÛÉÂËÁ - ÐÏÑ×ÉÌÁÓØ × 0.1.5. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.6 11.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÎÅËÏÔÏÒÙÈ ËÏÍÂÉÎÁÃÉÑÈ ÄÉÒÅËÔÉ× location c - ÒÅÇÕÌÑÒÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ ÉÓÐÏÌØÚÏ×ÁÌÁÓØ ËÏÎÆÉÇÕÒÁÃÉÑ ÎÅ ÉÚ ÔÏÇÏ + *) ИÑправление: еÑли бÑкенд резолвилÑÑ Ð² неÑколько адреÑов и при + ожидании от него ответа проиÑходила ошибка, то процеÑÑ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð»ÑÑ. + + *) ИÑправление: при иÑпользовании метода /dev/poll рабочий процеÑÑ Ð¼Ð¾Ð³ + завершитьÑÑ Ñ Ñообщением "unknown cycle". + + *) ИÑправление: ошибки "close() channel failed". + + *) ИÑправление: автоматичеÑкое определение групп nobody и nogroup. + + *) ИÑправление: директива send_lowat не работала на Linux. + + *) ИÑправление: еÑли в конфигурации не было раздела events, то + проиÑходил segmentation fault. + + *) ИÑправление: nginx не ÑобиралÑÑ Ð¿Ð¾Ð´ OpenBSD. + + *) ИÑправление: двойные ÑлÑшы в "://" в URI превращалиÑÑŒ в ":/". + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.10 26.11.2004 + + *) ИÑправление: еÑли в запроÑе без аргументов еÑÑ‚ÑŒ "//", "/./", "/../" + или "%XX", то терÑлÑÑ Ð¿Ð¾Ñледний Ñимвол в Ñтроке запроÑа; ошибка + поÑвилаÑÑŒ в 0.1.9. + + *) ИÑправление: иÑправление в верÑии 0.1.9 Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² больше 2G на Linux + не работало. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.9 25.11.2004 + + *) ИÑправление: еÑли в запроÑе еÑÑ‚ÑŒ "//", "/./", "/../" или "%XX", то + прокÑируемый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ð²Ð°Ð»ÑÑ Ð±ÐµÐ· аргументов. + + *) ИÑправление: при Ñжатии больших ответов иногда они передавалиÑÑŒ не + полноÑтью. + + *) ИÑправление: не передавалиÑÑŒ файлы больше 2G на Linux, + неподдерживающем sendfile64(). + + *) ИÑправление: на Linux при конфигурации Ñборки нужно было обÑзательно + иÑпользовать параметр --with-poll_module; ошибка поÑвилаÑÑŒ в 0.1.8. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.8 20.11.2004 + + *) ИÑправление: ошибка в модуле ngx_http_autoindex_module при показе + длинных имён файлов. + + *) Добавление: модификатор "^~" в директиве location. + + *) Добавление: директива proxy_max_temp_file_size. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.7 12.11.2004 + + *) ИÑправление: при иÑпользовании sendfile, еÑли передаваемый файл + менÑлÑÑ, то мог произойти segmentation fault на FreeBSD; ошибка + поÑвилаÑÑŒ в 0.1.5. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.6 11.11.2004 + + *) ИÑправление: при некоторых комбинациÑÑ… директив location c + регулÑрными выражениÑми иÑпользовалаÑÑŒ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ из того location. -éÚÍÅÎÅÎÉÑ × nginx 0.1.5 11.11.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ Solaris É Linux ÍÏÇÌÏ ÂÙÔØ ÏÞÅÎØ ÍÎÏÇÏ ÓÏÏÂÝÅÎÉÊ +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.5 11.11.2004 + + *) ИÑправление: на Solaris и Linux могло быть очень много Ñообщений "recvmsg() returned not enough data". - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ sendfile ÎÁ Solaris - ×ÏÚÎÉËÁÌÁ ÏÛÉÂËÁ "writev() failed (22: Invalid argument)". îÁ ÄÒÕÇÉÈ - ÐÌÁÔÆÏÒÍÁÈ, ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ sendfile, ÐÒÏÃÅÓÓ ÚÁÃÉËÌÉ×ÁÌÓÑ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile × ÒÅÖÉÍÅ ÐÒÏËÓÉ ÎÁ Solaris - ×ÏÚÎÉËÁÌ segmentation fault. - - *) éÓÐÒÁ×ÌÅÎÉÅ: segmentation fault ÎÁ Solaris. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÂÎÏ×ÌÅÎÉÅ ÉÓÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ ÎÁ ÌÅÔÕ ÎÅ ÒÁÂÏÔÁÌÏ ÎÁ + *) ИÑправление: в режиме прокÑи без иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ sendfile на Solaris + возникала ошибка "writev() failed (22: Invalid argument)". Ðа других + платформах, не поддерживающих sendfile, процеÑÑ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð»ÑÑ. + + *) ИÑправление: при иÑпользовании sendfile в режиме прокÑи на Solaris + возникал segmentation fault. + + *) ИÑправление: segmentation fault на Solaris. + + *) ИÑправление: обновление иÑполнÑемого файла на лету не работало на Linux. - *) éÓÐÒÁ×ÌÅÎÉÅ: × ÓÐÉÓËÅ ÆÁÊÌÏ×, ×ÙÄÁ×ÁÅÍÏÍ ÍÏÄÕÌÅÍ - ngx_http_autoindex_module, ÎÅ ÐÅÒÅËÏÄÉÒÏ×ÁÌÉÓØ ÐÒÏÂÅÌÙ, ËÁ×ÙÞËÉ É - ÚÎÁËÉ ÐÒÏÃÅÎÔÁ. - - *) éÚÍÅÎÅÎÉÅ: ÕÍÅÎØÛÅÎÉÅ ÏÐÅÒÁÃÉÊ ËÏÐÉÒÏ×ÁÎÉÑ. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á userid_p3p. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.4 26.10.2004 - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_autoindex_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.3 25.10.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ngx_http_autoindex_module É ÄÉÒÅËÔÉ×Á autoindex. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á proxy_set_x_url. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ - ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ sendfile. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.2 21.10.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÐÁÒÁÍÅÔÒÙ --user=USER, --group=GROUP É - --with-ld-opt=OPTIONS × configure. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á server_name ÐÏÄÄÅÒÖÉ×ÁÅÔ *.domain.tld. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÕÌÕÞÛÅÎÁ ÐÅÒÅÎÏÓÉÍÏÓÔØ ÎÁ ÎÅÉÚ×ÅÓÔÎÙÅ ÐÌÁÔÆÏÒÍÙ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÅÌØÚÑ ÐÅÒÅËÏÎÆÉÇÕÒÉÒÏ×ÁÔØ nginx, ÅÓÌÉ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ - ÆÁÊÌ ÕËÁÚÁÎ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ × 0.1.1. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ÐÒÏËÓÉÒÏ×ÁÎÉÉ ÍÏÇ ÐÒÉ×ÅÓÔÉ Ë ÚÁÃÉËÌÉ×ÁÎÉÀ, ÅÓÌÉ - ÎÅ ÉÓÐÏÌØÚÏ×ÁÌÓÑ sendfile. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ sendfile ÔÅËÓÔ ÏÔ×ÅÔÁ ÎÅ - ÐÅÒÅËÏÄÉÒÏ×ÁÌÓÑ ÓÏÇÌÁÓÎÏ ÄÉÒÅËÔÉ×ÁÍ ÍÏÄÕÌÑ charset; ÏÛÉÂËÁ ÐÏÑ×ÉÌÁÓØ - × 0.1.1. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÞÅÎØ ÒÅÄËÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ kqueue. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÍÏÄÕÌØ ÓÖÁÔÉÑ ÓÖÉÍÁÌ ÕÖÅ ÓÖÁÔÙÅ ÏÔ×ÅÔÙ, ÐÏÌÕÞÅÎÎÙÅ ÐÒÉ - ÐÒÏËÓÉÒÏ×ÁÎÉÉ. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.1 11.10.2004 - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á gzip_types. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á tcp_nodelay. - - *) äÏÂÁ×ÌÅÎÉÅ: ÄÉÒÅËÔÉ×Á send_lowat ÒÁÂÏÔÁÅÔ ÎÅ ÔÏÌØËÏ ÎÁ ÐÌÁÔÆÏÒÍÁÈ, - ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ kqueue NOTE_LOWAT, ÎÏ É ÎÁ ×ÓÅÈ, ÐÏÄÄÅÒÖÉ×ÁÀÝÉÈ + *) ИÑправление: в ÑпиÑке файлов, выдаваемом модулем + ngx_http_autoindex_module, не перекодировалиÑÑŒ пробелы, кавычки и + знаки процента. + + *) Изменение: уменьшение операций копированиÑ. + + *) Добавление: директива userid_p3p. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.4 26.10.2004 + + *) ИÑправление: ошибка в модуле ngx_http_autoindex_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.3 25.10.2004 + + *) Добавление: модуль ngx_http_autoindex_module и директива autoindex. + + *) Добавление: директива proxy_set_x_url. + + *) ИÑправление: модуль прокÑировании мог привеÑти к зацикливанию, еÑли + не иÑпользовалÑÑ sendfile. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.2 21.10.2004 + + *) Добавление: параметры --user=USER, --group=GROUP и + --with-ld-opt=OPTIONS в configure. + + *) Добавление: директива server_name поддерживает *.domain.tld. + + *) ИÑправление: улучшена переноÑимоÑÑ‚ÑŒ на неизвеÑтные платформы. + + *) ИÑправление: Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ nginx, еÑли конфигурационный + файл указан в командной Ñтроке; ошибка поÑвилаÑÑŒ в 0.1.1. + + *) ИÑправление: модуль прокÑировании мог привеÑти к зацикливанию, еÑли + не иÑпользовалÑÑ sendfile. + + *) ИÑправление: при иÑпользовании sendfile текÑÑ‚ ответа не + перекодировалÑÑ ÑоглаÑно директивам Ð¼Ð¾Ð´ÑƒÐ»Ñ charset; ошибка поÑвилаÑÑŒ + в 0.1.1. + + *) ИÑправление: очень Ñ€ÐµÐ´ÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при обработке kqueue. + + *) ИÑправление: модуль ÑÐ¶Ð°Ñ‚Ð¸Ñ Ñжимал уже Ñжатые ответы, полученные при + прокÑировании. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.1 11.10.2004 + + *) Добавление: директива gzip_types. + + *) Добавление: директива tcp_nodelay. + + *) Добавление: директива send_lowat работает не только на платформах, + поддерживающих kqueue NOTE_LOWAT, но и на вÑех, поддерживающих SO_SNDLOWAT. - *) äÏÂÁ×ÌÅÎÉÅ: ÜÍÕÌÑÃÉÑ setproctitle() ÄÌÑ Linux É Solaris. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ ÐÒÉ ÐÅÒÅÐÉÓÙ×ÁÎÉÉ ÚÁÇÏÌÏ×ËÁ "Location" ÐÒÉ - ÐÒÏËÓÉÒÏ×ÁÎÉÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÁ × ÍÏÄÕÌÅ ngx_http_chunked_module, ÐÒÉ×ÏÄÉ×ÛÁÑ Ë - ÚÁÃÉËÌÉ×ÁÎÉÀ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÏÛÉÂËÉ × ÍÏÄÕÌÅ /dev/poll. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÐÒÉ ÐÒÏËÓÉÒÏ×ÁÎÉÉ É ÉÓÐÏÌØÚÏ×ÁÎÉÉ ×ÒÅÍÅÎÎÙÈ ÆÁÊÌÏ× - ÏÔ×ÅÔÙ ÐÏÒÔÉÌÉÓØ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÂÜËÅÎÄÕ ÐÅÒÅÄÁ×ÁÌÉÓØ ÚÁÐÒÏÓÙ Ó ÎÅÐÅÒÅËÏÄÉÒÏ×ÁÎÎÙÍÉ - ÓÉÍ×ÏÌÁÍÉ. - - *) éÓÐÒÁ×ÌÅÎÉÅ: ÎÁ Linux 2.4 ÐÒÉ ËÏÎÆÉÇÕÒÁÃÉÉ ÓÂÏÒËÉ ÎÕÖÎÏ ÂÙÌÏ - ÏÂÑÚÁÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÁÒÁÍÅÔÒ --with-poll_module. - - -éÚÍÅÎÅÎÉÑ × nginx 0.1.0 04.10.2004 - - *) ðÅÒ×ÁÑ ÐÕÂÌÉÞÎÏ ÄÏÓÔÕÐÎÁÑ ×ÅÒÓÉÑ. - + *) Добавление: ÑмулÑÑ†Ð¸Ñ setproctitle() Ð´Ð»Ñ Linux и Solaris. + + *) ИÑправление: ошибка при перепиÑывании заголовка "Location" при + прокÑировании. + + *) ИÑправление: ошибка в модуле ngx_http_chunked_module, Ð¿Ñ€Ð¸Ð²Ð¾Ð´Ð¸Ð²ÑˆÐ°Ñ Ðº + зацикливанию. + + *) ИÑправление: ошибки в модуле /dev/poll. + + *) ИÑправление: при прокÑировании и иÑпользовании временных файлов + ответы портилиÑÑŒ. + + *) ИÑправление: бÑкенду передавалиÑÑŒ запроÑÑ‹ Ñ Ð½ÐµÐ¿ÐµÑ€ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ + Ñимволами. + + *) ИÑправление: на Linux 2.4 при конфигурации Ñборки нужно было + обÑзательно иÑпользовать параметр --with-poll_module. + + +Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² nginx 0.1.0 04.10.2004 + + *) ÐŸÐµÑ€Ð²Ð°Ñ Ð¿ÑƒÐ±Ð»Ð¸Ñ‡Ð½Ð¾ доÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ. +
--- a/auto/cc/sunc +++ b/auto/cc/sunc @@ -6,6 +6,8 @@ # Sun C 5.8 2005/10/13 Sun Studio 11 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12 # Sun C 5.9 SunOS_sparc 2007/05/03 +# Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1 +# Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \ | sed -e 's/^.* Sun C \(.*\)/\1/'` @@ -57,9 +59,19 @@ esac # optimizations +# 20736 == 0x5100, Sun Studio 12.1 + +if [ "$ngx_sunc_ver" -ge 20736 ]; then + ngx_fast="-fast" + +else + # older versions had problems with bit-fields + ngx_fast="-fast -xalias_level=any" +fi + IPO=-xipo -CFLAGS="$CFLAGS -fast $IPO" -CORE_LINK="$CORE_LINK -fast $IPO" +CFLAGS="$CFLAGS $ngx_fast $IPO" +CORE_LINK="$CORE_LINK $ngx_fast $IPO" case $CPU in @@ -126,15 +138,15 @@ CFLAGS="$CFLAGS $CPU_OPT" if [ ".$PCRE_OPT" = "." ]; then - PCRE_OPT="-fast $IPO $CPU_OPT" + PCRE_OPT="$ngx_fast $IPO $CPU_OPT" fi if [ ".$MD5_OPT" = "." ]; then - MD5_OPT="-fast $IPO $CPU_OPT" + MD5_OPT="$ngx_fast $IPO $CPU_OPT" fi if [ ".$ZLIB_OPT" = "." ]; then - ZLIB_OPT="-fast $IPO $CPU_OPT" + ZLIB_OPT="$ngx_fast $IPO $CPU_OPT" fi
--- a/auto/os/linux +++ b/auto/os/linux @@ -18,7 +18,9 @@ CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURC # Linux kernel version version=$((`uname -r \ - | sed 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1*256*256+\2*256+\3/'`)) + | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \ + \1*256*256+\2*256+\3/p' \ + -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`)) version=${version:-0}
--- a/auto/unix +++ b/auto/unix @@ -620,6 +620,19 @@ if [ $ngx_found = no ]; then fi +if [ $ngx_found = no ]; then + + # Solaris has POSIX semaphores in librt + ngx_feature="POSIX semaphores in librt" + ngx_feature_libs=-lrt + . auto/feature + + if [ $ngx_found = yes ]; then + CORE_LIBS="$CORE_LIBS -lrt" + fi +fi + + ngx_feature="struct msghdr.msg_control" ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL" ngx_feature_run=no
--- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,8 +8,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1000005 -#define NGINX_VERSION "1.0.5" +#define nginx_version 1000006 +#define NGINX_VERSION "1.0.6" #define NGINX_VER "nginx/" NGINX_VERSION #define NGINX_VAR "NGINX"
--- a/src/core/ngx_config.h +++ b/src/core/ngx_config.h @@ -127,5 +127,7 @@ typedef intptr_t ngx_flag_t; #define NGX_MAX_UINT32_VALUE (uint32_t) 0xffffffff #endif +#define NGX_MAX_INT32_VALUE (uint32_t) 0x7fffffff + #endif /* _NGX_CONFIG_H_INCLUDED_ */
--- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -926,6 +926,7 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_s "tree file \"%s\"", file.data); ctx->size = ngx_de_size(&dir); + ctx->fs_size = ngx_de_fs_size(&dir); ctx->access = ngx_de_access(&dir); ctx->mtime = ngx_de_mtime(&dir);
--- a/src/core/ngx_file.h +++ b/src/core/ngx_file.h @@ -104,6 +104,7 @@ typedef ngx_int_t (*ngx_tree_handler_pt) struct ngx_tree_ctx_s { off_t size; + off_t fs_size; ngx_uint_t access; time_t mtime;
--- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -371,28 +371,18 @@ ngx_ssl_info_callback(const ngx_ssl_conn } -ngx_int_t -ngx_ssl_generate_rsa512_key(ngx_ssl_t *ssl) +RSA * +ngx_ssl_rsa512_key_callback(SSL *ssl, int is_export, int key_length) { - RSA *key; - - if (SSL_CTX_need_tmp_RSA(ssl->ctx) == 0) { - return NGX_OK; + static RSA *key; + + if (key_length == 512) { + if (key == NULL) { + key = RSA_generate_key(512, RSA_F4, NULL, NULL); + } } - key = RSA_generate_key(512, RSA_F4, NULL, NULL); - - if (key) { - SSL_CTX_set_tmp_rsa(ssl->ctx, key); - - RSA_free(key); - - return NGX_OK; - } - - ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, "RSA_generate_key(512) failed"); - - return NGX_ERROR; + return key; } @@ -478,6 +468,45 @@ ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_ return NGX_OK; } +ngx_int_t +ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name) +{ +#if OPENSSL_VERSION_NUMBER >= 0x0090800fL +#ifndef OPENSSL_NO_ECDH + int nid; + EC_KEY *ecdh; + + /* + * Elliptic-Curve Diffie-Hellman parameters are either "named curves" + * from RFC 4492 section 5.1.1, or explicitely described curves over + * binary fields. OpenSSL only supports the "named curves", which provide + * maximum interoperability. + */ + + nid = OBJ_sn2nid((const char *) name->data); + if (nid == 0) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "Unknown curve name \"%s\"", name->data); + return NGX_ERROR; + } + + ecdh = EC_KEY_new_by_curve_name(nid); + if (ecdh == NULL) { + ngx_ssl_error(NGX_LOG_EMERG, ssl->log, 0, + "Unable to create curve \"%s\"", name->data); + return NGX_ERROR; + } + + SSL_CTX_set_tmp_ecdh(ssl->ctx, ecdh); + + SSL_CTX_set_options(ssl->ctx, SSL_OP_SINGLE_ECDH_USE); + + EC_KEY_free(ecdh); +#endif +#endif + + return NGX_OK; +} ngx_int_t ngx_ssl_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c, ngx_uint_t flags) @@ -957,10 +986,10 @@ ngx_ssl_send_chain(ngx_connection_t *c, } - /* the maximum limit size is the maximum uint32_t value - the page size */ - - if (limit == 0 || limit > (off_t) (NGX_MAX_UINT32_VALUE - ngx_pagesize)) { - limit = NGX_MAX_UINT32_VALUE - ngx_pagesize; + /* the maximum limit size is the maximum int32_t value - the page size */ + + if (limit == 0 || limit > (off_t) (NGX_MAX_INT32_VALUE - ngx_pagesize)) { + limit = NGX_MAX_INT32_VALUE - ngx_pagesize; } buf = c->ssl->buf; @@ -1687,20 +1716,24 @@ ngx_ssl_get_cached_session(ngx_ssl_conn_ ngx_int_t rc; ngx_shm_zone_t *shm_zone; ngx_slab_pool_t *shpool; - ngx_connection_t *c; ngx_rbtree_node_t *node, *sentinel; ngx_ssl_session_t *sess; ngx_ssl_sess_id_t *sess_id; ngx_ssl_session_cache_t *cache; u_char buf[NGX_SSL_MAX_SESSION_SIZE]; - - c = ngx_ssl_get_connection(ssl_conn); +#if (NGX_DEBUG) + ngx_connection_t *c; +#endif hash = ngx_crc32_short(id, (size_t) len); *copy = 0; +#if (NGX_DEBUG) + c = ngx_ssl_get_connection(ssl_conn); + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, "ssl get session: %08XD:%d", hash, len); +#endif shm_zone = SSL_CTX_get_ex_data(SSL_get_SSL_CTX(ssl_conn), ngx_ssl_session_cache_index);
--- a/src/event/ngx_event_openssl.h +++ b/src/event/ngx_event_openssl.h @@ -99,8 +99,9 @@ ngx_int_t ngx_ssl_certificate(ngx_conf_t ngx_int_t ngx_ssl_client_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert, ngx_int_t depth); ngx_int_t ngx_ssl_crl(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *crl); -ngx_int_t ngx_ssl_generate_rsa512_key(ngx_ssl_t *ssl); +RSA *ngx_ssl_rsa512_key_callback(SSL *ssl, int is_export, int key_length); ngx_int_t ngx_ssl_dhparam(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *file); +ngx_int_t ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name); ngx_int_t ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx, ssize_t builtin_session_cache, ngx_shm_zone_t *shm_zone, time_t timeout); ngx_int_t ngx_ssl_create_connection(ngx_ssl_t *ssl, ngx_connection_t *c,
--- a/src/http/modules/ngx_http_fastcgi_module.c +++ b/src/http/modules/ngx_http_fastcgi_module.c @@ -737,7 +737,15 @@ ngx_http_fastcgi_create_request(ngx_http lowcase_key = NULL; if (flcf->header_params) { - ignored = ngx_palloc(r->pool, flcf->header_params * sizeof(void *)); + n = 0; + part = &r->headers_in.headers.part; + + while (part) { + n += part->nelts; + part = part->next; + } + + ignored = ngx_palloc(r->pool, n * sizeof(void *)); if (ignored == NULL) { return NGX_ERROR; } @@ -2003,6 +2011,8 @@ ngx_http_fastcgi_create_loc_conf(ngx_con conf->catch_stderr = NGX_CONF_UNSET_PTR; + ngx_str_set(&conf->upstream.module, "fastcgi"); + return conf; }
--- a/src/http/modules/ngx_http_proxy_module.c +++ b/src/http/modules/ngx_http_proxy_module.c @@ -642,15 +642,17 @@ ngx_http_proxy_eval(ngx_http_request_t * return NGX_ERROR; } - if (ngx_strncasecmp(proxy.data, (u_char *) "http://", 7) == 0) { - + if (proxy.len > 7 + && ngx_strncasecmp(proxy.data, (u_char *) "http://", 7) == 0) + { add = 7; port = 80; #if (NGX_HTTP_SSL) - } else if (ngx_strncasecmp(proxy.data, (u_char *) "https://", 8) == 0) { - + } else if (proxy.len > 8 + && ngx_strncasecmp(proxy.data, (u_char *) "https://", 8) == 0) + { add = 8; port = 443; r->upstream->ssl = 1; @@ -1707,6 +1709,8 @@ ngx_http_proxy_create_loc_conf(ngx_conf_ conf->headers_hash_max_size = NGX_CONF_UNSET_UINT; conf->headers_hash_bucket_size = NGX_CONF_UNSET_UINT; + ngx_str_set(&conf->upstream.module, "proxy"); + return conf; }
--- a/src/http/modules/ngx_http_scgi_module.c +++ b/src/http/modules/ngx_http_scgi_module.c @@ -561,7 +561,15 @@ ngx_http_scgi_create_request(ngx_http_re lowcase_key = NULL; if (scf->header_params) { - ignored = ngx_palloc(r->pool, scf->header_params * sizeof(void *)); + n = 0; + part = &r->headers_in.headers.part; + + while (part) { + n += part->nelts; + part = part->next; + } + + ignored = ngx_palloc(r->pool, n * sizeof(void *)); if (ignored == NULL) { return NGX_ERROR; } @@ -1030,6 +1038,8 @@ ngx_http_scgi_create_loc_conf(ngx_conf_t /* "scgi_cyclic_temp_file" is disabled */ conf->upstream.cyclic_temp_file = 0; + ngx_str_set(&conf->upstream.module, "scgi"); + return conf; }
--- a/src/http/modules/ngx_http_ssl_module.c +++ b/src/http/modules/ngx_http_ssl_module.c @@ -13,7 +13,8 @@ typedef ngx_int_t (*ngx_ssl_variable_han ngx_pool_t *pool, ngx_str_t *s); -#define NGX_DEFAULT_CIPHERS "HIGH:!aNULL:!MD5" +#define NGX_DEFAULT_CIPHERS "HIGH:!aNULL:!MD5" +#define NGX_DEFAULT_ECDH_CURVE "prime256v1" static ngx_int_t ngx_http_ssl_static_variable(ngx_http_request_t *r, @@ -78,6 +79,13 @@ static ngx_command_t ngx_http_ssl_comma offsetof(ngx_http_ssl_srv_conf_t, dhparam), NULL }, + { ngx_string("ssl_ecdh_curve"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1, + ngx_conf_set_str_slot, + NGX_HTTP_SRV_CONF_OFFSET, + offsetof(ngx_http_ssl_srv_conf_t, ecdh_curve), + NULL }, + { ngx_string("ssl_protocols"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_1MORE, ngx_conf_set_bitmask_slot, @@ -312,6 +320,7 @@ ngx_http_ssl_create_srv_conf(ngx_conf_t * sscf->certificate = { 0, NULL }; * sscf->certificate_key = { 0, NULL }; * sscf->dhparam = { 0, NULL }; + * sscf->ecdh_curve = { 0, NULL }; * sscf->client_certificate = { 0, NULL }; * sscf->crl = { 0, NULL }; * sscf->ciphers = { 0, NULL }; @@ -360,6 +369,9 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t * ""); ngx_conf_merge_str_value(conf->crl, prev->crl, ""); + ngx_conf_merge_str_value(conf->ecdh_curve, prev->ecdh_curve, + NGX_DEFAULT_ECDH_CURVE); + ngx_conf_merge_str_value(conf->ciphers, prev->ciphers, NGX_DEFAULT_CIPHERS); @@ -465,11 +477,13 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t * } /* a temporary 512-bit RSA key is required for export versions of MSIE */ - if (ngx_ssl_generate_rsa512_key(&conf->ssl) != NGX_OK) { + SSL_CTX_set_tmp_rsa_callback(conf->ssl.ctx, ngx_ssl_rsa512_key_callback); + + if (ngx_ssl_dhparam(cf, &conf->ssl, &conf->dhparam) != NGX_OK) { return NGX_CONF_ERROR; } - if (ngx_ssl_dhparam(cf, &conf->ssl, &conf->dhparam) != NGX_OK) { + if (ngx_ssl_ecdh_curve(cf, &conf->ssl, &conf->ecdh_curve) != NGX_OK) { return NGX_CONF_ERROR; }
--- a/src/http/modules/ngx_http_ssl_module.h +++ b/src/http/modules/ngx_http_ssl_module.h @@ -32,6 +32,7 @@ typedef struct { ngx_str_t certificate; ngx_str_t certificate_key; ngx_str_t dhparam; + ngx_str_t ecdh_curve; ngx_str_t client_certificate; ngx_str_t crl;
--- a/src/http/modules/ngx_http_uwsgi_module.c +++ b/src/http/modules/ngx_http_uwsgi_module.c @@ -589,7 +589,15 @@ ngx_http_uwsgi_create_request(ngx_http_r lowcase_key = NULL; if (uwcf->header_params) { - ignored = ngx_palloc(r->pool, uwcf->header_params * sizeof(void *)); + n = 0; + part = &r->headers_in.headers.part; + + while (part) { + n += part->nelts; + part = part->next; + } + + ignored = ngx_palloc(r->pool, n * sizeof(void *)); if (ignored == NULL) { return NGX_ERROR; } @@ -1083,6 +1091,8 @@ ngx_http_uwsgi_create_loc_conf(ngx_conf_ /* "uwsgi_cyclic_temp_file" is disabled */ conf->upstream.cyclic_temp_file = 0; + ngx_str_set(&conf->upstream.module, "uwsgi"); + return conf; }
--- a/src/http/modules/perl/nginx.pm +++ b/src/http/modules/perl/nginx.pm @@ -48,7 +48,7 @@ our @EXPORT = qw( HTTP_INSUFFICIENT_STORAGE ); -our $VERSION = '1.0.5'; +our $VERSION = '1.0.6'; require XSLoader; XSLoader::load('nginx', $VERSION);
--- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -70,6 +70,8 @@ static char *ngx_http_core_internal(ngx_ static char *ngx_http_core_resolver(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); #if (NGX_HTTP_GZIP) +static ngx_int_t ngx_http_gzip_accept_encoding(ngx_str_t *ae); +static ngx_uint_t ngx_http_gzip_quantity(u_char *p, u_char *last); static char *ngx_http_gzip_disable(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); #endif @@ -125,6 +127,14 @@ static ngx_conf_enum_t ngx_http_core_sa }; +static ngx_conf_enum_t ngx_http_core_lingering_close[] = { + { ngx_string("off"), NGX_HTTP_LINGERING_OFF }, + { ngx_string("on"), NGX_HTTP_LINGERING_ON }, + { ngx_string("always"), NGX_HTTP_LINGERING_ALWAYS }, + { ngx_null_string, 0 } +}; + + static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { { ngx_string("off"), NGX_HTTP_IMS_OFF }, { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, @@ -530,6 +540,13 @@ static ngx_command_t ngx_http_core_comm 0, NULL }, + { ngx_string("lingering_close"), + NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, + ngx_conf_set_enum_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_core_loc_conf_t, lingering_close), + &ngx_http_core_lingering_close }, + { ngx_string("lingering_time"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, ngx_conf_set_msec_slot, @@ -2016,24 +2033,35 @@ ngx_http_gzip_ok(ngx_http_request_t *r) time_t date, expires; ngx_uint_t p; ngx_array_t *cc; - ngx_table_elt_t *e, *d; + ngx_table_elt_t *e, *d, *ae; ngx_http_core_loc_conf_t *clcf; r->gzip_tested = 1; - if (r != r->main - || r->headers_in.accept_encoding == NULL - || ngx_strcasestrn(r->headers_in.accept_encoding->value.data, - "gzip", 4 - 1) - == NULL - - /* - * if the URL (without the "http://" prefix) is longer than 253 bytes, - * then MSIE 4.x can not handle the compressed stream - it waits - * too long, hangs up or crashes - */ - - || (r->headers_in.msie4 && r->unparsed_uri.len > 200)) + if (r != r->main) { + return NGX_DECLINED; + } + + ae = r->headers_in.accept_encoding; + if (ae == NULL) { + return NGX_DECLINED; + } + + if (ae->value.len < sizeof("gzip") - 1) { + return NGX_DECLINED; + } + + /* + * test first for the most common case "gzip,...": + * MSIE: "gzip, deflate" + * Firefox: "gzip,deflate" + * Chrome: "gzip,deflate,sdch" + * Safari: "gzip, deflate" + * Opera: "gzip, deflate" + */ + + if (ngx_memcmp(ae->value.data, "gzip,", 5) != 0 + && ngx_http_gzip_accept_encoding(&ae->value) != NGX_OK) { return NGX_DECLINED; } @@ -2159,6 +2187,135 @@ ok: return NGX_OK; } + +/* + * gzip is enabled for the following quantities: + * "gzip; q=0.001" ... "gzip; q=1.000" + * gzip is disabled for the following quantities: + * "gzip; q=0" ... "gzip; q=0.000", and for any invalid cases + */ + +static ngx_int_t +ngx_http_gzip_accept_encoding(ngx_str_t *ae) +{ + u_char *p, *start, *last; + + start = ae->data; + last = start + ae->len; + + for ( ;; ) { + p = ngx_strcasestrn(start, "gzip", 4 - 1); + if (p == NULL) { + return NGX_DECLINED; + } + + if (p == start || (*(p - 1) == ',' || *(p - 1) == ' ')) { + break; + } + + start = p + 4; + } + + p += 4; + + while (p < last) { + switch(*p++) { + case ',': + return NGX_OK; + case ';': + goto quantity; + case ' ': + continue; + default: + return NGX_DECLINED; + } + } + + return NGX_OK; + +quantity: + + while (p < last) { + switch(*p++) { + case 'q': + case 'Q': + goto equal; + case ' ': + continue; + default: + return NGX_DECLINED; + } + } + + return NGX_OK; + +equal: + + if (p + 2 > last || *p++ != '=') { + return NGX_DECLINED; + } + + if (ngx_http_gzip_quantity(p, last) == 0) { + return NGX_DECLINED; + } + + return NGX_OK; +} + + +ngx_uint_t +ngx_http_gzip_quantity(u_char *p, u_char *last) +{ + u_char c; + ngx_uint_t n, q; + + c = *p++; + + if (c != '0' && c != '1') { + return 0; + } + + q = (c - '0') * 100; + + if (p == last) { + return q; + } + + c = *p++; + + if (c == ',' || c == ' ') { + return q; + } + + if (c != '.') { + return 0; + } + + n = 0; + + while (p < last) { + c = *p++; + + if (c == ',' || c == ' ') { + break; + } + + if (c >= '0' && c <= '9') { + q += c - '0'; + n++; + continue; + } + + return 0; + } + + if (q > 100 || n > 3) { + return 0; + } + + return q; +} + #endif @@ -3117,6 +3274,7 @@ ngx_http_core_create_loc_conf(ngx_conf_t clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC; clcf->keepalive_header = NGX_CONF_UNSET; clcf->keepalive_requests = NGX_CONF_UNSET_UINT; + clcf->lingering_close = NGX_CONF_UNSET_UINT; clcf->lingering_time = NGX_CONF_UNSET_MSEC; clcf->lingering_timeout = NGX_CONF_UNSET_MSEC; clcf->resolver_timeout = NGX_CONF_UNSET_MSEC; @@ -3333,6 +3491,8 @@ ngx_http_core_merge_loc_conf(ngx_conf_t prev->keepalive_header, 0); ngx_conf_merge_uint_value(conf->keepalive_requests, prev->keepalive_requests, 100); + ngx_conf_merge_uint_value(conf->lingering_close, + prev->lingering_close, NGX_HTTP_LINGERING_ON); ngx_conf_merge_msec_value(conf->lingering_time, prev->lingering_time, 30000); ngx_conf_merge_msec_value(conf->lingering_timeout,
--- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -33,6 +33,11 @@ #define NGX_HTTP_SATISFY_ANY 1 +#define NGX_HTTP_LINGERING_OFF 0 +#define NGX_HTTP_LINGERING_ON 1 +#define NGX_HTTP_LINGERING_ALWAYS 2 + + #define NGX_HTTP_IMS_OFF 0 #define NGX_HTTP_IMS_EXACT 1 #define NGX_HTTP_IMS_BEFORE 2 @@ -356,6 +361,7 @@ struct ngx_http_core_loc_conf_s { ngx_uint_t keepalive_requests; /* keepalive_requests */ ngx_uint_t keepalive_disable; /* keepalive_disable */ ngx_uint_t satisfy; /* satisfy */ + ngx_uint_t lingering_close; /* lingering_close */ ngx_uint_t if_modified_since; /* if_modified_since */ ngx_uint_t client_body_in_file_only; /* client_body_in_file_only */
--- a/src/http/ngx_http_file_cache.c +++ b/src/http/ngx_http_file_cache.c @@ -31,7 +31,7 @@ static time_t ngx_http_file_cache_expire static void ngx_http_file_cache_delete(ngx_http_file_cache_t *cache, ngx_queue_t *q, u_char *name); static ngx_int_t - ngx_http_file_cache_manager_sleep(ngx_http_file_cache_t *cache); + ngx_http_file_cache_loader_sleep(ngx_http_file_cache_t *cache); static ngx_int_t ngx_http_file_cache_noop(ngx_tree_ctx_t *ctx, ngx_str_t *path); static ngx_int_t ngx_http_file_cache_manage_file(ngx_tree_ctx_t *ctx, @@ -376,7 +376,7 @@ ngx_http_file_cache_read(ngx_http_reques if ((size_t) n < c->header_start) { ngx_log_error(NGX_LOG_CRIT, r->connection->log, 0, "cache file \"%s\" is too small", c->file.name.data); - return NGX_ERROR; + return NGX_DECLINED; } h = (ngx_http_file_cache_header_t *) c->buf->pos; @@ -409,6 +409,7 @@ ngx_http_file_cache_read(ngx_http_reques c->node->body_start = c->body_start; c->node->exists = 1; c->node->uniq = c->uniq; + c->node->fs_size = c->fs_size; cache->sh->size += c->fs_size; } @@ -530,26 +531,19 @@ ngx_http_file_cache_exists(ngx_http_file goto done; } - if (fcn->exists) { + if (fcn->exists || fcn->uses >= c->min_uses) { c->exists = fcn->exists; - c->body_start = fcn->body_start; + if (fcn->body_start) { + c->body_start = fcn->body_start; + } rc = NGX_OK; goto done; } - if (fcn->uses >= c->min_uses) { - - c->exists = fcn->exists; - c->body_start = fcn->body_start; - - rc = NGX_OK; - - } else { - rc = NGX_AGAIN; - } + rc = NGX_AGAIN; goto done; } @@ -858,7 +852,7 @@ ngx_http_cache_send(ngx_http_request_t * c = r->cache; ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, - "http file cache send: %s", c->file.name.data); + "http file cache send: %s", c->file.name.data); /* we need to allocate all before the header would be sent */ @@ -1214,7 +1208,7 @@ ngx_http_file_cache_manager(void *data) return wait; } - if (ngx_http_file_cache_manager_sleep(cache) != NGX_OK) { + if (ngx_quit || ngx_terminate) { return next; } } @@ -1268,7 +1262,7 @@ ngx_http_file_cache_loader(void *data) static ngx_int_t -ngx_http_file_cache_manager_sleep(ngx_http_file_cache_t *cache) +ngx_http_file_cache_loader_sleep(ngx_http_file_cache_t *cache) { ngx_msec_t elapsed; @@ -1320,75 +1314,34 @@ ngx_http_file_cache_manage_file(ngx_tree (void) ngx_http_file_cache_delete_file(ctx, path); } - return ngx_http_file_cache_manager_sleep(cache); + return ngx_http_file_cache_loader_sleep(cache); } static ngx_int_t ngx_http_file_cache_add_file(ngx_tree_ctx_t *ctx, ngx_str_t *name) { - u_char *p; - ngx_fd_t fd; - ngx_int_t n; - ngx_uint_t i; - ngx_file_info_t fi; - ngx_http_cache_t c; - ngx_http_file_cache_t *cache; - ngx_http_file_cache_header_t h; + u_char *p; + ngx_int_t n; + ngx_uint_t i; + ngx_http_cache_t c; + ngx_http_file_cache_t *cache; if (name->len < 2 * NGX_HTTP_CACHE_KEY_LEN) { return NGX_ERROR; } - ngx_memzero(&c, sizeof(ngx_http_cache_t)); - - fd = ngx_open_file(name->data, NGX_FILE_RDONLY, NGX_FILE_OPEN, 0); - - if (fd == NGX_INVALID_FILE) { - ngx_log_error(NGX_LOG_CRIT, ctx->log, ngx_errno, - ngx_open_file_n " \"%s\" failed", name->data); - return NGX_ERROR; - } - - c.file.fd = fd; - c.file.name = *name; - c.file.log = ctx->log; - - n = ngx_read_file(&c.file, (u_char *) &h, - sizeof(ngx_http_file_cache_header_t), 0); - if (n == NGX_ERROR) { - return NGX_ERROR; - } - - if ((size_t) n < sizeof(ngx_http_file_cache_header_t)) { + if (ctx->size < (off_t) sizeof(ngx_http_file_cache_header_t)) { ngx_log_error(NGX_LOG_CRIT, ctx->log, 0, "cache file \"%s\" is too small", name->data); return NGX_ERROR; } + ngx_memzero(&c, sizeof(ngx_http_cache_t)); cache = ctx->data; - if (ngx_fd_info(fd, &fi) == NGX_FILE_ERROR) { - ngx_log_error(NGX_LOG_CRIT, ctx->log, ngx_errno, - ngx_fd_info_n " \"%s\" failed", name->data); - - } else { - c.uniq = ngx_file_uniq(&fi); - c.valid_sec = h.valid_sec; - c.valid_msec = h.valid_msec; - c.body_start = h.body_start; - c.length = ngx_file_size(&fi); - c.fs_size = (ngx_file_fs_size(&fi) + cache->bsize - 1) / cache->bsize; - } - - if (ngx_close_file(fd) == NGX_FILE_ERROR) { - ngx_log_error(NGX_LOG_ALERT, ctx->log, ngx_errno, - ngx_close_file_n " \"%s\" failed", name->data); - } - - if (c.body_start == 0) { - return NGX_ERROR; - } + c.length = ctx->size; + c.fs_size = (ctx->fs_size + cache->bsize - 1) / cache->bsize; p = &name->data[name->len - 2 * NGX_HTTP_CACHE_KEY_LEN]; @@ -1435,14 +1388,14 @@ ngx_http_file_cache_add(ngx_http_file_ca fcn->uses = 1; fcn->count = 0; - fcn->valid_msec = c->valid_msec; + fcn->valid_msec = 0; fcn->error = 0; fcn->exists = 1; fcn->updating = 0; fcn->deleting = 0; - fcn->uniq = c->uniq; - fcn->valid_sec = c->valid_sec; - fcn->body_start = c->body_start; + fcn->uniq = 0; + fcn->valid_sec = 0; + fcn->body_start = 0; fcn->fs_size = c->fs_size; cache->sh->size += c->fs_size; @@ -1652,6 +1605,8 @@ ngx_http_file_cache_set_slot(ngx_conf_t cache->path->manager = ngx_http_file_cache_manager; cache->path->loader = ngx_http_file_cache_loader; cache->path->data = cache; + cache->path->conf_file = cf->conf_file->file.name.data; + cache->path->line = cf->conf_file->line; if (ngx_add_path(cf, &cache->path) != NGX_OK) { return NGX_CONF_ERROR;
--- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -1439,8 +1439,6 @@ ngx_http_process_user_agent(ngx_http_req switch (msie[5]) { case '4': - r->headers_in.msie4 = 1; - /* fall through */ case '5': r->headers_in.msie6 = 1; break; @@ -1463,7 +1461,6 @@ ngx_http_process_user_agent(ngx_http_req if (ngx_strstrn(user_agent, "Opera", 5 - 1)) { r->headers_in.opera = 1; r->headers_in.msie = 0; - r->headers_in.msie4 = 0; r->headers_in.msie6 = 0; } @@ -2145,8 +2142,14 @@ ngx_http_finalize_connection(ngx_http_re { ngx_http_set_keepalive(r); return; - - } else if (r->lingering_close && clcf->lingering_timeout > 0) { + } + + if (clcf->lingering_close == NGX_HTTP_LINGERING_ALWAYS + || (clcf->lingering_close == NGX_HTTP_LINGERING_ON + && (r->lingering_close + || r->header_in->pos < r->header_in->last + || r->connection->read->ready))) + { ngx_http_set_lingering_close(r); return; } @@ -2772,7 +2775,6 @@ ngx_http_lingering_close_handler(ngx_eve "http lingering close handler"); if (rev->timedout) { - c->timedout = 1; ngx_http_close_request(r, 0); return; }
--- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -221,7 +221,6 @@ typedef struct { unsigned connection_type:2; unsigned msie:1; - unsigned msie4:1; unsigned msie6:1; unsigned opera:1; unsigned gecko:1;
--- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -661,10 +661,12 @@ ngx_http_upstream_cache(ngx_http_request ngx_http_file_cache_create_key(r); - if (r->cache->header_start >= u->conf->buffer_size) { + if (r->cache->header_start + 256 >= u->conf->buffer_size) { ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, - "cache key too large, increase upstream buffer size %uz", - u->conf->buffer_size); + "%V_buffer_size %uz is not enough for cache key, " + "it should increased at least to %uz", + &u->conf->module, u->conf->buffer_size, + ngx_align(r->cache->header_start + 256, 1024)); r->cache = NULL; return NGX_DECLINED; @@ -2317,7 +2319,7 @@ ngx_http_upstream_process_non_buffered_d if (wev->timedout) { c->timedout = 1; ngx_connection_error(c, NGX_ETIMEDOUT, "client timed out"); - ngx_http_upstream_finalize_request(r, u, 0); + ngx_http_upstream_finalize_request(r, u, NGX_HTTP_REQUEST_TIME_OUT); return; } @@ -3013,6 +3015,7 @@ ngx_http_upstream_finalize_request(ngx_h #endif if (u->header_sent + && rc != NGX_HTTP_REQUEST_TIME_OUT && (rc == NGX_ERROR || rc >= NGX_HTTP_SPECIAL_RESPONSE)) { rc = 0;
--- a/src/http/ngx_http_upstream.h +++ b/src/http/ngx_http_upstream.h @@ -179,6 +179,7 @@ typedef struct { ngx_flag_t ssl_session_reuse; #endif + ngx_str_t module; } ngx_http_upstream_conf_t;
--- a/src/http/ngx_http_upstream_round_robin.c +++ b/src/http/ngx_http_upstream_round_robin.c @@ -14,6 +14,15 @@ static ngx_int_t ngx_http_upstream_cmp_s static ngx_uint_t ngx_http_upstream_get_peer(ngx_http_upstream_rr_peers_t *peers); +#if (NGX_HTTP_SSL) + +static ngx_int_t ngx_http_upstream_empty_set_session(ngx_peer_connection_t *pc, + void *data); +static void ngx_http_upstream_empty_save_session(ngx_peer_connection_t *pc, + void *data); + +#endif + ngx_int_t ngx_http_upstream_init_round_robin(ngx_conf_t *cf, @@ -343,10 +352,8 @@ ngx_http_upstream_create_round_robin_pee r->upstream->peer.free = ngx_http_upstream_free_round_robin_peer; r->upstream->peer.tries = rrp->peers->number; #if (NGX_HTTP_SSL) - r->upstream->peer.set_session = - ngx_http_upstream_set_round_robin_peer_session; - r->upstream->peer.save_session = - ngx_http_upstream_save_round_robin_peer_session; + r->upstream->peer.set_session = ngx_http_upstream_empty_set_session; + r->upstream->peer.save_session = ngx_http_upstream_empty_save_session; #endif return NGX_OK; @@ -757,4 +764,18 @@ ngx_http_upstream_save_round_robin_peer_ } } + +static ngx_int_t +ngx_http_upstream_empty_set_session(ngx_peer_connection_t *pc, void *data) +{ + return NGX_OK; +} + + +static void +ngx_http_upstream_empty_save_session(ngx_peer_connection_t *pc, void *data) +{ + return; +} + #endif
--- a/src/mail/ngx_mail_ssl_module.c +++ b/src/mail/ngx_mail_ssl_module.c @@ -9,7 +9,8 @@ #include <ngx_mail.h> -#define NGX_DEFAULT_CIPHERS "HIGH:!aNULL:!MD5" +#define NGX_DEFAULT_CIPHERS "HIGH:!aNULL:!MD5" +#define NGX_DEFAULT_ECDH_CURVE "prime256v1" static void *ngx_mail_ssl_create_conf(ngx_conf_t *cf); @@ -77,6 +78,13 @@ static ngx_command_t ngx_mail_ssl_comma offsetof(ngx_mail_ssl_conf_t, dhparam), NULL }, + { ngx_string("ssl_ecdh_curve"), + NGX_MAIL_MAIN_CONF|NGX_MAIL_SRV_CONF|NGX_CONF_TAKE1, + ngx_conf_set_str_slot, + NGX_MAIL_SRV_CONF_OFFSET, + offsetof(ngx_mail_ssl_conf_t, ecdh_curve), + NULL }, + { ngx_string("ssl_protocols"), NGX_MAIL_MAIN_CONF|NGX_MAIL_SRV_CONF|NGX_CONF_1MORE, ngx_conf_set_bitmask_slot, @@ -163,6 +171,7 @@ ngx_mail_ssl_create_conf(ngx_conf_t *cf) * scf->certificate = { 0, NULL }; * scf->certificate_key = { 0, NULL }; * scf->dhparam = { 0, NULL }; + * scf->ecdh_curve = { 0, NULL }; * scf->ciphers = { 0, NULL }; * scf->shm_zone = NULL; */ @@ -204,6 +213,9 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, ngx_conf_merge_str_value(conf->dhparam, prev->dhparam, ""); + ngx_conf_merge_str_value(conf->ecdh_curve, prev->ecdh_curve, + NGX_DEFAULT_ECDH_CURVE); + ngx_conf_merge_str_value(conf->ciphers, prev->ciphers, NGX_DEFAULT_CIPHERS); @@ -286,9 +298,7 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, SSL_CTX_set_options(conf->ssl.ctx, SSL_OP_CIPHER_SERVER_PREFERENCE); } - if (ngx_ssl_generate_rsa512_key(&conf->ssl) != NGX_OK) { - return NGX_CONF_ERROR; - } + SSL_CTX_set_tmp_rsa_callback(conf->ssl.ctx, ngx_ssl_rsa512_key_callback); if (ngx_ssl_dhparam(cf, &conf->ssl, &conf->dhparam) != NGX_OK) { return NGX_CONF_ERROR;
--- a/src/mail/ngx_mail_ssl_module.h +++ b/src/mail/ngx_mail_ssl_module.h @@ -34,6 +34,7 @@ typedef struct { ngx_str_t certificate; ngx_str_t certificate_key; ngx_str_t dhparam; + ngx_str_t ecdh_curve; ngx_str_t ciphers;
--- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h @@ -253,6 +253,7 @@ ngx_de_info(u_char *name, ngx_dir_t *dir #define ngx_de_access(dir) (((dir)->info.st_mode) & 0777) #define ngx_de_size(dir) (dir)->info.st_size +#define ngx_de_fs_size(dir) ((dir)->info.st_blocks * 512) #define ngx_de_mtime(dir) (dir)->info.st_mtime