| 0.7.11 | 18.08.2008 |
| | Изменение:
теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css.
Добавление:
теперь nginx возвращает код 405 для метода POST при запросе статического
файла, только если файл существует.
Добавление:
директива proxy_ssl_session_reuse.
Исправление:
после перенаправления запроса с помощью "X-Accel-Redirect"
директива proxy_pass без URI могла использовать оригинальный запрос.
Исправление:
если у каталога были права доступа только на поиск файлов
и первый индексный файл отсутствовал, то nginx возвращал ошибку 500.
Исправление:
ошибок во вложенных location'ах;
ошибки появились в 0.7.1.
|
| |
| 0.7.10 | 13.08.2008 |
| | Исправление:
ошибок в директивах addition_types, charset_types,
gzip_types, ssi_types, sub_filter_types и xslt_types;
ошибки появились в 0.7.9.
Исправление:
рекурсивной error_page для 500 ошибки.
Исправление:
теперь модуль ngx_http_realip_module устанавливает адрес не для
всего keepalive соединения, а для каждого запроса по этому соединению.
|
| |
| 0.7.9 | 12.08.2008 |
| | Изменение:
теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами:
text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
application/x-javascript и application/rss+xml.
Добавление:
директивы charset_types и addition_types.
Добавление:
теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш.
Добавление:
модуль ngx_cpp_test_module.
Добавление:
директива expires поддерживает суточное время.
Добавление:
улучшения и исправления в модуле ngx_http_xslt_module.
Спасибо Денису Латыпову и Максиму Дунину.
Исправление:
директива log_not_found не работала при поиске индексных файлов.
Исправление:
HTTPS-соединения могли зависнуть,
если использовались методы kqueue, epoll, rtsig или eventport;
ошибка появилась в 0.7.7.
Исправление:
если в директивах server_name, valid_referers и map
использовалась маска вида "*.domain.tld" и при этом полное имя
вида "domain.tld" не было описано, то это имя попадало под маску;
ошибка появилась в 0.3.18.
|
| |
| 0.7.8 | 04.08.2008 |
| | Добавление:
модуль ngx_http_xslt_module.
Добавление:
переменные "$arg_...".
Добавление:
поддержка directio в Solaris.
Спасибо Ivan Debnar.
Исправление:
теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа
без строки статуса, то nginx использует код статуса 302.
Спасибо Максиму Дунину.
|
| |
| 0.7.7 | 30.07.2008 |
| | Изменение:
теперь ошибка EAGAIN при вызове connect() не считается временной.
Изменение:
значением переменной $ssl_client_cert теперь является сертификат,
перед каждой строкой которого, кроме первой, вставляется символ табуляции;
неизменённый сертификат доступен через переменную $ssl_client_raw_cert.
Добавление:
параметр ask директивы ssl_verify_client.
Добавление:
улучшения в обработке byte-range.
Спасибо Максиму Дунину.
Добавление:
директива directio.
Спасибо Jiang Hong.
Добавление:
поддержка sendfile() в MacOSX 10.5.
Исправление:
в MacOSX и Cygwin при проверке location'ов теперь делается сравнение
без учёта регистра символов;
однако, сравнение ограничено только однобайтными locale'ями.
Исправление:
соединения почтового прокси-сервера зависали в режиме SSL,
если использовались методы select, poll или /dev/poll.
Исправление:
ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.
|
| |
| 0.7.6 | 07.07.2008 |
| | Исправление:
теперь при использовании переменных в директиве access_log
всегда проверяется существовании root'а для запроса.
Исправление:
модуль ngx_http_flv_module не поддерживал несколько значений в
аргументах запроса.
|
| |
| 0.7.5 | 01.07.2008 |
| |
Исправления в поддержке переменных в директиве access_log;
ошибки появились в 0.7.4.
Исправление:
nginx не собирался с параметром --without-http_gzip_module;
ошибка появилась в 0.7.3.
Спасибо Кириллу Коринскому.
Исправление:
при совместном использовании sub_filter и SSI
ответы могли передаваться неверно.
|
| |
| 0.7.4 | 30.06.2008 |
| | Добавление:
директива access_log поддерживает переменные.
Добавление:
директива open_log_file_cache.
Добавление:
ключ -g.
Добавление:
поддержка строки "Expect" в заголовке запроса.
Исправление:
большие включения в SSI могли передавались не полностью.
|
| |
| 0.7.3 | 23.06.2008 |
| | Изменение:
MIME-тип для расширения rss изменён на "application/rss+xml".
Изменение:
теперь директива "gzip_vary on" выдаёт строку
"Vary: Accept-Encoding"
в заголовке ответа и для несжатых ответов.
Добавление:
теперь при использовании протокола "https://" в директиве rewrite
автоматически делается редирект.
Исправление:
директива proxy_pass не работала с протоколом HTTPS;
ошибка появилась в 0.6.9.
|
| |
| 0.7.2 | 16.06.2008 |
| | Добавление:
теперь nginx поддерживает шифры с обменом EDH-ключами.
Добавление:
директива ssl_dhparam.
Добавление:
переменная $ssl_client_cert.
Спасибо Manlio Perillo.
Исправление:
после изменения URI с помощью директивы rewrite nginx не искал новый location;
ошибка появилась в 0.7.1.
Спасибо Максиму Дунину.
Исправление:
nginx не собирался без библиотеки PCRE;
ошибка появилась в 0.7.1.
Исправление:
при редиректе запроса к каталогу с добавлением слэша nginx
не добавлял аргументы из оригинального запроса.
|
| |
| 0.7.1 | 26.05.2008 |
| | Изменение:
теперь поиск location'а делается с помощью дерева.
Изменение:
директива optimize_server_names упразднена в связи с появлением
директивы server_name_in_redirect.
Изменение:
некоторые давно устаревшие директивы больше не поддерживаются.
Изменение:
параметр "none" в директиве ssl_session_cache;
теперь этот параметр используется по умолчанию.
Спасибо Rob Mueller.
Исправление:
рабочие процессы могли не реагировать на сигналы переконфигурации
и ротации логов.
Исправление:
nginx не собирался на последних Fedora 9 Linux.
Спасибо Roxis.
|
| |
| 0.7.0 | 19.05.2008 |
| | Изменение:
теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.
Спасибо Максиму Дунину.
Изменение:
теперь nginx разрешает несколько строк "Host" в заголовке запроса.
Добавление:
директива expires поддерживает флаг modified.
Добавление:
переменные $uid_got и $uid_set можно использовать на любой стадии обработки
запроса.
Добавление:
переменная $hostname.
Спасибо Андрею Нигматулину.
Добавление:
поддержка DESTDIR.
Спасибо Todd A. Fisher и Andras Voroskoi.
Исправление:
при использовании keepalive на Linux
в рабочем процессе мог произойти segmentation fault.
|
| |
| 0.6.32 | 07.07.2008 |
| | Изменение:
параметр "none" в директиве ssl_session_cache;
теперь этот параметр используется по умолчанию.
Спасибо Rob Mueller.
Изменение:
теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.
Спасибо Максиму Дунину.
Изменение:
теперь nginx разрешает несколько строк "Host" в заголовке запроса.
Добавление:
директива expires поддерживает флаг modified.
Добавление:
переменные $uid_got и $uid_set можно использовать на любой стадии обработки
запроса.
Добавление:
переменная $hostname.
Спасибо Андрею Нигматулину.
Добавление:
поддержка DESTDIR.
Спасибо Todd A. Fisher и Andras Voroskoi.
Исправление:
при совместном использовании sub_filter и SSI
ответы могли передаваться неверно.
Исправление:
большие включения в SSI могли передавались не полностью.
Исправление:
директива proxy_pass не работала с протоколом HTTPS;
ошибка появилась в 0.6.9.
Исправление:
рабочие процессы могли не реагировать на сигналы переконфигурации
и ротации логов.
Исправление:
nginx не собирался на последних Fedora 9 Linux.
Спасибо Roxis.
Исправление:
при использовании keepalive на Linux
в рабочем процессе мог произойти segmentation fault.
|
| |
| 0.6.31 | 12.05.2008 |
| | Исправление:
nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответ была
в конце записи FastCGI;
ошибка появилась в 0.6.2.
Спасибо Сергею Серову.
Исправление:
при удалении файла и использовании директивы open_file_cache_errors off
в рабочем процессе мог произойти segmentation fault.
|
| |
| 0.6.30 | 29.04.2008 |
| | Изменение:
теперь, если маске, заданной в директиве include, не соответствует
ни один файл, то nginx не выдаёт ошибку.
Добавление:
теперь время в директивах можно задавать без пробела, например, "1h50m".
Исправление:
утечек памяти, если директива ssl_verify_client имела значение on.
Спасибо Chavelle Vincent.
Исправление:
директива sub_filter могла вставлять заменяемый текст в вывод.
Исправление:
директива error_page не воспринимала параметры в перенаправляемом URI.
Исправление:
теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме.
Исправление:
nginx не собирался под OpenBSD;
ошибка появилась в 0.6.15.
|
| |
| 0.6.29 | 18.03.2008 |
| | Добавление:
модуль ngx_google_perftools_module.
Исправление:
модуль ngx_http_perl_module не собирался на 64-битных платформах;
ошибка появилась в 0.6.27.
|
| |
| 0.6.28 | 13.03.2008 |
| | Исправление:
метод rtsig не собирался;
ошибка появилась в 0.6.27.
|
| |
| 0.6.27 | 12.03.2008 |
| | Изменение:
теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig.
Изменение:
теперь при перенаправлении запроса в именованный location с помощью
директивы error_page метод запроса не изменяется.
Добавление:
директивы resolver и resolver_timeout в SMTP прокси-сервере.
Добавление:
директива post_action поддерживает именованные location'ы.
Исправление:
при перенаправлении запроса из location'а c обработчиком proxy, FastCGI
или memcached в именованный location со статическим обработчиком
в рабочем процессе происходил segmentation fault.
Исправление:
браузеры не повторяли SSL handshake, если при первом handshake
не оказалось правильного клиентского сертификата.
Спасибо Александру Инюхину.
Исправление:
при перенаправлении ошибок 495-497 с помощью директивы error_page
без изменения кода ошибки nginx пытался выделить очень много памяти.
Исправление:
утечки памяти в долгоживущих небуфферизированных соединениях.
Исправление:
утечки памяти в resolver'е.
Исправление:
при перенаправлении запроса из location'а c обработчиком proxy
в другой location с обработчиком proxy
в рабочем процессе происходил segmentation fault.
Исправление:
ошибки в кэшировании переменных $proxy_host и $proxy_port.
Спасибо Сергею Боченкову.
Исправление:
директива proxy_pass с переменными использовала порт, описанной в другой
директиве proxy_pass без переменных, но с таким же именем хоста.
Спасибо Сергею Боченкову.
Исправление:
во время переконфигурации на некоторых 64-битном платформах в лог
записывался alert "sendmsg() failed (9: Bad file descriptor)".
Исправление:
при повторном использовании в SSI пустого block'а в качестве заглушки
в рабочем процессе происходил segmentation fault.
Исправление:
ошибки при копировании части URI, содержащего экранированные символы,
в аргументы.
|
| |
| 0.6.26 | 11.02.2008 |
| | Исправление:
директивы proxy_store и fastcgi_store не проверяли длину ответа.
Исправление:
при использовании большого значения в директиве expires
в рабочем процессе происходил segmentation fault.
Спасибо Joaquin Cuenca Abela.
Исправление:
nginx неверно определял длину строки кэша на Pentium 4.
Спасибо Gena Makhomed.
Исправление:
в проксированных подзапросах и подзапросах к FastCGI-серверу
вместо метода GET использовался оригинальный метод клиента.
Исправление:
утечки сокетов в режиме HTTPS при использовании отложенного accept'а.
Спасибо Ben Maurer.
Исправление:
nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )";
ошибка появилась в 0.6.23.
Исправление:
при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
ошибка появилась в 0.6.23.
|
| |
| 0.6.25 | 08.01.2008 |
| | Изменение:
вместо специального параметра "*" в директиве server_name теперь
используется директива server_name_in_redirect.
Изменение:
в качестве основного имени в директиве server_name теперь
можно использовать имена с масками и регулярными выражениями.
Изменение:
директива satisfy_any заменена директивой satisfy.
Изменение:
после переконфигурации старые рабочие процесс могли сильно нагружать процессор
при запуске под Linux OpenVZ.
Добавление:
директива min_delete_depth.
Исправление:
методы COPY и MOVE не работали с одиночными файлами.
Исправление:
модуль ngx_http_gzip_static_module не позволял работать модулю
ngx_http_dav_module;
ошибка появилась в 0.6.23.
Исправление:
утечки сокетов в режиме HTTPS при использовании отложенного accept'а.
Спасибо Ben Maurer.
Исправление:
nginx не собирался без библиотеки PCRE;
ошибка появилась в 0.6.23.
|
| |
| 0.6.24 | 27.12.2007 |
| | Исправление:
при использовании HTTPS в рабочем процессе мог произойти segmentation fault;
ошибка появилась в 0.6.23.
|
| |
| 0.6.23 | 27.12.2007 |
| | Изменение:
параметр "off" в директиве ssl_session_cache;
теперь этот параметр используется по умолчанию.
Изменение:
директива open_file_cache_retest переименована в open_file_cache_valid.
Добавление:
директива open_file_cache_min_uses.
Добавление:
модуль ngx_http_gzip_static_module.
Добавление:
директива gzip_disable.
Добавление:
директиву memcached_pass можно использовать внутри блока if.
Исправление:
если внутри одного location'а использовались директивы "memcached_pass" и "if",
то в рабочем процессе происходил segmentation fault.
Исправление:
если при использовании директивы satisfy_any on" были заданы директивы
не всех модулей доступа, то заданные директивы не проверялись.
Исправление:
параметры, заданные регулярным выражением в директиве valid_referers,
не наследовалась с предыдущего уровня.
Исправление:
директива post_action не работала, если запрос завершался с кодом 499.
Исправление:
оптимизация использования 16K буфера для SSL-соединения.
Спасибо Ben Maurer.
Исправление:
STARTTLS в режиме SMTP не работал.
Спасибо Олегу Мотиенко.
Исправление:
при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
ошибка появилась в 0.5.13.
|
| |
| 0.6.22 | 19.12.2007 |
| | Изменение:
теперь все методы модуля ngx_http_perl_module
возвращают значения, скопированные в память, выделенную perl'ом.
Исправление:
если nginx был собран с модулем ngx_http_perl_module,
использовался perl до версии 5.8.6 и perl поддерживал потоки,
то во время переконфигурации основной процесс аварийно выходил;
ошибка появилась в 0.5.9.
Спасибо Борису Жмурову.
Исправление:
в методы модуля ngx_http_perl_module
могли передаваться неверные результаты выделения в регулярных выражениях.
Исправление:
если метод $r->has_request_body() вызывался для запроса,
у которого небольшое тело запроса было уже полностью получено,
то в рабочем процессе происходил segmentation fault.
Исправление:
large_client_header_buffers не освобождались перед переходом в состояние
keep-alive.
Спасибо Олександру Штепе.
Исправление:
в переменной $upstream_addr не записывался последний адрес;
ошибка появилась в 0.6.18.
Исправление:
директива fastcgi_catch_stderr не возвращала ошибку;
теперь она возвращает ошибку 502, которую можно направить на следующий сервер
с помощью "fastcgi_next_upstream invalid_header".
Исправление:
при использовании директивы fastcgi_catch_stderr
в основном процессе происходил segmentation fault;
ошибка появилась в 0.6.10.
Спасибо Manlio Perillo.
|
| |
| 0.6.21 | 03.12.2007 |
| | Изменение:
если в значениях переменных директивы proxy_pass используются
только IP-адреса, то указывать resolver не нужно.
Исправление:
при использовании директивы proxy_pass c URI-частью
в рабочем процессе мог произойти segmentation fault;
ошибка появилась в 0.6.19.
Исправление:
если resolver использовался на платформах, не поддерживающих метод kqueue,
то nginx выдавал alert "name is out of response".
Спасибо Андрею Нигматулину.
Исправление:
При использовании переменной $server_protocol в FastCGI-параметрах
и запросе, длина которого была близка к значению директивы
client_header_buffer_size,
nginx выдавал alert "fastcgi: the request record is too big".
Исправление:
при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал
обычный ответ.
|
| |
| 0.6.20 | 28.11.2007 |
| | Исправление:
при использовании директивы proxy_pass c URI-частью
в рабочем процессе мог произойти segmentation fault;
ошибка появилась в 0.6.19.
|
| |
| 0.6.19 | 27.11.2007 |
| | Исправление:
версия 0.6.18 не собиралась.
|
| |
| 0.6.18 | 27.11.2007 |
| | Изменение:
теперь модуль ngx_http_userid_module в поле куки с номером процесса
добавляет микросекунды на время старта.
Изменение:
в error_log теперь записывается полная строка запроса вместо только URI.
Добавление:
директива proxy_pass поддерживает переменные.
Добавление:
директивы resolver и resolver_timeout.
Добавление:
теперь директива "add_header last-modified ''" удаляет в заголовке ответа
строку "Last-Modified".
Исправление:
директива limit_rate не позволяла передавать на полной скорости,
даже если был указан очень большой лимит.
|
| |
| 0.6.17 | 15.11.2007 |
| | Добавление:
поддержка строки "If-Range" в заголовке запроса.
Спасибо Александру Инюхину.
Исправление:
при использовании директивы msie_refresh повторно экранировались
уже экранированные символы;
ошибка появилась в 0.6.4.
Исправление:
директива autoindex не работала при использовании "alias /".
Исправление:
при использовании подзапросов
в рабочем процессе мог произойти segmentation fault.
Исправление:
при использовании SSL и gzip большие ответы могли передаваться не полностью.
Исправление:
если ответ проксированного сервера был версии HTTP/0.9,
то переменная $status была равна 0.
|
| |
| 0.6.16 | 29.10.2007 |
| | Изменение:
теперь на Linux используется uname(2) вместо procfs.
Спасибо Илье Новикову.
Исправление:
если в директиве error_page использовался символ "?", то он экранировался
при проксировании запроса;
ошибка появилась в 0.6.11.
Исправление:
совместимость с mget.
|
| |
| 0.6.15 | 22.10.2007 |
| | Добавление:
совместимость с Cygwin.
Спасибо Владимиру Кутакову.
Добавление:
директива merge_slashes.
Добавление:
директива gzip_vary.
Добавление:
директива server_tokens.
Исправление:
nginx не раскодировал URI в команде SSI include.
Исправление:
при использовании переменной в директивах charset или source_charset
на старте или во время переконфигурации происходил segmentation fault,
Исправление:
nginx возвращал ошибку 400 на запросы вида
"GET http://www.domain.com HTTP/1.0".
Спасибо James Oakley.
Исправление:
после перенаправления запроса с телом запроса с помощью директивы
error_page nginx пытался снова прочитать тело запроса;
ошибка появилась в 0.6.7.
Исправление:
в рабочем процессе происходил segmentation fault, если у сервера,
обрабатывающему запрос, не был явно определён server_name;
ошибка появилась в 0.6.7.
|
| |
| 0.6.14 | 15.10.2007 |
| | Изменение:
теперь по умолчанию команда SSI echo использует кодирование entity.
Добавление:
параметр encoding в команде SSI echo.
Добавление:
директиву access_log можно использовать внутри блока limit_except.
Исправление:
если все сервера апстрима оказывались недоступными,
то до восстановления работоспособности
у всех серверов вес становился равным одному;
ошибка появилась в 0.6.6.
Исправление:
при использовании переменных $date_local и $date_gmt вне модуля
ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault.
Исправление:
при использовании включённом отладочном логе
в рабочем процессе мог произойти segmentation fault.
Спасибо Андрею Нигматулину.
Исправление:
ngx_http_memcached_module не устанавливал upstream_response_time.
Спасибо Максиму Дунину.
Исправление:
рабочий процесс мог зациклиться при использовании memcached.
Исправление:
nginx распознавал параметры "close" и "keep-alive" в строке "Connection"
в заголовке запроса только, если они были в нижнем регистре;
ошибка появилась в 0.6.11.
Исправление:
sub_filter не работал с пустой строкой замены.
Исправление:
в парсинге sub_filter.
|
| |
| 0.6.13 | 24.09.2007 |
| | Исправление:
nginx не закрывал файл каталога для запроса HEAD,
если использовался autoindex
Спасибо Arkadiusz Patyk.
|
| |
| 0.6.12 | 21.09.2007 |
| | Изменение:
почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp.
Добавление:
параметры конфигурации --without-mail_pop3_module,
--without-mail_imap_module и --without-mail_smtp_module.
Добавление:
директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module.
Исправление:
wildcard в конце имени сервера не работали;
ошибка появилась в 0.6.9.
Исправление:
при использовании разделяемой библиотеки PCRE,
расположенной в нестандартном месте, nginx не запускался на Solaris.
Исправление:
директивы proxy_hide_header и fastcgi_hide_header не скрывали
строки заголовка ответа с именем больше 32 символов.
Спасибо Manlio Perillo.
|
| |
| 0.6.11 | 11.09.2007 |
| | Исправление:
счётчик активных соединений всегда рос при использовании почтового
прокси-сервера.
Исправление:
если бэкенд возвращал только заголовок ответа при небуферизированном
проксировании, то nginx закрывал соединение с бэкендом по таймауту.
Исправление:
nginx не поддерживал несколько строк "Connection" в заголовке запроса.
Исправление:
если в сервере апстрима был задан max_fails, то после первой же неудачной
попытки вес сервера навсегда становился равным одному;
ошибка появилась в 0.6.6.
|
| |
| 0.6.10 | 03.09.2007 |
| | Добавление:
директивы open_file_cache, open_file_cache_retest и open_file_cache_errors.
Исправление:
утечка сокетов;
ошибка появилась в 0.6.7.
Исправление:
В строку заголовка ответа "Content-Type", указанную в методе
$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset.
Исправление:
при использовании метода /dev/poll
в рабочем процессе мог произойти segmentation fault.
|
| |
| 0.6.9 | 28.08.2007 |
| | Исправление:
рабочий процесс мог зациклиться при использовании протокола HTTPS;
ошибка появилась в 0.6.7.
Исправление:
если сервер слушал на двух адресах или портах, то nginx не запускался
при использовании wildcard в конце имени сервера.
Исправление:
директива ip_hash могла неверно помечать сервера как нерабочие.
Исправление:
nginx не собирался на amd64;
ошибка появилась в 0.6.8.
|
| |
| 0.6.8 | 20.08.2007 |
| | Изменение:
теперь nginx пытается установить директивы worker_priority,
worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
без привилегий root'а.
Изменение:
теперь nginx экранирует символы пробела и "%" при передаче запроса
серверу аутентификации почтового прокси-сервера.
Изменение:
теперь nginx экранирует символ "%" в переменной $memcached_key.
Исправление:
при указании относительного пути к конфигурационному файлу в качестве
параметра ключа -c nginx определял путь относительно конфигурационного префикса;
ошибка появилась в 0.6.6.
Исправление:
nginx не работал на FreeBSD/sparc64.
|
| |
| 0.6.7 | 15.08.2007 |
| | Изменение:
теперь пути, указанные в директивах include, auth_basic_user_file,
perl_modules, ssl_certificate, ssl_certificate_key и
ssl_client_certificate, определяются относительно каталога конфигурационного
файла nginx.conf, а не относительно префикса.
Изменение:
параметр --sysconfdir=PATH в configure упразднён.
Изменение:
для обновления на лету версий 0.1.x создан специальный сценарий
make upgrade1. Добавление:
директивы server_name и valid_referers поддерживают регулярные выражения.
Добавление:
директива server в блоке upstream поддерживает параметр backup.
Добавление:
модуль ngx_http_perl_module поддерживает метод $r->discard_request_body.
Добавление:
директива "add_header Last-Modified ..." меняет строку "Last-Modified"
в заголовке ответа.
Исправление:
если на запрос с телом возвращался ответ с кодом HTTP отличным от 200,
и после этого запроса соединение переходило в состояние keep-alive,
то на следующий запрос nginx возвращал 400.
Исправление:
если в директиве auth_http был задан неправильный адрес, то
в рабочем процессе происходил segmentation fault.
Исправление:
теперь по умолчанию nginx использует значение 511 для listen backlog
на всех платформах, кроме FreeBSD.
Спасибо Jiang Hong.
Исправление:
рабочий процесс мог зациклиться, если server в блоке upstream был помечен
как down;
ошибка появилась в 0.6.6.
Исправление:
sendfilev() в Solaris теперь не используется при передаче тела запроса
FastCGI-серверу через unix domain сокет.
|
| |
| 0.6.6 | 30.07.2007 |
| | Добавление:
параметр --sysconfdir=PATH в configure.
Добавление:
именованные location'ы.
Добавление:
переменную $args можно устанавливать с помощью set.
Добавление:
переменная $is_args.
Исправление:
равномерное распределение запросов к апстримам с большими весами.
Исправление:
если клиент в почтовом прокси-сервере закрывал соединение,
то nginx мог не закрывать соединение с бэкендом.
Исправление:
при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS
без явного указания портов, nginx использовал только один порт - 80 или 443.
Исправление:
nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями;
ошибка появилась в 0.6.4.
|
| |
| 0.6.5 | 23.07.2007 |
| | Добавление:
переменная $nginx_version.
Спасибо Николаю Гречуху.
Добавление:
почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.
Спасибо Максиму Дунину.
Добавление:
почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.
Спасибо Максиму Дунину.
Исправление:
теперь nginx экранирует пробел в переменной $memcached_key.
Исправление:
nginx неправильно собирался Sun Studio на Solaris/amd64.
Спасибо Jiang Hong.
Исправление:
незначительных потенциальных ошибок.
Спасибо Coverity's Scan.
|
| |
| 0.6.4 | 17.07.2007 |
| | Безопасность:
при использовании директивы msie_refresh был возможен XSS.
Спасибо Максиму Богуку.
Изменение:
директивы proxy_store и fastcgi_store изменены.
Добавление:
директивы proxy_store_access и fastcgi_store_access.
Исправление:
nginx не работал на Solaris/sparc64, если был собран Sun Studio.
Спасибо Андрею Нигматулину.
Изменение:
обход ошибки в Sun Studio 12.
Спасибо Jiang Hong.
|
| |
| 0.6.3 | 12.07.2007 |
| | Добавление:
директивы proxy_store и fastcgi_store.
Исправление:
при использовании директивы auth_http_header
в рабочем процессе мог произойти segmentation fault.
Спасибо Максиму Дунину.
Исправление:
если использовался метод аутентификации CRAM-MD5, но он не был разрешён,
то в рабочем процессе происходил segmentation fault.
Исправление:
при использовании протокола HTTPS в директиве proxy_pass
в рабочем процессе мог произойти segmentation fault.
Исправление:
в рабочем процессе мог произойти segmentation fault,
если использовался метод eventport.
Исправление:
директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали;
ошибка появилась в 0.5.13.
|
| |
| 0.6.2 | 09.07.2007 |
| | Исправление:
если заголовок ответа был разделён в FastCGI-записях, то nginx передавал
клиенту мусор в таких заголовках.
|
| |
| 0.6.1 | 17.06.2007 |
| | Исправление:
в парсинге SSI.
Исправление:
при использовании удалённого подзапроса в SSI последующий
подзапрос локального файла мог отдаваться клиенту в неверном порядке.
Исправление:
большие включения в SSI, сохранённые во временные файлы,
передавались не полностью.
Исправление:
значение perl'овой переменной $$ модуля ngx_http_perl_module было равно
номеру главного процесса.
|
| |
| 0.6.0 | 14.06.2007 |
| | Добавление:
директивы "server_name", "map", and "valid_referers" поддерживают
маски вида "www.example.*".
|
| |
| 0.5.37 | 07.07.2008 |
| | Исправление:
при совместном использовании sub_filter и SSI
ответы могли передаваться неверно.
Исправление:
большие включения в SSI могли передавались не полностью.
Исправление:
рабочие процессы могли не реагировать на сигналы переконфигурации
и ротации логов.
Исправление:
nginx не собирался на последних Fedora 9 Linux.
Спасибо Roxis.
Исправление:
при использовании keepalive на Linux
в рабочем процессе мог произойти segmentation fault.
Исправление:
во время переконфигурации на некоторых 64-битном платформах в лог
записывался alert "sendmsg() failed (9: Bad file descriptor)".
|
| |
| 0.5.36 | 04.05.2008 |
| | Исправление:
директива sub_filter могла вставлять заменяемый текст в вывод.
Исправление:
при повторном использовании в SSI пустого block'а в качестве заглушки
в рабочем процессе происходил segmentation fault.
Исправление:
директивы proxy_store и fastcgi_store не проверяли длину ответа.
Исправление:
nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )";
ошибка появилась в 0.5.35.
Исправление:
при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
ошибка появилась в 0.5.35.
Исправление:
директива fastcgi_catch_stderr не возвращала ошибку;
теперь она возвращает ошибку 502, которую можно направить на следующий сервер
с помощью "fastcgi_next_upstream invalid_header".
Исправление:
при использовании директивы fastcgi_catch_stderr
в основном процессе происходил segmentation fault;
ошибка появилась в 0.5.32.
Спасибо Manlio Perillo.
|
| |
| 0.5.35 | 08.01.2008 |
| | Изменение:
теперь модуль ngx_http_userid_module в поле куки с номером процесса
добавляет микросекунды на время старта.
Изменение:
теперь на Linux используется uname(2) вместо procfs.
Спасибо Илье Новикову.
Добавление:
поддержка строки "If-Range" в заголовке запроса.
Спасибо Александру Инюхину.
Исправление:
при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry";
ошибка появилась в 0.5.13.
Исправление:
STARTTLS в режиме SMTP не работал.
Спасибо Олегу Мотиенко.
Исправление:
large_client_header_buffers не освобождались перед переходом в состояние
keep-alive.
Спасибо Олександру Штепе.
Исправление:
директива limit_rate не позволяла передавать на полной скорости,
даже если был указан очень большой лимит.
Исправление:
если ответ проксированного сервера был версии HTTP/0.9,
то переменная $status была равна 0.
Исправление:
если в директиве error_page использовался символ "?", то он экранировался
при проксировании запроса;
ошибка появилась в 0.5.32.
|
| |
| 0.5.34 | 13.12.2007 |
| | Изменение:
в error_log теперь записывается полная строка запроса вместо только URI.
Добавление:
совместимость с Cygwin.
Спасибо Владимиру Кутакову.
Добавление:
директива merge_slashes.
Добавление:
директива gzip_vary.
Добавление:
директива server_tokens.
Добавление:
директиву access_log можно использовать внутри блока limit_except.
Исправление:
При использовании переменной $server_protocol в FastCGI-параметрах
и запросе, длина которого была близка к значению директивы
client_header_buffer_size,
nginx выдавал alert "fastcgi: the request record is too big".
Исправление:
при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал
обычный ответ.
Исправление:
при использовании директивы msie_refresh повторно экранировались
уже экранированные символы;
ошибка появилась в 0.5.28.
Исправление:
при использовании подзапросов
в рабочем процессе мог произойти segmentation fault.
Исправление:
при использовании SSL и gzip большие ответы могли передаваться не полностью.
Исправление:
совместимость с mget.
Исправление:
nginx не раскодировал URI в команде SSI include.
Исправление:
при использовании переменной в директивах charset или source_charset
на старте или во время переконфигурации происходил segmentation fault,
Исправление:
nginx возвращал ошибку 400 на запросы вида
"GET http://www.domain.com HTTP/1.0".
Спасибо James Oakley.
Исправление:
при использовании переменных $date_local и $date_gmt вне модуля
ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault.
Исправление:
при использовании включённом отладочном логе
в рабочем процессе мог произойти segmentation fault.
Спасибо Андрею Нигматулину.
Исправление:
ngx_http_memcached_module не устанавливал upstream_response_time.
Спасибо Максиму Дунину.
Исправление:
рабочий процесс мог зациклиться при использовании memcached.
|
| |
| 0.5.33 | 07.11.2007 |
| | Изменение:
теперь по умолчанию команда SSI echo использует кодирование entity.
Добавление:
параметр encoding в команде SSI echo.
Изменение:
почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp.
Добавление:
параметры конфигурации --without-mail_pop3_module,
--without-mail_imap_module и --without-mail_smtp_module.
Добавление:
директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module.
Добавление:
директивы server_name и valid_referers поддерживают регулярные выражения.
Добавление:
директивы "server_name", "map", and "valid_referers" поддерживают
маски вида "www.example.*".
Исправление:
sub_filter не работал с пустой строкой замены.
Исправление:
в парсинге sub_filter.
Исправление:
рабочий процесс мог зациклиться при использовании memcached.
Исправление:
nginx распознавал параметры "close" и "keep-alive" в строке "Connection"
в заголовке запроса только, если они были в нижнем регистре;
ошибка появилась в 0.5.32.
Исправление:
при использовании разделяемой библиотеки PCRE,
расположенной в нестандартном месте, nginx не запускался на Solaris.
|
| |
| 0.5.32 | 24.09.2007 |
| | Изменение:
теперь nginx пытается установить директивы worker_priority,
worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
без привилегий root'а.
Изменение:
теперь nginx экранирует символы пробела и "%" при передаче запроса
серверу аутентификации почтового прокси-сервера.
Изменение:
теперь nginx экранирует символ "%" в переменной $memcached_key.
Изменение:
для обновления на лету версий 0.1.x создан специальный сценарий
make upgrade1. Добавление:
директива "add_header Last-Modified ..." меняет строку "Last-Modified"
в заголовке ответа.
Добавление:
почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.
Спасибо Максиму Дунину.
Добавление:
почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.
Спасибо Максиму Дунину.
Исправление:
nginx не закрывал файл каталога для запроса HEAD,
если использовался autoindex
Спасибо Arkadiusz Patyk.
Исправление:
директивы proxy_hide_header и fastcgi_hide_header не скрывали
строки заголовка ответа с именем больше 32 символов.
Спасибо Manlio Perillo.
Исправление:
счётчик активных соединений всегда рос при использовании почтового
прокси-сервера.
Исправление:
если бэкенд возвращал только заголовок ответа при небуферизированном
проксировании, то nginx закрывал соединение с бэкендом по таймауту.
Исправление:
nginx не поддерживал несколько строк "Connection" в заголовке запроса.
Исправление:
В строку заголовка ответа "Content-Type", указанную в методе
$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset.
Исправление:
при использовании метода /dev/poll
в рабочем процессе мог произойти segmentation fault.
Исправление:
nginx не работал на FreeBSD/sparc64.
Исправление:
если в директиве auth_http был задан неправильный адрес, то
в рабочем процессе происходил segmentation fault.
Исправление:
теперь по умолчанию nginx использует значение 511 для listen backlog
на всех платформах, кроме FreeBSD.
Спасибо Jiang Hong.
Исправление:
sendfilev() в Solaris теперь не используется при передаче тела запроса
FastCGI-серверу через unix domain сокет.
Исправление:
при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS
без явного указания портов, nginx использовал только один порт - 80 или 443.
Исправление:
директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали;
ошибка появилась в 0.5.13.
|
| |
| 0.5.31 | 15.08.2007 |
| | Добавление:
именованные location'ы.
Добавление:
директивы proxy_store и fastcgi_store.
Добавление:
директивы proxy_store_access и fastcgi_store_access.
|
| |
| 0.5.30 | 30.07.2007 |
| | Добавление:
переменную $args можно устанавливать с помощью set.
Добавление:
переменная $is_args.
Исправление:
если клиент в почтовом прокси-сервере закрывал соединение,
то nginx мог не закрывать соединение с бэкендом.
Исправление:
теперь nginx экранирует пробел в переменной $memcached_key.
Исправление:
при использовании протокола HTTPS в директиве proxy_pass
в рабочем процессе мог произойти segmentation fault.
Исправление:
значение perl'овой переменной $$ модуля ngx_http_perl_module было равно
номеру главного процесса.
Исправление:
nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями;
ошибка появилась в 0.5.29.
|
| |
| 0.5.29 | 23.07.2007 |
| | Добавление:
переменная $nginx_version.
Спасибо Николаю Гречуху.
Исправление:
если заголовок ответа был разделён в FastCGI-записях, то nginx передавал
клиенту мусор в таких заголовках.
Исправление:
совместимость с Sun Studio на Solaris/amd64 и Solaris/sparc64.
Спасибо Jiang Hong и Андрею Нигматулину.
Исправление:
незначительных потенциальных ошибок.
Спасибо Coverity's Scan.
|
| |
| 0.5.28 | 17.07.2007 |
| | Безопасность:
при использовании директивы msie_refresh был возможен XSS.
Спасибо Максиму Богуку.
Исправление:
при использовании директивы auth_http_header
в рабочем процессе мог произойти segmentation fault.
Спасибо Максиму Дунину.
Исправление:
если использовался метод аутентификации CRAM-MD5, но он не был разрешён,
то в рабочем процессе происходил segmentation fault.
Исправление:
в рабочем процессе мог произойти segmentation fault,
если использовался метод eventport.
|
| |
| 0.5.27 | 09.07.2007 |
| | Исправление:
при использовании удалённого подзапроса в SSI последующий
подзапрос локального файла мог отдаваться клиенту в неверном порядке.
Исправление:
большие включения в SSI, сохранённые во временные файлы,
передавались не полностью.
|
| |
| 0.5.26 | 17.06.2007 |
| | Исправление:
в парсинге SSI.
|
| |
| 0.5.25 | 11.06.2007 |
| | Исправление:
nginx не собирался с параметром --without-http_rewrite_module;
ошибка появилась в 0.5.24.
|
| |
| 0.5.24 | 06.06.2007 |
| | Безопасность:
директива ssl_verify_client не работала, если запрос выполнялся
по протоколу HTTP/0.9.
Исправление:
при использовании сжатия часть ответа могла передаваться несжатой;
ошибка появилась в 0.5.23.
|
| |
| 0.5.23 | 04.06.2007 |
| | Добавление:
модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication.
Добавление:
директива fastcgi_catch_stderr.
Спасибо Николаю Гречуху, проект OWOX.
Исправление:
на Линуксе в основном процессе происходил segmentation fault,
если два виртуальных сервера должны bind()ится к пересекающимся портам.
Исправление:
если nginx был собран с модулем ngx_http_perl_module и perl
поддерживал потоки, то во время второй переконфигурации
выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
Исправление:
в использовании протокола HTTPS в директиве proxy_pass.
|
| |
| 0.5.22 | 29.05.2007 |
| | Исправление:
большое тело запроса могло не передаваться бэкенду;
ошибка появилась в 0.5.21.
|
| |
| 0.5.21 | 28.05.2007 |
| | Исправление:
если внутри сервера описано больше примерно десяти location'ов,
то location'ы, заданные с помощью регулярного выражения,
могли выполняться не в том, порядке, в каком они описаны.
Исправление:
на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий
по счёту или последующий бэкенд упал.
Спасибо Антону Поварову.
Исправление:
при использовании библиотеки PCRE на Solaris/sparc64
мог произойти bus error.
Спасибо Андрею Нигматулину.
Исправление:
в использовании протокола HTTPS в директиве proxy_pass.
|
| |
| 0.5.20 | 07.05.2007 |
| | Добавление:
директива sendfile_max_chunk.
Добавление:
переменные "$http_...", "$sent_http_..." и "$upstream_http_..."
можно менять директивой set.
Исправление:
при использовании SSI-команды 'if expr="$var = /"'
в рабочем процессе мог произойти segmentation fault.
Исправление:
завершающая строка multipart range ответа передавалась неверно.
Спасибо Evan Miller.
Исправление:
nginx не работал на Solaris/sparc64, если был собран Sun Studio.
Спасибо Андрею Нигматулину.
Исправление:
модуль ngx_http_perl_module не собирался make в Solaris.
Спасибо Андрею Нигматулину.
|
| |
| 0.5.19 | 24.04.2007 |
| | Изменение:
значение переменной $request_time теперь записывается с точностью
до миллисекунд.
Изменение:
метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush.
Добавление:
переменная $upstream_addr.
Добавление:
директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.
Спасибо Володымыру Костырко.
Исправление:
при использовании sendfile и limit_rate на 64-битных платформах
нельзя было передавать файлы больше 2G.
Исправление:
при использовании sendfile на 64-битном Linux нельзя было передавать файлы
больше 2G.
|
| |
| 0.5.18 | 19.04.2007 |
| | Добавление:
модуль ngx_http_sub_filter_module.
Добавление:
переменные "$upstream_http_...".
Добавление:
теперь переменные $upstream_status и $upstream_response_time
содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect.
Исправление:
если nginx был собран с модулем ngx_http_perl_module и perl
не поддерживал multiplicity, то после первой переконфигурации
и после получения любого сигнала
в основном процессе происходил segmentation fault;
ошибка появилась в 0.5.9.
Исправление:
если perl не поддерживал multiplicity, то после переконфигурации
перловый код не работал;
ошибка появилась в 0.3.38.
|
| |
| 0.5.17 | 02.04.2007 |
| | Изменение:
теперь nginx для метода TRACE всегда возвращает код 405.
Добавление:
теперь nginx поддерживает директиву include внутри блока types.
Исправление:
использование переменной $document_root в директиве root и alias
запрещено: оно вызывало рекурсивное переполнение стека.
Исправление:
в использовании протокола HTTPS в директиве proxy_pass.
Исправление:
в некоторых случаях некэшируемые переменные (такие, как $uri)
возвращали старое закэшированное значение.
|
| |
| 0.5.16 | 26.03.2007 |
| | Исправление:
в качестве ключа для хэша в директиве ip_hash не использовалась сеть
класса С.
Спасибо Павлу Ярковому.
Исправление:
если в строке "Content-Type" в заголовке ответа бэкенда был указан charset
и строка завершалась символом ";",
то в рабочем процессе мог произойти segmentation fault;
ошибка появилась в 0.3.50.
Исправление:
ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если
тело запроса, записанное во временный файл, было кратно 32K.
Исправление:
nginx не собирался на Solaris без параметра --with-debug;
ошибка появилась в 0.5.15.
|
| |
| 0.5.15 | 19.03.2007 |
| | Добавление:
почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и
директивы smtp_auth, smtp_capablities и xclient.
Спасибо Антону Южанинову и Максиму Дунину.
Добавление:
теперь keep-alive соединения закрываются сразу же по получении сигнала
переконфигурации.
Изменение:
директивы imap и auth переименованы соответственно в mail и pop3_auth.
Исправление:
если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP,
то в рабочем процессе происходил segmentation fault.
Исправление:
при использовании директивы starttls only в протоколе POP3 nginx
разрешал аутентификацию без перехода в режим SSL.
Исправление:
рабочие процессы не выходили после переконфигурации и не переоткрывали логи,
если использовался метод eventport.
Исправление:
при использовании директивы ip_hash рабочий процесс мог зациклиться.
Исправление:
теперь nginx не пишет в лог некоторые alert'ы,
если используются методы eventport или /dev/poll.
|
| |
| 0.5.14 | 23.02.2007 |
| | Исправление:
nginx игнорировал лишние закрывающие скобки "}" в конце
конфигурационного файла.
|
| |
| 0.5.13 | 19.02.2007 |
| | Добавление:
методы COPY и MOVE.
Исправление:
модуль ngx_http_realip_module устанавливал мусор для запросов,
переданных по keep-alive соединению.
Исправление:
nginx не работал на 64-битном big-endian Linux.
Спасибо Андрею Нигматулину.
Исправление:
при получении слишком длинной команды IMAP/POP3-прокси теперь сразу
закрывает соединение, а не по таймауту.
Исправление:
если при использовании метода epoll клиент закрывал преждевременно
соединение со своей стороны, то nginx закрывал это соединение только
по истечении таймаута на передачу.
Исправление:
nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
ошибка появилась в 0.5.8.
|
| |
| 0.5.12 | 12.02.2007 |
| | Исправление:
nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
ошибка появилась в 0.5.8.
Исправление:
при использовании временных файлов в время работы с FastCGI-сервером
в рабочем процессе мог произойти segmentation fault;
ошибка появилась в 0.5.8.
Исправление:
если переменная $fastcgi_script_name записывалась в лог,
то в рабочем процессе мог произойти segmentation fault.
Исправление:
ngx_http_perl_module не собирался на Solaris.
|
| |
| 0.5.11 | 05.02.2007 |
| | Добавление:
теперь configure определяет библиотеку PCRE в MacPorts.
Спасибо Chris McGrath.
Исправление:
ответ был неверным, если запрашивалось несколько диапазонов;
ошибка появилась в 0.5.6.
Исправление:
директива create_full_put_path не могла создавать промежуточные каталоги,
если не была установлена директива dav_access.
Спасибо Evan Miller.
Исправление:
вместо кодов ошибок "400" и "408" в access_log мог записываться код "0".
Исправление:
при сборке с оптимизацией -O2 в рабочем процессе мог произойти
segmentation fault.
|
| |
| 0.5.10 | 26.01.2007 |
| | Исправление:
во время обновления исполняемого файла новый процесс не наследовал
слушающие сокеты;
ошибка появилась в 0.5.9.
Исправление:
при сборке с оптимизацией -O2 в рабочем процессе мог произойти
segmentation fault;
ошибка появилась в 0.5.1.
|
| |
| 0.5.9 | 25.01.2007 |
| | Изменение:
модуль ngx_http_memcached_module теперь в качестве ключа использует
значение переменной $memcached_key.
Добавление:
переменная $memcached_key.
Добавление:
параметр clean в директиве client_body_in_file_only.
Добавление:
директива env.
Добавление:
директива sendfile работает внутри блока if.
Добавление:
теперь при ошибке записи в access_log nginx записывает сообщение в error_log,
но не чаще одного раза в минуту.
Исправление:
директива "access_log off" не всегда запрещала запись в лог.
|
| |
| 0.5.8 | 19.01.2007 |
| | Исправление:
если использовалась директива "client_body_in_file_only on"
и тело запроса было небольшое, то мог произойти segmentation fault.
Исправление:
происходил segmentation fault, если использовались директивы
"client_body_in_file_only on"
и "proxy_pass_request_body off"
или "fastcgi_pass_request_body off",
и делался переход к следующему бэкенду.
Исправление:
если при использовании директивы "proxy_buffering off" соединение с клиентом
было неактивно, то оно закрывалось по таймауту, заданному директивой
send_timeout;
ошибка появилась в 0.4.7.
Исправление:
если при использовании метода epoll клиент закрывал преждевременно
соединение со своей стороны, то nginx закрывал это соединение только
по истечении таймаута на передачу.
Исправление:
ошибки "[alert] zero size buf" при работе с FastCGI-сервером.
Исправление ошибок в директиве limit_zone.
|
| |
| 0.5.7 | 15.01.2007 |
| | Добавление:
оптимизация использования памяти в ssl_session_cache.
Исправление ошибок в директивах ssl_session_cache и limit_zone.
Исправление:
на старте или во время переконфигурации происходил segmentation fault,
если директивы ssl_session_cache или limit_zone использовались
на 64-битных платформах.
Исправление:
при использовании директив add_before_body или add_after_body происходил
segmentation fault, если в заголовке ответа нет строки "Content-Type".
Исправление:
библиотека OpenSSL всегда собиралась с поддержкой потоков.
Спасибо Дену Иванову.
Исправление:
совместимость библиотеки PCRE-6.5+ и компилятора icc.
|
| |
| 0.5.6 | 09.01.2007 |
| | Изменение:
теперь модуль ngx_http_index_module игнорирует все методы,
кроме GET, HEAD и POST.
Добавление:
модуль ngx_http_limit_zone_module.
Добавление:
переменная $binary_remote_addr.
Добавление:
директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module.
Добавление:
метод DELETE поддерживает рекурсивное удаление.
Исправление:
при использовании $r->sendfile() byte-ranges передавались неверно.
|
| |
| 0.5.5 | 24.12.2006 |
| | Изменение:
ключ -v больше не выводит информацию о компиляторе.
Добавление:
ключ -V.
Добавление:
директива worker_rlimit_core поддерживает указание размера в K, M и G.
Исправление:
модуль nginx.pm теперь может устанавливаться непривилегированным пользователем.
Исправление:
при использовании методов $r->request_body или $r->request_body_file мог
произойти segmentation fault.
Исправление:
ошибок, специфичных для платформы ppc.
|
| |
| 0.5.4 | 15.12.2006 |
| | Добавление:
директиву perl можно использовать внутри блока limit_except.
Исправление:
модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса
для метода DELETE.
Исправление:
при использовании одного параметра в директиве dav_access nginx мог
сообщить об ошибке в конфигурации.
Исправление:
при использовании переменной $host мог произойти segmentation fault;
ошибка появилась в 0.4.14.
|
| |
| 0.5.3 | 13.12.2006 |
| | Добавление:
модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error
и $r->sleep.
Добавление:
метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а.
Исправление:
метод $r->has_request_body не работал.
|
| |
| 0.5.2 | 11.12.2006 |
| | Исправление:
если в директивах proxy_pass использовалось имя, указанное в upstream,
то nginx пытался найти IP-адрес этого имени;
ошибка появилась в 0.5.1.
|
| |
| 0.5.1 | 11.12.2006 |
| | Исправление:
директива post_action могла не работать после неудачного завершения запроса.
Изменение:
обход ошибки в Eudora для Mac;
ошибка появилась в 0.4.11.
Спасибо Bron Gondwana.
Исправление:
при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось
сообщение "no port in upstream";
ошибка появилась в 0.5.0.
Исправление:
если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена
серверов, но с разными портами, то эти директивы использовали первый
описанный порт;
ошибка появилась в 0.5.0.
Исправление:
если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты,
то эти директивы использовали первый описанный сокет;
ошибка появилась в 0.5.0.
Исправление:
ngx_http_auth_basic_module игнорировал пользователя, если он был указан
в последней строке файла паролей и после пароля не было перевода строки,
возврата каретки или символа ":".
Исправление:
переменная $upstream_response_time могла быть равна "0.000", хотя время
обработки было больше 1 миллисекунды.
|
| |
| 0.5.0 | 04.12.2006 |
| | Изменение:
параметры в виде "%name" в директиве log_format больше не поддерживаются.
Изменение:
директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout,
memcached_upstream_max_fails и memcached_upstream_fail_timeout
больше не поддерживаются.
Добавление:
директива server в блоке upstream поддерживает параметры
max_fails, fail_timeout и down.
Добавление:
директива ip_hash в блоке upstream.
Добавление:
статус WAIT в строке "Auth-Status" в заголовка ответа сервера аутентификации
IMAP/POP3 прокси.
Исправление:
nginx не собирался на 64-битных платформах;
ошибка появилась в 0.4.14.
|
| |
| 0.4.14 | 27.11.2006 |
| | Добавление:
директива proxy_pass_error_message в IMAP/POP3 прокси.
Добавление:
теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD.
Исправление:
ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков;
ошибка появилась в 0.3.38.
Исправление:
ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно.
Исправление:
nginx игнорировал имя сервера в строке запроса.
Исправление:
если FastCGI сервер передавал много в stderr,
то рабочий процесс мог зациклиться.
Исправление:
при изменении системного времени переменная $upstream_response_time
могла быть отрицательной.
Исправление:
при использовании POP3 серверу аутентификации IMAP/POP3 прокси
не передавался параметр Auth-Login-Attempt.
Исправление:
при ошибке соединения с сервером аутентификации IMAP/POP3 прокси
мог произойти segmentation fault.
|
| |
| 0.4.13 | 15.11.2006 |
| | Добавление:
директиву proxy_pass можно использовать внутри блока limit_except.
Добавление:
директива limit_except поддерживает все WebDAV методы.
Исправление:
при использовании директивы add_before_body без директивы add_after_body
ответ передавался не полностью.
Исправление:
большое тело запроса не принималось, если использовались метод epoll
и deferred accept().
Исправление:
для ответов модуля ngx_http_autoindex_module не выставлялась кодировка;
ошибка появилась в 0.3.50.
Исправление:
ошибки "[alert] zero size buf" при работе с FastCGI-сервером;
Исправление:
параметр конфигурации --group= игнорировался.
Спасибо Thomas Moschny.
Исправление:
50-й подзапрос в SSI ответе не работал;
ошибка появилась в 0.3.50.
|
| |
| 0.4.12 | 31.10.2006 |
| | Добавление:
модуль ngx_http_perl_module поддерживает метод $r->variable.
Исправление:
при включении в ответ большого статического файла с помощью SSI
ответ мог передаваться не полностью.
Исправление:
nginx не убирал "#fragment" в URI.
|
| |
| 0.4.11 | 25.10.2006 |
| | Добавление:
POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
Добавление:
модуль ngx_http_perl_module поддерживает метод $r->allow_ranges.
Исправление:
при включённой поддержке команды APOP в POP3 прокси могли
не работать команды USER/PASS;
ошибка появилась в 0.4.10.
|
| |
| 0.4.10 | 23.10.2006 |
| | Добавление:
POP3 прокси поддерживает APOP.
Исправление:
при использовании методов select, poll и /dev/poll во время ожидания
ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор.
Исправление:
при использовании переменной $server_addr в директиве map мог
произойти segmentation fault.
Исправление:
модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов;
ошибка появилась в 0.4.7.
Исправление:
nginx не собирался на Debian amd64;
ошибка появилась в 0.4.9.
|
| |
| 0.4.9 | 13.10.2006 |
| | Добавление:
параметр set в команде SSI include.
Добавление:
модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm.
|
| |
| 0.4.8 | 11.10.2006 |
| | Исправление:
если до команды SSI include с параметром wait выполнялась ещё
одна команда SSI include, то параметр wait мог не работать.
Исправление:
модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.
Спасибо Алексею Ковырину.
|
| |
| 0.4.7 | 10.10.2006 |
| | Добавление:
модуль ngx_http_flv_module.
Добавление:
переменная $request_body_file.
Добавление:
директивы charset и source_charset поддерживают переменные.
Исправление:
если до команды SSI include с параметром wait выполнялась ещё
одна команда SSI include, то параметр wait мог не работать.
Исправление:
при использовании директивы "proxy_buffering off" или при работе
с memcached соединения могли не закрываться по таймауту.
Исправление:
nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
|
| |
| 0.4.6 | 06.10.2006 |
| | Исправление:
nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64.
Исправление:
при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами,
если длина ответа в методе $r->headers_out("Content-Length", ...)
была задана текстовой строкой.
Исправление:
после перенаправления ошибки с помощью директивы error_page любая директива
модуля ngx_http_rewrite_module возвращала эту ошибку;
ошибка появилась в 0.4.4.
|
| |
| 0.4.5 | 02.10.2006 |
| | Исправление:
nginx не собирался на Linux и Solaris;
ошибка появилась в 0.4.4.
|
| |
| 0.4.4 | 02.10.2006 |
| | Добавление:
переменная $scheme.
Добавление:
директива expires поддерживает параметр max.
Добавление:
директива include поддерживает маску "*".
Спасибо Jonathan Dance.
Исправление:
директива return всегда изменяла код ответа, перенаправленного
директивой error_page.
Исправление:
происходил segmentation fault, если в методе PUT передавалось
тело нулевой длины.
Исправление:
при использовании переменных в директиве proxy_redirect редирект
изменялся неверно.
|
| |
| 0.4.3 | 26.09.2006 |
| | Изменение:
ошибку 499 теперь нельзя перенаправить с помощью директивы error_page.
Добавление:
поддержка Solaris 10 event ports.
Добавление:
модуль ngx_http_browser_module.
Исправление:
при перенаправлении ошибки 400 проксированному серверу
помощью директивы error_page мог произойти segmentation fault.
Исправление:
происходил segmentation fault, если в директиве proxy_pass использовался
unix domain сокет;
ошибка появилась в 0.3.47.
Исправление:
SSI не работал с ответами memcached и небуферизированными проксированными
ответами.
Изменение:
обход ошибки PAUSE hardware capability в Sun Studio.
|
| |
| 0.4.2 | 14.09.2006 |
| | Исправление:
убрана поддержка флага O_NOATIME на Linux;
ошибка появилась в 0.4.1.
|
| |
| 0.4.1 | 14.09.2006 |
| | Исправление:
совместимость с DragonFlyBSD.
Спасибо Павлу Назарову.
Изменение:
обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G.
Добавление:
теперь на Linux nginx для статических запросов использует флаг O_NOATIME.
Спасибо Yusuf Goolamabbas.
|
| |
| 0.4.0 | 30.08.2006 |
| |
Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы
init module в фазу HTTP postconfiguration.
Изменение:
теперь тело запроса в модуле ngx_http_perl_module не считывается
заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body.
Добавление:
модуль ngx_http_perl_module поддерживает код возврата DECLINED.
Добавление:
модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date"
для метода PUT.
Добавление:
директива ssi работает внутри блока if.
Исправление:
происходил segmentation fault, если в директиве index использовалась
переменные и при этом первое имя индексного файла было без переменных;
ошибка появилась в 0.1.29.
|
| |
| 0.3.61 | 28.08.2006 |
| | Изменение:
директива tcp_nodelay теперь по умолчанию включена.
Добавление:
директива msie_refresh.
Добавление:
директива recursive_error_pages.
Исправление:
директива rewrite возвращала неправильный редирект, если редирект
включал в себя выделенные закодированные символы из оригинального URI.
|
| |
| 0.3.60 | 18.08.2006 |
| | Исправление:
во время перенаправления ошибки рабочий процесс мог зациклиться;
ошибка появилась в 0.3.59.
|
| |
| 0.3.59 | 16.08.2006 |
| | Добавление:
теперь можно делать несколько перенаправлений через директиву error_page.
Исправление:
директива dav_access не поддерживала три параметра.
Исправление:
директива error_page не изменяла строку "Content-Type"
после перенаправления с помощью "X-Accel-Redirect";
ошибка появилась в 0.3.58.
|
| |
| 0.3.58 | 14.08.2006 |
| | Добавление:
директива error_page поддерживает переменные.
Изменение:
теперь на Linux используется интерфейс procfs вместо sysctl.
Изменение:
теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется
из первоначального ответа.
Исправление:
директива error_page не перенаправляла ошибку 413.
Исправление:
завершающий "?" не удалял старые аргументы, если в переписанном URI
не было новых аргументов.
Исправление:
nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
|
| |
| 0.3.57 | 09.08.2006 |
| | Добавление:
переменная $ssl_client_serial.
Исправление:
в операторе "!-e" в директиве if.
Спасибо Андриану Буданцову.
Исправление:
при проверке клиентского сертификата nginx не передавал клиенту
информацию о требуемых сертификатах.
Исправление:
переменная $document_root не поддерживала переменные в директиве root.
|
| |
| 0.3.56 | 04.08.2006 |
| | Добавление:
директива dav_access.
Добавление:
директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x".
Исправление:
при записи в access_log некоторых передаваемых клиенту строк заголовков
происходил segmentation fault, если запрос возвращал редирект.
|
| |
| 0.3.55 | 28.07.2006 |
| | Добавление:
параметр stub в команде SSI include.
Добавление:
команда SSI block.
Добавление:
скрипт unicode2nginx добавлен в contrib.
Исправление:
если root был задан только переменной, то корень задавался
относительно префикса сервера.
Исправление:
если в запросе был "//" или "/.", и после этого закодированные
символы в виде "%XX", то проксируемый запрос передавался незакодированным.
Исправление:
метод $r->headers_in("Cookie") модуля ngx_http_perl_module теперь возвращает
все строки "Cookie" в заголовке запроса.
Исправление:
происходил segmentation fault, если использовался
"client_body_in_file_only on"
и делался переход к следующему бэкенду.
Исправление:
при некоторых условиях во время переконфигурации коды символов
внутри директивы charset_map могли считаться неверными;
ошибка появилась в 0.3.50.
|
| |
| 0.3.54 | 11.07.2006 |
| | Добавление:
nginx теперь записывает в лог информацию о подзапросах.
Добавление:
директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream
поддерживают параметр off.
Добавление:
директива debug_connection поддерживает запись адресов в формате CIDR.
Исправление:
при перекодировании ответа проксированного сервера или сервера FastCGI
в UTF-8 или наоборот ответ мог передаваться не полностью.
Исправление:
переменная $upstream_response_time содержала время только первого
обращения к бэкенду.
Исправление:
nginx не собирался на платформе amd64;
ошибка появилась в 0.3.53.
|
| |
| 0.3.53 | 07.07.2006 |
| | Изменение:
директива add_header добавляет строки в ответы с кодом 204, 301 и 302.
Добавление:
директива server в блоке upstream поддерживает параметр weight.
Добавление:
директива server_name поддерживает маску "*".
Добавление:
nginx поддерживает тело запроса больше 2G.
Исправление:
если при использовании "satisfy_any on" клиент успешно проходил аутентификацию,
в лог всё равно записалоcь сообщение "access forbidden by rule".
Исправление:
метод PUT мог ошибочно не создать файл и вернуть код 409.
Исправление:
если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx
продолжал проксирование.
|
| |
| 0.3.52 | 03.07.2006 |
| | Изменение:
восстановлено поведение модуля ngx_http_index_module для запросов "POST /":
как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405.
Исправление:
при использовании ограничения скорости рабочий процесс мог зациклиться;
ошибка появилась в 0.3.37.
Исправление:
модуль ngx_http_charset_module записывал в лог ошибку "unknown charset",
даже если перекодировка не требовалась;
ошибка появилась в 0.3.50.
Исправление:
если в результате запроса PUT возвращался код 409, то временный файл
не удалялся.
|
| |
| 0.3.51 | 30.06.2006 |
| | Исправление:
при некоторых условиях в SSI мог пропадать символы "<";
ошибка появилась в 0.3.50.
|
| |
| 0.3.50 | 28.06.2006 |
| | Изменение:
директивы proxy_redirect_errors и fastcgi_redirect_errors
переименованы соответственно в proxy_intercept_errors и
fastcgi_intercept_errors.
Добавление:
модуль ngx_http_charset_module поддерживает перекодирование из
однобайтных кодировок в UTF-8 и обратно.
Добавление:
в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset"
в ответе бэкенда.
Исправление:
символ "\" в парах "\"" и "\'" в SSI командах убирался, только если
также использовался символ "$".
Исправление:
при некоторых условиях в SSI после вставки могла быть добавлена
строка "<!--".
Исправление:
если в заголовке ответа была строка "Content-Length: 0",
то при использовании небуферизированного проксировании не закрывалось соединение
с клиентом.
|
| |
| 0.3.49 | 31.05.2006 |
| | Исправление:
в директиве set.
Исправление:
при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI,
вместо вывода второго и остальных подзапросов в ответ включался вывод
первого подзапроса.
|
| |
| 0.3.48 | 29.05.2006 |
| | Изменение:
теперь модуль ngx_http_charset_module работает для подзапросов,
в ответах которых нет строки заголовка "Content-Type".
Исправление:
если в директиве proxy_pass не было URI,
то директива "proxy_redirect default" добавляла в переписанный
редирект в начало лишний слэш.
Исправление:
внутренний редирект всегда превращал любой HTTP-метод в GET,
теперь это делается только для редиректов, выполняемых с помощью
X-Accel-Redirect, и у которых метод не равен HEAD;
ошибка появилась в 0.3.42.
Исправление:
модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков;
ошибка появилась в 0.3.46.
|
| |
| 0.3.47 | 23.05.2006 |
| | Добавление:
директива upstream.
Изменение:
символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается.
|
| |
| 0.3.46 | 11.05.2006 |
| | Добавление:
директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header
и fastcgi_pass_header.
Изменение:
директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server
упразднены.
Добавление:
в режиме прокси поддерживается строка заголовка "X-Accel-Buffering"
в ответе бэкенда.
Исправление:
ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module.
|
| |
| 0.3.45 | 06.05.2006 |
| | Добавление:
директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate.
Изменение:
теперь переменная $request_method возвращает метод только основного запроса.
Изменение:
в таблице перекодировки koi-win изменены коды символа °.
Добавление:
в таблицу перекодировки koi-win добавлены символы евро и номера.
Исправление:
если nginx распределял запросы на несколько машин, то при падении
одной из них запросы, предназначенные для этой машины, перенаправлялись только
на одну машину вместо того, чтобы равномерно распределяться между остальными.
|
| |
| 0.3.44 | 04.05.2006 |
| | Добавление:
параметр wait в команде SSI include.
Добавление:
в таблицу перекодировки koi-win добавлены украинские и белорусские символы.
Исправление:
в SSI.
|
| |
| 0.3.43 | 26.04.2006 |
| | Исправление:
в SSI.
|
| |
| 0.3.42 | 26.04.2006 |
| | Добавление:
параметр bind в директиве listen в IMAP/POP3 прокси.
Исправление:
ошибки при использовании в директиве rewrite одного и того же
выделения более одного раза.
Исправление:
в лог не записывались переменные
$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding.
Исправление:
переменная $sent_http_cache_control возвращала содержимое только одной
строки "Cache-Control" в заголовке ответа.
|
| |
| 0.3.41 | 21.04.2006 |
| | Добавление:
ключ -v.
Исправление:
при включении в SSI удалённых подзапросов
мог произойти segmentation fault.
Исправление:
в обработке FastCGI.
Исправление:
если путь к перловым модулям не был указан с помощью
--with-perl_modules_path=PATH или директивы perl_modules,
то на старте происходил segmentation fault.
|
| |
| 0.3.40 | 19.04.2006 |
| | Добавление:
модуль ngx_http_dav_module поддерживает метод MKCOL.
Добавление:
директива create_full_put_path.
Добавление:
переменная $limit_rate.
|
| |
| 0.3.39 | 17.04.2006 |
| | Добавление:
директива uninitialized_variable_warn; уровень логгирования сообщения
о неинициализированной переменной понижен с уровня alert на warn.
Добавление:
директива override_charset.
Изменение:
при использовании неизвестной переменной в SSI-командах echo и if expr='$name'
теперь не записывается в лог сообщение о неизвестной переменной.
Исправление:
счётчик активных соединений рос при превышении лимита соединений,
заданного директивой worker_connections;
ошибка появилась в 0.2.0.
Исправление:
при некоторых условия ограничение скорости соединения могло не работать;
ошибка появилась в 0.3.38.
|
| |
| 0.3.38 | 14.04.2006 |
| | Добавление:
модуль ngx_http_dav_module.
Изменение:
оптимизация модуля ngx_http_perl_module.
Спасибо Сергею Скворцову.
Добавление:
модуль ngx_http_perl_module поддерживает метод $r->request_body_file.
Добавление:
директива client_body_in_file_only.
Изменение:
теперь при переполнении диска nginx пытается писать access_log'и только
раз в секунду.
Спасибо Антону Южанинову и Максиму Дунину.
Исправление:
теперь директива limit_rate точнее ограничивает скорость при значениях
больше 100 Kbyte/s.
Спасибо ForJest.
Исправление:
IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n"
в логине и пароле в закодированном виде.
Спасибо Максиму Дунину.
|
| |
| 0.3.37 | 07.04.2006 |
| | Добавление:
директива limit_except.
Добавление:
директива if поддерживает операторы "!~", "!~*", "-f" и "!-f".
Добавление:
модуль ngx_http_perl_module поддерживает метод $r->request_body.
Исправление:
в модуле ngx_http_addition_filter_module.
|
| |
| 0.3.36 | 05.04.2006 |
| | Добавление:
модуль ngx_http_addition_filter_module.
Добавление:
директивы proxy_pass и fastcgi_pass можно использовать внутри блока if.
Добавление:
директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort.
Добавление:
переменная $request_completion.
Добавление:
модуль ngx_http_perl_module поддерживает методы $r->request_method и
$r->remote_addr.
Добавление:
модуль ngx_http_ssi_module поддерживает команду elif.
Исправление:
строка "\/" в начале выражения команды if модуля ngx_http_ssi_module
воспринималась неверно.
Исправление:
в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module.
Исправление:
при задании относительного пути в директивах
client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules
использовался каталог относительно текущего каталога, а не относительно
префикса сервера.
|
| |
| 0.3.35 | 22.03.2006 |
| | Исправление:
accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой
директивы listen;
ошибка появилась в 0.3.31.
Исправление:
в директиве proxy_pass без URI при использовании в подзапросе.
|
| |
| 0.3.34 | 21.03.2006 |
| | Добавление:
директива add_header поддерживает переменные.
|
| |
| 0.3.33 | 15.03.2006 |
| | Добавление:
параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream.
Исправление:
ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом,
если он не начинался сразу же с "sub".
Исправление:
в директиве post_action.
|
| |
| 0.3.32 | 11.03.2006 |
| | Исправление:
удаление отладочного логгирования на старте и при переконфигурации;
ошибка появилась в 0.3.31.
|
| |
| 0.3.31 | 10.03.2006 |
| | Изменение:
теперь nginx передаёт неверные ответы проксированного бэкенда.
Добавление:
директивы listen поддерживают адрес в виде "*:порт".
Добавление:
поддержка EVFILER_TIMER в MacOSX 10.4.
Изменение:
обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре
MacOSX.
Спасибо Андрею Нигматулину.
Исправление:
если внутри одного сервера описаны несколько директив listen, слушающих на
разных адресах, то имена серверов вида "*.domain.tld" работали только
для первого адреса;
ошибка появилась в 0.3.18.
Исправление:
при использовании протокола HTTPS в директиве proxy_pass не передавались
запросы с телом, записанным во временный файл.
Исправление:
совместимость с perl 5.8.8.
|
| |
| 0.3.30 | 22.02.2006 |
| | Изменение:
уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit.
Исправление:
модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module.
Исправление:
nginx не собирался на i386 платформе, если использовался PIC;
ошибка появилась в 0.3.27.
|
| |
| 0.3.29 | 20.02.2006 |
| | Добавление:
теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт
большое количество предупреждений перед ответом.
Исправление:
в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка
"Transfer-Encoding: chunked".
Исправление:
nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки
заголовка ответа в отдельных FastCGI записях.
Исправление:
если в директиве post_action был указан проксируемый URI, то он выполнялся
только после успешного завершения запроса.
|
| |
| 0.3.28 | 16.02.2006 |
| | Добавление:
директива restrict_host_names упразднена.
Добавление:
параметр конфигурации --with-cpu-opt=ppc64.
Исправление:
при некоторых условиях проксированное соединение с клиентом завершалось
преждевременно.
Спасибо Владимиру Шутову.
Исправление:
строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов,
перенаправленных с помощью строки "X-Accel-Redirect".
Исправление:
директива post_action работала только после успешного завершения запроса.
Исправление:
тело проксированного ответа, создаваемого директивой post_action,
передавалось клиенту.
|
| |
| 0.3.27 | 08.02.2006 |
| | Изменение:
директивы variables_hash_max_size и variables_hash_bucket_size.
Добавление:
переменная $body_bytes_sent доступна не только в директиве log_format.
Добавление:
переменные $ssl_protocol и $ssl_cipher.
Добавление:
определение размера строки кэша распространённых процессоров при старте.
Добавление:
директива accept_mutex теперь поддерживается посредством fcntl(2)
на платформах, отличных от i386, amd64, sparc64 и ppc.
Добавление:
директива lock_file и параметр автоконфигурации --with-lock-path=PATH.
Исправление:
при использовании протокола HTTPS в директиве proxy_pass не передавались
запросы с телом.
|
| |
| 0.3.26 | 03.02.2006 |
| | Изменение:
директива optimize_host_names переименована в optimize_server_names.
Исправление:
при проксировании подзапроса в SSI бэкенду передавался URI основного запроса,
если в директиве proxy_pass отсутствовал URI.
|
| |
| 0.3.25 | 01.02.2006 |
| | Исправление:
при неверной конфигурации на старте или во время переконфигурации происходил
segmentation fault;
ошибка появилась в 0.3.24.
|
| |
| 0.3.24 | 01.02.2006 |
| | Изменение:
обход ошибки в kqueue во FreeBSD.
Исправление:
ответ, создаваемый директивой post_action, теперь не передаётся клиенту.
Исправление:
при использовании большого количества лог-файлов происходила утечка памяти.
Исправление:
внутри одного location работала только первая директива proxy_redirect.
Исправление:
на 64-битных платформах при старте мог произойти segmentation fault,
если использовалось большое количество имён в директивах server_name;
ошибка появилась в 0.3.18.
|
| |
| 0.3.23 | 24.01.2006 |
| | Добавление:
директива optimize_host_names.
Исправление:
ошибки при использовании переменных в директивах path и alias.
Исправление:
модуль ngx_http_perl_module неправильно собирался на Linux и Solaris.
|
| |
| 0.3.22 | 17.01.2006 |
| | Добавление:
модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape.
Добавление:
метод $r->query_string в модуле ngx_http_perl_module упразднён.
Исправление:
если в директиве valid_referers указаны только none или blocked, то
происходил segmentation fault;
ошибка появилась в 0.3.18.
|
| |
| 0.3.21 | 16.01.2006 |
| | Добавление:
модуль ngx_http_perl_module.
Изменение:
директива valid_referers разрешает использовать рефереры совсем без URI.
|
| |
| 0.3.20 | 11.01.2006 |
| | Исправление:
ошибки в обработке SSI.
Исправление:
модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args.
|
| |
| 0.3.19 | 28.12.2005 |
| | Добавление:
директивы path и alias поддерживают переменные.
Изменение:
теперь директива valid_referers опять учитывает URI.
Исправление:
ошибки в обработке SSI.
|
| |
| 0.3.18 | 26.12.2005 |
| | Добавление:
директива server_names поддерживает имена вида ".domain.tld".
Добавление:
директива server_names использует хэш для имён вида "*.domain.tld"
и более эффективный хэш для обычных имён.
Изменение:
директивы server_names_hash_max_size и server_names_hash_bucket_size.
Изменение:
директивы server_names_hash и server_names_hash_threshold упразднены.
Добавление:
директива valid_referers использует хэш для имён сайтов.
Изменение:
теперь директива valid_referers проверяет только имена сайтов без учёта URI.
Исправление:
некоторые имена вида ".domain.tld" неверно обрабатывались модулем
ngx_http_map_module.
Исправление:
если конфигурационного файла не было, то происходил segmentation fault;
ошибка появилась в 0.3.12.
Исправление:
на 64-битных платформах при старте мог произойти segmentation fault;
ошибка появилась в 0.3.16.
|
| |
| 0.3.17 | 18.12.2005 |
| | Изменение:
на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре.
Добавление:
директива map поддерживает доменные имена в формате ".domain.tld".
Исправление:
во время SSL handshake не иcпользовались таймауты;
ошибка появилась в 0.2.4.
Исправление:
в использовании протокола HTTPS в директиве proxy_pass.
Исправление:
при использовании протокола HTTPS в директиве proxy_pass по умолчанию
использовался порт 80.
|
| |
| 0.3.16 | 16.12.2005 |
| | Добавление:
модуль ngx_http_map_module.
Добавление:
директивы types_hash_max_size и types_hash_bucket_size.
Добавление:
директива ssi_value_length.
Добавление:
директива worker_rlimit_core.
Изменение:
при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
Pentium 4 номер соединения в логах всегда был равен 1.
Исправление:
команда config timefmt в SSI задавала неверный формат времени.
Исправление:
nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL
соединений;
ошибка появилась в 0.3.13.
Спасибо Rob Mueller.
Исправление:
segmentation fault мог произойти во время SSL shutdown;
ошибка появилась в 0.3.13.
|
| |
| 0.3.15 | 07.12.2005 |
| | Добавление:
новой код 444 в директиве return для закрытия соединения.
Добавление:
директива so_keepalive в IMAP/POP3 прокси.
Исправление:
nginx теперь вызывает abort() при обнаружении незакрытых соединений
только при планом выходе и включённой директиве debug_points.
|
| |
| 0.3.14 | 05.12.2005 |
| | Исправление:
в ответе 304 передавалось тело ответа;
ошибка появилась в 0.3.13.
|
| |
| 0.3.13 | 05.12.2005 |
| | Добавление:
IMAP/POP3 прокси поддерживает STARTTLS и STLS.
Исправление:
IMAP/POP3 прокси не работала с методами select, poll и /dev/poll.
Исправление:
ошибки в обработке SSI.
Исправление:
sendfilev() в Solaris теперь не используется при передаче тела запроса
FastCGI-серверу через unix domain сокет.
Исправление:
директива auth_basic не запрещала аутентификацию;
ошибка появилась в 0.3.11.
|
| |
| 0.3.12 | 26.11.2005 |
| | Безопасность:
если nginx был собран с модулем ngx_http_realip_module, то при использовании
директивы "satisfy_any on" директивы доступа и аутентификации не работали.
Модуль ngx_http_realip_module не собирался и не собирается по умолчанию.
Изменение:
имя переменной "$time_gmt" изменено на "$time_local".
Изменение:
директивы proxy_header_buffer_size и fastcgi_header_buffer_size
переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size.
Добавление:
модуль ngx_http_memcached_module.
Добавление:
директива proxy_buffering.
Исправление:
изменение в работе с accept mutex при использовании метода rtsig;
ошибка появилась в 0.3.0.
Исправление:
если клиент передал строку "Transfer-Encoding: chunked" в заголовке
запроса, то nginx теперь выдаёт ошибку 411.
Исправление:
при наследовании директивы auth_basic с уровня http в строке
"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm".
Исправление:
если в директиве access_log был явно указан формат combined, то в лог
записывались пустые строки;
ошибка появилась в 0.3.8.
Исправление:
nginx не работал на платформе sparc под любыми OS, кроме Solaris.
Исправление:
в директиве if теперь не нужно разделять пробелом строку в кавычках и
закрывающую скобку.
|
| |
| 0.3.11 | 15.11.2005 |
| | Исправление:
nginx не передавал при проксировании тело запроса и строки заголовка клиента;
ошибка появилась в 0.3.10.
|
| |
| 0.3.10 | 15.11.2005 |
| | Изменение:
директива valid_referers и переменная $invalid_referer перенесены
из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module.
Изменение:
имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent".
Добавление:
переменные "$sent_http_...".
Добавление:
директива if поддерживает операции "=" и "!=".
Добавление:
директива proxy_pass поддерживает протокол HTTPS.
Добавление:
директива proxy_set_body.
Добавление:
директива post_action.
Добавление:
модуль ngx_http_empty_gif_module.
Добавление:
директива worker_cpu_affinity для Linux.
Исправление:
директива rewrite не раскодировала символы в редиректах в URI,
теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF.
Исправление:
nginx не собирался компилятором icc 9.0.
Исправление:
если для статического файла нулевого размера был разрешён SSI,
то ответ передавался неверно при кодировании chunk'ами.
|
| |
| 0.3.9 | 10.11.2005 |
| | Исправление:
nginx считал небезопасными URI, в которых между двумя слэшами
находилось два любых символа;
ошибка появилась в 0.3.8.
|
| |
| 0.3.8 | 09.11.2005 |
| | Безопасность:
nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect"
в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей.
Изменение:
nginx теперь не воспринимает пустое имя как правильное
в строке "Authorization" в заголовке запроса.
Добавление:
директива ssl_session_timeout модулей
ngx_http_ssl_module и ngx_imap_ssl_module.
Добавление:
директива auth_http_header модуля ngx_imap_auth_http_module.
Добавление:
директива add_header.
Добавление:
модуль ngx_http_realip_module.
Добавление:
новые переменные для использования в директиве log_format:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt,
$uri, $request_time, $request_length,
$upstream_status, $upstream_response_time,
$gzip_ratio,
$uid_got, $uid_set,
$connection, $pipe и $msec.
Параметры в виде "%name" скоро будут упразднены.
Изменение:
в директиве "if" ложными значениями переменных теперь являются
пустая строка "" и строки, начинающиеся на "0".
Исправление:
при работает с проксированными или FastCGI-серверами nginx мог оставлять
открытыми соединения и временные файлы с запросами клиентов.
Исправление:
рабочие процессы не сбрасывали буферизированные логи при плавном выходе.
Исправление:
если URI запроса изменялось с помощью rewrite, а затем запрос проксировался
в location, заданном регулярным выражением, то бэкенду передавался
неверный запрос;
ошибка появилась в 0.2.6.
Исправление:
директива expires не удаляла уже установленную строку заголовка "Expires".
Исправление:
при использовании метода rtsig и нескольких рабочих процессах nginx
мог перестать принимать запросы.
Исправление:
в SSI командах неверно обрабатывались строки "\"" и "\'".
Исправление:
если ответ заканчивался сразу же после SSI команды, то при использовании
сжатия ответ передавался не до конца или не передавался вообще.
|
| |
| 0.3.7 | 27.10.2005 |
| | Добавление:
директива access_log поддерживает параметр buffer=.
Исправление:
nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc;
ошибка появилась в 0.3.2.
|
| |
| 0.3.6 | 24.10.2005 |
| | Изменение:
IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин.
Добавление:
директива log_format поддерживает переменные в виде $name.
Исправление:
если хотя бы в одном сервере не было описано ни одной директивы listen, то
nginx не слушал на 80 порту;
ошибка появилась в 0.3.3.
Исправление:
если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80.
|
| |
| 0.3.5 | 21.10.2005 |
| | Исправление:
если логин IMAP/POP3 менялся сервером авторизации, то мог произойти
segmentation fault;
ошибка появилась в 0.2.2.
Исправление:
accept mutex не работал, все соединения обрабатывались одним рабочим процессом;
ошибка появилась в 0.3.3.
Исправление:
при использовании метода rtsig и директивы timer_resolution
не работали таймауты.
|
| |
| 0.3.4 | 19.10.2005 |
| | Исправление:
nginx не собирался на Linux 2.4+ и MacOS X;
ошибка появилась в 0.3.3.
|
| |
| 0.3.3 | 19.10.2005 |
| | Изменение:
параметры "bl" и "af" директивы listen переименованы в "backlog"
и "accept_filter".
Добавление:
параметры "rcvbuf" и "sndbuf" в директиве listen.
Изменение:
параметр лога $msec теперь не требует дополнительного системного
вызова gettimeofday().
Добавление:
ключ -t теперь проверяет директивы listen.
Исправление:
если в директиве listen был указан неверный адрес, то nginx после
сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
Исправление:
для индексных файлов, содержащих в имени переменную, мог неверно выставляться
тип mime по умолчанию;
ошибка появилась в 0.3.0.
Добавление:
директива timer_resolution.
Добавление:
параметр лога $upstream_response_time в миллисекундах.
Исправление:
временный файл с телом запроса клиента теперь удаляется сразу после того,
как клиенту передан заголовок ответа.
Исправление:
совместимость с OpenSSL 0.9.6.
Исправление:
пути к файлам с SSL сертификатом и ключом не могли быть относительными.
Исправление:
директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module.
Исправление:
директива ssl_protocols позволяла задать только один протокол.
|
| |
| 0.3.2 | 12.10.2005 |
| | Добавление:
поддержка Sun Studio 10 C compiler.
Добавление:
директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout,
fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout.
|
| |
| 0.3.1 | 10.10.2005 |
| | Исправление:
во время переполнения очереди сигналов при использовании метода rtsig
происходил segmentation fault;
ошибка появилась в 0.2.0.
Изменение:
корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
|
| |
| 0.3.0 | 07.10.2005 |
| | Изменение:
убрано десятидневное ограничение времени работы рабочего процесса.
Ограничение было введено из-за переполнения миллисекундных таймеров.
|
| |
| 0.2.6 | 05.10.2005 |
| | Изменение:
с 60 до 10 секунд уменьшено время повторного обращения к бэкенду
при использовании распределения нагрузки.
Изменение:
директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь
передаётся, если в директиве proxy_pass отсутствует URI.
Добавление:
директива error_page поддерживает редиректы и позволяет более гибко
менять код ошибки.
Изменение:
в проксированных подзапросах теперь игнорируется переданный charset.
Исправление:
если после изменения URI в блоке if для запроса не находилась
новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись
снова.
Исправление:
если директива set устанавливала переменную модуля ngx_http_geo_module
в какой-либо части конфигурации, то эта переменная не была доступна в
других частях конфигурации и выдавалась ошибка "using uninitialized variable";
ошибка появилась в 0.2.2.
|
| |
| 0.2.5 | 04.10.2005 |
| | Изменение:
дублирующее значение переменной модуля ngx_http_geo_module теперь
выдаёт предупреждение и изменяет старое значение.
Добавление:
модуль ngx_http_ssi_module поддерживает команду set.
Добавление:
модуль ngx_http_ssi_module поддерживает параметр file в команде include.
Добавление:
модуль ngx_http_ssi_module поддерживает подстановку значений переменных
в выражениях команды if.
|
| |
| 0.2.4 | 03.10.2005 |
| | Добавление:
модуль ngx_http_ssi_module поддерживает выражения
"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/"
в команде if.
Исправление:
ошибки при проксировании location без слэша в конце;
ошибка появилась в 0.1.44.
Исправление:
при использовании метода rtsig мог произойти segmentation fault;
ошибка появилась в 0.2.0.
|
| |
| 0.2.3 | 30.09.2005 |
| | Исправление:
nginx не собирался без параметра --with-debug;
ошибка появилась в 0.2.2.
|
| |
| 0.2.2 | 30.09.2005 |
| | Добавление:
команда config errmsg в модуле ngx_http_ssi_module.
Изменение:
переменные модуля ngx_http_geo_module можно переопределять директивой set.
Добавление:
директивы ssl_protocols и ssl_prefer_server_ciphers модулей
ngx_http_ssl_module и ngx_imap_ssl_module.
Исправление:
ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов;
Исправление:
модуль ngx_http_autoindex_module теперь не показывает файлы,
начинающиеся на точку.
Исправление:
если SSL handshake завершался с ошибкой, то это могло привести также
к закрытию другого соединения.
Спасибо Rob Mueller.
Исправление:
экспортные версии MSIE 5.x не могли соединиться по HTTPS.
|
| |
| 0.2.1 | 23.09.2005 |
| | Исправление:
если все бэкенды, используемые для балансировки нагрузки, оказывались
в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
ошибка появилась в 0.2.0.
|
| |
| 0.2.0 | 23.09.2005 |
| |
Изменились имена pid-файлов, используемые во время обновления исполняемого
файла. Ручное переименование теперь не нужно.
Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin"
и запускает новый исполняемый файл.
Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin".
Если новый основной процесс выходит, то старый процесс переименовывает свой
pid-файл c суффиксом ".oldbin" в pid-файл без суффикса.
При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба
процесса - старый 0.1.x и новый 0.2.0 - используют pid-файл
без суффиксов.
Изменение:
директива worker_connections, новое название директивы connections;
директива теперь задаёт максимальное число соединений,
а не максимально возможный номер дескриптора для сокета.
Добавление:
SSL поддерживает кэширование сессий в пределах одного рабочего процесса.
Добавление:
директива satisfy_any.
Изменение:
модули ngx_http_access_module и ngx_http_auth_basic_module не работают
для подзапросов.
Добавление:
директивы worker_rlimit_nofile и worker_rlimit_sigpending.
Исправление:
если все бэкенды, используемые для балансировки нагрузки, оказывались
в нерабочем состоянии после одной ошибки, то nginx не обращался к ним
в течение 60 секунд.
Исправление:
в парсинге аргументов IMAP/POP3 команд.
Спасибо Rob Mueller.
Исправление:
ошибки при использовании SSL в IMAP/POP3 прокси.
Исправление:
ошибки при использовании SSI и сжатия.
Исправление:
в ответах 304 не добавлялись строки заголовка ответа "Expires" и
"Cache-Control".
Спасибо Александру Кукушкину.
|
| |
| 0.1.45 | 08.09.2005 |
| | Изменение:
директива ssl_engine упразднена в модуле ngx_http_ssl_module и
перенесена на глобальный уровень.
Исправление:
ответы с подзапросами, включённые с помощью SSI, не передавались
через SSL соединение.
Разные исправления в IMAP/POP3 прокси.
|
| |
| 0.1.44 | 06.09.2005 |
| | Добавление:
IMAP/POP3 прокси поддерживает SSL.
Добавление:
директива proxy_timeout модуля ngx_imap_proxy_module.
Добавление:
директива userid_mark.
Добавление:
значение переменной $remote_user определяется независимо от того,
используется ли авторизация или нет.
|
| |
| 0.1.43 | 30.08.2005 |
| | Добавление:
listen(2) backlog в директиве listen можно менять по сигналу -HUP.
Добавление:
скрипт geo2nginx.pl добавлен в contrib.
Изменение:
параметры FastCGI с пустым значениями теперь передаются серверу.
Исправление:
если в ответе проксированного сервера или FastCGI сервера была строка
"Cache-Control", то при использовании директивы expires происходил
segmentation fault или рабочий процесс мог зациклится;
в режиме прокси ошибка появилась в 0.1.29.
|
| |
| 0.1.42 | 23.08.2005 |
| | Исправление:
если URI запроса получался нулевой длины после обработки модулем
ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил
segmentation fault или bus error.
Исправление:
директива limit_rate не работала внутри блока if;
ошибка появилась в 0.1.38.
|
| |
| 0.1.41 | 25.07.2005 |
| | Исправление:
если переменная использовалась в файле конфигурации,
то она не могла использоваться в SSI.
|
| |
| 0.1.40 | 22.07.2005 |
| | Исправление:
если клиент слал очень длинную строку заголовка, то в логе не помещалась
информация, связанная с этим запросом.
Исправление:
при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie";
ошибка появилась в 0.1.39.
Исправление:
при использовании "X |