One Level Up
Top Level
docs/xml/nginx/changes.xml - nginx source code
- xml version="1.0"
- <!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >
- <change_log title="nginx">
- <changes ver="1.27.3" date="2024-11-26">
- <change type="feature">
- <para lang="ru">
- директива server в блоке upstream поддерживает
- параметр resolve.
- </para>
- <para lang="en">
- the "server" directive in the "upstream" block supports
- the "resolve" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы resolver и resolver_timeout в блоке upstream.
- </para>
- <para lang="en">
- the "resolver" and "resolver_timeout" directives in the "upstream" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка SmarterMail-специфичного режима
- IMAP LOGIN с нетегированным ответом CAPABILITY
- в почтовом прокси-сервере.
- </para>
- <para lang="en">
- SmarterMail specific mode support
- for IMAP LOGIN with untagged CAPABILITY response
- in the mail proxy module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь протоколы TLSv1 и TLSv1.1 по умолчанию запрещены.
- </para>
- <para lang="en">
- now TLSv1 and TLSv1.1 protocols are disabled by default.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- IPv6-адрес в квадратных скобках без порта теперь можно указывать
- в директивах proxy_bind, fastcgi_bind, grpc_bind, memcached_bind,
- scgi_bind и uwsgi_bind,
- а также как адрес клиента в модуле ngx_http_realip_module.
- </para>
- <para lang="en">
- an IPv6 address in square brackets and no port can be specified
- in the "proxy_bind", "fastcgi_bind", "grpc_bind", "memcached_bind",
- "scgi_bind", and "uwsgi_bind" directives,
- and as client address in ngx_http_realip_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_mp4_module.<br/>
- Спасибо Nils Bars.
- </para>
- <para lang="en">
- in the ngx_http_mp4_module.<br/>
- Thanks to Nils Bars.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр so_keepalive директивы listen
- мог работать некорректно на DragonFly BSD.
- </para>
- <para lang="en">
- the "so_keepalive" parameter of the "listen" directive
- might be handled incorrectly on DragonFly BSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_store.
- </para>
- <para lang="en">
- in the "proxy_store" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.27.2" date="2024-10-02">
- <change type="feature">
- <para lang="ru">
- SSL-сертификаты, секретные ключи и списки CRL теперь кешируются
- на старте или во время переконфигурации.
- </para>
- <para lang="en">
- SSL certificates, secret keys, and CRLs are now cached
- on start or during reconfiguration.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- проверка клиентских сертификатов с помощью OCSP в модуле stream.
- </para>
- <para lang="en">
- client certificate validation with OCSP in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка OCSP stapling в модуле stream.
- </para>
- <para lang="en">
- OCSP stapling support in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_pass_trailers в модуле ngx_http_proxy_module.
- </para>
- <para lang="en">
- the "proxy_pass_trailers" directive in the ngx_http_proxy_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_client_certificate теперь поддерживает сертификаты
- с дополнительными данными.
- </para>
- <para lang="en">
- the "ssl_client_certificate" directive now supports certificates
- with auxiliary information.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь наличие директивы ssl_client_certificate не обязательно
- для проверки клиентских SSL-сертификатов.
- </para>
- <para lang="en">
- now the "ssl_client_certificate" directive is not required
- for client SSL certificates verification.
- </para>
- </change>
- </changes>
- <changes ver="1.27.1" date="2024-08-14">
- <change type="security">
- <para lang="ru">
- обработка специально созданного mp4-файла модулем ngx_http_mp4_module
- могла приводить к падению рабочего процесса (CVE-2024-7347).<br/>
- Спасибо Nils Bars.
- </para>
- <para lang="en">
- processing of a specially crafted mp4 file by the ngx_http_mp4_module
- might cause a worker process crash (CVE-2024-7347).<br/>
- Thanks to Nils Bars.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь обработчик в модуле stream не является обязательным.
- </para>
- <para lang="en">
- now the stream module handler is not mandatory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- новые HTTP/2-соединения могли игнорировать
- плавное завершение старых рабочих процессов.<br/>
- Спасибо Kasei Wang.
- </para>
- <para lang="en">
- new HTTP/2 connections might ignore
- graceful shutdown of old worker processes.<br/>
- Thanks to Kasei Wang.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в HTTP/3.
- </para>
- <para lang="en">
- Bugfixes in HTTP/3.
- </para>
- </change>
- </changes>
- <changes ver="1.27.0" date="2024-05-29">
- <change type="security">
- <para lang="ru">
- при использовании HTTP/3 обработка специально созданной QUIC-сессии могла
- приводить к падению рабочего процесса, отправке клиенту содержимого памяти
- рабочего процесса на системах с MTU больше 4096 байт, а также потенциально
- могла иметь другие последствия
- (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161).<br/>
- Спасибо Nils Bars из CISPA.
- </para>
- <para lang="en">
- when using HTTP/3, processing of a specially crafted QUIC session might
- cause a worker process crash, worker process memory disclosure on systems
- with MTU larger than 4096 bytes, or might have potential other impact
- (CVE-2024-32760, CVE-2024-31079, CVE-2024-35200, CVE-2024-34161).<br/>
- Thanks to Nils Bars of CISPA.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_limit_rate, fastcgi_limit_rate,
- scgi_limit_rate и uwsgi_limit_rate поддерживают переменные.
- </para>
- <para lang="en">
- variables support
- in the "proxy_limit_rate", "fastcgi_limit_rate", "scgi_limit_rate",
- and "uwsgi_limit_rate" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уменьшено потребление памяти для долгоживущих запросов,
- если используются директивы gzip, gunzip, ssi, sub_filter или grpc_pass.
- </para>
- <para lang="en">
- reduced memory consumption for long-lived requests
- if "gzip", "gunzip", "ssi", "sub_filter", or "grpc_pass" directives are used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc 14,
- если использовался параметр --with-libatomic.<br/>
- Спасибо Edgar Bonet.
- </para>
- <para lang="en">
- nginx could not be built by gcc 14
- if the --with-libatomic option was used.<br/>
- Thanks to Edgar Bonet.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в HTTP/3.
- </para>
- <para lang="en">
- Bugfixes in HTTP/3.
- </para>
- </change>
- </changes>
- <changes ver="1.25.5" date="2024-04-16">
- <change type="feature">
- <para lang="ru">
- виртуальные сервера в модуле stream.
- </para>
- <para lang="en">
- virtual servers in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_stream_pass_module.
- </para>
- <para lang="en">
- the ngx_stream_pass_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры deferred, accept_filter и setfib директивы listen в модуле stream.
- </para>
- <para lang="en">
- the "deferred", "accept_filter", and "setfib" parameters of the "listen"
- directive in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- определение размера строки кеша процессора для некоторых архитектур.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- cache line size detection for some architectures.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка Homebrew на Apple Silicon.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- support for Homebrew on Apple Silicon.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- улучшения и исправления кросс-компиляции для Windows.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- Windows cross-compilation bugfixes and improvements.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- неожиданное закрытие соединения при использовании 0-RTT в QUIC.<br/>
- Спасибо Владимиру Хомутову.
- </para>
- <para lang="en">
- unexpected connection closure while using 0-RTT in QUIC.<br/>
- Thanks to Vladimir Khomutov.
- </para>
- </change>
- </changes>
- <changes ver="1.25.4" date="2024-02-14">
- <change type="security">
- <para lang="ru">
- при использовании HTTP/3 в рабочем процессе мог произойти segmentation fault
- во время обработки специально созданной QUIC-сессии
- (CVE-2024-24989, CVE-2024-24990).
- </para>
- <para lang="en">
- when using HTTP/3 a segmentation fault might occur in a worker process
- while processing a specially crafted QUIC session
- (CVE-2024-24989, CVE-2024-24990).
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения с незавершенными AIO-операциями могли закрываться преждевременно
- во время плавного завершения старых рабочих процессов.
- </para>
- <para lang="en">
- connections with pending AIO operations might be closed prematurely
- during graceful shutdown of old worker processes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx не пишет в лог сообщения об утечке сокетов,
- если во время плавного завершения старых рабочих процессов
- было запрошено быстрое завершение.
- </para>
- <para lang="en">
- socket leak alerts no longer logged when fast shutdown
- was requested after graceful shutdown of old worker processes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании AIO в подзапросе могла происходить
- ошибка на сокете, утечка сокетов,
- либо segmentation fault в рабочем процессе (при SSL-проксировании).
- </para>
- <para lang="en">
- a socket descriptor error, a socket leak,
- or a segmentation fault in a worker process (for SSL proxying)
- might occur if AIO was used in a subrequest.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалось SSL-проксирование и директива image_filter,
- а ошибки с кодом 415 перенаправлялись с помощью директивы error_page.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if SSL proxying was used along with the "image_filter" directive
- and errors with code 415 were redirected with the "error_page" directive.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления и улучшения в HTTP/3.
- </para>
- <para lang="en">
- Bugfixes and improvements in HTTP/3.
- </para>
- </change>
- </changes>
- <changes ver="1.25.3" date="2023-10-24">
- <change type="change">
- <para lang="ru">
- улучшено детектирование некорректного поведения клиентов
- при использовании HTTP/2.
- </para>
- <para lang="en">
- improved detection of misbehaving clients
- when using HTTP/2.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- уменьшение времени запуска
- при использовании большого количества location'ов.<br/>
- Спасибо Yusuke Nojima.
- </para>
- <para lang="en">
- startup speedup
- when using a large number of locations.<br/>
- Thanks to Yusuke Nojima.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2 без SSL
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 1.25.1.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- when using HTTP/2 without SSL;
- the bug had appeared in 1.25.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строка "Status" в заголовке ответа бэкенда с пустой поясняющей фразой
- обрабатывалась некорректно.
- </para>
- <para lang="en">
- the "Status" backend response header line with an empty reason phrase
- was handled incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти во время переконфигурации
- при использовании библиотеки PCRE2.<br/>
- Спасибо ZhenZhong Wu.
- </para>
- <para lang="en">
- memory leak during reconfiguration
- when using the PCRE2 library.<br/>
- Thanks to ZhenZhong Wu.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления и улучшения в HTTP/3.
- </para>
- <para lang="en">
- Bugfixes and improvements in HTTP/3.
- </para>
- </change>
- </changes>
- <changes ver="1.25.2" date="2023-08-15">
- <change type="feature">
- <para lang="ru">
- path MTU discovery при использовании HTTP/3.
- </para>
- <para lang="en">
- path MTU discovery when using HTTP/3.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка шифра TLS_AES_128_CCM_SHA256 при использовании HTTP/3.
- </para>
- <para lang="en">
- TLS_AES_128_CCM_SHA256 cipher suite support when using HTTP/3.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при загрузке конфигурации OpenSSL
- nginx использует appname "nginx".
- </para>
- <para lang="en">
- now nginx uses appname "nginx"
- when loading OpenSSL configuration.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx не пытается загружать конфигурацию OpenSSL,
- если для сборки OpenSSL использовался параметр --with-openssl
- и переменная окружения OPENSSL_CONF не установлена.
- </para>
- <para lang="en">
- now nginx does not try to load OpenSSL configuration
- if the --with-openssl option was used to built OpenSSL
- and the OPENSSL_CONF environment variable is not set.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в переменной $body_bytes_sent при использовании HTTP/3.
- </para>
- <para lang="en">
- in the $body_bytes_sent variable when using HTTP/3.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в HTTP/3.
- </para>
- <para lang="en">
- in HTTP/3.
- </para>
- </change>
- </changes>
- <changes ver="1.25.1" date="2023-06-13">
- <change type="feature">
- <para lang="ru">
- директива http2, позволяющая включать HTTP/2 в отдельных блоках server;
- параметр http2 директивы listen объявлен устаревшим.
- </para>
- <para lang="en">
- the "http2" directive, which enables HTTP/2 on a per-server basis;
- the "http2" parameter of the "listen" directive is now deprecated.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- поддержка HTTP/2 server push упразднена.
- </para>
- <para lang="en">
- HTTP/2 server push support has been removed.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- устаревшая директива ssl больше не поддерживается.
- </para>
- <para lang="en">
- the deprecated "ssl" directive is not supported anymore.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в HTTP/3 при использовании OpenSSL.
- </para>
- <para lang="en">
- in HTTP/3 when using OpenSSL.
- </para>
- </change>
- </changes>
- <changes ver="1.25.0" date="2023-05-23">
- <change type="feature">
- <para lang="ru">
- экспериментальная поддержка HTTP/3.
- </para>
- <para lang="en">
- experimental HTTP/3 support.
- </para>
- </change>
- </changes>
- <changes ver="1.23.4" date="2023-03-28">
- <change type="change">
- <para lang="ru">
- теперь протокол TLSv1.3 разрешён по умолчанию.
- </para>
- <para lang="en">
- now TLSv1.3 protocol is enabled by default.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx выдаёт предупреждение
- при переопределении параметров listen-сокета, задающих используемые протоколы.
- </para>
- <para lang="en">
- now nginx issues a warning
- if protocol parameters of a listening socket are redefined.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь, если клиент использует pipelining,
- nginx закрывает соединения с ожиданием дополнительных данных (lingering close).
- </para>
- <para lang="en">
- now nginx closes connections with lingering
- if pipelining was used by the client.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка byte ranges для ответов модуля ngx_http_gzip_static_module.
- </para>
- <para lang="en">
- byte ranges support in the ngx_http_gzip_static_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- диапазоны портов в директиве listen не работали;
- ошибка появилась в 1.23.3.<br/>
- Спасибо Валентину Бартеневу.
- </para>
- <para lang="en">
- port ranges in the "listen" directive did not work;
- the bug had appeared in 1.23.3.<br/>
- Thanks to Valentin Bartenev.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для обработки запроса мог быть выбран неверный location,
- если в конфигурации использовался
- префиксный location длиннее 255 символов.
- </para>
- <para lang="en">
- incorrect location might be chosen to process a request
- if a prefix location longer than 255 characters
- was used in the configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- не-ASCII символы в именах файлов на Windows
- не поддерживались модулями ngx_http_autoindex_module и
- ngx_http_dav_module, а также директивой include.
- </para>
- <para lang="en">
- non-ASCII characters in file names on Windows were not supported
- by the ngx_http_autoindex_module, the ngx_http_dav_module,
- and the "include" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL
- "data length too long", "length too short", "bad legacy version",
- "no shared signature algorithms", "bad digest length",
- "missing sigalgs extension", "encrypted length too long",
- "bad length", "bad key update", "mixed handshake and non handshake data",
- "ccs received early", "data between ccs and finished",
- "packet length too long", "too many warn alerts", "record too small",
- и "got a fin before a ccs"
- понижен с уровня crit до info.
- </para>
- <para lang="en">
- the logging level of the
- "data length too long", "length too short", "bad legacy version",
- "no shared signature algorithms", "bad digest length",
- "missing sigalgs extension", "encrypted length too long",
- "bad length", "bad key update", "mixed handshake and non handshake data",
- "ccs received early", "data between ccs and finished",
- "packet length too long", "too many warn alerts", "record too small",
- and "got a fin before a ccs" SSL errors
- has been lowered from "crit" to "info".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2 и директивы error_page
- для перенаправления ошибок с кодом 400
- могла происходить утечка сокетов.
- </para>
- <para lang="en">
- a socket leak might occur
- when using HTTP/2 and the "error_page" directive
- to redirect errors with code 400.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения об ошибках записи в syslog
- не содержали информации о том, что
- ошибки происходили в процессе записи в syslog.<br/>
- Спасибо Safar Safarly.
- </para>
- <para lang="en">
- messages about logging to syslog errors
- did not contain information
- that the errors happened while logging to syslog.<br/>
- Thanks to Safar Safarly.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при использовании zlib-ng
- в логах появлялись сообщения "gzip filter failed to use preallocated memory".
- </para>
- <para lang="en">
- "gzip filter failed to use preallocated memory" alerts appeared in logs
- when using zlib-ng.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в почтовом прокси-сервере.
- </para>
- <para lang="en">
- in the mail proxy server.
- </para>
- </change>
- </changes>
- <changes ver="1.23.3" date="2022-12-13">
- <change type="bugfix">
- <para lang="ru">
- при чтении заголовка протокола PROXY версии 2, содержащего
- большое количество TLV, могла возникать ошибка.
- </para>
- <para lang="en">
- an error might occur when reading PROXY protocol version 2 header
- with large number of TLVs.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SSI для обработки подзапросов, созданных другими модулями,
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Ciel Zhao.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if SSI was used to process subrequests created by other modules.<br/>
- Thanks to Ciel Zhao.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- теперь, если при преобразовании в адреса имени хоста,
- указанного в директиве listen, возвращается несколько адресов,
- nginx игнорирует дубликаты среди этих адресов.
- </para>
- <para lang="en">
- when a hostname used in the "listen" directive
- resolves to multiple addresses,
- nginx now ignores duplicates within these addresses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог нагружать процессор
- при небуферизированном проксировании,
- если использовались SSL-соединения с бэкендами.
- </para>
- <para lang="en">
- nginx might hog CPU
- during unbuffered proxying
- if SSL connections to backends were used.
- </para>
- </change>
- </changes>
- <changes ver="1.23.2" date="2022-10-19">
- <change type="security">
- <para lang="ru">
- обработка специально созданного mp4-файла модулем ngx_http_mp4_module
- могла приводить к падению рабочего процесса,
- отправке клиенту части содержимого памяти рабочего процесса,
- а также потенциально могла иметь другие последствия
- (CVE-2022-41741, CVE-2022-41742).
- </para>
- <para lang="en">
- processing of a specially crafted mp4 file by the ngx_http_mp4_module
- might cause a worker process crash,
- worker process memory disclosure,
- or might have potential other impact
- (CVE-2022-41741, CVE-2022-41742).
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$proxy_protocol_tlv_...".
- </para>
- <para lang="en">
- the "$proxy_protocol_tlv_..." variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключи шифрования TLS session tickets теперь автоматически меняются
- при использовании разделяемой памяти в ssl_session_cache.
- </para>
- <para lang="en">
- TLS session tickets encryption keys are now automatically rotated
- when using shared memory in the "ssl_session_cache" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL "bad record type"
- понижен с уровня crit до info.<br/>
- Спасибо Murilo Andrade.
- </para>
- <para lang="en">
- the logging level of the "bad record type" SSL errors
- has been lowered from "crit" to "info".<br/>
- Thanks to Murilo Andrade.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при использовании разделяемой памяти в ssl_session_cache
- сообщения "could not allocate new session"
- логгируются на уровне warn вместо alert
- и не чаще одного раза в секунду.
- </para>
- <para lang="en">
- now when using shared memory in the "ssl_session_cache" directive
- the "could not allocate new session" errors
- are logged at the "warn" level instead of "alert"
- and not more often than once per second.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не собирался с OpenSSL 3.0.x.
- </para>
- <para lang="en">
- nginx/Windows could not be built with OpenSSL 3.0.x.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логгировании ошибок протокола PROXY.<br/>
- Спасибо Сергею Брестеру.
- </para>
- <para lang="en">
- in logging of the PROXY protocol errors.<br/>
- Thanks to Sergey Brester.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при использовании TLSv1.3 с OpenSSL
- разделяемая память из ssl_session_cache расходовалась
- в том числе на сессии, использующие TLS session tickets.
- </para>
- <para lang="en">
- shared memory from the "ssl_session_cache" directive
- was spent on sessions using TLS session tickets
- when using TLSv1.3 with OpenSSL.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- таймаут, заданный с помощью директивы ssl_session_timeout,
- не работал при использовании TLSv1.3 с OpenSSL или BoringSSL.
- </para>
- <para lang="en">
- timeout specified with the "ssl_session_timeout" directive
- did not work when using TLSv1.3 with OpenSSL or BoringSSL.
- </para>
- </change>
- </changes>
- <changes ver="1.23.1" date="2022-07-19">
- <change type="feature">
- <para lang="ru">
- оптимизация использования памяти
- в конфигурациях с SSL-проксированием.
- </para>
- <para lang="en">
- memory usage optimization
- in configurations with SSL proxying.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь с помощью параметра "ipv4=off" директивы "resolver"
- можно запретить поиск IPv4-адресов при преобразовании имён в адреса.
- </para>
- <para lang="en">
- looking up of IPv4 addresses while resolving now can be disabled
- with the "ipv4=off" parameter of the "resolver" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL "bad key share", "bad extension",
- "bad cipher" и "bad ecpoint"
- понижен с уровня crit до info.
- </para>
- <para lang="en">
- the logging level of the "bad key share", "bad extension",
- "bad cipher", and "bad ecpoint" SSL errors
- has been lowered from "crit" to "info".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при возврате диапазонов
- nginx не удалял строку заголовка "Content-Range",
- если она присутствовала в исходном ответе бэкенда.
- </para>
- <para lang="en">
- while returning byte ranges
- nginx did not remove the "Content-Range" header line
- if it was present in the original backend response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- проксированный ответ мог быть отправлен не полностью
- при переконфигурации на Linux;
- ошибка появилась в 1.17.5.
- </para>
- <para lang="en">
- a proxied response might be truncated
- during reconfiguration on Linux;
- the bug had appeared in 1.17.5.
- </para>
- </change>
- </changes>
- <changes ver="1.23.0" date="2022-06-21">
- <change>
- <para lang="ru">
- Изменение во внутреннем API:
- теперь строки заголовков представлены связными списками.
- </para>
- <para lang="en">
- Change in internal API:
- now header lines are represented as linked lists.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx объединяет произвольные строки заголовков с одинаковыми именами
- при отправке на FastCGI-, SCGI- и uwsgi-бэкенды,
- в методе $r->header_in() модуля ngx_http_perl_module,
- и при доступе через переменные "$http_...", "$sent_http_...",
- "$sent_trailer_...", "$upstream_http_..." и "$upstream_trailer_...".
- </para>
- <para lang="en">
- now nginx combines arbitrary header lines with identical names
- when sending to FastCGI, SCGI, and uwsgi backends,
- in the $r->header_in() method of the ngx_http_perl_module,
- and during lookup of the "$http_...", "$sent_http_...",
- "$sent_trailer_...", "$upstream_http_...", and "$upstream_trailer_..."
- variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в заголовке ответа бэкенда было несколько строк "Vary",
- при кэшировании nginx учитывал только последнюю из них.
- </para>
- <para lang="en">
- if there were multiple "Vary" header lines in the backend response,
- nginx only used the last of them when caching.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в заголовке ответа бэкенда было несколько строк "WWW-Authenticate"
- и использовался перехват ошибок с кодом 401 от бэкенда
- или директива auth_request,
- nginx пересылал клиенту только первую из этих строк.
- </para>
- <para lang="en">
- if there were multiple "WWW-Authenticate" header lines in the backend response
- and errors with code 401 were intercepted
- or the "auth_request" directive was used,
- nginx only sent the first of the header lines to the client.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL "application data after close notify"
- понижен с уровня crit до info.
- </para>
- <para lang="en">
- the logging level of the "application data after close notify" SSL errors
- has been lowered from "crit" to "info".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения могли зависать, если nginx был собран на Linux 2.6.17 и новее,
- а использовался на системах без поддержки EPOLLRDHUP, в частности, на
- системах с эмуляцией epoll;
- ошибка появилась в 1.17.5.<br/>
- Спасибо Marcus Ball.
- </para>
- <para lang="en">
- connections might hang if nginx was built on Linux 2.6.17 or newer,
- but was used on systems without EPOLLRDHUP support, notably with epoll
- emulation layers;
- the bug had appeared in 1.17.5.<br/>
- Thanks to Marcus Ball.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не кэшировал ответ,
- если строка заголовка ответа "Expires" запрещала кэширование,
- а последующая строка заголовка "Cache-Control" разрешала кэширование.
- </para>
- <para lang="en">
- nginx did not cache the response
- if the "Expires" response header line disabled caching,
- but following "Cache-Control" header line enabled caching.
- </para>
- </change>
- </changes>
- <changes ver="1.21.6" date="2022-01-25">
- <change type="bugfix">
- <para lang="ru">
- при использование EPOLLEXCLUSIVE на Linux
- распределение клиентских соединений между рабочими процессами
- было неравномерным.
- </para>
- <para lang="en">
- when using EPOLLEXCLUSIVE on Linux
- client connections were unevenly distributed
- among worker processes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во время плавного завершения старых рабочих процессов
- nginx возвращал в ответах строку заголовка "Connection: keep-alive".
- </para>
- <para lang="en">
- nginx returned the "Connection: keep-alive" header line in responses
- during graceful shutdown of old worker processes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве ssl_session_ticket_key при использовании TLSv1.3.
- </para>
- <para lang="en">
- in the "ssl_session_ticket_key" when using TLSv1.3.
- </para>
- </change>
- </changes>
- <changes ver="1.21.5" date="2021-12-28">
- <change type="change">
- <para lang="ru">
- теперь nginx по умолчанию собирается с библиотекой PCRE2.
- </para>
- <para lang="en">
- now nginx is built with the PCRE2 library by default.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx всегда использует sendfile(SF_NODISKIO) на FreeBSD.
- </para>
- <para lang="en">
- now nginx always uses sendfile(SF_NODISKIO) on FreeBSD.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка sendfile(SF_NOCACHE) на FreeBSD.
- </para>
- <para lang="en">
- support for sendfile(SF_NOCACHE) on FreeBSD.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_curve.
- </para>
- <para lang="en">
- the $ssl_curve variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2 без SSL вместе с директивами sendfile и aio
- соединения могли зависать.
- </para>
- <para lang="en">
- connections might hang
- when using HTTP/2 without SSL with the "sendfile" and "aio" directives.
- </para>
- </change>
- </changes>
- <changes ver="1.21.4" date="2021-11-02">
- <change type="change">
- <para lang="ru">
- поддержка NPN вместо ALPN для установления HTTP/2-соединений
- упразднена.
- </para>
- <para lang="en">
- support for NPN instead of ALPN to establish HTTP/2 connections
- has been removed.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx закрывает SSL соединение, если клиент использует ALPN,
- но nginx не поддерживает ни один из присланных клиентом протоколов.
- </para>
- <para lang="en">
- now nginx rejects SSL connections if ALPN is used by the client,
- but no supported protocols can be negotiated.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в директиве sendfile_max_chunk значение по умолчанию
- изменено на 2 мегабайта.
- </para>
- <para lang="en">
- the default value of the "sendfile_max_chunk" directive
- was changed to 2 megabytes.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_half_close в модуле stream.
- </para>
- <para lang="en">
- the "proxy_half_close" directive in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_alpn в модуле stream.
- </para>
- <para lang="en">
- the "ssl_alpn" directive in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_alpn_protocol.
- </para>
- <para lang="en">
- the $ssl_alpn_protocol variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка SSL_sendfile() при использовании OpenSSL 3.0.
- </para>
- <para lang="en">
- support for SSL_sendfile() when using OpenSSL 3.0.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива mp4_start_key_frame в модуле ngx_http_mp4_module.<br/>
- Спасибо Tracey Jaquith.
- </para>
- <para lang="en">
- the "mp4_start_key_frame" directive in the ngx_http_mp4_module.<br/>
- Thanks to Tracey Jaquith.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в переменной $content_length при использовании chunked transfer encoding.
- </para>
- <para lang="en">
- in the $content_length variable when using chunked transfer encoding.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при получении ответа некорректной длины от проксируемого бэкенда
- nginx мог тем не менее закэшировать соединение.<br/>
- Спасибо Awdhesh Mathpal.
- </para>
- <para lang="en">
- after receiving a response with incorrect length from a proxied backend
- nginx might nevertheless cache the connection.<br/>
- Thanks to Awdhesh Mathpal.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- некорректные заголовки от бэкендов
- логгировались на уровне info вместо error;
- ошибка появилась в 1.21.1.
- </para>
- <para lang="en">
- invalid headers from backends
- were logged at the "info" level instead of "error";
- the bug had appeared in 1.21.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2 и директивы aio_write
- запросы могли зависать.
- </para>
- <para lang="en">
- requests might hang
- when using HTTP/2 and the "aio_write" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.21.3" date="2021-09-07">
- <change type="change">
- <para lang="ru">
- оптимизация чтения тела запроса
- при использовании HTTP/2.
- </para>
- <para lang="en">
- optimization of client request body reading
- when using HTTP/2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во внутреннем API для обработки тела запроса
- при использовании HTTP/2 и буферизации обрабатываемых данных.
- </para>
- <para lang="en">
- in request body filters internal API
- when using HTTP/2 and buffering of the data being processed.
- </para>
- </change>
- </changes>
- <changes ver="1.21.2" date="2021-08-31">
- <change type="change">
- <para lang="ru">
- теперь nginx возвращает ошибку,
- если в запросе по протоколу HTTP/1.0 присутствует
- строка заголовка "Transfer-Encoding".
- </para>
- <para lang="en">
- now nginx rejects HTTP/1.0 requests
- with the "Transfer-Encoding" header line.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- экспортные шифры больше не поддерживаются.
- </para>
- <para lang="en">
- export ciphers are no longer supported.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- совместимость с OpenSSL 3.0.
- </para>
- <para lang="en">
- OpenSSL 3.0 compatibility.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь серверу аутентификации почтового прокси-сервера
- передаются строки заголовка "Auth-SSL-Protocol" и "Auth-SSL-Cipher".<br/>
- Спасибо Rob Mueller.
- </para>
- <para lang="en">
- the "Auth-SSL-Protocol" and "Auth-SSL-Cipher" header lines
- are now passed to the mail proxy authentication server.<br/>
- Thanks to Rob Mueller.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- API для обработки тела запроса
- теперь позволяет буферизировать обрабатываемые данные.
- </para>
- <para lang="en">
- request body filters API
- now permits buffering of the data being processed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL-соединения к бэкендам в модуле stream
- могли зависать после SSL handshake.
- </para>
- <para lang="en">
- backend SSL connections in the stream module
- might hang after an SSL handshake.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уровень безопасности, доступный в OpenSSL 1.1.0 и новее,
- не учитывался при загрузке сертификатов сервера,
- если был задан через "@SECLEVEL=N" в директиве ssl_ciphers.
- </para>
- <para lang="en">
- the security level, which is available in OpenSSL 1.1.0 or newer,
- did not affect loading of the server certificates
- when set with "@SECLEVEL=N" in the "ssl_ciphers" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL-соединения с gRPC-бэкендами могли зависать,
- если использовались методы select, poll или /dev/poll.
- </para>
- <para lang="en">
- SSL connections with gRPC backends might hang
- if select, poll, or /dev/poll methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2
- тело запроса всегда записывалось на диск,
- если в запросе не было строки заголовка "Content-Length".
- </para>
- <para lang="en">
- when using HTTP/2
- client request body was always written to disk
- if the "Content-Length" header line was not present in the request.
- </para>
- </change>
- </changes>
- <changes ver="1.21.1" date="2021-07-06">
- <change type="change">
- <para lang="ru">
- теперь nginx для метода CONNECT всегда возвращает ошибку.
- </para>
- <para lang="en">
- now nginx always returns an error for the CONNECT method.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx всегда возвращает ошибку,
- если в запросе одновременно присутствуют строки заголовка "Content-Length"
- и "Transfer-Encoding".
- </para>
- <para lang="en">
- now nginx always returns an error
- if both "Content-Length" and "Transfer-Encoding" header lines
- are present in the request.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx всегда возвращает ошибку,
- если в строке запроса используются пробелы или управляющие символы.
- </para>
- <para lang="en">
- now nginx always returns an error
- if spaces or control characters are used in the request line.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx всегда возвращает ошибку,
- если в имени заголовка используются пробелы или управляющие символы.
- </para>
- <para lang="en">
- now nginx always returns an error
- if spaces or control characters are used in a header name.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx всегда возвращает ошибку,
- если в строке "Host" заголовка запроса
- используются пробелы или управляющие символы.
- </para>
- <para lang="en">
- now nginx always returns an error
- if spaces or control characters
- are used in the "Host" request header line.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- оптимизация тестирования конфигурации
- при использовании большого количества listen-сокетов.
- </para>
- <para lang="en">
- optimization of configuration testing
- when using many listening sockets.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не экранировал
- символы """, "<", ">", "\", "^", "`", "{", "|", и "}"
- при проксировании с изменением URI запроса.
- </para>
- <para lang="en">
- nginx did not escape
- """, "<", ">", "\", "^", "`", "{", "|", and "}" characters
- when proxying with changed URI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL-переменные могли быть пустыми при записи в лог;
- ошибка появилась в 1.19.5.
- </para>
- <para lang="en">
- SSL variables might be empty when used in logs;
- the bug had appeared in 1.19.5.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- keepalive-соединения с gRPC-бэкендами могли не закрываться
- после получения GOAWAY-фрейма.
- </para>
- <para lang="en">
- keepalive connections with gRPC backends might not be closed
- after receiving a GOAWAY frame.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уменьшено потребление памяти для долгоживущих запросов
- при проксировании с использованием более 64 буферов.
- </para>
- <para lang="en">
- reduced memory consumption for long-lived requests
- when proxying with more than 64 buffers.
- </para>
- </change>
- </changes>
- <changes ver="1.21.0" date="2021-05-25">
- <change type="security">
- <para lang="ru">
- при использовании директивы resolver
- во время обработки ответа DNS-сервера
- могла происходить перезапись одного байта памяти,
- что позволяло атакующему,
- имеющему возможность подделывать UDP-пакеты от DNS-сервера,
- вызвать падение рабочего процесса
- или, потенциально, выполнение произвольного кода (CVE-2021-23017).
- </para>
- <para lang="en">
- 1-byte memory overwrite 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 worker process crash
- or, potentially, arbitrary code execution (CVE-2021-23017).
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_ssl_certificate, proxy_ssl_certificate_key,
- grpc_ssl_certificate, grpc_ssl_certificate_key,
- uwsgi_ssl_certificate и uwsgi_ssl_certificate_key
- поддерживают переменные.
- </para>
- <para lang="en">
- variables support
- in the "proxy_ssl_certificate", "proxy_ssl_certificate_key"
- "grpc_ssl_certificate", "grpc_ssl_certificate_key",
- "uwsgi_ssl_certificate", and "uwsgi_ssl_certificate_key" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива max_errors в почтовом прокси-сервере.
- </para>
- <para lang="en">
- the "max_errors" directive in the mail proxy module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер поддерживает POP3 и IMAP pipelining.
- </para>
- <para lang="en">
- the mail proxy module supports POP3 and IMAP pipelining.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр fastopen директивы listen в модуле stream.<br/>
- Спасибо Anbang Wen.
- </para>
- <para lang="en">
- the "fastopen" parameter of the "listen" directive in the stream module.<br/>
- Thanks to Anbang Wen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- специальные символы не экранировались
- при автоматическом перенаправлении с добавлением завершающего слэша.
- </para>
- <para lang="en">
- special characters were not escaped
- during automatic redirect with appended trailing slash.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SMTP pipelining
- соединения с клиентами в почтовом прокси-сервере
- могли неожиданно закрываться.
- </para>
- <para lang="en">
- connections with clients in the mail proxy module
- might be closed unexpectedly
- when using SMTP pipelining.
- </para>
- </change>
- </changes>
- <changes ver="1.19.10" date="2021-04-13">
- <change type="change">
- <para lang="ru">
- в директиве keepalive_requests значение по умолчанию изменено на 1000.
- </para>
- <para lang="en">
- the default value of the "keepalive_requests" directive was changed to 1000.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива keepalive_time.
- </para>
- <para lang="en">
- the "keepalive_time" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $connection_time.
- </para>
- <para lang="en">
- the $connection_time variable.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при использовании zlib-ng
- в логах появлялись сообщения "gzip filter failed to use preallocated memory".
- </para>
- <para lang="en">
- "gzip filter failed to use preallocated memory" alerts appeared in logs
- when using zlib-ng.
- </para>
- </change>
- </changes>
- <changes ver="1.19.9" date="2021-03-30">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с почтовым прокси-сервером,
- но без модуля ngx_mail_ssl_module;
- ошибка появилась в 1.19.8.
- </para>
- <para lang="en">
- nginx could not be built with the mail proxy module,
- but without the ngx_mail_ssl_module;
- the bug had appeared in 1.19.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при работе с gRPC-бэкендами могли возникать ошибки
- "upstream sent response body larger than indicated content length";
- ошибка появилась в 1.19.1.
- </para>
- <para lang="en">
- "upstream sent response body larger than indicated content length"
- errors might occur when working with gRPC backends;
- the bug had appeared in 1.19.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если клиент закрывал соединение в момент отбрасывания тела запроса,
- nginx мог не закрыть соединение до истечения keepalive-таймаута.
- </para>
- <para lang="en">
- nginx might not close a connection till keepalive timeout expiration
- if the connection was closed by the client while discarding the request body.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при ожидании задержки limit_req или auth_delay, а также при работе с бэкендами
- nginx мог не обнаружить, что соединение уже закрыто клиентом.
- </para>
- <para lang="en">
- nginx might not detect that a connection was already closed by the client
- when waiting for auth_delay or limit_req delay, or when working with backends.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в методе обработки соединений eventport.
- </para>
- <para lang="en">
- in the eventport method.
- </para>
- </change>
- </changes>
- <changes ver="1.19.8" date="2021-03-09">
- <change type="feature">
- <para lang="ru">
- в директиве proxy_cookie_flags теперь
- флаги можно задавать с помощью переменных.
- </para>
- <para lang="en">
- flags in the "proxy_cookie_flags" directive
- can now contain variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр proxy_protocol в директиве listen,
- директивы proxy_protocol и set_real_ip_from
- в почтовом прокси-сервере.
- </para>
- <para lang="en">
- the "proxy_protocol" parameter of the "listen" directive,
- the "proxy_protocol" and "set_real_ip_from" directives
- in mail proxy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- HTTP/2-соединения сразу закрывались
- при использовании "keepalive_timeout 0";
- ошибка появилась в 1.19.7.
- </para>
- <para lang="en">
- HTTP/2 connections were immediately closed
- when using "keepalive_timeout 0";
- the bug had appeared in 1.19.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- некоторые ошибки логгировались как неизвестные,
- если nginx был собран с glibc 2.32.
- </para>
- <para lang="en">
- some errors were logged as unknown
- if nginx was built with glibc 2.32.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в методе обработки соединений eventport.
- </para>
- <para lang="en">
- in the eventport method.
- </para>
- </change>
- </changes>
- <changes ver="1.19.7" date="2021-02-16">
- <change type="change">
- <para lang="ru">
- обработка соединений в HTTP/2 была изменена
- и теперь более соответствует HTTP/1.x;
- директивы http2_recv_timeout, http2_idle_timeout
- и http2_max_requests упразднены,
- вместо них следует использовать директивы
- keepalive_timeout и keepalive_requests.
- </para>
- <para lang="en">
- connections handling in HTTP/2 has been changed
- to better match HTTP/1.x;
- the "http2_recv_timeout", "http2_idle_timeout",
- and "http2_max_requests" directives have been removed,
- the "keepalive_timeout" and "keepalive_requests" directives
- should be used instead.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы http2_max_field_size и http2_max_header_size упразднены,
- вместо них следует использовать директиву large_client_header_buffers.
- </para>
- <para lang="en">
- the "http2_max_field_size" and "http2_max_header_size" directives
- have been removed,
- the "large_client_header_buffers" directive should be used instead.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при исчерпании свободных соединений
- nginx закрывает не только keepalive-соединения,
- но и соединения в lingering close.
- </para>
- <para lang="en">
- now, if free worker connections are exhausted,
- nginx starts closing not only keepalive connections,
- but also connections in lingering close.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логах могли появляться сообщения "zero size buf in output",
- если бэкенд возвращал некорректный ответ
- при небуферизированном проксировании;
- ошибка появилась в 1.19.1.
- </para>
- <para lang="en">
- "zero size buf in output" alerts might appear in logs
- if an upstream server returned an incorrect response
- during unbuffered proxying;
- the bug had appeared in 1.19.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы return
- вместе с image_filter или xslt_stylesheet
- HEAD-запросы обрабатывались некорректно.
- </para>
- <para lang="en">
- HEAD requests were handled incorrectly
- if the "return" directive was used
- with the "image_filter" or "xslt_stylesheet" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве add_trailer.
- </para>
- <para lang="en">
- in the "add_trailer" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.19.6" date="2020-12-15">
- <change type="bugfix">
- <para lang="ru">
- ошибки "no live upstreams",
- если server в блоке upstream был помечен как down.
- </para>
- <para lang="en">
- "no live upstreams" errors
- if a "server" inside "upstream" block was marked as "down".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 1.19.5.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process if HTTPS was used;
- the bug had appeared in 1.19.5.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx возвращал ошибку 400 на запросы вида
- <nobr>"GET http://example.com?args HTTP/1.0"</nobr>.
- </para>
- <para lang="en">
- nginx returned the 400 response on requests like
- <nobr>"GET http://example.com?args HTTP/1.0"</nobr>.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модулях ngx_http_flv_module и ngx_http_mp4_module.<br/>
- Спасибо Chris Newton.
- </para>
- <para lang="en">
- in the ngx_http_flv_module and ngx_http_mp4_module.<br/>
- Thanks to Chris Newton.
- </para>
- </change>
- </changes>
- <changes ver="1.19.5" date="2020-11-24">
- <change type="feature">
- <para lang="ru">
- ключ -e.
- </para>
- <para lang="en">
- the -e switch.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- при сборке дополнительных модулей
- теперь можно указывать одни и те же исходные файлы в разных модулях.
- </para>
- <para lang="en">
- the same source files can now be specified in different modules
- while building addon modules.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL shutdown не работал
- при закрытии соединений с ожиданием дополнительных данных (lingering close).
- </para>
- <para lang="en">
- SSL shutdown did not work
- when lingering close was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при работе с gRPC-бэкендами
- могли возникать ошибки "upstream sent frame for closed stream".
- </para>
- <para lang="en">
- "upstream sent frame for closed stream" errors might occur
- when working with gRPC backends.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во внутреннем API для обработки тела запроса.
- </para>
- <para lang="en">
- in request body filters internal API.
- </para>
- </change>
- </changes>
- <changes ver="1.19.4" date="2020-10-27">
- <change type="feature">
- <para lang="ru">
- директивы ssl_conf_command, proxy_ssl_conf_command, grpc_ssl_conf_command
- и uwsgi_ssl_conf_command.
- </para>
- <para lang="en">
- the "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command",
- and "uwsgi_ssl_conf_command" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_reject_handshake.
- </para>
- <para lang="en">
- the "ssl_reject_handshake" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_smtp_auth в почтовом прокси-сервере.
- </para>
- <para lang="en">
- the "proxy_smtp_auth" directive in mail proxy.
- </para>
- </change>
- </changes>
- <changes ver="1.19.3" date="2020-09-29">
- <change type="feature">
- <para lang="ru">
- модуль ngx_stream_set_module.
- </para>
- <para lang="en">
- the ngx_stream_set_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_cookie_flags.
- </para>
- <para lang="en">
- the "proxy_cookie_flags" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива userid_flags.
- </para>
- <para lang="en">
- the "userid_flags" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- расширение управления кэшированием stale-if-error
- ошибочно применялось, если бэкенд возвращал ответ
- с кодом 500, 502, 503, 504, 403, 404 или 429.
- </para>
- <para lang="en">
- the "stale-if-error" cache control extension
- was erroneously applied if backend returned a response
- with status code 500, 502, 503, 504, 403, 404, or 429.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовалось кэширование
- и бэкенд возвращал ответы с строкой заголовка Vary,
- в логах могли появляться сообщения "[crit] cache file ... has too long header".
- </para>
- <para lang="en">
- "[crit] cache file ... has too long header" messages might appear in logs
- if caching was used
- and the backend returned responses with the "Vary" header line.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при использовании OpenSSL 1.1.1
- в логах могли появляться сообщения "[crit] SSL_write() failed".
- </para>
- <para lang="en">
- "[crit] SSL_write() failed" messages might appear in logs
- when using OpenSSL 1.1.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логах могли появляться сообщения
- "SSL_shutdown() failed (SSL: ... bad write retry)";
- ошибка появилась в 1.19.2.
- </para>
- <para lang="en">
- "SSL_shutdown() failed (SSL: ... bad write retry)"
- messages might appear in logs;
- the bug had appeared in 1.19.2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP/2
- в рабочем процессе мог произойти segmentation fault,
- если ошибки с кодом 400 с помощью директивы error_page
- перенаправлялись в проксируемый location.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- when using HTTP/2
- if errors with code 400 were redirected to a proxied location
- using the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов при использовании HTTP/2 и подзапросов в модуле njs.
- </para>
- <para lang="en">
- socket leak when using HTTP/2 and subrequests in the njs module.
- </para>
- </change>
- </changes>
- <changes ver="1.19.2" date="2020-08-11">
- <change type="change">
- <para lang="ru">
- теперь nginx начинает закрывать keepalive-соединения,
- не дожидаясь исчерпания всех свободных соединений,
- а также пишет об этом предупреждение в лог ошибок.
- </para>
- <para lang="en">
- now nginx starts closing keepalive connections
- before all free worker connections are exhausted,
- and logs a warning about this to the error log.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- оптимизация чтения тела запроса
- при использовании chunked transfer encoding.
- </para>
- <para lang="en">
- optimization of client request body reading
- when using chunked transfer encoding.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при использовании директивы ssl_ocsp.
- </para>
- <para lang="en">
- memory leak if the "ssl_ocsp" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логах могли появляться сообщения "zero size buf in output",
- если FastCGI-сервер возвращал некорректный ответ;
- ошибка появилась в 1.19.1.
- </para>
- <para lang="en">
- "zero size buf in output" alerts might appear in logs
- if a FastCGI server returned an incorrect response;
- the bug had appeared in 1.19.1.
- </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 different large_client_header_buffers sizes were used
- in different virtual servers.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL shutdown мог не работать.
- </para>
- <para lang="en">
- SSL shutdown might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логах могли появляться сообщения
- "SSL_shutdown() failed (SSL: ... bad write retry)".
- </para>
- <para lang="en">
- "SSL_shutdown() failed (SSL: ... bad write retry)"
- messages might appear in logs.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_slice_module.
- </para>
- <para lang="en">
- in the ngx_http_slice_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_xslt_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_xslt_filter_module.
- </para>
- </change>
- </changes>
- <changes ver="1.19.1" date="2020-07-07">
- <change type="change">
- <para lang="ru">
- директивы lingering_close, lingering_time и lingering_timeout
- теперь работают при использовании HTTP/2.
- </para>
- <para lang="en">
- the "lingering_close", "lingering_time", and "lingering_timeout" directives
- now work when using HTTP/2.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь лишние данные, присланные бэкендом, всегда отбрасываются.
- </para>
- <para lang="en">
- now extra data sent by a backend are always discarded.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при получении слишком короткого ответа от FastCGI-сервера
- nginx пытается отправить клиенту доступную часть ответа,
- после чего закрывает соединение с клиентом.
- </para>
- <para lang="en">
- now after receiving a too short response from a FastCGI server
- nginx tries to send the available part of the response to the client,
- and then closes the client connection.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при получении ответа некорректной длины от gRPC-бэкенда
- nginx прекращает обработку ответа с ошибкой.
- </para>
- <para lang="en">
- now after receiving a response with incorrect length from a gRPC backend
- nginx stops response processing with an error.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр min_free в директивах proxy_cache_path, fastcgi_cache_path,
- scgi_cache_path и uwsgi_cache_path.<br/>
- Спасибо Adam Bambuch.
- </para>
- <para lang="en">
- the "min_free" parameter of the "proxy_cache_path", "fastcgi_cache_path",
- "scgi_cache_path", and "uwsgi_cache_path" directives.<br/>
- Thanks to Adam Bambuch.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не удалял unix domain listen-сокеты
- при плавном завершении по сигналу SIGQUIT.
- </para>
- <para lang="en">
- nginx did not delete unix domain listen sockets
- during graceful shutdown on the SIGQUIT signal.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- UDP-пакеты нулевого размера не проксировались.
- </para>
- <para lang="en">
- zero length UDP datagrams were not proxied.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- проксирование на uwsgi-бэкенды с использованием SSL могло не работать.<br/>
- Спасибо Guanzhong Chen.
- </para>
- <para lang="en">
- proxying to uwsgi backends using SSL might not work.<br/>
- Thanks to Guanzhong Chen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок при использовании директивы ssl_ocsp.
- </para>
- <para lang="en">
- in error handling when using the "ssl_ocsp" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании файловых систем XFS и NFS
- размер кэша на диске мог считаться некорректно.
- </para>
- <para lang="en">
- on XFS and NFS file systems
- disk cache size might be calculated incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если сервер memcached возвращал некорректный ответ,
- в логах могли появляться сообщения "negative size buf in writer".
- </para>
- <para lang="en">
- "negative size buf in writer" alerts might appear in logs
- if a memcached server returned a malformed response.
- </para>
- </change>
- </changes>
- <changes ver="1.19.0" date="2020-05-26">
- <change type="feature">
- <para lang="ru">
- проверка клиентских сертификатов с помощью OCSP.
- </para>
- <para lang="en">
- client certificate validation with OCSP.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при работе с gRPC-бэкендами
- могли возникать ошибки "upstream sent frame for closed stream".
- </para>
- <para lang="en">
- "upstream sent frame for closed stream" errors might occur
- when working with gRPC backends.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- OCSP stapling мог не работать,
- если не была указана директива resolver.
- </para>
- <para lang="en">
- OCSP stapling might not work
- if the "resolver" directive was not specified.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения с некорректным HTTP/2 preface не логгировались.
- </para>
- <para lang="en">
- connections with incorrect HTTP/2 preface were not logged.
- </para>
- </change>
- </changes>
- <changes ver="1.17.10" date="2020-04-14">
- <change type="feature">
- <para lang="ru">
- директива auth_delay.
- </para>
- <para lang="en">
- the "auth_delay" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.17.9" date="2020-03-03">
- <change type="change">
- <para lang="ru">
- теперь nginx не разрешает
- несколько строк "Host" в заголовке запроса.
- </para>
- <para lang="en">
- now nginx does not allow
- several "Host" request header lines.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал дополнительные
- строки "Transfer-Encoding" в заголовке запроса.
- </para>
- <para lang="en">
- nginx ignored additional
- "Transfer-Encoding" request header lines.
- </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">
- в рабочем процессе мог произойти segmentation fault,
- если использовался OCSP stapling.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if OCSP stapling was used.
- </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">
- при перенаправлении ошибок с кодом 494 с помощью директивы error_page
- nginx возвращал ответ с кодом 494 вместо 400.
- </para>
- <para lang="en">
- nginx used status code 494 instead of 400
- if errors with code 494 were redirected with the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов при использовании подзапросов в модуле njs и директивы aio.
- </para>
- <para lang="en">
- socket leak when using subrequests in the njs module and the "aio" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.17.8" date="2020-01-21">
- <change type="feature">
- <para lang="ru">
- директива grpc_pass поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "grpc_pass" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
- ошибка появилась в 1.17.5.
- </para>
- <para lang="en">
- a timeout might occur while handling pipelined requests in an SSL connection;
- the bug had appeared in 1.17.5.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве debug_points при использовании HTTP/2.<br/>
- Спасибо Даниилу Бондареву.
- </para>
- <para lang="en">
- in the "debug_points" directive when using HTTP/2.<br/>
- Thanks to Daniil Bondarev.
- </para>
- </change>
- </changes>
- <changes ver="1.17.7" date="2019-12-24">
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации мог произойти segmentation fault,
- если в конфигурации использовалась
- директива rewrite с пустой строкой замены.
- </para>
- <para lang="en">
- a segmentation fault might occur on start or during reconfiguration
- if the "rewrite" directive with an empty replacement string
- was used in the configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если директива break использовалась совместно с директивой alias
- или директивой proxy_pass с URI.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "break" directive was used with the "alias" directive
- or with the "proxy_pass" directive with a URI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строка Location заголовка ответа могла содержать мусор,
- если URI запроса был изменён на URI, содержащий нулевой символ.
- </para>
- <para lang="en">
- the "Location" response header line might contain garbage
- if the request URI was rewritten to the one containing a null character.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при возврате перенаправлений с помощью директивы error_page
- запросы с телом обрабатывались некорректно;
- ошибка появилась в 0.7.12.
- </para>
- <para lang="en">
- requests with bodies were handled incorrectly
- when returning redirections with the "error_page" directive;
- the bug had appeared in 0.7.12.
- </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">
- при обработке pipelined-запросов по SSL-соединению мог произойти таймаут;
- ошибка появилась в 1.17.5.
- </para>
- <para lang="en">
- a timeout might occur while handling pipelined requests in an SSL connection;
- the bug had appeared in 1.17.5.
- </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.17.6" date="2019-11-19">
- <change type="feature">
- <para lang="ru">
- переменные $proxy_protocol_server_addr и $proxy_protocol_server_port.
- </para>
- <para lang="en">
- the $proxy_protocol_server_addr and $proxy_protocol_server_port variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива limit_conn_dry_run.
- </para>
- <para lang="en">
- the "limit_conn_dry_run" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $limit_req_status и $limit_conn_status.
- </para>
- <para lang="en">
- the $limit_req_status and $limit_conn_status variables.
- </para>
- </change>
- </changes>
- <changes ver="1.17.5" date="2019-10-22">
- <change type="feature">
- <para lang="ru">
- теперь nginx использует вызов ioctl(FIONREAD), если он доступен,
- чтобы избежать чтения из быстрого соединения в течение долгого времени.
- </para>
- <para lang="en">
- now nginx uses ioctl(FIONREAD), if available,
- to avoid reading from a fast connection for a long time.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- неполные закодированные символы в конце URI запроса игнорировались.
- </para>
- <para lang="en">
- incomplete escaped characters at the end of the request URI were ignored.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- "/." и "/.." в конце URI запроса не нормализовывались.
- </para>
- <para lang="en">
- "/." and "/.." at the end of the request URI were not normalized.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве merge_slashes.
- </para>
- <para lang="en">
- in the "merge_slashes" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве ignore_invalid_headers.<br/>
- Спасибо Alan Kemp.
- </para>
- <para lang="en">
- in the "ignore_invalid_headers" directive.<br/>
- Thanks to Alan Kemp.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с MinGW-w64 gcc 8.1 и новее.
- </para>
- <para lang="en">
- nginx could not be built with MinGW-w64 gcc 8.1 or newer.
- </para>
- </change>
- </changes>
- <changes ver="1.17.4" date="2019-09-24">
- <change type="change">
- <para lang="ru">
- улучшено детектирование некорректного поведения клиентов в HTTP/2.
- </para>
- <para lang="en">
- better detection of incorrect client behavior in HTTP/2.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в обработке непрочитанного тела запроса
- при возврате ошибок в HTTP/2.
- </para>
- <para lang="en">
- in handling of not fully read client request body
- when returning errors in HTTP/2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива worker_shutdown_timeout могла не работать
- при использовании HTTP/2.
- </para>
- <para lang="en">
- the "worker_shutdown_timeout" directive might not work
- when using HTTP/2.
- </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">
- на Windows при использовании SSL
- уровень записи в лог ошибки ECONNABORTED был "crit" вместо "error".
- </para>
- <para lang="en">
- the ECONNABORTED error log level was "crit" instead of "error"
- on Windows when using SSL.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал лишние данные при использовании chunked transfer encoding.
- </para>
- <para lang="en">
- nginx ignored extra data when using chunked transfer encoding.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовалась директива return и
- при чтении тела запроса возникала ошибка,
- nginx всегда возвращал ошибку 500.
- </para>
- <para lang="en">
- nginx always returned the 500 error
- if the "return" directive was used
- and an error occurred during reading client request body.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок выделения памяти.
- </para>
- <para lang="en">
- in memory allocation error handling.
- </para>
- </change>
- </changes>
- <changes ver="1.17.3" date="2019-08-13">
- <change type="security">
- <para lang="ru">
- при использовании HTTP/2 клиент мог вызвать
- чрезмерное потребление памяти и ресурсов процессора
- (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
- </para>
- <para lang="en">
- when using HTTP/2 a client might cause
- excessive memory consumption and CPU usage
- (CVE-2019-9511, CVE-2019-9513, CVE-2019-9516).
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании сжатия в логах могли появляться сообщения "zero size buf";
- ошибка появилась в 1.17.2.
- </para>
- <para lang="en">
- "zero size buf" alerts might appear in logs when using gzipping;
- the bug had appeared in 1.17.2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы resolver в SMTP прокси-сервере
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "resolver" directive was used in SMTP proxy.
- </para>
- </change>
- </changes>
- <changes ver="1.17.2" date="2019-07-23">
- <change type="change">
- <para lang="ru">
- минимальная поддерживаемая версия zlib—1.2.0.4.<br/>
- Спасибо Илье Леошкевичу.
- </para>
- <para lang="en">
- minimum supported zlib version is 1.2.0.4.<br/>
- Thanks to Ilya Leoshkevich.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- метод $r->internal_redirect() встроенного перла
- теперь ожидает закодированный URI.
- </para>
- <para lang="en">
- the $r->internal_redirect() embedded perl method
- now expects escaped URIs.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь с помощью метода $r->internal_redirect() встроенного перла
- можно перейти в именованный location.
- </para>
- <para lang="en">
- it is now possible to switch to a named location
- using the $r->internal_redirect() embedded perl method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок во встроенном перле.
- </para>
- <para lang="en">
- in error handling in embedded perl.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации мог произойти segmentation fault,
- если в конфигурации использовалось значение hash bucket size больше 64 килобайт.
- </para>
- <para lang="en">
- a segmentation fault might occur on start or during reconfiguration
- if hash bucket size larger than 64 kilobytes was used in the configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании методов обработки соединений select, poll и /dev/poll
- nginx мог нагружать процессор во время небуферизованного проксирования
- и при проксировании WebSocket-соединений.
- </para>
- <para lang="en">
- nginx might hog CPU during unbuffered proxying
- and when proxying WebSocket connections
- if the select, poll, or /dev/poll methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_xslt_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_xslt_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_ssi_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_ssi_filter_module.
- </para>
- </change>
- </changes>
- <changes ver="1.17.1" date="2019-06-25">
- <change type="feature">
- <para lang="ru">
- директива limit_req_dry_run.
- </para>
- <para lang="en">
- the "limit_req_dry_run" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- при использовании директивы hash в блоке upstream
- пустой ключ хэширования теперь приводит к переключению
- на round-robin балансировку.<br/>
- Спасибо Niklas Keller.
- </para>
- <para lang="en">
- when using the "hash" directive inside the "upstream" block
- an empty hash key now triggers round-robin balancing.<br/>
- Thanks to Niklas Keller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалось кэширование и директива image_filter,
- а ошибки с кодом 415 перенаправлялись с помощью директивы error_page;
- ошибка появилась в 1.11.10.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if caching was used along with the "image_filter" directive,
- and errors with code 415 were redirected with the "error_page" directive;
- the bug had appeared in 1.11.10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался встроенный перл;
- ошибка появилась в 1.7.3.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if embedded perl was used;
- the bug had appeared in 1.7.3.
- </para>
- </change>
- </changes>
- <changes ver="1.17.0" date="2019-05-21">
- <change type="feature">
- <para lang="ru">
- директивы limit_rate и limit_rate_after поддерживают переменные.
- </para>
- <para lang="en">
- variables support in the "limit_rate" and "limit_rate_after" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_upload_rate и proxy_download_rate в модуле stream
- поддерживают переменные.
- </para>
- <para lang="en">
- variables support
- in the "proxy_upload_rate" and "proxy_download_rate" directives
- in the stream module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- минимальная поддерживаемая версия OpenSSL—0.9.8.
- </para>
- <para lang="en">
- minimum supported OpenSSL version is 0.9.8.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь postpone-фильтр собирается всегда.
- </para>
- <para lang="en">
- now the postpone filter is always built.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива include не работала в блоках if и limit_except.
- </para>
- <para lang="en">
- the "include" directive did not work inside the "if" and "limit_except" blocks.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке byte ranges.
- </para>
- <para lang="en">
- in byte ranges processing.
- </para>
- </change>
- </changes>
- <changes ver="1.15.12" date="2019-04-16">
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если в директивах ssl_certificate или ssl_certificate_key
- использовались переменные
- и был включён OCSP stapling.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if variables were used
- in the "ssl_certificate" or "ssl_certificate_key" directives
- and OCSP stapling was enabled.
- </para>
- </change>
- </changes>
- <changes ver="1.15.11" date="2019-04-09">
- <change type="bugfix">
- <para lang="ru">
- в директиве ssl_stapling_file на Windows.
- </para>
- <para lang="en">
- in the "ssl_stapling_file" directive on Windows.
- </para>
- </change>
- </changes>
- <changes ver="1.15.10" date="2019-03-26">
- <change type="change">
- <para lang="ru">
- теперь при использовании имени хоста в директиве listen
- nginx создаёт listen-сокеты для всех адресов,
- соответствующих этому имени
- (ранее использовался только первый адрес).
- </para>
- <para lang="en">
- when using a hostname in the "listen" directive
- nginx now creates listening sockets
- for all addresses the hostname resolves to
- (previously, only the first address was used).
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- диапазоны портов в директиве listen.
- </para>
- <para lang="en">
- port ranges in the "listen" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- возможность загрузки SSL-сертификатов и секретных ключей из переменных.
- </para>
- <para lang="en">
- loading of SSL certificates and secret keys from variables.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- переменная $ssl_server_name могла быть пустой
- при использовании OpenSSL 1.1.1.
- </para>
- <para lang="en">
- the $ssl_server_name variable might be empty
- when using OpenSSL 1.1.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не собирался с Visual Studio 2015 и новее;
- ошибка появилась в 1.15.9.
- </para>
- <para lang="en">
- nginx/Windows could not be built with Visual Studio 2015 or newer;
- the bug had appeared in 1.15.9.
- </para>
- </change>
- </changes>
- <changes ver="1.15.9" date="2019-02-26">
- <change type="feature">
- <para lang="ru">
- директивы ssl_certificate и ssl_certificate_key
- поддерживают переменные.
- </para>
- <para lang="en">
- variables support
- in the "ssl_certificate" and "ssl_certificate_key" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- метод poll теперь доступен на Windows
- при использовании Windows Vista и новее.
- </para>
- <para lang="en">
- the "poll" method is now available on Windows
- when using Windows Vista or newer.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании метода select на Windows
- происходила ошибка при установлении соединения с бэкендом,
- nginx ожидал истечения таймаута на установление соединения.
- </para>
- <para lang="en">
- if the "select" method was used on Windows
- and an error occurred while establishing a backend connection,
- nginx waited for the connection establishment timeout to expire.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_upload_rate и proxy_download_rate
- в модуле stream
- работали некорректно при проксировании UDP-пакетов.
- </para>
- <para lang="en">
- the "proxy_upload_rate" and "proxy_download_rate" directives
- in the stream module
- worked incorrectly when proxying UDP datagrams.
- </para>
- </change>
- </changes>
- <changes ver="1.15.8" date="2018-12-25">
- <change type="feature">
- <para lang="ru">
- переменная $upstream_bytes_sent.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the $upstream_bytes_sent variable.<br/>
- Thanks to Piotr Sikora.
- </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">
- в директиве proxy_cache_background_update.
- </para>
- <para lang="en">
- in the "proxy_cache_background_update" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве geo при использовании unix domain listen-сокетов.
- </para>
- <para lang="en">
- in the "geo" directive when using unix domain listen sockets.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при использовании директивы ssl_early_data с OpenSSL
- в логах могли появляться сообщения
- "ignoring stale global SSL error ... bad length".
- </para>
- <para lang="en">
- the "ignoring stale global SSL error ... bad length"
- alerts might appear in logs
- when using the "ssl_early_data" directive with OpenSSL.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в nginx/Windows.
- </para>
- <para lang="en">
- in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_autoindex_module на 32-битных платформах.
- </para>
- <para lang="en">
- in the ngx_http_autoindex_module on 32-bit platforms.
- </para>
- </change>
- </changes>
- <changes ver="1.15.7" date="2018-11-27">
- <change type="feature">
- <para lang="ru">
- директива proxy_requests в модуле stream.
- </para>
- <para lang="en">
- the "proxy_requests" directive in the stream module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр "delay" директивы "limit_req".<br/>
- Спасибо Владиславу Шабанову и Петру Щучкину.
- </para>
- <para lang="en">
- the "delay" parameter of the "limit_req" directive.<br/>
- Thanks to Vladislav Shabanov and Peter Shchuchkin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти в случае ошибок при переконфигурации.
- </para>
- <para lang="en">
- memory leak on errors during reconfiguration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в переменных $upstream_response_time, $upstream_connect_time и
- $upstream_header_time.
- </para>
- <para lang="en">
- in the $upstream_response_time, $upstream_connect_time, and
- $upstream_header_time variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_mp4_module на 32-битных платформах.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_mp4_module was used on 32-bit platforms.
- </para>
- </change>
- </changes>
- <changes ver="1.15.6" 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="feature">
- <para lang="ru">
- директивы proxy_socket_keepalive, fastcgi_socket_keepalive,
- grpc_socket_keepalive, memcached_socket_keepalive,
- scgi_socket_keepalive и uwsgi_socket_keepalive.
- </para>
- <para lang="en">
- the "proxy_socket_keepalive", "fastcgi_socket_keepalive",
- "grpc_socket_keepalive", "memcached_socket_keepalive",
- "scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1,
- протокол TLS 1.3 всегда был разрешён.
- </para>
- <para lang="en">
- if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1,
- the TLS 1.3 protocol was always enabled.
- </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.15.5" date="2018-10-02">
- <change type="bugfix">
- <para lang="ru">
- при использовании OpenSSL 1.1.0h и новее
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 1.15.4.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- when using OpenSSL 1.1.0h or newer;
- the bug had appeared in 1.15.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- незначительных потенциальных ошибок.
- </para>
- <para lang="en">
- of minor potential bugs.
- </para>
- </change>
- </changes>
- <changes ver="1.15.4" date="2018-09-25">
- <change type="feature">
- <para lang="ru">
- теперь директиву ssl_early_data можно использовать с OpenSSL.
- </para>
- <para lang="en">
- now the "ssl_early_data" directive can be used with OpenSSL.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_uwsgi_module.<br/>
- Спасибо Chris Caputo.
- </para>
- <para lang="en">
- in the ngx_http_uwsgi_module.<br/>
- Thanks to Chris Caputo.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения к некоторым gRPC-бэкендам могли не кэшироваться
- при использовании директивы keepalive.
- </para>
- <para lang="en">
- connections with some gRPC backends might not be cached
- when using the "keepalive" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы error_page для перенаправления ошибок,
- возникающих на ранних этапах обработки запроса,
- в частности ошибок с кодом 400,
- могла происходить утечка сокетов.
- </para>
- <para lang="en">
- a socket leak might occur
- when using the "error_page" directive
- to redirect early request processing errors,
- notably errors with code 400.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива return при возврате ошибок не изменяла код ответа,
- если запрос был перенаправлен с помощью директивы error_page.
- </para>
- <para lang="en">
- the "return" directive did not change the response code when returning errors
- if the request was redirected by the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module
- содержали атрибут bgcolor, что могло приводить к их некорректному отображению
- при использовании пользовательских настроек цветов в браузерах.<br/>
- Спасибо Nova DasSarma.
- </para>
- <para lang="en">
- standard error pages and responses of the ngx_http_autoindex_module module
- used the "bgcolor" attribute, and might be displayed incorrectly when using
- custom color settings in browsers.<br/>
- Thanks to Nova DasSarma.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL "no suitable key share" и
- "no suitable signature algorithm"
- понижен с уровня crit до info.
- </para>
- <para lang="en">
- the logging level of the "no suitable key share" and
- "no suitable signature algorithm" SSL errors
- has been lowered from "crit" to "info".
- </para>
- </change>
- </changes>
- <changes ver="1.15.3" date="2018-08-28">
- <change type="feature">
- <para lang="ru">
- теперь TLSv1.3 можно использовать с BoringSSL.
- </para>
- <para lang="en">
- now TLSv1.3 can be used with BoringSSL.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_early_data,
- сейчас доступна при использовании BoringSSL.
- </para>
- <para lang="en">
- the "ssl_early_data" directive,
- currently available with BoringSSL.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы keepalive_timeout и keepalive_requests
- в блоке upstream.
- </para>
- <para lang="en">
- the "keepalive_timeout" and "keepalive_requests" directives
- in the "upstream" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module
- при копировании файла поверх существующего файла с помощью метода COPY
- не обнулял целевой файл.
- </para>
- <para lang="en">
- the ngx_http_dav_module
- did not truncate destination file when copying a file over an existing one
- with the COPY method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module
- при перемещении файла между файловыми системами с помощью метода MOVE
- устанавливал нулевые права доступа на результирующий файл
- и не сохранял время изменения файла.
- </para>
- <para lang="en">
- the ngx_http_dav_module
- used zero access rights on the destination file
- and did not preserve file modification time
- when moving a file between different file systems with the MOVE method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module
- при копировании файла с помощью метода COPY
- для результирующего файла использовал права доступа по умолчанию.
- </para>
- <para lang="en">
- the ngx_http_dav_module
- used default access rights
- when copying a file with the COPY method.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- некоторые клиенты могли не работать при использовании HTTP/2;
- ошибка появилась в 1.13.5.
- </para>
- <para lang="en">
- some clients might not work when using HTTP/2;
- the bug had appeared in 1.13.5.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с LibreSSL 2.8.0.
- </para>
- <para lang="en">
- nginx could not be built with LibreSSL 2.8.0.
- </para>
- </change>
- </changes>
- <changes ver="1.15.2" date="2018-07-24">
- <change type="feature">
- <para lang="ru">
- переменная $ssl_preread_protocol
- в модуле ngx_stream_ssl_preread_module.
- </para>
- <para lang="en">
- the $ssl_preread_protocol variable
- in the ngx_stream_ssl_preread_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при использовании директивы reset_timedout_connection
- nginx сбрасывает соединения, закрываемые с кодом 444.
- </para>
- <para lang="en">
- now when using the "reset_timedout_connection" directive
- nginx will reset connections being closed with the 444 code.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок SSL "http request", "https proxy request",
- "unsupported protocol" и "version too low"
- понижен с уровня crit до info.
- </para>
- <para lang="en">
- a logging level of the "http request", "https proxy request",
- "unsupported protocol", and "version too low" SSL errors
- has been lowered from "crit" to "info".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- запросы к DNS-серверу не отправлялись повторно,
- если при первой попытке отправки происходила ошибка.
- </para>
- <para lang="en">
- DNS requests were not resent
- if initial sending of a request failed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр reuseport директивы listen игнорировался,
- если количество рабочих процессов было задано после директивы listen.
- </para>
- <para lang="en">
- the "reuseport" parameter of the "listen" directive was ignored
- if the number of worker processes was specified after the "listen" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании OpenSSL 1.1.0 и новее
- директиву ssl_prefer_server_ciphers нельзя было выключить
- в виртуальном сервере, если она была включена в сервере по умолчанию.
- </para>
- <para lang="en">
- when using OpenSSL 1.1.0 or newer
- it was not possible to switch off "ssl_prefer_server_ciphers" in
- a virtual server if it was switched on in the default server.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- повторное использование SSL-сессий к бэкендам
- не работало с протоколом TLS 1.3.
- </para>
- <para lang="en">
- SSL session reuse with upstream servers
- did not work with the TLS 1.3 protocol.
- </para>
- </change>
- </changes>
- <changes ver="1.15.1" date="2018-07-03">
- <change type="feature">
- <para lang="ru">
- директива random в блоке upstream.
- </para>
- <para lang="en">
- the "random" directive inside the "upstream" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- улучшена производительность при использовании директив hash и ip_hash
- совместно с директивой zone.
- </para>
- <para lang="en">
- improved performance when using the "hash" and "ip_hash" directives
- with the "zone" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр reuseport директивы listen
- теперь использует SO_REUSEPORT_LB на FreeBSD 12.
- </para>
- <para lang="en">
- the "reuseport" parameter of the "listen" directive
- now uses SO_REUSEPORT_LB on FreeBSD 12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- HTTP/2 server push не работал, если SSL терминировался прокси-сервером
- перед nginx'ом.
- </para>
- <para lang="en">
- HTTP/2 server push did not work if SSL was terminated by a proxy server
- in front of nginx.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива tcp_nopush всегда использовалась для соединений к бэкендам.
- </para>
- <para lang="en">
- the "tcp_nopush" directive was always used on backend connections.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при отправке сохранённого на диск тела запроса на gRPC-бэкенд
- могли возникать ошибки.
- </para>
- <para lang="en">
- sending a disk-buffered request body to a gRPC backend
- might fail.
- </para>
- </change>
- </changes>
- <changes ver="1.15.0" date="2018-06-05">
- <change type="change">
- <para lang="ru">
- директива "ssl" теперь считается устаревшей;
- вместо неё следует использовать параметр ssl директивы listen.
- </para>
- <para lang="en">
- the "ssl" directive is deprecated;
- the "ssl" parameter of the "listen" directive should be used instead.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при использовании директивы listen с параметром ssl
- nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации.
- </para>
- <para lang="en">
- now nginx detects missing SSL certificates during configuration testing
- when using the "ssl" parameter of the "listen" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь модуль stream умеет обрабатывать
- несколько входящих UDP-пакетов от клиента в рамках одной сессии.
- </para>
- <para lang="en">
- now the stream module can handle
- multiple incoming UDP datagrams from a client within a single session.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_cache_valid
- можно было указать некорректный код ответа.
- </para>
- <para lang="en">
- it was possible to specify an incorrect response code
- in the "proxy_cache_valid" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc 8.1.
- </para>
- <para lang="en">
- nginx could not be built by gcc 8.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- логгирование в syslog останавливалось при изменении локального IP-адреса.
- </para>
- <para lang="en">
- logging to syslog stopped on local IP address changes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался компилятором clang, если был установлен CUDA SDK;
- ошибка появилась в 1.13.8.
- </para>
- <para lang="en">
- nginx could not be built by clang with CUDA SDK installed;
- the bug had appeared in 1.13.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании unix domain listen-сокетов на FreeBSD
- в процессе обновления исполняемого файла
- в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed".
- </para>
- <para lang="en">
- "getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs
- during binary upgrade
- when using unix domain listen sockets on FreeBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Fedora 28 Linux.
- </para>
- <para lang="en">
- nginx could not be built on Fedora 28 Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы limit_req
- заданная скорость обработки запросов могла не соблюдаться.
- </para>
- <para lang="en">
- request processing rate might exceed configured rate
- when using the "limit_req" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке адресов клиентов при использовании unix domain listen-сокетов
- для работы с датаграммами на Linux.
- </para>
- <para lang="en">
- in handling of client addresses when using unix domain listen sockets
- to work with datagrams on Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок выделения памяти.
- </para>
- <para lang="en">
- in memory allocation error handling.
- </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 могла содержать неверное значение
- при использовании директивы image_filter.
- </para>
- <para lang="en">
- the $upstream_response_time variable might contain a wrong value
- if the "image_filter" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке целочисленных переполнений.<br/>
- Спасибо Régis Leroy.
- </para>
- <para lang="en">
- in integer overflow handling.<br/>
- Thanks to Régis Leroy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании LibreSSL было невозможно включить поддержку SSLv3.
- </para>
- <para lang="en">
- it was not possible to enable SSLv3 with LibreSSL.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании LibreSSL в логах появлялись сообщения
- "ignoring stale global SSL error ... called a function you should not call".
- </para>
- <para lang="en">
- the "ignoring stale global SSL error ... called a function you should not call"
- alerts appeared in logs when using LibreSSL.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сертификаты, указанные в директивах ssl_client_certificate и
- ssl_trusted_certificate, использовались
- для автоматического построения цепочек сертификатов.
- </para>
- <para lang="en">
- certificates specified by the "ssl_client_certificate" and
- "ssl_trusted_certificate" directives were inadvertently used
- to automatically construct certificate chains.
- </para>
- </change>
- </changes>
- <changes ver="1.7.10" date="2015-02-10">
- <change type="feature">
- <para lang="ru">
- параметр use_temp_path директив proxy_cache_path, fastcgi_cache_path,
- scgi_cache_path и uwsgi_cache_path.
- </para>
- <para lang="en">
- the "use_temp_path" parameter of the "proxy_cache_path", "fastcgi_cache_path",
- "scgi_cache_path", and "uwsgi_cache_path" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $upstream_header_time.
- </para>
- <para lang="en">
- the $upstream_header_time variable.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- теперь при переполнении диска nginx пытается писать error_log'и только
- раз в секунду.
- </para>
- <para lang="en">
- now on disk overflow nginx tries to write error logs once a second only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива try_files при тестировании каталогов
- не игнорировала обычные файлы.<br/>
- Спасибо Damien Tournoud.
- </para>
- <para lang="en">
- the "try_files" directive did not ignore normal files
- while testing directories.<br/>
- Thanks to Damien Tournoud.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы sendfile на OS X
- возникали ошибки "sendfile() failed";
- ошибка появилась в nginx 1.7.8.
- </para>
- <para lang="en">
- alerts "sendfile() failed"
- if the "sendfile" directive was used on OS X;
- the bug had appeared in 1.7.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в лог могли писаться сообщения "sem_post() failed".
- </para>
- <para lang="en">
- alerts "sem_post() failed" might appear in logs.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с musl libc.<br/>
- Спасибо James Taylor.
- </para>
- <para lang="en">
- nginx could not be built with musl libc.<br/>
- Thanks to James Taylor.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Tru64 UNIX.<br/>
- Спасибо Goetz T. Fischer.
- </para>
- <para lang="en">
- nginx could not be built on Tru64 UNIX.<br/>
- Thanks to Goetz T. Fischer.
- </para>
- </change>
- </changes>
- <changes ver="1.7.9" date="2014-12-23">
- <change type="feature">
- <para lang="ru">
- директивы proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache
- поддерживают переменные.
- </para>
- <para lang="en">
- variables support in the "proxy_cache", "fastcgi_cache", "scgi_cache",
- and "uwsgi_cache" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива expires поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "expires" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- возможность загрузки секретных ключей с аппаратных устройств
- с помощью OpenSSL engines.<br/>
- Спасибо Дмитрию Пичулину.
- </para>
- <para lang="en">
- loading of secret keys from hardware tokens
- with OpenSSL engines.<br/>
- Thanks to Dmitrii Pichulin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива autoindex_format.
- </para>
- <para lang="en">
- the "autoindex_format" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ревалидация элементов кэша теперь используется только для ответов
- с кодами 200 и 206.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- cache revalidation is now only used for responses
- with 200 and 206 status codes.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строка "TE" заголовка запроса клиента передавалась на бэкенд при проксировании.
- </para>
- <para lang="en">
- the "TE" client request header line was passed to backends while proxying.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass
- могли неправильно работать внутри блоков if и limit_except.
- </para>
- <para lang="en">
- the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives
- might not work correctly inside the "if" and "limit_except" blocks.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_store с параметром "on" игнорировалась,
- если на предыдущем уровне использовалась директива proxy_store
- с явно заданным путём к файлам.
- </para>
- <para lang="en">
- the "proxy_store" directive with the "on" parameter was ignored
- if the "proxy_store" directive with an explicitly specified file path
- was used on a previous level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с BoringSSL.<br/>
- Спасибо Lukas Tribus.
- </para>
- <para lang="en">
- nginx could not be built with BoringSSL.<br/>
- Thanks to Lukas Tribus.
- </para>
- </change>
- </changes>
- <changes ver="1.7.8" date="2014-12-02">
- <change type="change">
- <para lang="ru">
- теперь строки "If-Modified-Since", "If-Range" и им подобные
- в заголовке запроса клиента передаются бэкенду при включённом кэшировании,
- если nginx заранее знает, что не будет кэшировать ответ
- (например, при использовании proxy_cache_min_uses).
- </para>
- <para lang="en">
- now the "If-Modified-Since", "If-Range", etc.
- client request header lines are passed to a backend while caching
- if nginx knows in advance that the response will not be cached
- (e.g., when using proxy_cache_min_uses).
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь после истечения proxy_cache_lock_timeout
- nginx отправляет запрос на бэкенд без кэширования;
- новые директивы proxy_cache_lock_age, fastcgi_cache_lock_age,
- scgi_cache_lock_age и uwsgi_cache_lock_age позволяют указать,
- через какое время блокировка будет принудительно снята
- и будет сделана ещё одна попытка закэшировать ответ.
- </para>
- <para lang="en">
- now after proxy_cache_lock_timeout
- nginx sends a request to a backend with caching disabled;
- the new directives "proxy_cache_lock_age", "fastcgi_cache_lock_age",
- "scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time
- after which the lock will be released
- and another attempt to cache a response will be made.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива log_format теперь может использоваться только на уровне http.
- </para>
- <para lang="en">
- the "log_format" directive can now be used only at http level.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_ssl_certificate, proxy_ssl_certificate_key,
- proxy_ssl_password_file, uwsgi_ssl_certificate,
- uwsgi_ssl_certificate_key и uwsgi_ssl_password_file.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the "proxy_ssl_certificate", "proxy_ssl_certificate_key",
- "proxy_ssl_password_file", "uwsgi_ssl_certificate",
- "uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" directives.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь с помощью X-Accel-Redirect
- можно перейти в именованный location.<br/>
- Спасибо Toshikuni Fukaya.
- </para>
- <para lang="en">
- it is now possible to switch to a named location
- using "X-Accel-Redirect".<br/>
- Thanks to Toshikuni Fukaya.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директива tcp_nodelay работает для SPDY-соединений.
- </para>
- <para lang="en">
- now the "tcp_nodelay" directive works with SPDY connections.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- новые директивы в скриптах подсветки синтаксиса для vim.<br/>
- Спасибо Peter Wu.
- </para>
- <para lang="en">
- new directives in vim syntax highliting scripts.<br/>
- Thanks to Peter Wu.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал значение "s-maxage"
- в строке "Cache-Control" в заголовке ответа бэкенда.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- nginx ignored the "s-maxage" value
- in the "Cache-Control" backend response header line.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_spdy_module.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in the ngx_http_spdy_module.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве ssl_password_file
- при использовании OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
- </para>
- <para lang="en">
- in the "ssl_password_file" directive
- when using OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы post_action
- в лог писались сообщения "header already sent";
- ошибка появилась в nginx 1.5.4.
- </para>
- <para lang="en">
- alerts "header already sent" appeared in logs
- if the "post_action" directive was used;
- the bug had appeared in 1.5.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы "postpone_output 0" с SSI-подзапросами
- в лог могли писаться сообщения "the http output chain is empty".
- </para>
- <para lang="en">
- alerts "the http output chain is empty" might appear in logs
- if the "postpone_output 0" directive was used with SSI includes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_cache_lock при использовании SSI-подзапросов.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- in the "proxy_cache_lock" directive with SSI subrequests.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- </changes>
- <changes ver="1.7.7" date="2014-10-28">
- <change type="change">
- <para lang="ru">
- теперь nginx учитывает при кэшировании строку "Vary"
- в заголовке ответа бэкенда.
- </para>
- <para lang="en">
- now nginx takes into account the "Vary"
- header line in a backend response while caching.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_force_ranges, fastcgi_force_ranges,
- scgi_force_ranges и uwsgi_force_ranges.
- </para>
- <para lang="en">
- the "proxy_force_ranges", "fastcgi_force_ranges",
- "scgi_force_ranges", and "uwsgi_force_ranges" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_limit_rate, fastcgi_limit_rate,
- scgi_limit_rate и uwsgi_limit_rate.
- </para>
- <para lang="en">
- the "proxy_limit_rate", "fastcgi_limit_rate",
- "scgi_limit_rate", and "uwsgi_limit_rate" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers,
- scgi_ignore_headers и uwsgi_ignore_headers.
- </para>
- <para lang="en">
- the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers",
- "scgi_ignore_headers", and "uwsgi_ignore_headers" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- последняя часть ответа, полученного от бэкенда
- при небуферизированном проксировании,
- могла не отправляться клиенту,
- если использовались директивы gzip или gunzip.
- </para>
- <para lang="en">
- the last part of a response received from a backend
- with unbufferred proxy
- might not be sent to a client
- if "gzip" or "gunzip" directives were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_cache_revalidate.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in the "proxy_cache_revalidate" directive.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок.<br/>
- Спасибо Yichun Zhang и Даниилу Бондареву.
- </para>
- <para lang="en">
- in error handling.<br/>
- Thanks to Yichun Zhang and Daniil Bondarev.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директивах
- proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/>
- Спасибо Feng Gu.
- </para>
- <para lang="en">
- in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout"
- directives.<br/>
- Thanks to Feng Gu.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не собирался с MinGW-w64 gcc.<br/>
- Спасибо Kouhei Sutou.
- </para>
- <para lang="en">
- nginx/Windows could not be built with MinGW-w64 gcc.<br/>
- Thanks to Kouhei Sutou.
- </para>
- </change>
- </changes>
- <changes ver="1.7.6" date="2014-09-30">
- <change type="change">
- <para lang="ru">
- устаревшая директива limit_zone больше не поддерживается.
- </para>
- <para lang="en">
- the deprecated "limit_zone" directive is not supported anymore.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в директивах limit_conn_zone и limit_req_zone теперь можно использовать
- комбинации нескольких переменных.
- </para>
- <para lang="en">
- the "limit_conn_zone" and "limit_req_zone" directives now can be used
- with combinations of multiple variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при повторной отправке FastCGI-запроса на бэкенд
- тело запроса могло передаваться неправильно.
- </para>
- <para lang="en">
- request body might be transmitted incorrectly
- when retrying a FastCGI request to the next upstream server.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в логгировании в syslog.
- </para>
- <para lang="en">
- in logging to syslog.
- </para>
- </change>
- </changes>
- <changes ver="1.7.5" date="2014-09-16">
- <change type="security">
- <para lang="ru">
- при использовании общего для нескольких блоков server
- разделяемого кэша SSL-сессий или общего ключа для шифрования
- TLS session tickets было возможно повторно использовать
- SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/>
- Спасибо Antoine Delignat-Lavaud.
- </para>
- <para lang="en">
- it was possible to reuse SSL sessions in unrelated contexts
- if a shared SSL session cache or the same TLS session ticket key
- was used for multiple "server" blocks (CVE-2014-3616).<br/>
- Thanks to Antoine Delignat-Lavaud.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директиву stub_status теперь можно указывать без параметров.
- </para>
- <para lang="en">
- now the "stub_status" directive does not require a parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр always директивы add_header.
- </para>
- <para lang="en">
- the "always" parameter of the "add_header" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы
- proxy_next_upstream_tries, proxy_next_upstream_timeout,
- fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout,
- memcached_next_upstream_tries, memcached_next_upstream_timeout,
- scgi_next_upstream_tries, scgi_next_upstream_timeout,
- uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout.
- </para>
- <para lang="en">
- the
- "proxy_next_upstream_tries", "proxy_next_upstream_timeout",
- "fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout",
- "memcached_next_upstream_tries", "memcached_next_upstream_timeout",
- "scgi_next_upstream_tries", "scgi_next_upstream_timeout",
- "uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout"
- directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в параметре if директивы access_log.
- </para>
- <para lang="en">
- in the "if" parameter of the "access_log" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_perl_module.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in the ngx_http_perl_module.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива listen почтового прокси-сервера
- не позволяла указать более двух параметров.
- </para>
- <para lang="en">
- the "listen" directive of the mail proxy module
- did not allow to specify more than two parameters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива sub_filter не работала
- с заменяемой строкой из одного символа.
- </para>
- <para lang="en">
- the "sub_filter" directive did not work
- with a string to replace consisting of a single character.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- запросы могли зависать, если использовался resolver
- и в процессе обращения к DNS-серверу происходил таймаут.
- </para>
- <para lang="en">
- requests might hang if resolver was used
- and a timeout occurred during a DNS request.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_spdy_module при использовании совместно с AIO.
- </para>
- <para lang="en">
- in the ngx_http_spdy_module when using with AIO.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если с помощью директивы set изменялись переменные
- "$http_...", "$sent_http_..." или "$upstream_http_...".
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "set" directive was used to change the "$http_...",
- "$sent_http_...", or "$upstream_http_..." variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок выделения памяти.<br/>
- Спасибо Markus Linnala и Feng Gu.
- </para>
- <para lang="en">
- in memory allocation error handling.<br/>
- Thanks to Markus Linnala and Feng Gu.
- </para>
- </change>
- </changes>
- <changes ver="1.7.4" date="2014-08-05">
- <change type="security">
- <para lang="ru">
- pipelined-команды не отбрасывались
- после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556);
- ошибка появилась в 1.5.6.<br/>
- Спасибо Chris Boulton.
- </para>
- <para lang="en">
- pipelined commands were not discarded
- after STARTTLS command in SMTP proxy (CVE-2014-3556);
- the bug had appeared in 1.5.6.<br/>
- Thanks to Chris Boulton.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- экранирование символов в URI теперь использует
- шестнадцатеричные цифры в верхнем регистре.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- URI escaping now uses
- uppercase hexadecimal digits.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь nginx можно собрать с BoringSSL и LibreSSL.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- now nginx can be build with BoringSSL and LibreSSL.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- запросы могли зависать, если использовался resolver
- и DNS-сервер возвращал некорректный ответ;
- ошибка появилась в 1.5.8.
- </para>
- <para lang="en">
- requests might hang if resolver was used
- and a DNS server returned a malformed response;
- the bug had appeared in 1.5.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_spdy_module.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in the ngx_http_spdy_module.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $uri могла содержать мусор
- при возврате ошибок с кодом 400.<br/>
- Спасибо Сергею Боброву.
- </para>
- <para lang="en">
- the $uri variable might contain garbage
- when returning errors with code 400.<br/>
- Thanks to Sergey Bobrov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок в директиве proxy_store
- и в модуле ngx_http_dav_module.<br/>
- Спасибо Feng Gu.
- </para>
- <para lang="en">
- in error handling in the "proxy_store" directive
- and the ngx_http_dav_module.<br/>
- Thanks to Feng Gu.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при логгировании ошибок в syslog мог происходить segmentation fault;
- ошибка появилась в 1.7.1.
- </para>
- <para lang="en">
- a segmentation fault might occur if logging of errors to syslog was used;
- the bug had appeared in 1.7.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code
- и $geoip_area_code могли не работать.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- the $geoip_latitude, $geoip_longitude, $geoip_dma_code,
- and $geoip_area_code variables might not work.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок выделения памяти.<br/>
- Спасибо Tatsuhiko Kubo и Piotr Sikora.
- </para>
- <para lang="en">
- in memory allocation error handling.<br/>
- Thanks to Tatsuhiko Kubo and Piotr Sikora.
- </para>
- </change>
- </changes>
- <changes ver="1.7.3" date="2014-07-08">
- <change type="feature">
- <para lang="ru">
- weak entity tags теперь не удаляются при изменениях ответа,
- а strong entity tags преобразуются в weak.
- </para>
- <para lang="en">
- weak entity tags are now preserved on response modifications,
- and strong ones are changed to weak.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ревалидация элементов кэша теперь, если это возможно,
- использует заголовок If-None-Match.
- </para>
- <para lang="en">
- cache revalidation now uses If-None-Match header
- if possible.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_password_file.
- </para>
- <para lang="en">
- the "ssl_password_file" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при возврате ответа из кэша
- заголовок запроса If-None-Match игнорировался,
- если в ответе не было заголовка Last-Modified.
- </para>
- <para lang="en">
- the If-None-Match request header line was ignored
- if there was no Last-Modified header
- in a response returned from cache.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения "peer closed connection in SSL handshake"
- при соединении с бэкендами логгировались на уровне info вместо error.
- </para>
- <para lang="en">
- "peer closed connection in SSL handshake" messages
- were logged at "info" level instead of "error" while connecting to backends.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_dav_module в nginx/Windows.
- </para>
- <para lang="en">
- in the ngx_http_dav_module module in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SPDY-соединения могли неожиданно закрываться,
- если использовалось кэширование.
- </para>
- <para lang="en">
- SPDY connections might be closed prematurely
- if caching was used.
- </para>
- </change>
- </changes>
- <changes ver="1.7.2" date="2014-06-17">
- <change type="feature">
- <para lang="ru">
- директива hash в блоке upstream.
- </para>
- <para lang="en">
- the "hash" directive inside the "upstream" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- дефрагментация свободных блоков разделяемой памяти.<br/>
- Спасибо Wandenberg Peixoto и Yichun Zhang.
- </para>
- <para lang="en">
- defragmentation of free shared memory blocks.<br/>
- Thanks to Wandenberg Peixoto and Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалось значение access_log по умолчанию;
- ошибка появилась в 1.7.0.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the default value of the "access_log" directive was used;
- the bug had appeared in 1.7.0.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- завершающий слэш ошибочно удалялся
- из последнего параметра директивы try_files.
- </para>
- <para lang="en">
- trailing slash was mistakenly removed
- from the last parameter of the "try_files" directive.
- </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>
- <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.1" date="2014-05-27">
- <change type="feature">
- <para lang="ru">
- переменные "$upstream_cookie_...".
- </para>
- <para lang="en">
- the "$upstream_cookie_..." variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_client_fingerprint.
- </para>
- <para lang="en">
- the $ssl_client_fingerprint variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы error_log и access_log теперь поддерживают логгирование в syslog.
- </para>
- <para lang="en">
- the "error_log" and "access_log" directives now support logging to syslog.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер теперь логгирует порт клиента при соединении.
- </para>
- <para lang="en">
- the mail proxy now logs client port on connect.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при использовании директивы "ssl_stapling".<br/>
- Спасибо Filipe da Silva.
- </para>
- <para lang="en">
- memory leak if the "ssl_stapling" directive was used.<br/>
- Thanks to Filipe da Silva.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива alias внутри location'а, заданного регулярным выражением,
- работала неправильно, если использовались директивы if или limit_except.
- </para>
- <para lang="en">
- the "alias" directive used inside a location given by a regular expression
- worked incorrectly if the "if" or "limit_except" directives were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива charset не ставила кодировку для сжатых ответов бэкендов.
- </para>
- <para lang="en">
- the "charset" directive did not set a charset to encoded backend responses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_pass без URI могла использовать оригинальный запрос
- после установки переменной $args.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- a "proxy_pass" directive without URI part might use original request
- after the $args variable was set.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в работе параметра none директивы smtp_auth;
- ошибка появилась в 1.5.6.<br/>
- Спасибо Святославу Никольскому.
- </para>
- <para lang="en">
- in the "none" parameter in the "smtp_auth" directive;
- the bug had appeared in 1.5.6.<br/>
- Thanks to Svyatoslav Nikolsky.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при совместном использовании sub_filter и SSI
- ответы могли передаваться неверно.
- </para>
- <para lang="en">
- if sub_filter and SSI were used together,
- then responses might be transferred incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --with-file-aio на Linux/aarch64.
- </para>
- <para lang="en">
- nginx could not be built with the --with-file-aio option on Linux/aarch64.
- </para>
- </change>
- </changes>
- <changes ver="1.7.0" date="2014-04-24">
- <change type="feature">
- <para lang="ru">
- проверка SSL-сертификатов бэкендов.
- </para>
- <para lang="en">
- backend SSL certificate verification.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка SNI при работе с бэкендами по SSL.
- </para>
- <para lang="en">
- support for SNI while working with SSL backends.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_server_name.
- </para>
- <para lang="en">
- the $ssl_server_name variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр if директивы access_log.
- </para>
- <para lang="en">
- the "if" parameter of the "access_log" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.5.13" date="2014-04-08">
- <change type="change">
- <para lang="ru">
- улучшена обработка хэш-таблиц;
- в директивах variables_hash_max_size и types_hash_bucket_size
- значения по умолчанию изменены на 1024 и 64 соответственно.
- </para>
- <para lang="en">
- improved hash table handling;
- the default values of the "variables_hash_max_size" and
- "types_hash_bucket_size" were changed to 1024 and 64 respectively.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_mp4_module теперь понимает аргумент end.
- </para>
- <para lang="en">
- the ngx_http_mp4_module now supports the "end" argument.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка byte ranges модулем ngx_http_mp4_module и при сохранении
- ответов в кэш.
- </para>
- <para lang="en">
- byte ranges support in the ngx_http_mp4_module and while saving responses
- to cache.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory"
- при использовании разделяемой памяти в ssl_session_cache
- и в модуле ngx_http_limit_req_module.
- </para>
- <para lang="en">
- alerts "ngx_slab_alloc() failed: no memory" no longer logged
- when using shared memory in the "ssl_session_cache" directive
- and in the ngx_http_limit_req_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива underscores_in_headers
- не разрешала подчёркивание в первом символе заголовка.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the "underscores_in_headers" directive
- did not allow underscore as a first character of a header.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- cache manager мог нагружать процессор при выходе в nginx/Windows.
- </para>
- <para lang="en">
- cache manager might hog CPU on exit in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании ssl_session_cache с параметром shared
- рабочий процесс nginx/Windows завершался аварийно.
- </para>
- <para lang="en">
- nginx/Windows terminated abnormally
- if the "ssl_session_cache" directive was used with the "shared" parameter.
- </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.5.12" date="2014-03-18">
- <change type="security">
- <para lang="ru">
- при обработке специально созданного запроса модулем ngx_http_spdy_module
- могло происходить переполнение буфера в рабочем процессе,
- что потенциально могло приводить к выполнению произвольного кода
- (CVE-2014-0133).<br/>
- Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
- Sadosky, Buenos Aires, Argentina.
- </para>
- <para lang="en">
- a heap memory buffer overflow might occur in a worker process
- while handling a specially crafted request by ngx_http_spdy_module,
- potentially resulting in arbitrary code execution
- (CVE-2014-0133).<br/>
- Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
- Sadosky, Buenos Aires, Argentina.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр proxy_protocol в директивах listen и real_ip_header,
- переменная $proxy_protocol_addr.
- </para>
- <para lang="en">
- the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives,
- the $proxy_protocol_addr variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве fastcgi_next_upstream.<br/>
- Спасибо Lucas Molas.
- </para>
- <para lang="en">
- in the "fastcgi_next_upstream" directive.<br/>
- Thanks to Lucas Molas.
- </para>
- </change>
- </changes>
- <changes ver="1.5.11" date="2014-03-04">
- <change type="security">
- <para lang="ru">
- при обработке специально созданного запроса модулем ngx_http_spdy_module
- на 32-битных платформах могла повреждаться память рабочего процесса,
- что потенциально могло приводить к выполнению произвольного кода
- (CVE-2014-0088);
- ошибка появилась в 1.5.10.<br/>
- Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel
- Sadosky, Buenos Aires, Argentina.
- </para>
- <para lang="en">
- memory corruption might occur in a worker process on 32-bit platforms
- while handling a specially crafted request by ngx_http_spdy_module,
- potentially resulting in arbitrary code execution (CVE-2014-0088);
- the bug had appeared in 1.5.10.<br/>
- Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel
- Sadosky, Buenos Aires, Argentina.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_session_reused.
- </para>
- <para lang="en">
- the $ssl_session_reused variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива client_max_body_size могла не работать
- при чтении тела запроса с использованием chunked transfer encoding;
- ошибка появилась в 1.3.9.<br/>
- Спасибо Lucas Molas.
- </para>
- <para lang="en">
- the "client_max_body_size" directive might not work
- when reading a request body using chunked transfer encoding;
- the bug had appeared in 1.3.9.<br/>
- Thanks to Lucas Molas.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании WebSocket-соединений
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- when proxying WebSocket connections.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_spdy_module на 32-битных платформах;
- ошибка появилась в 1.5.10.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_spdy_module was used on 32-bit platforms;
- the bug had appeared in 1.5.10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- значение переменной $upstream_status могло быть неверным,
- если использовались директивы proxy_cache_use_stale
- или proxy_cache_revalidate.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the $upstream_status variable might contain wrong data
- if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives
- were used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если ошибки с кодом 400 с помощью директивы error_page
- перенаправлялись в именованный location.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if errors with code 400 were redirected to a named location
- using the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не собирался с Visual Studio 2013.
- </para>
- <para lang="en">
- nginx/Windows could not be built with Visual Studio 2013.
- </para>
- </change>
- </changes>
- <changes ver="1.5.10" date="2014-02-04">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/>
- Спасибо Automattic и MaxCDN за спонсирование разработки.
- </para>
- <para lang="en">
- the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/>
- Thanks to Automattic and MaxCDN for sponsoring this work.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_mp4_module теперь пропускает дорожки,
- имеющие меньшую длину, чем запрошенная перемотка.
- </para>
- <para lang="en">
- the ngx_http_mp4_module now skips tracks
- too short for a seek requested.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если переменная $ssl_session_id использовалась при логгировании;
- ошибка появилась в 1.5.9.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the $ssl_session_id variable was used in logs;
- the bug had appeared in 1.5.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные $date_local и $date_gmt использовали неверный формат
- вне модуля ngx_http_ssi_filter_module.
- </para>
- <para lang="en">
- the $date_local and $date_gmt variables used wrong format
- outside of the ngx_http_ssi_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- клиентские соединения могли сразу закрываться,
- если использовался отложенный accept;
- ошибка появилась в 1.3.15.
- </para>
- <para lang="en">
- client connections might be immediately closed
- if deferred accept was used;
- the bug had appeared in 1.3.15.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог
- в процессе обновления исполняемого файла на Linux;
- ошибка появилась в 1.5.8.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs
- during binary upgrade on Linux;
- the bug had appeared in 1.5.8.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- </changes>
- <changes ver="1.5.9" date="2014-01-22">
- <change type="change">
- <para lang="ru">
- теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI.
- </para>
- <para lang="en">
- now nginx expects escaped URIs in "X-Accel-Redirect" headers.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_buffer_size.
- </para>
- <para lang="en">
- the "ssl_buffer_size" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директиву limit_rate теперь можно использовать для
- ограничения скорости передачи ответов клиенту в SPDY-соединениях.
- </para>
- <para lang="en">
- the "limit_rate" directive can now be used to
- rate limit responses sent in SPDY connections.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива spdy_chunk_size.
- </para>
- <para lang="en">
- the "spdy_chunk_size" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_session_tickets.<br/>
- Спасибо Dirkjan Bussink.
- </para>
- <para lang="en">
- the "ssl_session_tickets" directive.<br/>
- Thanks to Dirkjan Bussink.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $ssl_session_id содержала всю сессию в сериализованном виде
- вместо её идентификатора.<br/>
- Спасибо Ivan Ristić.
- </para>
- <para lang="en">
- the $ssl_session_id variable contained full session serialized
- instead of just a session id.<br/>
- Thanks to Ivan Ristić.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx неправильно обрабатывал закодированный символ "?" в команде SSI include.
- </para>
- <para lang="en">
- nginx incorrectly handled escaped "?" character in the "include" SSI command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module не раскодировал целевой URI при
- обработке методов COPY и MOVE.
- </para>
- <para lang="en">
- the ngx_http_dav_module did not unescape destination URI
- of the COPY and MOVE methods.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- resolver не понимал доменные имена с точкой в конце.
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- resolver did not understand domain names with a trailing dot.
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании в логах могли появляться сообщения "zero size buf in output";
- ошибка появилась в 1.3.9.
- </para>
- <para lang="en">
- alerts "zero size buf in output" might appear in logs while proxying;
- the bug had appeared in 1.3.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_spdy_module.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_spdy_module was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании методов обработки соединений select, poll и /dev/poll
- проксируемые WebSocket-соединения могли зависать сразу после открытия.
- </para>
- <para lang="en">
- proxied WebSocket connections might hang right after handshake
- if the select, poll, or /dev/poll methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива xclient почтового прокси-сервера
- некорректно передавала IPv6-адреса.
- </para>
- <para lang="en">
- the "xclient" directive of the mail proxy module
- incorrectly handled IPv6 client addresses.
- </para>
- </change>
- </changes>
- <changes ver="1.5.8" date="2013-12-17">
- <change type="feature">
- <para lang="ru">
- теперь resolver поддерживает IPv6.
- </para>
- <para lang="en">
- IPv6 support in resolver.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива listen поддерживает параметр fastopen.<br/>
- Спасибо Mathew Rodley.
- </para>
- <para lang="en">
- the "listen" directive supports the "fastopen" parameter.<br/>
- Thanks to Mathew Rodley.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка SSL в модуле ngx_http_uwsgi_module.<br/>
- Спасибо Roberto De Ioris.
- </para>
- <para lang="en">
- SSL support in the ngx_http_uwsgi_module.<br/>
- Thanks to Roberto De Ioris.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- скрипты подсветки синтаксиса для vim добавлены в contrib.<br/>
- Спасибо Evan Miller.
- </para>
- <para lang="en">
- vim syntax highlighting scripts were added to contrib.<br/>
- Thanks to Evan Miller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при чтении тела запроса с использованием chunked transfer encoding
- по SSL-соединению мог произойти таймаут.
- </para>
- <para lang="en">
- a timeout might occur while reading client request body
- in an SSL connection using chunked transfer encoding.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива master_process работала неправильно в nginx/Windows.
- </para>
- <para lang="en">
- the "master_process" directive did not work correctly in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр setfib директивы listen мог не работать.
- </para>
- <para lang="en">
- the "setfib" parameter of the "listen" directive might not work.
- </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.5.7" date="2013-11-19">
- <change type="security">
- <para lang="ru">
- символ, следующий за незакодированным пробелом в строке запроса,
- обрабатывался неправильно (CVE-2013-4547);
- ошибка появилась в 0.8.41.<br/>
- Спасибо Ivan Fratric из Google Security Team.
- </para>
- <para lang="en">
- a character following an unescaped space in a request line
- was handled incorrectly (CVE-2013-4547);
- the bug had appeared in 0.8.41.<br/>
- Thanks to Ivan Fratric of the Google Security Team.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок auth_basic об отсутствии пароля
- понижен с уровня error до info.
- </para>
- <para lang="en">
- a logging level of auth_basic errors about no user/password provided
- has been lowered from "error" to "info".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_cache_revalidate, fastcgi_cache_revalidate,
- scgi_cache_revalidate и uwsgi_cache_revalidate.
- </para>
- <para lang="en">
- the "proxy_cache_revalidate", "fastcgi_cache_revalidate",
- "scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_session_ticket_key.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the "ssl_session_ticket_key" directive.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "add_header Cache-Control ''"
- добавляла строку заголовка ответа "Cache-Control" с пустым значением.
- </para>
- <para lang="en">
- the directive "add_header Cache-Control ''"
- added a "Cache-Control" response header line with an empty value.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "satisfy any" могла вернуть ошибку 403 вместо 401
- при использовании директив auth_request и auth_basic.<br/>
- Спасибо Jan Marc Hoffmann.
- </para>
- <para lang="en">
- the "satisfy any" directive might return 403 error instead of 401
- if auth_request and auth_basic directives were used.<br/>
- Thanks to Jan Marc Hoffmann.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметры accept_filter и deferred директивы listen игнорировались
- для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the "accept_filter" and "deferred" parameters of the "listen" directive
- were ignored for listen sockets created during binary upgrade.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- часть данных, полученных от бэкенда при небуферизированном проксировании,
- могла не отправляться клиенту сразу,
- если использовались директивы gzip или gunzip.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- some data received from a backend with unbufferred proxy
- might not be sent to a client immediately
- if "gzip" or "gunzip" directives were used.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок в модуле ngx_http_gunzip_filter_module.
- </para>
- <para lang="en">
- in error handling in ngx_http_gunzip_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы могли зависать,
- если использовался модуль ngx_http_spdy_module
- и директива auth_request.
- </para>
- <para lang="en">
- responses might hang
- if the ngx_http_spdy_module was used
- with the "auth_request" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти в nginx/Windows.
- </para>
- <para lang="en">
- memory leak in nginx/Windows.
- </para>
- </change>
- </changes>
- <changes ver="1.5.6" date="2013-10-01">
- <change type="feature">
- <para lang="ru">
- директива fastcgi_buffering.
- </para>
- <para lang="en">
- the "fastcgi_buffering" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- оптимизация SSL handshake при использовании длинных цепочек сертификатов.
- </para>
- <para lang="en">
- optimization of SSL handshakes when using long certificate chains.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер поддерживает SMTP pipelining.
- </para>
- <para lang="en">
- the mail proxy supports SMTP pipelining.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_auth_basic_module
- при использовании метода шифрования паролей "$apr1$".<br/>
- Спасибо Markus Linnala.
- </para>
- <para lang="en">
- in the ngx_http_auth_basic_module
- when using "$apr1$" password encryption method.<br/>
- Thanks to Markus Linnala.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на MacOSX, Cygwin и nginx/Windows
- для обработки запроса мог использоваться неверный location,
- если для задания location'ов использовались символы разных регистров.
- </para>
- <para lang="en">
- in MacOSX, Cygwin, and nginx/Windows
- incorrect location might be used to process a request
- if locations were given using characters in different cases.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- автоматическое перенаправление с добавлением завершающего слэша
- для проксированных location'ов могло не работать.
- </para>
- <para lang="en">
- automatic redirect with appended trailing slash
- for proxied locations might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в почтовом прокси-сервере.
- </para>
- <para lang="en">
- in the mail proxy server.
- </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.5.5" date="2013-09-17">
- <change type="change">
- <para lang="ru">
- теперь nginx по умолчанию использует HTTP/1.0,
- если точно определить протокол не удалось.
- </para>
- <para lang="en">
- now nginx assumes HTTP/1.0 by default
- if it is not able to detect protocol reliably.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива disable_symlinks теперь использует O_PATH на Linux.
- </para>
- <para lang="en">
- the "disable_symlinks" directive now uses O_PATH on Linux.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- для определения того, что клиент закрыл соединение,
- при использовании метода epoll
- теперь используются события EPOLLRDHUP.
- </para>
- <para lang="en">
- now nginx uses EPOLLRDHUP events
- to detect premature connection close by clients
- if the "epoll" method is used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве valid_referers при использовании параметра server_names.
- </para>
- <para lang="en">
- in the "valid_referers" directive if the "server_names" parameter was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $request_time не работала в nginx/Windows.
- </para>
- <para lang="en">
- the $request_time variable did not work in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве image_filter.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- in the "image_filter" directive.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с OpenSSL 1.0.1f.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- OpenSSL 1.0.1f compatibility.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- </changes>
- <changes ver="1.5.4" date="2013-08-27">
- <change type="change">
- <para lang="ru">
- MIME-тип для расширения js изменён на "application/javascript";
- значение по умолчанию директивы charset_types изменено соответственно.
- </para>
- <para lang="en">
- the "js" extension MIME type has been changed to "application/javascript";
- default value of the "charset_types" directive was changed accordingly.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь директива image_filter с параметром size
- возвращает ответ с MIME-типом "application/json".
- </para>
- <para lang="en">
- now the "image_filter" directive with the "size" parameter
- returns responses with the "application/json" MIME type.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_auth_request_module.
- </para>
- <para lang="en">
- the ngx_http_auth_request_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации мог произойти segmentation fault,
- если использовалась директива try_files с пустым параметром.
- </para>
- <para lang="en">
- a segmentation fault might occur on start or during reconfiguration
- if the "try_files" directive was used with an empty parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при использовании в директивах root и auth_basic_user_file
- относительных путей, заданных с помощью переменных.
- </para>
- <para lang="en">
- memory leak if relative paths were specified using variables
- in the "root" or "auth_basic_user_file" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива valid_referers неправильно выполняла регулярные выражения,
- если заголовок Referer начинался с "https://".<br/>
- Спасибо Liangbin Li.
- </para>
- <para lang="en">
- the "valid_referers" directive incorrectly executed regular expressions
- if a "Referer" header started with "https://".<br/>
- Thanks to Liangbin Li.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы могли зависать, если использовались подзапросы и при обработке подзапроса
- происходила ошибка во время SSL handshake с бэкендом.<br/>
- Спасибо Aviram Cohen.
- </para>
- <para lang="en">
- responses might hang if subrequests were used
- and an SSL handshake error happened during subrequest processing.<br/>
- Thanks to Aviram Cohen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_autoindex_module.
- </para>
- <para lang="en">
- in the ngx_http_autoindex_module.
- </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.5.3" date="2013-07-30">
- <change>
- <para lang="ru">
- Изменение во внутреннем API:
- теперь при небуферизированной работе с бэкендами
- u->length по умолчанию устанавливается в -1.
- </para>
- <para lang="en">
- Change in internal API:
- now u->length defaults to -1
- if working with backends in unbuffered mode.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при получении неполного ответа от бэкенда
- nginx отправляет полученную часть ответа,
- после чего закрывает соединение с клиентом.
- </para>
- <para lang="en">
- now after receiving an incomplete response from a backend server
- nginx tries to send an available part of the response to a client,
- and then closes client connection.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_spdy_module
- и директива client_body_in_file_only.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_spdy_module was used
- with the "client_body_in_file_only" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр so_keepalive директивы listen
- мог работать некорректно на DragonFlyBSD.<br/>
- Спасибо Sepherosa Ziehau.
- </para>
- <para lang="en">
- the "so_keepalive" parameter of the "listen" directive
- might be handled incorrectly on DragonFlyBSD.<br/>
- Thanks to Sepherosa Ziehau.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_xslt_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_xslt_filter_module.
- </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>
- </changes>
- <changes ver="1.5.2" date="2013-07-02">
- <change type="feature">
- <para lang="ru">
- теперь можно использовать несколько директив error_log.
- </para>
- <para lang="en">
- now several "error_log" directives can be used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод $r->header_in() встроенного перла не возвращал значения строк
- "Cookie" и "X-Forwarded-For" из заголовка запроса;
- ошибка появилась в 1.3.14.
- </para>
- <para lang="en">
- the $r->header_in() embedded perl method did not return value of the
- "Cookie" and "X-Forwarded-For" request header lines;
- the bug had appeared in 1.3.14.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_spdy_module.<br/>
- Спасибо Jim Radford.
- </para>
- <para lang="en">
- in the ngx_http_spdy_module.<br/>
- Thanks to Jim Radford.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Linux при использовании x32 ABI.<br/>
- Спасибо Сергею Иванцову.
- </para>
- <para lang="en">
- nginx could not be built on Linux with x32 ABI.<br/>
- Thanks to Serguei Ivantsov.
- </para>
- </change>
- </changes>
- <changes ver="1.5.1" date="2013-06-04">
- <change type="feature">
- <para lang="ru">
- директивы ssi_last_modified, sub_filter_last_modified и
- xslt_last_modified.<br/>
- Спасибо Алексею Колпакову.
- </para>
- <para lang="en">
- the "ssi_last_modified", "sub_filter_last_modified", and
- "xslt_last_modified" directives.<br/>
- Thanks to Alexey Kolpakov.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream,
- scgi_next_upstream и uwsgi_next_upstream.
- </para>
- <para lang="en">
- the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream",
- "scgi_next_upstream", and "uwsgi_next_upstream" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы allow и deny теперь поддерживают unix domain сокеты.
- </para>
- <para lang="en">
- the "allow" and "deny" directives now support unix domain sockets.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с модулем ngx_mail_ssl_module,
- но без модуля ngx_http_ssl_module;
- ошибка появилась в 1.3.14.
- </para>
- <para lang="en">
- nginx could not be built with the ngx_mail_ssl_module,
- but without ngx_http_ssl_module;
- the bug had appeared in 1.3.14.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_set_body.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- in the "proxy_set_body" directive.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве lingering_time.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- in the "lingering_time" directive.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр fail_timeout директивы server
- в блоке upstream мог не работать,
- если использовался параметр max_fails;
- ошибка появилась в 1.3.0.
- </para>
- <para lang="en">
- the "fail_timeout" parameter of the "server" directive
- in the "upstream" context might not work
- if "max_fails" parameter was used;
- the bug had appeared in 1.3.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива ssl_stapling.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "ssl_stapling" directive was used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в почтовом прокси-сервере.<br/>
- Спасибо Filipe Da Silva.
- </para>
- <para lang="en">
- in the mail proxy server.<br/>
- Thanks to Filipe Da Silva.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows мог перестать принимать соединения,
- если использовалось несколько рабочих процессов.
- </para>
- <para lang="en">
- nginx/Windows might stop accepting connections
- if several worker processes were used.
- </para>
- </change>
- </changes>
- <changes ver="1.5.0" date="2013-05-07">
- <change type="security">
- <para lang="ru">
- при обработке специально созданного запроса
- мог перезаписываться стек рабочего процесса,
- что могло приводить к выполнению произвольного кода (CVE-2013-2028);
- ошибка появилась в 1.3.9.<br/>
- Спасибо Greg MacManus, iSIGHT Partners Labs.
- </para>
- <para lang="en">
- a stack-based buffer overflow might occur in a worker process
- while handling a specially crafted request,
- potentially resulting in arbitrary code execution (CVE-2013-2028);
- the bug had appeared in 1.3.9.<br/>
- Thanks to Greg MacManus, iSIGHT Partners Labs.
- </para>
- </change>
- </changes>
- <changes ver="1.4.0" date="2013-04-24">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с модулем ngx_http_perl_module,
- если использовался параметр --with-openssl;
- ошибка появилась в 1.3.16.
- </para>
- <para lang="en">
- nginx could not be built with the ngx_http_perl_module
- if the --with-openssl option was used;
- the bug had appeared in 1.3.16.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в работе с телом запроса из модуля ngx_http_perl_module;
- ошибка появилась в 1.3.9.
- </para>
- <para lang="en">
- in a request body handling in the ngx_http_perl_module;
- the bug had appeared in 1.3.9.
- </para>
- </change>
- </changes>
- <changes ver="1.3.16" date="2013-04-16">
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовались подзапросы;
- ошибка появилась в 1.3.9.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if subrequests were used;
- the bug had appeared in 1.3.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива tcp_nodelay вызывала ошибку
- при проксировании WebSocket-соединений в unix domain сокет.
- </para>
- <para lang="en">
- the "tcp_nodelay" directive caused an error
- if a WebSocket connection was proxied into a unix domain socket.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $upstream_response_length возвращала значение "0",
- если не использовалась буферизация.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the $upstream_response_length variable has an incorrect value "0"
- if buffering was not used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в методах обработки соединений eventport и /dev/poll.
- </para>
- <para lang="en">
- in the eventport and /dev/poll methods.
- </para>
- </change>
- </changes>
- <changes ver="1.3.15" date="2013-03-26">
- <change type="change">
- <para lang="ru">
- открытие и закрытие соединения без отправки в нём каких-либо данных
- больше не записывается в access_log с кодом ошибки 400.
- </para>
- <para lang="en">
- opening and closing a connection without sending any data in it
- is no longer logged to access_log with error code 400.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_spdy_module.<br/>
- Спасибо Automattic за спонсирование разработки.
- </para>
- <para lang="en">
- the ngx_http_spdy_module.<br/>
- Thanks to Automattic for sponsoring this work.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы limit_req_status и limit_conn_status.<br/>
- Спасибо Nick Marden.
- </para>
- <para lang="en">
- the "limit_req_status" and "limit_conn_status" directives.<br/>
- Thanks to Nick Marden.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива image_filter_interlace.<br/>
- Спасибо Ивану Боброву.
- </para>
- <para lang="en">
- the "image_filter_interlace" directive.<br/>
- Thanks to Ian Babrou.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $connections_waiting в модуле ngx_http_stub_status_module.
- </para>
- <para lang="en">
- $connections_waiting variable in the ngx_http_stub_status_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
- </para>
- <para lang="en">
- the mail proxy module now supports IPv6 backends.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при повторной отправке запроса на бэкенд
- тело запроса могло передаваться неправильно;
- ошибка появилась в 1.3.9.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- request body might be transmitted incorrectly
- when retrying a request to the next upstream server;
- the bug had appeared in 1.3.9.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве client_body_in_file_only;
- ошибка появилась в 1.3.9.
- </para>
- <para lang="en">
- in the "client_body_in_file_only" directive;
- the bug had appeared in 1.3.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы могли зависать,
- если использовались подзапросы
- и при обработке подзапроса происходила DNS-ошибка.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- responses might hang
- if subrequests were used
- and a DNS error happened during subrequest processing.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в процедуре учёта использования бэкендов.
- </para>
- <para lang="en">
- in backend usage accounting.
- </para>
- </change>
- </changes>
- <changes ver="1.3.14" date="2013-03-05">
- <change type="feature">
- <para lang="ru">
- переменные $connections_active, $connections_reading и $connections_writing
- в модуле ngx_http_stub_status_module.
- </para>
- <para lang="en">
- $connections_active, $connections_reading, and $connections_writing variables
- in the ngx_http_stub_status_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка WebSocket-соединений
- в модулях ngx_http_uwsgi_module и ngx_http_scgi_module.
- </para>
- <para lang="en">
- support of WebSocket connections
- in the ngx_http_uwsgi_module and ngx_http_scgi_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке виртуальных серверов при использовании SNI.
- </para>
- <para lang="en">
- in virtual servers handling with SNI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы "ssl_session_cache shared"
- новые сессии могли не сохраняться,
- если заканчивалось место в разделяемой памяти.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- new sessions were not always stored
- if the "ssl_session_cache shared" directive was used
- and there was no free space in shared memory.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/>
- Спасибо Neal Poole за спонсирование разработки.
- </para>
- <para lang="en">
- multiple X-Forwarded-For headers were handled incorrectly.<br/>
- Thanks to Neal Poole for sponsoring this work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_mp4_module.<br/>
- Спасибо Gernot Vormayr.
- </para>
- <para lang="en">
- in the ngx_http_mp4_module.<br/>
- Thanks to Gernot Vormayr.
- </para>
- </change>
- </changes>
- <changes ver="1.3.13" date="2013-02-19">
- <change type="change">
- <para lang="ru">
- теперь для сборки по умолчанию используется компилятор с именем "cc".
- </para>
- <para lang="en">
- a compiler with name "cc" is now used by default.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка проксирования WebSocket-соединений.<br/>
- Спасибо Apcera и CloudBees за спонсирование разработки.
- </para>
- <para lang="en">
- support for proxying of WebSocket connections.<br/>
- Thanks to Apcera and CloudBees for sponsoring this work.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива auth_basic_user_file поддерживает шифрование паролей
- методом "{SHA}".<br/>
- Спасибо Louis Opter.
- </para>
- <para lang="en">
- the "auth_basic_user_file" directive supports "{SHA}"
- password encryption method.<br/>
- Thanks to Louis Opter.
- </para>
- </change>
- </changes>
- <changes ver="1.3.12" date="2013-02-05">
- <change type="feature">
- <para lang="ru">
- директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind
- поддерживают переменные.
- </para>
- <para lang="en">
- variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind",
- "scgi_bind", and "uwsgi_bind" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $pipe, $request_length, $time_iso8601 и $time_local
- теперь можно использовать не только в директиве log_format.<br/>
- Спасибо Kiril Kalchev.
- </para>
- <para lang="en">
- the $pipe, $request_length, $time_iso8601, and $time_local variables
- can now be used not only in the "log_format" directive.
- Thanks to Kiril Kalchev.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка IPv6 в модуле ngx_http_geoip_module.<br/>
- Спасибо Gregor Kališnik.
- </para>
- <para lang="en">
- IPv6 support in the ngx_http_geoip_module.<br/>
- Thanks to Gregor Kališnik.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_method работала неверно, если была указана на уровне http.
- </para>
- <para lang="en">
- in the "proxy_method" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался resolver и метод poll.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if resolver was used with the poll method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог нагружать процессор во время SSL handshake с бэкендом
- при использовании методов обработки соединений select, poll и /dev/poll.
- </para>
- <para lang="en">
- nginx might hog CPU during SSL handshake with a backend
- if the select, poll, or /dev/poll methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка "[crit] SSL_write() failed (SSL:)".
- </para>
- <para lang="en">
- the "[crit] SSL_write() failed (SSL:)" error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве client_body_in_file_only;
- ошибка появилась в 1.3.9.
- </para>
- <para lang="en">
- in the "client_body_in_file_only" directive;
- the bug had appeared in 1.3.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве fastcgi_keep_conn.
- </para>
- <para lang="en">
- in the "fastcgi_keep_conn" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.3.11" date="2013-01-10">
- <change type="bugfix">
- <para lang="ru">
- при записи в лог мог происходить segmentation fault;
- ошибка появилась в 1.3.10.
- </para>
- <para lang="en">
- a segmentation fault might occur if logging was used;
- the bug had appeared in 1.3.10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_pass не работала с IP-адресами
- без явного указания порта;
- ошибка появилась в 1.3.10.
- </para>
- <para lang="en">
- the "proxy_pass" directive did not work with IP addresses
- without port specified;
- the bug had appeared in 1.3.10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации происходил segmentation fault,
- если директива keepalive была указана несколько раз
- в одном блоке upstream.
- </para>
- <para lang="en">
- a segmentation fault occurred on start or during reconfiguration
- if the "keepalive" directive was specified more than once
- in a single upstream block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр default директивы geo не определял значение по умолчанию
- для IPv6-адресов.
- </para>
- <para lang="en">
- parameter "default" of the "geo" directive did not set default value
- for IPv6 addresses.
- </para>
- </change>
- </changes>
- <changes ver="1.3.10" date="2012-12-25">
- <change type="change">
- <para lang="ru">
- для указанных в конфигурационном файле доменных имён теперь
- используются не только IPv4, но и IPv6 адреса.
- </para>
- <para lang="en">
- domain names specified in configuration file
- are now resolved to IPv6 addresses as well as IPv4 ones.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при использовании директивы include с маской на Unix-системах
- включаемые файлы сортируются в алфавитном порядке.
- </para>
- <para lang="en">
- now if the "include" directive with mask is used on Unix systems,
- included files are sorted in alphabetical order.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива add_header добавляет строки в ответы с кодом 201.
- </para>
- <para lang="en">
- the "add_header" directive adds headers to 201 responses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива geo теперь поддерживает IPv6 адреса в формате CIDR.
- </para>
- <para lang="en">
- the "geo" directive now supports IPv6 addresses in CIDR notation.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры flush и gzip в директиве access_log.
- </para>
- <para lang="en">
- the "flush" and "gzip" parameters of the "access_log" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива auth_basic поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "auth_basic" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx в некоторых случаях не собирался с модулем ngx_http_perl_module.
- </para>
- <para lang="en">
- nginx could not be built with the ngx_http_perl_module in some cases.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_xslt_module.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_xslt_module was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог не собираться на MacOSX.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- nginx could not be built on MacOSX in some cases.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы limit_rate с большими значениями скорости
- на 32-битных системах ответ мог возвращаться не целиком.<br/>
- Спасибо Алексею Антропову.
- </para>
- <para lang="en">
- the "limit_rate" directive with high rates
- might result in truncated responses on 32-bit platforms.<br/>
- Thanks to Alexey Antropov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива if.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "if" directive was used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ "100 Continue" выдавался
- вместе с ответом "413 Request Entity Too Large".
- </para>
- <para lang="en">
- a "100 Continue" response was issued
- with "413 Request Entity Too Large" responses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen
- могли наследоваться некорректно.<br/>
- Спасибо Ивану Боброву.
- </para>
- <para lang="en">
- the "image_filter", "image_filter_jpeg_quality"
- and "image_filter_sharpen" directives
- might be inherited incorrectly.<br/>
- Thanks to Ian Babrou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы auth_basic под Linux
- могли возникать ошибки "crypt_r() failed".
- </para>
- <para lang="en">
- "crypt_r() failed" errors might appear
- if the "auth_basic" directive was used on Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке backup-серверов.<br/>
- Спасибо Thomas Chen.
- </para>
- <para lang="en">
- in backup servers handling.<br/>
- Thanks to Thomas Chen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании HEAD-запросов мог возвращаться некорректный ответ,
- если использовалась директива gzip.
- </para>
- <para lang="en">
- proxied HEAD requests might return incorrect response
- if the "gzip" directive was used.
- </para>
- </change>
- </changes>
- <changes ver="1.3.9" date="2012-11-27">
- <change type="feature">
- <para lang="ru">
- поддержка chunked transfer encoding при получении тела запроса.
- </para>
- <para lang="en">
- support for chunked transfer encoding while reading client request body.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $request_time и $msec
- теперь можно использовать не только в директиве log_format.
- </para>
- <para lang="en">
- the $request_time and $msec variables
- can now be used not only in the "log_format" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- cache manager и cache loader могли не запускаться,
- если использовалось более 512 listen-сокетов.
- </para>
- <para lang="en">
- cache manager and cache loader processes might not be able to start
- if more than 512 listen sockets were used.
- </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.3.8" date="2012-10-30">
- <change type="feature">
- <para lang="ru">
- параметр optional_no_ca директивы ssl_verify_client.<br/>
- Спасибо Михаилу Казанцеву и Eric O'Connor.
- </para>
- <para lang="en">
- the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/>
- Thanks to Mike Kazantsev and Eric O'Connor.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $bytes_sent, $connection и $connection_requests
- теперь можно использовать не только в директиве log_format.<br/>
- Спасибо Benjamin Grössing.
- </para>
- <para lang="en">
- the $bytes_sent, $connection, and $connection_requests variables
- can now be used not only in the "log_format" directive.<br/>
- Thanks to Benjamin Grössing.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр auto директивы worker_processes.
- </para>
- <para lang="en">
- the "auto" parameter of the "worker_processes" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения "cache file ... has md5 collision".
- </para>
- <para lang="en">
- "cache file ... has md5 collision" alert.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_gunzip_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_gunzip_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве ssl_stapling.
- </para>
- <para lang="en">
- in the "ssl_stapling" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.3.7" date="2012-10-02">
- <change type="feature">
- <para lang="ru">
- поддержка OCSP stapling.<br/>
- Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
- </para>
- <para lang="en">
- OCSP stapling support.<br/>
- Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_trusted_certificate.
- </para>
- <para lang="en">
- the "ssl_trusted_certificate" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь resolver случайным образом меняет порядок
- возвращаемых закэшированных адресов.<br/>
- Спасибо Антону Жулину.
- </para>
- <para lang="en">
- resolver now randomly rotates addresses
- returned from cache.<br/>
- Thanks to Anton Jouline.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с OpenSSL 0.9.7.
- </para>
- <para lang="en">
- OpenSSL 0.9.7 compatibility.
- </para>
- </change>
- </changes>
- <changes ver="1.3.6" date="2012-09-12">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_gunzip_filter_module.
- </para>
- <para lang="en">
- the ngx_http_gunzip_filter_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива memcached_gzip_flag.
- </para>
- <para lang="en">
- the "memcached_gzip_flag" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр always директивы gzip_static.
- </para>
- <para lang="en">
- the "always" parameter of the "gzip_static" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве "limit_req";
- ошибка появилась в 1.1.14.<br/>
- Спасибо Charles Chen.
- </para>
- <para lang="en">
- in the "limit_req" directive;
- the bug had appeared in 1.1.14.<br/>
- Thanks to Charles Chen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc 4.7 с оптимизацией -O2
- если использовался параметр --with-ipv6.
- </para>
- <para lang="en">
- nginx could not be built by gcc 4.7 with -O2 optimization
- if the --with-ipv6 option was used.
- </para>
- </change>
- </changes>
- <changes ver="1.3.5" date="2012-08-21">
- <change type="change">
- <para lang="ru">
- модуль ngx_http_mp4_module больше не отфильтровывает дорожки
- в форматах, отличных от H.264 и AAC.
- </para>
- <para lang="en">
- the ngx_http_mp4_module module no longer skips
- tracks in formats other than H.264 and AAC.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если в директиве map в качестве значений использовались переменные.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "map" directive was used with variables as values.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault
- при использовании директивы geo с параметром ranges,
- но без параметра default; ошибка появилась в 0.8.43.<br/>
- Спасибо Zhen Chen и Weibin Yao.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "geo" directive was used with the "ranges" parameter
- but without the "default" parameter; the bug had appeared in 0.8.43.<br/>
- Thanks to Zhen Chen and Weibin Yao.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке параметра командной строки -p.
- </para>
- <para lang="en">
- in the -p command-line parameter handling.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в почтовом прокси-сервере.
- </para>
- <para lang="en">
- in the mail proxy server.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- незначительных потенциальных ошибок.<br/>
- Спасибо Coverity.
- </para>
- <para lang="en">
- of minor potential bugs.<br/>
- Thanks to Coverity.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не собирался с Visual Studio 2005 Express.<br/>
- Спасибо HAYASHI Kentaro.
- </para>
- <para lang="en">
- nginx/Windows could not be built with Visual Studio 2005 Express.<br/>
- Thanks to HAYASHI Kentaro.
- </para>
- </change>
- </changes>
- <changes ver="1.3.4" date="2012-07-31">
- <change type="change">
- <para lang="ru">
- теперь на слушающих IPv6-сокетах параметр ipv6only
- включён по умолчанию.
- </para>
- <para lang="en">
- the "ipv6only" parameter is now turned on by default for
- listening IPv6 sockets.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка компилятора Clang.
- </para>
- <para lang="en">
- the Clang compiler support.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- могли создаваться лишние слушающие сокеты.<br/>
- Спасибо Роману Одайскому.
- </para>
- <para lang="en">
- extra listening sockets might be created.<br/>
- Thanks to Roman Odaisky.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows мог нагружать процессор, если при запуске рабочего процесса
- происходила ошибка.<br/>
- Спасибо Ricardo Villalobos Guevara.
- </para>
- <para lang="en">
- nginx/Windows might hog CPU if a worker process failed to start.<br/>
- Thanks to Ricardo Villalobos Guevara.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header,
- uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header,
- scgi_hide_header и uwsgi_hide_header
- могли наследоваться некорректно.
- </para>
- <para lang="en">
- the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header",
- "uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header",
- "scgi_hide_header", and "uwsgi_hide_header" directives
- might be inherited incorrectly.
- </para>
- </change>
- </changes>
- <changes ver="1.3.3" date="2012-07-10">
- <change type="feature">
- <para lang="ru">
- поддержка entity tags и директива etag.
- </para>
- <para lang="en">
- entity tags support and the "etag" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы map с параметром hostnames
- не игнорировалась конечная точка в исходном значении.
- </para>
- <para lang="en">
- trailing dot in a source value was not ignored
- if the "map" directive was used with the "hostnames" parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для обработки запроса мог использоваться неверный location,
- если переход в именованный location происходил
- после изменения URI с помощью директивы rewrite.
- </para>
- <para lang="en">
- incorrect location might be used to process a request
- if a URI was changed via a "rewrite" directive
- before an internal redirect to a named location.
- </para>
- </change>
- </changes>
- <changes ver="1.3.2" date="2012-06-26">
- <change type="change">
- <para lang="ru">
- параметр single директивы keepalive теперь игнорируется.
- </para>
- <para lang="en">
- the "single" parameter of the "keepalive" directive is now ignored.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- сжатие SSL теперь отключено
- в том числе при использовании OpenSSL старее 1.0.0.
- </para>
- <para lang="en">
- SSL compression is now disabled when using all versions of OpenSSL,
- including ones prior to 1.0.0.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов.
- </para>
- <para lang="en">
- it is now possible to use the "ip_hash" directive to balance IPv6 clients.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменную $status теперь можно использовать не только в директиве log_format.
- </para>
- <para lang="en">
- the $status variable can now be used not only in the "log_format" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при завершении рабочего процесса мог произойти segmentation fault,
- если использовалась директива resolver.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process on shutdown
- if the "resolver" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался модуль ngx_http_mp4_module.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the ngx_http_mp4_module was used.
- </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">
- в рабочем процессе мог произойти segmentation fault,
- если использовались конфликтующие имена серверов с масками.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if conflicting wildcard server names were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS.
- </para>
- <para lang="en">
- nginx might be terminated abnormally on a SIGBUS signal on ARM platform.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во время переконфигурации на HP-UX в лог
- записывался alert "sendmsg() failed (9: Bad file number)".
- </para>
- <para lang="en">
- an alert "sendmsg() failed (9: Bad file number)" on HP-UX
- while reconfiguration.
- </para>
- </change>
- </changes>
- <changes ver="1.3.1" date="2012-06-05">
- <change type="security">
- <para lang="ru">
- теперь nginx/Windows игнорирует точку в конце компонента URI
- и не разрешает URI, содержащие последовательность ":$".<br/>
- Спасибо Владимиру Кочеткову, Positive Research Center.
- </para>
- <para lang="en">
- now nginx/Windows ignores trailing dot in URI path component, and
- does not allow URIs with ":$" in it.<br/>
- Thanks to Vladimir Kochetkov, Positive Research Center.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и
- директива server в блоке upstream
- теперь поддерживают IPv6-адреса.
- </para>
- <para lang="en">
- the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and
- the "server" directive inside the "upstream" block,
- now support IPv6 addresses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в директиве resolver теперь можно указывать порт и
- задавать IPv6-адреса DNS-серверов.
- </para>
- <para lang="en">
- the "resolver" directive now supports IPv6 addresses and
- an optional port specification.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива least_conn в блоке upstream.
- </para>
- <para lang="en">
- the "least_conn" directive inside the "upstream" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- при использовании директивы ip_hash
- теперь можно задавать веса серверов.
- </para>
- <para lang="en">
- it is now possible to specify a weight for servers
- while using the "ip_hash" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива image_filter;
- ошибка появилась в 1.3.0.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "image_filter" directive was used;
- the bug had appeared in 1.3.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с модулем ngx_cpp_test_module;
- ошибка появилась в 1.1.12.
- </para>
- <para lang="en">
- nginx could not be built with ngx_cpp_test_module;
- the bug had appeared in 1.1.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- доступ к переменным из SSI и встроенного перла мог не работать после
- переконфигурации.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- access to variables from SSI and embedded perl module might not work after
- reconfiguration.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_xslt_filter_module.<br/>
- Спасибо Kuramoto Eiji.
- </para>
- <para lang="en">
- in the ngx_http_xslt_filter_module.<br/>
- Thanks to Kuramoto Eiji.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при использовании переменной $geoip_org.<br/>
- Спасибо Денису Латыпову.
- </para>
- <para lang="en">
- memory leak if $geoip_org variable was used.<br/>
- Thanks to Denis F. Latypoff.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директивах proxy_cookie_domain и proxy_cookie_path.
- </para>
- <para lang="en">
- in the "proxy_cookie_domain" and "proxy_cookie_path" directives.
- </para>
- </change>
- </changes>
- <changes ver="1.3.0" date="2012-05-15">
- <change type="feature">
- <para lang="ru">
- директива debug_connection теперь поддерживает IPv6-адреса
- и параметр "unix:".
- </para>
- <para lang="en">
- the "debug_connection" directive now supports IPv6 addresses
- and the "unix:" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива set_real_ip_from и параметр proxy
- директивы geo теперь поддерживают IPv6-адреса.
- </para>
- <para lang="en">
- the "set_real_ip_from" directive and the "proxy" parameter
- of the "geo" directive now support IPv6 addresses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive.
- </para>
- <para lang="en">
- the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр proxy_recursive директивы geo.
- </para>
- <para lang="en">
- the "proxy_recursive" parameter of the "geo" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива resolver.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "resolver" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
- и бэкенд возвращал некорректный ответ.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used
- and backend returned incorrect response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива rewrite и в новых аргументах запроса в строке
- замены использовались переменные.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "rewrite" directive was used and new request arguments
- in a replacement used variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог нагружать процессор,
- если было достигнуто ограничение на количество открытых файлов.
- </para>
- <para lang="en">
- nginx might hog CPU
- if the open file resource limit was reached.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы proxy_next_upstream с параметром http_404
- nginx мог бесконечно перебирать бэкенды, если в блоке upstream был
- хотя бы один сервер с флагом backup.
- </para>
- <para lang="en">
- nginx might loop infinitely over backends
- if the "proxy_next_upstream" directive with the "http_404" parameter was used
- and there were backup servers specified in an upstream block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы ip_hash
- установка параметра down директивы server
- могла приводить к ненужному перераспределению клиентов между бэкендами.
- </para>
- <para lang="en">
- adding the "down" parameter of the "server" directive
- might cause unneeded client redistribution among backend servers
- if the "ip_hash" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- socket leak.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_fastcgi_module.
- </para>
- <para lang="en">
- in the ngx_http_fastcgi_module.
- </para>
- </change>
- </changes>
- <changes ver="1.2.0" date="2012-04-23">
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива try_files;
- ошибка появилась в 1.1.19.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "try_files" directive was used;
- the bug had appeared in 1.1.19.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ мог быть передан не полностью,
- если использовалось больше IOV_MAX буферов.
- </para>
- <para lang="en">
- response might be truncated
- if there were more than IOV_MAX buffers used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в работе параметра crop директивы image_filter.<br/>
- Спасибо Maxim Bublis.
- </para>
- <para lang="en">
- in the "crop" parameter of the "image_filter" directive.<br/>
- Thanks to Maxim Bublis.
- </para>
- </change>
- </changes>
- <changes ver="1.1.19" date="2012-04-12">
- <change type="security">
- <para lang="ru">
- при обработке специально созданного mp4 файла модулем ngx_http_mp4_module
- могли перезаписываться области памяти рабочего процесса, что могло
- приводить к выполнению произвольного кода (CVE-2012-2089).<br/>
- Спасибо Matthew Daley.
- </para>
- <para lang="en">
- specially crafted mp4 file might allow to overwrite
- memory locations in a worker process
- if the ngx_http_mp4_module was used,
- potentially resulting in arbitrary code execution (CVE-2012-2089).<br/>
- Thanks to Matthew Daley.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows мог завершаться аварийно.<br/>
- Спасибо Vincent Lee.
- </para>
- <para lang="en">
- nginx/Windows might be terminated abnormally.<br/>
- Thanks to Vincent Lee.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx нагружал процессор, если все серверы в upstream'е были помечены
- флагом backup.
- </para>
- <para lang="en">
- nginx hogged CPU if all servers in an upstream were marked as "backup".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы allow и deny могли наследоваться некорректно,
- если в них использовались IPv6 адреса.
- </para>
- <para lang="en">
- the "allow" and "deny" directives might be inherited incorrectly
- if they were used with IPv6 addresses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы modern_browser и ancient_browser
- могли наследоваться некорректно.
- </para>
- <para lang="en">
- the "modern_browser" and "ancient_browser" directives
- might be inherited incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- таймауты могли работать некорректно на Solaris/SPARC.
- </para>
- <para lang="en">
- timeouts might be handled incorrectly on Solaris/SPARC.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_mp4_module.
- </para>
- <para lang="en">
- in the ngx_http_mp4_module.
- </para>
- </change>
- </changes>
- <changes ver="1.1.18" date="2012-03-28">
- <change type="change">
- <para lang="ru">
- теперь keepalive соединения не запрещены для Safari по умолчанию.
- </para>
- <para lang="en">
- keepalive connections are no longer disabled for Safari by default.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $connection_requests.
- </para>
- <para lang="en">
- the $connection_requests variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и
- $tcpinfo_rcv_space.
- </para>
- <para lang="en">
- $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and
- $tcpinfo_rcv_space variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива worker_cpu_affinity теперь работает на FreeBSD.
- </para>
- <para lang="en">
- the "worker_cpu_affinity" directive now works on FreeBSD.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы xslt_param и xslt_string_param.<br/>
- Спасибо Samuel Behan.
- </para>
- <para lang="en">
- the "xslt_param" and "xslt_string_param" directives.<br/>
- Thanks to Samuel Behan.
- </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>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_xslt_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_xslt_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Debian GNU/Hurd.
- </para>
- <para lang="en">
- nginx could not be built on Debian GNU/Hurd.
- </para>
- </change>
- </changes>
- <changes ver="1.1.17" date="2012-03-15">
- <change type="security">
- <para lang="ru">
- содержимое ранее освобождённой памяти могло быть отправлено клиенту,
- если бэкенд возвращал специально созданный ответ.<br/>
- Спасибо Matthew Daley.
- </para>
- <para lang="en">
- content of previously freed memory might be sent to a client
- if backend returned specially crafted response.<br/>
- Thanks to Matthew Daley.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании встроенного перла из SSI.<br/>
- Спасибо Matthew Daley.
- </para>
- <para lang="en">
- in the embedded perl module if used from SSI.<br/>
- Thanks to Matthew Daley.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_uwsgi_module.
- </para>
- <para lang="en">
- in the ngx_http_uwsgi_module.
- </para>
- </change>
- </changes>
- <changes ver="1.1.16" date="2012-02-29">
- <change type="change">
- <para lang="ru">
- ограничение на количество одновременных подзапросов поднято до 200.
- </para>
- <para lang="en">
- the simultaneous subrequest limit has been raised to 200.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр from в директиве disable_symlinks.
- </para>
- <para lang="en">
- the "from" parameter of the "disable_symlinks" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы return и error_page теперь могут использоваться для возврата
- перенаправлений с кодом 307.
- </para>
- <para lang="en">
- the "return" and "error_page" directives can now be used to return 307
- redirections.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива resolver
- и на глобальном уровне не была задана директива error_log.<br/>
- Спасибо Роману Арутюняну.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "resolver" directive was used
- and there was no "error_log" directive specified at global level.<br/>
- Thanks to Roman Arutyunyan.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовались директивы "proxy_http_version 1.1" или
- "fastcgi_keep_conn on".
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives
- were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечек памяти.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- memory leaks.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве disable_symlinks.
- </para>
- <para lang="en">
- in the "disable_symlinks" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании ZFS размер кэша на диске мог считаться некорректно;
- ошибка появилась в 1.0.1.
- </para>
- <para lang="en">
- on ZFS filesystem disk cache size might be calculated incorrectly;
- the bug had appeared in 1.0.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался компилятором icc 12.1.
- </para>
- <para lang="en">
- nginx could not be built by the icc 12.1 compiler.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc на Solaris;
- ошибка появилась в 1.1.15.
- </para>
- <para lang="en">
- nginx could not be built by gcc on Solaris;
- the bug had appeared in 1.1.15.
- </para>
- </change>
- </changes>
- <changes ver="1.1.15" date="2012-02-15">
- <change type="feature">
- <para lang="ru">
- директива disable_symlinks.
- </para>
- <para lang="en">
- the "disable_symlinks" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_cookie_domain и proxy_cookie_path.
- </para>
- <para lang="en">
- the "proxy_cookie_domain" and "proxy_cookie_path" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог некорректно сообщать об ошибке "upstream prematurely closed
- connection" вместо "upstream sent too big header".<br/>
- Спасибо Feibo Li.
- </para>
- <para lang="en">
- nginx might log incorrect error "upstream prematurely closed connection"
- instead of correct "upstream sent too big header" one.<br/>
- Thanks to Feibo Li.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с модулем ngx_http_perl_module,
- если использовался параметр --with-openssl.
- </para>
- <para lang="en">
- nginx could not be built with the ngx_http_perl_module
- if the --with-openssl option was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- количество внутренних перенаправлений в именованные location'ы
- не ограничивалось.
- </para>
- <para lang="en">
- the number of internal redirects to named locations was not limited.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- вызов $r->flush() несколько раз подряд мог приводить к ошибкам
- в модуле ngx_http_gzip_filter_module.
- </para>
- <para lang="en">
- calling $r->flush() multiple times might cause errors
- in the ngx_http_gzip_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы proxy_store с SSI-подзапросами
- временные файлы могли не удаляться.
- </para>
- <para lang="en">
- temporary files might be not removed
- if the "proxy_store" directive was used with SSI includes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в некоторых случаях некэшируемые переменные (такие, как $args)
- возвращали старое пустое закэшированное значение.
- </para>
- <para lang="en">
- in some cases non-cacheable variables (such as the $args variable)
- returned old empty cached value.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если одновременно создавалось слишком много SSI-подзапросов;
- ошибка появилась в 0.7.25.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if too many SSI subrequests were issued simultaneously;
- the bug had appeared in 0.7.25.
- </para>
- </change>
- </changes>
- <changes ver="1.1.14" date="2012-01-30">
- <change type="feature">
- <para lang="ru">
- теперь можно указать несколько ограничений limit_req одновременно.
- </para>
- <para lang="en">
- multiple "limit_req" limits may be used simultaneously.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок при соединении с бэкендом.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in error handling while connecting to a backend.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок при использовании AIO на FreeBSD.
- </para>
- <para lang="en">
- in AIO error handling on FreeBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в инициализации библиотеки OpenSSL.
- </para>
- <para lang="en">
- in the OpenSSL library initialization.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_redirect могли наследоваться некорректно.
- </para>
- <para lang="en">
- the "proxy_redirect" directives might be inherited incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при переконфигурации, если использовалась директива pcre_jit.
- </para>
- <para lang="en">
- memory leak during reconfiguration if the "pcre_jit" directive was used.
- </para>
- </change>
- </changes>
- <changes ver="1.1.13" date="2012-01-16">
- <change type="feature">
- <para lang="ru">
- параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
- </para>
- <para lang="en">
- the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметры директивы limit_req наследовались некорректно;
- ошибка появилась в 1.1.12.
- </para>
- <para lang="en">
- the "limit_req" directive parameters were not inherited correctly;
- the bug had appeared in 1.1.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_redirect некорректно обрабатывала заголовок Refresh
- при использовании регулярных выражений.
- </para>
- <para lang="en">
- the "proxy_redirect" directive incorrectly processed "Refresh" header
- if regular expression were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_cache_use_stale с параметром error не возвращала ответ из
- кэша, если все бэкенды были признаны неработающими.
- </para>
- <para lang="en">
- the "proxy_cache_use_stale" directive with "error" parameter did not return
- answer from cache if there were no live upstreams.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива worker_cpu_affinity могла не работать.
- </para>
- <para lang="en">
- the "worker_cpu_affinity" directive might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris;
- ошибка появилась в 1.1.12.
- </para>
- <para lang="en">
- nginx could not be built on Solaris;
- the bug had appeared in 1.1.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_mp4_module.
- </para>
- <para lang="en">
- in the ngx_http_mp4_module.
- </para>
- </change>
- </changes>
- <changes ver="1.1.12" date="2011-12-26">
- <change type="change">
- <para lang="ru">
- после перенаправления запроса с помощью директивы error_page
- директива proxy_pass без URI теперь использует изменённый URI.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- a "proxy_pass" directive without URI part now uses changed URI
- after redirection with the "error_page" directive.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
- proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
- </para>
- <para lang="en">
- the "proxy/fastcgi/scgi/uwsgi_cache_lock",
- "proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива pcre_jit.
- </para>
- <para lang="en">
- the "pcre_jit" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- SSI команда if поддерживает выделения в регулярных выражениях.
- </para>
- <para lang="en">
- the "if" SSI command supports captures in regular expressions.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSI команда if не работала внутри команды block.
- </para>
- <para lang="en">
- the "if" SSI command did not work inside the "block" command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы limit_conn_log_level и limit_req_log_level могли не работать.
- </para>
- <para lang="en">
- the "limit_conn_log_level" and "limit_req_log_level" directives might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива limit_rate не позволяла передавать на полной скорости,
- даже если был указан очень большой лимит.
- </para>
- <para lang="en">
- the "limit_rate" directive did not allow to use full throughput,
- even if limit value was very high.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива sendfile_max_chunk не работала,
- если использовалась директива limit_rate.
- </para>
- <para lang="en">
- the "sendfile_max_chunk" directive did not work,
- if the "limit_rate" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве proxy_pass использовались переменные и не был указан URI,
- всегда использовался URI исходного запроса.
- </para>
- <para lang="en">
- a "proxy_pass" directive without URI part always used original request URI
- if variables were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после перенаправления запроса с помощью директивы try_files
- директива proxy_pass без URI могла использовать URI исходного запроса.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- a "proxy_pass" directive without URI part might use original request
- after redirection with the "try_files" directive.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_scgi_module.
- </para>
- <para lang="en">
- in the ngx_http_scgi_module.
- </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">
- nginx не собирался на Solaris;
- ошибка появилась в 1.1.9.
- </para>
- <para lang="en">
- nginx could not be built on Solaris;
- the bug had appeared in 1.1.9.
- </para>
- </change>
- </changes>
- <changes ver="1.1.11" date="2011-12-12">
- <change type="feature">
- <para lang="ru">
- параметр so_keepalive в директиве listen.<br/>
- Спасибо Всеволоду Стахову.
- </para>
- <para lang="en">
- the "so_keepalive" parameter of the "listen" directive.<br/>
- Thanks to Vsevolod Stakhov.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param.
- </para>
- <para lang="en">
- the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $https.
- </para>
- <para lang="en">
- the $https variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_redirect поддерживает переменные в первом параметре.
- </para>
- <para lang="en">
- the "proxy_redirect" directive supports variables in the first parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_redirect поддерживает регулярные выражения.
- </para>
- <para lang="en">
- the "proxy_redirect" directive supports regular expressions.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $sent_http_cache_control могла содержать неверное значение при
- использовании директивы expires.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- the $sent_http_cache_control variable might contain a wrong value if the
- "expires" directive was used.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива read_ahead могла не работать при использовании совместно с
- try_files и open_file_cache.
- </para>
- <para lang="en">
- the "read_ahead" directive might not work combined with "try_files"
- and "open_file_cache".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в параметре inactive директивы proxy_cache_path
- было указано малое время,
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if small time was used in the "inactive" parameter of
- the "proxy_cache_path" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы из кэша могли зависать.
- </para>
- <para lang="en">
- responses from cache might hang.
- </para>
- </change>
- </changes>
- <changes ver="1.1.10" date="2011-11-30">
- <change type="bugfix">
- <para lang="ru">
- при использовании AIO на Linux в рабочем процессе происходил segmentation fault;
- ошибка появилась в 1.1.9.
- </para>
- <para lang="en">
- a segmentation fault occurred in a worker process if AIO was used on Linux;
- the bug had appeared in 1.1.9.
- </para>
- </change>
- </changes>
- <changes ver="1.1.9" date="2011-11-28">
- <change type="change">
- <para lang="ru">
- теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/>
- Спасибо Зауру Абасмирзоеву.
- </para>
- <para lang="en">
- now double quotes are encoded in an "echo" SSI-command output.<br/>
- Thanks to Zaur Abasmirzoev.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр valid в директиве resolver. По умолчанию теперь
- используется TTL, возвращённый DNS-сервером.<br/>
- Спасибо Кириллу Коринскому.
- </para>
- <para lang="en">
- the "valid" parameter of the "resolver" directive. By default TTL
- returned by a DNS server is used.<br/>
- Thanks to Kirill A. Korinskiy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог перестать отвечать, если рабочий процесс завершался аварийно.
- </para>
- <para lang="en">
- nginx might hang after a worker process abnormal termination.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалось SNI;
- ошибка появилась в 1.1.2.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if SNI was used;
- the bug had appeared in 1.1.2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве keepalive_disable;
- ошибка появилась в 1.1.8.<br/>
- Спасибо Александру Усову.
- </para>
- <para lang="en">
- in the "keepalive_disable" directive;
- the bug had appeared in 1.1.8.<br/>
- Thanks to Alexander Usov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сигнал SIGWINCH переставал работать после первого обновления исполняемого
- файла;
- ошибка появилась в 1.1.1.
- </para>
- <para lang="en">
- SIGWINCH signal did not work after first binary upgrade;
- the bug had appeared in 1.1.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь ответы бэкендов, длина которых не соответствует заголовку
- Content-Length, не кэширутся.
- </para>
- <para lang="en">
- backend responses with length not matching "Content-Length" header line
- are no longer cached.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве scgi_param при использовании составных параметров.
- </para>
- <para lang="en">
- in the "scgi_param" directive, if complex parameters were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в методе epoll.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- in the "epoll" event method.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_flv_module.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- in the ngx_http_flv_module.<br/>
- Thanks to Piotr Sikora.
- </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">
- теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host.
- </para>
- <para lang="en">
- IPv6 addresses are now handled properly in a request line and in a "Host"
- request header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы add_header и expires не работали для ответов с кодом 206,
- если запрос проксировался.
- </para>
- <para lang="en">
- "add_header" and "expires" directives did not work if a request was proxied
- and response status code was 206.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на FreeBSD 10.
- </para>
- <para lang="en">
- nginx could not be built on FreeBSD 10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на AIX.
- </para>
- <para lang="en">
- nginx could not be built on AIX.
- </para>
- </change>
- </changes>
- <changes ver="1.1.8" date="2011-11-14">
- <change type="change">
- <para lang="ru">
- модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module.
- </para>
- <para lang="en">
- the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом.
- </para>
- <para lang="en">
- the "limit_zone" directive was superseded by the "limit_conn_zone" directive
- with a new syntax.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка ограничения по нескольким limit_conn на одном уровне.
- </para>
- <para lang="en">
- support for multiple "limit_conn" limits on the same level.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива image_filter_sharpen.
- </para>
- <para lang="en">
- the "image_filter_sharpen" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если resolver получил большой DNS-ответ.<br/>
- Спасибо Ben Hawkes.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if resolver got a big DNS response.<br/>
- Thanks to Ben Hawkes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в вычислении ключа для кэширования,
- если использовалась внутренняя реализация MD5;
- ошибка появилась в 1.0.4.
- </para>
- <para lang="en">
- in cache key calculation
- if internal MD5 implementation was used;
- the bug had appeared in 1.0.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
- клиента могли передаваться бэкенду при кэшировании; или не передаваться при
- выключенном кэшировании, если кэширование было включено в другой части
- конфигурации.
- </para>
- <para lang="en">
- the "If-Modified-Since", "If-Range", etc. client request header lines
- might be passed to backend while caching; or not passed without caching
- if caching was enabled in another part of the configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_mp4_module выдавал неверную строку "Content-Length"
- в заголовке ответа, использовался аргумент start.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- the module ngx_http_mp4_module sent incorrect "Content-Length" response
- header line if the "start" argument was used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- </changes>
- <changes ver="1.1.7" date="2011-10-31">
- <change type="feature">
- <para lang="ru">
- поддержка нескольких DNS серверов в директиве "resolver".<br/>
- Спасибо Кириллу Коринскому.
- </para>
- <para lang="en">
- support of several DNS servers in the "resolver" directive.<br/>
- Thanks to Kirill A. Korinskiy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации происходил segmentation fault,
- если директива ssl использовалась на уровне http и не был указан
- ssl_certificate.
- </para>
- <para lang="en">
- a segmentation fault occurred on start or during reconfiguration
- if the "ssl" directive was used at http level and there was
- no "ssl_certificate" defined.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уменьшено потребление памяти при проксировании больших файлов,
- если они буферизировались на диск.
- </para>
- <para lang="en">
- reduced memory consumption while proxying big files
- if they were buffered to disk.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовалась директива "proxy_http_version 1.1".
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if "proxy_http_version 1.1" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве "expires @time".
- </para>
- <para lang="en">
- in the "expires @time" directive.
- </para>
- </change>
- </changes>
- <changes ver="1.1.6" date="2011-10-17">
- <change>
- <para lang="ru">
- Изменение во внутреннем API: теперь при внутреннем редиректе
- в именованный location контексты модулей очищаются.<br/>
- По запросу Yichun Zhang.
- </para>
- <para lang="en">
- Change in internal API: now module context data are cleared
- while internal redirect to named location.<br/>
- Requested by Yichun Zhang.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь если сервер, описанный в блоке upstream, был признан неработающим,
- то после истечения fail_timeout на него будет отправлен только один запрос;
- сервер будет считаться работающим, если успешно ответит на этот запрос.
- </para>
- <para lang="en">
- if a server in an upstream failed, only one request will be sent to it
- after fail_timeout; the server will be considered alive if it will
- successfully respond to the request.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь символы 0x7F-0xFF в access_log записываются в виде \xXX.
- </para>
- <para lang="en">
- now the 0x7F-0xFF characters are escaped as \xXX in an access_log.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают
- значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset.
- </para>
- <para lang="en">
- "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following
- additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- уменьшение потребления памяти при использовании SSL.
- </para>
- <para lang="en">
- decrease of memory consumption if SSL is used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- некоторые UTF-8 символы обрабатывались неправильно.<br/>
- Спасибо Алексею Куцу.
- </para>
- <para lang="en">
- some UTF-8 characters were processed incorrectly.<br/>
- Thanks to Alexey Kuts.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы модуля ngx_http_rewrite_module, заданные на уровне server,
- применялись повторно, если для запроса не находилось ни одного location'а.
- </para>
- <para lang="en">
- the ngx_http_rewrite_module directives specified at "server" level were
- executed twice if no matching locations were defined.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании "aio sendfile" могла происходить утечка сокетов.
- </para>
- <para lang="en">
- a socket leak might occurred if "aio sendfile" was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании файлового AIO соединения с быстрыми клиентами
- могли быть закрыты по истечению send_timeout.
- </para>
- <para lang="en">
- connections with fast clients might be closed after send_timeout
- if file AIO was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_autoindex_module.
- </para>
- <para lang="en">
- in the ngx_http_autoindex_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах.
- </para>
- <para lang="en">
- the module ngx_http_mp4_module did not support seeking on 32-bit platforms.
- </para>
- </change>
- </changes>
- <changes ver="1.1.5" date="2011-10-05">
- <change type="feature">
- <para lang="ru">
- директивы uwsgi_buffering и scgi_buffering.<br/>
- Спасибо Peter Smit.
- </para>
- <para lang="en">
- the "uwsgi_buffering" and "scgi_buffering" directives.<br/>
- Thanks to Peter Smit.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании proxy_cache_bypass могли быть закэшированы
- некэшируемые ответы.<br/>
- Спасибо John Ferlito.
- </para>
- <para lang="en">
- non-cacheable responses might be cached if "proxy_cache_bypass" directive
- was used.<br/>
- Thanks to John Ferlito.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1.
- </para>
- <para lang="en">
- in HTTP/1.1 support in the ngx_http_proxy_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- закэшированные ответы с пустым телом возвращались некорректно;
- ошибка появилась в 0.8.31.
- </para>
- <para lang="en">
- cached responses with an empty body were returned incorrectly;
- the bug had appeared in 0.8.31.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы с кодом 201 модуля ngx_http_dav_module были некорректны;
- ошибка появилась в 0.8.32.
- </para>
- <para lang="en">
- 201 responses of the ngx_http_dav_module were incorrect;
- the bug had appeared in 0.8.32.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве return.
- </para>
- <para lang="en">
- in the "return" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы "ssl_session_cache builtin" происходил
- segmentation fault;
- ошибка появилась в 1.1.1.
- </para>
- <para lang="en">
- the "ssl_session_cache builtin" directive caused segmentation fault;
- the bug had appeared in 1.1.1.
- </para>
- </change>
- </changes>
- <changes ver="1.1.4" date="2011-09-20">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_upstream_keepalive.
- </para>
- <para lang="en">
- the ngx_http_upstream_keepalive module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_http_version.
- </para>
- <para lang="en">
- the "proxy_http_version" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_keep_conn.
- </para>
- <para lang="en">
- the "fastcgi_keep_conn" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива worker_aio_requests.
- </para>
- <para lang="en">
- the "worker_aio_requests" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с файловым AIO,
- он не мог запускаться на Linux без поддержки AIO.
- </para>
- <para lang="en">
- if nginx was built --with-file-aio it could not be run on Linux
- kernel which did not support AIO.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок при работе с Linux AIO.
- <br/>
- Спасибо Hagai Avrahami.
- </para>
- <para lang="en">
- in Linux AIO error processing.
- <br/>
- Thanks to Hagai Avrahami.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уменьшено потребление памяти для долгоживущих запросов.
- </para>
- <para lang="en">
- reduced memory consumption for long-lived requests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64.
- </para>
- <para lang="en">
- the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom.
- </para>
- </change>
- </changes>
- <changes ver="1.1.3" date="2011-09-14">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_mp4_module.
- </para>
- <para lang="en">
- the module ngx_http_mp4_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в Linux AIO, используемым совместно с open_file_cache.
- </para>
- <para lang="en">
- in Linux AIO combined with open_file_cache.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- open_file_cache не обновлял информацию о файле,
- если файл был изменён не атомарно.
- </para>
- <para lang="en">
- open_file_cache did not update file info on retest
- if file was not atomically changed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на MacOSX 10.7.
- </para>
- <para lang="en">
- nginx could not be built on MacOSX 10.7.
- </para>
- </change>
- </changes>
- <changes ver="1.1.2" date="2011-09-05">
- <change type="change">
- <para lang="ru">
- теперь, если суммарный размер всех диапазонов больше размера исходного ответа,
- то nginx возвращает только исходный ответ, не обрабатывая диапазоны.
- </para>
- <para lang="en">
- now if total size of all ranges is greater than source response size,
- then nginx disables ranges and returns just the source response.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива max_ranges.
- </para>
- <para lang="en">
- the "max_ranges" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher
- могли работать некорректно, если использовался SNI.
- </para>
- <para lang="en">
- the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers"
- directives might work incorrectly if SNI was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort.
- </para>
- <para lang="en">
- in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives.
- </para>
- </change>
- </changes>
- <changes ver="1.1.1" date="2011-08-22">
- <change type="change">
- <para lang="ru">
- теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов,
- указанное в параметре load_files, либо работает не дольше времени,
- указанного в параметре loader_threshold.
- </para>
- <para lang="en">
- now cache loader processes either as many files as specified by "loader_files"
- parameter or works no longer than time specified by the "loader_threshold"
- parameter during each iteration.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- SIGWINCH сигнал теперь работает только в режиме демона.
- </para>
- <para lang="en">
- now SIGWINCH signal works only in daemon mode.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/>
- Спасибо Денису Иванову.
- </para>
- <para lang="en">
- now shared zones and caches use POSIX semaphores on Solaris.<br/>
- Thanks to Den Ivanov.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь на NetBSD поддерживаются accept фильтры.
- </para>
- <para lang="en">
- accept filters are now supported on NetBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Linux 3.0.
- </para>
- <para lang="en">
- nginx could not be built on Linux 3.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в некоторых случаях nginx не использовал сжатие;
- ошибка появилась в 1.1.0.
- </para>
- <para lang="en">
- nginx did not use gzipping in some cases;
- the bug had appeared in 1.1.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- обработка тела запроса могла быть неверной, если клиент использовал pipelining.
- </para>
- <para lang="en">
- request body might be processed incorrectly if client used pipelining.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве request_body_in_single_buf.
- </para>
- <para lang="en">
- in the "request_body_in_single_buf" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директивах proxy_set_body и proxy_pass_request_body
- при использовании SSL-соединения с бэкендом.
- </para>
- <para lang="en">
- in "proxy_set_body" and "proxy_pass_request_body" directives
- if SSL connection to backend was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx нагружал процессор, если все серверы в upstream'е были помечены
- флагом down.
- </para>
- <para lang="en">
- nginx hogged CPU if all servers in an upstream were marked as "down".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при переконфигурации мог произойти segmentation fault,
- если в предыдущей конфигурации был определён, но не использовался
- ssl_session_cache.
- </para>
- <para lang="en">
- a segmentation fault might occur during reconfiguration
- if ssl_session_cache was defined but not used in previous configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании большого количества backup-серверов
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if many backup servers were used in an upstream.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директив fastcgi/scgi/uwsgi_param
- со значениями, начинающимися со строки "HTTP_",
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.8.40.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- if "fastcgi/scgi/uwsgi_param" directives were used
- with values starting with "HTTP_";
- the bug had appeared in 0.8.40.
- </para>
- </change>
- </changes>
- <changes ver="1.1.0" date="2011-08-01">
- <change type="feature">
- <para lang="ru">
- уменьшение времени работы загрузчика кэша.
- </para>
- <para lang="en">
- cache loader run time decrease.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры loader_files, loader_sleep и loader_threshold
- директив proxy/fastcgi/scgi/uwsgi_cache_path.
- </para>
- <para lang="en">
- "loader_files", "loader_sleep", and "loader_threshold" options
- of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов.
- </para>
- <para lang="en">
- loading time decrease of configuration with large number of HTTPS sites.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/>
- Спасибо Adrian Kotelba.
- </para>
- <para lang="en">
- now nginx supports ECDHE key exchange ciphers.<br/>
- Thanks to Adrian Kotelba.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива lingering_close.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the "lingering_close" directive.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- закрытия соединения для pipelined-запросов.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in closing connection for pipelined requests.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не запрещал сжатие при получении значения "gzip;q=0"
- в строке "Accept-Encoding" в заголовке запроса клиента.
- </para>
- <para lang="en">
- nginx did not disable gzipping if client sent "gzip;q=0" in
- "Accept-Encoding" request header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- таймаута при небуферизированном проксировании.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in timeout in unbuffered proxied mode.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти при использовании переменных в директиве proxy_pass
- при работе с бэкендом по HTTPS.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- memory leaks when a "proxy_pass" directive contains variables and proxies
- to an HTTPS backend.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в проверке параметра директивы proxy_pass, заданного переменными.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- in parameter validation of a "proxy_pass" directive with variables.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL не работал на QNX.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- SSL did not work on QNX.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL модули не собирались gcc 4.6 без параметра --with-debug.
- </para>
- <para lang="en">
- SSL modules could not be built by gcc 4.6 without --with-debug option.
- </para>
- </change>
- </changes>
- <changes ver="1.0.5" date="2011-07-19">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/>
- Спасибо Rob Stradling.
- </para>
- <para lang="en">
- now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/>
- Thanks to Rob Stradling.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы referer_hash_max_size и referer_hash_bucket_size.<br/>
- Спасибо Witold Filipczyk.
- </para>
- <para lang="en">
- the "referer_hash_max_size" and "referer_hash_bucket_size"
- directives.<br/>
- Thanks to Witold Filipczyk.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $uid_reset.
- </para>
- <para lang="en">
- $uid_reset variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании кэширования
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Lanshun Zhou.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- if a caching was used.<br/>
- Thanks to Lanshun Zhou.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании кэширования рабочие процессы
- могли зациклиться во время переконфигурации;
- ошибка появилась в 0.8.48.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- worker processes may got caught in an endless loop during reconfiguration,
- if a caching was used;
- the bug had appeared in 0.8.48.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения "stalled cache updating".<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- "stalled cache updating" alert.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="1.0.4" date="2011-06-01">
- <change type="change">
- <para lang="ru">
- теперь в регулярных выражениях в директиве map можно задать
- чувствительность к регистру с помощью префиксов "~" и "~*".
- </para>
- <para lang="en">
- now regular expressions case sensitivity in the "map" directive
- is given by prefixes "~" or "~*".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/>
- Спасибо Денису Латыпову.
- </para>
- <para lang="en">
- now shared zones and caches use POSIX semaphores on Linux.<br/>
- Thanks to Denis F. Latypoff.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- сообщения "stalled cache updating".
- </para>
- <para lang="en">
- "stalled cache updating" alert.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http_auth_basic_module;
- ошибка появилась в 1.0.3.
- </para>
- <para lang="en">
- nginx could not be built --without-http_auth_basic_module;
- the bug had appeared in 1.0.3.
- </para>
- </change>
- </changes>
- <changes ver="1.0.3" date="2011-05-25">
- <change type="feature">
- <para lang="ru">
- директива auth_basic_user_file поддерживает шифрование пароля
- методами "$apr1", "{PLAIN}" и "{SSHA}".<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}",
- and "{SSHA}" password encryption methods.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива geoip_org и переменная $geoip_org.<br/>
- Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
- </para>
- <para lang="en">
- the "geoip_org" directive and $geoip_org variable.<br/>
- Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модули ngx_http_geo_module и ngx_http_geoip_module поддерживают
- адреса IPv4, отображённые на IPv6 адреса.
- </para>
- <para lang="en">
- ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses
- mapped to IPv6 addresses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проверке адреса IPv4, отображённого на адрес IPv6,
- в рабочем процессе происходил segmentation fault,
- если директивы access или deny были определены только для адресов IPv6;
- ошибка появилась в 0.8.22.
- </para>
- <para lang="en">
- a segmentation fault occurred in a worker process
- during testing IPv4 address mapped to IPv6 address,
- if access or deny rules were defined only for IPv6;
- the bug had appeared in 0.8.22.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- закэшированный ответ мог быть испорчен, если значения директив
- proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache
- были разными;
- ошибка появилась в 0.8.46.
- </para>
- <para lang="en">
- a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass"
- and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different;
- the bug had appeared in 0.8.46.
- </para>
- </change>
- </changes>
- <changes ver="1.0.2" date="2011-05-10">
- <change type="feature">
- <para lang="ru">
- теперь разделяемые зоны и кэши используют семафоры POSIX.
- </para>
- <para lang="en">
- now shared zones and caches use POSIX semaphores.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в работе параметра rotate директивы image_filter.<br/>
- Спасибо Adam Bocim.
- </para>
- <para lang="en">
- in the "rotate" parameter of the "image_filter" directive.<br/>
- Thanks to Adam Bocim.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris;
- ошибка появилась в 1.0.1.
- </para>
- <para lang="en">
- nginx could not be built on Solaris;
- the bug had appeared in 1.0.1.
- </para>
- </change>
- </changes>
- <changes ver="1.0.1" date="2011-05-03">
- <change type="change">
- <para lang="ru">
- теперь директива split_clients использует алгоритм MurmurHash2 из-за
- лучшего распределения.<br/>
- Спасибо Олегу Мамонтову.
- </para>
- <para lang="en">
- now the "split_clients" directive uses MurmurHash2 algorithm because
- of better distribution.<br/>
- Thanks to Oleg Mamontov.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь длинные строки, начинающиеся с нуля, не считаются ложными
- значениями.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now long strings starting with zero are not considered as false values.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь по умолчанию nginx использует значение 511 для listen backlog на Linux.
- </para>
- <para lang="en">
- now nginx uses a default listen backlog value 511 on Linux.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $upstream_... можно использовать в SSI и перловом модулях.
- </para>
- <para lang="en">
- the $upstream_... variables may be used in the SSI and perl modules.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx лучше ограничивает размер кэша на диске.<br/>
- Спасибо Олегу Мамонтову.
- </para>
- <para lang="en">
- now nginx limits better disk cache size.<br/>
- Thanks to Oleg Mamontov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при парсинге неправильного IPv4 адреса мог произойти segmentation fault;
- ошибка появилась в 0.8.22.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a segmentation fault might occur while parsing incorrect IPv4 address;
- the bug had appeared in 0.9.3.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc 4.6 без параметра --with-debug.
- </para>
- <para lang="en">
- nginx could not be built by gcc 4.6 without --with-debug option.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris 9 и более ранних;
- ошибка появилась в 0.9.3.<br/>
- Спасибо Dagobert Michelsen.
- </para>
- <para lang="en">
- nginx could not be built on Solaris 9 and earlier;
- the bug had appeared in 0.9.3.<br/>
- Thanks to Dagobert Michelsen.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $request_time имела неверные значения, если использовались
- подзапросы;
- ошибка появилась в 0.8.47.<br/>
- Спасибо Игорю А. Валькову.
- </para>
- <para lang="en">
- $request_time variable had invalid values if subrequests were used;
- the bug had appeared in 0.8.47.<br/>
- Thanks to Igor A. Valcov.
- </para>
- </change>
- </changes>
- <changes ver="1.0.0" date="2011-04-12">
- <change type="bugfix">
- <para lang="ru">
- cache manager мог нагружать процессор после переконфигурации.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a cache manager might hog CPU after reload.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "image_filter crop" неправильно работала в сочетании с
- "image_filter rotate 180".
- </para>
- <para lang="en">
- an "image_filter crop" directive worked incorrectly coupled with
- an "image_filter rotate 180" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "satisfy any" запрещала выдачу пользовательской страницы
- для 401 кода.
- </para>
- <para lang="en">
- a "satisfy any" directive disabled custom 401 error page.
- </para>
- </change>
- </changes>
- <changes ver="0.9.7" date="2011-04-04">
- <change type="feature">
- <para lang="ru">
- теперь соединения в состоянии keepalive могут быть закрыты преждевременно,
- если у воркера нет свободных соединений.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now keepalive connections may be closed premature,
- if there are no free worker connections.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр rotate директивы image_filter.<br/>
- Спасибо Adam Bocim.
- </para>
- <para lang="en">
- the "rotate" parameter of the "image_filter" directive.<br/>
- Thanks to Adam Bocim.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass
- задан выражением и ссылается на описанный upstream.
- </para>
- <para lang="en">
- a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass"
- directives is given by expression and refers to a defined upstream.
- </para>
- </change>
- </changes>
- <changes ver="0.9.6" date="2011-03-21">
- <change type="feature">
- <para lang="ru">
- директива map поддерживает регулярные выражения в качестве значения
- первого параметра.
- </para>
- <para lang="en">
- the "map" directive supports regular expressions as value of the first
- parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $time_iso8601 для access_log.<br/>
- Спасибо Michael Lustfield.
- </para>
- <para lang="en">
- $time_iso8601 access_log variable.<br/>
- Thanks to Michael Lustfield.
- </para>
- </change>
- </changes>
- <changes ver="0.9.5" date="2011-02-21">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию nginx использует значение -1 для listen backlog
- на Linux.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- now nginx uses a default listen backlog value -1 on Linux.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр utf8 в директивах geoip_country и geoip_city.<br/>
- Спасибо Денису Латыпову.
- </para>
- <para lang="en">
- the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/>
- Thanks to Denis F. Latypoff.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- исправление в умолчательной директиве proxy_redirect, если в директиве
- proxy_pass не был описан URI.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in a default "proxy_redirect" directive if "proxy_pass" directive has no
- URI part.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page не работала с нестандартными кодами ошибок;
- ошибка появилась в 0.8.53.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- an "error_page" directive did not work with nonstandard error codes;
- the bug had appeared in 0.8.53.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.9.4" date="2011-01-21">
- <change type="feature">
- <para lang="ru">
- директива server_name поддерживает переменную $hostname.
- </para>
- <para lang="en">
- the "server_name" directive supports the $hostname variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- 494 код для ошибки "Request Header Too Large".
- </para>
- <para lang="en">
- 494 code for "Request Header Too Large" error.
- </para>
- </change>
- </changes>
- <changes ver="0.9.3" date="2010-12-13">
- <change type="bugfix">
- <para lang="ru">
- если для пары IPv6-адрес:порт описан только один сервер, то выделения
- в регулярных выражениях в директиве server_name не работали.
- </para>
- <para lang="en">
- if there was a single server for given IPv6 address:port pair,
- then captures in regular expressions in a "server_name" directive did not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под Solaris;
- ошибка появилась в 0.9.0.
- </para>
- <para lang="en">
- nginx could not be built on Solaris;
- the bug had appeared in 0.9.0.
- </para>
- </change>
- </changes>
- <changes ver="0.9.2" date="2010-12-06">
- <change type="feature">
- <para lang="ru">
- поддержка строки "If-Unmodified-Since" в заголовке запроса клиента.
- </para>
- <para lang="en">
- the "If-Unmodified-Since" client request header line support.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- использование accept(), если accept4() не реализован;
- ошибка появилась в 0.9.0.
- </para>
- <para lang="en">
- fallback to accept() syscall if accept4() was not implemented;
- the issue had appeared in 0.9.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под Cygwin;
- ошибка появилась в 0.9.0.
- </para>
- <para lang="en">
- nginx could not be built on Cygwin;
- the bug had appeared in 0.9.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- уязвимости в OpenSSL CVE-2010-4180.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- for OpenSSL vulnerability CVE-2010-4180.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.9.1" date="2010-11-30">
- <change type="bugfix">
- <para lang="ru">
- директивы вида "return CODE message" не работали;
- ошибка появилась в 0.9.0.
- </para>
- <para lang="en">
- "return CODE message" directives did not work;
- the bug had appeared in 0.9.0.
- </para>
- </change>
- </changes>
- <changes ver="0.9.0" date="2010-11-29">
- <change type="feature">
- <para lang="ru">
- директива keepalive_disable.
- </para>
- <para lang="en">
- the "keepalive_disable" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива map поддерживает переменные в качестве значения определяемой
- переменной.
- </para>
- <para lang="en">
- the "map" directive supports variables as value of a defined variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива map поддерживает пустые строки в качестве значения первого параметра.
- </para>
- <para lang="en">
- the "map" directive supports empty strings as value of the first parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива map поддерживает выражения в первом параметре.
- </para>
- <para lang="en">
- the "map" directive supports expressions as the first parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- страница руководства nginx(8).<br/>
- Спасибо Сергею Осокину.
- </para>
- <para lang="en">
- nginx(8) manual page.<br/>
- Thanks to Sergey Osokin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка accept4() в Linux.<br/>
- Спасибо Simon Liu.
- </para>
- <para lang="en">
- Linux accept4() support.<br/>
- Thanks to Simon Liu.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux;
- предупреждение появилось в 0.8.35.
- </para>
- <para lang="en">
- elimination of Linux linker warning about "sys_errlist" and "sys_nerr";
- the warning had appeared in 0.8.35.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы auth_basic
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Михаилу Лалетину.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- if the "auth_basic" directive was used.<br/>
- Thanks to Michail Laletin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с модулем ngx_http_eval_module;
- ошибка появилась в 0.8.42.
- </para>
- <para lang="en">
- compatibility with ngx_http_eval_module;
- the bug had appeared in 0.8.42.
- </para>
- </change>
- </changes>
- <changes ver="0.8.53" date="2010-10-18">
- <change type="feature">
- <para lang="ru">
- теперь директива error_page позволяет менять код статуса у редиректа.
- </para>
- <para lang="en">
- now the "error_page" directive allows to change a status code in a redirect.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива gzip_disable поддерживает специальную маску degradation.
- </para>
- <para lang="en">
- the "gzip_disable" directive supports special "degradation" mask.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании файлового AIO могла происходить утечка сокетов.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a socket leak might occurred if file AIO was used.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в первом сервере не была описана директива listen и нигде явно
- не описан сервер по умолчанию, то сервером по умолчанию становился
- следующий сервер с директивой listen;
- ошибка появилась в 0.8.21.
- </para>
- <para lang="en">
- if the first server had no "listen" directive and there was no explicit
- default server, then a next server with a "listen" directive became
- the default server;
- the bug had appeared in 0.8.21.
- </para>
- </change>
- </changes>
- <changes ver="0.8.52" date="2010-09-28">
- <change type="bugfix">
- <para lang="ru">
- nginx использовал режим SSL для listen сокета, если для него был
- установлен любой listen-параметр;
- ошибка появилась в 0.8.51.
- </para>
- <para lang="en">
- nginx used SSL mode for a listen socket if any listen option was set;
- the bug had appeared in 0.8.51.
- </para>
- </change>
- </changes>
- <changes ver="0.8.51" date="2010-09-27">
- <change type="change">
- <para lang="ru">
- директива secure_link_expires упразднена.
- </para>
- <para lang="en">
- the "secure_link_expires" directive has been canceled.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уровень логгирования ошибок resolver'а понижен с уровня alert на error.
- </para>
- <para lang="en">
- a logging level of resolver errors has been lowered from "alert" to "error".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь параметр "ssl" listen-сокета можно устанавливать несколько раз.
- </para>
- <para lang="en">
- now a listen socket "ssl" parameter may be set several times.
- </para>
- </change>
- </changes>
- <changes ver="0.8.50" date="2010-09-02">
- <change type="feature">
- <para lang="ru">
- директивы secure_link, secure_link_md5 и secure_link_expires
- модуля ngx_http_secure_link_module.
- </para>
- <para lang="en">
- the "secure_link", "secure_link_md5", and "secure_link_expires" directives of
- the ngx_http_secure_link_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -q.<br/>
- Спасибо Геннадию Махомеду.
- </para>
- <para lang="en">
- the -q switch.<br/>
- Thanks to Gena Makhomed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании кэширования рабочие процессы и могли зациклиться
- во время переконфигурации;
- ошибка появилась в 0.8.48.
- </para>
- <para lang="en">
- worker processes may got caught in an endless loop during reconfiguration,
- if a caching was used;
- the bug had appeared in 0.8.48.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве gzip_disable.<br/>
- Спасибо Derrick Petzold.
- </para>
- <para lang="en">
- in the "gzip_disable" directive.<br/>
- Thanks to Derrick Petzold.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу,
- запущенному в другой сессии.
- </para>
- <para lang="en">
- nginx/Windows could not send stop, quit, reopen, and reload signals
- to a process run in other session.
- </para>
- </change>
- </changes>
- <changes ver="0.8.49" date="2010-08-09">
- <change type="feature">
- <para lang="ru">
- директива image_filter_jpeg_quality поддерживает переменные.
- </para>
- <para lang="en">
- the "image_filter_jpeg_quality" directive supports variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменной $geoip_region_name
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.8.48.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- if the $geoip_region_name variables was used;
- the bug had appeared in 0.8.48.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки, перехваченные error_page, кэшировались только до следующего запроса;
- ошибка появилась в 0.8.48.
- </para>
- <para lang="en">
- errors intercepted by error_page were cached only for next request;
- the bug had appeared in 0.8.48.
- </para>
- </change>
- </changes>
- <changes ver="0.8.48" date="2010-08-03">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию директива server_name имеет значение пустое имя "".<br/>
- Спасибо Геннадию Махомеду.
- </para>
- <para lang="en">
- now the "server_name" directive default value is an empty name "".<br/>
- Thanks to Gena Makhomed.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь по умолчанию директива server_name_in_redirect имеет значение off.
- </para>
- <para lang="en">
- now the "server_name_in_redirect" directive default value is "off".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/>
- Спасибо Christine McGonagle.
- </para>
- <para lang="en">
- the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/>
- Thanks to Christine McGonagle.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались
- в блоки limit_except.
- </para>
- <para lang="en">
- the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives
- were not inherited inside "limit_except" blocks.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_cache_min_uses, fastcgi_cache_min_uses
- uwsgi_cache_min_uses и scgi_cache_min_uses не работали;
- ошибка появилась в 0.8.46.
- </para>
- <para lang="en">
- the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
- "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work;
- the bug had appeared in 0.8.46.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива fastcgi_split_path_info неверно использовала выделения,
- если в выделения попадала только часть URI.<br/>
- Спасибо Юрию Тарадаю и Frank Enderle.
- </para>
- <para lang="en">
- the "fastcgi_split_path_info" directive used incorrectly captures,
- if only parts of an URI were captured.<br/>
- Thanks to Yuriy Taraday and Frank Enderle.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива rewrite не экранировала символ ";" при копировании из URI
- в аргументы.<br/>
- Спасибо Daisuke Murase.
- </para>
- <para lang="en">
- the "rewrite" directive did not escape a ";" character during copying
- from URI to query string.<br/>
- Thanks to Daisuke Murase.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_image_filter_module закрывал соединение,
- если изображение было больше размера image_filter_buffer.
- </para>
- <para lang="en">
- the ngx_http_image_filter_module closed a connection,
- if an image was larger than "image_filter_buffer" size.
- </para>
- </change>
- </changes>
- <changes ver="0.8.47" date="2010-07-28">
- <change type="bugfix">
- <para lang="ru">
- переменная $request_time имела неверные значения для подзапросов.
- </para>
- <para lang="en">
- $request_time variable had invalid values for subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки, перехваченные error_page, не кэшировались.
- </para>
- <para lang="en">
- errors intercepted by error_page could not be cached.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовался параметр max_size, то cache manager мог зациклиться;
- ошибка появилась в 0.8.46.
- </para>
- <para lang="en">
- a cache manager process may got caught in an endless loop,
- if max_size parameter was used;
- the bug had appeared in 0.8.46.
- </para>
- </change>
- </changes>
- <changes ver="0.8.46" date="2010-07-19">
- <change type="change">
- <para lang="ru">
- директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
- и scgi_no_cache теперь влияют только на сохранение закэшированного ответа.
- </para>
- <para lang="en">
- now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and
- "scgi_no_cache" directives affect on a cached response saving only.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass
- и scgi_cache_bypass.
- </para>
- <para lang="en">
- the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass",
- and "scgi_cache_bypass" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не освобождал память в keys_zone кэшей в случае ошибки работы с
- бэкендом: память освобождалась только по истечении времени неактивности
- или при недостатке памяти.
- </para>
- <para lang="en">
- nginx did not free memory in cache keys zones if there was an error
- during working with backend: the memory was freed only after inactivity
- time or on memory low condition.
- </para>
- </change>
- </changes>
- <changes ver="0.8.45" date="2010-07-13">
- <change type="feature">
- <para lang="ru">
- улучшения в модуле ngx_http_xslt_filter.<br/>
- Спасибо Laurence Rowe.
- </para>
- <para lang="en">
- ngx_http_xslt_filter improvements.<br/>
- Thanks to Laurence Rowe.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ SSI модуля мог передаваться не полностью после команды include
- с параметром wait="yes";
- ошибка появилась в 0.7.25.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- SSI response might be truncated after include with wait="yes";
- the bug had appeared in 0.7.25.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива listen не поддерживала параметр setfib=0.
- </para>
- <para lang="en">
- the "listen" directive did not support the "setfib=0" parameter.
- </para>
- </change>
- </changes>
- <changes ver="0.8.44" date="2010-07-05">
- <change type="change">
- <para lang="ru">
- теперь nginx по умолчанию не кэширует ответы бэкендов,
- в заголовке которых есть строка "Set-Cookie".
- </para>
- <para lang="en">
- now nginx does not cache by default backend responses,
- if they have a "Set-Cookie" header line.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива listen поддерживает параметр setfib.<br/>
- Спасибо Андрею Филонову.
- </para>
- <para lang="en">
- the "listen" directive supports the "setfib" parameter.<br/>
- Thanks to Andrew Filonov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива sub_filter могла изменять регистр букв при частичном совпадении.
- </para>
- <para lang="en">
- the "sub_filter" directive might change character case on partial match.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с HP/UX.
- </para>
- <para lang="en">
- compatibility with HP/UX.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с компилятором AIX xlC_r.
- </para>
- <para lang="en">
- compatibility with AIX xlC_r compiler.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/>
- Спасибо Miroslaw Jaworski.
- </para>
- <para lang="en">
- nginx treated large SSLv2 packets as plain requests.<br/>
- Thanks to Miroslaw Jaworski.
- </para>
- </change>
- </changes>
- <changes ver="0.8.43" date="2010-06-30">
- <change type="feature">
- <para lang="ru">
- ускорение загрузки больших баз geo-диапазонов.
- </para>
- <para lang="en">
- large geo ranges base loading speed-up.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- перенаправление ошибки в "location /zero {return 204;}" без изменения
- кода ответа оставляло тело ошибки;
- ошибка появилась в 0.8.42.
- </para>
- <para lang="en">
- an error_page redirection to "location /zero {return 204;}" without
- changing status code kept the error body;
- the bug had appeared in 0.8.42.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- nginx might close IPv6 listen socket during reconfiguration.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменную $uid_set можно использовать на любой стадии обработки запроса.
- </para>
- <para lang="en">
- the $uid_set variable may be used at any request processing stage.
- </para>
- </change>
- </changes>
- <changes ver="0.8.42" date="2010-06-21">
- <change type="change">
- <para lang="ru">
- теперь nginx проверяет location'ы, заданные регулярными выражениями,
- если запрос полностью совпал с location'ом, заданным строкой префикса.
- Предыдущее поведение появилось в 0.7.1.
- </para>
- <para lang="en">
- now nginx tests locations given by regular expressions,
- if request was matched exactly by a location given by a prefix string.
- The previous behavior has been introduced in 0.7.1.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_scgi_module.<br/>
- Спасибо Manlio Perillo.
- </para>
- <para lang="en">
- the ngx_http_scgi_module.<br/>
- Thanks to Manlio Perillo.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в директиве return можно добавлять текст ответа.
- </para>
- <para lang="en">
- a text answer may be added to a "return" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.8.41" date="2010-06-15">
- <change type="security">
- <para lang="ru">
- рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла
- с неверной кодировкой UTF-8.
- </para>
- <para lang="en">
- nginx/Windows worker might be terminated abnormally if a requested file name
- has invalid UTF-8 encoding.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx разрешает использовать пробелы в строке запроса.
- </para>
- <para lang="en">
- now nginx allows to use spaces in a request line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке
- ответа бэкенда.<br/>
- Спасибо Андрею Андрееву и Максиму Согину.
- </para>
- <para lang="en">
- the "proxy_redirect" directive changed incorrectly a backend "Refresh"
- response header line.<br/>
- Thanks to Andrey Andreew and Max Sogin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал путь без имени хоста в
- строке "Destination" в заголовке запроса.
- </para>
- <para lang="en">
- nginx did not support path without host name
- in "Destination" request header line.
- </para>
- </change>
- </changes>
- <changes ver="0.8.40" date="2010-06-07">
- <change type="security">
- <para lang="ru">
- теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/>
- Спасибо Jose Antonio Vazquez Gonzalez.
- </para>
- <para lang="en">
- now nginx/Windows ignores default file stream name.<br/>
- Thanks to Jose Antonio Vazquez Gonzalez.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_uwsgi_module.<br/>
- Спасибо Roberto De Ioris.
- </para>
- <para lang="en">
- the ngx_http_uwsgi_module.<br/>
- Thanks to Roberto De Ioris.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_param со значением, начинающимся со строки "HTTP_",
- изменяет строку заголовка в запросе клиента.
- </para>
- <para lang="en">
- a "fastcgi_param" directive with value starting with "HTTP_" overrides
- a client request header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
- клиента передавались FastCGI-серверу при кэшировании.
- </para>
- <para lang="en">
- the "If-Modified-Since", "If-Range", etc. client request header lines
- were passed to FastCGI-server while caching.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- listen unix domain сокет нельзя было изменить во время переконфигурации.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- listen unix domain socket could not be changed during reconfiguration.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.39" date="2010-05-31">
- <change type="bugfix">
- <para lang="ru">
- наследуемая директива alias неправильно работала во вложенном location'е.
- </para>
- <para lang="en">
- an inherited "alias" directive worked incorrectly in inclusive location.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в комбинации директив alias с переменными и try_files;
- </para>
- <para lang="en">
- in "alias" with variables and "try_files" directives combination.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- listen unix domain и IPv6 сокеты не наследовались во время обновления
- без перерыва.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.38" date="2010-05-24">
- <change type="feature">
- <para lang="ru">
- директивы proxy_no_cache и fastcgi_no_cache.
- </para>
- <para lang="en">
- the "proxy_no_cache" and "fastcgi_no_cache" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при использовании переменной $scheme в директиве rewrite
- автоматически делается редирект.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- now the "rewrite" directive does a redirect automatically
- if the $scheme variable is used.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now "limit_req" delay directive conforms to the described algorithm.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменную $uid_got нельзя было использовать в SSI и перловом модулях.
- </para>
- <para lang="en">
- the $uid_got variable might not be used in the SSI and perl modules.
- </para>
- </change>
- </changes>
- <changes ver="0.8.37" date="2010-05-17">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_split_clients_module.
- </para>
- <para lang="en">
- the ngx_http_split_clients_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива map поддерживает ключи больше 255 символов.
- </para>
- <para lang="en">
- the "map" directive supports keys more than 255 characters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал значения "private" и "no-store" в строке "Cache-Control"
- в заголовке ответа бэкенда.
- </para>
- <para lang="en">
- nginx ignored the "private" and "no-store" values
- in the "Cache-Control" backend response header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр stub в SSI-директиве include не использовался,
- если пустой ответ имел код 200.
- </para>
- <para lang="en">
- a "stub" parameter of an "include" SSI directive was not used,
- if empty response has 200 status code.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если проксированный или FastCGI запрос внутренне перенаправлялся
- в другой проксированный или FastCGI location,
- то в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.8.33.<br/>
- Спасибо Yichun Zhang.
- </para>
- <para lang="en">
- if a proxied or FastCGI request was internally redirected
- to another proxied or FastCGI location,
- then a segmentation fault might occur in a worker process;
- the bug had appeared in 0.8.33.<br/>
- Thanks to Yichun Zhang.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/>
- Спасибо Alan Batie.
- </para>
- <para lang="en">
- IMAP connections may hang until they timed out
- while talking to Zimbra server.<br/>
- Thanks to Alan Batie.
- </para>
- </change>
- </changes>
- <changes ver="0.8.36" date="2010-04-22">
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE
- для симлинков.
- </para>
- <para lang="en">
- the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods
- for symlinks.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль SSI в подзапросах использовал закэшированные в основном запросе
- значения переменных $query_string, $arg_... и им подобных.
- </para>
- <para lang="en">
- values of the $query_string, $arg_..., etc. variables cached in main
- request were used by the SSI module in subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- значение переменной повторно экранировалось после каждого вывода
- SSI-команды echo;
- ошибка появилась в 0.6.14.
- </para>
- <para lang="en">
- a variable value was repeatedly encoded after each
- an "echo" SSI-command output;
- the bug had appeared in 0.6.14.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочий процесс зависал при запросе файла FIFO.<br/>
- Спасибо Vicente Aguilar и Максиму Дунину.
- </para>
- <para lang="en">
- a worker process hung if a FIFO file was requested.<br/>
- Thanks to Vicente Aguilar and Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http-cache;
- ошибка появилась в 0.8.35.
- </para>
- <para lang="en">
- nginx could not be built --without-http-cache;
- the bug had appeared in 0.8.35.
- </para>
- </change>
- </changes>
- <changes ver="0.8.35" date="2010-04-01">
- <change type="change">
- <para lang="ru">
- теперь charset-фильтр работает до SSI-фильтра.
- </para>
- <para lang="en">
- now the charset filter runs before the SSI filter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива chunked_transfer_encoding.
- </para>
- <para lang="en">
- the "chunked_transfer_encoding" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- символ "&" при копировании в аргументы в правилах rewrite не экранировался.
- </para>
- <para lang="en">
- an "&" character was not escaped when it was copied in arguments part
- in a rewrite rule.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог завершаться аварийно во время обработки сигнала или
- при использовании директивы timer_resolution на платформах,
- не поддерживающих методы kqueue или eventport.<br/>
- Спасибо George Xie и Максиму Дунину.
- </para>
- <para lang="en">
- nginx might be terminated abnormally
- while a signal processing or if the directive "timer_resolution" was used
- on platforms which do not support kqueue or eventport notification methods.<br/>
- Thanks to George Xie and Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если временные файлы и постоянное место хранения располагались на разных
- файловых системах, то у постоянных файлов время изменения было неверным.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- if temporary files and permanent storage area resided at different
- file systems, then permanent file modification times were incorrect.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid
- trailer".<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- ngx_http_memcached_module might issue the error message "memcached sent invalid
- trailer".<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- nginx could not built zlib-1.2.4 library using the library sources.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе происходил segmentation fault,
- если перед ответом FastCGI-сервера было много вывода в stderr;
- ошибка появилась в 0.8.34.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a segmentation fault occurred in a worker process,
- if there was large stderr output before FastCGI response;
- the bug had appeared in 0.8.34.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.34" date="2010-03-03">
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/>
- Спасибо Иннокентию Еникееву.
- </para>
- <para lang="en">
- nginx did not support all ciphers and digests used in client certificates.<br/>
- Thanks to Innocenty Enikeew.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx неправильно кэшировал FastCGI-ответы, если перед ответом было
- много вывода в stderr.
- </para>
- <para lang="en">
- nginx cached incorrectly FastCGI responses if there was large stderr output
- before response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал HTTPS-рефереры.
- </para>
- <para lang="en">
- nginx did not support HTTPS referrers.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows мог не находить файлы, если путь в конфигурации был задан
- в другом регистре;
- ошибка появилась в 0.8.33.
- </para>
- <para lang="en">
- nginx/Windows might not find file if path in configuration was given
- in other character case;
- the bug had appeared in 0.8.33.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $date_local выдавала неверное время,
- если использовался формат "%s".<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the $date_local variable has an incorrect value,
- if the "%s" format was used.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если ssl_session_cache не был установлен или установлен в none,
- то при проверке клиентского сертификаты могла происходить
- ошибка "session id context uninitialized";
- ошибка появилась в 0.7.1.
- </para>
- <para lang="en">
- if ssl_session_cache was not set or was set to "none",
- then during client certificate verify
- the error "session id context uninitialized" might occur;
- the bug had appeared in 0.7.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- geo-диапазон возвращал значение по умолчанию, если диапазон включал
- в себя одну и более сетей размером /16 и не начинался на границе сети
- размером /16.
- </para>
- <para lang="en">
- a geo range returned default value if the range included two or more
- /16 networks and did not begin at /16 network boundary.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- блок, используемый в параметре stub в SSI-директиве include,
- выводился с MIME-типом "text/plain".
- </para>
- <para lang="en">
- a block used in a "stub" parameter of an "include" SSI directive
- was output with "text/plain" MIME type.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- $r->sleep() не работал;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- $r->sleep() did not work;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.33" date="2010-02-01">
- <change type="security">
- <para lang="ru">
- теперь nginx/Windows игнорирует пробелы в конце URI.<br/>
- Спасибо Dan Crowley, Core Security Technologies.
- </para>
- <para lang="en">
- now nginx/Windows ignores trailing spaces in URI.<br/>
- Thanks to Dan Crowley, Core Security Technologies.
- </para>
- </change>
- <change type="security">
- <para lang="ru">
- теперь nginx/Windows игнорирует короткие имена файлов.<br/>
- Спасибо Dan Crowley, Core Security Technologies.
- </para>
- <para lang="en">
- now nginx/Windows ignores short files names.<br/>
- Thanks to Dan Crowley, Core Security Technologies.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь keepalive соединения после запросов POST не запрещаются для
- MSIE 7.0+.<br/>
- Спасибо Adam Lounds.
- </para>
- <para lang="en">
- now keepalive connections after POST requests are not disabled for
- MSIE 7.0+.<br/>
- Thanks to Adam Lounds.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- теперь keepalive соединения запрещены для Safari.<br/>
- Спасибо Joshua Sierles.
- </para>
- <para lang="en">
- now keepalive connections are disabled for Safari.<br/>
- Thanks to Joshua Sierles.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если проксированный или FastCGI запрос внутренне перенаправлялся
- в другой проксированный или FastCGI location, то переменная
- $upstream_response_time могла иметь ненормально большое значение;
- ошибка появилась в 0.8.7.
- </para>
- <para lang="en">
- if a proxied or FastCGI request was internally redirected
- to another proxied or FastCGI location,
- then $upstream_response_time variable may have abnormally large value;
- the bug had appeared in 0.8.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault
- при отбрасывания тела запроса;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- while discarding a request body;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.32" date="2010-01-11">
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- именованные выделения в регулярных выражениях работали только для
- двух переменных.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- regular expression named captures worked for two names only.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь в строке заголовка запроса "Host" используется имя "localhost",
- если в директиве auth_http указан unix domain сокет.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now the "localhost" name is used in the "Host" request header line,
- if an unix domain socket is defined in the "auth_http" directive.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/>
- Спасибо Julian Reich.
- </para>
- <para lang="en">
- nginx did not support chunked transfer encoding for 201 responses.<br/>
- Thanks to Julian Reich.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если директива "expires modified" выставляла дату в прошлом, то в строке
- заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/>
- Спасибо Алексею Капранову.
- </para>
- <para lang="en">
- if the "expires modified" set date in the past, then a negative number
- was set in the "Cache-Control" response header line.<br/>
- Thanks to Alex Kapranoff.
- </para>
- </change>
- </changes>
- <changes ver="0.8.31" date="2009-12-23">
- <change type="feature">
- <para lang="ru">
- теперь директива error_page может перенаправлять ответы со статусом 301 и 302.
- </para>
- <para lang="en">
- now the "error_page" directive may redirect the 301 and 302 responses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/>
- Спасибо Arvind Sundararajan.
- </para>
- <para lang="en">
- the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
- variables.<br/>
- Thanks to Arvind Sundararajan.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_image_filter_module теперь всегда удаляет
- EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
- </para>
- <para lang="en">
- now the ngx_http_image_filter_module deletes always EXIF and other
- application specific data if the data consume more than 5% of a JPEG file.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx закрывал соединение при запросе закэшированного
- ответа с пустым телом.<br/>
- Спасибо Piotr Sikora.
- </para>
- <para lang="en">
- nginx closed a connection if a cached response had an empty body.<br/>
- Thanks to Piotr Sikora.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/>
- Спасибо Максиму Дунину и Денису Латыпову.
- </para>
- <para lang="en">
- nginx might not be built by gcc 4.x if the -O2 or higher optimization option
- was used.<br/>
- Thanks to Maxim Dounin and Denis F. Latypoff.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- регулярные выражения в location всегда тестировались с учётом регистра;
- ошибка появилась в 0.8.25.
- </para>
- <para lang="en">
- regular expressions in location were always tested in case-sensitive mode;
- the bug had appeared in 0.8.25.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx кэшировал 304 ответ, если в заголовке проксируемого запроса
- была строка "If-None-Match".<br/>
- Спасибо Tim Dettrick и David Kostal.
- </para>
- <para lang="en">
- nginx cached a 304 response if there was the "If-None-Match" header line
- in a proxied request.<br/>
- Thanks to Tim Dettrick and David Kostal.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows пытался дважды удалить временный файл
- при перезаписи уже существующего файла.
- </para>
- <para lang="en">
- nginx/Windows tried to delete a temporary file twice
- if the file should replace an already existent file.
- </para>
- </change>
- </changes>
- <changes ver="0.8.30" date="2009-12-15">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию размер буфера директивы large_client_header_buffers
- равен 8K.<br/>
- Спасибо Andrew Cholakian.
- </para>
- <para lang="en">
- now the default buffer size of the "large_client_header_buffers"
- directive is 8K.<br/>
- Thanks to Andrew Cholakian.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- файл conf/fastcgi.conf для простых конфигураций FastCGI.
- </para>
- <para lang="en">
- the conf/fastcgi.conf for simple FastCGI configurations.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows пытался дважды переименовать временный файл
- при перезаписи уже существующего файла.
- </para>
- <para lang="en">
- nginx/Windows tried to rename a temporary file twice if the file
- should replace an already existent file.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки double free or corruption, возникающей, если имя хоста не было найдено;
- ошибка появилась в 0.8.22.<br/>
- Спасибо Константину Свисту.
- </para>
- <para lang="en">
- of "double free or corruption" error issued if host could not be resolved;
- the bug had appeared in 0.8.22.<br/>
- Thanks to Konstantin Svist.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании libatomic на некоторых платформах.<br/>
- Спасибо W-Mark Kubacki.
- </para>
- <para lang="en">
- in libatomic usage on some platforms.<br/>
- Thanks to W-Mark Kubacki.
- </para>
- </change>
- </changes>
- <changes ver="0.8.29" date="2009-11-30">
- <change type="change">
- <para lang="ru">
- теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009".
- </para>
- <para lang="en">
- now the "009" status code is written to an access log for proxied HTTP/0.9
- responses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы addition_types, charset_types, gzip_types, ssi_types,
- sub_filter_types и xslt_types поддерживают параметр "*".
- </para>
- <para lang="en">
- the "addition_types", "charset_types", "gzip_types", "ssi_types",
- "sub_filter_types", and "xslt_types" directives support an "*" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- использование встроенных атомарных операций GCC 4.1+.<br/>
- Спасибо W-Mark Kubacki.
- </para>
- <para lang="en">
- GCC 4.1+ built-in atomic operations usage.<br/>
- Thanks to W-Mark Kubacki.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр --with-libatomic[=DIR] в configure.<br/>
- Спасибо W-Mark Kubacki.
- </para>
- <para lang="en">
- the --with-libatomic[=DIR] option in the configure.<br/>
- Thanks to W-Mark Kubacki.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- listen unix domain сокет имели ограниченные права доступа.
- </para>
- <para lang="en">
- listen unix domain socket had limited access rights.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались.
- </para>
- <para lang="en">
- cached HTTP/0.9 responses were handled incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- именованные выделения в регулярных выражениях, заданные как "?P<...>",
- не работали в директиве server_name.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- regular expression named captures given by "?P<...>" did not work
- in a "server_name" directive.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.28" date="2009-11-23">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-pcre;
- ошибка появилась в 0.8.25.
- </para>
- <para lang="en">
- nginx could not be built with the --without-pcre parameter;
- the bug had appeared in 0.8.25.
- </para>
- </change>
- </changes>
- <changes ver="0.8.27" date="2009-11-17">
- <change type="bugfix">
- <para lang="ru">
- регулярные выражения не работали в nginx/Windows;
- ошибка появилась в 0.8.25.
- </para>
- <para lang="en">
- regular expressions did not work in nginx/Windows;
- the bug had appeared in 0.8.25.
- </para>
- </change>
- </changes>
- <changes ver="0.8.26" date="2009-11-16">
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании выделений в директиве rewrite;
- ошибка появилась в 0.8.25.
- </para>
- <para lang="en">
- in captures usage in "rewrite" directive;
- the bug had appeared in 0.8.25.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без параметра --with-debug;
- ошибка появилась в 0.8.25.
- </para>
- <para lang="en">
- nginx could not be built without the --with-debug option;
- the bug had appeared in 0.8.25.
- </para>
- </change>
- </changes>
- <changes ver="0.8.25" date="2009-11-16">
- <change type="change">
- <para lang="ru">
- теперь в лог ошибок не пишется сообщение, если переменная не найдена
- с помощью метода $r->variable().
- </para>
- <para lang="en">
- now no message is written in an error log if a variable is not found by
- $r->variable() method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_degradation_module.
- </para>
- <para lang="en">
- the ngx_http_degradation_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- именованные выделения в регулярных выражениях.
- </para>
- <para lang="en">
- regular expression named captures.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при использовании переменных в директиве proxy_pass не требуется
- задавать URI.
- </para>
- <para lang="en">
- now URI part is not required a "proxy_pass" directive if variables are used.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директива msie_padding работает и для Chrome.
- </para>
- <para lang="en">
- now the "msie_padding" directive works for Chrome too.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе происходил segmentation fault при недостатке памяти;
- ошибка появилась в 0.8.18.
- </para>
- <para lang="en">
- a segmentation fault occurred in a worker process on low memory condition;
- the bug had appeared in 0.8.18.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx передавал сжатые ответы клиентам, не поддерживающим сжатие,
- при настройках gzip_static on и gzip_vary off;
- ошибка появилась в 0.8.16.
- </para>
- <para lang="en">
- nginx sent gzipped responses to clients those do not support gzip,
- if "gzip_static on" and "gzip_vary off";
- the bug had appeared in 0.8.16.
- </para>
- </change>
- </changes>
- <changes ver="0.8.24" date="2009-11-11">
- <change type="bugfix">
- <para lang="ru">
- nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок
- 304-ых ответов модуля ngx_http_gzip_static_module.
- </para>
- <para lang="en">
- nginx always added "Content-Encoding: gzip" response header line
- in 304 responses sent by ngx_http_gzip_static_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без параметра --with-debug;
- ошибка появилась в 0.8.23.
- </para>
- <para lang="en">
- nginx could not be built without the --with-debug option;
- the bug had appeared in 0.8.23.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр "unix:" в директиве set_real_ip_from неправильно наследовался
- с предыдущего уровня.
- </para>
- <para lang="en">
- the "unix:" parameter of the "set_real_ip_from" directive inherited
- incorrectly from previous level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в resolver'е при определении пустого имени.
- </para>
- <para lang="en">
- in resolving empty name.
- </para>
- </change>
- </changes>
- <changes ver="0.8.23" date="2009-11-11">
- <change type="security">
- <para lang="ru">
- теперь SSL/TLS renegotiation запрещён.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now SSL/TLS renegotiation is disabled.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- listen unix domain сокет не наследовался во время обновления без перерыва.
- </para>
- <para lang="en">
- listen unix domain socket did not inherit while online upgrade.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр "unix:" в директиве set_real_ip_from не работал без ещё
- одной директивы с любым IP-адресом.
- </para>
- <para lang="en">
- the "unix:" parameter of the "set_real_ip_from" directive did not without
- yet another directive with any IP address.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- segmentation fault и зацикливания в resolver'е.
- </para>
- <para lang="en">
- segmentation fault and infinite looping in resolver.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в resolver'е.<br/>
- Спасибо Артёму Бохану.
- </para>
- <para lang="en">
- in resolver.<br/>
- Thanks to Artem Bokhan.
- </para>
- </change>
- </changes>
- <changes ver="0.8.22" date="2009-11-03">
- <change type="feature">
- <para lang="ru">
- директивы proxy_bind, fastcgi_bind и memcached_bind.
- </para>
- <para lang="en">
- the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы access и deny поддерживают IPv6.
- </para>
- <para lang="en">
- the "access" and the "deny" directives support IPv6.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса.
- </para>
- <para lang="en">
- the "set_real_ip_from" directive supports IPv6 addresses in request headers.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр "unix:" в директиве set_real_ip_from.
- </para>
- <para lang="en">
- the "unix:" parameter of the "set_real_ip_from" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не удалял unix domain сокет после тестирования конфигурации.
- </para>
- <para lang="en">
- nginx did not delete unix domain socket after configuration testing.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx удалял unix domain сокет во время обновления без перерыва.
- </para>
- <para lang="en">
- nginx deleted unix domain socket while online upgrade.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- оператор "!-x" не работал.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the "!-x" operator did not work.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault
- при использовании limit_rate в HTTPS сервере.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- if limit_rate was used in HTTPS server.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при записи в лог переменной $limit_rate
- в рабочем процессе происходил segmentation fault.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process
- while $limit_rate logging.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если внутри блока server не было директивы listen;
- ошибка появилась в 0.8.21.
- </para>
- <para lang="en">
- a segmentation fault might occur in a worker process,
- if there was no "listen" directive in "server" block;
- the bug had appeared in 0.8.21.
- </para>
- </change>
- </changes>
- <changes ver="0.8.21" date="2009-10-26">
- <change type="feature">
- <para lang="ru">
- теперь ключ -V показывает статус поддержки TLS SNI.
- </para>
- <para lang="en">
- now the "-V" switch shows TLS SNI support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива listen модуля HTTP поддерживает unix domain сокеты.<br/>
- Спасибо Hongli Lai.
- </para>
- <para lang="en">
- the "listen" directive of the HTTP module supports unix domain sockets.<br/>
- Thanks to Hongli Lai.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр "default_server" в директиве listen.
- </para>
- <para lang="en">
- the "default_server" parameter of the "listen" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь параметр "default" не обязателен для установки параметров listen-сокета.
- </para>
- <para lang="en">
- now a "default" parameter is not required to set listen socket options.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал даты в 2038 году на 32-битных платформах;
- </para>
- <para lang="en">
- nginx did not support dates in 2038 year on 32-bit platforms;
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- socket leak;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.20" date="2009-10-14">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5".
- </para>
- <para lang="en">
- now default SSL ciphers are "HIGH:!ADH:!MD5".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module не показывал последний слэш для линков
- на каталоги;
- ошибка появилась в 0.7.15.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not show the trailing slash in links to
- a directory;
- the bug had appeared in 0.7.15.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не закрывал лог, заданный параметром конфигурации --error-log-path;
- ошибка появилась в 0.7.53.
- </para>
- <para lang="en">
- nginx did not close a log file set by the --error-log-path configuration option;
- the bug had appeared in 0.7.53.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не считал запятую разделителем в строке "Cache-Control" в
- заголовке ответа бэкенда.
- </para>
- <para lang="en">
- nginx did not treat a comma as separator in the "Cache-Control" backend response
- header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows мог не создать временный файл, файл в кэше или файл
- с помощью директив proxy/fastcgi_store, если рабочий процесс не имел
- достаточно прав для работы с каталогами верхнего уровня.
- </para>
- <para lang="en">
- nginx/Windows might not create temporary file, a cache file, or
- "proxy/fastcgi_store"d file if a worker had no enough access rights
- for top level directories.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались
- при кэшировании, если не использовались директивы fastcgi_hide_header
- с любыми параметрами.
- </para>
- <para lang="en">
- the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden
- while caching if no "fastcgi_hide_header" directives were used with
- any parameters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx неверно считал размер кэша на диске.
- </para>
- <para lang="en">
- nginx counted incorrectly disk cache size.
- </para>
- </change>
- </changes>
- <changes ver="0.8.19" date="2009-10-06">
- <change type="change">
- <para lang="ru">
- теперь протокол SSLv2 по умолчанию запрещён.
- </para>
- <para lang="en">
- now SSLv2 protocol is disabled by default.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь по умолчанию используются следующие шифры SSL:
- "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
- </para>
- <para lang="en">
- now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива limit_req не работала;
- ошибка появилась в 0.8.18.
- </para>
- <para lang="en">
- a "limit_req" directive did not work;
- the bug had appeared in 0.8.18.
- </para>
- </change>
- </changes>
- <changes ver="0.8.18" date="2009-10-06">
- <change type="feature">
- <para lang="ru">
- директива read_ahead.
- </para>
- <para lang="en">
- the "read_ahead" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь можно использовать несколько директив perl_modules.
- </para>
- <para lang="en">
- now several "perl_modules" directives may be used.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы limit_req_log_level и limit_conn_log_level.
- </para>
- <para lang="en">
- the "limit_req_log_level" and "limit_conn_log_level" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь директива limit_req соответствует алгоритму leaky bucket.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на Linux/sparc.<br/>
- Спасибо Marcus Ramberg.
- </para>
- <para lang="en">
- nginx did not work on Linux/sparc.<br/>
- Thanks to Marcus Ramberg.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос
- MKCOL.<br/>
- Спасибо Xie Zhenye.
- </para>
- <para lang="en">
- nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
- Thanks to Xie Zhenye.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- вместо кода ответа 499 в лог записывался код 0;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- zero status code was logged instead of 499 status code;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- socket leak;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.17" date="2009-09-28">
- <change type="security">
- <para lang="ru">
- теперь символы "/../" запрещены в строке "Destination" в заголовке запроса.
- </para>
- <para lang="en">
- now "/../" are disabled in "Destination" request header line.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь значение переменной $host всегда в нижнем регистре.
- </para>
- <para lang="en">
- now $host variable value is always low case.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_session_id.
- </para>
- <para lang="en">
- the $ssl_session_id variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- socket leak;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.16" date="2009-09-22">
- <change type="feature">
- <para lang="ru">
- директива image_filter_transparency.
- </para>
- <para lang="en">
- the "image_filter_transparency" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "addition_types" была неверно названа "addtion_types".
- </para>
- <para lang="en">
- "addition_types" directive was incorrectly named "addtion_types".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- порчи кэша resolver'а.<br/>
- Спасибо Matthew Dempsky.
- </para>
- <para lang="en">
- resolver cache poisoning.<br/>
- Thanks to Matthew Dempsky.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти в resolver'е.<br/>
- Спасибо Matthew Dempsky.
- </para>
- <para lang="en">
- memory leak in resolver.<br/>
- Thanks to Matthew Dempsky.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- неверная строка запроса в переменной $request записывалась в access_log
- только при использовании error_log на уровне info или debug.
- </para>
- <para lang="en">
- invalid request line in $request variable was written in access_log
- only if error_log was set to "info" or "debug" level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module.
- </para>
- <para lang="en">
- in PNG alpha-channel support in the ngx_http_image_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа,
- если обе директивы gzip_static и gzip_vary были включены.
- </para>
- <para lang="en">
- nginx always added "Vary: Accept-Encoding" response header line,
- if both "gzip_static" and "gzip_vary" were on.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в поддержке кодировки UTF-8 директивой try_files в nginx/Windows.
- </para>
- <para lang="en">
- in UTF-8 encoding support by "try_files" directive in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании post_action;
- ошибка появилась в 0.8.11.<br/>
- Спасибо Игорю Артемьеву.
- </para>
- <para lang="en">
- in "post_action" directive usage;
- the bug had appeared in 0.8.11.<br/>
- Thanks to Igor Artemiev.
- </para>
- </change>
- </changes>
- <changes ver="0.8.15" date="2009-09-14">
- <change type="security">
- <para lang="ru">
- при обработке специально созданного запроса
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Chris Ries.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- while specially crafted request handling.<br/>
- Thanks to Chris Ries.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld,
- то имя .sub.domain.tld попадало под маску .domain.tld.
- </para>
- <para lang="en">
- if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
- then the name .sub.domain.tld was matched by .domain.tld.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в поддержке прозрачности в модуле ngx_http_image_filter_module.
- </para>
- <para lang="en">
- in transparency support in the ngx_http_image_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в файловом AIO.
- </para>
- <para lang="en">
- in file AIO.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании X-Accel-Redirect;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- in X-Accel-Redirect usage;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании встроенного перла;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- in embedded perl module;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.14" date="2009-09-07">
- <change type="bugfix">
- <para lang="ru">
- устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING".
- </para>
- <para lang="en">
- an expired cached response might stick in the "UPDATING" state.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании error_log на уровне info или debug
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Сергею Боченкову.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if error_log was set to info or debug level.<br/>
- Thanks to Sergey Bochenkov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании встроенного перла;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- in embedded perl module;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page не перенаправляла ошибку 413;
- ошибка появилась в 0.6.10.
- </para>
- <para lang="en">
- an "error_page" directive did not redirect a 413 error;
- the bug had appeared in 0.6.10.
- </para>
- </change>
- </changes>
- <changes ver="0.8.13" date="2009-08-31">
- <change type="bugfix">
- <para lang="ru">
- в директиве "aio sendfile";
- ошибка появилась в 0.8.12.
- </para>
- <para lang="en">
- in the "aio sendfile" directive;
- the bug had appeared in 0.8.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без параметра --with-file-aio на FreeBSD;
- ошибка появилась в 0.8.12.
- </para>
- <para lang="en">
- nginx could not be built without the --with-file-aio option on FreeBSD;
- the bug had appeared in 0.8.12.
- </para>
- </change>
- </changes>
- <changes ver="0.8.12" date="2009-08-31">
- <change type="feature">
- <para lang="ru">
- параметр sendfile в директиве aio во FreeBSD.
- </para>
- <para lang="en">
- the "sendfile" parameter in the "aio" directive on FreeBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании try_files;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- in try_files;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании memcached;
- ошибка появилась в 0.8.11.
- </para>
- <para lang="en">
- in memcached;
- the bug had appeared in 0.8.11.
- </para>
- </change>
- </changes>
- <changes ver="0.8.11" date="2009-08-28">
- <change type="change">
- <para lang="ru">
- теперь директива "gzip_disable msie6" не запрещает сжатие для
- <nobr>MSIE 6.0 SV1.</nobr>
- </para>
- <para lang="en">
- now directive "gzip_disable msie6" does not disable gzipping for
- <nobr>MSIE 6.0 SV1.</nobr>
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка файлового AIO во FreeBSD и Linux.
- </para>
- <para lang="en">
- file AIO support on FreeBSD and Linux.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива directio_alignment.
- </para>
- <para lang="en">
- the "directio_alignment" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.8.10" date="2009-08-24">
- <change type="bugfix">
- <para lang="ru">
- утечек памяти при использовании базы GeoIP City.
- </para>
- <para lang="en">
- memory leaks if GeoIP City database was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при копировании временных файлов в постоянное место хранения;
- ошибка появилась в 0.8.9.
- </para>
- <para lang="en">
- in copying temporary files to permanent storage area;
- the bug had appeared in 0.8.9.
- </para>
- </change>
- </changes>
- <changes ver="0.8.9" date="2009-08-17">
- <change type="feature">
- <para lang="ru">
- теперь стартовый загрузчик кэша работает в отдельном процесс;
- это должно улучшить обработку больших кэшей.
- </para>
- <para lang="en">
- now the start cache loader runs in a separate process;
- this should improve large caches handling.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь временные файлы и постоянное место хранения могут располагаться
- на разных файловых системах.
- </para>
- <para lang="en">
- now temporary files and permanent storage area may reside at
- different file systems.
- </para>
- </change>
- </changes>
- <changes ver="0.8.8" date="2009-08-10">
- <change type="bugfix">
- <para lang="ru">
- в обработке заголовков ответа, разделённых в FastCGI-записях.
- </para>
- <para lang="en">
- in handling FastCGI headers split in records.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если запрос обрабатывался в двух проксированных или FastCGI location'ах
- и в первом из них использовалось кэширование,
- то в рабочем процессе происходил segmentation fault;
- ошибка появилась в 0.8.7.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if a request was handled in two proxied or FastCGIed locations
- and a caching was enabled in the first location;
- the bug had appeared in 0.8.7.
- </para>
- </change>
- </changes>
- <changes ver="0.8.7" date="2009-07-27">
- <change type="change">
- <para lang="ru">
- минимальная поддерживаемая версия OpenSSL—0.9.7.
- </para>
- <para lang="en">
- minimum supported OpenSSL version is 0.9.7.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметр ask директивы ssl_verify_client изменён на параметр optional
- и теперь он проверяет клиентский сертификат, если он был предложен.<br/>
- Спасибо Brice Figureau.
- </para>
- <para lang="en">
- the "ask" parameter of the "ssl_verify_client" directive was changed
- to the "optional" parameter and now it checks a client certificate if it was
- offered.<br/>
- Thanks to Brice Figureau.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_client_verify.<br/>
- Спасибо Brice Figureau.
- </para>
- <para lang="en">
- the $ssl_client_verify variable.<br/>
- Thanks to Brice Figureau.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_crl.<br/>
- Спасибо Brice Figureau.
- </para>
- <para lang="en">
- the "ssl_crl" directive.<br/>
- Thanks to Brice Figureau.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр proxy директивы geo.
- </para>
- <para lang="en">
- the "proxy" parameter of the "geo" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива image_filter поддерживает переменные для задания размеров.
- </para>
- <para lang="en">
- the "image_filter" directive supports variables for setting size.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- использование переменной $ssl_client_cert портило память;
- ошибка появилась в 0.7.7.<br/>
- Спасибо Сергею Журавлёву.
- </para>
- <para lang="en">
- the $ssl_client_cert variable usage corrupted memory;
- the bug had appeared in 0.7.7.<br/>
- Thanks to Sergey Zhuravlev.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту
- строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и
- "X-Accel-Charset" из заголовка ответа бэкенда.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
- a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
- and "X-Accel-Charset" lines from backend response header.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда;
- ошибка появилась в 0.7.44.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
- the bug had appeared in 0.7.44.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах;
- ошибка появилась в 0.8.5.
- </para>
- <para lang="en">
- the "[alert] zero size buf" error if subrequest returns an empty response;
- the bug had appeared in 0.8.5.
- </para>
- </change>
- </changes>
- <changes ver="0.8.6" date="2009-07-20">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_geoip_module.
- </para>
- <para lang="en">
- the ngx_http_geoip_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- XSLT-фильтр мог выдавать ошибку "not well formed XML document" для
- правильного документа.<br/>
- Спасибо Kuramoto Eiji.
- </para>
- <para lang="en">
- XSLT filter may fail with message "not well formed XML document"
- for valid XML document.<br/>
- Thanks to Kuramoto Eiji.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных
- регулярным выражением, теперь всегда делается сравнение без учёта
- регистра символов.
- </para>
- <para lang="en">
- now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
- expression are always tested in case insensitive mode.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx/Windows игнорирует точки в конце URI.<br/>
- Спасибо Hugo Leisink.
- </para>
- <para lang="en">
- now nginx/Windows ignores trailing dots in URI.<br/>
- Thanks to Hugo Leisink.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- имя файла указанного в --conf-path игнорировалось при установке;
- ошибка появилась в 0.6.6.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- name of file specified in --conf-path was not honored during installation;
- the bug had appeared in 0.6.6.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.5" date="2009-07-13">
- <change type="bugfix">
- <para lang="ru">
- теперь nginx разрешает подчёркивания в методе запроса.
- </para>
- <para lang="en">
- now nginx allows underscores in a request method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTP Basic-аутентификации на Windows
- для неверных имени/пароля возвращалась 500-ая ошибка.
- </para>
- <para lang="en">
- a 500 error code was returned for invalid login/password while HTTP
- Basic authentication on Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы модуля ngx_http_perl_module не работали в подзапросах.
- </para>
- <para lang="en">
- ngx_http_perl_module responses did not work in subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_limit_req_module.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in ngx_http_limit_req_module.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.8.4" date="2009-06-22">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http-cache;
- ошибка появилась в 0.8.3.
- </para>
- <para lang="en">
- nginx could not be built --without-http-cache;
- the bug had appeared in 0.8.3.
- </para>
- </change>
- </changes>
- <changes ver="0.8.3" date="2009-06-19">
- <change type="feature">
- <para lang="ru">
- переменная $upstream_cache_status.
- </para>
- <para lang="en">
- the $upstream_cache_status variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на MacOSX 10.6.
- </para>
- <para lang="en">
- nginx could not be built on MacOSX 10.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http-cache;
- ошибка появилась в 0.8.2.
- </para>
- <para lang="en">
- nginx could not be built --without-http-cache;
- the bug had appeared in 0.8.2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовался перехват 401 ошибки от бэкенда и бэкенд
- не возвращал строку "WWW-Authenticate" в заголовке ответа,
- то в рабочем процессе происходил segmentation fault.<br/>
- Спасибо Евгению Мычло.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if a backend 401 error was intercepted and the backend did not set
- the "WWW-Authenticate" response header line.<br/>
- Thanks to Eugene Mychlo.
- </para>
- </change>
- </changes>
- <changes ver="0.8.2" date="2009-06-15">
- <change type="bugfix">
- <para lang="ru">
- во взаимодействии open_file_cache и proxy/fastcgi кэша на старте.
- </para>
- <para lang="en">
- in open_file_cache and proxy/fastcgi cache interaction on start up.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- open_file_cache мог кэшировать открытые файлы очень долго;
- ошибка появилась в 0.7.4.
- </para>
- <para lang="en">
- open_file_cache might cache open file descriptors too long;
- the bug had appeared in 0.7.4.
- </para>
- </change>
- </changes>
- <changes ver="0.8.1" date="2009-06-08">
- <change type="feature">
- <para lang="ru">
- параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale.
- </para>
- <para lang="en">
- the "updating" parameter in "proxy_cache_use_stale" and
- "fastcgi_cache_use_stale" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса
- клиента передавались бэкенду при кэшировании, если не использовалась
- директива proxy_set_header с любыми параметрами.
- </para>
- <para lang="en">
- the "If-Modified-Since", "If-Range", etc. client request header lines
- were passed to backend while caching if no "proxy_set_header" directive
- was used with any parameters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались
- при кэшировании, если не использовались директивы
- proxy_hide_header/fastcgi_hide_header с любыми параметрами.
- </para>
- <para lang="en">
- the "Set-Cookie" and "P3P" response header lines were not hidden while caching
- if no "proxy_hide_header/fastcgi_hide_header" directives were used with
- any parameters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/>
- Спасибо Денису Ильиных.
- </para>
- <para lang="en">
- the ngx_http_image_filter_module did not support GIF87a format.<br/>
- Thanks to Denis Ilyinyh.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris 10 и более ранних;
- ошибка появилась в 0.7.56.
- </para>
- <para lang="en">
- nginx could not be built modules on Solaris 10 and early;
- the bug had appeared in 0.7.56.
- </para>
- </change>
- </changes>
- <changes ver="0.8.0" date="2009-06-02">
- <change type="feature">
- <para lang="ru">
- директива keepalive_requests.
- </para>
- <para lang="en">
- the "keepalive_requests" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива limit_rate_after.<br/>
- Спасибо Ivan Debnar.
- </para>
- <para lang="en">
- the "limit_rate_after" directive.<br/>
- Thanks to Ivan Debnar.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- XSLT-фильтр не работал в подзапросах.
- </para>
- <para lang="en">
- XLST filter did not work in subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- обработке относительных путей в nginx/Windows.
- </para>
- <para lang="en">
- in relative paths handling in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows.
- </para>
- <para lang="en">
- in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке ошибок выделения памяти.<br/>
- Спасибо Максиму Дунину и Кириллу Коринскому.
- </para>
- <para lang="en">
- in memory allocation error handling.<br/>
- Thanks to Maxim Dounin and Kirill A. Korinskiy.
- </para>
- </change>
- </changes>
- <changes ver="0.7.59" date="2009-05-25">
- <change type="feature">
- <para lang="ru">
- директивы proxy_cache_methods и fastcgi_cache_methods.
- </para>
- <para lang="en">
- the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов;
- ошибка появилась в 0.7.25.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- socket leak;
- the bug had appeared in 0.7.25.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменной $request_body
- в рабочем процессе происходил segmentation fault,
- если в запросе не было тела;
- ошибка появилась в 0.7.58.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- <nobr>if a request</nobr> had no body and the $request_body
- variable was used;<br/>
- the bug had appeared in 0.7.58.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSL-модули могли не собираться на Solaris и Linux;
- ошибка появилась в 0.7.56.
- </para>
- <para lang="en">
- the SSL modules might not built on Solaris and Linux;<br/>
- the bug had appeared in 0.7.56.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы модуля ngx_http_xslt_filter_module не обрабатывались
- SSI-, charset- и gzip-фильтрами.
- </para>
- <para lang="en">
- ngx_http_xslt_filter_module responses were not handled by SSI, charset,
- and gzip filters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива charset не ставила кодировку для ответов модуля
- ngx_http_gzip_static_module.
- </para>
- <para lang="en">
- a "charset" directive did not set a charset to ngx_http_gzip_static_module
- responses.
- </para>
- </change>
- </changes>
- <changes ver="0.7.58" date="2009-05-18">
- <change type="feature">
- <para lang="ru">
- директива listen почтового прокси-сервера поддерживает IPv6.
- </para>
- <para lang="en">
- a "listen" directive of the mail proxy module supports IPv6.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива image_filter_jpeg_quality.
- </para>
- <para lang="en">
- the "image_filter_jpeg_quality" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива client_body_in_single_buffer.
- </para>
- <para lang="en">
- the "client_body_in_single_buffer" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $request_body.
- </para>
- <para lang="en">
- the $request_body variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_autoindex_module в ссылках на имена файлов,
- содержащих символ ":".
- </para>
- <para lang="en">
- in ngx_http_autoindex_module in file name links
- having a ":" symbol in the name.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- процедура "make upgrade" не работала;
- ошибка появилась в 0.7.53.<br/>
- Спасибо Денису Латыпову.
- </para>
- <para lang="en">
- "make upgrade" procedure did not work;
- the bug had appeared in 0.7.53.<br/>
- Thanks to Denis F. Latypoff.
- </para>
- </change>
- </changes>
- <changes ver="0.7.57" date="2009-05-12">
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении ошибок модуля ngx_http_image_filter_module
- в именованный location в рабочем процессе происходил floating-point fault;
- ошибка появилась в 0.7.56.
- </para>
- <para lang="en">
- a floating-point fault occurred in worker process,
- if the ngx_http_image_filter_module errors were redirected to named location;
- the bug had appeared in 0.7.56.
- </para>
- </change>
- </changes>
- <changes ver="0.7.56" date="2009-05-11">
- <change type="feature">
- <para lang="ru">
- nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP.
- </para>
- <para lang="en">
- nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_image_filter_module.
- </para>
- <para lang="en">
- in ngx_http_image_filter_module.
- </para>
- </change>
- </changes>
- <changes ver="0.7.55" date="2009-05-06">
- <change type="bugfix">
- <para lang="ru">
- параметры http_XXX в директивах proxy_cache_use_stale
- и fastcgi_cache_use_stale не работали.
- </para>
- <para lang="en">
- the http_XXX parameters in "proxy_cache_use_stale" and
- "fastcgi_cache_use_stale" directives did not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- fastcgi кэш не кэшировал ответы, состоящие только из заголовка.
- </para>
- <para lang="en">
- fastcgi cache did not cache header only responses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix
- и "select() failed (10038: ...)" в nginx/Windows.
- </para>
- <para lang="en">
- of "select() failed (9: Bad file descriptor)" error in nginx/Unix
- and "select() failed (10038: ...)" error in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы debug_connection
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.7.54.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if an "debug_connection" directive was used;
- the bug had appeared in 0.7.54.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в сборке модуля ngx_http_image_filter_module.
- </para>
- <para lang="en">
- fix ngx_http_image_filter_module building errors.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- файлы больше 2G не передавались с использованием $r->sendfile.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the files bigger than 2G could not be transferred using $r->sendfile.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.7.54" date="2009-05-01">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_image_filter_module.
- </para>
- <para lang="en">
- the ngx_http_image_filter_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_ignore_headers и fastcgi_ignore_headers.
- </para>
- <para lang="en">
- the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменных "open_file_cache_errors on"
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.7.53.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if an "open_file_cache_errors off" directive was used;
- the bug had appeared in 0.7.53.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "port_in_redirect off" не работала;
- ошибка появилась в 0.7.39.
- </para>
- <para lang="en">
- the "port_in_redirect off" directive did not work;
- the bug had appeared in 0.7.39.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- улучшение обработки ошибок метода select.
- </para>
- <para lang="en">
- improve handling of "select" method errors.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "select() failed (10022: ...)" в nginx/Windows.
- </para>
- <para lang="en">
- of "select() failed (10022: ...)" error in nginx/Windows.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в текстовых сообщениях об ошибках в nginx/Windows;
- ошибка появилась в 0.7.53.
- </para>
- <para lang="en">
- in error text descriptions in nginx/Windows;
- the bug had appeared in 0.7.53.
- </para>
- </change>
- </changes>
- <changes ver="0.7.53" date="2009-04-27">
- <change type="change">
- <para lang="ru">
- теперь лог, указанный в --error-log-path, создаётся с самого начала работы.
- </para>
- <para lang="en">
- now a log set by --error-log-path is created from the very start-up.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь ошибки и предупреждения при старте записываются в error_log
- и выводятся на stderr.
- </para>
- <para lang="en">
- now the start up errors and warnings are outputted to an error_log and stderr.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- при сборке с пустым параметром --prefix= nginx использует как префикс каталог,
- в котором он был запущен.
- </para>
- <para lang="en">
- the empty --prefix= configure parameter forces nginx to use a directory
- where it was run as prefix.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -p.
- </para>
- <para lang="en">
- the -p switch.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -s на Unix-платформах.
- </para>
- <para lang="en">
- the -s switch on Unix platforms.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключи -? и -h.<br/>
- Спасибо Jerome Loyet.
- </para>
- <para lang="en">
- the -? and -h switches.<br/>
- Thanks to Jerome Loyet.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь ключи можно задавать в сжатой форме.
- </para>
- <para lang="en">
- now switches may be set in condensed form.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx/Windows не работал, если файл конфигурации был задан ключом -c.
- </para>
- <para lang="en">
- nginx/Windows did not work if configuration file was given by the -c switch.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директив proxy_store, fastcgi_store,
- proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- temporary files might be not removed if the "proxy_store", "fastcgi_store",
- "proxy_cache", or "fastcgi_cache" were used.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в заголовке Auth-Method запроса серверу аутентификации почтового
- прокси-сервера передавалось неверное значение;
- ошибка появилась в 0.7.34.<br/>
- Спасибо Simon Lecaille.
- </para>
- <para lang="en">
- an incorrect value was passed to mail proxy authentication server
- in "Auth-Method" header line;
- the bug had appeared<br/>
- in 0.7.34.<br/>
- Thanks to Simon Lecaille.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при логгировании на Linux не писались текстовые описания системных ошибок;
- ошибка появилась в 0.7.45.
- </para>
- <para lang="en">
- system error text descriptions were not logged on Linux;<br/>
- the bug had appeared in 0.7.45.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива fastcgi_cache_min_uses не работала.<br/>
- Спасибо Андрею Воробьёву.
- </para>
- <para lang="en">
- the "fastcgi_cache_min_uses" directive did not work.<br/>
- Thanks to Andrew Vorobyoff.
- </para>
- </change>
- </changes>
- <changes ver="0.7.52" date="2009-04-20">
- <change type="feature">
- <para lang="ru">
- первая бинарная версия под Windows.
- </para>
- <para lang="en">
- the first native Windows binary release.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- корректная обработка метода HEAD при кэшировании.
- </para>
- <para lang="en">
- in processing HEAD method while caching.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- корректная обработка строк "If-Modified-Since", "If-Range" и им подобных
- в заголовке запроса клиента при кэшировании.
- </para>
- <para lang="en">
- in processing the "If-Modified-Since", "If-Range", etc. client request
- header lines while caching.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа
- для закэшированных ответов.
- </para>
- <para lang="en">
- now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с модулем ngx_http_perl_module и perl
- поддерживал потоки, то при выходе основного процесса
- могла выдаваться ошибка "panic: MUTEX_LOCK".
- </para>
- <para lang="en">
- if nginx was built with the ngx_http_perl_module and with a perl which
- supports threads, then during a master process exit
- the message "panic: MUTEX_LOCK" might be issued.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http-cache;
- ошибка появилась в 0.7.48.
- </para>
- <para lang="en">
- nginx could not be built --without-http-cache;
- the bug had appeared in 0.7.48.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
- ошибка появилась в 0.7.42.
- </para>
- <para lang="en">
- nginx could not be built on platforms different from i386, amd64, sparc,
- and ppc;
- the bug had appeared in 0.7.42.
- </para>
- </change>
- </changes>
- <changes ver="0.7.51" date="2009-04-12">
- <change type="feature">
- <para lang="ru">
- директива try_files поддерживает код ответа в последнем параметре.
- </para>
- <para lang="en">
- the "try_files" directive supports a response code in the fallback parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь в директиве return можно использовать любой код ответа.
- </para>
- <para lang="en">
- now any response code can be used in the "return" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page делала внешний редирект без строки запроса;
- ошибка появилась в 0.7.44.
- </para>
- <para lang="en">
- the "error_page" directive made an external redirect without query string;
- the bug had appeared in 0.7.44.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если сервера слушали на нескольких явно описанных адресах,
- то виртуальные сервера могли не работать;
- ошибка появилась в 0.7.39.
- </para>
- <para lang="en">
- if servers listened on several defined explicitly addresses,
- then virtual servers might not work;
- the bug had appeared in 0.7.39.
- </para>
- </change>
- </changes>
- <changes ver="0.7.50" date="2009-04-06">
- <change type="bugfix">
- <para lang="ru">
- переменные $arg_... не работали;
- ошибка появилась в 0.7.49.
- </para>
- <para lang="en">
- the $arg_... variables did not work;
- the bug had appeared in 0.7.49.
- </para>
- </change>
- </changes>
- <changes ver="0.7.49" date="2009-04-06">
- <change type="bugfix">
- <para lang="ru">
- при использовании переменных $arg_...
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.7.48.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if the $arg_... variables were used;
- the bug had appeared in 0.7.48.
- </para>
- </change>
- </changes>
- <changes ver="0.7.48" date="2009-04-06">
- <change type="feature">
- <para lang="ru">
- директива proxy_cache_key.
- </para>
- <para lang="en">
- the "proxy_cache_key" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx учитывает при кэшировании строки "X-Accel-Expires",
- "Expires" и "Cache-Control" в заголовке ответа бэкенда.
- </para>
- <para lang="en">
- now nginx takes into account the "X-Accel-Expires", "Expires", and
- "Cache-Control" header lines in a backend response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx кэширует только ответы на запросы GET.
- </para>
- <para lang="en">
- now nginx caches responses for the GET requests only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива fastcgi_cache_key не наследовалась.
- </para>
- <para lang="en">
- the "fastcgi_cache_key" directive was not inherited.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные $arg_... не работали с SSI-подзапросами.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the $arg_... variables did not work with SSI subrequests.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с библиотекой uclibc.<br/>
- Спасибо Timothy Redaelli.
- </para>
- <para lang="en">
- nginx could not be built with uclibc library.<br/>
- Thanks to Timothy Redaelli.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на OpenBSD;
- ошибка появилась <nobr>в 0.7.46.</nobr>
- </para>
- <para lang="en">
- nginx could not be built on OpenBSD;
- the bug had <nobr>appeared in 0.7.46.</nobr>
- </para>
- </change>
- </changes>
- <changes ver="0.7.47" date="2009-04-01">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на FreeBSD 6 и более ранних версиях;
- ошибка появилась в 0.7.46.
- </para>
- <para lang="en">
- nginx could not be built on FreeBSD 6 and early versions;
- the bug had appeared in 0.7.46.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на MacOSX;
- ошибка появилась в 0.7.46.
- </para>
- <para lang="en">
- nginx could not be built on MacOSX;
- the bug had <nobr>appeared in 0.7.46.</nobr>
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовался параметр max_size, то cache manager мог удалить весь кэш;
- ошибка появилась в 0.7.46.
- </para>
- <para lang="en">
- if the "max_size" parameter was set, then the cache manager might purge
- a whole cache;
- the bug had appeared in 0.7.46.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если директивы proxy_cache/fastcgi_cache
- и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне;
- ошибка появилась в 0.7.46.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if the "proxy_cache"/"fastcgi_cache" and
- the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
- the bug had appeared in 0.7.46.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault
- при перенаправлении запроса проксированному или FastCGI-серверу
- с помощью error_page или try_files;
- ошибка появилась в 0.7.44.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if a request was redirected to a proxied or FastCGI server via
- error_page or try_files;
- the bug had appeared in 0.7.44.
- </para>
- </change>
- </changes>
- <changes ver="0.7.46" date="2009-03-30">
- <change type="bugfix">
- <para lang="ru">
- архив предыдущего релиза был неверным.
- </para>
- <para lang="en">
- the previous release tarball was incorrect.
- </para>
- </change>
- </changes>
- <changes ver="0.7.45" date="2009-03-30">
- <change type="change">
- <para lang="ru">
- теперь директивы proxy_cache и proxy_cache_valid можно задавать
- на разных уровнях.
- </para>
- <para lang="en">
- now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
- different levels.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметр clean_time в директиве proxy_cache_path удалён.
- </para>
- <para lang="en">
- the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр max_size в директиве proxy_cache_path.
- </para>
- <para lang="en">
- the "max_size" parameter of the "proxy_cache_path" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- предварительная поддержка кэширования в модуле ngx_http_fastcgi_module.
- </para>
- <para lang="en">
- the ngx_http_fastcgi_module preliminary cache support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при ошибках выделения в разделяемой памяти в логе указываются
- названия директивы и зоны.
- </para>
- <para lang="en">
- now on shared memory allocation errors directive and zone names are logged.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "add_header last-modified ''" не удаляла в заголовке ответа
- строку "Last-Modified";
- ошибка появилась в 0.7.44.
- </para>
- <para lang="en">
- the directive "add_header last-modified ''" did not delete a "Last-Modified"
- response header line;
- the bug had appeared in 0.7.44.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве auth_basic_user_file не работал относительный путь,
- заданный строкой без переменных;
- ошибка появилась в 0.7.44.<br/>
- Спасибо Jerome Loyet.
- </para>
- <para lang="en">
- a relative path in the "auth_basic_user_file" directive given without variables
- did not work;
- the bug had appeared in 0.7.44.<br/>
- Thanks to Jerome Loyet.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве alias, заданной переменными
- без ссылок на выделения в регулярных выражениях;
- ошибка появилась в 0.7.42.
- </para>
- <para lang="en">
- in an "alias" directive given using variables
- without references to captures of regular expressions;
- the bug had appeared in 0.7.42.
- </para>
- </change>
- </changes>
- <changes ver="0.7.44" date="2009-03-23">
- <change type="feature">
- <para lang="ru">
- предварительная поддержка кэширования в модуле ngx_http_proxy_module.
- </para>
- <para lang="en">
- the ngx_http_proxy_module preliminary cache support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр --with-pcre в configure.
- </para>
- <para lang="en">
- the --with-pcre option in the configure.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директива try_files может быть использована на уровне server.
- </para>
- <para lang="en">
- the "try_files" directive is now allowed on the server block level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива try_files неправильно обрабатывала строку запроса в последнем
- параметре.
- </para>
- <para lang="en">
- the "try_files" directive handled incorrectly a query string
- in a fallback parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива try_files могла неверно тестировать каталоги.
- </para>
- <para lang="en">
- the "try_files" directive might test incorrectly directories.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если для пары адрес:порт описан только один сервер, то выделения
- в регулярных выражениях в директиве server_name не работали.
- </para>
- <para lang="en">
- if there was a single server for given address:port pair,
- then captures in regular expressions in a "server_name" directive did not work.
- </para>
- </change>
- </changes>
- <changes ver="0.7.43" date="2009-03-18">
- <change type="bugfix">
- <para lang="ru">
- запрос обрабатывался неверно, если директива root использовала переменные;
- ошибка появилась в 0.7.42.
- </para>
- <para lang="en">
- a request was handled incorrectly, if a "root" directive used variables;
- the bug had appeared in 0.7.42.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если сервер слушал на адресах типа "*", то значение переменной $server_addr
- было "0.0.0.0";
- ошибка появилась в 0.7.36.
- </para>
- <para lang="en">
- if a server listened on wildcard address, then the $server_addr variable
- value was "0.0.0.0";
- the bug had appeared in 0.7.36.
- </para>
- </change>
- </changes>
- <changes ver="0.7.42" date="2009-03-16">
- <change type="change">
- <para lang="ru">
- ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris,
- теперь игнорируется.
- </para>
- <para lang="en">
- now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
- is ignored.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- при отсутствии файла, указанного в директиве auth_basic_user_file,
- теперь возвращается ошибка 403 вместо 500.
- </para>
- <para lang="en">
- now if a file specified in a "auth_basic_user_file" directive is absent,
- then the 403 error is returned instead of the 500 one.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива auth_basic_user_file поддерживает переменные.
- <br/>
- Спасибо Кириллу Коринскому.
- </para>
- <para lang="en">
- the "auth_basic_user_file" directive supports variables.<br/>
- Thanks to Kirill A. Korinskiy.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива listen поддерживает параметр ipv6only.<br/>
- Спасибо Zhang Hua.
- </para>
- <para lang="en">
- the "listen" directive supports the "ipv6only" parameter.
- <br/>
- Thanks to Zhang Hua.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве alias со ссылками на выделения в регулярных выражениях;
- ошибка появилась в 0.7.40.
- </para>
- <para lang="en">
- in an "alias" directive with references to captures of regular expressions;
- the bug had appeared in 0.7.40.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с Tru64 UNIX.<br/>
- Спасибо Dustin Marquess.
- </para>
- <para lang="en">
- compatibility with Tru64 UNIX.<br/>
- Thanks to Dustin Marquess.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без библиотеки PCRE;
- ошибка появилась в 0.7.41.
- </para>
- <para lang="en">
- nginx could not be built without PCRE library;
- the bug had appeared in 0.7.41.
- </para>
- </change>
- </changes>
- <changes ver="0.7.41" date="2009-03-11">
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если в server_name или location были выделения в регулярных выражениях;
- ошибка появилась в 0.7.40.<br/>
- Спасибо Владимиру Сопоту.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if a "server_name" or a "location" directives had captures
- in regular expressions;
- the issue had appeared in 0.7.40.<br/>
- Thanks to Vladimir Sopot.
- </para>
- </change>
- </changes>
- <changes ver="0.7.40" date="2009-03-09">
- <change type="feature">
- <para lang="ru">
- директива location поддерживает выделения в регулярных выражениях.
- </para>
- <para lang="en">
- the "location" directive supports captures in regular expressions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директиву alias с ссылками на выделения в регулярных выражениях
- можно использовать внутри location'а, заданного регулярным выражением
- с выделениями.
- </para>
- <para lang="en">
- an "alias" directive with capture references may be used inside
- a location given by a regular expression with captures.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server_name поддерживает выделения в регулярных выражениях.
- </para>
- <para lang="en">
- the "server_name" directive supports captures in regular expressions.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- модуль ngx_http_autoindex_module не показывал последний слэш для каталогов
- на файловой системе XFS;
- ошибка появилась в 0.7.15.<br/>
- Спасибо Дмитрию Кузьменко.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not show the trailing slash in directories
- on XFS filesystem;
- the issue had appeared in 0.7.15.<br/>
- Thanks to Dmitry Kuzmenko.
- </para>
- </change>
- </changes>
- <changes ver="0.7.39" date="2009-03-02">
- <change type="bugfix">
- <para lang="ru">
- при включённом сжатии большие ответы с использованием SSI могли зависать;
- ошибка появилась в 0.7.28.<br/>
- Спасибо Артёму Бохану.
- </para>
- <para lang="en">
- large response with SSI might hang, if gzipping was enabled;
- the bug had appeared in 0.7.28.<br/>
- Thanks to Artem Bokhan.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании коротких статических вариантов в директиве try_files
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process,
- if short static variants are used in a "try_files" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.7.38" date="2009-02-23">
- <change type="feature">
- <para lang="ru">
- логгирование ошибок аутентификации.
- </para>
- <para lang="en">
- authentication failures logging.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного
- числа пустых строк.<br/>
- Спасибо Александру Загребину.
- </para>
- <para lang="en">
- name/password in auth_basic_user_file were ignored after odd number
- of empty lines.<br/>
- Thanks to Alexander Zagrebin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании длинного пути в unix domain сокете
- в главном процессе происходил segmentation fault;
- ошибка появилась в 0.7.36.
- </para>
- <para lang="en">
- a segmentation fault occurred in a master process,
- if long path was used in unix domain socket;
- the bug had appeared in 0.7.36.
- </para>
- </change>
- </changes>
- <changes ver="0.7.37" date="2009-02-21">
- <change type="bugfix">
- <para lang="ru">
- директивы, использующие upstream'ы, не работали;
- ошибка появилась в 0.7.36.
- </para>
- <para lang="en">
- directives using upstreams did not work;
- the bug had appeared in 0.7.36.
- </para>
- </change>
- </changes>
- <changes ver="0.7.36" date="2009-02-21">
- <change type="feature">
- <para lang="ru">
- предварительная поддержка IPv6;
- директива listen модуля HTTP поддерживает IPv6.
- </para>
- <para lang="en">
- a preliminary IPv6 support;
- the "listen" directive of the HTTP module supports IPv6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $ancient_browser не работала для браузеров, заданных
- директивами modern_browser.
- </para>
- <para lang="en">
- the $ancient_browser variable did not work for browsers
- preset by a "modern_browser" directives.
- </para>
- </change>
- </changes>
- <changes ver="0.7.35" date="2009-02-16">
- <change type="bugfix">
- <para lang="ru">
- директива ssl_engine не использовала SSL-акселератор
- для асимметричных шифров.<br/>
- Спасибо Marcin Gozdalik.
- </para>
- <para lang="en">
- a "ssl_engine" directive did not use a SSL-accelerator
- for asymmetric ciphers.<br/>
- Thanks to Marcin Gozdalik.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива try_files выставляла MIME-type, исходя из расширения
- первоначального запроса.
- </para>
- <para lang="en">
- a "try_files" directive set MIME type depending on an
- original request extension.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директивах server_name, valid_referers и map
- неправильно обрабатывались имена вида "*domain.tld",
- если использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
- ошибка появилась в 0.7.9.
- </para>
- <para lang="en">
- "*domain.tld" names were handled incorrectly in
- "server_name", "valid_referers", and "map" directives,
- if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
- <nobr>the bug had</nobr> appeared in 0.7.9.
- </para>
- </change>
- </changes>
- <changes ver="0.7.34" date="2009-02-10">
- <change type="feature">
- <para lang="ru">
- параметр off в директиве if_modified_since.
- </para>
- <para lang="en">
- the "off" parameter of the "if_modified_since" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка Microsoft-специфичного режима
- <nobr>"AUTH LOGIN with User Name"</nobr>
- в почтовом прокси-сервере.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- Microsoft specific "AUTH LOGIN with User Name" mode support
- in mail proxy server.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве rewrite, возвращающей редирект, старые аргументы присоединялись
- к новым через символ "?" вместо "&";<br/>
- ошибка появилась в 0.1.18.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in a redirect rewrite directive original arguments were concatenated with
- new arguments by a "?" rather than an "&";<br/>
- the bug had appeared in 0.1.18.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на AIX.
- </para>
- <para lang="en">
- nginx could not be built on AIX.
- </para>
- </change>
- </changes>
- <changes ver="0.7.33" date="2009-02-02">
- <change type="bugfix">
- <para lang="ru">
- если на запрос с телом возвращался редирект, то ответ мог быть двойным
- при использовании методов epoll или rtsig.<br/>
- Спасибо Eden Li.
- </para>
- <para lang="en">
- a double response might be returned if the epoll or rtsig methods are used
- and a redirect was returned to a request with body.<br/>
- Thanks to Eden Li.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для некоторых типов редиректов в переменной $sent_http_location
- было пустое значение.
- </para>
- <para lang="en">
- the $sent_http_location variable was empty for some redirects types.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы resolver в SMTP прокси-сервере
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if "resolver" directive was used in SMTP proxy.
- </para>
- </change>
- </changes>
- <changes ver="0.7.32" date="2009-01-26">
- <change type="feature">
- <para lang="ru">
- теперь в директиве try_files можно явно указать проверку каталога.
- </para>
- <para lang="en">
- now a directory existence testing can be set explicitly
- in the "try_files" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- fastcgi_store не всегда сохранял файлы.
- </para>
- <para lang="en">
- fastcgi_store stored files not always.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в гео-диапазонах.
- </para>
- <para lang="en">
- in geo ranges.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки выделения больших блоков в разделяемой памяти,
- если nginx был собран без отладки.<br/>
- Спасибо Андрею Квасову.
- </para>
- <para lang="en">
- in shared memory allocations if nginx was built without debugging.<br/>
- Thanks to Andrey Kvasov.
- </para>
- </change>
- </changes>
- <changes ver="0.7.31" date="2009-01-19">
- <change type="change">
- <para lang="ru">
- теперь директива try_files проверяет только файлы, игнорируя каталоги.
- </para>
- <para lang="en">
- now the "try_files" directive tests files only and ignores directories.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_split_path_info.
- </para>
- <para lang="en">
- the "fastcgi_split_path_info" directive.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в поддержке строки "Expect" в заголовке запроса.
- </para>
- <para lang="en">
- Bugfixes in an "Expect" request header line support.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в гео-диапазонах.
- </para>
- <para lang="en">
- Bugfixes in geo ranges.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при отсутствии ответа ngx_http_memcached_module возвращал
- в теле ответа строку "END" вместо 404-ой страницы по умолчанию;
- ошибка появилась в 0.7.18.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- in a miss case ngx_http_memcached_module returned the "END" line
- as response body instead of default 404 page body;
- the bug had appeared in 0.7.18.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании SMTP nginx выдавал сообщение
- <nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK";
- ошибка появилась в 0.7.22.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- while SMTP proxying nginx issued message
- "250 2.0.0 OK" instead of "235 2.0.0 OK";
- the bug had appeared in 0.7.22.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.7.30" date="2008-12-24">
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе происходил segmentation fault,
- если в директивах fastcgi_pass или proxy_pass
- использовались переменные и имя хоста должно было резолвиться;
- ошибка появилась в 0.7.29.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if variables were used in the "fastcgi_pass" or "proxy_pass" directives
- and host name must be resolved;
- the bug had appeared in 0.7.29.
- </para>
- </change>
- </changes>
- <changes ver="0.7.29" date="2008-12-24">
- <change type="bugfix">
- <para lang="ru">
- директивы fastcgi_pass и proxy_pass не поддерживали переменные
- при использовании unix domain сокетов.
- </para>
- <para lang="en">
- the "fastcgi_pass" and "proxy_pass" directives did not support
- variables if unix domain sockets were used.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в обработке подзапросов;
- ошибки появились в 0.7.25.
- </para>
- <para lang="en">
- Bugfixes in subrequest processing;
- the bugs had appeared in 0.7.25.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin.
- </para>
- <para lang="en">
- in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
- </para>
- </change>
- </changes>
- <changes ver="0.7.28" date="2008-12-22">
- <change type="change">
- <para lang="ru">
- в выделении памяти в модуле ngx_http_gzip_filter_module.
- </para>
- <para lang="en">
- in memory allocation in the ngx_http_gzip_filter_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k
- на 32 4k или 16 8k.
- </para>
- <para lang="en">
- the default "gzip_buffers" directive values have been changed
- to 32 4k or 16 8k from 4 4k/8k.
- </para>
- </change>
- </changes>
- <changes ver="0.7.27" date="2008-12-15">
- <change type="feature">
- <para lang="ru">
- директива try_files.
- </para>
- <para lang="en">
- the "try_files" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_pass поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "fastcgi_pass" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директива geo может брать адрес из переменной.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- now the $geo variable may get an address from a variable.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь модификатор location'а можно указывать без пробела перед названием.
- </para>
- <para lang="en">
- now a location's modifier may be used without space before name.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $upstream_response_length.
- </para>
- <para lang="en">
- the $upstream_response_length variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь директива add_header не добавляет пустое значение.
- </para>
- <para lang="en">
- now a "add_header" directive does not add an empty value.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при запросе файла нулевой длины nginx закрывал соединение, ничего не передав;
- ошибка появилась в 0.7.25.
- </para>
- <para lang="en">
- if zero length static file was requested, then nginx just closed connection;
- the bug had appeared in 0.7.25.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод MOVE не мог перемещать файл в несуществующий каталог.
- </para>
- <para lang="en">
- a MOVE method could not move file in non-existent directory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в сервере не был описан ни один именованный location,
- но такой location использовался в директиве error_page,
- то в рабочем процессе происходил segmentation fault.<br/>
- Спасибо Сергею Боченкову.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if no one named location was defined in server,
- but some one was used in an error_page directive.<br/>
- Thanks to Sergey Bochenkov.
- </para>
- </change>
- </changes>
- <changes ver="0.7.26" date="2008-12-08">
- <change type="bugfix">
- <para lang="ru">
- в обработке подзапросов;
- ошибка появилась в 0.7.25.
- </para>
- <para lang="en">
- in subrequest processing;
- the bug had appeared in 0.7.25.
- </para>
- </change>
- </changes>
- <changes ver="0.7.25" date="2008-12-08">
- <change type="change">
- <para lang="ru">
- в обработке подзапросов.
- </para>
- <para lang="en">
- in subrequest processing.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса.
- </para>
- <para lang="en">
- now POSTs without "Content-Length" header line are allowed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь директивы limit_req и limit_conn указывают причину запрета запроса.
- </para>
- <para lang="en">
- now the "limit_req" and "limit_conn" directives log a prohibition reason.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в параметре delete директивы geo.
- </para>
- <para lang="en">
- in the "delete" parameter of the "geo" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.7.24" date="2008-12-01">
- <change type="feature">
- <para lang="ru">
- директива if_modified_since.
- </para>
- <para lang="en">
- the "if_modified_since" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не обрабатывал ответ FastCGI-сервера,
- если перед ответом сервер передавал много сообщений в stderr.
- </para>
- <para lang="en">
- nginx did not process a FastCGI server response,
- if the server send too many messages to stderr before response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные "$cookie_..." не работали в SSI and в перловом модуле.
- </para>
- <para lang="en">
- the "$cookie_..." variables did not work in the SSI and the perl module.
- </para>
- </change>
- </changes>
- <changes ver="0.7.23" date="2008-11-27">
- <change type="feature">
- <para lang="ru">
- параметры delete и ranges в директиве geo.
- </para>
- <para lang="en">
- the "delete" and "ranges" parameters in the "geo" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ускорение загрузки geo-базы с большим числом значений.
- </para>
- <para lang="en">
- speeding up loading of geo base with large number of values.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- уменьшение памяти, необходимой для загрузки geo-базы.
- </para>
- <para lang="en">
- decrease of memory required for geo base load.
- </para>
- </change>
- </changes>
- <changes ver="0.7.22" date="2008-11-20">
- <change type="feature">
- <para lang="ru">
- параметр none в директиве smtp_auth.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the "none" parameter in the "smtp_auth" directive.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$cookie_...".
- </para>
- <para lang="en">
- the "$cookie_..." variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива directio не работала с файловой системой XFS.
- </para>
- <para lang="en">
- the "directio" directive did not work in XFS filesystem.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- resolver не понимал большие DNS-ответы.<br/>
- Спасибо Zyb.
- </para>
- <para lang="en">
- the resolver did not understand big DNS responses.<br/>
- Thanks to Zyb.
- </para>
- </change>
- </changes>
- <changes ver="0.7.21" date="2008-11-11">
- <change>
- <para lang="ru">
- Изменения в модуле ngx_http_limit_req_module.
- </para>
- <para lang="en">
- Changes in the ngx_http_limit_req_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка EXSLT в модуле ngx_http_xslt_module.<br/>
- Спасибо Денису Латыпову.
- </para>
- <para lang="en">
- the EXSLT support in the ngx_http_xslt_module.<br/>
- Thanks to Denis F. Latypoff.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- совместимость с glibc 2.3.<br/>
- Спасибо Eric Benson и Максиму Дунину.
- </para>
- <para lang="en">
- compatibility with glibc 2.3.<br/>
- Thanks to Eric Benson and Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не запускался на MacOSX 10.4 и более ранних;
- ошибка появилась в 0.7.6.
- </para>
- <para lang="en">
- nginx could not run on MacOSX 10.4 and earlier;
- the bug had appeared in 0.7.6.
- </para>
- </change>
- </changes>
- <changes ver="0.7.20" date="2008-11-10">
- <change>
- <para lang="ru">
- Изменения в модуле ngx_http_gzip_filter_module.
- </para>
- <para lang="en">
- Changes in the ngx_http_gzip_filter_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_limit_req_module.
- </para>
- <para lang="en">
- the ngx_http_limit_req_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS;
- ошибка появилась в 0.7.3.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
- the bug had appeared in 0.7.3.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы вида "proxy_pass http://host/some:uri" не работали;
- ошибка появилась в 0.7.12.
- </para>
- <para lang="en">
- the "proxy_pass http://host/some:uri" directives did not work;
- the bug had appeared in 0.7.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry".
- </para>
- <para lang="en">
- in HTTPS mode requests might fail with the "bad write retry" error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_secure_link_module не работал внутри location'ов
- с именами меньше 3 символов.
- </para>
- <para lang="en">
- the ngx_http_secure_link_module did not work inside locations,
- whose names are less than 3 characters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $server_addr могла не иметь значения.
- </para>
- <para lang="en">
- $server_addr variable might have no value.
- </para>
- </change>
- </changes>
- <changes ver="0.7.19" date="2008-10-13">
- <change type="bugfix">
- <para lang="ru">
- обновление номера версии.
- </para>
- <para lang="en">
- version number update.
- </para>
- </change>
- </changes>
- <changes ver="0.7.18" date="2008-10-13">
- <change type="change">
- <para lang="ru">
- директива underscores_in_headers;
- теперь nginx по умолчанию не разрешает подчёркивания в именах строк
- в заголовке запроса клиента.
- </para>
- <para lang="en">
- the "underscores_in_headers" directive;
- now nginx does not allows underscores in a client request header line names.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_secure_link_module.
- </para>
- <para lang="en">
- the ngx_http_secure_link_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива real_ip_header поддерживает любой заголовок.
- </para>
- <para lang="en">
- the "real_ip_header" directive supports any header.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива log_subrequest.
- </para>
- <para lang="en">
- the "log_subrequest" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $realpath_root.
- </para>
- <para lang="en">
- the $realpath_root variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры http_502 и http_504 в директиве proxy_next_upstream.
- </para>
- <para lang="en">
- the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream
- не работал.
- </para>
- <para lang="en">
- the "http_503" parameter of the "proxy_next_upstream" or
- "fastcgi_next_upstream" directives did not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD.
- </para>
- <para lang="en">
- nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь accept-лимит зависит от числа worker_connections.
- </para>
- <para lang="en">
- now accept threshold depends on worker_connections.
- </para>
- </change>
- </changes>
- <changes ver="0.7.17" date="2008-09-15">
- <change type="feature">
- <para lang="ru">
- директива directio теперь работает на Linux.
- </para>
- <para lang="en">
- now the "directio" directive works on Linux.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $pid.
- </para>
- <para lang="en">
- the $pid variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- оптимизация directio, появившаяся в 0.7.15, не работала при использовании
- open_file_cache.
- </para>
- <para lang="en">
- the "directio" optimization that had appeared in 0.7.15 did not work with
- open_file_cache.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- access_log с переменными не работал на Linux;
- ошибка появилась в 0.7.7.
- </para>
- <para lang="en">
- the "access_log" with variables did not work on Linux;
- the bug had appeared in 0.7.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_charset_module не понимал название кодировки в кавычках,
- полученное от бэкенда.
- </para>
- <para lang="en">
- the ngx_http_charset_module did not understand quoted charset name
- received from backend.
- </para>
- </change>
- </changes>
- <changes ver="0.7.16" date="2008-09-08">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на 64-битных платформах;
- ошибка появилась в 0.7.15.
- </para>
- <para lang="en">
- nginx could not be built on 64-bit platforms;
- the bug had appeared in 0.7.15.
- </para>
- </change>
- </changes>
- <changes ver="0.7.15" date="2008-09-08">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_random_index_module.
- </para>
- <para lang="en">
- the ngx_http_random_index_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива directio оптимизирована для запросов файлов, начинающихся
- с произвольной позиции.
- </para>
- <para lang="en">
- the "directio" directive has been optimized for file requests starting
- from arbitrary position.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива directio при необходимости запрещает использование sendfile.
- </para>
- <para lang="en">
- the "directio" directive turns off sendfile if it is necessary.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента.
- </para>
- <para lang="en">
- now nginx allows underscores in a client request header line names.
- </para>
- </change>
- </changes>
- <changes ver="0.7.14" date="2008-09-01">
- <change type="change">
- <para lang="ru">
- теперь директивы ssl_certificate и ssl_certificate_key не имеют
- значений по умолчанию.
- </para>
- <para lang="en">
- now the ssl_certificate and ssl_certificate_key directives have no
- default values.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива listen поддерживает параметр ssl.
- </para>
- <para lang="en">
- the "listen" directive supports the "ssl" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при переконфигурации nginx учитывает изменение временной зоны
- на FreeBSD и Linux.
- </para>
- <para lang="en">
- now nginx takes into account a time zone change while reconfiguration
- on FreeBSD and Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметры директивы listen, такие как backlog, rcvbuf и прочие,
- не устанавливались, если сервером по умолчанию был не первый сервер.
- </para>
- <para lang="en">
- the "listen" directive parameters such as "backlog", "rcvbuf", etc.
- were not set, if a default server was not the first one.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании в качестве аргументов части URI, выделенного с помощью
- директивы rewrite, эти аргументы не экранировались.
- </para>
- <para lang="en">
- if URI part captured by a "rewrite" directive was used as a query string,
- then the query string was not escaped.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- улучшения тестирования правильности конфигурационного файла.
- </para>
- <para lang="en">
- configuration file validity test improvements.
- </para>
- </change>
- </changes>
- <changes ver="0.7.13" date="2008-08-26">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Linux и Solaris;
- ошибка появилась в 0.7.12.
- </para>
- <para lang="en">
- nginx could not be built on Linux and Solaris;
- the bug had appeared in 0.7.12.
- </para>
- </change>
- </changes>
- <changes ver="0.7.12" date="2008-08-26">
- <change type="feature">
- <para lang="ru">
- директива server_name поддерживает пустое имя "".
- </para>
- <para lang="en">
- the "server_name" directive supports empty name "".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива gzip_disable поддерживает специальную маску msie6.
- </para>
- <para lang="en">
- the "gzip_disable" directive supports special "msie6" mask.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании параметра max_fails=0 в upstream'е с несколькими
- серверами рабочий процесс выходил по сигналу SIGFPE.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- if the "max_fails=0" parameter was used in upstream with several servers,
- then a worker process exited on a SIGFPE signal.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении запроса с помощью директивы error_page
- терялось тело запроса.
- </para>
- <para lang="en">
- a request body was dropped while redirection via an "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении запроса с методом HEAD с помощью директивы error_page
- возвращался полный ответ.
- </para>
- <para lang="en">
- a full response was returned for request method HEAD
- while redirection via an "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод $r->header_in() не возвращал значения строк "Host", "User-Agent",
- и "Connection" из заголовка запроса;
- ошибка появилась в 0.7.0.
- </para>
- <para lang="en">
- the $r->header_in() method did not return value of the "Host",
- "User-Agent", and "Connection" request header lines;
- the bug had appeared in 0.7.0.
- </para>
- </change>
- </changes>
- <changes ver="0.7.11" date="2008-08-18">
- <change type="change">
- <para lang="ru">
- теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css.
- </para>
- <para lang="en">
- now ngx_http_charset_module does not work by default with text/css MIME type.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь nginx возвращает код 405 для метода POST при запросе статического
- файла, только если файл существует.
- </para>
- <para lang="en">
- now nginx returns the 405 status code for POST method requesting a static file
- only if the file exists.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_ssl_session_reuse.
- </para>
- <para lang="en">
- the "proxy_ssl_session_reuse" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после перенаправления запроса с помощью "X-Accel-Redirect"
- директива proxy_pass без URI могла использовать оригинальный запрос.
- </para>
- <para lang="en">
- a "proxy_pass" directive without URI part might use original request
- after the "X-Accel-Redirect" redirection was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если у каталога были права доступа только на поиск файлов
- и первый индексный файл отсутствовал, то nginx возвращал ошибку 500.
- </para>
- <para lang="en">
- if a directory has search only rights and the first index file was absent,
- then nginx returned the 500 status code.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибок во вложенных location'ах;
- ошибки появились в 0.7.1.
- </para>
- <para lang="en">
- in inclusive locations;
- the bugs had appeared in 0.7.1.
- </para>
- </change>
- </changes>
- <changes ver="0.7.10" date="2008-08-13">
- <change type="bugfix">
- <para lang="ru">
- ошибок в директивах addition_types, charset_types,
- gzip_types, ssi_types, sub_filter_types и xslt_types;
- ошибки появились в 0.7.9.
- </para>
- <para lang="en">
- in the "addition_types", "charset_types",
- "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
- the bugs had appeared in 0.7.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рекурсивной error_page для 500 ошибки.
- </para>
- <para lang="en">
- of recursive error_page for 500 status code.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь модуль ngx_http_realip_module устанавливает адрес не для
- всего keepalive соединения, а для каждого запроса по этому соединению.
- </para>
- <para lang="en">
- now the ngx_http_realip_module sets address not for whole keepalive connection,
- but for each request passed via the connection.
- </para>
- </change>
- </changes>
- <changes ver="0.7.9" date="2008-08-12">
- <change type="change">
- <para lang="ru">
- теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами:
- text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
- application/x-javascript и application/rss+xml.
- </para>
- <para lang="en">
- now ngx_http_charset_module works by default with following MIME types:
- text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
- application/x-javascript, and application/rss+xml.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы charset_types и addition_types.
- </para>
- <para lang="en">
- the "charset_types" and "addition_types" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш.
- </para>
- <para lang="en">
- now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_cpp_test_module.
- </para>
- <para lang="en">
- the ngx_cpp_test_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива expires поддерживает суточное время.
- </para>
- <para lang="en">
- the "expires" directive supports daily time.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- улучшения и исправления в модуле ngx_http_xslt_module.<br/>
- Спасибо Денису Латыпову и Максиму Дунину.
- </para>
- <para lang="en">
- the ngx_http_xslt_module improvements and bug fixing.<br/>
- Thanks to Denis F. Latypoff and Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива log_not_found не работала при поиске индексных файлов.
- </para>
- <para lang="en">
- the "log_not_found" directive did not work for index files tests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- HTTPS-соединения могли зависнуть,
- если использовались методы kqueue, epoll, rtsig или eventport;
- ошибка появилась в 0.7.7.
- </para>
- <para lang="en">
- HTTPS connections might hang,
- if kqueue, epoll, rtsig, or eventport methods were used;
- the bug had appeared in 0.7.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директивах server_name, valid_referers и map
- использовалась маска вида "*.domain.tld" и при этом полное имя
- вида "domain.tld" не было описано, то это имя попадало под маску;
- ошибка появилась в 0.3.18.
- </para>
- <para lang="en">
- if the "server_name", "valid_referers", and "map" directives used
- an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
- then the exact name was matched by the wildcard;
- the bug had appeared in 0.3.18.
- </para>
- </change>
- </changes>
- <changes ver="0.7.8" date="2008-08-04">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_xslt_module.
- </para>
- <para lang="en">
- the ngx_http_xslt_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$arg_...".
- </para>
- <para lang="en">
- the "$arg_..." variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка directio в Solaris.<br/>
- Спасибо Ivan Debnar.
- </para>
- <para lang="en">
- Solaris directio support.<br/>
- Thanks to Ivan Debnar.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа
- без строки статуса, то nginx использует код статуса 302.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now if FastCGI server sends a "Location" header line without status line,
- then nginx uses 302 status code.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.7.7" date="2008-07-30">
- <change type="change">
- <para lang="ru">
- теперь ошибка EAGAIN при вызове connect() не считается временной.
- </para>
- <para lang="en">
- now the EAGAIN error returned by connect() is not considered as temporary error.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- значением переменной $ssl_client_cert теперь является сертификат,
- перед каждой строкой которого, кроме первой, вставляется символ табуляции;
- неизменённый сертификат доступен через переменную $ssl_client_raw_cert.
- </para>
- <para lang="en">
- now the $ssl_client_cert variable value is a certificate with TAB character
- intended before each line except first one;
- an unchanged certificate is available in the $ssl_client_raw_cert variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр ask директивы ssl_verify_client.
- </para>
- <para lang="en">
- the "ask" parameter in the "ssl_verify_client" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- улучшения в обработке byte-range.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- byte-range processing improvements.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива directio.<br/>
- Спасибо Jiang Hong.
- </para>
- <para lang="en">
- the "directio" directive.<br/>
- Thanks to Jiang Hong.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка sendfile() в MacOSX 10.5.
- </para>
- <para lang="en">
- MacOSX 10.5 sendfile() support.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в MacOSX и Cygwin при проверке location'ов теперь делается сравнение
- без учёта регистра символов;
- однако, сравнение ограничено только однобайтными locale'ями.
- </para>
- <para lang="en">
- now in MacOSX and Cygwin locations are tested in case insensitive mode;
- however, the compare is provided by single-byte locales only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- соединения почтового прокси-сервера зависали в режиме SSL,
- если использовались методы select, poll или /dev/poll.
- </para>
- <para lang="en">
- mail proxy SSL connections hanged,
- if select, poll, or /dev/poll methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.
- </para>
- <para lang="en">
- UTF-8 encoding usage in the ngx_http_autoindex_module.
- </para>
- </change>
- </changes>
- <changes ver="0.7.6" date="2008-07-07">
- <change type="bugfix">
- <para lang="ru">
- теперь при использовании переменных в директиве access_log
- всегда проверяется существовании root'а для запроса.
- </para>
- <para lang="en">
- now if variables are used in the "access_log" directive
- a request root existence is always tested.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_flv_module не поддерживал несколько значений в
- аргументах запроса.
- </para>
- <para lang="en">
- the ngx_http_flv_module did not support several values in a query string.
- </para>
- </change>
- </changes>
- <changes ver="0.7.5" date="2008-07-01">
- <change>
- <para lang="ru">
- Исправления в поддержке переменных в директиве access_log;
- ошибки появились в 0.7.4.
- </para>
- <para lang="en">
- Bugfixes in variables support in the "access_log" directive;
- the bugs had appeared in 0.7.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http_gzip_module;
- ошибка появилась в 0.7.3.<br/>
- Спасибо Кириллу Коринскому.
- </para>
- <para lang="en">
- nginx could not be built --without-http_gzip_module;
- the bug had appeared in 0.7.3.<br/>
- Thanks to Kirill A. Korinskiy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при совместном использовании sub_filter и SSI
- ответы могли передаваться неверно.
- </para>
- <para lang="en">
- if sub_filter and SSI were used together, then responses might
- were transferred incorrectly.
- </para>
- </change>
- </changes>
- <changes ver="0.7.4" date="2008-06-30">
- <change type="feature">
- <para lang="ru">
- директива access_log поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "access_log" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива open_log_file_cache.
- </para>
- <para lang="en">
- the "open_log_file_cache" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -g.
- </para>
- <para lang="en">
- the -g switch.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка строки "Expect" в заголовке запроса.
- </para>
- <para lang="en">
- the "Expect" request header line support.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- большие включения в SSI могли передавались не полностью.
- </para>
- <para lang="en">
- large SSI inclusions might be truncated.
- </para>
- </change>
- </changes>
- <changes ver="0.7.3" date="2008-06-23">
- <change type="change">
- <para lang="ru">
- MIME-тип для расширения rss изменён на "application/rss+xml".
- </para>
- <para lang="en">
- the "rss" extension MIME type has been changed to "application/rss+xml".
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь директива "gzip_vary on" выдаёт строку
- <nobr>"Vary: Accept-Encoding"</nobr>
- в заголовке ответа и для несжатых ответов.
- </para>
- <para lang="en">
- now the "gzip_vary" directive turned on issues
- a <nobr>"Vary: Accept-Encoding"</nobr>
- header line for uncompressed responses too.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при использовании протокола "https://" в директиве rewrite
- автоматически делается редирект.
- </para>
- <para lang="en">
- now the "rewrite" directive does a redirect automatically
- if the "https://" protocol is used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_pass не работала с протоколом HTTPS;
- ошибка появилась в 0.6.9.
- </para>
- <para lang="en">
- the "proxy_pass" directive did not work with the HTTPS protocol;
- the bug had appeared in 0.6.9.
- </para>
- </change>
- </changes>
- <changes ver="0.7.2" date="2008-06-16">
- <change type="feature">
- <para lang="ru">
- теперь nginx поддерживает шифры с обменом EDH-ключами.
- </para>
- <para lang="en">
- now nginx supports EDH key exchange ciphers.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_dhparam.
- </para>
- <para lang="en">
- the "ssl_dhparam" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $ssl_client_cert.<br/>
- Спасибо Manlio Perillo.
- </para>
- <para lang="en">
- the $ssl_client_cert variable.<br/>
- Thanks to Manlio Perillo.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после изменения URI с помощью директивы rewrite nginx не искал новый location;
- ошибка появилась в 0.7.1.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- after changing URI via a "rewrite" directive nginx did not search
- a new location;
- the bug had appeared in 0.7.1.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без библиотеки PCRE;
- ошибка появилась в 0.7.1.
- </para>
- <para lang="en">
- nginx could not be built without PCRE library;
- the bug had appeared in 0.7.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при редиректе запроса к каталогу с добавлением слэша nginx
- не добавлял аргументы из оригинального запроса.
- </para>
- <para lang="en">
- when a request to a directory was redirected with the slash added,
- nginx dropped a query string from the original request.
- </para>
- </change>
- </changes>
- <changes ver="0.7.1" date="2008-05-26">
- <change type="change">
- <para lang="ru">
- теперь поиск location'а делается с помощью дерева.
- </para>
- <para lang="en">
- now locations are searched in a tree.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива optimize_server_names упразднена в связи с появлением
- директивы server_name_in_redirect.
- </para>
- <para lang="en">
- the "optimize_server_names" directive was canceled
- due to the "server_name_in_redirect" directive introduction.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- некоторые давно устаревшие директивы больше не поддерживаются.
- </para>
- <para lang="en">
- some long deprecated directives are not supported anymore.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметр "none" в директиве ssl_session_cache;
- теперь этот параметр используется по умолчанию.<br/>
- Спасибо Rob Mueller.
- </para>
- <para lang="en">
- the "none" parameter in the "ssl_session_cache" directive;
- now this is default parameter.<br/>
- Thanks to Rob Mueller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочие процессы могли не реагировать на сигналы переконфигурации
- и ротации логов.
- </para>
- <para lang="en">
- worker processes might not catch reconfiguration and log rotation signals.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на последних Fedora 9 Linux.<br/>
- Спасибо Roxis.
- </para>
- <para lang="en">
- nginx could not be built on latest Fedora 9 Linux.<br/>
- Thanks to Roxis.
- </para>
- </change>
- </changes>
- <changes ver="0.7.0" date="2008-05-19">
- <change type="change">
- <para lang="ru">
- теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
- access_log.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx разрешает несколько строк "Host" в заголовке запроса.
- </para>
- <para lang="en">
- now nginx allows several "Host" request header line.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива expires поддерживает флаг modified.
- </para>
- <para lang="en">
- the "modified" flag in the "expires" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $uid_got и $uid_set можно использовать на любой стадии обработки
- запроса.
- </para>
- <para lang="en">
- the $uid_got and $uid_set variables may be used at any request processing stage.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $hostname.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- the $hostname variable.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка DESTDIR.<br/>
- Спасибо Todd A. Fisher и Andras Voroskoi.
- </para>
- <para lang="en">
- DESTDIR support.<br/>
- Thanks to Todd A. Fisher and Andras Voroskoi.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании keepalive на Linux
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process on Linux,
- if keepalive was enabled.
- </para>
- </change>
- </changes>
- <changes ver="0.6.31" date="2008-05-12">
- <change type="bugfix">
- <para lang="ru">
- nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была
- в конце записи FastCGI;
- ошибка появилась в 0.6.2.<br/>
- Спасибо Сергею Серову.
- </para>
- <para lang="en">
- nginx did not process FastCGI response
- if header was at the end of FastCGI record;
- the bug had appeared in 0.6.2.<br/>
- Thanks to Sergey Serov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при удалении файла и использовании директивы open_file_cache_errors off
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process if a file was deleted
- and the "open_file_cache_errors" directive was off.
- </para>
- </change>
- </changes>
- <changes ver="0.6.30" date="2008-04-29">
- <change type="change">
- <para lang="ru">
- теперь, если маске, заданной в директиве include, не соответствует
- ни один файл, то nginx не выдаёт ошибку.
- </para>
- <para lang="en">
- now if an "include" directive pattern does not match any file,
- then nginx does not issue an error.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь время в директивах можно задавать без пробела, например, "1h50m".
- </para>
- <para lang="en">
- now the time in directives may be specified without spaces,
- for example, "1h50m".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечек памяти, если директива ssl_verify_client имела значение on.<br/>
- Спасибо Chavelle Vincent.
- </para>
- <para lang="en">
- memory leaks if the "ssl_verify_client" directive was on.<br/>
- Thanks to Chavelle Vincent.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива sub_filter могла вставлять заменяемый текст в вывод.
- </para>
- <para lang="en">
- the "sub_filter" directive might set text to change into output.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page не воспринимала параметры в перенаправляемом URI.
- </para>
- <para lang="en">
- the "error_page" directive did not take into account arguments in
- redirected URI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме.
- </para>
- <para lang="en">
- now nginx always opens files in binary mode under Cygwin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под OpenBSD;
- ошибка появилась в 0.6.15.
- </para>
- <para lang="en">
- nginx could not be built on OpenBSD;
- the bug had appeared in 0.6.15.
- </para>
- </change>
- </changes>
- <changes ver="0.6.29" date="2008-03-18">
- <change type="feature">
- <para lang="ru">
- модуль ngx_google_perftools_module.
- </para>
- <para lang="en">
- the ngx_google_perftools_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_perl_module не собирался на 64-битных платформах;
- ошибка появилась в 0.6.27.
- </para>
- <para lang="en">
- the ngx_http_perl_module could not be built on 64-bit platforms;
- the bug had appeared in 0.6.27.
- </para>
- </change>
- </changes>
- <changes ver="0.6.28" date="2008-03-13">
- <change type="bugfix">
- <para lang="ru">
- метод rtsig не собирался;
- ошибка появилась в 0.6.27.
- </para>
- <para lang="en">
- the rtsig method could not be built;
- the bug had appeared in 0.6.27.
- </para>
- </change>
- </changes>
- <changes ver="0.6.27" date="2008-03-12">
- <change type="change">
- <para lang="ru">
- теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig.
- </para>
- <para lang="en">
- now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при перенаправлении запроса в именованный location с помощью
- директивы error_page метод запроса не изменяется.
- </para>
- <para lang="en">
- now a request method is not changed while redirection to a named location
- via an "error_page" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы resolver и resolver_timeout в SMTP прокси-сервере.
- </para>
- <para lang="en">
- the "resolver" and "resolver_timeout" directives in SMTP proxy.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива post_action поддерживает именованные location'ы.
- </para>
- <para lang="en">
- the "post_action" directive supports named locations.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении запроса из location'а c обработчиком proxy, FastCGI
- или memcached в именованный location со статическим обработчиком
- в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if a request was redirected from proxy, FastCGI, or memcached location
- to static named locations.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- браузеры не повторяли SSL handshake, если при первом handshake
- не оказалось правильного клиентского сертификата.
- <br/>
- Спасибо Александру Инюхину.
- </para>
- <para lang="en">
- browsers did not repeat SSL handshake if there is no valid client certificate
- in first handshake.
- <br/>
- Thanks to Alexander V. Inyukhin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении ошибок 495-497 с помощью директивы error_page
- без изменения кода ошибки nginx пытался выделить очень много памяти.
- </para>
- <para lang="en">
- if response code 495-497 was redirected via an "error_page" directive
- without code change, then nginx tried to allocate too many memory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти в долгоживущих небуфферизированных соединениях.
- </para>
- <para lang="en">
- memory leak in long-lived non buffered connections.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки памяти в resolver'е.
- </para>
- <para lang="en">
- memory leak in resolver.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении запроса из location'а c обработчиком proxy
- в другой location с обработчиком proxy
- в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if a request was redirected from proxy, FastCGI, or memcached location
- to static named locations.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/>
- Спасибо Сергею Боченкову.
- </para>
- <para lang="en">
- in the $proxy_host and $proxy_port variables caching.<br/>
- Thanks to Sergey Bochenkov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива proxy_pass с переменными использовала порт, описанной в другой
- директиве proxy_pass без переменных, но с таким же именем хоста.<br/>
- Спасибо Сергею Боченкову.
- </para>
- <para lang="en">
- a "proxy_pass" directive with variables used incorrectly the same port
- as in another "proxy_pass" directive with the same host name
- and without variables.<br/>
- Thanks to Sergey Bochenkov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во время переконфигурации на некоторых 64-битном платформах в лог
- записывался alert "sendmsg() failed (9: Bad file descriptor)".
- </para>
- <para lang="en">
- an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
- while reconfiguration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при повторном использовании в SSI пустого block'а в качестве заглушки
- в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if empty stub block was used second time in SSI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при копировании части URI, содержащего экранированные символы,
- в аргументы.
- </para>
- <para lang="en">
- in copying URI part contained escaped symbols into arguments.
- </para>
- </change>
- </changes>
- <changes ver="0.6.26" date="2008-02-11">
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_store и fastcgi_store не проверяли длину ответа.
- </para>
- <para lang="en">
- the "proxy_store" and "fastcgi_store" directives did not check
- a response length.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании большого значения в директиве expires
- в рабочем процессе происходил segmentation fault.<br/>
- Спасибо Joaquin Cuenca Abela.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if big value was used in a "expires" directive.<br/>
- Thanks to Joaquin Cuenca Abela.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/>
- Спасибо Геннадию Махомеду.
- </para>
- <para lang="en">
- nginx incorrectly detected cache line size on Pentium 4.<br/>
- Thanks to Gena Makhomed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в проксированных подзапросах и подзапросах к FastCGI-серверу
- вместо метода GET использовался оригинальный метод клиента.
- </para>
- <para lang="en">
- in proxied or FastCGI subrequests a client original method was used
- instead of the GET method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
- Спасибо Ben Maurer.
- </para>
- <para lang="en">
- socket leak in HTTPS mode if deferred accept was used.<br/>
- Thanks to Ben Maurer.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )";
- ошибка появилась в 0.6.23.
- </para>
- <para lang="en">
- nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
- the bug had appeared in 0.6.23.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
- ошибка появилась в 0.6.23.
- </para>
- <para lang="en">
- in HTTPS mode requests might fail with the "bad write retry" error;
- the bug had appeared in 0.6.23.
- </para>
- </change>
- </changes>
- <changes ver="0.6.25" date="2008-01-08">
- <change type="change">
- <para lang="ru">
- вместо специального параметра "*" в директиве server_name теперь
- используется директива server_name_in_redirect.
- </para>
- <para lang="en">
- now the "server_name_in_redirect" directive is used instead of
- the "server_name" directive's special "*" parameter.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в качестве основного имени в директиве server_name теперь
- можно использовать имена с масками и регулярными выражениями.
- </para>
- <para lang="en">
- now wildcard and regex names can be used as main name in
- a "server_name" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива satisfy_any заменена директивой satisfy.
- </para>
- <para lang="en">
- the "satisfy_any" directive was replaced by the "satisfy" directive.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- после переконфигурации старые рабочие процесс могли сильно нагружать процессор
- при запуске под Linux OpenVZ.
- </para>
- <para lang="en">
- old worker processes might hog CPU after reconfiguration if they was run
- under Linux OpenVZ.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива min_delete_depth.
- </para>
- <para lang="en">
- the "min_delete_depth" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- методы COPY и MOVE не работали с одиночными файлами.
- </para>
- <para lang="en">
- the COPY and MOVE methods did not work with single files.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_gzip_static_module не позволял работать модулю
- ngx_http_dav_module;
- ошибка появилась в 0.6.23.
- </para>
- <para lang="en">
- the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
- the bug had appeared in 0.6.23.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/>
- Спасибо Ben Maurer.
- </para>
- <para lang="en">
- socket leak in HTTPS mode if deferred accept was used.<br/>
- Thanks to Ben Maurer.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без библиотеки PCRE;
- ошибка появилась в 0.6.23.
- </para>
- <para lang="en">
- nginx could not be built without PCRE library;
- the bug had appeared in 0.6.23.
- </para>
- </change>
- </changes>
- <changes ver="0.6.24" date="2007-12-27">
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.6.23.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process if HTTPS was used;
- the bug had appeared in 0.6.23.
- </para>
- </change>
- </changes>
- <changes ver="0.6.23" date="2007-12-27">
- <change type="change">
- <para lang="ru">
- параметр "off" в директиве ssl_session_cache;
- теперь этот параметр используется по умолчанию.
- </para>
- <para lang="en">
- the "off" parameter in the "ssl_session_cache" directive;
- now this is default parameter.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива open_file_cache_retest переименована в open_file_cache_valid.
- </para>
- <para lang="en">
- the "open_file_cache_retest" directive was renamed
- to the "open_file_cache_valid".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива open_file_cache_min_uses.
- </para>
- <para lang="en">
- the "open_file_cache_min_uses" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_gzip_static_module.
- </para>
- <para lang="en">
- the ngx_http_gzip_static_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива gzip_disable.
- </para>
- <para lang="en">
- the "gzip_disable" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директиву memcached_pass можно использовать внутри блока if.
- </para>
- <para lang="en">
- the "memcached_pass" directive may be used inside the "if" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если внутри одного location'а использовались директивы "memcached_pass" и "if",
- то в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if the "memcached_pass" and "if" directives were used in the same location.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании директивы satisfy_any on" были заданы директивы
- не всех модулей доступа, то заданные директивы не проверялись.
- </para>
- <para lang="en">
- if a "satisfy_any on" directive was used and not all access and auth modules
- directives were set, then other given access and auth directives
- were not tested;
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметры, заданные регулярным выражением в директиве valid_referers,
- не наследовалась с предыдущего уровня.
- </para>
- <para lang="en">
- regex parameters in a "valid_referers" directive were not inherited
- from previous level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива post_action не работала, если запрос завершался с кодом 499.
- </para>
- <para lang="en">
- a "post_action" directive did run if a request was completed
- with 499 status code.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- оптимизация использования 16K буфера для SSL-соединения.<br/>
- Спасибо Ben Maurer.
- </para>
- <para lang="en">
- optimization of 16K buffer usage in a SSL connection.<br/>
- Thanks to Ben Maurer.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- STARTTLS в режиме SMTP не работал.<br/>
- Спасибо Олегу Мотиенко.
- </para>
- <para lang="en">
- the STARTTLS in SMTP mode did not work.<br/>
- Thanks to Oleg Motienko.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
- ошибка появилась в 0.5.13.
- </para>
- <para lang="en">
- in HTTPS mode requests might fail with the "bad write retry" error;
- the bug had appeared in 0.5.13.
- </para>
- </change>
- </changes>
- <changes ver="0.6.22" date="2007-12-19">
- <change type="change">
- <para lang="ru">
- теперь все методы модуля ngx_http_perl_module
- возвращают значения, скопированные в память, выделенную perl'ом.
- </para>
- <para lang="en">
- now all ngx_http_perl_module methods return values copied to perl's
- allocated memory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с модулем ngx_http_perl_module,
- использовался perl до версии 5.8.6 и perl поддерживал потоки,
- то во время переконфигурации основной процесс аварийно выходил;
- ошибка появилась в 0.5.9.<br/>
- Спасибо Борису Жмурову.
- </para>
- <para lang="en">
- if nginx was built with ngx_http_perl_module,
- the perl before 5.8.6 was used, and perl supported threads,
- then during reconfiguration the master process aborted;
- the bug had appeared in 0.5.9.<br/>
- Thanks to Boris Zhmurov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в методы модуля ngx_http_perl_module
- могли передаваться неверные результаты выделения в регулярных выражениях.
- </para>
- <para lang="en">
- the ngx_http_perl_module methods may get invalid values of the regex captures.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если метод $r->has_request_body() вызывался для запроса,
- у которого небольшое тело запроса было уже полностью получено,
- то в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process,
- if the $r->has_request_body() method was called for a request
- whose small request body was already received.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- large_client_header_buffers не освобождались перед переходом в состояние
- keep-alive.<br/>
- Спасибо Олександру Штепе.
- </para>
- <para lang="en">
- large_client_header_buffers did not freed before going to keep-alive state.<br/>
- Thanks to Olexander Shtepa.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в переменной $upstream_addr не записывался последний адрес;
- ошибка появилась в 0.6.18.
- </para>
- <para lang="en">
- the last address was missed in the $upstream_addr variable;
- the bug had appeared in 0.6.18.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива fastcgi_catch_stderr не возвращала ошибку;
- теперь она возвращает ошибку 502, которую можно направить на следующий сервер
- с помощью "fastcgi_next_upstream invalid_header".
- </para>
- <para lang="en">
- the "fastcgi_catch_stderr" directive did return error code;
- now it returns 502 code, that can be rerouted to a next server using
- the "fastcgi_next_upstream invalid_header" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы fastcgi_catch_stderr
- в основном процессе происходил segmentation fault;
- ошибка появилась в 0.6.10.<br/>
- Спасибо Manlio Perillo.
- </para>
- <para lang="en">
- a segmentation fault occurred in master process
- if the "fastcgi_catch_stderr" directive was used;
- the bug had appeared in 0.6.10.<br/>
- Thanks to Manlio Perillo.
- </para>
- </change>
- </changes>
- <changes ver="0.6.21" date="2007-12-03">
- <change type="change">
- <para lang="ru">
- если в значениях переменных директивы proxy_pass используются
- только IP-адреса, то указывать resolver не нужно.
- </para>
- <para lang="en">
- if variable values used in a "proxy_pass" directive contain IP-addresses only,
- then a "resolver" directive is not mandatory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы proxy_pass c URI-частью
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.6.19.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if a "proxy_pass" directive with URI-part was used;
- the bug had appeared in 0.6.19.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если resolver использовался на платформах, не поддерживающих метод kqueue,
- то nginx выдавал alert "name is out of response".<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- if resolver was used on platform that does not support kqueue,
- then nginx issued an alert "name is out of response".<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- При использовании переменной $server_protocol в FastCGI-параметрах
- и запросе, длина которого была близка к значению директивы
- client_header_buffer_size,
- nginx выдавал alert "fastcgi: the request record is too big".
- </para>
- <para lang="en">
- if the $server_protocol was used in FastCGI parameters
- and a request line length was near to the "client_header_buffer_size"
- directive value,
- then nginx issued an alert "fastcgi: the request record is too big".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал
- обычный ответ.
- </para>
- <para lang="en">
- if a plain text HTTP/0.9 version request was made to HTTPS server,
- then nginx returned usual response.
- </para>
- </change>
- </changes>
- <changes ver="0.6.20" date="2007-11-28">
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы proxy_pass c URI-частью
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.6.19.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if a "proxy_pass" directive with URI-part was used;
- the bug had appeared in 0.6.19.
- </para>
- </change>
- </changes>
- <changes ver="0.6.19" date="2007-11-27">
- <change type="bugfix">
- <para lang="ru">
- версия 0.6.18 не собиралась.
- </para>
- <para lang="en">
- the 0.6.18 version could not be built.
- </para>
- </change>
- </changes>
- <changes ver="0.6.18" date="2007-11-27">
- <change type="change">
- <para lang="ru">
- теперь модуль ngx_http_userid_module в поле куки с номером процесса
- добавляет микросекунды на время старта.
- </para>
- <para lang="en">
- now the ngx_http_userid_module adds start time microseconds
- to the cookie field contains a pid value.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в error_log теперь записывается полная строка запроса вместо только URI.
- </para>
- <para lang="en">
- now the full request line instead of URI only is written to error_log.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_pass поддерживает переменные.
- </para>
- <para lang="en">
- variables support in the "proxy_pass" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы resolver и resolver_timeout.
- </para>
- <para lang="en">
- the "resolver" and "resolver_timeout" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь директива "add_header last-modified ''" удаляет в заголовке ответа
- строку "Last-Modified".
- </para>
- <para lang="en">
- now the directive "add_header last-modified ''" deletes a "Last-Modified"
- response header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива limit_rate не позволяла передавать на полной скорости,
- даже если был указан очень большой лимит.
- </para>
- <para lang="en">
- the "limit_rate" directive did not allow to use full throughput,
- even if limit value was very high.
- </para>
- </change>
- </changes>
- <changes ver="0.6.17" date="2007-11-15">
- <change type="feature">
- <para lang="ru">
- поддержка строки "If-Range" в заголовке запроса.<br/>
- Спасибо Александру Инюхину.
- </para>
- <para lang="en">
- the "If-Range" request header line support.<br/>
- Thanks to Alexander V. Inyukhin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы msie_refresh повторно экранировались
- уже экранированные символы;
- ошибка появилась в 0.6.4.
- </para>
- <para lang="en">
- URL double escaping in a redirect of the "msie_refresh" directive;
- the bug had appeared in 0.6.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива autoindex не работала при использовании "alias /".
- </para>
- <para lang="en">
- the "autoindex" directive did not work with the "alias /" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании подзапросов
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process if subrequests were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SSL и gzip большие ответы могли передаваться не полностью.
- </para>
- <para lang="en">
- the big responses may be transferred truncated if SSL and gzip were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если ответ проксированного сервера был версии HTTP/0.9,
- то переменная $status была равна 0.
- </para>
- <para lang="en">
- the $status variable was equal to 0 if a proxied server returned response
- in HTTP/0.9 version.
- </para>
- </change>
- </changes>
- <changes ver="0.6.16" date="2007-10-29">
- <change type="change">
- <para lang="ru">
- теперь на Linux используется uname(2) вместо procfs.<br/>
- Спасибо Илье Новикову.
- </para>
- <para lang="en">
- now the uname(2) is used on Linux instead of procfs.<br/>
- Thanks to Ilya Novikov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве error_page использовался символ "?", то он экранировался
- при проксировании запроса;
- ошибка появилась в 0.6.11.
- </para>
- <para lang="en">
- if the "?" character was in a "error_page" directive, then it was escaped
- in a proxied request;
- the bug had appeared in 0.6.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с mget.
- </para>
- <para lang="en">
- compatibility with mget.
- </para>
- </change>
- </changes>
- <changes ver="0.6.15" date="2007-10-22">
- <change type="feature">
- <para lang="ru">
- совместимость с Cygwin.<br/>
- Спасибо Владимиру Кутакову.
- </para>
- <para lang="en">
- Cygwin compatibility.<br/>
- Thanks to Vladimir Kutakov.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива merge_slashes.
- </para>
- <para lang="en">
- the "merge_slashes" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива gzip_vary.
- </para>
- <para lang="en">
- the "gzip_vary" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server_tokens.
- </para>
- <para lang="en">
- the "server_tokens" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не раскодировал URI в команде SSI include.
- </para>
- <para lang="en">
- nginx did not unescape URI in the "include" SSI command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменной в директивах charset или source_charset
- на старте или во время переконфигурации происходил segmentation fault,
- </para>
- <para lang="en">
- the segmentation fault was occurred on start or while reconfiguration
- if variable was used in the "charset" or "source_charset" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx возвращал ошибку 400 на запросы вида
- <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
- Спасибо James Oakley.
- </para>
- <para lang="en">
- nginx returned the 400 response on requests like
- <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
- Thanks to James Oakley.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после перенаправления запроса с телом запроса с помощью директивы
- error_page nginx пытался снова прочитать тело запроса;
- ошибка появилась в 0.6.7.
- </para>
- <para lang="en">
- if request with request body was redirected using the "error_page" directive,
- then nginx tried to read the request body again;
- the bug had appeared in 0.6.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе происходил segmentation fault, если у сервера,
- обрабатывающему запрос, не был явно определён server_name;
- ошибка появилась в 0.6.7.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process
- if no server_name was explicitly defined for server processing request;
- the bug had appeared in 0.6.7.
- </para>
- </change>
- </changes>
- <changes ver="0.6.14" date="2007-10-15">
- <change type="change">
- <para lang="ru">
- теперь по умолчанию команда SSI echo использует кодирование entity.
- </para>
- <para lang="en">
- now by default the "echo" SSI command uses entity encoding.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр encoding в команде SSI echo.
- </para>
- <para lang="en">
- the "encoding" parameter in the "echo" SSI command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директиву access_log можно использовать внутри блока limit_except.
- </para>
- <para lang="en">
- the "access_log" directive may be used inside the "limit_except" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если все сервера апстрима оказывались недоступными,
- то до восстановления работоспособности
- у всех серверов вес становился равным одному;
- ошибка появилась в 0.6.6.
- </para>
- <para lang="en">
- if all upstream servers were failed, then all servers had got weight
- the was equal one until servers became alive;
- the bug had appeared in 0.6.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменных $date_local и $date_gmt вне модуля
- ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process
- if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании включённом отладочном логе
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if debug log was enabled.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_memcached_module не устанавливал $upstream_response_time.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- ngx_http_memcached_module did not set $upstream_response_time.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочий процесс мог зациклиться при использовании memcached.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop, if the memcached was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx распознавал параметры "close" и "keep-alive" в строке "Connection"
- в заголовке запроса только, если они были в нижнем регистре;
- ошибка появилась в 0.6.11.
- </para>
- <para lang="en">
- nginx supported low case only "close" and "keep-alive" values
- in the "Connection" request header line;
- the bug had appeared in 0.6.11.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- sub_filter не работал с пустой строкой замены.
- </para>
- <para lang="en">
- sub_filter did not work with empty substitution.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в парсинге sub_filter.
- </para>
- <para lang="en">
- in sub_filter parsing.
- </para>
- </change>
- </changes>
- <changes ver="0.6.13" date="2007-09-24">
- <change type="bugfix">
- <para lang="ru">
- nginx не закрывал файл каталога для запроса HEAD,
- если использовался autoindex<br/>
- Спасибо Arkadiusz Patyk.
- </para>
- <para lang="en">
- nginx did not close directory file on HEAD request if autoindex was used.<br/>
- Thanks to Arkadiusz Patyk.
- </para>
- </change>
- </changes>
- <changes ver="0.6.12" date="2007-09-21">
- <change type="change">
- <para lang="ru">
- почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp.
- </para>
- <para lang="en">
- mail proxy was split on three modules: pop3, imap and smtp.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры конфигурации --without-mail_pop3_module,
- --without-mail_imap_module и --without-mail_smtp_module.
- </para>
- <para lang="en">
- the --without-mail_pop3_module, --without-mail_imap_module,
- and --without-mail_smtp_module configuration parameters.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module.
- </para>
- <para lang="en">
- the "smtp_greeting_delay" and "smtp_client_buffer" directives
- of the ngx_mail_smtp_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- wildcard в конце имени сервера не работали;
- ошибка появилась в 0.6.9.
- </para>
- <para lang="en">
- the trailing wildcards did not work;
- the bug had appeared in 0.6.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании разделяемой библиотеки PCRE,
- расположенной в нестандартном месте, nginx не запускался на Solaris.
- </para>
- <para lang="en">
- nginx could not start on Solaris if the shared PCRE library located
- in non-standard place was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_hide_header и fastcgi_hide_header не скрывали
- строки заголовка ответа с именем больше 32 символов.<br/>
- Спасибо Manlio Perillo.
- </para>
- <para lang="en">
- the "proxy_hide_header" and "fastcgi_hide_header" directives did not
- hide response header lines whose name was longer than 32 characters.<br/>
- Thanks to Manlio Perillo.
- </para>
- </change>
- </changes>
- <changes ver="0.6.11" date="2007-09-11">
- <change type="bugfix">
- <para lang="ru">
- счётчик активных соединений всегда рос при использовании почтового
- прокси-сервера.
- </para>
- <para lang="en">
- active connection counter always increased if mail proxy was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если бэкенд возвращал только заголовок ответа при небуферизированном
- проксировании, то nginx закрывал соединение с бэкендом по таймауту.
- </para>
- <para lang="en">
- if backend returned response header only using non-buffered proxy,
- then nginx closed backend connection on timeout.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не поддерживал несколько строк "Connection" в заголовке запроса.
- </para>
- <para lang="en">
- nginx did not support several "Connection" request header lines.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в сервере апстрима был задан max_fails, то после первой же неудачной
- попытки вес сервера навсегда становился равным одному;
- ошибка появилась в 0.6.6.
- </para>
- <para lang="en">
- if the "max_fails" was set for upstream server, then after first
- failure server weight was always one;
- the bug had appeared in 0.6.6.
- </para>
- </change>
- </changes>
- <changes ver="0.6.10" date="2007-09-03">
- <change type="feature">
- <para lang="ru">
- директивы open_file_cache, open_file_cache_retest и open_file_cache_errors.
- </para>
- <para lang="en">
- the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
- directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- утечки сокетов;
- ошибка появилась в 0.6.7.
- </para>
- <para lang="en">
- socket leak;
- the bug had appeared in 0.6.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- В строку заголовка ответа "Content-Type", указанную в методе
- $r->send_http_header(), не добавлялась кодировка, указанная в директиве charset.
- </para>
- <para lang="en">
- a charset set by the "charset" directive was not appended
- to the "Content-Type" header set by $r->send_http_header().
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании метода /dev/poll
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if /dev/poll method was used.
- </para>
- </change>
- </changes>
- <changes ver="0.6.9" date="2007-08-28">
- <change type="bugfix">
- <para lang="ru">
- рабочий процесс мог зациклиться при использовании протокола HTTPS;
- ошибка появилась в 0.6.7.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop,
- if the HTTPS protocol was used;
- the bug had appeared in 0.6.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если сервер слушал на двух адресах или портах, то nginx не запускался
- при использовании wildcard в конце имени сервера.
- </para>
- <para lang="en">
- if server listened on two addresses or ports and trailing wildcard was used,
- then nginx did not run.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива ip_hash могла неверно помечать сервера как нерабочие.
- </para>
- <para lang="en">
- the "ip_hash" directive might incorrectly mark servers as down.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на amd64;
- ошибка появилась в 0.6.8.
- </para>
- <para lang="en">
- nginx could not be built on amd64;
- the bug had appeared in 0.6.8.
- </para>
- </change>
- </changes>
- <changes ver="0.6.8" date="2007-08-20">
- <change type="change">
- <para lang="ru">
- теперь nginx пытается установить директивы worker_priority,
- worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
- без привилегий root'а.
- </para>
- <para lang="en">
- now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
- "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
- privileges.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx экранирует символы пробела и "%" при передаче запроса
- серверу аутентификации почтового прокси-сервера.
- </para>
- <para lang="en">
- now nginx escapes space and "%" in request to a mail proxy authentication
- server.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь nginx экранирует символ "%" в переменной $memcached_key.
- </para>
- <para lang="en">
- now nginx escapes "%" in $memcached_key variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при указании относительного пути к конфигурационному файлу в качестве
- параметра ключа -c nginx определял путь относительно конфигурационного префикса;
- ошибка появилась в 0.6.6.
- </para>
- <para lang="en">
- nginx used path relative to configuration prefix for non-absolute
- configuration file path specified in the "-c" key;
- the bug had appeared in 0.6.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на FreeBSD/sparc64.
- </para>
- <para lang="en">
- nginx did not work on FreeBSD/sparc64.
- </para>
- </change>
- </changes>
- <changes ver="0.6.7" date="2007-08-15">
- <change type="change">
- <para lang="ru">
- теперь пути, указанные в директивах include, auth_basic_user_file,
- perl_modules, ssl_certificate, ssl_certificate_key и
- ssl_client_certificate, определяются относительно каталога конфигурационного
- файла nginx.conf, а не относительно префикса.
- </para>
- <para lang="en">
- now the paths specified in the "include", "auth_basic_user_file",
- "perl_modules", "ssl_certificate", "ssl_certificate_key", and
- "ssl_client_certificate" directives are relative to directory of
- nginx configuration file nginx.conf, but not to nginx prefix directory.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметр --sysconfdir=PATH в configure упразднён.
- </para>
- <para lang="en">
- the --sysconfdir=PATH option in configure was canceled.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- для обновления на лету версий 0.1.x создан специальный сценарий
- <nobr>make upgrade1.</nobr>
- </para>
- <para lang="en">
- the special make target "upgrade1" was defined for online upgrade of
- 0.1.x versions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы server_name и valid_referers поддерживают регулярные выражения.
- </para>
- <para lang="en">
- the "server_name" and "valid_referers" directives support regular expressions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server в блоке upstream поддерживает параметр backup.
- </para>
- <para lang="en">
- the "server" directive in the "upstream" context supports
- the "backup" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает метод $r->discard_request_body.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->discard_request_body.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива "add_header Last-Modified ..." меняет строку "Last-Modified"
- в заголовке ответа.
- </para>
- <para lang="en">
- the "add_header Last-Modified ..." directive changes the "Last-Modified"
- response header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если на запрос с телом возвращался ответ с кодом HTTP отличным от 200,
- и после этого запроса соединение переходило в состояние keep-alive,
- то на следующий запрос nginx возвращал 400.
- </para>
- <para lang="en">
- if a response different than 200 was returned to a request with body
- and connection went to the keep-alive state after the request, then
- nginx returned 400 for the next request.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве auth_http был задан неправильный адрес, то
- в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process
- if invalid address was set in the "auth_http" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь по умолчанию nginx использует значение 511 для listen backlog
- на всех платформах, кроме FreeBSD.<br/>
- Спасибо Jiang Hong.
- </para>
- <para lang="en">
- now nginx uses default listen backlog value 511 on all platforms
- except FreeBSD.<br/>
- Thanks to Jiang Hong.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочий процесс мог зациклиться, если server в блоке upstream был помечен
- как down;
- ошибка появилась в 0.6.6.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop, if a "server" inside
- "upstream" block was marked as "down";
- the bug had appeared in 0.6.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- sendfilev() в Solaris теперь не используется при передаче тела запроса
- FastCGI-серверу через unix domain сокет.
- </para>
- <para lang="en">
- now Solaris sendfilev() is not used to transfer the client request body
- to FastCGI-server via the unix domain socket.
- </para>
- </change>
- </changes>
- <changes ver="0.6.6" date="2007-07-30">
- <change type="feature">
- <para lang="ru">
- параметр --sysconfdir=PATH в configure.
- </para>
- <para lang="en">
- the --sysconfdir=PATH option in configure.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- именованные location'ы.
- </para>
- <para lang="en">
- named locations.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменную $args можно устанавливать с помощью set.
- </para>
- <para lang="en">
- the $args variable can be set with the "set" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $is_args.
- </para>
- <para lang="en">
- the $is_args variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- равномерное распределение запросов к апстримам с большими весами.
- </para>
- <para lang="en">
- fair big weight upstream balancer.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если клиент в почтовом прокси-сервере закрывал соединение,
- то nginx мог не закрывать соединение с бэкендом.
- </para>
- <para lang="en">
- if a client has closed connection to mail proxy
- then nginx might not close connection to backend.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS
- без явного указания портов, nginx использовал только один порт—80 или 443.
- </para>
- <para lang="en">
- if the same host without specified port was used as backend for HTTP and HTTPS,
- then nginx used only one port—80 or 443.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями;
- ошибка появилась в 0.6.4.
- </para>
- <para lang="en">
- fix building on Solaris/amd64 by Sun Studio 11 and early versions;
- the bug had appeared in 0.6.4.
- </para>
- </change>
- </changes>
- <changes ver="0.6.5" date="2007-07-23">
- <change type="feature">
- <para lang="ru">
- переменная $nginx_version.<br/>
- Спасибо Николаю Гречуху.
- </para>
- <para lang="en">
- $nginx_version variable.<br/>
- Thanks to Nick S. Grechukh.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- the mail proxy supports STARTTLS in SMTP mode.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx экранирует пробел в переменной $memcached_key.
- </para>
- <para lang="en">
- now nginx escapes space in $memcached_key variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx неправильно собирался Sun Studio на Solaris/amd64.<br/>
- Спасибо Jiang Hong.
- </para>
- <para lang="en">
- nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
- Thanks to Jiang Hong.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- незначительных потенциальных ошибок.<br/>
- Спасибо Coverity's Scan.
- </para>
- <para lang="en">
- of minor potential bugs.<br/>
- Thanks to Coverity's Scan.
- </para>
- </change>
- </changes>
- <changes ver="0.6.4" date="2007-07-17">
- <change type="security">
- <para lang="ru">
- при использовании директивы msie_refresh был возможен XSS.<br/>
- Спасибо Максиму Богуку.
- </para>
- <para lang="en">
- the "msie_refresh" directive allowed XSS.<br/>
- Thanks to Maxim Boguk.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы proxy_store и fastcgi_store изменены.
- </para>
- <para lang="en">
- the "proxy_store" and "fastcgi_store" directives were changed.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_store_access и fastcgi_store_access.
- </para>
- <para lang="en">
- the "proxy_store_access" and "fastcgi_store_access" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обход ошибки в Sun Studio 12.<br/>
- Спасибо Jiang Hong.
- </para>
- <para lang="en">
- for Sun Studio 12.<br/>
- Thanks to Jiang Hong.
- </para>
- </change>
- </changes>
- <changes ver="0.6.3" date="2007-07-12">
- <change type="feature">
- <para lang="ru">
- директивы proxy_store и fastcgi_store.
- </para>
- <para lang="en">
- the "proxy_store" and "fastcgi_store" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы auth_http_header
- в рабочем процессе мог произойти segmentation fault.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if the "auth_http_header" directive was used.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовался метод аутентификации CRAM-MD5, но он не был разрешён,
- то в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process
- if the CRAM-MD5 authentication method was used, but it was not enabled.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании протокола HTTPS в директиве proxy_pass
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process when
- the HTTPS protocol was used in the "proxy_pass" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в рабочем процессе мог произойти segmentation fault,
- если использовался метод eventport.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if the eventport method was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали;
- ошибка появилась в 0.5.13.
- </para>
- <para lang="en">
- the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
- did not work;
- the bug had appeared in 0.5.13.
- </para>
- </change>
- </changes>
- <changes ver="0.6.2" date="2007-07-09">
- <change type="bugfix">
- <para lang="ru">
- если заголовок ответа был разделён в FastCGI-записях, то nginx передавал
- клиенту мусор в таких заголовках.
- </para>
- <para lang="en">
- if the FastCGI header was split in records,
- then nginx passed garbage in the header to a client.
- </para>
- </change>
- </changes>
- <changes ver="0.6.1" date="2007-06-17">
- <change type="bugfix">
- <para lang="ru">
- в парсинге SSI.
- </para>
- <para lang="en">
- in SSI parsing.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании удалённого подзапроса в SSI последующий
- подзапрос локального файла мог отдаваться клиенту в неверном порядке.
- </para>
- <para lang="en">
- if remote SSI subrequest was used, then posterior local file subrequest
- might transferred to client in wrong order.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- большие включения в SSI, сохранённые во временные файлы,
- передавались не полностью.
- </para>
- <para lang="en">
- large SSI inclusions buffered in temporary files were truncated.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- значение perl'овой переменной $$ модуля ngx_http_perl_module было равно
- номеру главного процесса.
- </para>
- <para lang="en">
- the perl $$ variable value in ngx_http_perl_module was equal to the master
- process identification number.
- </para>
- </change>
- </changes>
- <changes ver="0.6.0" date="2007-06-14">
- <change type="feature">
- <para lang="ru">
- директивы "server_name", "map", and "valid_referers" поддерживают
- маски вида "www.example.*".
- </para>
- <para lang="en">
- the "server_name", "map", and "valid_referers" directives support
- the "www.example.*" wildcards.
- </para>
- </change>
- </changes>
- <changes ver="0.5.25" date="2007-06-11">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-http_rewrite_module;
- ошибка появилась в 0.5.24.
- </para>
- <para lang="en">
- nginx could not be built with the --without-http_rewrite_module parameter;
- the bug had appeared in 0.5.24.
- </para>
- </change>
- </changes>
- <changes ver="0.5.24" date="2007-06-06">
- <change type="security">
- <para lang="ru">
- директива ssl_verify_client не работала, если запрос выполнялся
- по протоколу HTTP/0.9.
- </para>
- <para lang="en">
- the "ssl_verify_client" directive did not work if request was made
- using HTTP/0.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании сжатия часть ответа могла передаваться несжатой;
- ошибка появилась в 0.5.23.
- </para>
- <para lang="en">
- a part of response body might be passed uncompressed if gzip was used;
- the bug had appeared in 0.5.23.
- </para>
- </change>
- </changes>
- <changes ver="0.5.23" date="2007-06-04">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication.
- </para>
- <para lang="en">
- the ngx_http_ssl_module supports Server Name Indication TLS extension.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_catch_stderr.<br/>
- Спасибо Николаю Гречуху, проект OWOX.
- </para>
- <para lang="en">
- the "fastcgi_catch_stderr" directive.<br/>
- Thanks to Nick S. Grechukh, OWOX project.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на Линуксе в основном процессе происходил segmentation fault,
- если два виртуальных сервера должны bind()ится к пересекающимся портам.
- </para>
- <para lang="en">
- a segmentation fault occurred in master process if
- two virtual servers should bind() to the overlapping ports.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с модулем ngx_http_perl_module и perl
- поддерживал потоки, то во время второй переконфигурации
- выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
- </para>
- <para lang="en">
- if nginx was built with ngx_http_perl_module and perl supported threads,
- then during second reconfiguration the error messages
- "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании протокола HTTPS в директиве proxy_pass.
- </para>
- <para lang="en">
- in the HTTPS protocol in the "proxy_pass" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.5.22" date="2007-05-29">
- <change type="bugfix">
- <para lang="ru">
- большое тело запроса могло не передаваться бэкенду;
- ошибка появилась в 0.5.21.
- </para>
- <para lang="en">
- a big request body might not be passed to backend;
- the bug had appeared in 0.5.21.
- </para>
- </change>
- </changes>
- <changes ver="0.5.21" date="2007-05-28">
- <change type="bugfix">
- <para lang="ru">
- если внутри сервера описано больше примерно десяти location'ов,
- то location'ы, заданные с помощью регулярного выражения,
- могли выполняться не в том, порядке, в каком они описаны.
- </para>
- <para lang="en">
- if server has more than about ten locations, then regex locations
- might be chosen not in that order as they were specified.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий
- по счёту или последующий бэкенд упал.<br/>
- Спасибо Антону Поварову.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop on 64-bit platform,
- if the 33-rd or next in succession backend has failed.<br/>
- Thanks to Anton Povarov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании библиотеки PCRE на Solaris/sparc64
- мог произойти bus error.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании протокола HTTPS в директиве proxy_pass.
- </para>
- <para lang="en">
- in the HTTPS protocol in the "proxy_pass" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.5.20" date="2007-05-07">
- <change type="feature">
- <para lang="ru">
- директива sendfile_max_chunk.
- </para>
- <para lang="en">
- the "sendfile_max_chunk" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$http_...", "$sent_http_..." и "$upstream_http_..."
- можно менять директивой set.
- </para>
- <para lang="en">
- the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
- may be changed using the "set" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SSI-команды 'if expr="$var = /"'
- в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if the SSI command 'if expr="$var = /"' was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- завершающая строка multipart range ответа передавалась неверно.<br/>
- Спасибо Evan Miller.
- </para>
- <para lang="en">
- trailing boundary of multipart range response was transferred incorrectly.<br/>
- Thanks to Evan Miller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_perl_module не собирался make в Solaris.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- the ngx_http_perl_module could not be built by Solaris make.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- </changes>
- <changes ver="0.5.19" date="2007-04-24">
- <change type="change">
- <para lang="ru">
- значение переменной $request_time теперь записывается с точностью
- до миллисекунд.
- </para>
- <para lang="en">
- now the $request_time variable has millisecond precision.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush.
- </para>
- <para lang="en">
- the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $upstream_addr.
- </para>
- <para lang="en">
- the $upstream_addr variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/>
- Спасибо Володымыру Костырко.
- </para>
- <para lang="en">
- the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
- directives.<br/>
- Thanks to Volodymyr Kostyrko.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании sendfile и limit_rate на 64-битных платформах
- нельзя было передавать файлы больше 2G.
- </para>
- <para lang="en">
- the files more than 2G could not be transferred using sendfile and limit_rate
- on 64-bit platforms.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании sendfile на 64-битном Linux нельзя было передавать файлы
- больше 2G.
- </para>
- <para lang="en">
- the files more than 2G could not be transferred using sendfile on 64-bit Linux.
- </para>
- </change>
- </changes>
- <changes ver="0.5.18" date="2007-04-19">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_sub_filter_module.
- </para>
- <para lang="en">
- the ngx_http_sub_filter_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$upstream_http_...".
- </para>
- <para lang="en">
- the "$upstream_http_..." variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь переменные $upstream_status и $upstream_response_time
- содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect.
- </para>
- <para lang="en">
- now the $upstream_status and $upstream_response_time variables
- keep data about all upstreams before X-Accel-Redirect.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx был собран с модулем ngx_http_perl_module и perl
- не поддерживал multiplicity, то после первой переконфигурации
- и после получения любого сигнала
- в основном процессе происходил segmentation fault;
- ошибка появилась в 0.5.9.
- </para>
- <para lang="en">
- a segmentation fault occurred in master process
- after first reconfiguration and receiving any signal
- if nginx was built with ngx_http_perl_module and perl
- did not support multiplicity;
- the bug had appeared in 0.5.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если perl не поддерживал multiplicity, то после переконфигурации
- перловый код не работал;
- ошибка появилась в 0.3.38.
- </para>
- <para lang="en">
- if perl did not support multiplicity, then after reconfiguration
- perl code did not work;
- the bug had appeared in 0.3.38.
- </para>
- </change>
- </changes>
- <changes ver="0.5.17" date="2007-04-02">
- <change type="change">
- <para lang="ru">
- теперь nginx для метода TRACE всегда возвращает код 405.
- </para>
- <para lang="en">
- now nginx always returns the 405 status for the TRACE method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь nginx поддерживает директиву include внутри блока types.
- </para>
- <para lang="en">
- now nginx supports the "include" directive inside the "types" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- использование переменной $document_root в директиве root и alias
- запрещено: оно вызывало рекурсивное переполнение стека.
- </para>
- <para lang="en">
- the $document_root variable usage in the "root" and "alias" directives
- is disabled: this caused recursive stack overflow.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании протокола HTTPS в директиве proxy_pass.
- </para>
- <para lang="en">
- in the HTTPS protocol in the "proxy_pass" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в некоторых случаях некэшируемые переменные (такие, как $uri)
- возвращали старое закэшированное значение.
- </para>
- <para lang="en">
- in some cases non-cacheable variables (such as $uri variable)
- returned old cached value.
- </para>
- </change>
- </changes>
- <changes ver="0.5.16" date="2007-03-26">
- <change type="bugfix">
- <para lang="ru">
- в качестве ключа для хэша в директиве ip_hash не использовалась сеть
- класса С.<br/>
- Спасибо Павлу Ярковому.
- </para>
- <para lang="en">
- the C-class network was not used as hash key in the "ip_hash" directive.<br/>
- Thanks to Pavel Yarkovoy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в строке "Content-Type" в заголовке ответа бэкенда был указан charset
- и строка завершалась символом ";",
- то в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if a charset was set in the "Content-Type" header line and the line
- has trailing ";";
- the bug had appeared in 0.3.50.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если
- тело запроса, записанное во временный файл, было кратно 32K.
- </para>
- <para lang="en">
- the "[alert] zero size buf" error when FastCGI server was used and
- a request body written in a temporary file was multiple of 32K.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Solaris без параметра --with-debug;
- ошибка появилась в 0.5.15.
- </para>
- <para lang="en">
- nginx could not be built on Solaris without the --with-debug option;
- the bug had appeared in 0.5.15.
- </para>
- </change>
- </changes>
- <changes ver="0.5.15" date="2007-03-19">
- <change type="feature">
- <para lang="ru">
- почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и
- директивы smtp_auth, smtp_capabilities и xclient.<br/>
- Спасибо Антону Южанинову и Максиму Дунину.
- </para>
- <para lang="en">
- the mail proxy supports authenticated SMTP proxying and
- the "smtp_auth", "smtp_capabilities", and "xclient" directives.<br/>
- Thanks to Anton Yuzhaninov and Maxim Dounin.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь keep-alive соединения закрываются сразу же по получении сигнала
- переконфигурации.
- </para>
- <para lang="en">
- now the keep-alive connections are closed just after receiving
- the reconfiguration signal.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы imap и auth переименованы соответственно в mail и pop3_auth.
- </para>
- <para lang="en">
- the "imap" and "auth" directives were renamed
- to the "mail" and "pop3_auth" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP,
- то в рабочем процессе происходил segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault occurred in worker process
- if the CRAM-MD5 authentication method was used
- and the APOP method was disabled.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы starttls only в протоколе POP3 nginx
- разрешал аутентификацию без перехода в режим SSL.
- </para>
- <para lang="en">
- if the "starttls only" directive was used in POP3 protocol,
- then nginx allowed authentication without switching to the SSL mode.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочие процессы не выходили после переконфигурации и не переоткрывали логи,
- если использовался метод eventport.
- </para>
- <para lang="en">
- worker processes did not exit after reconfiguration and
- did not rotate logs if the eventport method was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы ip_hash рабочий процесс мог зациклиться.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop,
- if the "ip_hash" directive was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь nginx не пишет в лог некоторые alert'ы,
- если используются методы eventport или /dev/poll.
- </para>
- <para lang="en">
- now nginx does not log some alerts if eventport or /dev/poll methods are used.
- </para>
- </change>
- </changes>
- <changes ver="0.5.14" date="2007-02-23">
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал лишние закрывающие скобки "}" в конце
- конфигурационного файла.
- </para>
- <para lang="en">
- nginx ignored superfluous closing "}" in the end of configuration file.
- </para>
- </change>
- </changes>
- <changes ver="0.5.13" date="2007-02-19">
- <change type="feature">
- <para lang="ru">
- методы COPY и MOVE.
- </para>
- <para lang="en">
- the COPY and MOVE methods.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_realip_module устанавливал мусор для запросов,
- переданных по keep-alive соединению.
- </para>
- <para lang="en">
- the ngx_http_realip_module set garbage for requests passed via
- keep-alive connection.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на 64-битном big-endian Linux.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- nginx did not work on big-endian 64-bit Linux.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при получении слишком длинной команды IMAP/POP3-прокси теперь сразу
- закрывает соединение, а не по таймауту.
- </para>
- <para lang="en">
- now when IMAP/POP3 proxy receives too long command it closes the connection
- right away, but not after timeout.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании метода epoll клиент закрывал преждевременно
- соединение со своей стороны, то nginx закрывал это соединение только
- по истечении таймаута на передачу.
- </para>
- <para lang="en">
- if the "epoll" method was used and a client closed a connection prematurely,
- then nginx closed the connection after a send timeout only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
- ошибка появилась в 0.5.8.
- </para>
- <para lang="en">
- nginx could not be built on platforms different from i386, amd64, sparc,
- and ppc;
- the bug had appeared in 0.5.8.
- </para>
- </change>
- </changes>
- <changes ver="0.5.12" date="2007-02-12">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
- ошибка появилась в 0.5.8.
- </para>
- <para lang="en">
- nginx could not be built on platforms different from i386, amd64, sparc,
- and ppc;
- the bug had appeared in 0.5.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании временных файлов в время работы с FastCGI-сервером
- в рабочем процессе мог произойти segmentation fault;
- ошибка появилась в 0.5.8.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if the temporary files were used while working with FastCGI server;
- the bug had appeared in 0.5.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если переменная $fastcgi_script_name записывалась в лог,
- то в рабочем процессе мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if the $fastcgi_script_name variable was logged.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_perl_module не собирался на Solaris.
- </para>
- <para lang="en">
- ngx_http_perl_module could not be built on Solaris.
- </para>
- </change>
- </changes>
- <changes ver="0.5.11" date="2007-02-05">
- <change type="feature">
- <para lang="ru">
- теперь configure определяет библиотеку PCRE в MacPorts.<br/>
- Спасибо Chris McGrath.
- </para>
- <para lang="en">
- now configure detects system PCRE library in MacPorts.<br/>
- Thanks to Chris McGrath.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ был неверным, если запрашивалось несколько диапазонов;
- ошибка появилась в 0.5.6.
- </para>
- <para lang="en">
- the response was incorrect if several ranges were requested;
- the bug had appeared in 0.5.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива create_full_put_path не могла создавать промежуточные каталоги,
- если не была установлена директива dav_access.<br/>
- Спасибо Evan Miller.
- </para>
- <para lang="en">
- the "create_full_put_path" directive could not create the intermediate
- directories if no "dav_access" directive was set.<br/>
- Thanks to Evan Miller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- вместо кодов ошибок "400" и "408" в access_log мог записываться код "0".
- </para>
- <para lang="en">
- the "0" response code might be logged in the access_log instead of
- the "400" and "408" error codes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при сборке с оптимизацией -O2 в рабочем процессе мог произойти
- segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if nginx was built with -O2 optimization.
- </para>
- </change>
- </changes>
- <changes ver="0.5.10" date="2007-01-26">
- <change type="bugfix">
- <para lang="ru">
- во время обновления исполняемого файла новый процесс не наследовал
- слушающие сокеты;
- ошибка появилась в 0.5.9.
- </para>
- <para lang="en">
- while online executable file upgrade the new master process did not
- inherit the listening sockets;
- the bug had appeared in 0.5.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при сборке с оптимизацией -O2 в рабочем процессе мог произойти
- segmentation fault;
- ошибка появилась в 0.5.1.
- </para>
- <para lang="en">
- a segmentation fault might occur in worker process
- if nginx was built with -O2 optimization;
- the bug had appeared in 0.5.1.
- </para>
- </change>
- </changes>
- <changes ver="0.5.9" date="2007-01-25">
- <change type="change">
- <para lang="ru">
- модуль ngx_http_memcached_module теперь в качестве ключа использует
- значение переменной $memcached_key.
- </para>
- <para lang="en">
- now the ngx_http_memcached_module uses the $memcached_key variable value
- as a key.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $memcached_key.
- </para>
- <para lang="en">
- the $memcached_key variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр clean в директиве client_body_in_file_only.
- </para>
- <para lang="en">
- the "clean" parameter in the "client_body_in_file_only" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива env.
- </para>
- <para lang="en">
- the "env" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива sendfile работает внутри блока if.
- </para>
- <para lang="en">
- the "sendfile" directive is available inside the "if" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь при ошибке записи в access_log nginx записывает сообщение в error_log,
- но не чаще одного раза в минуту.
- </para>
- <para lang="en">
- now on failure of the writing to access nginx logs a message to error_log,
- but not more often than once a minute.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива "access_log off" не всегда запрещала запись в лог.
- </para>
- <para lang="en">
- the "access_log off" directive did not always turn off the logging.
- </para>
- </change>
- </changes>
- <changes ver="0.5.8" date="2007-01-19">
- <change type="bugfix">
- <para lang="ru">
- если использовалась директива <nobr>"client_body_in_file_only on"</nobr>
- и тело запроса было небольшое, то мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur if
- <nobr>"client_body_in_file_only on"</nobr> was used
- and a request body was small.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- происходил segmentation fault, если использовались директивы
- <nobr>"client_body_in_file_only on"</nobr>
- и <nobr>"proxy_pass_request_body off"</nobr>
- или <nobr>"fastcgi_pass_request_body off"</nobr>,
- и делался переход к следующему бэкенду.
- </para>
- <para lang="en">
- a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
- and <nobr>"proxy_pass_request_body off"</nobr>
- or <nobr>"fastcgi_pass_request_body off"</nobr>
- directives were used, and nginx switched to a next upstream.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании директивы "proxy_buffering off" соединение с клиентом
- было неактивно, то оно закрывалось по таймауту, заданному директивой
- send_timeout;
- ошибка появилась в 0.4.7.
- </para>
- <para lang="en">
- if the "proxy_buffering off" directive was used and a client connection
- was non-active, then the connection was closed after send timeout;
- the bug had appeared in 0.4.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании метода epoll клиент закрывал преждевременно
- соединение со своей стороны, то nginx закрывал это соединение только
- по истечении таймаута на передачу.
- </para>
- <para lang="en">
- if the "epoll" method was used and a client closed a connection prematurely,
- then nginx closed the connection after a send timeout only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "[alert] zero size buf" при работе с FastCGI-сервером.
- </para>
- <para lang="en">
- the "[alert] zero size buf" error when FastCGI server was used.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправление ошибок в директиве limit_zone.
- </para>
- <para lang="en">
- Bugfixes in the "limit_zone" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.5.7" date="2007-01-15">
- <change type="feature">
- <para lang="ru">
- оптимизация использования памяти в ssl_session_cache.
- </para>
- <para lang="en">
- the ssl_session_cache storage optimization.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправление ошибок в директивах ssl_session_cache и limit_zone.
- </para>
- <para lang="en">
- Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на старте или во время переконфигурации происходил segmentation fault,
- если директивы ssl_session_cache или limit_zone использовались
- на 64-битных платформах.
- </para>
- <para lang="en">
- the segmentation fault was occurred on start or while reconfiguration
- if the "ssl_session_cache" or "limit_zone" directives were used
- on 64-bit platforms.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директив add_before_body или add_after_body происходил
- segmentation fault, если в заголовке ответа нет строки "Content-Type".
- </para>
- <para lang="en">
- a segmentation fault occurred if the "add_before_body" or "add_after_body"
- directives were used and there was no "Content-Type" header line in response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/>
- Спасибо Дену Иванову.
- </para>
- <para lang="en">
- the OpenSSL library was always built with the threads support.<br/>
- Thanks to Den Ivanov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость библиотеки PCRE-6.5+ и компилятора icc.
- </para>
- <para lang="en">
- the PCRE-6.5+ library and the icc compiler compatibility.
- </para>
- </change>
- </changes>
- <changes ver="0.5.6" date="2007-01-09">
- <change type="change">
- <para lang="ru">
- теперь модуль ngx_http_index_module игнорирует все методы,
- кроме GET, HEAD и POST.
- </para>
- <para lang="en">
- now the ngx_http_index_module ignores all methods except the GET, HEAD, and
- POST methods.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_limit_zone_module.
- </para>
- <para lang="en">
- the ngx_http_limit_zone_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $binary_remote_addr.
- </para>
- <para lang="en">
- the $binary_remote_addr variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module.
- </para>
- <para lang="en">
- the "ssl_session_cache" directives
- of the ngx_http_ssl_module and ngx_imap_ssl_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- метод DELETE поддерживает рекурсивное удаление.
- </para>
- <para lang="en">
- the DELETE method supports recursive removal.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании $r->sendfile() byte-ranges передавались неверно.
- </para>
- <para lang="en">
- the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
- </para>
- </change>
- </changes>
- <changes ver="0.5.5" date="2006-12-24">
- <change type="change">
- <para lang="ru">
- ключ -v больше не выводит информацию о компиляторе.
- </para>
- <para lang="en">
- the -v switch does not show compiler information any more.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -V.
- </para>
- <para lang="en">
- the -V switch.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива worker_rlimit_core поддерживает указание размера в K, M и G.
- </para>
- <para lang="en">
- the "worker_rlimit_core" directive supports size in K, M, and G.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль nginx.pm теперь может устанавливаться непривилегированным пользователем.
- </para>
- <para lang="en">
- the nginx.pm module now could be installed by an unprivileged user.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании методов $r->request_body или $r->request_body_file мог
- произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur if the $r->request_body or
- $r->request_body_file methods were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибок, специфичных для платформы ppc.
- </para>
- <para lang="en">
- the ppc platform specific bugs.
- </para>
- </change>
- </changes>
- <changes ver="0.5.4" date="2006-12-15">
- <change type="feature">
- <para lang="ru">
- директиву perl можно использовать внутри блока limit_except.
- </para>
- <para lang="en">
- the "perl" directive may be used inside the "limit_except" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса
- для метода DELETE.
- </para>
- <para lang="en">
- the ngx_http_dav_module required the "Date" request header line
- for the DELETE method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании одного параметра в директиве dav_access nginx мог
- сообщить об ошибке в конфигурации.
- </para>
- <para lang="en">
- if one only parameter was used in the "dav_access" directive, then
- nginx might report about configuration error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменной $host мог произойти segmentation fault;
- ошибка появилась в 0.4.14.
- </para>
- <para lang="en">
- a segmentation fault might occur if the $host variable was used;
- the bug had appeared in 0.4.14.
- </para>
- </change>
- </changes>
- <changes ver="0.5.3" date="2006-12-13">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error
- и $r->sleep.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->status, $r->log_error,
- and $r->sleep methods.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а.
- </para>
- <para lang="en">
- the $r->variable method supports variables that do not exist in nginx
- configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод $r->has_request_body не работал.
- </para>
- <para lang="en">
- the $r->has_request_body method did not work.
- </para>
- </change>
- </changes>
- <changes ver="0.5.2" date="2006-12-11">
- <change type="bugfix">
- <para lang="ru">
- если в директивах proxy_pass использовалось имя, указанное в upstream,
- то nginx пытался найти IP-адрес этого имени;
- ошибка появилась в 0.5.1.
- </para>
- <para lang="en">
- if the "proxy_pass" directive used the name of the "upstream" block,
- then nginx tried to resolve the name;
- the bug had appeared in 0.5.1.
- </para>
- </change>
- </changes>
- <changes ver="0.5.1" date="2006-12-11">
- <change type="bugfix">
- <para lang="ru">
- директива post_action могла не работать после неудачного завершения запроса.
- </para>
- <para lang="en">
- the "post_action" directive might not run after a unsuccessful completion
- of a request.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обход ошибки в Eudora для Mac;
- ошибка появилась в 0.4.11.<br/>
- Спасибо Bron Gondwana.
- </para>
- <para lang="en">
- for Eudora for Mac;
- the bug had appeared in 0.4.11.<br/>
- Thanks to Bron Gondwana.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось
- сообщение "no port in upstream";
- ошибка появилась в 0.5.0.
- </para>
- <para lang="en">
- if the "upstream" name was used in the "fastcgi_pass", then the message
- "no port in upstream" was issued;
- the bug had appeared in 0.5.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена
- серверов, но с разными портами, то эти директивы использовали первый
- описанный порт;
- ошибка появилась в 0.5.0.
- </para>
- <para lang="en">
- if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
- different ports, then these directives uses the first described port;
- the bug had appeared in 0.5.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты,
- то эти директивы использовали первый описанный сокет;
- ошибка появилась в 0.5.0.
- </para>
- <para lang="en">
- if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
- then these directives used first described socket;
- the bug had appeared in 0.5.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_auth_basic_module игнорировал пользователя, если он был указан
- в последней строке файла паролей и после пароля не было перевода строки,
- возврата каретки или символа ":".
- </para>
- <para lang="en">
- ngx_http_auth_basic_module ignored the user if it was in the last line in
- the password file and there was no the carriage return, the line feed,
- or the ":" symbol after the password.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $upstream_response_time могла быть равна "0.000", хотя время
- обработки было больше 1 миллисекунды.
- </para>
- <para lang="en">
- the $upstream_response_time variable might be equal to "0.000", although
- response time was more than 1 millisecond.
- </para>
- </change>
- </changes>
- <changes ver="0.5.0" date="2006-12-04">
- <change type="change">
- <para lang="ru">
- параметры в виде "%name" в директиве log_format больше не поддерживаются.
- </para>
- <para lang="en">
- the parameters in the "%name" form in the "log_format" directive
- are not supported anymore.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
- fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout,
- memcached_upstream_max_fails и memcached_upstream_fail_timeout
- больше не поддерживаются.
- </para>
- <para lang="en">
- the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
- "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
- "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
- directives are not supported anymore.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server в блоке upstream поддерживает параметры
- max_fails, fail_timeout и down.
- </para>
- <para lang="en">
- the "server" directive in the "upstream" context supports
- the "max_fails", "fail_timeout", and "down" parameters.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ip_hash в блоке upstream.
- </para>
- <para lang="en">
- the "ip_hash" directive inside the "upstream" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации
- IMAP/POP3 прокси.
- </para>
- <para lang="en">
- the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
- authentication server response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на 64-битных платформах;
- ошибка появилась в 0.4.14.
- </para>
- <para lang="en">
- nginx could not be built on 64-bit platforms;
- the bug had appeared in 0.4.14.
- </para>
- </change>
- </changes>
- <changes ver="0.4.14" date="2006-11-27">
- <change type="feature">
- <para lang="ru">
- директива proxy_pass_error_message в IMAP/POP3 прокси.
- </para>
- <para lang="en">
- the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD.
- </para>
- <para lang="en">
- now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков;
- ошибка появилась в 0.3.38.
- </para>
- <para lang="en">
- ngx_http_perl_module did not work with perl built with the threads support;
- the bug had appeared in 0.3.38.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно.
- </para>
- <para lang="en">
- ngx_http_perl_module did not work if perl was called recursively.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx игнорировал имя сервера в строке запроса.
- </para>
- <para lang="en">
- nginx ignored a host name in a request line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если FastCGI сервер передавал много в stderr,
- то рабочий процесс мог зациклиться.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop,
- if a FastCGI server sent too many data to the stderr.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при изменении системного времени переменная $upstream_response_time
- могла быть отрицательной.
- </para>
- <para lang="en">
- the $upstream_response_time variable may be negative if the system time
- was changed backward.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании POP3 серверу аутентификации IMAP/POP3 прокси
- не передавался параметр Auth-Login-Attempt.
- </para>
- <para lang="en">
- the "Auth-Login-Attempt" parameter was not sent to
- IMAP/POP3 proxy authentication server when POP3 was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при ошибке соединения с сервером аутентификации IMAP/POP3 прокси
- мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur if connect to IMAP/POP3 proxy
- authentication server failed.
- </para>
- </change>
- </changes>
- <changes ver="0.4.13" date="2006-11-15">
- <change type="feature">
- <para lang="ru">
- директиву proxy_pass можно использовать внутри блока limit_except.
- </para>
- <para lang="en">
- the "proxy_pass" directive may be used inside the "limit_except" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива limit_except поддерживает все WebDAV методы.
- </para>
- <para lang="en">
- the "limit_except" directive supports all WebDAV methods.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы add_before_body без директивы add_after_body
- ответ передавался не полностью.
- </para>
- <para lang="en">
- if the "add_before_body" directive was used without
- the "add_after_body" directive, then a response did not transferred complete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- большое тело запроса не принималось, если использовались метод epoll
- и deferred accept().
- </para>
- <para lang="en">
- a large request body did not receive if the epoll method
- and the deferred accept() were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для ответов модуля ngx_http_autoindex_module не выставлялась кодировка;
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- a charset could not be set for ngx_http_autoindex_module responses;
- the bug had appeared in 0.3.50.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "[alert] zero size buf" при работе с FastCGI-сервером;
- </para>
- <para lang="en">
- the "[alert] zero size buf" error when FastCGI server was used;
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр конфигурации --group= игнорировался.<br/>
- Спасибо Thomas Moschny.
- </para>
- <para lang="en">
- the --group= configuration parameter was ignored.<br/>
- Thanks to Thomas Moschny.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- 50-й подзапрос в SSI ответе не работал;
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- the 50th subrequest in SSI response did not work;
- the bug had appeared in 0.3.50.
- </para>
- </change>
- </changes>
- <changes ver="0.4.12" date="2006-10-31">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает метод $r->variable.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->variable method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включении в ответ большого статического файла с помощью SSI
- ответ мог передаваться не полностью.
- </para>
- <para lang="en">
- if a big static file was included using SSI in a response,
- then the response may be transferred incomplete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не убирал "#fragment" в URI.
- </para>
- <para lang="en">
- nginx did not omit the "#fragment" part in URI.
- </para>
- </change>
- </changes>
- <changes ver="0.4.11" date="2006-10-25">
- <change type="feature">
- <para lang="ru">
- POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5.
- </para>
- <para lang="en">
- the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает метод $r->allow_ranges.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->allow_ranges method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включённой поддержке команды APOP в POP3 прокси могли
- не работать команды USER/PASS;
- ошибка появилась в 0.4.10.
- </para>
- <para lang="en">
- if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
- might not work;
- the bug had appeared in 0.4.10.
- </para>
- </change>
- </changes>
- <changes ver="0.4.10" date="2006-10-23">
- <change type="feature">
- <para lang="ru">
- POP3 прокси поддерживает APOP.
- </para>
- <para lang="en">
- the POP3 proxy supports the APOP command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании методов select, poll и /dev/poll во время ожидания
- ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор.
- </para>
- <para lang="en">
- if the select, poll or /dev/poll methods were used, then while
- waiting authentication server response the IMAP/POP3 proxy hogged CPU.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменной $server_addr в директиве map мог
- произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault might occur if the $server_addr variable was used
- in the "map" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов;
- ошибка появилась в 0.4.7.
- </para>
- <para lang="en">
- the ngx_http_flv_module did not support the byte ranges for full responses;
- the bug had appeared in 0.4.7.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Debian amd64;
- ошибка появилась в 0.4.9.
- </para>
- <para lang="en">
- nginx could not be built on Debian amd64;
- the bug had appeared in 0.4.9.
- </para>
- </change>
- </changes>
- <changes ver="0.4.9" date="2006-10-13">
- <change type="feature">
- <para lang="ru">
- параметр set в команде SSI include.
- </para>
- <para lang="en">
- the "set" parameter in the "include" SSI command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm.
- </para>
- <para lang="en">
- the ngx_http_perl_module now tests the nginx.pm module version.
- </para>
- </change>
- </changes>
- <changes ver="0.4.8" date="2006-10-11">
- <change type="bugfix">
- <para lang="ru">
- если до команды SSI include с параметром wait выполнялась ещё
- одна команда SSI include, то параметр wait мог не работать.
- </para>
- <para lang="en">
- if an "include" SSI command were before another "include" SSI command
- with a "wait" parameter, then the "wait" parameter might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/>
- Спасибо Алексею Ковырину.
- </para>
- <para lang="en">
- the ngx_http_flv_module added the FLV header to the full responses.<br/>
- Thanks to Alexey Kovyrin.
- </para>
- </change>
- </changes>
- <changes ver="0.4.7" date="2006-10-10">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_flv_module.
- </para>
- <para lang="en">
- the ngx_http_flv_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $request_body_file.
- </para>
- <para lang="en">
- the $request_body_file variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы charset и source_charset поддерживают переменные.
- </para>
- <para lang="en">
- the "charset" and "source_charset" directives support the variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если до команды SSI include с параметром wait выполнялась ещё
- одна команда SSI include, то параметр wait мог не работать.
- </para>
- <para lang="en">
- if an "include" SSI command were before another "include" SSI command
- with a "wait" parameter, then the "wait" parameter might not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании директивы "proxy_buffering off" или при работе
- с memcached соединения могли не закрываться по таймауту.
- </para>
- <para lang="en">
- if the "proxy_buffering off" directive was used or while working with
- memcached the connections might not be closed on timeout.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
- </para>
- <para lang="en">
- nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
- </para>
- </change>
- </changes>
- <changes ver="0.4.6" date="2006-10-06">
- <change type="bugfix">
- <para lang="ru">
- nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
- </para>
- <para lang="en">
- nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами,
- если длина ответа в методе $r->headers_out("Content-Length", ...)
- была задана текстовой строкой.
- </para>
- <para lang="en">
- nginx sent the chunked response for HTTP/1.1 request,<br/>
- if its length was set by text string in
- the $r->headers_out("Content-Length", ...) method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после перенаправления ошибки с помощью директивы error_page любая директива
- модуля ngx_http_rewrite_module возвращала эту ошибку;
- ошибка появилась в 0.4.4.
- </para>
- <para lang="en">
- after redirecting error by an "error_page" directive
- any ngx_http_rewrite_module directive returned this error code;
- the bug had appeared in 0.4.4.
- </para>
- </change>
- </changes>
- <changes ver="0.4.5" date="2006-10-02">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Linux и Solaris;
- ошибка появилась в 0.4.4.
- </para>
- <para lang="en">
- nginx could not be built on Linux and Solaris;
- the bug had appeared in 0.4.4.
- </para>
- </change>
- </changes>
- <changes ver="0.4.4" date="2006-10-02">
- <change type="feature">
- <para lang="ru">
- переменная $scheme.
- </para>
- <para lang="en">
- the $scheme variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива expires поддерживает параметр max.
- </para>
- <para lang="en">
- the "expires" directive supports the "max" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива include поддерживает маску "*".<br/>
- Спасибо Jonathan Dance.
- </para>
- <para lang="en">
- the "include" directive supports the "*" mask.<br/>
- Thanks to Jonathan Dance.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива return всегда изменяла код ответа, перенаправленного
- директивой error_page.
- </para>
- <para lang="en">
- the "return" directive always overrode the "error_page" response code
- redirected by the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- происходил segmentation fault, если в методе PUT передавалось
- тело нулевой длины.
- </para>
- <para lang="en">
- a segmentation fault occurred if zero-length body was in PUT method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании переменных в директиве proxy_redirect редирект
- изменялся неверно.
- </para>
- <para lang="en">
- the redirect was changed incorrectly if the variables were used
- in the "proxy_redirect" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.4.3" date="2006-09-26">
- <change type="change">
- <para lang="ru">
- ошибку 499 теперь нельзя перенаправить с помощью директивы error_page.
- </para>
- <para lang="en">
- now the 499 error could not be redirected using an "error_page" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка Solaris 10 event ports.
- </para>
- <para lang="en">
- the Solaris 10 event ports support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_browser_module.
- </para>
- <para lang="en">
- the ngx_http_browser_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении ошибки 400 проксированному серверу
- помощью директивы error_page мог произойти segmentation fault.
- </para>
- <para lang="en">
- a segmentation fault may occur while redirecting the 400 error
- to the proxied server using a "proxy_pass" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- происходил segmentation fault, если в директиве proxy_pass использовался
- unix domain сокет;
- ошибка появилась в 0.3.47.
- </para>
- <para lang="en">
- a segmentation fault occurred if an unix domain socket was used in
- a "proxy_pass" directive;
- the bug had appeared in 0.3.47.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- SSI не работал с ответами memcached и небуферизированными проксированными
- ответами.
- </para>
- <para lang="en">
- SSI did work with memcached and nonbuffered responses.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обход ошибки PAUSE hardware capability в Sun Studio.
- </para>
- <para lang="en">
- of the Sun Studio PAUSE hardware capability bug.
- </para>
- </change>
- </changes>
- <changes ver="0.4.2" date="2006-09-14">
- <change type="bugfix">
- <para lang="ru">
- убрана поддержка флага O_NOATIME на Linux;
- ошибка появилась в 0.4.1.
- </para>
- <para lang="en">
- the O_NOATIME flag support on Linux was canceled;
- the bug had appeared in 0.4.1.
- </para>
- </change>
- </changes>
- <changes ver="0.4.1" date="2006-09-14">
- <change type="bugfix">
- <para lang="ru">
- совместимость с DragonFlyBSD.<br/>
- Спасибо Павлу Назарову.
- </para>
- <para lang="en">
- the DragonFlyBSD compatibility.<br/>
- Thanks to Pavel Nazarov.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G.
- </para>
- <para lang="en">
- of bug in 64-bit Linux sendfile(), when file is more than 2G.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/>
- Спасибо Yusuf Goolamabbas.
- </para>
- <para lang="en">
- now on Linux nginx uses O_NOATIME flag for static requests.<br/>
- Thanks to Yusuf Goolamabbas.
- </para>
- </change>
- </changes>
- <changes ver="0.4.0" date="2006-08-30">
- <change>
- <para lang="ru">
- Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы
- init module в фазу HTTP postconfiguration.
- </para>
- <para lang="en">
- Change in internal API: the HTTP modules initialization was moved
- from the init module phase to the HTTP postconfiguration phase.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь тело запроса в модуле ngx_http_perl_module не считывается
- заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body.
- </para>
- <para lang="en">
- now the request body is not read beforehand for the ngx_http_perl_module:
- it's required to start the reading using the $r->has_request_body method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает код возврата DECLINED.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the DECLINED return code.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date"
- для метода PUT.
- </para>
- <para lang="en">
- the ngx_http_dav_module supports the incoming "Date" header line
- for the PUT method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssi работает внутри блока if.
- </para>
- <para lang="en">
- the "ssi" directive is available inside the "if" block.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- происходил segmentation fault, если в директиве index использовалась
- переменные и при этом первое имя индексного файла было без переменных;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- a segmentation fault occurred if there was an "index" directive with
- variables and the first index name was without variables;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- </changes>
- <changes ver="0.3.61" date="2006-08-28">
- <change type="change">
- <para lang="ru">
- директива tcp_nodelay теперь по умолчанию включена.
- </para>
- <para lang="en">
- now the "tcp_nodelay" directive is turned on by default.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива msie_refresh.
- </para>
- <para lang="en">
- the "msie_refresh" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива recursive_error_pages.
- </para>
- <para lang="en">
- the "recursive_error_pages" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива rewrite возвращала неправильный редирект, если редирект
- включал в себя выделенные закодированные символы из оригинального URI.
- </para>
- <para lang="en">
- the "rewrite" directive returned incorrect redirect, if the redirect
- had the captured escaped symbols from original URI.
- </para>
- </change>
- </changes>
- <changes ver="0.3.60" date="2006-08-18">
- <change type="bugfix">
- <para lang="ru">
- во время перенаправления ошибки рабочий процесс мог зациклиться;
- ошибка появилась в 0.3.59.
- </para>
- <para lang="en">
- a worker process may got caught in an endless loop
- while an error redirection;
- the bug had appeared in 0.3.59.
- </para>
- </change>
- </changes>
- <changes ver="0.3.59" date="2006-08-16">
- <change type="feature">
- <para lang="ru">
- теперь можно делать несколько перенаправлений через директиву error_page.
- </para>
- <para lang="en">
- now is possible to do several redirection using the "error_page" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива dav_access не поддерживала три параметра.
- </para>
- <para lang="en">
- the "dav_access" directive did not support three parameters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page не изменяла строку "Content-Type"
- после перенаправления с помощью "X-Accel-Redirect";
- ошибка появилась в 0.3.58.
- </para>
- <para lang="en">
- the "error_page" directive did not changes the "Content-Type" header line
- after the "X-Accel-Redirect" was used;
- the bug had appeared in 0.3.58.
- </para>
- </change>
- </changes>
- <changes ver="0.3.58" date="2006-08-14">
- <change type="feature">
- <para lang="ru">
- директива error_page поддерживает переменные.
- </para>
- <para lang="en">
- the "error_page" directive supports the variables.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь на Linux используется интерфейс procfs вместо sysctl.
- </para>
- <para lang="en">
- now the procfs interface instead of sysctl is used on Linux.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется
- из первоначального ответа.
- </para>
- <para lang="en">
- now the "Content-Type" header line is inherited from first response
- when the "X-Accel-Redirect" was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива error_page не перенаправляла ошибку 413.
- </para>
- <para lang="en">
- the "error_page" directive did not redirect the 413 error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- завершающий "?" не удалял старые аргументы, если в переписанном URI
- не было новых аргументов.
- </para>
- <para lang="en">
- the trailing "?" did not remove old arguments if no new arguments
- were added to a rewritten URI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
- </para>
- <para lang="en">
- nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
- </para>
- </change>
- </changes>
- <changes ver="0.3.57" date="2006-08-09">
- <change type="feature">
- <para lang="ru">
- переменная $ssl_client_serial.
- </para>
- <para lang="en">
- the $ssl_client_serial variable.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в операторе "!-e" в директиве if.<br/>
- Спасибо Андриану Буданцову.
- </para>
- <para lang="en">
- in the "!-e" operator of the "if" directive.<br/>
- Thanks to Andrian Budanstov.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проверке клиентского сертификата nginx не передавал клиенту
- информацию о требуемых сертификатах.
- </para>
- <para lang="en">
- while a client certificate verification nginx did not send to a client
- the required certificates information.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $document_root не поддерживала переменные в директиве root.
- </para>
- <para lang="en">
- the $document_root variable did not support the variables in the "root"
- directive.
- </para>
- </change>
- </changes>
- <changes ver="0.3.56" date="2006-08-04">
- <change type="feature">
- <para lang="ru">
- директива dav_access.
- </para>
- <para lang="en">
- the "dav_access" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x".
- </para>
- <para lang="en">
- the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
- operators.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при записи в access_log некоторых передаваемых клиенту строк заголовков
- происходил segmentation fault, если запрос возвращал редирект.
- </para>
- <para lang="en">
- a segmentation fault occurred if a request returned a redirect and
- some sent to client header lines were logged in the access log.
- </para>
- </change>
- </changes>
- <changes ver="0.3.55" date="2006-07-28">
- <change type="feature">
- <para lang="ru">
- параметр stub в команде SSI include.
- </para>
- <para lang="en">
- the "stub" parameter in the "include" SSI command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- команда SSI block.
- </para>
- <para lang="en">
- the "block" SSI command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- скрипт unicode2nginx добавлен в contrib.
- </para>
- <para lang="en">
- the unicode2nginx script was added to contrib.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если root был задан только переменной, то корень задавался
- относительно префикса сервера.
- </para>
- <para lang="en">
- if a "root" was specified by variable only, then the root was relative
- to a server prefix.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в запросе был "//" или "/.", и после этого закодированные
- символы в виде "%XX", то проксируемый запрос передавался незакодированным.
- </para>
- <para lang="en">
- if the request contained "//" or "/./" and escaped symbols after them,
- then the proxied request was sent unescaped.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает
- все строки "Cookie" в заголовке запроса.
- </para>
- <para lang="en">
- the $r->header_in("Cookie") of the ngx_http_perl_module now returns
- all "Cookie" header lines.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- происходил segmentation fault, если использовался
- <nobr>"client_body_in_file_only on"</nobr>
- и делался переход к следующему бэкенду.
- </para>
- <para lang="en">
- a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
- was used and nginx switched to a next upstream.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при некоторых условиях во время переконфигурации коды символов
- внутри директивы charset_map могли считаться неверными;
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- on some condition while reconfiguration character codes
- inside the "charset_map" may be treated invalid;
- the bug had appeared in 0.3.50.
- </para>
- </change>
- </changes>
- <changes ver="0.3.54" date="2006-07-11">
- <change type="feature">
- <para lang="ru">
- nginx теперь записывает в лог информацию о подзапросах.
- </para>
- <para lang="en">
- nginx now logs the subrequest information to the error log.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream
- поддерживают параметр off.
- </para>
- <para lang="en">
- the "proxy_next_upstream", "fastcgi_next_upstream",
- and "memcached_next_upstream" directives support the "off" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива debug_connection поддерживает запись адресов в формате CIDR.
- </para>
- <para lang="en">
- the "debug_connection" directive supports the CIDR address form.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перекодировании ответа проксированного сервера или сервера FastCGI
- в UTF-8 или наоборот ответ мог передаваться не полностью.
- </para>
- <para lang="en">
- if a response of proxied server or FastCGI server was converted from UTF-8
- or back, then it may be transferred incomplete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $upstream_response_time содержала время только первого
- обращения к бэкенду.
- </para>
- <para lang="en">
- the $upstream_response_time variable had the time of the first
- request to a backend only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформе amd64;
- ошибка появилась в 0.3.53.
- </para>
- <para lang="en">
- nginx could not be built on amd64 platform;
- the bug had appeared in 0.3.53.
- </para>
- </change>
- </changes>
- <changes ver="0.3.53" date="2006-07-07">
- <change type="change">
- <para lang="ru">
- директива add_header добавляет строки в ответы с кодом 204, 301 и 302.
- </para>
- <para lang="en">
- the "add_header" directive adds the string to 204, 301, and 302 responses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server в блоке upstream поддерживает параметр weight.
- </para>
- <para lang="en">
- the "server" directive in the "upstream" context supports
- the "weight" parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server_name поддерживает маску "*".
- </para>
- <para lang="en">
- the "server_name" directive supports the "*" wildcard.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- nginx поддерживает тело запроса больше 2G.
- </para>
- <para lang="en">
- nginx supports the request body size more than 2G.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если при использовании "satisfy_any on" клиент успешно проходил аутентификацию,
- в лог всё равно записалоcь сообщение "access forbidden by rule".
- </para>
- <para lang="en">
- if a client was successfully authorized using "satisfy_any on", then anyway
- the message "access forbidden by rule" was written in the log.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- метод PUT мог ошибочно не создать файл и вернуть код 409.
- </para>
- <para lang="en">
- the "PUT" method may erroneously not create a file and return the 409 code.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx
- продолжал проксирование.
- </para>
- <para lang="en">
- if the IMAP/POP3 backend returned an error, then nginx continued proxying
- anyway.
- </para>
- </change>
- </changes>
- <changes ver="0.3.52" date="2006-07-03">
- <change type="change">
- <para lang="ru">
- восстановлено поведение модуля ngx_http_index_module для запросов "POST /":
- как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405.
- </para>
- <para lang="en">
- the ngx_http_index_module behavior for the "POST /" requests is reverted
- to the 0.3.40 version state: the module now does not return the 405 error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании ограничения скорости рабочий процесс мог зациклиться;
- ошибка появилась в 0.3.37.
- </para>
- <para lang="en">
- the worker process may got caught in an endless loop if the limit rate was used;
- the bug had appeared in 0.3.37.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_charset_module записывал в лог ошибку "unknown charset",
- даже если перекодировка не требовалась;
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- ngx_http_charset_module logged "unknown charset" alert, even if the recoding
- was not needed;
- the bug had appeared in 0.3.50.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в результате запроса PUT возвращался код 409, то временный файл
- не удалялся.
- </para>
- <para lang="en">
- if a code response of the PUT request was 409, then a temporary file
- was not removed.
- </para>
- </change>
- </changes>
- <changes ver="0.3.51" date="2006-06-30">
- <change type="bugfix">
- <para lang="ru">
- при некоторых условиях в SSI мог пропадать символы "<";
- ошибка появилась в 0.3.50.
- </para>
- <para lang="en">
- the "<" symbols might disappeared some conditions in the SSI;
- the bug had appeared in 0.3.50.
- </para>
- </change>
- </changes>
- <changes ver="0.3.50" date="2006-06-28">
- <change type="change">
- <para lang="ru">
- директивы proxy_redirect_errors и fastcgi_redirect_errors
- переименованы соответственно в proxy_intercept_errors и
- fastcgi_intercept_errors.
- </para>
- <para lang="en">
- the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
- was renamed to the "proxy_intercept_errors" and
- "fastcgi_intercept_errors" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_charset_module поддерживает перекодирование из
- однобайтных кодировок в UTF-8 и обратно.
- </para>
- <para lang="en">
- the ngx_http_charset_module supports the recoding from the single byte
- encodings to the UTF-8 encoding and back.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset"
- в ответе бэкенда.
- </para>
- <para lang="en">
- the "X-Accel-Charset" response header line is supported in proxy
- and FastCGI mode.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- символ "\" в парах "\"" и "\'" в SSI командах убирался, только если
- также использовался символ "$".
- </para>
- <para lang="en">
- the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
- was removed only if the command also has the "$" symbol.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при некоторых условиях в SSI после вставки могла быть добавлена
- строка "<!--".
- </para>
- <para lang="en">
- the "<!--" string might be added on some conditions
- in the SSI after inclusion.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr>
- то при использовании небуферизированного проксировании не закрывалось соединение
- с клиентом.
- </para>
- <para lang="en">
- if the "Content-Length: 0" header line was in response, then
- in nonbuffered proxying mode the client connection was not closed.
- </para>
- </change>
- </changes>
- <changes ver="0.3.49" date="2006-05-31">
- <change type="bugfix">
- <para lang="ru">
- в директиве set.
- </para>
- <para lang="en">
- in the "set" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI,
- вместо вывода второго и остальных подзапросов в ответ включался вывод
- первого подзапроса.
- </para>
- <para lang="en">
- if two or more FastCGI subrequests was in SSI, then first subrequest output
- was included instead of second and following subrequests.
- </para>
- </change>
- </changes>
- <changes ver="0.3.48" date="2006-05-29">
- <change type="change">
- <para lang="ru">
- теперь модуль ngx_http_charset_module работает для подзапросов,
- в ответах которых нет строки заголовка "Content-Type".
- </para>
- <para lang="en">
- now the ngx_http_charset_module works for subrequests,
- if the response has no "Content-Type" header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве proxy_pass не было URI,
- то директива "proxy_redirect default" добавляла в переписанный
- редирект в начало лишний слэш.
- </para>
- <para lang="en">
- if the "proxy_pass" directive has no URI part,
- then the "proxy_redirect default" directive add the unnecessary slash
- in start of the rewritten redirect.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- внутренний редирект всегда превращал любой HTTP-метод в GET,
- теперь это делается только для редиректов, выполняемых с помощью
- X-Accel-Redirect, и у которых метод не равен HEAD;
- ошибка появилась в 0.3.42.
- </para>
- <para lang="en">
- the internal redirect always transform client's HTTP method to GET,
- now the transformation is made for the "X-Accel-Redirect" redirects only
- and if the method is not HEAD;
- the bug had appeared in 0.3.42.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков;
- ошибка появилась в 0.3.46.
- </para>
- <para lang="en">
- the ngx_http_perl_module could not be built, if the perl was built
- with the threads support;
- the bug had appeared in 0.3.46.
- </para>
- </change>
- </changes>
- <changes ver="0.3.47" date="2006-05-23">
- <change type="feature">
- <para lang="ru">
- директива upstream.
- </para>
- <para lang="en">
- the "upstream" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается.
- </para>
- <para lang="en">
- now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
- is always removed.
- </para>
- </change>
- </changes>
- <changes ver="0.3.46" date="2006-05-11">
- <change type="feature">
- <para lang="ru">
- директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header
- и fastcgi_pass_header.
- </para>
- <para lang="en">
- the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
- and "fastcgi_pass_header" directives.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server
- упразднены.
- </para>
- <para lang="en">
- the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
- directives were canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в режиме прокси поддерживается строка заголовка "X-Accel-Buffering"
- в ответе бэкенда.
- </para>
- <para lang="en">
- the "X-Accel-Buffering" response header line is supported in proxy mode.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module.
- </para>
- <para lang="en">
- the reconfiguration bug and memory leaks in the ngx_http_perl_module.
- </para>
- </change>
- </changes>
- <changes ver="0.3.45" date="2006-05-06">
- <change type="feature">
- <para lang="ru">
- директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate.
- </para>
- <para lang="en">
- the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
- directives.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь переменная $request_method возвращает метод только основного запроса.
- </para>
- <para lang="en">
- the $request_method variable now returns the main request method.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в таблице перекодировки koi-win изменены коды символа &deg;.
- </para>
- <para lang="en">
- the &deg; symbol codes were changed in koi-win conversion table.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в таблицу перекодировки koi-win добавлены символы евро и номера.
- </para>
- <para lang="en">
- the euro and N symbols were added to koi-win conversion table.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если nginx распределял запросы на несколько машин, то при падении
- одной из них запросы, предназначенные для этой машины, перенаправлялись только
- на одну машину вместо того, чтобы равномерно распределяться между остальными.
- </para>
- <para lang="en">
- if nginx distributed the requests among several backends and some backend
- failed, then requests intended for this backend was directed to one live
- backend only instead of being distributed among the rest.
- </para>
- </change>
- </changes>
- <changes ver="0.3.44" date="2006-05-04">
- <change type="feature">
- <para lang="ru">
- параметр wait в команде SSI include.
- </para>
- <para lang="en">
- the "wait" parameter in the "include" SSI command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в таблицу перекодировки koi-win добавлены украинские и белорусские символы.
- </para>
- <para lang="en">
- the Ukrainian and Byelorussian characters were added to koi-win conversion
- table.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в SSI.
- </para>
- <para lang="en">
- in the SSI.
- </para>
- </change>
- </changes>
- <changes ver="0.3.43" date="2006-04-26">
- <change type="bugfix">
- <para lang="ru">
- в SSI.
- </para>
- <para lang="en">
- in the SSI.
- </para>
- </change>
- </changes>
- <changes ver="0.3.42" date="2006-04-26">
- <change type="feature">
- <para lang="ru">
- параметр bind в директиве listen в IMAP/POP3 прокси.
- </para>
- <para lang="en">
- the "bind" option of the "listen" directive in IMAP/POP3 proxy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании в директиве rewrite одного и того же
- выделения более одного раза.
- </para>
- <para lang="en">
- if the same capture in the "rewrite" directive was used more then once.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в лог не записывались переменные
- $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
- $sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding.
- </para>
- <para lang="en">
- the $sent_http_content_type, $sent_http_content_length,
- $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
- and $sent_http_transfer_encoding variables were not written to access log.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменная $sent_http_cache_control возвращала содержимое только одной
- строки "Cache-Control" в заголовке ответа.
- </para>
- <para lang="en">
- the $sent_http_cache_control returned value of the single "Cache-Control"
- response header line.
- </para>
- </change>
- </changes>
- <changes ver="0.3.41" date="2006-04-21">
- <change type="feature">
- <para lang="ru">
- ключ -v.
- </para>
- <para lang="en">
- the -v switch.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включении в SSI удалённых подзапросов
- мог произойти segmentation fault.
- </para>
- <para lang="en">
- the segmentation fault may occurred if the SSI page has remote subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в обработке FastCGI.
- </para>
- <para lang="en">
- in FastCGI handling.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если путь к перловым модулям не был указан с помощью
- --with-perl_modules_path=PATH или директивы perl_modules,
- то на старте происходил segmentation fault.
- </para>
- <para lang="en">
- if the perl modules path was not set using
- --with-perl_modules_path=PATH or the "perl_modules", then
- the segmentation fault was occurred.
- </para>
- </change>
- </changes>
- <changes ver="0.3.40" date="2006-04-19">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_dav_module поддерживает метод MKCOL.
- </para>
- <para lang="en">
- the ngx_http_dav_module supports the MKCOL method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива create_full_put_path.
- </para>
- <para lang="en">
- the "create_full_put_path" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $limit_rate.
- </para>
- <para lang="en">
- the "$limit_rate" variable.
- </para>
- </change>
- </changes>
- <changes ver="0.3.39" date="2006-04-17">
- <change type="feature">
- <para lang="ru">
- директива uninitialized_variable_warn; уровень логгирования сообщения
- о неинициализированной переменной понижен с уровня alert на warn.
- </para>
- <para lang="en">
- the "uninitialized_variable_warn" directive; the logging level of the
- "uninitialized variable" message was lowered from "alert" to "warn".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива override_charset.
- </para>
- <para lang="en">
- the "override_charset" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- при использовании неизвестной переменной в SSI-командах echo и if expr='$name'
- теперь не записывается в лог сообщение о неизвестной переменной.
- </para>
- <para lang="en">
- now if the unknown variable is used in the "echo" and "if expr='$name'"
- SSI-commands, then the "unknown variable" message is not logged.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- счётчик активных соединений рос при превышении лимита соединений,
- заданного директивой worker_connections;
- ошибка появилась в 0.2.0.
- </para>
- <para lang="en">
- the active connection counter increased on the exceeding of the connection
- limit specified by the "worker_connections" directive;
- the bug had appeared in 0.2.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при некоторых условия ограничение скорости соединения могло не работать;
- ошибка появилась в 0.3.38.
- </para>
- <para lang="en">
- the limit rate might not work on some condition;
- the bug had appeared in 0.3.38.
- </para>
- </change>
- </changes>
- <changes ver="0.3.38" date="2006-04-14">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_dav_module.
- </para>
- <para lang="en">
- the ngx_http_dav_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- оптимизация модуля ngx_http_perl_module.<br/>
- Спасибо Сергею Скворцову.
- </para>
- <para lang="en">
- the ngx_http_perl_module optimizations.<br/>
- Thanks to Sergey Skvortsov.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает метод $r->request_body_file.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->request_body_file method.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива client_body_in_file_only.
- </para>
- <para lang="en">
- the "client_body_in_file_only" directive.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- теперь при переполнении диска nginx пытается писать access_log'и только
- раз в секунду.<br/>
- Спасибо Антону Южанинову и Максиму Дунину.
- </para>
- <para lang="en">
- now on disk overflow nginx tries to write access logs once a second only.<br/>
- Thanks to Anton Yuzhaninov and Maxim Dounin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- теперь директива limit_rate точнее ограничивает скорость при значениях
- больше <nobr>100 Kbyte/s.</nobr><br/>
- Спасибо ForJest.
- </para>
- <para lang="en">
- now the "limit_rate" directive more precisely limits rate if rate is more
- than <nobr>100 Kbyte/s.</nobr><br/>
- Thanks to ForJest.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n"
- в логине и пароле в закодированном виде.<br/>
- Спасибо Максиму Дунину.
- </para>
- <para lang="en">
- now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
- password to pass authorization server.<br/>
- Thanks to Maxim Dounin.
- </para>
- </change>
- </changes>
- <changes ver="0.3.37" date="2006-04-07">
- <change type="feature">
- <para lang="ru">
- директива limit_except.
- </para>
- <para lang="en">
- the "limit_except" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива if поддерживает операторы "!~", "!~*", "-f" и "!-f".
- </para>
- <para lang="en">
- the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает метод $r->request_body.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->request_body method.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в модуле ngx_http_addition_filter_module.
- </para>
- <para lang="en">
- in the ngx_http_addition_filter_module.
- </para>
- </change>
- </changes>
- <changes ver="0.3.36" date="2006-04-05">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_addition_filter_module.
- </para>
- <para lang="en">
- the ngx_http_addition_filter_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_pass и fastcgi_pass можно использовать внутри блока if.
- </para>
- <para lang="en">
- the "proxy_pass" and "fastcgi_pass" directives may be used inside
- the "if" block.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort.
- </para>
- <para lang="en">
- the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $request_completion.
- </para>
- <para lang="en">
- the "$request_completion" variable.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает методы $r->request_method и
- $r->remote_addr.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает команду elif.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the "elif" command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строка "\/" в начале выражения команды if модуля ngx_http_ssi_module
- воспринималась неверно.
- </para>
- <para lang="en">
- the "\/" string in the expression of the "if" command of the
- ngx_http_ssi_module was treated incorrectly.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module.
- </para>
- <para lang="en">
- in the regular expressions in the "if" command of the ngx_http_ssi_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при задании относительного пути в директивах
- client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules
- использовался каталог относительно текущего каталога, а не относительно
- префикса сервера.
- </para>
- <para lang="en">
- if the relative path was specified in the "client_body_temp_path",
- "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
- then the directory was used relatively to a current path but not
- to a server prefix.
- </para>
- </change>
- </changes>
- <changes ver="0.3.35" date="2006-03-22">
- <change type="bugfix">
- <para lang="ru">
- accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой
- директивы listen;
- ошибка появилась в 0.3.31.
- </para>
- <para lang="en">
- the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
- directive only;
- the bug had appeared in 0.3.31.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве proxy_pass без URI при использовании в подзапросе.
- </para>
- <para lang="en">
- in the "proxy_pass" directive without the URI part in a subrequest.
- </para>
- </change>
- </changes>
- <changes ver="0.3.34" date="2006-03-21">
- <change type="feature">
- <para lang="ru">
- директива add_header поддерживает переменные.
- </para>
- <para lang="en">
- the "add_header" directive supports the variables.
- </para>
- </change>
- </changes>
- <changes ver="0.3.33" date="2006-03-15">
- <change type="feature">
- <para lang="ru">
- параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream.
- </para>
- <para lang="en">
- the "http_503" parameter of the "proxy_next_upstream" or
- "fastcgi_next_upstream" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом,
- если он не начинался сразу же с "sub".
- </para>
- <para lang="en">
- ngx_http_perl_module did not work with inlined in the configuration code,
- if it was not started with the "sub" word.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве post_action.
- </para>
- <para lang="en">
- in the "post_action" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.3.32" date="2006-03-11">
- <change type="bugfix">
- <para lang="ru">
- удаление отладочного логгирования на старте и при переконфигурации;
- ошибка появилась в 0.3.31.
- </para>
- <para lang="en">
- the debug logging on startup and reconfiguration time was removed;
- the bug had appeared in 0.3.31.
- </para>
- </change>
- </changes>
- <changes ver="0.3.31" date="2006-03-10">
- <change type="change">
- <para lang="ru">
- теперь nginx передаёт неверные ответы проксированного бэкенда.
- </para>
- <para lang="en">
- now nginx passes the malformed proxied backend responses.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы listen поддерживают адрес в виде "*:порт".
- </para>
- <para lang="en">
- the "listen" directives support the address in the "*:port" form.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка EVFILER_TIMER в MacOSX 10.4.
- </para>
- <para lang="en">
- the EVFILER_TIMER support in MacOSX 10.4.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре
- MacOSX.<br/>
- Спасибо Андрею Нигматулину.
- </para>
- <para lang="en">
- for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
- Thanks to Andrei Nigmatulin.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если внутри одного сервера описаны несколько директив listen, слушающих на
- разных адресах, то имена серверов вида "*.domain.tld" работали только
- для первого адреса;
- ошибка появилась в 0.3.18.
- </para>
- <para lang="en">
- if there were several "listen" directives listening one various addresses
- inside one server, then server names like "*.domain.tld" worked for first
- address only;
- the bug had appeared in 0.3.18.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании протокола HTTPS в директиве proxy_pass не передавались
- запросы с телом, записанным во временный файл.
- </para>
- <para lang="en">
- if the HTTPS protocol was used in the "proxy_pass" directive and
- the request body was in temporary file then the request was not transferred.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с perl 5.8.8.
- </para>
- <para lang="en">
- perl 5.8.8 compatibility.
- </para>
- </change>
- </changes>
- <changes ver="0.3.30" date="2006-02-22">
- <change type="change">
- <para lang="ru">
- уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit.
- </para>
- <para lang="en">
- the ECONNABORTED error log level was changed to "error" from "crit".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module.
- </para>
- <para lang="en">
- the ngx_http_perl_module could not be build without
- the ngx_http_ssi_filter_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на i386 платформе, если использовался PIC;
- ошибка появилась в 0.3.27.
- </para>
- <para lang="en">
- nginx could not be built on i386 platform, if the PIC was used;
- the bug had appeared in 0.3.27.
- </para>
- </change>
- </changes>
- <changes ver="0.3.29" date="2006-02-20">
- <change type="feature">
- <para lang="ru">
- теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт
- большое количество предупреждений перед ответом.
- </para>
- <para lang="en">
- now nginx uses less memory, if PHP in FastCGI mode sends many warnings
- before the response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка
- "Transfer-Encoding: chunked".
- </para>
- <para lang="en">
- the "Transfer-Encoding: chunked" header line was issued in the 204 responses
- for the HTTP/1.1 requests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки
- заголовка ответа в отдельных FastCGI записях.
- </para>
- <para lang="en">
- nginx returned the 502 response, if the complete response header lines
- were transferred in a separate FastCGI records.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве post_action был указан проксируемый URI, то он выполнялся
- только после успешного завершения запроса.
- </para>
- <para lang="en">
- if the proxied URI was specified in the "post_action" directive, then it ran
- only after a successful completion of a request.
- </para>
- </change>
- </changes>
- <changes ver="0.3.28" date="2006-02-16">
- <change type="feature">
- <para lang="ru">
- директива restrict_host_names упразднена.
- </para>
- <para lang="en">
- the "restrict_host_names" directive was canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр конфигурации --with-cpu-opt=ppc64.
- </para>
- <para lang="en">
- the --with-cpu-opt=ppc64 configuration parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при некоторых условиях проксированное соединение с клиентом завершалось
- преждевременно.<br/>
- Спасибо Владимиру Шутову.
- </para>
- <para lang="en">
- on some condition the proxied connection with a client was terminated
- prematurely.<br/>
- Thanks to Vladimir Shutoff.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов,
- перенаправленных с помощью строки "X-Accel-Redirect".
- </para>
- <para lang="en">
- the "X-Accel-Limit-Rate" header line was not taken into account
- if the request was redirected using the "X-Accel-Redirect" header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива post_action работала только после успешного завершения запроса.
- </para>
- <para lang="en">
- the "post_action" directive ran only after a successful completion of a request.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- тело проксированного ответа, создаваемого директивой post_action,
- передавалось клиенту.
- </para>
- <para lang="en">
- the proxied response body generated by the "post_action" directive
- was transferred to a client.
- </para>
- </change>
- </changes>
- <changes ver="0.3.27" date="2006-02-08">
- <change type="change">
- <para lang="ru">
- директивы variables_hash_max_size и variables_hash_bucket_size.
- </para>
- <para lang="en">
- the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменная $body_bytes_sent доступна не только в директиве log_format.
- </para>
- <para lang="en">
- the $body_bytes_sent variable can be used not only in the "log_format"
- directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные $ssl_protocol и $ssl_cipher.
- </para>
- <para lang="en">
- the $ssl_protocol and $ssl_cipher variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- определение размера строки кэша распространённых процессоров при старте.
- </para>
- <para lang="en">
- the cache line size detection for widespread CPUs at start time.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива accept_mutex теперь поддерживается посредством fcntl(2)
- на платформах, отличных от i386, amd64, sparc64 и ppc.
- </para>
- <para lang="en">
- now the "accept_mutex" directive is supported using fcntl(2)
- on platforms different from i386, amd64, sparc64, and ppc.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива lock_file и параметр автоконфигурации --with-lock-path=PATH.
- </para>
- <para lang="en">
- the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
- directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании протокола HTTPS в директиве proxy_pass не передавались
- запросы с телом.
- </para>
- <para lang="en">
- if the HTTPS protocol was used in the "proxy_pass" directive then
- the requests with the body was not transferred.
- </para>
- </change>
- </changes>
- <changes ver="0.3.26" date="2006-02-03">
- <change type="change">
- <para lang="ru">
- директива optimize_host_names переименована в optimize_server_names.
- </para>
- <para lang="en">
- the "optimize_host_names" directive was renamed to the "optimize_server_names".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании подзапроса в SSI бэкенду передавался URI основного запроса,
- если в директиве proxy_pass отсутствовал URI.
- </para>
- <para lang="en">
- if in the "proxy_pass" directive was no the URI part, then the main request
- URI was transferred to a backend while proxying the SSI subrequest.
- </para>
- </change>
- </changes>
- <changes ver="0.3.25" date="2006-02-01">
- <change type="bugfix">
- <para lang="ru">
- при неверной конфигурации на старте или во время переконфигурации происходил
- segmentation fault;
- ошибка появилась в 0.3.24.
- </para>
- <para lang="en">
- the segmentation fault was occurred on start or while reconfiguration
- if there was invalid configuration;
- the bug had appeared in 0.3.24.
- </para>
- </change>
- </changes>
- <changes ver="0.3.24" date="2006-02-01">
- <change type="workaround">
- <para lang="ru">
- обход ошибки в kqueue во FreeBSD.
- </para>
- <para lang="en">
- for bug in FreeBSD kqueue.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответ, создаваемый директивой post_action, теперь не передаётся клиенту.
- </para>
- <para lang="en">
- now a response generated by the "post_action" directive is not transferred
- to a client.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании большого количества лог-файлов происходила утечка памяти.
- </para>
- <para lang="en">
- the memory leaks were occurring if many log files were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- внутри одного location работала только первая директива proxy_redirect.
- </para>
- <para lang="en">
- the first "proxy_redirect" directive was working inside one location.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на 64-битных платформах при старте мог произойти segmentation fault,
- если использовалось большое количество имён в директивах server_name;
- ошибка появилась в 0.3.18.
- </para>
- <para lang="en">
- on 64-bit platforms segmentation fault may occurred on start
- if the many names were used in the "server_name" directives;
- the bug had appeared in 0.3.18.
- </para>
- </change>
- </changes>
- <changes ver="0.3.23" date="2006-01-24">
- <change type="feature">
- <para lang="ru">
- директива optimize_host_names.
- </para>
- <para lang="en">
- the "optimize_host_names" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании переменных в директивах path и alias.
- </para>
- <para lang="en">
- in using of the variables in the "path" and "alias" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_perl_module неправильно собирался на Linux и Solaris.
- </para>
- <para lang="en">
- the ngx_http_perl_module was incorrectly built on Linux and Solaris.
- </para>
- </change>
- </changes>
- <changes ver="0.3.22" date="2006-01-17">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape.
- </para>
- <para lang="en">
- the ngx_http_perl_module supports the $r->args and $r->unescape methods.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- метод $r->query_string в модуле ngx_http_perl_module упразднён.
- </para>
- <para lang="en">
- the method $r->query_string of ngx_http_perl_module was canceled.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве valid_referers указаны только none или blocked, то
- происходил segmentation fault;
- ошибка появилась в 0.3.18.
- </para>
- <para lang="en">
- segmentation fault was occurred if the "none" or "blocked" values was
- specified in the "valid_referers" directive;
- the bug had appeared in 0.3.18.
- </para>
- </change>
- </changes>
- <changes ver="0.3.21" date="2006-01-16">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_perl_module.
- </para>
- <para lang="en">
- the ngx_http_perl_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива valid_referers разрешает использовать рефереры совсем без URI.
- </para>
- <para lang="en">
- the "valid_referers" directive allows the referrers without URI part.
- </para>
- </change>
- </changes>
- <changes ver="0.3.20" date="2006-01-11">
- <change type="bugfix">
- <para lang="ru">
- ошибки в обработке SSI.
- </para>
- <para lang="en">
- in SSI handling.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args.
- </para>
- <para lang="en">
- the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
- </para>
- </change>
- </changes>
- <changes ver="0.3.19" date="2005-12-28">
- <change type="feature">
- <para lang="ru">
- директивы path и alias поддерживают переменные.
- </para>
- <para lang="en">
- the "path" and "alias" directives support the variables.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь директива valid_referers опять учитывает URI.
- </para>
- <para lang="en">
- now the "valid_referers" directive again checks the URI part.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки в обработке SSI.
- </para>
- <para lang="en">
- in SSI handling.
- </para>
- </change>
- </changes>
- <changes ver="0.3.18" date="2005-12-26">
- <change type="feature">
- <para lang="ru">
- директива server_names поддерживает имена вида ".domain.tld".
- </para>
- <para lang="en">
- the "server_names" directive supports the ".domain.tld" names.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server_names использует хэш для имён вида "*.domain.tld"
- и более эффективный хэш для обычных имён.
- </para>
- <para lang="en">
- the "server_names" directive uses the hash for the "*.domain.tld" names
- and more effective hash for usual names.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы server_names_hash_max_size и server_names_hash_bucket_size.
- </para>
- <para lang="en">
- the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы server_names_hash и server_names_hash_threshold упразднены.
- </para>
- <para lang="en">
- the "server_names_hash" and "server_names_hash_threshold" directives
- were canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива valid_referers использует хэш для имён сайтов.
- </para>
- <para lang="en">
- the "valid_referers" directive uses the hash site names.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- теперь директива valid_referers проверяет только имена сайтов без учёта URI.
- </para>
- <para lang="en">
- now the "valid_referers" directive checks the site names only without
- the URI part.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- некоторые имена вида ".domain.tld" неверно обрабатывались модулем
- ngx_http_map_module.
- </para>
- <para lang="en">
- some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если конфигурационного файла не было, то происходил segmentation fault;
- ошибка появилась в 0.3.12.
- </para>
- <para lang="en">
- segmentation fault was occurred if configuration file did not exist;
- the bug had appeared in 0.3.12.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на 64-битных платформах при старте мог произойти segmentation fault;
- ошибка появилась в 0.3.16.
- </para>
- <para lang="en">
- on 64-bit platforms segmentation fault may occurred on start;
- the bug had appeared in 0.3.16.
- </para>
- </change>
- </changes>
- <changes ver="0.3.17" date="2005-12-18">
- <change type="change">
- <para lang="ru">
- на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре.
- </para>
- <para lang="en">
- now on Linux configure checks the presence of epoll and sendfile64() in kernel.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива map поддерживает доменные имена в формате ".domain.tld".
- </para>
- <para lang="en">
- the "map" directive supports domain names in the ".domain.tld" form.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во время SSL handshake не иcпользовались таймауты;
- ошибка появилась в 0.2.4.
- </para>
- <para lang="en">
- the timeouts were not used in SSL handshake;
- the bug had appeared in 0.2.4.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в использовании протокола HTTPS в директиве proxy_pass.
- </para>
- <para lang="en">
- in the HTTPS protocol in the "proxy_pass" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании протокола HTTPS в директиве proxy_pass по умолчанию
- использовался порт 80.
- </para>
- <para lang="en">
- when the HTTPS protocol was used in the "proxy_pass" directive the port 80
- was used by default.
- </para>
- </change>
- </changes>
- <changes ver="0.3.16" date="2005-12-16">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_map_module.
- </para>
- <para lang="en">
- the ngx_http_map_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы types_hash_max_size и types_hash_bucket_size.
- </para>
- <para lang="en">
- the "types_hash_max_size" and "types_hash_bucket_size" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssi_value_length.
- </para>
- <para lang="en">
- the "ssi_value_length" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива worker_rlimit_core.
- </para>
- <para lang="en">
- the "worker_rlimit_core" directive.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
- <nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1.
- </para>
- <para lang="en">
- the connection number in logs was always 1 if nginx was built by the
- icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- команда config timefmt в SSI задавала неверный формат времени.
- </para>
- <para lang="en">
- the "config timefmt" SSI command set incorrect time format.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL
- соединений;
- ошибка появилась в 0.3.13.<br/>
- Спасибо Rob Mueller.
- </para>
- <para lang="en">
- nginx did not close connection to IMAP/POP3 backend for the SSL
- connections;
- the bug had appeared in 0.3.13.<br/>
- Thanks to Rob Mueller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- segmentation fault мог произойти во время SSL shutdown;
- ошибка появилась в 0.3.13.
- </para>
- <para lang="en">
- segmentation fault may occurred in at SSL shutdown;
- the bug had appeared in 0.3.13.
- </para>
- </change>
- </changes>
- <changes ver="0.3.15" date="2005-12-07">
- <change type="feature">
- <para lang="ru">
- новой код 444 в директиве return для закрытия соединения.
- </para>
- <para lang="en">
- the new 444 code of the "return" directive to close connection.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива so_keepalive в IMAP/POP3 прокси.
- </para>
- <para lang="en">
- the "so_keepalive" directive in IMAP/POP3 proxy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx теперь вызывает abort() при обнаружении незакрытых соединений
- только при плавном выходе и включённой директиве debug_points.
- </para>
- <para lang="en">
- if there are unclosed connection nginx now calls abort() only on graceful
- quit and active "debug_points" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.3.14" date="2005-12-05">
- <change type="bugfix">
- <para lang="ru">
- в ответе 304 передавалось тело ответа;
- ошибка появилась в 0.3.13.
- </para>
- <para lang="en">
- in the 304 response the body was transferred;
- the bug had appeared in 0.3.13.
- </para>
- </change>
- </changes>
- <changes ver="0.3.13" date="2005-12-05">
- <change type="feature">
- <para lang="ru">
- IMAP/POP3 прокси поддерживает STARTTLS и STLS.
- </para>
- <para lang="en">
- the IMAP/POP3 proxy supports STARTTLS and STLS.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- IMAP/POP3 прокси не работала с методами select, poll и /dev/poll.
- </para>
- <para lang="en">
- the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки в обработке SSI.
- </para>
- <para lang="en">
- in SSI handling.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- sendfilev() в Solaris теперь не используется при передаче тела запроса
- FastCGI-серверу через unix domain сокет.
- </para>
- <para lang="en">
- now Solaris sendfilev() is not used to transfer the client request body
- to FastCGI-server via the unix domain socket.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива auth_basic не запрещала аутентификацию;
- ошибка появилась в 0.3.11.
- </para>
- <para lang="en">
- the "auth_basic" directive did not disable the authorization;
- the bug had appeared in 0.3.11.
- </para>
- </change>
- </changes>
- <changes ver="0.3.12" date="2005-11-26">
- <change type="security">
- <para lang="ru">
- если nginx был собран с модулем ngx_http_realip_module, то при использовании
- директивы "satisfy_any on" директивы доступа и аутентификации не работали.
- Модуль ngx_http_realip_module не собирался и не собирается по умолчанию.
- </para>
- <para lang="en">
- if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
- directive was used, then access and authorization directives did not work.
- The ngx_http_realip_module was not built and is not built by default.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- имя переменной "$time_gmt" изменено на "$time_local".
- </para>
- <para lang="en">
- the "$time_gmt" variable name was changed to "$time_local".
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы proxy_header_buffer_size и fastcgi_header_buffer_size
- переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size.
- </para>
- <para lang="en">
- the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
- was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_memcached_module.
- </para>
- <para lang="en">
- the ngx_http_memcached_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_buffering.
- </para>
- <para lang="en">
- the "proxy_buffering" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- изменение в работе с accept mutex при использовании метода rtsig;
- ошибка появилась в 0.3.0.
- </para>
- <para lang="en">
- the changes in accept mutex handling when the "rtsig" method was used;
- the bug had appeared in 0.3.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если клиент передал строку "Transfer-Encoding: chunked" в заголовке
- запроса, то nginx теперь выдаёт ошибку 411.
- </para>
- <para lang="en">
- if the client sent the "Transfer-Encoding: chunked" header line, then
- nginx returns the 411 error.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при наследовании директивы auth_basic с уровня http в строке
- "WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm".
- </para>
- <para lang="en">
- if the "auth_basic" directive was inherited from the http level,
- then the realm in the "WWW-Authenticate" header line was without
- the "Basic realm" text.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве access_log был явно указан формат combined, то в лог
- записывались пустые строки;
- ошибка появилась в 0.3.8.
- </para>
- <para lang="en">
- if the "combined" format was explicitly specified in the "access_log" directive,
- then the empty lines was written to the log;
- the bug had appeared in 0.3.8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на платформе sparc под любыми OS, кроме Solaris.
- </para>
- <para lang="en">
- nginx did not run on the sparc platform under any OS except Solaris.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве if теперь не нужно разделять пробелом строку в кавычках и
- закрывающую скобку.
- </para>
- <para lang="en">
- now it is not necessary to place space between the quoted string and closing
- bracket in the "if" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.3.11" date="2005-11-15">
- <change type="bugfix">
- <para lang="ru">
- nginx не передавал при проксировании тело запроса и строки заголовка клиента;
- ошибка появилась в 0.3.10.
- </para>
- <para lang="en">
- nginx did not pass the client request headers and body while proxying;
- the bug had appeared in 0.3.10.
- </para>
- </change>
- </changes>
- <changes ver="0.3.10" date="2005-11-15">
- <change type="change">
- <para lang="ru">
- директива valid_referers и переменная $invalid_referer перенесены
- из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module.
- </para>
- <para lang="en">
- the "valid_referers" directive and the "$invalid_referer" variable
- were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent".
- </para>
- <para lang="en">
- the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные "$sent_http_...".
- </para>
- <para lang="en">
- the "$sent_http_..." variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива if поддерживает операции "=" и "!=".
- </para>
- <para lang="en">
- the "if" directive supports the "=" and "!=" operations.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_pass поддерживает протокол HTTPS.
- </para>
- <para lang="en">
- the "proxy_pass" directive supports the HTTPS protocol.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_set_body.
- </para>
- <para lang="en">
- the "proxy_set_body" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива post_action.
- </para>
- <para lang="en">
- the "post_action" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_empty_gif_module.
- </para>
- <para lang="en">
- the ngx_http_empty_gif_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива worker_cpu_affinity для Linux.
- </para>
- <para lang="en">
- the "worker_cpu_affinity" directive for Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива rewrite не раскодировала символы в редиректах в URI,
- теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF.
- </para>
- <para lang="en">
- the "rewrite" directive did not unescape URI part in redirect,
- now it is unescaped except the %00-%25 and %7F-%FF characters.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался компилятором icc 9.0.
- </para>
- <para lang="en">
- nginx could not be built by the icc 9.0 compiler.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если для статического файла нулевого размера был разрешён SSI,
- то ответ передавался неверно при кодировании chunk'ами.
- </para>
- <para lang="en">
- if the SSI was enabled for zero size static file, then the chunked
- response was encoded incorrectly.
- </para>
- </change>
- </changes>
- <changes ver="0.3.9" date="2005-11-10">
- <change type="bugfix">
- <para lang="ru">
- nginx считал небезопасными URI, в которых между двумя слэшами
- находилось два любых символа;
- ошибка появилась в 0.3.8.
- </para>
- <para lang="en">
- nginx considered URI as unsafe if two any symbols was between two slashes;
- the bug had appeared in 0.3.8.
- </para>
- </change>
- </changes>
- <changes ver="0.3.8" date="2005-11-09">
- <change type="security">
- <para lang="ru">
- nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect"
- в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей.
- </para>
- <para lang="en">
- nginx now checks URI got from a backend in "X-Accel-Redirect" header line
- or in SSI file for the "/../" paths and zeroes.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- nginx теперь не воспринимает пустое имя как правильное
- в строке "Authorization" в заголовке запроса.
- </para>
- <para lang="en">
- nginx now does not treat the empty user name in the "Authorization" header
- line as valid one.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssl_session_timeout модулей
- ngx_http_ssl_module и ngx_imap_ssl_module.
- </para>
- <para lang="en">
- the "ssl_session_timeout" directives
- of the ngx_http_ssl_module and ngx_imap_ssl_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива auth_http_header модуля ngx_imap_auth_http_module.
- </para>
- <para lang="en">
- the "auth_http_header" directive of the ngx_imap_auth_http_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива add_header.
- </para>
- <para lang="en">
- the "add_header" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_realip_module.
- </para>
- <para lang="en">
- the ngx_http_realip_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- новые переменные для использования в директиве log_format:
- $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
- $uri, $request_time, $request_length,
- $upstream_status, $upstream_response_time,
- $gzip_ratio,
- $uid_got, $uid_set,
- $connection, $pipe и $msec.
- Параметры в виде "%name" скоро будут упразднены.
- </para>
- <para lang="en">
- the new variables to use in the "log_format" directive:
- $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
- $uri, $request_time, $request_length,
- $upstream_status, $upstream_response_time,
- $gzip_ratio,
- $uid_got, $uid_set,
- $connection, $pipe, and $msec.
- The parameters in the "%name" form will be canceled soon.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в директиве "if" ложными значениями переменных теперь являются
- пустая строка "" и строки, начинающиеся на "0".
- </para>
- <para lang="en">
- now the false variable values in the "if" directive are the empty string ""
- and string starting with "0".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при работает с проксированными или FastCGI-серверами nginx мог оставлять
- открытыми соединения и временные файлы с запросами клиентов.
- </para>
- <para lang="en">
- while using proxied or FastCGI-server nginx may leave connections
- and temporary files with client requests in open state.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- рабочие процессы не сбрасывали буферизированные логи при плавном выходе.
- </para>
- <para lang="en">
- the worker processes did not flush the buffered logs on graceful exit.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если URI запроса изменялось с помощью rewrite, а затем запрос проксировался
- в location, заданном регулярным выражением, то бэкенду передавался
- неверный запрос;
- ошибка появилась в 0.2.6.
- </para>
- <para lang="en">
- if the request URI was changes by the "rewrite" directive and the request
- was proxied in location given by regular expression, then the incorrect
- request was transferred to backend;
- the bug had appeared in 0.2.6.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива expires не удаляла уже установленную строку заголовка "Expires".
- </para>
- <para lang="en">
- the "expires" directive did not remove the previous "Expires" header.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании метода rtsig и нескольких рабочих процессах nginx
- мог перестать принимать запросы.
- </para>
- <para lang="en">
- nginx may stop to accept requests if the "rtsig" method and several worker
- processes were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в SSI командах неверно обрабатывались строки "\"" и "\'".
- </para>
- <para lang="en">
- the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если ответ заканчивался сразу же после SSI команды, то при использовании
- сжатия ответ передавался не до конца или не передавался вообще.
- </para>
- <para lang="en">
- if the response was ended just after the SSI command and gzipping was used,
- then the response did not transferred complete or did not transferred at all.
- </para>
- </change>
- </changes>
- <changes ver="0.3.7" date="2005-10-27">
- <change type="feature">
- <para lang="ru">
- директива access_log поддерживает параметр buffer=.
- </para>
- <para lang="en">
- the "access_log" supports the "buffer=" parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
- ошибка появилась в 0.3.2.
- </para>
- <para lang="en">
- nginx could not be built on platforms different from i386, amd64, sparc,
- and ppc;
- the bug had appeared in 0.3.2.
- </para>
- </change>
- </changes>
- <changes ver="0.3.6" date="2005-10-24">
- <change type="change">
- <para lang="ru">
- IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин.
- </para>
- <para lang="en">
- now the IMAP/POP3 proxy do not send the empty login to authorization server.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива log_format поддерживает переменные в виде $name.
- </para>
- <para lang="en">
- the "log_format" supports the variables in the $name form.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если хотя бы в одном сервере не было описано ни одной директивы listen, то
- nginx не слушал на 80 порту;
- ошибка появилась в 0.3.3.
- </para>
- <para lang="en">
- if at least in one server was no the "listen" directive, then nginx did not
- listen on the 80 port;
- the bug had appeared in 0.3.3.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80.
- </para>
- <para lang="en">
- if the URI part is omitted in "proxy_pass" directive, the 80 port was
- always used.
- </para>
- </change>
- </changes>
- <changes ver="0.3.5" date="2005-10-21">
- <change type="bugfix">
- <para lang="ru">
- если логин IMAP/POP3 менялся сервером авторизации, то мог произойти
- segmentation fault;
- ошибка появилась в 0.2.2.
- </para>
- <para lang="en">
- the segmentation fault may occurred if the IMAP/POP3 login was changed
- by authorization server;
- the bug had appeared in 0.2.2.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- accept mutex не работал, все соединения обрабатывались одним рабочим процессом;
- ошибка появилась в 0.3.3.
- </para>
- <para lang="en">
- the accept mutex did not work and all connections were handled by one process;
- the bug had appeared in 0.3.3.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании метода rtsig и директивы timer_resolution
- не работали таймауты.
- </para>
- <para lang="en">
- the timeout did not work if the "rtsig" method and the "timer_resolution"
- directive were used.
- </para>
- </change>
- </changes>
- <changes ver="0.3.4" date="2005-10-19">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на Linux 2.4+ и MacOS X;
- ошибка появилась в 0.3.3.
- </para>
- <para lang="en">
- nginx could not be built on Linux 2.4+ and MacOS X;
- the bug had appeared in 0.3.3.
- </para>
- </change>
- </changes>
- <changes ver="0.3.3" date="2005-10-19">
- <change type="change">
- <para lang="ru">
- параметры "bl" и "af" директивы listen переименованы в "backlog"
- и "accept_filter".
- </para>
- <para lang="en">
- the "bl" and "af" parameters of the "listen" directive was renamed to
- the "backlog" and "accept_filter".
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры "rcvbuf" и "sndbuf" в директиве listen.
- </para>
- <para lang="en">
- the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметр лога $msec теперь не требует дополнительного системного
- вызова gettimeofday().
- </para>
- <para lang="en">
- the "$msec" log parameter does not require now the additional
- the gettimeofday() system call.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- ключ -t теперь проверяет директивы listen.
- </para>
- <para lang="en">
- the -t switch now tests the "listen" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в директиве listen был указан неверный адрес, то nginx после
- сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
- </para>
- <para lang="en">
- if the invalid address was specified in the "listen" directive, then
- after the -HUP signal nginx left an open socket in the CLOSED state.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для индексных файлов, содержащих в имени переменную, мог неверно выставляться
- тип mime по умолчанию;
- ошибка появилась в 0.3.0.
- </para>
- <para lang="en">
- the mime type may be incorrectly set to default value for index file with
- variable in the name;
- the bug had appeared in 0.3.0.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива timer_resolution.
- </para>
- <para lang="en">
- the "timer_resolution" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр лога $upstream_response_time в миллисекундах.
- </para>
- <para lang="en">
- the millisecond "$upstream_response_time" log parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- временный файл с телом запроса клиента теперь удаляется сразу после того,
- как клиенту передан заголовок ответа.
- </para>
- <para lang="en">
- a temporary file with client request body now is removed just after
- the response header was transferred to a client.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с OpenSSL 0.9.6.
- </para>
- <para lang="en">
- OpenSSL 0.9.6 compatibility.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- пути к файлам с SSL сертификатом и ключом не могли быть относительными.
- </para>
- <para lang="en">
- the SSL certificate and key file paths could not be relative.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module.
- </para>
- <para lang="en">
- the "ssl_prefer_server_ciphers" directive did not work in
- the ngx_imap_ssl_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива ssl_protocols позволяла задать только один протокол.
- </para>
- <para lang="en">
- the "ssl_protocols" directive allowed to specify the single protocol only.
- </para>
- </change>
- </changes>
- <changes ver="0.3.2" date="2005-10-12">
- <change type="feature">
- <para lang="ru">
- поддержка Sun Studio 10 C compiler.
- </para>
- <para lang="en">
- the Sun Studio 10 C compiler support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
- fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout.
- </para>
- <para lang="en">
- the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
- "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
- directives.
- </para>
- </change>
- </changes>
- <changes ver="0.3.1" date="2005-10-10">
- <change type="bugfix">
- <para lang="ru">
- во время переполнения очереди сигналов при использовании метода rtsig
- происходил segmentation fault;
- ошибка появилась в 0.2.0.
- </para>
- <para lang="en">
- the segmentation fault occurred when the signal queue overflowed
- if the "rtsig" method was used;
- the bug had appeared in 0.2.0.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
- </para>
- <para lang="en">
- correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
- </para>
- </change>
- </changes>
- <changes ver="0.3.0" date="2005-10-07">
- <change type="change">
- <para lang="ru">
- убрано десятидневное ограничение времени работы рабочего процесса.
- Ограничение было введено из-за переполнения миллисекундных таймеров.
- </para>
- <para lang="en">
- the 10-days live time limit of worker process was eliminated.
- The limit was introduced because of millisecond timers overflow.
- </para>
- </change>
- </changes>
- <changes ver="0.2.6" date="2005-10-05">
- <change type="change">
- <para lang="ru">
- с 60 до 10 секунд уменьшено время повторного обращения к бэкенду
- при использовании распределения нагрузки.
- </para>
- <para lang="en">
- while using load-balancing the time before the failed backend retry
- was decreased from 60 to 10 seconds.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь
- передаётся, если в директиве proxy_pass отсутствует URI.
- </para>
- <para lang="en">
- the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
- if the URI part is omitted in "proxy_pass" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива error_page поддерживает редиректы и позволяет более гибко
- менять код ошибки.
- </para>
- <para lang="en">
- the "error_page" directive supports redirects and allows more flexible
- to change an error code.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в проксированных подзапросах теперь игнорируется переданный charset.
- </para>
- <para lang="en">
- the charset in the "Content-Type" header line now is ignored
- in proxied subrequests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если после изменения URI в блоке if для запроса не находилась
- новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись
- снова.
- </para>
- <para lang="en">
- if the URI was changed in the "if" block and request did not found
- new configuration, then the ngx_http_rewrite_module rules ran again.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если директива set устанавливала переменную модуля ngx_http_geo_module
- в какой-либо части конфигурации, то эта переменная не была доступна в
- других частях конфигурации и выдавалась ошибка "using uninitialized variable";
- ошибка появилась в 0.2.2.
- </para>
- <para lang="en">
- if the "set" directive set the ngx_http_geo_module variable in some
- configuration part, the this variable was not available in other
- configuration parts and the "using uninitialized variable" error was occurred;
- the bug had appeared in 0.2.2.
- </para>
- </change>
- </changes>
- <changes ver="0.2.5" date="2005-10-04">
- <change type="change">
- <para lang="ru">
- дублирующее значение переменной модуля ngx_http_geo_module теперь
- выдаёт предупреждение и изменяет старое значение.
- </para>
- <para lang="en">
- the duplicate value of the ngx_http_geo_module variable now causes
- the warning and changes old value.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает команду set.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the "set" command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает параметр file в команде include.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the "file" parameter in the "include" command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает подстановку значений переменных
- в выражениях команды if.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the variable value substitutions in
- expressions of the "if" command.
- </para>
- </change>
- </changes>
- <changes ver="0.2.4" date="2005-10-03">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает выражения
- "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/"
- в команде if.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports
- "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
- in the "if" command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при проксировании location без слэша в конце;
- ошибка появилась в 0.1.44.
- </para>
- <para lang="en">
- in proxying location without trailing slash;
- the bug had appeared in 0.1.44.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании метода rtsig мог произойти segmentation fault;
- ошибка появилась в 0.2.0.
- </para>
- <para lang="en">
- the segmentation fault may occurred if the "rtsig" method was used;
- the bug had appeared in 0.2.0.
- </para>
- </change>
- </changes>
- <changes ver="0.2.3" date="2005-09-30">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался без параметра --with-debug;
- ошибка появилась в 0.2.2.
- </para>
- <para lang="en">
- nginx could not be built without the --with-debug option;
- the bug had appeared in 0.2.2.
- </para>
- </change>
- </changes>
- <changes ver="0.2.2" date="2005-09-30">
- <change type="feature">
- <para lang="ru">
- команда config errmsg в модуле ngx_http_ssi_module.
- </para>
- <para lang="en">
- the "config errmsg" command of the ngx_http_ssi_module.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- переменные модуля ngx_http_geo_module можно переопределять директивой set.
- </para>
- <para lang="en">
- the ngx_http_geo_module variables can be overridden by the "set" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы ssl_protocols и ssl_prefer_server_ciphers модулей
- ngx_http_ssl_module и ngx_imap_ssl_module.
- </para>
- <para lang="en">
- the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
- of the ngx_http_ssl_module and ngx_imap_ssl_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not show correctly the long file names;
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module теперь не показывает файлы,
- начинающиеся на точку.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module now do not show the files starting by dot.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если SSL handshake завершался с ошибкой, то это могло привести также
- к закрытию другого соединения.<br/>
- Спасибо Rob Mueller.
- </para>
- <para lang="en">
- if the SSL handshake failed then another connection may be closed too.<br/>
- Thanks to Rob Mueller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- экспортные версии MSIE 5.x не могли соединиться по HTTPS.
- </para>
- <para lang="en">
- the export versions of MSIE 5.x could not connect via HTTPS.
- </para>
- </change>
- </changes>
- <changes ver="0.2.1" date="2005-09-23">
- <change type="bugfix">
- <para lang="ru">
- если все бэкенды, используемые для балансировки нагрузки, оказывались
- в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
- ошибка появилась в 0.2.0.
- </para>
- <para lang="en">
- if all backend using in load-balancing failed after one error, then
- nginx may got caught in an endless loop;
- the bug had appeared in 0.2.0.
- </para>
- </change>
- </changes>
- <changes ver="0.2.0" date="2005-09-23">
- <change>
- <para lang="ru">
- Изменились имена pid-файлов, используемые во время обновления исполняемого
- файла. Ручное переименование теперь не нужно.
- Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin"
- и запускает новый исполняемый файл.
- Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin".
- Если новый основной процесс выходит, то старый процесс переименовывает свой
- pid-файл c суффиксом ".oldbin" в pid-файл без суффикса.
- При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба
- процесса—старый 0.1.x и новый 0.2.0—используют pid-файл
- без суффиксов.
- </para>
- <para lang="en">
- The pid-file names used during online upgrade was changed and now is not
- required a manual rename operation.
- The old master process adds the ".oldbin" suffix to its pid-file and
- executes a new binary file.
- The new master process creates usual pid-file without the ".newbin" suffix.
- If the master process exits, then old master process renames back
- its pid-file with the ".oldbin" suffix to the pid-file without suffix.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива worker_connections, новое название директивы connections;
- директива теперь задаёт максимальное число соединений,
- а не максимально возможный номер дескриптора для сокета.
- </para>
- <para lang="en">
- the "worker_connections" directive, new name of the "connections" directive;
- now the directive specifies maximum number of connections,
- but not maximum socket descriptor number.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- SSL поддерживает кэширование сессий в пределах одного рабочего процесса.
- </para>
- <para lang="en">
- SSL supports the session cache inside one worker process.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива satisfy_any.
- </para>
- <para lang="en">
- the "satisfy_any" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- модули ngx_http_access_module и ngx_http_auth_basic_module не работают
- для подзапросов.
- </para>
- <para lang="en">
- the ngx_http_access_module and ngx_http_auth_basic_module do not run
- for subrequests.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы worker_rlimit_nofile и worker_rlimit_sigpending.
- </para>
- <para lang="en">
- the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если все бэкенды, используемые для балансировки нагрузки, оказывались
- в нерабочем состоянии после одной ошибки, то nginx не обращался к ним
- в течение 60 секунд.
- </para>
- <para lang="en">
- if all backend using in load-balancing failed after one error, then
- nginx did not try do connect to them during 60 seconds.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в парсинге аргументов IMAP/POP3 команд.<br/>
- Спасибо Rob Mueller.
- </para>
- <para lang="en">
- in IMAP/POP3 command argument parsing.<br/>
- Thanks to Rob Mueller.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании SSL в IMAP/POP3 прокси.
- </para>
- <para lang="en">
- errors while using SSL in IMAP/POP3 proxy.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании SSI и сжатия.
- </para>
- <para lang="en">
- errors while using SSI and gzipping.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в ответах 304 не добавлялись строки заголовка ответа "Expires" и
- "Cache-Control".<br/>
- Спасибо Александру Кукушкину.
- </para>
- <para lang="en">
- the "Expires" and "Cache-Control" header lines were omitted
- from the 304 responses.<br/>
- Thanks to Alexandr Kukushkin.
- </para>
- </change>
- </changes>
- <changes ver="0.1.45" date="2005-09-08">
- <change type="change">
- <para lang="ru">
- директива ssl_engine упразднена в модуле ngx_http_ssl_module и
- перенесена на глобальный уровень.
- </para>
- <para lang="en">
- the "ssl_engine" directive was canceled in the ngx_http_ssl_module
- and now is introduced at global level.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ответы с подзапросами, включённые с помощью SSI, не передавались
- через SSL соединение.
- </para>
- <para lang="en">
- the responses with SSI subrequests did not transferred via SSL connection.
- </para>
- </change>
- <change>
- <para lang="ru">
- Разные исправления в IMAP/POP3 прокси.
- </para>
- <para lang="en">
- Various bug fixes in the IMAP/POP3 proxy.
- </para>
- </change>
- </changes>
- <changes ver="0.1.44" date="2005-09-06">
- <change type="feature">
- <para lang="ru">
- IMAP/POP3 прокси поддерживает SSL.
- </para>
- <para lang="en">
- the IMAP/POP3 proxy supports SSL.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_timeout модуля ngx_imap_proxy_module.
- </para>
- <para lang="en">
- the "proxy_timeout" directive of the ngx_imap_proxy_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива userid_mark.
- </para>
- <para lang="en">
- the "userid_mark" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- значение переменной $remote_user определяется независимо от того,
- используется ли авторизация или нет.
- </para>
- <para lang="en">
- the $remote_user variable value is determined independently of
- authorization use.
- </para>
- </change>
- </changes>
- <changes ver="0.1.43" date="2005-08-30">
- <change type="feature">
- <para lang="ru">
- listen(2) backlog в директиве listen можно менять по сигналу -HUP.
- </para>
- <para lang="en">
- the listen(2) backlog in the "listen" directive
- can be changed using the -HUP signal.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- скрипт geo2nginx.pl добавлен в contrib.
- </para>
- <para lang="en">
- the geo2nginx.pl script was added to contrib.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- параметры FastCGI с пустым значениями теперь передаются серверу.
- </para>
- <para lang="en">
- the FastCGI parameters with the empty values now are passed to a server.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в ответе проксированного сервера или FastCGI сервера была строка
- "Cache-Control", то при использовании директивы expires происходил
- segmentation fault или рабочий процесс мог зациклится;
- в режиме прокси ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- the segmentation fault occurred or the worker process may got caught
- in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
- header line and the "expires" directive was used;
- in the proxied mode the bug had appeared in 0.1.29.
- </para>
- </change>
- </changes>
- <changes ver="0.1.42" date="2005-08-23">
- <change type="bugfix">
- <para lang="ru">
- если URI запроса получался нулевой длины после обработки модулем
- ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил
- segmentation fault или bus error.
- </para>
- <para lang="en">
- if the request URI had a zero length after the processing in
- the ngx_http_proxy_module, then the segmentation fault or bus error occurred
- in the ngx_http_proxy_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива limit_rate не работала внутри блока if;
- ошибка появилась в 0.1.38.
- </para>
- <para lang="en">
- the "limit_rate" directive did not work inside the "if" block;
- the bug had appeared in 0.1.38.
- </para>
- </change>
- </changes>
- <changes ver="0.1.41" date="2005-07-25">
- <change type="bugfix">
- <para lang="ru">
- если переменная использовалась в файле конфигурации,
- то она не могла использоваться в SSI.
- </para>
- <para lang="en">
- if the variable was used in the configuration file,
- then it can not be used in SSI.
- </para>
- </change>
- </changes>
- <changes ver="0.1.40" date="2005-07-22">
- <change type="bugfix">
- <para lang="ru">
- если клиент слал очень длинную строку заголовка, то в логе не помещалась
- информация, связанная с этим запросом.
- </para>
- <para lang="en">
- if a client sent too long header line, then the request information
- did not logged in the error log.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie";
- ошибка появилась в 0.1.39.
- </para>
- <para lang="en">
- the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
- was used;
- the bug had appeared in 0.1.39.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании "X-Accel-Redirect" не передавалась строка
- "Content-Disposition".
- </para>
- <para lang="en">
- the "Content-Disposition" header line was not transferred when
- the "X-Accel-Redirect" was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал.
- </para>
- <para lang="en">
- the master process did not close the listen socket on the SIGQUIT signal.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после обновления исполняемого файла на лету на Linux и Solaris
- название процесса в команде ps становилось короче.
- </para>
- <para lang="en">
- after on-line upgrade on Linux and Solaris the process name
- became shorter in the "ps" command.
- </para>
- </change>
- </changes>
- <changes ver="0.1.39" date="2005-07-14">
- <change>
- <para lang="ru">
- Изменения в модуле ngx_http_charset_module:
- директива default_charset упразднена;
- директива charset задаёт кодировку ответа;
- директива source_charset задаёт только исходную кодировку.
- </para>
- <para lang="en">
- The changes in the ngx_http_charset_module:
- the "default_charset" directive was canceled;
- the "charset" directive sets the response charset;
- the "source_charset" directive sets the source charset only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении ошибки 401, полученной от бэкенда, не передавалась
- строка заголовка "WWW-Authenticate".
- </para>
- <para lang="en">
- the backend "WWW-Authenticate" header line did not transferred while
- the 401 response code redirecting.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть
- соединение до того, как что-нибудь было передано клиенту;
- ошибка появилась в 0.1.38.
- </para>
- <para lang="en">
- the ngx_http_proxy_module and ngx_http_fastcgi_module may close
- a connection before anything was transferred to a client;
- the bug had appeared in 0.1.38.
- </para>
- </change>
- <change type="workaround">
- <para lang="ru">
- обработка ошибки инициализации в crypt_r() в Linux glibc.
- </para>
- <para lang="en">
- the Linux glibc crypt_r() initialization bug.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_ssi_module не поддерживал относительные URI в
- команде include virtual.
- </para>
- <para lang="en">
- the ngx_http_ssi_module did not support the relative URI in
- the "include virtual" command.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в строке заголовка ответа бэкенда была строка "Location",
- которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- if the backend response had the "Location" header line and nginx
- should not rewrite this line, then the 500 code response body was transferred;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module
- не наследовались с уровня server на уровень location;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
- were not inherited from the server to the location level;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_ssl_module не поддерживал цепочки сертификатов.
- </para>
- <para lang="en">
- the ngx_http_ssl_module did not support the certificate chain.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
- ошибка появилась в 0.1.38.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not show correctly the long file names;
- the bug had appeared in 0.1.38.
- </para>
- </change>
- <change>
- <para lang="ru">
- Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login.
- </para>
- <para lang="en">
- Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
- </para>
- </change>
- </changes>
- <changes ver="0.1.38" date="2005-07-08">
- <change type="feature">
- <para lang="ru">
- директива limit_rate поддерживается в режиме прокси и FastCGI.
- </para>
- <para lang="en">
- the "limit_rate" directive is supported in proxy and FastCGI mode.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate"
- в ответе бэкенда.
- </para>
- <para lang="en">
- the "X-Accel-Limit-Rate" response header line is supported in proxy
- and FastCGI mode.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива break.
- </para>
- <para lang="en">
- the "break" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива log_not_found.
- </para>
- <para lang="en">
- the "log_not_found" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect"
- не изменялся код ответа.
- </para>
- <para lang="en">
- the response status code was not changed when request was redirected
- by the ""X-Accel-Redirect" header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные, установленные директивой set не могли использоваться в SSI.
- </para>
- <para lang="en">
- the variables set by the "set" directive could not be used in SSI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включении в SSI более одного удалённого подзапроса
- мог произойти segmentation fault.
- </para>
- <para lang="en">
- the segmentation fault may occurred if the SSI page has more than one
- remote subrequest.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если статусная строка в ответе бэкенда передавалась в двух пакетах, то
- nginx считал ответ неверным;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- nginx treated the backend response as invalid if the status line in the
- header was transferred in two packets;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssi_types.
- </para>
- <para lang="en">
- the "ssi_types" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива autoindex_exact_size.
- </para>
- <para lang="en">
- the "autoindex_exact_size" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not support the long file names in UTF-8.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- IMAP/POP3 прокси.
- </para>
- <para lang="en">
- the IMAP/POP3 proxy.
- </para>
- </change>
- </changes>
- <changes ver="0.1.37" date="2005-06-23">
- <change type="change">
- <para lang="ru">
- в конце файла nginx.pid теперь добавляется "\n".
- </para>
- <para lang="en">
- now the "\n" is added to the end of the "nginx.pid" file.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при включении большого количества вставок или нескольких больших вставок
- с помощью SSI ответ мог передаваться не полностью.
- </para>
- <para lang="en">
- the responses may be transferred not completely,
- if many parts or the big parts were included by SSI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если все бэкенды возвращали ответ 404, то при использовании параметра http_404
- в директивах proxy_next_upstream или fastcgi_next_upstream, nginx
- начинал запрашивать все бэкенды снова.
- </para>
- <para lang="en">
- if all backends had returned the 404 response and the "http_404" parameter of
- the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
- then nginx started to request all backends again.
- </para>
- </change>
- </changes>
- <changes ver="0.1.36" date="2005-06-15">
- <change type="change">
- <para lang="ru">
- если в заголовке запроса есть дублирующиеся строки "Host", "Connection",
- "Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400.
- </para>
- <para lang="en">
- if the request header has duplicate the "Host", "Connection", "Content-Length",
- or "Authorization" lines, then nginx now returns the 400 error.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива post_accept_timeout упразднена.
- </para>
- <para lang="en">
- the "post_accept_timeout" directive was canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметры default, af=, bl=, deferred и bind в директиве listen.
- </para>
- <para lang="en">
- the "default", "af=", "bl=", "deferred", and "bind" parameters
- of the "listen" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка accept фильтров во FreeBSD.
- </para>
- <para lang="en">
- the FreeBSD accept filters support.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка TCP_DEFER_ACCEPT в Linux.
- </para>
- <para lang="en">
- the Linux TCP_DEFER_ACCEPT support.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module did not support the file names in UTF-8.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- после добавления новый лог-файл ротация этого лога по сигналу -USR1
- выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP.
- </para>
- <para lang="en">
- the new log file can be rotated by the -USR1 signal only if
- the reconfiguration by the -HUP signal was made twice.
- </para>
- </change>
- </changes>
- <changes ver="0.1.35" date="2005-06-07">
- <change type="feature">
- <para lang="ru">
- директива working_directory.
- </para>
- <para lang="en">
- the "working_directory" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива port_in_redirect.
- </para>
- <para lang="en">
- the "port_in_redirect" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если заголовок ответа бэкенда не помещался в один пакет, то
- происходил segmentation fault;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- the segmentation fault was occurred if the backend response header was in
- several packets;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если было сконфигурировано более 10 серверов или в сервере не описана
- директива "listen",
- то при запуске мог произойти segmentation fault.
- </para>
- <para lang="en">
- if more than 10 servers were configured or some server did not use the
- "listen" directive, then the segmentation fault was occurred on the start.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если ответ не помещался во временный файл,
- то мог произойти segmentation fault.
- </para>
- <para lang="en">
- the segmentation fault might occur if the response was bigger than
- the temporary file.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx возвращал ошибку 400 на запросы вида
- <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
- ошибка появилась в 0.1.28.
- </para>
- <para lang="en">
- nginx returned the 400 response on requests like
- <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
- the bug had appeared in 0.1.28.
- </para>
- </change>
- </changes>
- <changes ver="0.1.34" date="2005-05-26">
- <change type="bugfix">
- <para lang="ru">
- при включении больших ответов с помощью SSI рабочий процесс мог зациклиться.
- </para>
- <para lang="en">
- the worker process may got caught in an endless loop if the big response
- part were include by SSI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- переменные, устанавливаемые директивой "set", не были доступны в SSI.
- </para>
- <para lang="en">
- the variables set by the "set" directive were not available in SSI.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива autoindex_localtime.
- </para>
- <para lang="en">
- the "autoindex_localtime" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- пустое значение в директиве proxy_set_header запрещает передачу заголовка.
- </para>
- <para lang="en">
- the empty value of the "proxy_set_header" directive forbids the client
- request header line passing.
- </para>
- </change>
- </changes>
- <changes ver="0.1.33" date="2005-05-23">
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался с параметром --without-pcre;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- nginx could not be built with the --without-pcre parameter;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- 3, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали
- bus fault при запуске.
- </para>
- <para lang="en">
- 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause
- the bus fault on start up.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в редиректах внутри HTTPS сервера был указан протокол HTTP.
- </para>
- <para lang="en">
- the HTTP protocol was specified in the HTTPS redirects.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если директива rewrite использовала выделения внутри директивы if, то
- возвращалась ошибка 500.
- </para>
- <para lang="en">
- if the "rewrite" directive used the captures inside the "if" directive, then
- the 500 error code was returned.
- </para>
- </change>
- </changes>
- <changes ver="0.1.32" date="2005-05-19">
- <change type="bugfix">
- <para lang="ru">
- в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы;
- ошибка появилась в 0.1.29.
- </para>
- <para lang="en">
- the arguments were omitted in the redirects, issued by the "rewrite" directive;
- the bug had appeared in 0.1.29.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива if поддерживает выделения в регулярных выражениях.
- </para>
- <para lang="en">
- the "if" directive supports the captures in regular expressions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива set поддерживает переменные и выделения из регулярных выражений.
- </para>
- <para lang="en">
- the "set" directive supports the variables and the captures of regular
- expressions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect"
- в ответе бэкенда.
- </para>
- <para lang="en">
- the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
- mode.
- </para>
- </change>
- </changes>
- <changes ver="0.1.31" date="2005-05-16">
- <change type="bugfix">
- <para lang="ru">
- при использовании SSL ответ мог передаваться не до конца.
- </para>
- <para lang="en">
- the response encrypted by SSL may not transferred complete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при обработке SSI в ответе, полученного от FastCGI-сервера.
- </para>
- <para lang="en">
- errors while processing FastCGI response by SSI.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки при использовании SSI и сжатия.
- </para>
- <para lang="en">
- errors while using SSI and gzipping.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- редирект с кодом 301 передавался без тела ответа;
- ошибка появилась в 0.1.30.
- </para>
- <para lang="en">
- the redirect with the 301 code was transferred without response body;
- the bug had appeared in 0.1.30.
- </para>
- </change>
- </changes>
- <changes ver="0.1.30" date="2005-05-14">
- <change type="bugfix">
- <para lang="ru">
- при использовании SSI рабочий процесс мог зациклиться.
- </para>
- <para lang="en">
- the worker process may got caught in an endless loop if the SSI was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SSL ответ мог передаваться не до конца.
- </para>
- <para lang="en">
- the response encrypted by SSL may not transferred complete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если длина части ответа, полученного за один раз от проксируемого или
- FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500;
- в режиме прокси ошибка появилась только в 0.1.29.
- </para>
- <para lang="en">
- if the length of the response part received at once from proxied
- or FastCGI server was equal to 500, then nginx returns the 500 response code;
- in proxy mode the bug had appeared in 0.1.29 only.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не считал неверными директивы с 8-ю или 9-ю параметрами.
- </para>
- <para lang="en">
- nginx did not consider the directives with 8 or 9 parameters as invalid.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива return может возвращать код ответа 204.
- </para>
- <para lang="en">
- the "return" directive can return the 204 response code.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ignore_invalid_headers.
- </para>
- <para lang="en">
- the "ignore_invalid_headers" directive.
- </para>
- </change>
- </changes>
- <changes ver="0.1.29" date="2005-05-12">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает команду include virtual.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports "include virtual" command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает условную команду вида
- 'if expr="$NAME"' и команды else и endif.
- Допускается только один уровень вложенности.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the condition command like
- 'if expr="$NAME"' and "else" and "endif" commands.
- Only one nested level is supported.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT
- и команду config timefmt.
- </para>
- <para lang="en">
- the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
- and "config timefmt" command.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива ssi_ignore_recycled_buffers.
- </para>
- <para lang="en">
- the "ssi_ignore_recycled_buffers" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если переменная QUERY_STRING не была определена, то в команде echo
- не ставилось значение по умолчанию.
- </para>
- <para lang="en">
- the "echo" command did not show the default value for the empty QUERY_STRING
- variable.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- модуль ngx_http_proxy_module полностью переписан.
- </para>
- <para lang="en">
- the ngx_http_proxy_module was rewritten.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_redirect, proxy_pass_request_headers,
- proxy_pass_request_body и proxy_method.
- </para>
- <para lang="en">
- the "proxy_redirect", "proxy_pass_request_headers",
- "proxy_pass_request_body", and "proxy_method" directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_set_header.
- Директива proxy_x_var упразднена и должна быть заменена директивой
- proxy_set_header.
- </para>
- <para lang="en">
- the "proxy_set_header" directive.
- The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
- directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива proxy_preserve_host упразднена и должна быть заменена директивами
- "proxy_set_header Host $host" и "proxy_redirect off"
- или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
- и соответствующими ей директивами proxy_redirect.
- </para>
- <para lang="en">
- the "proxy_preserve_host" is canceled and must be replaced with
- the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
- the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
- and the appropriate proxy_redirect directives.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива proxy_set_x_real_ip упразднена и должна быть заменена директивой
- "proxy_set_header X-Real-IP $remote_addr".
- </para>
- <para lang="en">
- the "proxy_set_x_real_ip" is canceled and must be replaced with
- the "proxy_set_header X-Real-IP $remote_addr" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива proxy_add_x_forwarded_for упразднена и должна быть заменена
- директивой
- <nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
- </para>
- <para lang="en">
- the "proxy_add_x_forwarded_for" is canceled and must be replaced with
- <nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
- directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директива proxy_set_x_url упразднена и должна быть заменена директивой
- <nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
- </para>
- <para lang="en">
- the "proxy_set_x_url" is canceled and must be replaced with
- the "proxy_set_header X-URL http://$host:$server_port$request_uri"
- directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_param.
- </para>
- <para lang="en">
- the "fastcgi_param" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены
- и должны быть замены директивами fastcgi_param.
- </para>
- <para lang="en">
- the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
- are canceled and must be replaced with the fastcgi_param directives.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива index может использовать переменные.
- </para>
- <para lang="en">
- the "index" directive can use the variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива index может быть указана на уровне http и server.
- </para>
- <para lang="en">
- the "index" directive can be used at http and server levels.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- только последний параметр в директиве index может быть абсолютным.
- </para>
- <para lang="en">
- the last index only in the "index" directive can be absolute.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- в директиве rewrite могут использоваться переменные.
- </para>
- <para lang="en">
- the "rewrite" directive can use the variables.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива internal.
- </para>
- <para lang="en">
- the "internal" directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
- SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
- REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
- </para>
- <para lang="en">
- the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
- SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
- REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- nginx теперь передаёт неверные строки в заголовках запроса клиента и
- ответа бэкенда.
- </para>
- <para lang="en">
- nginx now passes the invalid lines in a client request headers
- or a backend response header.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если бэкенд долго не передавал ответ и send_timeout был меньше, чем
- proxy_read_timeout, то клиенту возвращался ответ 408.
- </para>
- <para lang="en">
- if the backend did not transfer response for a long time and
- the "send_timeout" was less than "proxy_read_timeout", then nginx
- returned the 408 response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если бэкенд передавал неверную строку в заголовке ответа, то происходил
- segmentation fault;
- ошибка появилась в 0.1.26.
- </para>
- <para lang="en">
- the segmentation fault was occurred if the backend sent an invalid line
- in response header;
- the bug had appeared in 0.1.26.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании отказоустойчивой конфигурации в FastCGI мог
- происходить segmentation fault.
- </para>
- <para lang="en">
- the segmentation fault may occurred in FastCGI fault tolerance configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива expires не удаляла уже установленные строки заголовка
- "Expires" и "Cache-Control".
- </para>
- <para lang="en">
- the "expires" directive did not remove the previous "Expires" and
- "Cache-Control" headers.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не учитывал завершающую точку в строке заголовка запроса "Host".
- </para>
- <para lang="en">
- nginx did not take into account trailing dot in "Host" header line.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_auth_module не работал на Linux.
- </para>
- <para lang="en">
- the ngx_http_auth_module did not work under Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива rewrite неверно работала, если в запросе присутствовали аргументы.
- </para>
- <para lang="en">
- the rewrite directive worked incorrectly, if the arguments were in a request.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на MacOS X.
- </para>
- <para lang="en">
- nginx could not be built on MacOS X.
- </para>
- </change>
- </changes>
- <changes ver="0.1.28" date="2005-04-08">
- <change type="bugfix">
- <para lang="ru">
- при проксировании больших файлов nginx сильно нагружал процессор.
- </para>
- <para lang="en">
- nginx hogs CPU while proxying the huge files.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался gcc 4.0 на Linux.
- </para>
- <para lang="en">
- nginx could not be built by gcc 4.0 on Linux.
- </para>
- </change>
- </changes>
- <changes ver="0.1.27" date="2005-03-28">
- <change type="feature">
- <para lang="ru">
- параметр blocked в директиве valid_referers.
- </para>
- <para lang="en">
- the "blocked" parameter of the "valid_referers" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- ошибки обработки заголовка запроса теперь записываются на уровне
- info, в лог также записывается имя сервера и строки заголовка
- запроса "Host" и "Referer".
- </para>
- <para lang="en">
- the errors while handling the request header now logged at "info" level.
- The server name and the "Host" and "Referer" header lines also logged.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- при записи ошибок в лог записывается также строка заголовка запроса "Host".
- </para>
- <para lang="en">
- the "Host" header line is also logged in error log.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_pass_unparsed_uri.
- Специальная обработка символов "://" в URI, введённая в версии 0.1.11,
- теперь упразднена.
- </para>
- <para lang="en">
- the proxy_pass_unparsed_uri directive.
- The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
- now is canceled.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации
- --without-ngx_http_auth_basic_module.
- </para>
- <para lang="en">
- nginx could not be built on FreeBSD and Linux, if the
- --without-ngx_http_auth_basic_module configuration parameter was used.
- </para>
- </change>
- </changes>
- <changes ver="0.1.26" date="2005-03-22">
- <change type="change">
- <para lang="ru">
- неверные строки заголовка, переданные клиентом, теперь игнорируется и
- записываются в error_log на уровне info.
- </para>
- <para lang="en">
- the invalid client header lines are now ignored and logged at the info level.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- при записи ошибок в лог записывается также имя сервера, при обращении
- к которому произошла ошибка.
- </para>
- <para lang="en">
- the server name is also logged in error log.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_auth_basic_module и директивы auth_basic и
- auth_basic_user_file.
- </para>
- <para lang="en">
- the ngx_http_auth_basic_module module and the auth_basic and
- auth_basic_user_file directives.
- </para>
- </change>
- </changes>
- <changes ver="0.1.25" date="2005-03-19">
- <change type="bugfix">
- <para lang="ru">
- nginx не работал на Linux parisc.
- </para>
- <para lang="en">
- nginx did run on Linux parisc.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- nginx теперь не запускается под FreeBSD, если значение
- sysctl kern.ipc.somaxconn слишком большое.
- </para>
- <para lang="en">
- nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
- value is too big.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если модуль ngx_http_index_module делал внутреннее перенаправление запроса
- в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса
- не закрывался после обслуживания запроса.
- </para>
- <para lang="en">
- if a request was internally redirected by the ngx_http_index_module
- module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
- then the index file was not closed after request completion.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_pass может использоваться в location, заданных регулярным
- выражением.
- </para>
- <para lang="en">
- the "proxy_pass" can be used in location with regular expression.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_rewrite_filter_module поддерживает условия вида
- "if ($HTTP_USER_AGENT ~ MSIE)".
- </para>
- <para lang="en">
- the ngx_http_rewrite_filter_module module supports the condition like
- "if ($HTTP_USER_AGENT ~ MSIE)".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx очень медленно запускался при большом количестве адресов и
- использовании текстовых значений в директиве geo.
- </para>
- <para lang="en">
- nginx started too slow if the large number of addresses and text values
- were used in the "geo" directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- имя переменной в директиве geo нужно указывать, как $name.
- Прежний вариант без "$" пока работает, но вскоре будет убран.
- </para>
- <para lang="en">
- a variable name must be declared as "$name" in the "geo" directive.
- The previous variant without "$" is still supported, but will be removed soon.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр лога "%{VARIABLE}v".
- </para>
- <para lang="en">
- the "%{VARIABLE}v" logging parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива "set $name value".
- </para>
- <para lang="en">
- the "set $name value" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- совместимость с gcc 4.0.
- </para>
- <para lang="en">
- gcc 4.0 compatibility.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр автоконфигурации --with-openssl-opt=OPTIONS.
- </para>
- <para lang="en">
- the --with-openssl-opt=OPTIONS autoconfiguration directive.
- </para>
- </change>
- </changes>
- <changes ver="0.1.24" date="2005-03-04">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_filter_module поддерживает переменные
- QUERY_STRING и DOCUMENT_URI.
- </para>
- <para lang="en">
- the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
- variables.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module мог выдавать ответ 404
- на существующий каталог, если этот каталог был указан как alias.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module may some times return the 404 response
- for existent directory, if this directory was used in "alias" directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_ssi_filter_module неправильно работал при больших
- ответах.
- </para>
- <para lang="en">
- the ngx_http_ssi_filter_module ran incorrectly for large responses.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом.
- </para>
- <para lang="en">
- the lack of the "Referer" header line was always accounted as valid referrer.
- </para>
- </change>
- </changes>
- <changes ver="0.1.23" date="2005-03-01">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_ssi_filter_module и
- директивы ssi, ssi_silent_errors и ssi_min_file_chunk.
- Поддерживаются команды 'echo var="HTTP_..." default=""' и
- 'echo var="REMOTE_ADDR"'.
- </para>
- <para lang="en">
- the ngx_http_ssi_filter_module and
- the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
- The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands
- are supported.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- параметр лога %request_time.
- </para>
- <para lang="en">
- the %request_time log parameter.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- если запрос пришёл без строки заголовка "Host", то директива
- proxy_preserve_host устанавливает в качестве этого заголовка первое имя
- сервера из директивы server_name.
- </para>
- <para lang="en">
- if the request has no the "Host" header line, then the "proxy_preserve_host"
- directive set this header line to the first server name of the "server_name"
- directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
- ошибка появилась в 0.1.22.
- </para>
- <para lang="en">
- nginx could not be built on platforms different from i386, amd64, sparc,
- and ppc;
- the bug had appeared in 0.1.22.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_autoindex_module теперь показывает информацию не о
- символическом линке, а о файле или каталоге, на который он указывает.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module now shows the information not about the symlink,
- but about file or directory it points to.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если клиенту ничего не передавалось, то параметр %apache_length
- записывал в лог отрицательную длину заголовка ответа.
- </para>
- <para lang="en">
- the %apache_length parameter logged the negative length
- of the response header if the no response was transferred to a client.
- </para>
- </change>
- </changes>
- <changes ver="0.1.22" date="2005-02-22">
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_stub_status_module показывал неверную статистику
- для обработанных соединений, если использовалось проксирование
- или FastCGI-сервер.
- </para>
- <para lang="en">
- the ngx_http_stub_status_module showed incorrect handled connections
- statistics if the proxying or FastCGI server were used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на Linux и Solaris установочные пути были неверно заключены в кавычки;
- ошибка появилась в 0.1.21.
- </para>
- <para lang="en">
- the installation paths were incorrectly quoted on Linux and Solaris;
- the bug had appeared in 0.1.21.
- </para>
- </change>
- </changes>
- <changes ver="0.1.21" date="2005-02-22">
- <change type="bugfix">
- <para lang="ru">
- модуль ngx_http_stub_status_module показывал неверную статистику
- при использовании метода rtsig или при использовании нескольких
- рабочих процессов на SMP машине.
- </para>
- <para lang="en">
- the ngx_http_stub_status_module showed incorrect statistics
- if "rtsig" method was used or if several worker process ran on SMP.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался компилятором icc под Линуксом или
- если библиотека zlib-1.2.x собиралась из исходных текстов.
- </para>
- <para lang="en">
- nginx could not be built by the icc compiler on Linux or
- if the zlib-1.2.x library was building from sources.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под NetBSD 2.0.
- </para>
- <para lang="en">
- nginx could not be built on NetBSD 2.0.
- </para>
- </change>
- </changes>
- <changes ver="0.1.20" date="2005-02-17">
- <change type="feature">
- <para lang="ru">
- новые параметры script_filename и remote_port в директиве fastcgi_params.
- </para>
- <para lang="en">
- the new "script_filename" and "remote_port" parameters
- of the fastcgi_params directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- неправильно обрабатывался поток stderr от FastCGI-сервера.
- </para>
- <para lang="en">
- the FastCGI stderr stream was handled incorrectly.
- </para>
- </change>
- </changes>
- <changes ver="0.1.19" date="2005-02-16">
- <change type="bugfix">
- <para lang="ru">
- если в запросе есть нуль, то для локальных запросов теперь возвращается
- ошибка 404.
- </para>
- <para lang="en">
- now, if request contains the zero, then the 404 error is returned
- for the local requests.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под NetBSD 2.0.
- </para>
- <para lang="en">
- nginx could not be built on NetBSD 2.0.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- во время чтения тела запроса клиента в SSL соединении мог произойти таймаут.
- </para>
- <para lang="en">
- the timeout may occur while reading of the client request body
- via SSL connections.
- </para>
- </change>
- </changes>
- <changes ver="0.1.18" date="2005-02-09">
- <change type="workaround">
- <para lang="ru">
- для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes
- значения по умолчанию уменьшены с 512 до 32.
- </para>
- <para lang="en">
- the default values of the devpoll_events and the devpoll_changes directives
- changed from 512 to 32 to be compatible with Solaris 10.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директивы proxy_set_x_var и fastcgi_set_var не наследовались.
- </para>
- <para lang="en">
- the proxy_set_x_var and fastcgi_set_var directives were not inherited.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в директиве rewrite, возвращающей редирект, аргументы присоединялись
- к URI через символ "&" вместо "?".
- </para>
- <para lang="en">
- in a redirect rewrite directive arguments were concatenated with URI
- by an "&" rather than a "?".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- строки для модуля ngx_http_geo_module без символа ";" во включённом файле
- игнорировались.
- </para>
- <para lang="en">
- the lines without trailing ";" in the file being included
- by the ngx_http_geo_module were silently ignored.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_stub_status_module.
- </para>
- <para lang="en">
- the ngx_http_stub_status_module.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- неизвестный формат лог-файла в директиве access_log вызывал segmentation fault.
- </para>
- <para lang="en">
- the unknown log format in the access_log directive caused
- the segmentation fault.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- новый параметр document_root в директиве fastcgi_params.
- </para>
- <para lang="en">
- the new "document_root" parameter of the fastcgi_params directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива fastcgi_redirect_errors.
- </para>
- <para lang="en">
- the fastcgi_redirect_errors directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- новый модификатор break в директиве rewrite позволяет прекратить
- цикл rewrite/location и устанавливает текущую конфигурацию для запроса.
- </para>
- <para lang="en">
- the new "break" modifier of the "rewrite" directive allows to stop
- the rewrite/location cycle and sets the current configuration to the request.
- </para>
- </change>
- </changes>
- <changes ver="0.1.17" date="2005-02-03">
- <change type="change">
- <para lang="ru">
- модуль ngx_http_rewrite_module полностью переписан.
- Теперь можно делать редиректы, возвращать коды ошибок
- и проверять переменные и рефереры.
- Эти директивы можно использовать внутри location.
- Директива redirect упразднена.
- </para>
- <para lang="en">
- the ngx_http_rewrite_module was rewritten from the scratch.
- Now it is possible to redirect, to return the error codes,
- to check the variables and referrers. The directives can be used
- inside locations.
- The redirect directive was canceled.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_geo_module.
- </para>
- <para lang="en">
- the ngx_http_geo_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы proxy_set_x_var и fastcgi_set_var.
- </para>
- <para lang="en">
- the proxy_set_x_var and fastcgi_set_var directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- конфигурация location с модификатором "=" могла использоваться
- в другом location.
- </para>
- <para lang="en">
- the location configuration with "=" modifier may be used in another
- location.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- правильный тип ответа выставлялся только для запросов, у которых в расширении
- были только маленькие буквы.
- </para>
- <para lang="en">
- the correct content type was set only for requests that use small caps letters
- in extension.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если для location установлен proxy_pass или fastcgi_pass, и доступ
- к нему запрещался, а ошибка перенаправлялась на статическую страницу,
- то происходил segmentation fault.
- </para>
- <para lang="en">
- if the proxy_pass or fastcgi_pass directives were set in the location,
- and access was denied, and the error was redirected to a static page,
- then the segmentation fault occurred.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в проксированном ответе в заголовке "Location" передавался
- относительный URL, то к нему добавлялось имя хоста и слэш;
- ошибка появилась в 0.1.14.
- </para>
- <para lang="en">
- if in a proxied "Location" header was a relative URL,
- then a host name and a slash were added to them;
- the bug had appeared in 0.1.14.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на Linux в лог не записывался текст системной ошибки.
- </para>
- <para lang="en">
- the system error message was not logged on Linux.
- </para>
- </change>
- </changes>
- <changes ver="0.1.16" date="2005-01-25">
- <change type="bugfix">
- <para lang="ru">
- если ответ передавался chunk'ами, то при запросе HEAD выдавался
- завершающий chunk.
- </para>
- <para lang="en">
- if the response were transferred by chunks, then on the HEAD request
- the final chunk was issued.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- заголовок "Connection: keep-alive" выдавался, даже если директива
- keepalive_timeout запрещала использование keep-alive.
- </para>
- <para lang="en">
- the "Connection: keep-alive" header were issued, even if the
- keepalive_timeout directive forbade the keep-alive use.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault.
- </para>
- <para lang="en">
- the errors in the ngx_http_fastcgi_module caused the segmentation faults.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании SSL сжатый ответ мог передаваться не до конца.
- </para>
- <para lang="en">
- the compressed response encrypted by SSL may not transferred complete.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные для TCP сокетов,
- не используются для unix domain сокетов.
- </para>
- <para lang="en">
- the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK options,
- are not used for the unix domain sockets.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива rewrite поддерживает перезаписывание аргументов.
- </para>
- <para lang="en">
- the rewrite directive supports the arguments rewriting.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400;
- ошибка появилась в 0.1.14.
- </para>
- <para lang="en">
- the response code 400 was returned for the POST request with the
- "Content-Length: 0" header;
- the bug had appeared in 0.1.14.
- </para>
- </change>
- </changes>
- <changes ver="0.1.15" date="2005-01-19">
- <change type="bugfix">
- <para lang="ru">
- ошибка соединения с FastCGI-сервером вызывала segmentation fault.
- </para>
- <para lang="en">
- the error while the connecting to the FastCGI server caused
- segmentation fault.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- корректная обработка регулярного выражения, в котором число
- выделенных частей не совпадает с числом подстановок.
- </para>
- <para lang="en">
- the correct handling of the regular expression, that
- has different number of the captures and substitutions.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- location, который передаётся FastCGI-серверу, может быть задан
- с помощью регулярного выражения.
- </para>
- <para lang="en">
- the location, that is passed to the FastCGI server, can be
- regular expression.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами
- и в том виде, в котором был получен от клиента.
- </para>
- <para lang="en">
- the FastCGI's parameter REQUEST_URI is now passed with the arguments
- and in the original state.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- для использования регулярных выражений в location нужно было
- собирать nginx вместе с ngx_http_rewrite_module.
- </para>
- <para lang="en">
- the ngx_http_rewrite_module module was required to be built to use
- the regular expressions in locations.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если бэкенд слушал на 80-ом порту, то при использовании директивы
- <nobr>"proxy_preserve_host on"</nobr> в заголовке "Host" указывался
- также порт 80;
- ошибка появилась в 0.1.14.
- </para>
- <para lang="en">
- the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80
- to the "Host" headers, if upstream listen on port 80;
- the bug had appeared in 0.1.14.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если задать одинаковые пути в параметрах автоконфигурации
- --http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH
- или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH,
- то происходил segmentation fault.
- </para>
- <para lang="en">
- the same paths in autoconfiguration parameters
- --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
- or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
- caused segmentation fault.
- </para>
- </change>
- </changes>
- <changes ver="0.1.14" date="2005-01-18">
- <change type="feature">
- <para lang="ru">
- параметры автоконфигурации
- --http-client-body-temp-path=PATH,
- --http-proxy-temp-path=PATH
- и --http-fastcgi-temp-path=PATH
- </para>
- <para lang="en">
- the autoconfiguration directives:
- --http-client-body-temp-path=PATH,
- --http-proxy-temp-path=PATH,
- and --http-fastcgi-temp-path=PATH
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- имя каталога с временными файлами, содержащие тело запроса клиента,
- задаётся директивой client_body_temp_path,
- по умолчанию <prefix>/client_body_temp.
- </para>
- <para lang="en">
- the directory name for the temporary files with the client request body
- is specified by directive client_body_temp_path,
- by default it is <prefix>/client_body_temp.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_fastcgi_module и директивы
- fastcgi_pass,
- fastcgi_root,
- fastcgi_index,
- fastcgi_params,
- fastcgi_connect_timeout,
- fastcgi_send_timeout,
- fastcgi_read_timeout,
- fastcgi_send_lowat,
- fastcgi_header_buffer_size,
- fastcgi_buffers,
- fastcgi_busy_buffers_size,
- fastcgi_temp_path,
- fastcgi_max_temp_file_size,
- fastcgi_temp_file_write_size,
- fastcgi_next_upstream
- и fastcgi_x_powered_by.
- </para>
- <para lang="en">
- the ngx_http_fastcgi_module and the directives:
- fastcgi_pass,
- fastcgi_root,
- fastcgi_index,
- fastcgi_params,
- fastcgi_connect_timeout,
- fastcgi_send_timeout,
- fastcgi_read_timeout,
- fastcgi_send_lowat,
- fastcgi_header_buffer_size,
- fastcgi_buffers,
- fastcgi_busy_buffers_size,
- fastcgi_temp_path,
- fastcgi_max_temp_file_size,
- fastcgi_temp_file_write_size,
- fastcgi_next_upstream,
- and fastcgi_x_powered_by.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка "[alert] zero size buf";
- ошибка появилась в 0.1.3.
- </para>
- <para lang="en">
- the "[alert] zero size buf" error;
- the bug had appeared in 0.1.3.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- в директиве proxy_pass нужно обязательно указывать URI после имени хоста.
- </para>
- <para lang="en">
- the URI must be specified after the host name in the proxy_pass directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- если в URI встречался символ %3F, то он считался началом строки аргументов.
- </para>
- <para lang="en">
- the %3F symbol in the URI was considered as the argument string start.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- поддержка unix domain сокетов в модуле ngx_http_proxy_module.
- </para>
- <para lang="en">
- the unix domain sockets support in the ngx_http_proxy_module.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директивы ssl_engine и ssl_ciphers.<br/>
- Спасибо Сергею Скворцову за SSL-акселератор.
- </para>
- <para lang="en">
- the ssl_engine and ssl_ciphers directives.<br/>
- Thanks to Sergey Skvortsov for SSL-accelerator.
- </para>
- </change>
- </changes>
- <changes ver="0.1.13" date="2004-12-21">
- <change type="feature">
- <para lang="ru">
- директивы server_names_hash и server_names_hash_threshold.
- </para>
- <para lang="en">
- the server_names_hash and server_names_hash_threshold directives.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- имена *.domain.tld в директиве server_name не работали.
- </para>
- <para lang="en">
- the *.domain.tld names in the "server_name" directive did not work.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- параметр лога %request_length записывал неверную длину.
- </para>
- <para lang="en">
- the %request_length log parameter logged the incorrect length.
- </para>
- </change>
- </changes>
- <changes ver="0.1.12" date="2004-12-06">
- <change type="feature">
- <para lang="ru">
- параметр лога %request_length.
- </para>
- <para lang="en">
- the %request_length log parameter.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании /dev/poll, select и poll на платформах, где возможны
- ложные срабатывания указанных методов, могли быть длительные задержки
- при обработке запроса по keep-alive соединению.
- Наблюдалось по крайней мере на Solaris с использованием /dev/poll.
- </para>
- <para lang="en">
- when using the /dev/poll, select and poll on the platforms, where
- these methods may do the false reports, there may be the long delay when
- the request was passed via the keep-alive connection.
- It may be at least on Solaris when using the /dev/poll.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива send_lowat игнорируется на Linux, так как Linux не поддерживает
- опцию SO_SNDLOWAT.
- </para>
- <para lang="en">
- the send_lowat directive is ignored on Linux because Linux does not support
- the SO_SNDLOWAT option.
- </para>
- </change>
- </changes>
- <changes ver="0.1.11" date="2004-12-02">
- <change type="feature">
- <para lang="ru">
- директива worker_priority.
- </para>
- <para lang="en">
- the worker_priority directive.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу
- ответа.
- </para>
- <para lang="en">
- both tcp_nopush and tcp_nodelay directives affect the transferred response.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не вызывал initgroups().<br/>
- Спасибо Андрею Ситникову и Андрею Нигматулину.
- </para>
- <para lang="en">
- nginx did not call initgroups().<br/>
- Thanks to Andrew Sitnikov and Andrei Nigmatulin.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- ngx_http_auto_index_module теперь выдаёт размер файлов в байтах.
- </para>
- <para lang="en">
- now the ngx_http_autoindex_module shows the file size in the bytes.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть
- битый symlink.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module returned the 500 error if the broken symlink
- was in a directory.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- файлы больше 4G не передавались с использованием sendfile.
- </para>
- <para lang="en">
- the files bigger than 4G could not be transferred using sendfile.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если бэкенд резолвился в несколько адресов и при ожидании от него ответа
- происходила ошибка, то процесс зацикливался.
- </para>
- <para lang="en">
- if the backend was resolved to several backends and there was an error while
- the response waiting then process may got caught in an endless loop.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании метода /dev/poll рабочий процесс мог завершиться
- с сообщением "unknown cycle".
- </para>
- <para lang="en">
- the worker process may exit with the "unknown cycle" message when the /dev/poll
- method was used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки "close() channel failed".
- </para>
- <para lang="en">
- "close() channel failed" errors.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- автоматическое определение групп nobody и nogroup.
- </para>
- <para lang="en">
- the autodetection of the "nobody" and "nogroup" groups.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- директива send_lowat не работала на Linux.
- </para>
- <para lang="en">
- the send_lowat directive did not work on Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- если в конфигурации не было раздела events, то происходил segmentation fault.
- </para>
- <para lang="en">
- the segmentation fault occurred if there was no events section
- in configuration.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- nginx не собирался под OpenBSD.
- </para>
- <para lang="en">
- nginx could not be built on OpenBSD.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- двойные слэшы в "://" в URI превращались в ":/".
- </para>
- <para lang="en">
- the double slashes in "://" in the URI were converted to ":/".
- </para>
- </change>
- </changes>
- <changes ver="0.1.10" date="2004-11-26">
- <change type="bugfix">
- <para lang="ru">
- если в запросе без аргументов есть "//", "/./", "/../" или "%XX",
- то терялся последний символ в строке запроса;
- ошибка появилась в 0.1.9.
- </para>
- <para lang="en">
- if the request without arguments contains "//", "/./", "/../" or "%XX"
- then the last character in the request line was lost;
- the bug had appeared in 0.1.9.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- исправление в версии 0.1.9 для файлов больше 2G на Linux не работало.
- </para>
- <para lang="en">
- the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
- </para>
- </change>
- </changes>
- <changes ver="0.1.9" date="2004-11-25">
- <change type="bugfix">
- <para lang="ru">
- если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый
- запрос передавался без аргументов.
- </para>
- <para lang="en">
- the proxied request was sent without arguments if the request contains
- "//", "/./", "/../" or "%XX".
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при сжатии больших ответов иногда они передавались не полностью.
- </para>
- <para lang="en">
- the large compressed responses may be transferred not completely.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- не передавались файлы больше 2G на Linux, неподдерживающем sendfile64().
- </para>
- <para lang="en">
- the files bigger than 2G was not transferred on Linux that does not support
- sendfile64().
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на Linux при конфигурации сборки нужно было обязательно использовать
- параметр --with-poll_module;
- ошибка появилась в 0.1.8.
- </para>
- <para lang="en">
- while the build configuration on Linux the --with-poll_module parameter
- was required;
- the bug had appeared in 0.1.8.
- </para>
- </change>
- </changes>
- <changes ver="0.1.8" date="2004-11-20">
- <change type="bugfix">
- <para lang="ru">
- ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов.
- </para>
- <para lang="en">
- in the ngx_http_autoindex_module if the long file names were in the listing.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- модификатор "^~" в директиве location.
- </para>
- <para lang="en">
- the "^~" modifier in the location directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_max_temp_file_size.
- </para>
- <para lang="en">
- the proxy_max_temp_file_size directive.
- </para>
- </change>
- </changes>
- <changes ver="0.1.7" date="2004-11-12">
- <change type="bugfix">
- <para lang="ru">
- при использовании sendfile, если передаваемый файл менялся, то мог
- произойти segmentation fault на FreeBSD;
- ошибка появилась в 0.1.5.
- </para>
- <para lang="en">
- on FreeBSD the segmentation fault may occur if the size of the transferred
- file was changed;
- the bug had appeared in 0.1.5.
- </para>
- </change>
- </changes>
- <changes ver="0.1.6" date="2004-11-11">
- <change type="bugfix">
- <para lang="ru">
- при некоторых комбинациях директив location c регулярными выражениями
- использовалась конфигурация не из того location.
- </para>
- <para lang="en">
- some location directive combinations with the regular expressions caused
- the wrong configuration choose.
- </para>
- </change>
- </changes>
- <changes ver="0.1.5" date="2004-11-11">
- <change type="bugfix">
- <para lang="ru">
- на Solaris и Linux могло быть очень много сообщений "recvmsg() returned
- not enough data".
- </para>
- <para lang="en">
- on Solaris and Linux there may be too many "recvmsg() returned not enough data"
- alerts.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в режиме прокси без использования sendfile на Solaris возникала
- ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr>
- На других платформах, не поддерживающих sendfile, процесс зацикливался.
- </para>
- <para lang="en">
- there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
- Solaris in proxy mode without sendfile. On other platforms that do not
- support sendfile at all the process got caught in an endless loop.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании sendfile в режиме прокси на Solaris возникал
- segmentation fault.
- </para>
- <para lang="en">
- segmentation fault on Solaris in proxy mode and using sendfile.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- segmentation fault на Solaris.
- </para>
- <para lang="en">
- segmentation fault on Solaris.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- обновление исполняемого файла на лету не работало на Linux.
- </para>
- <para lang="en">
- on-line upgrade did not work on Linux.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- в списке файлов, выдаваемом модулем ngx_http_autoindex_module,
- не перекодировались пробелы, кавычки и знаки процента.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module module did not escape the spaces,
- the quotes, and the percent signs in the directory listing.
- </para>
- </change>
- <change type="change">
- <para lang="ru">
- уменьшение операций копирования.
- </para>
- <para lang="en">
- the decrease of the copy operations.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива userid_p3p.
- </para>
- <para lang="en">
- the userid_p3p directive.
- </para>
- </change>
- </changes>
- <changes ver="0.1.4" date="2004-10-26">
- <change type="bugfix">
- <para lang="ru">
- ошибка в модуле ngx_http_autoindex_module.
- </para>
- <para lang="en">
- in the ngx_http_autoindex_module.
- </para>
- </change>
- </changes>
- <changes ver="0.1.3" date="2004-10-25">
- <change type="feature">
- <para lang="ru">
- модуль ngx_http_autoindex_module и директива autoindex.
- </para>
- <para lang="en">
- the ngx_http_autoindex_module and the autoindex directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива proxy_set_x_url.
- </para>
- <para lang="en">
- the proxy_set_x_url directive.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль проксировании мог привести к зацикливанию, если не использовался
- sendfile.
- </para>
- <para lang="en">
- proxy module may get caught in an endless loop when sendfile is not used.
- </para>
- </change>
- </changes>
- <changes ver="0.1.2" date="2004-10-21">
- <change type="feature">
- <para lang="ru">
- параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure.
- </para>
- <para lang="en">
- the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива server_name поддерживает *.domain.tld.
- </para>
- <para lang="en">
- the server_name directive supports *.domain.tld.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- улучшена переносимость на неизвестные платформы.
- </para>
- <para lang="en">
- the portability improvements.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- нельзя переконфигурировать nginx, если конфигурационный файл указан
- в командной строке;
- ошибка появилась в 0.1.1.
- </para>
- <para lang="en">
- if configuration file was set in command line, the reconfiguration
- was impossible;
- the bug had appeared in 0.1.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль проксировании мог привести к зацикливанию, если не использовался
- sendfile.
- </para>
- <para lang="en">
- proxy module may get caught in an endless loop when sendfile is not used.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при использовании sendfile текст ответа не перекодировался
- согласно директивам модуля charset;
- ошибка появилась в 0.1.1.
- </para>
- <para lang="en">
- with sendfile the response was not recoded according to the charset
- module directives;
- the bug had appeared in 0.1.1.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- очень редкая ошибка при обработке kqueue.
- </para>
- <para lang="en">
- very seldom bug in the kqueue processing.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- модуль сжатия сжимал уже сжатые ответы, полученные при проксировании.
- </para>
- <para lang="en">
- the gzip module compressed the proxied responses that was already compressed.
- </para>
- </change>
- </changes>
- <changes ver="0.1.1" date="2004-10-11">
- <change type="feature">
- <para lang="ru">
- директива gzip_types.
- </para>
- <para lang="en">
- the gzip_types directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива tcp_nodelay.
- </para>
- <para lang="en">
- the tcp_nodelay directive.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- директива send_lowat работает не только на платформах, поддерживающих
- kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT.
- </para>
- <para lang="en">
- the send_lowat directive is working not only on OSes that support
- kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
- </para>
- </change>
- <change type="feature">
- <para lang="ru">
- эмуляция setproctitle() для Linux и Solaris.
- </para>
- <para lang="en">
- the setproctitle() emulation for Linux and Solaris.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка при переписывании заголовка "Location" при проксировании.
- </para>
- <para lang="en">
- the "Location" header rewrite bug fixed while the proxying.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию.
- </para>
- <para lang="en">
- the ngx_http_chunked_module module may get caught in an endless loop.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- ошибки в модуле /dev/poll.
- </para>
- <para lang="en">
- the /dev/poll module bugs fixed.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- при проксировании и использовании временных файлов ответы портились.
- </para>
- <para lang="en">
- the responses were corrupted when the temporary files were used
- while the proxying.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- бэкенду передавались запросы с неперекодированными символами.
- </para>
- <para lang="en">
- the unescaped requests were passed to the backend.
- </para>
- </change>
- <change type="bugfix">
- <para lang="ru">
- на Linux 2.4 при конфигурации сборки нужно было обязательно использовать
- параметр --with-poll_module.
- </para>
- <para lang="en">
- while the build configuration on Linux 2.4 the --with-poll_module parameter
- was required.
- </para>
- </change>
- </changes>
- <changes ver="0.1.0" date="2004-10-04">
- <change>
- <para lang="ru">
- Первая публично доступная версия.
- </para>
- <para lang="en">
- The first public version.
- </para>
- </change>
- </changes>
- </change_log>
One Level Up
Top Level