| <?xml version="1.0" ?> |
| <!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" > |
| |
| |
| <change_log title="nginx"> |
| |
| |
| <changes ver="1.14.1" date="2018-11-06"> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при использовании HTTP/2 клиент мог вызвать |
| чрезмерное потреблению памяти (CVE-2018-16843) |
| и ресурсов процессора (CVE-2018-16844). |
| </para> |
| <para lang="en"> |
| when using HTTP/2 a client might cause |
| excessive memory consumption (CVE-2018-16843) |
| and CPU usage (CVE-2018-16844). |
| </para> |
| </change> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при обработке специально созданного mp4-файла модулем ngx_http_mp4_module |
| содержимое памяти рабочего процесса могло быть отправлено клиенту |
| (CVE-2018-16845). |
| </para> |
| <para lang="en"> |
| processing of a specially crafted mp4 file with the ngx_http_mp4_module |
| might result in worker process memory disclosure |
| (CVE-2018-16845). |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при работе с gRPC-бэкендами могло расходоваться большое количество памяти. |
| </para> |
| <para lang="en"> |
| working with gRPC backends might result in excessive memory consumption. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.14.0" date="2018-04-17"> |
| |
| <change> |
| <para lang="ru"> |
| Стабильная ветка 1.14.x. |
| </para> |
| <para lang="en"> |
| 1.14.x stable branch. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.12" date="2018-04-10"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при возврате большого ответа |
| соединения с gRPC-бэкендами могли неожиданно закрываться. |
| </para> |
| <para lang="en"> |
| connections with gRPC backends might be closed unexpectedly |
| when returning a large response. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.11" date="2018-04-03"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр proxy_protocol директивы listen |
| теперь поддерживает протокол PROXY версии 2. |
| </para> |
| <para lang="en"> |
| the "proxy_protocol" parameter of the "listen" directive |
| now supports the PROXY protocol version 2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался с OpenSSL 1.1.1 статически на Linux. |
| </para> |
| <para lang="en"> |
| nginx could not be built with OpenSSL 1.1.1 statically on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в параметрах http_404, http_500 и им подобных |
| директивы proxy_next_upstream. |
| </para> |
| <para lang="en"> |
| in the "http_404", "http_500", etc. parameters |
| of the "proxy_next_upstream" directive. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.10" date="2018-03-20"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь параметр set в SSI-директиве include |
| позволяет сохранять в переменную любые ответы; |
| максимальный размер ответа задаётся директивой subrequest_output_buffer_size. |
| </para> |
| <para lang="en"> |
| the "set" parameter of the "include" SSI directive now allows |
| writing arbitrary responses to a variable; |
| the "subrequest_output_buffer_size" directive defines maximum response size. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь nginx использует вызов clock_gettime(CLOCK_MONOTONIC), если он доступен, |
| что позволяет избежать некорректного срабатывания таймаутов |
| при изменениях системного времени. |
| </para> |
| <para lang="en"> |
| now nginx uses clock_gettime(CLOCK_MONOTONIC) if available, |
| to avoid timeouts being incorrectly triggered |
| on system time changes. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр "escape=none" директивы log_format.<br/> |
| Спасибо Johannes Baiter и Calin Don. |
| </para> |
| <para lang="en"> |
| the "escape=none" parameter of the "log_format" directive.<br/> |
| Thanks to Johannes Baiter and Calin Don. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $ssl_preread_alpn_protocols |
| в модуле ngx_stream_ssl_preread_module. |
| </para> |
| <para lang="en"> |
| the $ssl_preread_alpn_protocols variable |
| in the ngx_stream_ssl_preread_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_grpc_module. |
| </para> |
| <para lang="en"> |
| the ngx_http_grpc_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок выделения памяти в директиве geo. |
| </para> |
| <para lang="en"> |
| in memory allocation error handling in the "geo" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании переменных в директиве auth_basic_user_file |
| в лог мог выводиться символ '\0'.<br/> |
| Спасибо Вадиму Филимонову. |
| </para> |
| <para lang="en"> |
| when using variables in the "auth_basic_user_file" directive |
| a null character might appear in logs.<br/> |
| Thanks to Vadim Filimonov. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.9" date="2018-02-20"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка HTTP/2 server push; |
| директивы http2_push и http2_push_preload. |
| </para> |
| <para lang="en"> |
| HTTP/2 server push support; |
| the "http2_push" and "http2_push_preload" directives. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании кэша |
| в логах могли появляться сообщения "header already sent"; |
| ошибка появилась в 1.9.13. |
| </para> |
| <para lang="en"> |
| "header already sent" alerts might appear in logs |
| when using cache; |
| the bug had appeared in 1.9.13. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы ssl_verify_client |
| в рабочем процессе мог произойти segmentation fault, |
| если в виртуальном сервере не был указан SSL-сертификат. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if the "ssl_verify_client" directive was used |
| and no SSL certificate was specified in a virtual server. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_dav_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_dav_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.8" date="2017-12-26"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь при использовании параметра transparent директив proxy_bind, |
| fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind |
| nginx автоматически сохраняет capability CAP_NET_RAW в рабочих процессах. |
| </para> |
| <para lang="en"> |
| now nginx automatically preserves the CAP_NET_RAW capability in worker processes |
| when using the "transparent" parameter of the "proxy_bind", |
| "fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| улучшения в определении размера строки кэша процессора.<br/> |
| Спасибо Debayan Ghosh. |
| </para> |
| <para lang="en"> |
| improved CPU cache line size detection.<br/> |
| Thanks to Debayan Ghosh. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| новые директивы в скриптах подсветки синтаксиса для vim.<br/> |
| Спасибо Геннадию Махомеду. |
| </para> |
| <para lang="en"> |
| new directives in vim syntax highlighting scripts.<br/> |
| Thanks to Gena Makhomed. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| процедура обновления исполняемого файла не работала, |
| если после завершения родительского процесса |
| новым родительским процессом nginx'а становился процесс с PID, отличным от 1. |
| </para> |
| <para lang="en"> |
| binary upgrade refused to work |
| if nginx was re-parented to a process with PID different from 1 |
| after its parent process has finished. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| модуль ngx_http_autoindex_module неправильно обрабатывал запросы с телом. |
| </para> |
| <para lang="en"> |
| the ngx_http_autoindex_module incorrectly handled requests with bodies. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве proxy_limit_rate при использовании с директивой keepalive. |
| </para> |
| <para lang="en"> |
| in the "proxy_limit_rate" directive when used with the "keepalive" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании "proxy_buffering off" часть ответа могла буферизироваться, |
| если клиентское соединение использовало SSL.<br/> |
| Спасибо Patryk Lesiewicz. |
| </para> |
| <para lang="en"> |
| some parts of a response might be buffered when using "proxy_buffering off" |
| if the client connection used SSL.<br/> |
| Thanks to Patryk Lesiewicz. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве proxy_cache_background_update. |
| </para> |
| <para lang="en"> |
| in the "proxy_cache_background_update" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| переменную вида "${name}" с именем в фигурных скобках |
| нельзя было использовать в начале параметра |
| не заключив весь параметр в кавычки. |
| </para> |
| <para lang="en"> |
| it was not possible to start a parameter |
| with a variable in the "${name}" form with the name in curly brackets |
| without enclosing the parameter into single or double quotes. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.7" date="2017-11-21"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в переменной $upstream_status. |
| </para> |
| <para lang="en"> |
| in the $upstream_status variable. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в рабочем процессе мог произойти segmentation fault, |
| если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if a backend returned a "101 Switching Protocols" response to a subrequest. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если при переконфигурации изменялся размер зоны разделяемой памяти |
| и переконфигурация завершалась неудачно, |
| то в главном процессе происходил segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault occurred in a master process |
| if a shared memory zone size was changed during a reconfiguration |
| and the reconfiguration failed. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_fastcgi_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_fastcgi_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx возвращал ошибку 500, |
| если в директиве xslt_stylesheet |
| были заданы параметры без использования переменных. |
| </para> |
| <para lang="en"> |
| nginx returned the 500 error |
| if parameters without variables were specified |
| in the "xslt_stylesheet" directive. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| при использовании варианта библиотеки zlib от Intel |
| в лог писались сообщения "gzip filter failed to use preallocated memory". |
| </para> |
| <para lang="en"> |
| "gzip filter failed to use preallocated memory" alerts appeared in logs |
| when using a zlib library variant from Intel. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива worker_shutdown_timeout не работала |
| при использовании почтового прокси-сервера |
| и при проксировании WebSocket-соединений. |
| </para> |
| <para lang="en"> |
| the "worker_shutdown_timeout" directive did not work |
| when using mail proxy and when proxying WebSocket connections. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.6" date="2017-10-10"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы ssl_preread |
| в модуле stream не работало переключение на следующий бэкенд. |
| </para> |
| <para lang="en"> |
| switching to the next upstream server in the stream module did not work |
| when using the "ssl_preread" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не поддерживал даты после 2038 года |
| на 32-битных платформах с 64-битным time_t. |
| </para> |
| <para lang="en"> |
| nginx did not support dates after the year 2038 |
| on 32-bit platforms with 64-bit time_t. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке дат до 1970 года и после 10000 года. |
| </para> |
| <para lang="en"> |
| in handling of dates prior to the year 1970 and after the year 10000. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле stream таймауты ожидания UDP-пакетов от бэкендов |
| не логгировались или логгировались на уровне info вместо error. |
| </para> |
| <para lang="en"> |
| in the stream module timeouts waiting for UDP datagrams from upstream servers |
| were not logged or logged at the "info" level instead of "error". |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 nginx мог вернуть ошибку 400, |
| не указав в логе причину. |
| </para> |
| <para lang="en"> |
| when using HTTP/2 nginx might return the 400 response |
| without logging the reason. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке повреждённых файлов кэша. |
| </para> |
| <para lang="en"> |
| in processing of corrupted cache files. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при кэшировании ошибок, перехваченных error_page, |
| не учитывались заголовки управления кэшированием. |
| </para> |
| <para lang="en"> |
| cache control headers were ignored |
| when caching errors intercepted by error_page. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 тело запроса могло быть повреждено. |
| </para> |
| <para lang="en"> |
| when using HTTP/2 client request body might be corrupted. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке адресов клиентов при использовании unix domain сокетов. |
| </para> |
| <para lang="en"> |
| in handling of client addresses when using unix domain sockets. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы "hash ... consistent" в блоке upstream |
| nginx нагружал процессор, если использовались большие веса |
| и все или почти все бэкенды были недоступны. |
| </para> |
| <para lang="en"> |
| nginx hogged CPU |
| when using the "hash ... consistent" directive in the upstream block |
| if large weights were used and all or most of the servers were unavailable. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.5" date="2017-09-05"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $ssl_client_escaped_cert. |
| </para> |
| <para lang="en"> |
| the $ssl_client_escaped_cert variable. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива ssl_session_ticket_key и параметр include директивы geo |
| не работали на Windows. |
| </para> |
| <para lang="en"> |
| the "ssl_session_ticket_key" directive and |
| the "include" parameter of the "geo" directive did not work on Windows. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| на 32-битных платформах |
| при запросе более 4 гигабайт с помощью нескольких диапазонов |
| возвращалась некорректная длина ответа. |
| </para> |
| <para lang="en"> |
| incorrect response length was returned |
| on 32-bit platforms when requesting more than 4 gigabytes |
| with multiple ranges. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива "expires modified" и |
| обработка строки If-Range заголовка запроса |
| не учитывали время последнего изменения ответа, |
| если использовалось проксирование без кэширования. |
| </para> |
| <para lang="en"> |
| the "expires modified" directive and |
| processing of the "If-Range" request header line |
| did not use the response last modification time |
| if proxying without caching was used. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.4" date="2017-08-08"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_mirror_module. |
| </para> |
| <para lang="en"> |
| the ngx_http_mirror_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| клиентские соединения могли сбрасываться при тестировании конфигурации, |
| если использовался параметр reuseport директивы listen на Linux. |
| </para> |
| <para lang="en"> |
| client connections might be dropped during configuration testing |
| when using the "reuseport" parameter of the "listen" directive on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| тело запроса могло быть недоступно в подзапросах, |
| если оно было сохранено в файл и использовалось проксирование. |
| </para> |
| <para lang="en"> |
| request body might not be available in subrequests |
| if it was saved to a file and proxying was used. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| очистка кэша по max_size не работала на Windows. |
| </para> |
| <para lang="en"> |
| cleaning cache based on the "max_size" parameter did not work on Windows. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| любое выделение разделяемой памяти на Windows требовало 4096 байт памяти. |
| </para> |
| <para lang="en"> |
| any shared memory allocation required 4096 bytes on Windows. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы zone в блоке upstream на Windows |
| рабочий процесс мог завершаться аварийно. |
| </para> |
| <para lang="en"> |
| nginx worker might be terminated abnormally |
| when using the "zone" directive inside the "upstream" block on Windows. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.3" date="2017-07-11"> |
| |
| <change type="security"> |
| <para lang="ru"> |
| специально созданный запрос мог вызвать целочисленное переполнение |
| в range-фильтре и последующую некорректную обработку запрошенных диапазонов, |
| что потенциально могло привести к утечке конфиденциальной информации |
| (CVE-2017-7529). |
| </para> |
| <para lang="en"> |
| a specially crafted request might result in an integer overflow |
| and incorrect processing of ranges in the range filter, |
| potentially resulting in sensitive information leak |
| (CVE-2017-7529). |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.2" date="2017-06-27"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь при запросе диапазона, начинающегося с 0, из пустого файла |
| nginx возвращает ответ 200 вместо 416. |
| </para> |
| <para lang="en"> |
| nginx now returns 200 instead of 416 |
| when a range starting with 0 is requested from an empty file. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива add_trailer.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| the "add_trailer" directive.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался под Cygwin и NetBSD; |
| ошибка появилась в 1.13.0. |
| </para> |
| <para lang="en"> |
| nginx could not be built on Cygwin and NetBSD; |
| the bug had appeared in 1.13.0. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался под MSYS2 / MinGW 64-bit.<br/> |
| Спасибо Orgad Shaneh. |
| </para> |
| <para lang="en"> |
| nginx could not be built under MSYS2 / MinGW 64-bit.<br/> |
| Thanks to Orgad Shaneh. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании SSI с большим количеством подзапросов |
| и proxy_pass с переменными |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using SSI with many includes |
| and proxy_pass with variables. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.1" date="2017-05-30"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь в качестве параметра директивы set_real_ip_from |
| можно указывать имя хоста. |
| </para> |
| <para lang="en"> |
| now a hostname can be used |
| as the "set_real_ip_from" directive parameter. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| улучшения в скриптах подсветки синтаксиса для vim. |
| </para> |
| <para lang="en"> |
| vim syntax highlighting scripts improvements. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива worker_cpu_affinity теперь работает на DragonFly BSD.<br/> |
| Спасибо Sepherosa Ziehau. |
| </para> |
| <para lang="en"> |
| the "worker_cpu_affinity" directive now works on DragonFly BSD.<br/> |
| Thanks to Sepherosa Ziehau. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| SSL renegotiation в соединениях к бэкендам |
| не работал при использовании OpenSSL до 1.1.0. |
| </para> |
| <para lang="en"> |
| SSL renegotiation on backend connections |
| did not work when using OpenSSL before 1.1.0. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| nginx не собирался с Oracle Developer Studio 12.5. |
| </para> |
| <para lang="en"> |
| nginx could not be built with Oracle Developer Studio 12.5. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| теперь cache manager пропускает заблокированные записи |
| при очистке кэша по max_size. |
| </para> |
| <para lang="en"> |
| now cache manager ignores long locked cache entries |
| when cleaning cache based on the "max_size" parameter. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| клиентские SSL-соединения сразу закрывались, если использовался |
| отложенный accept и параметр proxy_protocol директивы listen. |
| </para> |
| <para lang="en"> |
| client SSL connections were immediately closed if deferred accept |
| and the "proxy_protocol" parameter of the "listen" directive were used. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве proxy_cache_background_update. |
| </para> |
| <para lang="en"> |
| in the "proxy_cache_background_update" directive. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| теперь директива tcp_nodelay |
| устанавливает опцию TCP_NODELAY перед SSL handshake. |
| </para> |
| <para lang="en"> |
| now the "tcp_nodelay" directive |
| sets the TCP_NODELAY option before an SSL handshake. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.13.0" date="2017-04-25"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь SSL renegotiation допускается в соединениях к бэкендам. |
| </para> |
| <para lang="en"> |
| SSL renegotiation is now allowed on backend connections. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметры rcvbuf и sndbuf директив listen |
| в почтовом прокси-сервере и модуле stream. |
| </para> |
| <para lang="en"> |
| the "rcvbuf" and "sndbuf" parameters of the "listen" directives |
| of the mail proxy and stream modules. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы return и error_page теперь могут использоваться для возврата |
| перенаправлений с кодом 308.<br/> |
| Спасибо Simon Leblanc. |
| </para> |
| <para lang="en"> |
| the "return" and "error_page" directives can now be used to return 308 |
| redirections.<br/> |
| Thanks to Simon Leblanc. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр TLSv1.3 в директиве ssl_protocols. |
| </para> |
| <para lang="en"> |
| the "TLSv1.3" parameter of the "ssl_protocols" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| при логгировании сигналов теперь указывается PID отправившего сигнал процесса. |
| </para> |
| <para lang="en"> |
| when logging signals nginx now logs PID of the process which sent the signal. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок выделения памяти. |
| </para> |
| <para lang="en"> |
| in memory allocation error handling. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если сервер в модуле stream слушал на wildcard-адресе, |
| исходящий адрес ответного UDP-пакета |
| мог отличаться от адреса назначения исходного пакета. |
| </para> |
| <para lang="en"> |
| if a server in the stream module listened on a wildcard address, |
| the source address of a response UDP datagram could differ |
| from the original datagram destination address. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.13" date="2017-04-04"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр http_429 в директивах proxy_next_upstream, fastcgi_next_upstream, |
| scgi_next_upstream и uwsgi_next_upstream.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", |
| "scgi_next_upstream", and "uwsgi_next_upstream" directives.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок выделения памяти. |
| </para> |
| <para lang="en"> |
| in memory allocation error handling. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директив sendfile и timer_resolution на Linux |
| запросы могли зависать. |
| </para> |
| <para lang="en"> |
| requests might hang |
| when using the "sendfile" and "timer_resolution" directives on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании с подзапросами директив sendfile и aio_write |
| запросы могли зависать. |
| </para> |
| <para lang="en"> |
| requests might hang |
| when using the "sendfile" and "aio_write" directives with subrequests. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| запросы могли зависать |
| при использовании с подзапросами директив limit_rate, sendfile_max_chunk, |
| limit_req или метода $r->sleep() встроенного перла. |
| </para> |
| <para lang="en"> |
| requests might hang |
| when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives, |
| or the $r->sleep() embedded perl method with subrequests. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_slice_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_slice_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.12" date="2017-03-24"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx мог нагружать процессор; |
| ошибка появилась в 1.11.11. |
| </para> |
| <para lang="en"> |
| nginx might hog CPU; |
| the bug had appeared in 1.11.11. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.11" date="2017-03-21"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива worker_shutdown_timeout. |
| </para> |
| <para lang="en"> |
| the "worker_shutdown_timeout" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| улучшения в скриптах подсветки синтаксиса для vim.<br/> |
| Спасибо Wei-Ko Kao. |
| </para> |
| <para lang="en"> |
| vim syntax highlighting scripts improvements.<br/> |
| Thanks to Wei-Ko Kao. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при попытке установить переменную $limit_rate в пустую строку |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if the $limit_rate variable was set to an empty string. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директивы proxy_cache_background_update, fastcgi_cache_background_update, |
| scgi_cache_background_update и uwsgi_cache_background_update |
| могли работать некорректно, если использовалась директива if. |
| </para> |
| <para lang="en"> |
| the "proxy_cache_background_update", "fastcgi_cache_background_update", |
| "scgi_cache_background_update", and "uwsgi_cache_background_update" directives |
| might work incorrectly if the "if" directive was used. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в рабочем процессе мог произойти segmentation fault, |
| если количество large_client_header_buffers в виртуальном сервере |
| отличалось от такового в сервере по умолчанию. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if number of large_client_header_buffers in a virtual server |
| was different from the one in the default server. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в почтовом прокси-сервере. |
| </para> |
| <para lang="en"> |
| in the mail proxy server. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.10" date="2017-02-14"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| формат заголовка кэша был изменен, |
| ранее закэшированные ответы будут загружены заново. |
| </para> |
| <para lang="en"> |
| cache header format has been changed, |
| previously cached responses will be invalidated. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка расширений stale-while-revalidate и stale-if-error |
| в строке "Cache-Control" в заголовке ответа бэкенда. |
| </para> |
| <para lang="en"> |
| support of "stale-while-revalidate" and "stale-if-error" extensions |
| in the "Cache-Control" backend response header line. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы proxy_cache_background_update, fastcgi_cache_background_update, |
| scgi_cache_background_update и uwsgi_cache_background_update. |
| </para> |
| <para lang="en"> |
| the "proxy_cache_background_update", "fastcgi_cache_background_update", |
| "scgi_cache_background_update", and "uwsgi_cache_background_update" directives. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь nginx может кэшировать ответы |
| со строкой Vary заголовка длиной до 128 символов |
| (вместо 42 символов в предыдущих версиях). |
| </para> |
| <para lang="en"> |
| nginx is now able to cache responses |
| with the "Vary" header line up to 128 characters long |
| (instead of 42 characters in previous versions). |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр build директивы server_tokens.<br/> |
| Спасибо Tom Thorogood. |
| </para> |
| <para lang="en"> |
| the "build" parameter of the "server_tokens" directive.<br/> |
| Thanks to Tom Thorogood. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса |
| в логах могли появляться сообщения "[crit] SSL_write() failed". |
| </para> |
| <para lang="en"> |
| "[crit] SSL_write() failed" messages might appear in logs |
| when handling requests with the "Expect: 100-continue" request header line. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| модуль ngx_http_slice_module не работал в именованных location'ах. |
| </para> |
| <para lang="en"> |
| the ngx_http_slice_module did not work in named locations. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using AIO after an "X-Accel-Redirect" redirection. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| уменьшено потребление памяти для долгоживущих запросов, использующих сжатие. |
| </para> |
| <para lang="en"> |
| reduced memory consumption for long-lived requests using gzipping. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.9" date="2017-01-24"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании модуля stream nginx мог нагружать процессор; |
| ошибка появилась в 1.11.5. |
| </para> |
| <para lang="en"> |
| nginx might hog CPU when using the stream module; |
| the bug had appeared in 1.11.5. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| метод аутентификации EXTERNAL в почтовом прокси-сервере |
| можно было использовать, даже если он не был разрешён в конфигурации. |
| </para> |
| <para lang="en"> |
| EXTERNAL authentication mechanism in mail proxy |
| was accepted even if it was not enabled in the configuration. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы ssl_verify_client модуля stream |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if the "ssl_verify_client" directive of the stream module was used. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива ssl_verify_client модуля stream могла не работать. |
| </para> |
| <para lang="en"> |
| the "ssl_verify_client" directive of the stream module might not work. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при исчерпании рабочим процессом свободных соединений |
| keepalive-соединения могли закрываться излишне агрессивно.<br/> |
| Спасибо Joel Cunningham. |
| </para> |
| <para lang="en"> |
| closing keepalive connections due to no free worker connections |
| might be too aggressive.<br/> |
| Thanks to Joel Cunningham. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы sendfile на FreeBSD и macOS |
| мог возвращаться некорректный ответ; |
| ошибка появилась в 1.7.8. |
| </para> |
| <para lang="en"> |
| an incorrect response might be returned |
| when using the "sendfile" directive on FreeBSD and macOS; |
| the bug had appeared in 1.7.8. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы aio_write |
| ответ мог сохраняться в кэш не полностью. |
| </para> |
| <para lang="en"> |
| a truncated response might be stored in cache |
| when using the "aio_write" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы aio_write |
| могла происходить утечка сокетов. |
| </para> |
| <para lang="en"> |
| a socket leak might occur |
| when using the "aio_write" directive. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.8" date="2016-12-27"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива absolute_redirect. |
| </para> |
| <para lang="en"> |
| the "absolute_redirect" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр escape директивы log_format. |
| </para> |
| <para lang="en"> |
| the "escape" parameter of the "log_format" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| проверка клиентских SSL-сертификатов в модуле stream. |
| </para> |
| <para lang="en"> |
| client SSL certificates verification in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива ssl_session_ticket_key поддерживает |
| шифрование TLS session tickets с помощью AES256 |
| при использовании с 80-байтными ключами. |
| </para> |
| <para lang="en"> |
| the "ssl_session_ticket_key" directive supports |
| AES256 encryption of TLS session tickets |
| when used with 80-byte keys. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка vim-commentary в скриптах для vim.<br/> |
| Спасибо Armin Grodon. |
| </para> |
| <para lang="en"> |
| vim-commentary support in vim scripts.<br/> |
| Thanks to Armin Grodon. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| рекурсия при получении значений переменных не ограничивалась. |
| </para> |
| <para lang="en"> |
| recursion when evaluating variables was not limited. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_stream_ssl_preread_module. |
| </para> |
| <para lang="en"> |
| in the ngx_stream_ssl_preread_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если сервер, описанный в блоке upstream в модуле stream, |
| был признан неработающим, то после истечения fail_timeout он |
| признавался работающим только после завершения тестового соединения; |
| теперь достаточно, чтобы соединение было успешно установлено. |
| </para> |
| <para lang="en"> |
| if a server in an upstream in the stream module failed, |
| it was considered alive only when a test connection sent |
| to it after fail_timeout was closed; |
| now a successfully established connection is enough. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx/Windows не собирался с 64-битным Visual Studio. |
| </para> |
| <para lang="en"> |
| nginx/Windows could not be built with 64-bit Visual Studio. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx/Windows не собирался с OpenSSL 1.1.0. |
| </para> |
| <para lang="en"> |
| nginx/Windows could not be built with OpenSSL 1.1.0. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.7" date="2016-12-13"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| переменная $ssl_client_verify теперь |
| в случае ошибки проверки клиентского сертификата |
| содержит строку с описанием ошибки, |
| например, "FAILED:certificate has expired". |
| </para> |
| <para lang="en"> |
| now in case of a client certificate verification error |
| the $ssl_client_verify variable contains a string with the failure reason, |
| for example, "FAILED:certificate has expired". |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменные $ssl_ciphers, $ssl_curves, |
| $ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain. |
| </para> |
| <para lang="en"> |
| the $ssl_ciphers, $ssl_curves, |
| $ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр volatile директивы map. |
| </para> |
| <para lang="en"> |
| the "volatile" parameter of the "map" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при сборке динамических модулей |
| не учитывались заданные для модуля зависимости. |
| </para> |
| <para lang="en"> |
| dependencies specified for a module |
| were ignored while building dynamic modules. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 и директив limit_req или auth_request |
| тело запроса могло быть повреждено; |
| ошибка появилась в 1.11.0. |
| </para> |
| <para lang="en"> |
| when using HTTP/2 and the "limit_req" or "auth_request" directives |
| client request body might be corrupted; |
| the bug had appeared in 1.11.0. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault; |
| ошибка появилась в 1.11.3. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process when using HTTP/2; |
| the bug had appeared in 1.11.3. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_mp4_module.<br/> |
| Спасибо Congcong Hu. |
| </para> |
| <para lang="en"> |
| in the ngx_http_mp4_module.<br/> |
| Thanks to Congcong Hu. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_perl_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_perl_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.6" date="2016-11-15"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| формат переменных $ssl_client_s_dn и $ssl_client_i_dn |
| изменён на соответствующий RFC 2253 (RFC 4514); |
| значения в старом формате доступны через переменные |
| $ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy. |
| </para> |
| <para lang="en"> |
| format of the $ssl_client_s_dn and $ssl_client_i_dn variables |
| has been changed to follow RFC 2253 (RFC 4514); |
| values in the old format are available in |
| the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| при сохранении временных файлов в каталоге кэша |
| они теперь располагаются не в отдельном подкаталоге для временных файлов, |
| а в том же подкаталоге, что и соответствующие файлы в кэше. |
| </para> |
| <para lang="en"> |
| when storing temporary files in a cache directory |
| they will be stored in the same subdirectories as corresponding cache files |
| instead of a separate subdirectory for temporary files. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка метода аутентификации EXTERNAL |
| в почтовом прокси-сервере.<br/> |
| Спасибо Robert Norris. |
| </para> |
| <para lang="en"> |
| EXTERNAL authentication mechanism support |
| in mail proxy.<br/> |
| Thanks to Robert Norris. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка WebP в модуле ngx_http_image_filter_module. |
| </para> |
| <para lang="en"> |
| WebP support in the ngx_http_image_filter_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива proxy_method поддерживает переменные.<br/> |
| Спасибо Дмитрию Лазуркину. |
| </para> |
| <para lang="en"> |
| variables support in the "proxy_method" directive.<br/> |
| Thanks to Dmitry Lazurkin. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива http2_max_requests в модуле ngx_http_v2_module. |
| </para> |
| <para lang="en"> |
| the "http2_max_requests" directive in the ngx_http_v2_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset, |
| scgi_cache_max_range_offset и uwsgi_cache_max_range_offset. |
| </para> |
| <para lang="en"> |
| the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset", |
| "scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| плавное завершение старых рабочих процессов могло занимать бесконечное время |
| при использовании HTTP/2. |
| </para> |
| <para lang="en"> |
| graceful shutdown of old worker processes might require infinite time |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_mp4_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_mp4_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при проксировании WebSocket-соединений и включённом кэшировании |
| в логах могли появляться сообщения "ignore long locked inactive cache entry". |
| </para> |
| <para lang="en"> |
| "ignore long locked inactive cache entry" alerts might appear in logs |
| when proxying WebSocket connections with caching enabled. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если во время SSL handshake с бэкендом происходил таймаут, |
| nginx ничего не писал в лог |
| и возвращал ответ с кодом 502 вместо 504. |
| </para> |
| <para lang="en"> |
| nginx did not write anything to log |
| and returned a response with code 502 instead of 504 |
| when a timeout occurred during an SSL handshake to a backend. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.5" date="2016-10-11"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| параметр configure --with-ipv6 упразднён, |
| поддержка IPv6 теперь собирается автоматически. |
| </para> |
| <para lang="en"> |
| the --with-ipv6 configure option was removed, |
| now IPv6 support is configured automatically. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь, если в блоке upstream не оказалось доступных серверов, |
| nginx не сбрасывает статистику ошибок всех серверов, как делал ранее, |
| а ожидает истечения fail_timeout. |
| </para> |
| <para lang="en"> |
| now if there are no available servers in an upstream, |
| nginx will not reset number of failures of all servers as it previously did, |
| but will wait for fail_timeout to expire. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_ssl_preread_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_ssl_preread_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива server в блоке upstream поддерживает параметр max_conns. |
| </para> |
| <para lang="en"> |
| the "server" directive in the "upstream" context supports |
| the "max_conns" parameter. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр configure --with-compat. |
| </para> |
| <para lang="en"> |
| the --with-compat configure option. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметры manager_files, manager_threshold и manager_sleep |
| директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и |
| uwsgi_cache_path. |
| </para> |
| <para lang="en"> |
| "manager_files", "manager_threshold", and "manager_sleep" parameters |
| of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and |
| "uwsgi_cache_path" directives. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при сборке perl-модуля не использовались флаги, |
| заданные с помощью параметра configure --with-ld-opt. |
| </para> |
| <para lang="en"> |
| flags passed by the --with-ld-opt configure option |
| were not used while building perl module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве add_after_body при использовании совместно с директивой sub_filter. |
| </para> |
| <para lang="en"> |
| in the "add_after_body" directive when used with the "sub_filter" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в переменной $realip_remote_addr. |
| </para> |
| <para lang="en"> |
| in the $realip_remote_addr variable. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директивы dav_access, proxy_store_access, fastcgi_store_access, |
| scgi_store_access и uwsgi_store_access |
| игнорировали права, заданные для пользователя. |
| </para> |
| <para lang="en"> |
| the "dav_access", "proxy_store_access", "fastcgi_store_access", |
| "scgi_store_access", and "uwsgi_store_access" directives |
| ignored permissions specified for user. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| unix domain listen-сокеты могли не наследоваться |
| при обновлении исполняемого файла на Linux. |
| </para> |
| <para lang="en"> |
| unix domain listen sockets might not be inherited |
| during binary upgrade on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx возвращал ошибку 400 на запросы |
| с символом "-" в HTTP-методе. |
| </para> |
| <para lang="en"> |
| nginx returned the 400 response on requests |
| with the "-" character in the HTTP method. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.4" date="2016-09-13"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $upstream_bytes_received. |
| </para> |
| <para lang="en"> |
| the $upstream_bytes_received variable. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменные $bytes_received, $session_time, $protocol, $status, |
| $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, |
| $upstream_connect_time, $upstream_first_byte_time |
| и $upstream_session_time в модуле stream. |
| </para> |
| <para lang="en"> |
| the $bytes_received, $session_time, $protocol, $status, |
| $upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, |
| $upstream_connect_time, $upstream_first_byte_time, |
| and $upstream_session_time variables in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_log_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_log_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр proxy_protocol в директиве listen, |
| переменные $proxy_protocol_addr и $proxy_protocol_port |
| в модуле stream. |
| </para> |
| <para lang="en"> |
| the "proxy_protocol" parameter of the "listen" directive, |
| the $proxy_protocol_addr and $proxy_protocol_port variables |
| in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_realip_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_realip_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался с модулем stream и модулем ngx_http_ssl_module, |
| но без модуля ngx_stream_ssl_module; |
| ошибка появилась в 1.11.3. |
| </para> |
| <para lang="en"> |
| nginx could not be built with the stream module and the ngx_http_ssl_module, |
| but without ngx_stream_ssl_module; |
| the bug had appeared in 1.11.3. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась; |
| ошибка появилась в 1.11.2. |
| </para> |
| <para lang="en"> |
| the IP_BIND_ADDRESS_NO_PORT socket option was not used; |
| the bug had appeared in 1.11.2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в параметре ranges директивы geo. |
| </para> |
| <para lang="en"> |
| in the "ranges" parameter of the "geo" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директив "aio threads" и sendfile |
| мог возвращаться некорректный ответ; ошибка появилась в 1.9.13. |
| </para> |
| <para lang="en"> |
| an incorrect response might be returned |
| when using the "aio threads" and "sendfile" directives; |
| the bug had appeared in 1.9.13. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.3" date="2016-07-26"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь accept_mutex по умолчанию выключен. |
| </para> |
| <para lang="en"> |
| now the "accept_mutex" directive is turned off by default. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь nginx использует EPOLLEXCLUSIVE на Linux. |
| </para> |
| <para lang="en"> |
| now nginx uses EPOLLEXCLUSIVE on Linux. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_geo_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_geo_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_geoip_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_geoip_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_split_clients_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_split_clients_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы proxy_pass и proxy_ssl_name в модуле stream |
| поддерживают переменные. |
| </para> |
| <para lang="en"> |
| variables support |
| in the "proxy_pass" and "proxy_ssl_name" directives in the stream module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| утечки сокетов при использовании HTTP/2. |
| </para> |
| <para lang="en"> |
| socket leak when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в configure.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in configure tests.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.2" date="2016-07-05"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь nginx всегда использует внутренние реализации MD5 и SHA1; |
| параметры configure --with-md5 и --with-sha1 упразднены. |
| </para> |
| <para lang="en"> |
| now nginx always uses internal MD5 and SHA1 implementations; |
| the --with-md5 and --with-sha1 configure options were canceled. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка переменных в модуле stream. |
| </para> |
| <para lang="en"> |
| variables support in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_map_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_map_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_stream_return_module. |
| </para> |
| <para lang="en"> |
| the ngx_stream_return_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| в директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind |
| теперь можно указывать порт. |
| </para> |
| <para lang="en"> |
| a port can be specified in the "proxy_bind", "fastcgi_bind", |
| "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь nginx использует опцию сокета IP_BIND_ADDRESS_NO_PORT, если она доступна. |
| </para> |
| <para lang="en"> |
| now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 и директивы proxy_request_buffering |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using HTTP/2 and the "proxy_request_buffering" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| к запросам, передаваемым на бэкенд, |
| всегда добавлялась строка заголовка "Content-Length", |
| даже если у запроса не было тела. |
| </para> |
| <para lang="en"> |
| the "Content-Length" request header line |
| was always added to requests passed to backends, |
| including requests without body, |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| в логах могли появляться сообщения "http request count is zero". |
| </para> |
| <para lang="en"> |
| "http request count is zero" alerts might appear in logs |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы sub_filter |
| могло буферизироваться больше данных, чем это необходимо; |
| проблема появилась в 1.9.4. |
| </para> |
| <para lang="en"> |
| unnecessary buffering might occur |
| when using the "sub_filter" directive; |
| the issue had appeared in 1.9.4. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.1" date="2016-05-31"> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при записи тела специально созданного запроса во временный файл |
| в рабочем процессе мог происходить segmentation fault |
| (CVE-2016-4450); |
| ошибка появилась в 1.3.9. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| while writing a specially crafted request body to a temporary file |
| (CVE-2016-4450); |
| the bug had appeared in 1.3.9. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.11.0" date="2016-05-24"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр transparent директив proxy_bind, fastcgi_bind, |
| memcached_bind, scgi_bind и uwsgi_bind. |
| </para> |
| <para lang="en"> |
| the "transparent" parameter of the "proxy_bind", "fastcgi_bind", |
| "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $request_id. |
| </para> |
| <para lang="en"> |
| the $request_id variable. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива map поддерживает комбинации нескольких переменных |
| в качестве результирующих значений. |
| </para> |
| <para lang="en"> |
| the "map" directive supports combinations of multiple variables |
| as resulting values. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь при использовании метода epoll |
| nginx проверяет, поддерживает ли ядро события EPOLLRDHUP, |
| и соответственно оптимизирует обработку соединений. |
| </para> |
| <para lang="en"> |
| now nginx checks if EPOLLRDHUP events are supported by kernel, |
| and optimizes connection handling accordingly |
| if the "epoll" method is used. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы ssl_certificate и ssl_certificate_key |
| теперь можно указывать несколько раз |
| для загрузки сертификатов разных типов (например, RSA и ECDSA). |
| </para> |
| <para lang="en"> |
| the "ssl_certificate" and "ssl_certificate_key" directives |
| can be specified multiple times |
| to load certificates of different types (for example, RSA and ECDSA). |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| при использовании OpenSSL 1.0.2 и новее |
| с помощью директивы ssl_ecdh_curve теперь можно задать список кривых; |
| по умолчанию используется встроенный в OpenSSL список кривых. |
| </para> |
| <para lang="en"> |
| the "ssl_ecdh_curve" directive now allows specifying a list of curves |
| when using OpenSSL 1.0.2 or newer; |
| by default a list built into OpenSSL is used. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| для использования DHE-шифров теперь надо явно задавать файл параметров |
| с помощью директивы ssl_dhparam. |
| </para> |
| <para lang="en"> |
| to use DHE ciphers it is now required to specify parameters |
| using the "ssl_dhparam" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $proxy_protocol_port. |
| </para> |
| <para lang="en"> |
| the $proxy_protocol_port variable. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $realip_remote_port в модуле ngx_http_realip_module. |
| </para> |
| <para lang="en"> |
| the $realip_remote_port variable in the ngx_http_realip_module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_realip_module теперь позволяет устанавливать |
| не только адрес, но и порт клиента. |
| </para> |
| <para lang="en"> |
| the ngx_http_realip_module is now able to set the client port |
| in addition to the address. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| при попытке запросить виртуальный сервер, |
| отличающийся от согласованного в процессе SSL handshake, |
| теперь возвращается ответ "421 Misdirected Request"; |
| это улучшает совместимость с некоторыми HTTP/2-клиентами |
| в случае использования клиентских сертификатов. |
| </para> |
| <para lang="en"> |
| the "421 Misdirected Request" response now used |
| when rejecting requests to a virtual server |
| different from one negotiated during an SSL handshake; |
| this improves interoperability with some HTTP/2 clients |
| when using client certificates. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| HTTP/2-клиенты теперь могут сразу присылать тело запроса; |
| директива http2_body_preread_size позволяет указать размер буфера, который |
| будет использоваться до того, как nginx начнёт читать тело. |
| </para> |
| <para lang="en"> |
| HTTP/2 clients can now start sending request body immediately; |
| the "http2_body_preread_size" directive controls size of the buffer used |
| before nginx will start reading client request body. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы proxy_cache_bypass |
| не обновлялись закэшированные ошибочные ответы. |
| </para> |
| <para lang="en"> |
| cached error responses were not updated |
| when using the "proxy_cache_bypass" directive. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.15" date="2016-04-19"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HHVM в качестве FastCGI-сервера |
| могли возникать ошибки "recv() failed". |
| </para> |
| <para lang="en"> |
| "recv() failed" errors might occur |
| when using HHVM as a FastCGI server. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 и директив limit_req или auth_request |
| при чтении тела запроса мог произойти таймаут |
| или ошибка "client violated flow control"; |
| ошибка появилась в 1.9.14. |
| </para> |
| <para lang="en"> |
| when using HTTP/2 and the "limit_req" or "auth_request" directives |
| a timeout or a "client violated flow control" error |
| might occur while reading client request body; |
| the bug had appeared in 1.9.14. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| при использовании HTTP/2 ответ мог не показываться некоторыми браузерами, |
| если тело запроса было прочитано не целиком; |
| ошибка появилась в 1.9.14. |
| </para> |
| <para lang="en"> |
| a response might not be shown by some browsers |
| if HTTP/2 was used and client request body was not fully read; |
| the bug had appeared in 1.9.14. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы "aio threads" соединения могли зависать.<br/> |
| Спасибо Mindaugas Rasiukevicius. |
| </para> |
| <para lang="en"> |
| connections might hang when using the "aio threads" directive.<br/> |
| Thanks to Mindaugas Rasiukevicius. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.14" date="2016-04-05"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| совместимость с OpenSSL 1.1.0. |
| </para> |
| <para lang="en"> |
| OpenSSL 1.1.0 compatibility. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы proxy_request_buffering, fastcgi_request_buffering, |
| scgi_request_buffering и uwsgi_request_buffering |
| теперь работают при использовании HTTP/2. |
| </para> |
| <para lang="en"> |
| the "proxy_request_buffering", "fastcgi_request_buffering", |
| "scgi_request_buffering", and "uwsgi_request_buffering" directives |
| now work with HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| в логах могли появляться сообщения "zero size buf in output". |
| </para> |
| <para lang="en"> |
| "zero size buf in output" alerts might appear in logs |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| директива client_max_body_size могла работать неверно. |
| </para> |
| <para lang="en"> |
| the "client_max_body_size" directive might work incorrectly |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| незначительных ошибок логгирования. |
| </para> |
| <para lang="en"> |
| of minor bugs in logging. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.13" date="2016-03-29"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| неидемпотентные запросы (POST, LOCK, PATCH) |
| теперь по умолчанию не передаются на другой сервер, |
| если запрос уже был отправлен на бэкенд; |
| параметр non_idempotent директивы proxy_next_upstream |
| явно разрешает повторять такие запросы. |
| </para> |
| <para lang="en"> |
| non-idempotent requests (POST, LOCK, PATCH) |
| are no longer passed to the next server by default |
| if a request has been sent to a backend; |
| the "non_idempotent" parameter of the "proxy_next_upstream" directive |
| explicitly allows retrying such requests. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_perl_module теперь можно собрать динамически. |
| </para> |
| <para lang="en"> |
| the ngx_http_perl_module can be built dynamically. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка UDP в модуле stream. |
| </para> |
| <para lang="en"> |
| UDP support in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива aio_write. |
| </para> |
| <para lang="en"> |
| the "aio_write" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь cache manager следит за количеством элементов в кэше |
| и старается не допускать переполнений зоны разделяемой памяти. |
| </para> |
| <para lang="en"> |
| now cache manager monitors number of elements in caches |
| and tries to avoid cache keys zone overflows. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директив sendfile и aio с подзапросами |
| в логах могли появляться сообщения "task already active" и "second aio post". |
| </para> |
| <para lang="en"> |
| "task already active" and "second aio post" alerts might appear in logs |
| when using the "sendfile" and "aio" directives with subrequests. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании кэширования |
| в логах могли появляться сообщения "zero size buf in output", |
| если клиент закрывал соединение преждевременно. |
| </para> |
| <para lang="en"> |
| "zero size buf in output" alerts might appear in logs |
| if caching was used |
| and a client closed a connection prematurely. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании кэширования |
| соединения с клиентами могли закрываться без необходимости.<br/> |
| Спасибо Justin Li. |
| </para> |
| <para lang="en"> |
| connections with clients might be closed needlessly |
| if caching was used.<br/> |
| Thanks to Justin Li. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx мог нагружать процессор |
| при использовании директивы sendfile на Linux и Solaris, |
| если отправляемый файл был изменён в процессе отправки. |
| </para> |
| <para lang="en"> |
| nginx might hog CPU |
| if the "sendfile" directive was used on Linux or Solaris |
| and a file being sent was changed during sending. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директив sendfile и "aio threads" |
| соединения могли зависать. |
| </para> |
| <para lang="en"> |
| connections might hang |
| when using the "sendfile" and "aio threads" directives. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директивах proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass |
| при использовании переменных.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives |
| when using variables.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_sub_filter_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_sub_filter_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если в закэшированном соединении к бэкенду происходила ошибка, |
| запрос передавался на другой сервер |
| без учёта директивы proxy_next_upstream. |
| </para> |
| <para lang="en"> |
| if an error occurred in a cached backend connection, |
| the request was passed to the next server |
| regardless of the proxy_next_upstream directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| ошибки "CreateFile() failed" при создании временных файлов на Windows. |
| </para> |
| <para lang="en"> |
| "CreateFile() failed" errors when creating temporary files on Windows. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.12" date="2016-02-24"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| кодирование Хаффмана заголовков ответов в HTTP/2.<br/> |
| Спасибо Владу Краснову. |
| </para> |
| <para lang="en"> |
| Huffman encoding of response headers in HTTP/2.<br/> |
| Thanks to Vlad Krasnov. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива worker_cpu_affinity теперь поддерживает более 64 процессоров. |
| </para> |
| <para lang="en"> |
| the "worker_cpu_affinity" directive now supports more than 64 CPUs. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| совместимость со сторонними модулями на C++; |
| ошибка появилась в 1.9.11.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| compatibility with 3rd party C++ modules; |
| the bug had appeared in 1.9.11.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался статически с OpenSSL на Linux; |
| ошибка появилась в 1.9.11. |
| </para> |
| <para lang="en"> |
| nginx could not be built statically with OpenSSL on Linux; |
| the bug had appeared in 1.9.11. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива "add_header ... always" с пустым значением |
| не удаляла из заголовков ошибочных ответов |
| строки Last-Modified и ETag. |
| </para> |
| <para lang="en"> |
| the "add_header ... always" directive with an empty value |
| did not delete "Last-Modified" and "ETag" header lines |
| from error responses. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| при использовании OpenSSL 1.0.2f в логах могли появляться |
| сообщения "called a function you should not call" и |
| "shutdown while in init". |
| </para> |
| <para lang="en"> |
| "called a function you should not call" |
| and "shutdown while in init" messages might appear in logs |
| when using OpenSSL 1.0.2f. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| ошибочные заголовки могли логгироваться некорректно. |
| </para> |
| <para lang="en"> |
| invalid headers might be logged incorrectly. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| утечки сокетов при использовании HTTP/2. |
| </para> |
| <para lang="en"> |
| socket leak when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.11" date="2016-02-09"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь resolver поддерживает TCP. |
| </para> |
| <para lang="en"> |
| TCP support in resolver. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| динамические модули. |
| </para> |
| <para lang="en"> |
| dynamic modules. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| переменная $request_length не учитывала размер заголовков запроса. |
| </para> |
| <para lang="en"> |
| the $request_length variable did not include size of request headers |
| when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.10" date="2016-01-26"> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при использовании директивы resolver |
| во время обработки ответов DNS-сервера |
| могло происходить разыменование некорректного адреса, |
| что позволяло атакующему, |
| имеющему возможность подделывать UDP-пакеты от DNS-сервера, |
| вызвать segmentation fault в рабочем процессе (CVE-2016-0742). |
| </para> |
| <para lang="en"> |
| invalid pointer dereference might occur |
| during DNS server response processing |
| if the "resolver" directive was used, |
| allowing an attacker who is able to forge UDP packets from the DNS server |
| to cause segmentation fault in a worker process (CVE-2016-0742). |
| </para> |
| </change> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при использовании директивы resolver |
| во время обработки CNAME-записей |
| могло произойти обращение к ранее освобождённой памяти, |
| что позволяло атакующему, |
| имеющему возможность инициировать преобразование произвольных имён в адреса, |
| вызвать segmentation fault в рабочем процессе, |
| а также потенциально могло иметь другие последствия (CVE-2016-0746). |
| </para> |
| <para lang="en"> |
| use-after-free condition might occur |
| during CNAME response processing |
| if the "resolver" directive was used, |
| allowing an attacker who is able to trigger name resolution |
| to cause segmentation fault in a worker process, |
| or might have potential other impact (CVE-2016-0746). |
| </para> |
| </change> |
| |
| <change type="security"> |
| <para lang="ru"> |
| при использовании директивы resolver |
| во время обработки CNAME-записей |
| не во всех случаях проверялось ограничение |
| на максимальное количество записей в цепочке, |
| что позволяло атакующему, |
| имеющему возможность инициировать преобразование произвольных имён в адреса, |
| вызвать чрезмерное потребление ресурсов рабочими процессами (CVE-2016-0747). |
| </para> |
| <para lang="en"> |
| CNAME resolution was insufficiently limited |
| if the "resolver" directive was used, |
| allowing an attacker who is able to trigger arbitrary name resolution |
| to cause excessive resource consumption in worker processes (CVE-2016-0747). |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр auto директивы worker_cpu_affinity. |
| </para> |
| <para lang="en"> |
| the "auto" parameter of the "worker_cpu_affinity" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| параметр proxy_protocol директивы listen не работал |
| с IPv6 listen-сокетами. |
| </para> |
| <para lang="en"> |
| the "proxy_protocol" parameter of the "listen" directive did not work |
| with IPv6 listen sockets. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы keepalive |
| соединения к бэкендам могли кэшироваться некорректно. |
| </para> |
| <para lang="en"> |
| connections to upstream servers might be cached incorrectly |
| when using the "keepalive" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| после перенаправления запроса с помощью X-Accel-Redirect |
| при проксировании использовался HTTP-метод оригинального запроса. |
| </para> |
| <para lang="en"> |
| proxying used the HTTP method of the original request |
| after an "X-Accel-Redirect" redirection. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.9" date="2015-12-09"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| проксирование в unix domain сокеты не работало при использовании переменных; |
| ошибка появилась в 1.9.8. |
| </para> |
| <para lang="en"> |
| proxying to unix domain sockets did not work when using variables; |
| the bug had appeared in 1.9.8. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.8" date="2015-12-08"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка pwritev(). |
| </para> |
| <para lang="en"> |
| pwritev() support. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива include в блоке upstream. |
| </para> |
| <para lang="en"> |
| the "include" directive inside the "upstream" block. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_slice_module. |
| </para> |
| <para lang="en"> |
| the ngx_http_slice_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании LibreSSL |
| в рабочем процессе мог произойти segmentation fault; |
| ошибка появилась в 1.9.6. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using LibreSSL; |
| the bug had appeared in 1.9.6. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx мог не собираться на OS X. |
| </para> |
| <para lang="en"> |
| nginx could not be built on OS X in some cases. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.7" date="2015-11-17"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр nohostname логгирования в syslog. |
| </para> |
| <para lang="en"> |
| the "nohostname" parameter of logging to syslog. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива proxy_cache_convert_head. |
| </para> |
| <para lang="en"> |
| the "proxy_cache_convert_head" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $realip_remote_addr в модуле ngx_http_realip_module. |
| </para> |
| <para lang="en"> |
| the $realip_remote_addr variable in the ngx_http_realip_module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива expires могла не срабатывать при использовании переменных. |
| </para> |
| <para lang="en"> |
| the "expires" directive might not work when using variables. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| в рабочем процессе мог произойти segmentation fault; |
| ошибка появилась в 1.9.6. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using HTTP/2; |
| the bug had appeared in 1.9.6. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| если nginx был собран с модулем ngx_http_v2_module, |
| протокол HTTP/2 мог быть использован клиентом, |
| даже если не был указан параметр http2 директивы listen. |
| </para> |
| <para lang="en"> |
| if nginx was built with the ngx_http_v2_module |
| it was possible to use the HTTP/2 protocol |
| even if the "http2" parameter of the "listen" directive was not specified. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_v2_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_v2_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.6" date="2015-10-27"> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 |
| в рабочем процессе мог произойти segmentation fault.<br/> |
| Спасибо Piotr Sikora и Denis Andzakovic. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using HTTP/2.<br/> |
| Thanks to Piotr Sikora and Denis Andzakovic. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании HTTP/2 переменная $server_protocol была пустой. |
| </para> |
| <para lang="en"> |
| the $server_protocol variable was empty when using HTTP/2. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| SSL-соединения к бэкендам в модуле stream |
| могли неожиданно завершаться по таймауту. |
| </para> |
| <para lang="en"> |
| backend SSL connections in the stream module |
| might be timed out unexpectedly. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании различных настроек ssl_session_cache |
| в разных виртуальных серверах |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if different ssl_session_cache settings were used |
| in different virtual servers. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx/Windows не собирался с MinGW gcc; |
| ошибка появилась в 1.9.4.<br/> |
| Спасибо Kouhei Sutou. |
| </para> |
| <para lang="en"> |
| nginx/Windows could not be built with MinGW gcc; |
| the bug had appeared in 1.9.4.<br/> |
| Thanks to Kouhei Sutou. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы timer_resolution на Windows время не обновлялось. |
| </para> |
| <para lang="en"> |
| time was not updated when the timer_resolution directive was used on Windows. |
| </para> |
| </change> |
| |
| <change> |
| <para lang="ru"> |
| Незначительные исправления и улучшения.<br/> |
| Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora. |
| </para> |
| <para lang="en"> |
| Miscellaneous minor fixes and improvements.<br/> |
| Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.5" date="2015-09-22"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module).<br/> |
| Спасибо Dropbox и Automattic за спонсирование разработки. |
| </para> |
| <para lang="en"> |
| the ngx_http_v2_module (replaces ngx_http_spdy_module).<br/> |
| Thanks to Dropbox and Automattic for sponsoring this work. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь по умолчанию директива output_buffers использует два буфера. |
| </para> |
| <para lang="en"> |
| now the "output_buffers" directive uses two buffers by default. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь nginx ограничивает максимальную вложенность подзапросов, |
| а не количество одновременных подзапросов. |
| </para> |
| <para lang="en"> |
| now nginx limits subrequests recursion, |
| not simultaneous subrequests. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь при возврате ответов из кэша nginx проверяет ключ полностью.<br/> |
| Спасибо Геннадию Махомеду и Сергею Брестеру. |
| </para> |
| <para lang="en"> |
| now nginx checks the whole cache key when returning a response from cache.<br/> |
| Thanks to Gena Makhomed and Sergey Brester. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании кэша |
| в логах могли появляться сообщения "header already sent"; |
| ошибка появилась в 1.7.5. |
| </para> |
| <para lang="en"> |
| "header already sent" alerts might appear in logs |
| when using cache; |
| the bug had appeared in 1.7.5. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании CephFS и директивы timer_resolution на Linux |
| в логах могли появляться сообщения |
| "writev() failed (4: Interrupted system call)". |
| </para> |
| <para lang="en"> |
| "writev() failed (4: Interrupted system call)" |
| errors might appear in logs |
| when using CephFS and the "timer_resolution" directive on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок конфигурации.<br/> |
| Спасибо Markus Linnala. |
| </para> |
| <para lang="en"> |
| in invalid configurations handling.<br/> |
| Thanks to Markus Linnala. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы sub_filter на уровне http |
| в рабочем процессе происходил segmentation fault; |
| ошибка появилась в 1.9.4. |
| </para> |
| <para lang="en"> |
| a segmentation fault occurred in a worker process |
| if the "sub_filter" directive was used at http level; |
| the bug had appeared in 1.9.4. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.4" date="2015-08-18"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| директивы proxy_downstream_buffer и proxy_upstream_buffer в модуле stream |
| заменены директивой proxy_buffer_size. |
| </para> |
| <para lang="en"> |
| the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives |
| of the stream module are replaced with the "proxy_buffer_size" directive. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива tcp_nodelay в модуле stream. |
| </para> |
| <para lang="en"> |
| the "tcp_nodelay" directive in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь можно указать несколько директив sub_filter одновременно. |
| </para> |
| <para lang="en"> |
| multiple "sub_filter" directives can be used simultaneously. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива sub_filter поддерживает переменные в строке поиска. |
| </para> |
| <para lang="en"> |
| variables support in the search string of the "sub_filter" directive. |
| </para> |
| </change> |
| |
| <change type="workaround"> |
| <para lang="ru"> |
| тестирование конфигурации могло не работать под Linux OpenVZ.<br/> |
| Спасибо Геннадию Махомеду. |
| </para> |
| <para lang="en"> |
| configuration testing might fail under Linux OpenVZ.<br/> |
| Thanks to Gena Makhomed. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| после переконфигурации старые рабочие процессы могли сильно нагружать процессор |
| при больших значениях worker_connections. |
| </para> |
| <para lang="en"> |
| old worker processes might hog CPU after reconfiguration |
| with a large number of worker_connections. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при совместном использовании директив try_files и alias |
| внутри location'а, заданного регулярным выражением, |
| в рабочем процессе мог произойти segmentation fault; |
| ошибка появилась в 1.7.1. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if the "try_files" and "alias" directives were used |
| inside a location given by a regular expression; |
| the bug had appeared in 1.7.1. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива try_files внутри вложенного location'а, заданного регулярным |
| выражением, работала неправильно, если во внешнем location'е использовалась |
| директива alias. |
| </para> |
| <para lang="en"> |
| the "try_files" directive inside a nested location |
| given by a regular expression worked incorrectly |
| if the "alias" directive was used in the outer location. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок при построении хэш-таблиц. |
| </para> |
| <para lang="en"> |
| in hash table initialization error handling. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx не собирался с Visual Studio 2015. |
| </para> |
| <para lang="en"> |
| nginx could not be built with Visual Studio 2015. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.3" date="2015-07-14"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| дублирующиеся блоки http, mail и stream теперь запрещены. |
| </para> |
| <para lang="en"> |
| duplicate "http", "mail", and "stream" blocks are now disallowed. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| ограничение количества соединений в модуле stream. |
| </para> |
| <para lang="en"> |
| connection limiting in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| ограничение скорости в модуле stream. |
| </para> |
| <para lang="en"> |
| data rate limiting in the stream module. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива zone в блоке upstream не работала на Windows. |
| </para> |
| <para lang="en"> |
| the "zone" directive inside the "upstream" block did not work on Windows. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| совместимость с LibreSSL в модуле stream.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| compatibility with LibreSSL in the stream module.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в параметре --builddir в configure.<br/> |
| Спасибо Piotr Sikora. |
| </para> |
| <para lang="en"> |
| in the "--builddir" configure parameter.<br/> |
| Thanks to Piotr Sikora. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| директива ssl_stapling_file не работала; |
| ошибка появилась в 1.9.2.<br/> |
| Спасибо Faidon Liambotis и Brandon Black. |
| </para> |
| <para lang="en"> |
| the "ssl_stapling_file" directive did not work; |
| the bug had appeared in 1.9.2.<br/> |
| Thanks to Faidon Liambotis and Brandon Black. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании директивы ssl_stapling |
| в рабочем процессе мог произойти segmentation fault; |
| ошибка появилась в 1.9.2.<br/> |
| Спасибо Matthew Baldwin. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| if the "ssl_stapling" directive was used; |
| the bug had appeared in 1.9.2.<br/> |
| Thanks to Matthew Baldwin. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.2" date="2015-06-16"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр backlog директивы listen |
| в почтовом прокси-сервере и модуле stream. |
| </para> |
| <para lang="en"> |
| the "backlog" parameter of the "listen" directives |
| of the mail proxy and stream modules. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы allow и deny в модуле stream. |
| </para> |
| <para lang="en"> |
| the "allow" and "deny" directives in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива proxy_bind в модуле stream. |
| </para> |
| <para lang="en"> |
| the "proxy_bind" directive in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива proxy_protocol в модуле stream. |
| </para> |
| <para lang="en"> |
| the "proxy_protocol" directive in the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| ключ -T. |
| </para> |
| <para lang="en"> |
| the -T switch. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр REQUEST_SCHEME добавлен в стандартные конфигурационные файлы |
| fastcgi.conf, fastcgi_params, scgi_params и uwsgi_params. |
| </para> |
| <para lang="en"> |
| the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params, |
| scgi_params, and uwsgi_params standard configuration files. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| параметр reuseport директивы listen в модуле stream |
| не работал. |
| </para> |
| <para lang="en"> |
| the "reuseport" parameter of the "listen" directive of the stream module |
| did not work. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| OCSP stapling в некоторых случаях мог вернуть устаревший OCSP-ответ. |
| </para> |
| <para lang="en"> |
| OCSP stapling might return an expired OCSP response in some cases. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.1" date="2015-05-26"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| теперь протокол SSLv3 по умолчанию запрещён. |
| </para> |
| <para lang="en"> |
| now SSLv3 protocol is disabled by default. |
| </para> |
| </change> |
| |
| <change type="change"> |
| <para lang="ru"> |
| некоторые давно устаревшие директивы больше не поддерживаются. |
| </para> |
| <para lang="en"> |
| some long deprecated directives are not supported anymore. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| параметр reuseport директивы listen.<br/> |
| Спасибо Yingqi Lu из Intel и Sepherosa Ziehau. |
| </para> |
| <para lang="en"> |
| the "reuseport" parameter of the "listen" directive.<br/> |
| Thanks to Yingqi Lu at Intel and Sepherosa Ziehau. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| переменная $upstream_connect_time. |
| </para> |
| <para lang="en"> |
| the $upstream_connect_time variable. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве hash на big-endian платформах. |
| </para> |
| <para lang="en"> |
| in the "hash" directive on big-endian platforms. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| nginx мог не запускаться на некоторых старых версиях Linux; |
| ошибка появилась в 1.7.11. |
| </para> |
| <para lang="en"> |
| nginx might fail to start on some old Linux variants; |
| the bug had appeared in 1.7.11. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в парсинге IP-адресов.<br/> |
| Спасибо Сергею Половко. |
| </para> |
| <para lang="en"> |
| in IP address parsing.<br/> |
| Thanks to Sergey Polovko. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.9.0" date="2015-04-28"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| устаревшие методы обработки соединений aio и rtsig больше не поддерживаются. |
| </para> |
| <para lang="en"> |
| obsolete aio and rtsig event methods have been removed. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директива zone в блоке upstream. |
| </para> |
| <para lang="en"> |
| the "zone" directive inside the "upstream" block. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| модуль stream. |
| </para> |
| <para lang="en"> |
| the stream module. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| поддержка byte ranges для ответов модуля ngx_http_memcached_module.<br/> |
| Спасибо Martin Mlynář. |
| </para> |
| <para lang="en"> |
| byte ranges support in the ngx_http_memcached_module.<br/> |
| Thanks to Martin Mlynář. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| разделяемую память теперь можно использовать на версиях Windows |
| с рандомизацией адресного пространства.<br/> |
| Спасибо Сергею Брестеру. |
| </para> |
| <para lang="en"> |
| shared memory can now be used on Windows versions |
| with address space layout randomization.<br/> |
| Thanks to Sergey Brester. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директиву error_log теперь можно использовать |
| на уровнях mail и server в почтовом прокси-сервере. |
| </para> |
| <para lang="en"> |
| the "error_log" directive can now be used |
| on mail and server levels in mail proxy. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| параметр proxy_protocol директивы listen не работал, |
| если не был указан в первой директиве listen для данного listen-сокета. |
| </para> |
| <para lang="en"> |
| the "proxy_protocol" parameter of the "listen" directive did not work |
| if not specified in the first "listen" directive for a listen socket. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.7.12" date="2015-04-07"> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь директива tcp_nodelay работает для SSL-соединений с бэкендами. |
| </para> |
| <para lang="en"> |
| now the "tcp_nodelay" directive works with backend SSL connections. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| теперь потоки могут использоваться для чтения заголовков файлов в кэше. |
| </para> |
| <para lang="en"> |
| now thread pools can be used to read cache file headers. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве proxy_request_buffering. |
| </para> |
| <para lang="en"> |
| in the "proxy_request_buffering" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| при использовании потоков на Linux |
| в рабочем процессе мог произойти segmentation fault. |
| </para> |
| <para lang="en"> |
| a segmentation fault might occur in a worker process |
| when using thread pools on Linux. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке ошибок при использовании директивы ssl_stapling.<br/> |
| Спасибо Filipe da Silva. |
| </para> |
| <para lang="en"> |
| in error handling when using the "ssl_stapling" directive.<br/> |
| Thanks to Filipe da Silva. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в модуле ngx_http_spdy_module. |
| </para> |
| <para lang="en"> |
| in the ngx_http_spdy_module. |
| </para> |
| </change> |
| |
| </changes> |
| |
| |
| <changes ver="1.7.11" date="2015-03-24"> |
| |
| <change type="change"> |
| <para lang="ru"> |
| параметр sendfile директивы aio более не нужен; |
| теперь nginx автоматически использует AIO для подгрузки данных для sendfile, |
| если одновременно используются директивы aio и sendfile. |
| </para> |
| <para lang="en"> |
| the "sendfile" parameter of the "aio" directive is deprecated; |
| now nginx automatically uses AIO to pre-load data for sendfile |
| if both "aio" and "sendfile" directives are used. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| экспериментальная поддержка потоков. |
| </para> |
| <para lang="en"> |
| experimental thread pools support. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| директивы proxy_request_buffering, fastcgi_request_buffering, |
| scgi_request_buffering и uwsgi_request_buffering. |
| </para> |
| <para lang="en"> |
| the "proxy_request_buffering", "fastcgi_request_buffering", |
| "scgi_request_buffering", and "uwsgi_request_buffering" directives. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| экспериментальное API для обработки тела запроса. |
| </para> |
| <para lang="en"> |
| request body filters experimental API. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| проверка клиентских SSL-сертификатов в почтовом прокси-сервере.<br/> |
| Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva. |
| </para> |
| <para lang="en"> |
| client SSL certificates support in mail proxy.<br/> |
| Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| уменьшение времени запуска |
| при использовании директивы "hash ... consistent" в блоке upstream.<br/> |
| Спасибо Wai Keen Woon. |
| </para> |
| <para lang="en"> |
| startup speedup |
| when using the "hash ... consistent" directive in the upstream block.<br/> |
| Thanks to Wai Keen Woon. |
| </para> |
| </change> |
| |
| <change type="feature"> |
| <para lang="ru"> |
| отладочное логгирование в кольцевой буфер в памяти. |
| </para> |
| <para lang="en"> |
| debug logging into a cyclic memory buffer. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в обработке хэш-таблиц.<br/> |
| Спасибо Chris West. |
| </para> |
| <para lang="en"> |
| in hash table handling.<br/> |
| Thanks to Chris West. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| в директиве proxy_cache_revalidate. |
| </para> |
| <para lang="en"> |
| in the "proxy_cache_revalidate" directive. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| SSL-соединения могли зависать, если использовался отложенный accept |
| или параметр proxy_protocol директивы listen.<br/> |
| Спасибо James Hamlin. |
| </para> |
| <para lang="en"> |
| SSL connections might hang if deferred accept |
| or the "proxy_protocol" parameter of the "listen" directive were used.<br/> |
| Thanks to James Hamlin. |
| </para> |
| </change> |
| |
| <change type="bugfix"> |
| <para lang="ru"> |
| переменная $upstream_response_time могла содержать неверное значение |
| при использовании д
|