view CHANGES.ru @ 54:bcb5fce0b038 NGINX_0_1_27

nginx 0.1.27 *) Feature: the "blocked" parameter of the "valid_referers" directive. *) Change: the errors while handling the request header now logged at "info" level. The server name and the "Host" and "Referer" header lines also logged. *) Change: the "Host" header line is also logged in error log. *) Feature: the proxy_pass_unparsed_uri directive. The special handling of the "://" symbols in URI, appeared in 0.1.11 version, now is canceled. *) Bugfix: nginx could not be built on FreeBSD and Linux, if the --without-ngx_http_auth_basic_module configuration parameter was used.
author Igor Sysoev <http://sysoev.ru>
date Mon, 28 Mar 2005 00:00:00 +0400
parents 0d75d65c642f
children 3050baa54a26
line wrap: on
line source


Изменения в nginx 0.1.27                                          28.03.2005

    *) Добавление: параметр blocked в директиве invalid_referers.

    *) Изменение: ошибки обработки заголовка запроса теперь записываются на 
       уровне info, в лог также записывается имя сервера и строки заголовка 
       запроса "Host" и "Referer".

    *) Изменение: при записи ошибок в лог записывается также строка 
       заголовка запроса "Host".

    *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка 
       символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.

    *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан 
       параметр конфигурации --without-ngx_http_auth_basic_module.


Изменения в nginx 0.1.26                                          22.03.2005

    *) Изменение: неверные строки заголовка, переданные клиентом, теперь 
       игнорируется и записываются в error_log на уровне info.

    *) Изменение: при записи ошибок в лог записывается также имя сервера, 
       при обращении к которому произошла ошибка.

    *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic 
       и auth_basic_user_file.


Изменения в nginx 0.1.25                                          19.03.2005

    *) Исправление: nginx не работал на Linux parisc.

    *) Добавление: nginx теперь не запускается под FreeBSD, если значение 
       sysctl kern.ipc.somaxconn слишком большое.

    *) Исправление: если модуль ngx_http_index_module делал внутреннее 
       перенаправление запроса в модули ngx_http_proxy_module или 
       ngx_http_fastcgi_module, то файл индекса не закрывался после 
       обслуживания запроса.

    *) Добавление: директива proxy_pass может использоваться в location, 
       заданных регулярным выражением.

    *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает 
       условия вида "if ($HTTP_USER_AGENT ~ MSIE)".

    *) Исправление: nginx очень медленно запускался при большом количестве 
       адресов и использовании текстовых значений в директиве geo.

    *) Изменение: имя переменной в директиве geo нужно указывать, как 
       $name. Прежний вариант без "$" пока работает, но вскоре будет убран.

    *) Добавление: параметр лога "%{VARIABLE}v".

    *) Добавление: директива "set $name value".

    *) Исправление: совместимость с gcc 4.0.

    *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.


Изменения в nginx 0.1.24                                          04.03.2005

    *) Добавление: модуль ngx_http_ssi_filter_module поддерживает 
       переменные QUERY_STRING и DOCUMENT_URI.

    *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 
       на существующий каталог, если этот каталог был указан как alias.

    *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал 
       при больших ответах.

    *) Исправление: отсутствие строки заголовка "Referer" всегда считалось 
       правильным referrer'ом.


Изменения в nginx 0.1.23                                          01.03.2005

    *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, 
       ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo 
       var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.

    *) Добавление: параметр лога %request_time.

    *) Добавление: если запрос пришёл без строки заголовка "Host", то 
       директива proxy_preserve_host устанавливает в качестве этого 
       заголовка первое имя сервера из директивы server_name.

    *) Исправление: nginx не собирался на платформах, отличных от i386, 
       amd64, sparc и ppc; ошибка появилась в 0.1.22.

    *) Исправление: модуль ngx_http_autoindex_module теперь показывает 
       информацию не о символическом линке, а о файле или каталоге, на 
       который он указывает.

    *) Исправление: если клиенту ничего не передавалось, то параметр 
       %apache_length записывал в лог отрицательную длину заголовка ответа.


Изменения в nginx 0.1.22                                          22.02.2005

    *) Исправление: модуль ngx_http_stub_status_module показывал неверную 
       статистику для обработанных соединений, если использовалось 
       проксирование или FastCGI-сервер.

    *) Исправление: на Linux и Solaris установочные пути были неверно 
       заключены в кавычки; ошибка появилась в 0.1.21.


Изменения в nginx 0.1.21                                          22.02.2005

    *) Исправление: модуль ngx_http_stub_status_module показывал неверную 
       статистику при использовании метода rtsig или при использовании 
       нескольких рабочих процессов на SMP машине.

    *) Исправление: nginx не собирался компилятором icc под Линуксом или 
       если библиотека zlib-1.2.x собиралась из исходных текстов.

    *) Исправление: nginx не собирался под NetBSD 2.0.


Изменения в nginx 0.1.20                                          17.02.2005

    *) Добавление: новые параметры script_filename и remote_port в 
       директиве fastcgi_params.

    *) Исправление: неправильно обрабатывался поток stderr от 
       FastCGI-сервера.


Изменения в nginx 0.1.19                                          16.02.2005

    *) Исправление: если в запросе есть нуль, то для локальных запросов 
       теперь возвращается ошибка 404.

    *) Исправление: nginx не собирался под NetBSD 2.0.

    *) Исправление: во время чтения тела запроса клиента в SSL соединении 
       мог произойти таймаут.


Изменения в nginx 0.1.18                                          09.02.2005

    *) Изменение: для совместимости с Solaris 10 в директивах 
       devpoll_events и devpoll_changes значения по умолчанию уменьшены с 
       512 до 32.

    *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не 
       наследовались.

    *) Исправление: в директиве rewrite, возвращающей редирект, аргументы 
       присоединялись к URI через символ "&" вместо "?".

    *) Исправление: строки для модуля ngx_http_geo_module без символа ";" 
       во включённом файле игнорировались.

    *) Добавление: модуль ngx_http_stub_status_module.

    *) Исправление: неизвестный формат лог-файла в директиве access_log 
       вызывал segmentation fault.

    *) Добавление: новый параметр document_root в директиве fastcgi_params.

    *) Добавление: директива fastcgi_redirect_errors.

    *) Добавление: новый модификатор break в директиве rewrite позволяет 
       прекратить цикл rewrite/location и устанавливает текущую 
       конфигурацию для запроса.


Изменения в nginx 0.1.17                                          03.02.2005

    *) Добавление: модуль ngx_http_rewrite_module полностью переписан. 
       Теперь можно делать редиректы, возвращать коды ошибок и проверять 
       переменные и рефереры. Эти директивы можно использовать внутри 
       location. Директива redirect упразднена.

    *) Добавление: модуль ngx_http_geo_module.

    *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.

    *) Исправление: конфигурация location с модификатором "=" могла 
       использоваться в другом location.

    *) Исправление: правильный тип ответа выставлялся только для запросов, 
       у которых в расширении были только маленькие буквы.

    *) Исправление: если для location установлен proxy_pass или 
       fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась 
       на статическую страницу, то происходил segmentation fault.

    *) Исправление: если в проксированном ответе в заголовке "Location" 
       передавался относительный URL, то к нему добавлялось имя хоста и 
       слэш; ошибка появилась в 0.1.14.

    *) Исправление: на Linux в лог не записывался текст системной ошибки.


Изменения в nginx 0.1.16                                          25.01.2005

    *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD 
       выдавался завершающий chunk.

    *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если 
       директива keepalive_timeout запрещала использование keep-alive.

    *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали 
       segmentation fault.

    *) Исправление: при использовании SSL сжатый ответ мог передаваться не 
       до конца.

    *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные 
       для TCP сокетов, не используются для unix domain сокетов.

    *) Добавление: директива rewrite поддерживает перезаписывание 
       аргументов.

    *) Исправление: на запрос POST с заголовком "Content-Length: 0" 
       возвращался ответ 400; ошибка появилась в 0.1.14.


Изменения в nginx 0.1.15                                          19.01.2005

    *) Исправление: ошибка соединения с FastCGI-сервером вызывала 
       segmentation fault.

    *) Исправление: корректная обработка регулярного выражения, в котором 
       число выделенных частей не совпадает с числом подстановок.

    *) Добавление: location, который передаётся FastCGI-серверу, может быть 
       задан с помощью регулярного выражения.

    *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с 
       аргументами и в том виде, в котором был получен от клиента.

    *) Исправление: для использования регулярных выражений в location нужно 
       было собирать nginx вместе с ngx_http_rewrite_module.

    *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании 
       директивы "proxy_preserve_host  on" в заголовке "Host" указывался 
       также порт 80; ошибка появилась в 0.1.14.

    *) Исправление: если задать одинаковые пути в параметрах 
       автоконфигурации --http-client-body-temp-path=PATH и 
       --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и 
       --http-fastcgi-temp-path=PATH, то происходил segmentation fault.


Изменения в nginx 0.1.14                                          18.01.2005

    *) Добавление: параметры автоконфигурации 
       --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и 
       --http-fastcgi-temp-path=PATH

    *) Изменение: имя каталога с временными файлами, содержащие тело 
       запроса клиента, задаётся директивой client_body_temp_path, по 
       умолчанию <prefix>/client_body_temp.

    *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, 
       fastcgi_root, fastcgi_index, fastcgi_params, 
       fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, 
       fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 
       fastcgi_busy_buffers_size, fastcgi_temp_path, 
       fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 
       fastcgi_next_upstream и fastcgi_x_powered_by.

    *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в 
       0.1.3.

    *) Изменение: в директиве proxy_pass нужно обязательно указывать URI 
       после имени хоста.

    *) Изменение: если в URI встречался символ %3F, то он считался началом 
       строки аргументов.

    *) Добавление: поддержка unix domain сoкетов в модуле 
       ngx_http_proxy_module.

    *) Добавление: директивы ssl_engine и ssl_ciphers.
       Спасибо Сергею Скворцову за SSL-акселератор.


Изменения в nginx 0.1.13                                          21.12.2004

    *) Добавление: директивы server_names_hash и 
       server_names_hash_threshold.

    *) Исправление: имена *.domain.tld в директиве server_name не работали.

    *) Исправление: параметр лога %request_length записывал неверную длину.


Изменения в nginx 0.1.12                                          06.12.2004

    *) Добавление: параметр лога %request_length.

    *) Исправление: при использовании /dev/poll, select и poll на 
       платформах, где возможны ложные срабатывания указанных методов, 
       могли быть длительные задержки при обработке запроса по keep-alive 
       соединению. Наблюдалось по крайней мере на Solaris с использованием 
       /dev/poll.

    *) Исправление: директива send_lowat игнорируется на Linux, так как 
       Linux не поддерживает опцию SO_SNDLOWAT.


Изменения в nginx 0.1.11                                          02.12.2004

    *) Добавление: директива worker_priority.

    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе 
       влияют на передачу ответа.

    *) Исправление: nginx не вызывал initgroups().
       Спасибо Андрею Ситникову и Андрею Нигматулину.

    *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в 
       байтах.

    *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в 
       каталоге есть битый symlink.

    *) Исправление: файлы больше 4G не передавались с использованием 
       sendfile.

    *) Исправление: если бэкенд резолвился в несколько адресов и при 
       ожидании от него ответа происходила ошибка, то процесс зацикливался.

    *) Исправление: при использовании метода /dev/poll рабочий процесс мог 
       завершиться с сообщением "unknown cycle".

    *) Исправление: ошибки "close() channel failed".

    *) Исправление: автоматическое определение групп nobody и nogroup.

    *) Исправление: директива send_lowat не работала на Linux.

    *) Исправление: если в конфигурации не было раздела events, то 
       происходил segmentation fault.

    *) Исправление: nginx не собирался под OpenBSD.

    *) Исправление: двойные слэшы в "://" в URI превращались в ":/".


Изменения в nginx 0.1.10                                          26.11.2004

    *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" 
       или "%XX", то терялся последний символ в строке запроса; ошибка 
       появилась в 0.1.9.

    *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на 
       Linux не работало.


Изменения в nginx 0.1.9                                           25.11.2004

    *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то 
       проксируемый запрос передавался без аргументов.

    *) Исправление: при сжатии больших ответов иногда они передавались не 
       полностью.

    *) Исправление: не передавались файлы больше 2G на Linux, 
       неподдерживающем sendfile64().

    *) Исправление: на Linux при конфигурации сборки нужно было обязательно 
       использовать параметр --with-poll_module; ошибка появилась в 0.1.8.


Изменения в nginx 0.1.8                                           20.11.2004

    *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 
       длинных имён файлов.

    *) Добавление: модификатор "^~" в директиве location.

    *) Добавление: директива proxy_max_temp_file_size.


Изменения в nginx 0.1.7                                           12.11.2004

    *) Исправление: при использовании sendfile, если передаваемый файл 
       менялся, то мог произойти segmentation fault на FreeBSD; ошибка 
       появилась в 0.1.5.


Изменения в nginx 0.1.6                                           11.11.2004

    *) Исправление: при некоторых комбинациях директив location c 
       регулярными выражениями использовалась конфигурация не из того 
       location.


Изменения в nginx 0.1.5                                           11.11.2004

    *) Исправление: на Solaris и Linux могло быть очень много сообщений 
       "recvmsg() returned not enough data".

    *) Исправление: в режиме прокси без использования sendfile на Solaris 
       возникала ошибка "writev() failed (22: Invalid argument)". На других 
       платформах, не поддерживающих sendfile, процесс зацикливался.

    *) Исправление: при использовании sendfile в режиме прокси на Solaris 
       возникал segmentation fault.

    *) Исправление: segmentation fault на Solaris.

    *) Исправление: обновление исполняемого файла на лету не работало на 
       Linux.

    *) Исправление: в списке файлов, выдаваемом модулем 
       ngx_http_autoindex_module, не перекодировались пробелы, кавычки и 
       знаки процента.

    *) Изменение: уменьшение операций копирования.

    *) Добавление: директива userid_p3p.


Изменения в nginx 0.1.4                                           26.10.2004

    *) Исправление: ошибка в модуле ngx_http_autoindex_module.


Изменения в nginx 0.1.3                                           25.10.2004

    *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.

    *) Добавление: директива proxy_set_x_url.

    *) Исправление: модуль проксировании мог привести к зацикливанию, если 
       не использовался sendfile.


Изменения в nginx 0.1.2                                           21.10.2004

    *) Добавление: параметры --user=USER, --group=GROUP и 
       --with-ld-opt=OPTIONS в configure.

    *) Добавление: директива server_name поддерживает *.domain.tld.

    *) Исправление: улучшена переносимость на неизвестные платформы.

    *) Исправление: нельзя переконфигурировать nginx, если конфигурационный 
       файл указан в командной строке; ошибка появилась в 0.1.1.

    *) Исправление: модуль проксировании мог привести к зацикливанию, если 
       не использовался sendfile.

    *) Исправление: при использовании sendfile текст ответа не 
       перекодировался согласно директивам модуля charset; ошибка появилась 
       в 0.1.1.

    *) Исправление: очень редкая ошибка при обработке kqueue.

    *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при 
       проксировании.


Изменения в nginx 0.1.1                                           11.10.2004

    *) Добавление: директива gzip_types.

    *) Добавление: директива tcp_nodelay.

    *) Добавление: директива send_lowat работает не только на платформах, 
       поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих 
       SO_SNDLOWAT.

    *) Добавление: эмуляция setproctitle() для Linux и Solaris.

    *) Исправление: ошибка при переписывании заголовка "Location" при 
       проксировании.

    *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к 
       зацикливанию.

    *) Исправление: ошибки в модуле /dev/poll.

    *) Исправление: при проксировании и использовании временных файлов 
       ответы портились.

    *) Исправление: бэкенду передавались запросы с неперекодированными 
       символами.

    *) Исправление: на Linux 2.4 при конфигурации сборки нужно было 
       обязательно использовать параметр --with-poll_module.


Изменения в nginx 0.1.0                                           04.10.2004

    *) Первая публично доступная версия.