2 Изменения в nginx 1.5.11 04.03.2014
4 *) Безопасность: при обработке специально созданного запроса модулем
5 ngx_http_spdy_module на 32-битных платформах могла повреждаться
6 память рабочего процесса, что потенциально могло приводить к
7 выполнению произвольного кода (CVE-2014-0088); ошибка появилась в
9 Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel Sadosky,
10 Buenos Aires, Argentina.
12 *) Добавление: переменная $ssl_session_reused.
14 *) Исправление: директива client_max_body_size могла не работать при
15 чтении тела запроса с использованием chunked transfer encoding;
16 ошибка появилась в 1.3.9.
19 *) Исправление: при проксировании WebSocket-соединений в рабочем
20 процессе мог произойти segmentation fault.
22 *) Исправление: в рабочем процессе мог произойти segmentation fault,
23 если использовался модуль ngx_http_spdy_module на 32-битных
24 платформах; ошибка появилась в 1.5.10.
26 *) Исправление: значение переменной $upstream_status могло быть
27 неверным, если использовались директивы proxy_cache_use_stale или
28 proxy_cache_revalidate.
31 *) Исправление: в рабочем процессе мог произойти segmentation fault,
32 если ошибки с кодом 400 с помощью директивы error_page
33 перенаправлялись в именованный location.
35 *) Исправление: nginx/Windows не собирался с Visual Studio 2013.
38 Изменения в nginx 1.5.10 04.02.2014
40 *) Добавление: модуль ngx_http_spdy_module теперь использует протокол
42 Спасибо Automattic и MaxCDN за спонсирование разработки.
44 *) Добавление: модуль ngx_http_mp4_module теперь пропускает дорожки,
45 имеющие меньшую длину, чем запрошенная перемотка.
47 *) Исправление: в рабочем процессе мог произойти segmentation fault,
48 если переменная $ssl_session_id использовалась при логгировании;
49 ошибка появилась в 1.5.9.
51 *) Исправление: переменные $date_local и $date_gmt использовали неверный
52 формат вне модуля ngx_http_ssi_filter_module.
54 *) Исправление: клиентские соединения могли сразу закрываться, если
55 использовался отложенный accept; ошибка появилась в 1.3.15.
57 *) Исправление: сообщения "getsockopt(TCP_FASTOPEN) ... failed"
58 записывались в лог в процессе обновления исполняемого файла на Linux;
59 ошибка появилась в 1.5.8.
63 Изменения в nginx 1.5.9 22.01.2014
65 *) Изменение: теперь в заголовке X-Accel-Redirect nginx ожидает
68 *) Добавление: директива ssl_buffer_size.
70 *) Добавление: директиву limit_rate теперь можно использовать для
71 ограничения скорости передачи ответов клиенту в SPDY-соединениях.
73 *) Добавление: директива spdy_chunk_size.
75 *) Добавление: директива ssl_session_tickets.
76 Спасибо Dirkjan Bussink.
78 *) Исправление: переменная $ssl_session_id содержала всю сессию в
79 сериализованном виде вместо её идентификатора.
82 *) Исправление: nginx неправильно обрабатывал закодированный символ "?"
83 в команде SSI include.
85 *) Исправление: модуль ngx_http_dav_module не раскодировал целевой URI
86 при обработке методов COPY и MOVE.
88 *) Исправление: resolver не понимал доменные имена с точкой в конце.
91 *) Исправление: при проксировании в логах могли появляться сообщения
92 "zero size buf in output"; ошибка появилась в 1.3.9.
94 *) Исправление: в рабочем процессе мог произойти segmentation fault,
95 если использовался модуль ngx_http_spdy_module.
97 *) Исправление: при использовании методов обработки соединений select,
98 poll и /dev/poll проксируемые WebSocket-соединения могли зависать
101 *) Исправление: директива xclient почтового прокси-сервера некорректно
102 передавала IPv6-адреса.
105 Изменения в nginx 1.5.8 17.12.2013
107 *) Добавление: теперь resolver поддерживает IPv6.
109 *) Добавление: директива listen поддерживает параметр fastopen.
110 Спасибо Mathew Rodley.
112 *) Добавление: поддержка SSL в модуле ngx_http_uwsgi_module.
113 Спасибо Roberto De Ioris.
115 *) Добавление: скрипты подсветки синтаксиса для vim добавлены в contrib.
118 *) Исправление: при чтении тела запроса с использованием chunked
119 transfer encoding по SSL-соединению мог произойти таймаут.
121 *) Исправление: директива master_process работала неправильно в
124 *) Исправление: параметр setfib директивы listen мог не работать.
126 *) Исправление: в модуле ngx_http_spdy_module.
129 Изменения в nginx 1.5.7 19.11.2013
131 *) Безопасность: символ, следующий за незакодированным пробелом в строке
132 запроса, обрабатывался неправильно (CVE-2013-4547); ошибка появилась
134 Спасибо Ivan Fratric из Google Security Team.
136 *) Изменение: уровень логгирования ошибок auth_basic об отсутствии
137 пароля понижен с уровня error до info.
139 *) Добавление: директивы proxy_cache_revalidate,
140 fastcgi_cache_revalidate, scgi_cache_revalidate и
141 uwsgi_cache_revalidate.
143 *) Добавление: директива ssl_session_ticket_key.
144 Спасибо Piotr Sikora.
146 *) Исправление: директива "add_header Cache-Control ''" добавляла строку
147 заголовка ответа "Cache-Control" с пустым значением.
149 *) Исправление: директива "satisfy any" могла вернуть ошибку 403 вместо
150 401 при использовании директив auth_request и auth_basic.
151 Спасибо Jan Marc Hoffmann.
153 *) Исправление: параметры accept_filter и deferred директивы listen
154 игнорировались для listen-сокетов, создаваемых в процессе обновления
156 Спасибо Piotr Sikora.
158 *) Исправление: часть данных, полученных от бэкенда при
159 небуферизированном проксировании, могла не отправляться клиенту
160 сразу, если использовались директивы gzip или gunzip.
161 Спасибо Yichun Zhang.
163 *) Исправление: в обработке ошибок в модуле
164 ngx_http_gunzip_filter_module.
166 *) Исправление: ответы могли зависать если использовался модуль
167 ngx_http_spdy_module и директива auth_request.
169 *) Исправление: утечки памяти в nginx/Windows.
172 Изменения в nginx 1.5.6 01.10.2013
174 *) Добавление: директива fastcgi_buffering.
176 *) Добавление: директивы proxy_ssl_protocols и proxy_ssl_ciphers.
177 Спасибо Piotr Sikora.
179 *) Добавление: оптимизация SSL handshake при использовании длинных
180 цепочек сертификатов.
182 *) Добавление: почтовый прокси-сервер поддерживает SMTP pipelining.
184 *) Исправление: в модуле ngx_http_auth_basic_module при использовании
185 метода шифрования паролей "$apr1$".
186 Спасибо Markus Linnala.
188 *) Исправление: на MacOSX, Cygwin и nginx/Windows для обработки запроса
189 мог использоваться неверный location, если для задания location'ов
190 использовались символы разных регистров.
192 *) Исправление: автоматическое перенаправление с добавлением
193 завершающего слэша для проксированных location'ов могло не работать.
195 *) Исправление: в почтовом прокси-сервере.
197 *) Исправление: в модуле ngx_http_spdy_module.
200 Изменения в nginx 1.5.5 17.09.2013
202 *) Изменение: теперь nginx по умолчанию использует HTTP/1.0, если точно
203 определить протокол не удалось.
205 *) Добавление: директива disable_symlinks теперь использует O_PATH на
208 *) Добавление: для определения того, что клиент закрыл соединение, при
209 использовании метода epoll теперь используются события EPOLLRDHUP.
211 *) Исправление: в директиве valid_referers при использовании параметра
214 *) Исправление: переменная $request_time не работала в nginx/Windows.
216 *) Исправление: в директиве image_filter.
217 Спасибо Lanshun Zhou.
219 *) Исправление: совместимость с OpenSSL 1.0.1f.
220 Спасибо Piotr Sikora.
223 Изменения в nginx 1.5.4 27.08.2013
225 *) Изменение: MIME-тип для расширения js изменён на
226 "application/javascript"; значение по умолчанию директивы
227 charset_types изменено соответственно.
229 *) Изменение: теперь директива image_filter с параметром size возвращает
230 ответ с MIME-типом "application/json".
232 *) Добавление: модуль ngx_http_auth_request_module.
234 *) Исправление: на старте или во время переконфигурации мог произойти
235 segmentation fault, если использовалась директива try_files с пустым
238 *) Исправление: утечки памяти при использовании в директивах root и
239 auth_basic_user_file относительных путей, заданных с помощью
242 *) Исправление: директива valid_referers неправильно выполняла
243 регулярные выражения, если заголовок Referer начинался с "https://".
246 *) Исправление: ответы могли зависать, если использовались подзапросы и
247 при обработке подзапроса происходила ошибка во время SSL handshake с
249 Спасибо Aviram Cohen.
251 *) Исправление: в модуле ngx_http_autoindex_module.
253 *) Исправление: в модуле ngx_http_spdy_module.
256 Изменения в nginx 1.5.3 30.07.2013
258 *) Изменение во внутреннем API: теперь при небуферизированной работе с
259 бэкендами u->length по умолчанию устанавливается в -1.
261 *) Изменение: теперь при получении неполного ответа от бэкенда nginx
262 отправляет полученную часть ответа, после чего закрывает соединение с
265 *) Исправление: в рабочем процессе мог произойти segmentation fault,
266 если использовался модуль ngx_http_spdy_module и директива
267 client_body_in_file_only.
269 *) Исправление: параметр so_keepalive директивы listen мог работать
270 некорректно на DragonFlyBSD.
271 Спасибо Sepherosa Ziehau.
273 *) Исправление: в модуле ngx_http_xslt_filter_module.
275 *) Исправление: в модуле ngx_http_sub_filter_module.
278 Изменения в nginx 1.5.2 02.07.2013
280 *) Добавление: теперь можно использовать несколько директив error_log.
282 *) Исправление: метод $r->header_in() встроенного перла не возвращал
283 значения строк "Cookie" и "X-Forwarded-For" из заголовка запроса;
284 ошибка появилась в 1.3.14.
286 *) Исправление: в модуле ngx_http_spdy_module.
289 *) Исправление: nginx не собирался на Linux при использовании x32 ABI.
290 Спасибо Сергею Иванцову.
293 Изменения в nginx 1.5.1 04.06.2013
295 *) Добавление: директивы ssi_last_modified, sub_filter_last_modified и
297 Спасибо Алексею Колпакову.
299 *) Добавление: параметр http_403 в директивах proxy_next_upstream,
300 fastcgi_next_upstream, scgi_next_upstream и uwsgi_next_upstream.
302 *) Добавление: директивы allow и deny теперь поддерживают unix domain
305 *) Исправление: nginx не собирался с модулем ngx_mail_ssl_module, но без
306 модуля ngx_http_ssl_module; ошибка появилась в 1.3.14.
308 *) Исправление: в директиве proxy_set_body.
309 Спасибо Lanshun Zhou.
311 *) Исправление: в директиве lingering_time.
312 Спасибо Lanshun Zhou.
314 *) Исправление: параметр fail_timeout директивы server в блоке upstream
315 мог не работать, если использовался параметр max_fails; ошибка
318 *) Исправление: в рабочем процессе мог произойти segmentation fault,
319 если использовалась директива ssl_stapling.
320 Спасибо Piotr Sikora.
322 *) Исправление: в почтовом прокси-сервере.
323 Спасибо Filipe Da Silva.
325 *) Исправление: nginx/Windows мог перестать принимать соединения, если
326 использовалось несколько рабочих процессов.
329 Изменения в nginx 1.5.0 07.05.2013
331 *) Безопасность: при обработке специально созданного запроса мог
332 перезаписываться стек рабочего процесса, что могло приводить к
333 выполнению произвольного кода (CVE-2013-2028); ошибка появилась в
335 Спасибо Greg MacManus, iSIGHT Partners Labs.
338 Изменения в nginx 1.4.0 24.04.2013
340 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
341 использовался параметр --with-openssl; ошибка появилась в 1.3.16.
343 *) Исправление: в работе с телом запроса из модуля ngx_http_perl_module;
344 ошибка появилась в 1.3.9.
347 Изменения в nginx 1.3.16 16.04.2013
349 *) Исправление: в рабочем процессе мог произойти segmentation fault,
350 если использовались подзапросы; ошибка появилась в 1.3.9.
352 *) Исправление: директива tcp_nodelay вызывала ошибку при проксировании
353 WebSocket-соединений в unix domain сокет.
355 *) Исправление: переменная $upstream_response_length возвращала значение
356 "0", если не использовалась буферизация.
357 Спасибо Piotr Sikora.
359 *) Исправление: в методах обработки соединений eventport и /dev/poll.
362 Изменения в nginx 1.3.15 26.03.2013
364 *) Изменение: открытие и закрытие соединения без отправки в нём
365 каких-либо данных больше не записывается в access_log с кодом ошибки
368 *) Добавление: модуль ngx_http_spdy_module.
369 Спасибо Automattic за спонсирование разработки.
371 *) Добавление: директивы limit_req_status и limit_conn_status.
374 *) Добавление: директива image_filter_interlace.
375 Спасибо Ивану Боброву.
377 *) Добавление: переменная $connections_waiting в модуле
378 ngx_http_stub_status_module.
380 *) Добавление: теперь почтовый прокси-сервер поддерживает IPv6-бэкенды.
382 *) Исправление: при повторной отправке запроса на бэкенд тело запроса
383 могло передаваться неправильно; ошибка появилась в 1.3.9.
384 Спасибо Piotr Sikora.
386 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
389 *) Исправление: ответы могли зависать, если использовались подзапросы и
390 при обработке подзапроса происходила DNS-ошибка.
391 Спасибо Lanshun Zhou.
393 *) Исправление: в процедуре учёта использования бэкендов.
396 Изменения в nginx 1.3.14 05.03.2013
398 *) Добавление: переменные $connections_active, $connections_reading и
399 $connections_writing в модуле ngx_http_stub_status_module.
401 *) Добавление: поддержка WebSocket-соединений в модулях
402 ngx_http_uwsgi_module и ngx_http_scgi_module.
404 *) Исправление: в обработке виртуальных серверов при использовании SNI.
406 *) Исправление: при использовании директивы "ssl_session_cache shared"
407 новые сессии могли не сохраняться, если заканчивалось место в
409 Спасибо Piotr Sikora.
411 *) Исправление: несколько заголовков X-Forwarded-For обрабатывались
413 Спасибо Neal Poole за спонсирование разработки.
415 *) Исправление: в модуле ngx_http_mp4_module.
416 Спасибо Gernot Vormayr.
419 Изменения в nginx 1.3.13 19.02.2013
421 *) Изменение: теперь для сборки по умолчанию используется компилятор с
424 *) Добавление: поддержка проксирования WebSocket-соединений.
425 Спасибо Apcera и CloudBees за спонсирование разработки.
427 *) Добавление: директива auth_basic_user_file поддерживает шифрование
428 паролей методом "{SHA}".
432 Изменения в nginx 1.3.12 05.02.2013
434 *) Добавление: директивы proxy_bind, fastcgi_bind, memcached_bind,
435 scgi_bind и uwsgi_bind поддерживают переменные.
437 *) Добавление: переменные $pipe, $request_length, $time_iso8601 и
438 $time_local теперь можно использовать не только в директиве
440 Спасибо Kiril Kalchev.
442 *) Добавление: поддержка IPv6 в модуле ngx_http_geoip_module.
443 Спасибо Gregor Kališnik.
445 *) Исправление: директива proxy_method работала неверно, если была
446 указана на уровне http.
448 *) Исправление: в рабочем процессе мог произойти segmentation fault,
449 если использовался resolver и метод poll.
451 *) Исправление: nginx мог нагружать процессор во время SSL handshake с
452 бэкендом при использовании методов обработки соединений select, poll
455 *) Исправление: ошибка "[crit] SSL_write() failed (SSL:)".
457 *) Исправление: в директиве client_body_in_file_only; ошибка появилась в
460 *) Исправление: в директиве fastcgi_keep_conn.
463 Изменения в nginx 1.3.11 10.01.2013
465 *) Исправление: при записи в лог мог происходить segmentation fault;
466 ошибка появилась в 1.3.10.
468 *) Исправление: директива proxy_pass не работала с IP-адресами без
469 явного указания порта; ошибка появилась в 1.3.10.
471 *) Исправление: на старте или во время переконфигурации происходил
472 segmentation fault, если директива keepalive была указана несколько
473 раз в одном блоке upstream.
475 *) Исправление: параметр default директивы geo не определял значение по
476 умолчанию для IPv6-адресов.
479 Изменения в nginx 1.3.10 25.12.2012
481 *) Изменение: для указанных в конфигурационном файле доменных имён
482 теперь используются не только IPv4, но и IPv6 адреса.
484 *) Изменение: теперь при использовании директивы include с маской на
485 Unix-системах включаемые файлы сортируются в алфавитном порядке.
487 *) Изменение: директива add_header добавляет строки в ответы с кодом
490 *) Добавление: директива geo теперь поддерживает IPv6 адреса в формате
493 *) Добавление: параметры flush и gzip в директиве access_log.
495 *) Добавление: директива auth_basic поддерживает переменные.
497 *) Исправление: nginx в некоторых случаях не собирался с модулем
498 ngx_http_perl_module.
500 *) Исправление: в рабочем процессе мог произойти segmentation fault,
501 если использовался модуль ngx_http_xslt_module.
503 *) Исправление: nginx мог не собираться на MacOSX.
504 Спасибо Piotr Sikora.
506 *) Исправление: при использовании директивы limit_rate с большими
507 значениями скорости на 32-битных системах ответ мог возвращаться не
509 Спасибо Алексею Антропову.
511 *) Исправление: в рабочем процессе мог произойти segmentation fault,
512 если использовалась директива if.
513 Спасибо Piotr Sikora.
515 *) Исправление: ответ "100 Continue" выдавался вместе с ответом "413
516 Request Entity Too Large".
518 *) Исправление: директивы image_filter, image_filter_jpeg_quality и
519 image_filter_sharpen могли наследоваться некорректно.
520 Спасибо Ивану Боброву.
522 *) Исправление: при использовании директивы auth_basic под Linux могли
523 возникать ошибки "crypt_r() failed".
525 *) Исправление: в обработке backup-серверов.
528 *) Исправление: при проксировании HEAD-запросов мог возвращаться
529 некорректный ответ, если использовалась директива gzip.
532 Изменения в nginx 1.3.9 27.11.2012
534 *) Добавление: поддержка chunked transfer encoding при получении тела
537 *) Добавление: переменные $request_time и $msec теперь можно
538 использовать не только в директиве log_format.
540 *) Исправление: cache manager и cache loader могли не запускаться, если
541 использовалось более 512 listen-сокетов.
543 *) Исправление: в модуле ngx_http_dav_module.
546 Изменения в nginx 1.3.8 30.10.2012
548 *) Добавление: параметр optional_no_ca директивы ssl_verify_client.
549 Спасибо Михаилу Казанцеву и Eric O'Connor.
551 *) Добавление: переменные $bytes_sent, $connection и
552 $connection_requests теперь можно использовать не только в директиве
554 Спасибо Benjamin Grössing.
556 *) Добавление: параметр auto директивы worker_processes.
558 *) Исправление: сообщения "cache file ... has md5 collision".
560 *) Исправление: в модуле ngx_http_gunzip_filter_module.
562 *) Исправление: в директиве ssl_stapling.
565 Изменения в nginx 1.3.7 02.10.2012
567 *) Добавление: поддержка OCSP stapling.
568 Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки.
570 *) Добавление: директива ssl_trusted_certificate.
572 *) Добавление: теперь resolver случайным образом меняет порядок
573 возвращаемых закэшированных адресов.
574 Спасибо Антону Жулину.
576 *) Исправление: совместимость с OpenSSL 0.9.7.
579 Изменения в nginx 1.3.6 12.09.2012
581 *) Добавление: модуль ngx_http_gunzip_filter_module.
583 *) Добавление: директива memcached_gzip_flag.
585 *) Добавление: параметр always директивы gzip_static.
587 *) Исправление: в директиве "limit_req"; ошибка появилась в 1.1.14.
588 Спасибо Charles Chen.
590 *) Исправление: nginx не собирался gcc 4.7 с оптимизацией -O2 если
591 использовался параметр --with-ipv6.
594 Изменения в nginx 1.3.5 21.08.2012
596 *) Изменение: модуль ngx_http_mp4_module больше не отфильтровывает
597 дорожки в форматах, отличных от H.264 и AAC.
599 *) Исправление: в рабочем процессе мог произойти segmentation fault,
600 если в директиве map в качестве значений использовались переменные.
602 *) Исправление: в рабочем процессе мог произойти segmentation fault при
603 использовании директивы geo с параметром ranges, но без параметра
604 default; ошибка появилась в 0.8.43.
605 Спасибо Zhen Chen и Weibin Yao.
607 *) Исправление: в обработке параметра командной строки -p.
609 *) Исправление: в почтовом прокси-сервере.
611 *) Исправление: незначительных потенциальных ошибок.
614 *) Исправление: nginx/Windows не собирался с Visual Studio 2005 Express.
615 Спасибо HAYASHI Kentaro.
618 Изменения в nginx 1.3.4 31.07.2012
620 *) Изменение: теперь на слушающих IPv6-сокетах параметр ipv6only включён
623 *) Добавление: поддержка компилятора Clang.
625 *) Исправление: могли создаваться лишние слушающие сокеты.
626 Спасибо Роману Одайскому.
628 *) Исправление: nginx/Windows мог нагружать процессор, если при запуске
629 рабочего процесса происходила ошибка.
630 Спасибо Ricardo Villalobos Guevara.
632 *) Исправление: директивы proxy_pass_header, fastcgi_pass_header,
633 scgi_pass_header, uwsgi_pass_header, proxy_hide_header,
634 fastcgi_hide_header, scgi_hide_header и uwsgi_hide_header могли
635 наследоваться некорректно.
638 Изменения в nginx 1.3.3 10.07.2012
640 *) Добавление: поддержка entity tags и директива etag.
642 *) Исправление: при использовании директивы map с параметром hostnames
643 не игнорировалась конечная точка в исходном значении.
645 *) Исправление: для обработки запроса мог использоваться неверный
646 location, если переход в именованный location происходил после
647 изменения URI с помощью директивы rewrite.
650 Изменения в nginx 1.3.2 26.06.2012
652 *) Изменение: параметр single директивы keepalive теперь игнорируется.
654 *) Изменение: сжатие SSL теперь отключено в том числе при использовании
655 OpenSSL cтарее 1.0.0.
657 *) Добавление: директиву "ip_hash" теперь можно использовать для
658 балансировки IPv6 клиентов.
660 *) Добавление: переменную $status теперь можно использовать не только в
661 директиве log_format.
663 *) Исправление: при завершении рабочего процесса мог произойти
664 segmentation fault, если использовалась директива resolver.
666 *) Исправление: в рабочем процессе мог произойти segmentation fault,
667 если использовался модуль ngx_http_mp4_module.
669 *) Исправление: в модуле ngx_http_mp4_module.
671 *) Исправление: в рабочем процессе мог произойти segmentation fault,
672 если использовались конфликтующие имена серверов с масками.
674 *) Исправление: на платформе ARM nginx мог аварийно завершаться по
677 *) Исправление: во время переконфигурации на HP-UX в лог записывался
678 alert "sendmsg() failed (9: Bad file number)".
681 Изменения в nginx 1.3.1 05.06.2012
683 *) Безопасность: теперь nginx/Windows игнорирует точку в конце
684 компонента URI и не разрешает URI, содержащие последовательность
686 Спасибо Владимиру Кочеткову, Positive Research Center.
688 *) Добавление: директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass
689 и директива server в блоке upstream теперь поддерживают IPv6-адреса.
691 *) Добавление: в директиве resolver теперь можно указывать порт и
692 задавать IPv6-адреса DNS-серверов.
694 *) Добавление: директива least_conn в блоке upstream.
696 *) Добавление: при использовании директивы ip_hash теперь можно задавать
699 *) Исправление: в рабочем процессе мог произойти segmentation fault,
700 если использовалась директива image_filter; ошибка появилась в 1.3.0.
702 *) Исправление: nginx не собирался с модулем ngx_cpp_test_module; ошибка
705 *) Исправление: доступ к переменным из SSI и встроенного перла мог не
706 работать после переконфигурации.
707 Спасибо Yichun Zhang.
709 *) Исправление: в модуле ngx_http_xslt_filter_module.
710 Спасибо Kuramoto Eiji.
712 *) Исправление: утечки памяти при использовании переменной $geoip_org.
713 Спасибо Денису Латыпову.
715 *) Исправление: в директивах proxy_cookie_domain и proxy_cookie_path.
718 Изменения в nginx 1.3.0 15.05.2012
720 *) Добавление: директива debug_connection теперь поддерживает
721 IPv6-адреса и параметр "unix:".
723 *) Добавление: директива set_real_ip_from и параметр proxy директивы geo
724 теперь поддерживают IPv6-адреса.
726 *) Добавление: директивы real_ip_recursive, geoip_proxy и
727 geoip_proxy_recursive.
729 *) Добавление: параметр proxy_recursive директивы geo.
731 *) Исправление: в рабочем процессе мог произойти segmentation fault,
732 если использовалась директива resolver.
734 *) Исправление: в рабочем процессе мог произойти segmentation fault,
735 если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass
736 и бэкенд возвращал некорректный ответ.
738 *) Исправление: в рабочем процессе мог произойти segmentation fault,
739 если использовалась директива rewrite и в новых аргументах запроса в
740 строке замены использовались переменные.
742 *) Исправление: nginx мог нагружать процессор, если было достигнуто
743 ограничение на количество открытых файлов.
745 *) Исправление: при использовании директивы proxy_next_upstream с
746 параметром http_404 nginx мог бесконечно перебирать бэкенды, если в
747 блоке upstream был хотя бы один сервер с флагом backup.
749 *) Исправление: при использовании директивы ip_hash установка параметра
750 down директивы server могла приводить к ненужному перераспределению
751 клиентов между бэкендами.
753 *) Исправление: утечки сокетов.
754 Спасибо Yichun Zhang.
756 *) Исправление: в модуле ngx_http_fastcgi_module.
759 Изменения в nginx 1.2.0 23.04.2012
761 *) Исправление: в рабочем процессе мог произойти segmentation fault,
762 если использовалась директива try_files; ошибка появилась в 1.1.19.
764 *) Исправление: ответ мог быть передан не полностью, если использовалось
765 больше IOV_MAX буферов.
767 *) Исправление: в работе параметра crop директивы image_filter.
768 Спасибо Maxim Bublis.
771 Изменения в nginx 1.1.19 12.04.2012
773 *) Безопасность: при обработке специально созданного mp4 файла модулем
774 ngx_http_mp4_module могли перезаписываться области памяти рабочего
775 процесса, что могло приводить к выполнению произвольного кода
777 Спасибо Matthew Daley.
779 *) Исправление: nginx/Windows мог завершаться аварийно.
782 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
783 были помечены флагом backup.
785 *) Исправление: директивы allow и deny могли наследоваться некорректно,
786 если в них использовались IPv6 адреса.
788 *) Исправление: директивы modern_browser и ancient_browser могли
789 наследоваться некорректно.
791 *) Исправление: таймауты могли работать некорректно на Solaris/SPARC.
793 *) Исправление: в модуле ngx_http_mp4_module.
796 Изменения в nginx 1.1.18 28.03.2012
798 *) Изменение: теперь keepalive соединения не запрещены для Safari по
801 *) Добавление: переменная $connection_requests.
803 *) Добавление: переменные $tcpinfo_rtt, $tcpinfo_rttvar,
804 $tcpinfo_snd_cwnd и $tcpinfo_rcv_space.
806 *) Добавление: директива worker_cpu_affinity теперь работает на FreeBSD.
808 *) Добавление: директивы xslt_param и xslt_string_param.
809 Спасибо Samuel Behan.
811 *) Исправление: в configure.
812 Спасибо Piotr Sikora.
814 *) Исправление: в модуле ngx_http_xslt_filter_module.
816 *) Исправление: nginx не собирался на Debian GNU/Hurd.
819 Изменения в nginx 1.1.17 15.03.2012
821 *) Безопасность: содержимое ранее освобождённой памяти могло быть
822 отправлено клиенту, если бэкенд возвращал специально созданный ответ.
823 Спасибо Matthew Daley.
825 *) Исправление: при использовании встроенного перла из SSI.
826 Спасибо Matthew Daley.
828 *) Исправление: в модуле ngx_http_uwsgi_module.
831 Изменения в nginx 1.1.16 29.02.2012
833 *) Изменение: ограничение на количество одновременных подзапросов
836 *) Добавление: параметр from в директиве disable_symlinks.
838 *) Добавление: директивы return и error_page теперь могут использоваться
839 для возврата перенаправлений с кодом 307.
841 *) Исправление: в рабочем процессе мог произойти segmentation fault,
842 если использовалась директива resolver и на глобальном уровне не была
843 задана директива error_log.
844 Спасибо Роману Арутюняну.
846 *) Исправление: в рабочем процессе мог произойти segmentation fault,
847 если использовались директивы "proxy_http_version 1.1" или
848 "fastcgi_keep_conn on".
850 *) Исправление: утечек памяти.
851 Спасибо Lanshun Zhou.
853 *) Исправление: в директиве disable_symlinks.
855 *) Исправление: при использовании ZFS размер кэша на диске мог считаться
856 некорректно; ошибка появилась в 1.0.1.
858 *) Исправление: nginx не собирался компилятором icc 12.1.
860 *) Исправление: nginx не собирался gcc на Solaris; ошибка появилась в
864 Изменения в nginx 1.1.15 15.02.2012
866 *) Добавление: директива disable_symlinks.
868 *) Добавление: директивы proxy_cookie_domain и proxy_cookie_path.
870 *) Исправление: nginx мог некорректно сообщать об ошибке "upstream
871 prematurely closed connection" вместо "upstream sent too big header".
874 *) Исправление: nginx не собирался с модулем ngx_http_perl_module, если
875 использовался параметр --with-openssl.
877 *) Исправление: количество внутренних перенаправлений в именованные
878 location'ы не ограничивалось.
880 *) Исправление: вызов $r->flush() несколько раз подряд мог приводить к
881 ошибкам в модуле ngx_http_gzip_filter_module.
883 *) Исправление: при использовании директивы proxy_store с
884 SSI-подзапросами временные файлы могли не удаляться.
886 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
887 $args) возвращали старое пустое закэшированное значение.
889 *) Исправление: в рабочем процессе мог произойти segmentation fault,
890 если одновременно создавалось слишком много SSI-подзапросов; ошибка
894 Изменения в nginx 1.1.14 30.01.2012
896 *) Добавление: теперь можно указать несколько ограничений limit_req
899 *) Исправление: в обработке ошибок при соединении с бэкендом.
900 Спасибо Piotr Sikora.
902 *) Исправление: в обработке ошибок при использовании AIO на FreeBSD.
904 *) Исправление: в инициализации библиотеки OpenSSL.
906 *) Исправление: директивы proxy_redirect могли наследоваться
909 *) Исправление: утечки памяти при переконфигурации, если использовалась
913 Изменения в nginx 1.1.13 16.01.2012
915 *) Добавление: параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols.
917 *) Исправление: параметры директивы limit_req наследовались некорректно;
918 ошибка появилась в 1.1.12.
920 *) Исправление: директива proxy_redirect некорректно обрабатывала
921 заголовок Refresh при использовании регулярных выражений.
923 *) Исправление: директива proxy_cache_use_stale с параметром error не
924 возвращала ответ из кэша, если все бэкенды были признаны
927 *) Исправление: директива worker_cpu_affinity могла не работать.
929 *) Исправление: nginx не собирался на Solaris; ошибка появилась в
932 *) Исправление: в модуле ngx_http_mp4_module.
935 Изменения в nginx 1.1.12 26.12.2011
937 *) Изменение: после перенаправления запроса с помощью директивы
938 error_page директива proxy_pass без URI теперь использует изменённый
940 Спасибо Lanshun Zhou.
942 *) Добавление: директивы proxy/fastcgi/scgi/uwsgi_cache_lock,
943 proxy/fastcgi/scgi/uwsgi_cache_lock_timeout.
945 *) Добавление: директива pcre_jit.
947 *) Добавление: SSI команда if поддерживает выделения в регулярных
950 *) Исправление: SSI команда if не работала внутри команды block.
952 *) Исправление: директивы limit_conn_log_level и limit_req_log_level
955 *) Исправление: директива limit_rate не позволяла передавать на полной
956 скорости, даже если был указан очень большой лимит.
958 *) Исправление: директива sendfile_max_chunk не работала, если
959 использовалась директива limit_rate.
961 *) Исправление: если в директиве proxy_pass использовались переменные и
962 не был указан URI, всегда использовался URI исходного запроса.
964 *) Исправление: после перенаправления запроса с помощью директивы
965 try_files директива proxy_pass без URI могла использовать URI
967 Спасибо Lanshun Zhou.
969 *) Исправление: в модуле ngx_http_scgi_module.
971 *) Исправление: в модуле ngx_http_mp4_module.
973 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.1.9.
976 Изменения в nginx 1.1.11 12.12.2011
978 *) Добавление: параметр so_keepalive в директиве listen.
979 Спасибо Всеволоду Стахову.
981 *) Добавление: параметр if_not_empty в директивах
982 fastcgi/scgi/uwsgi_param.
984 *) Добавление: переменная $https.
986 *) Добавление: директива proxy_redirect поддерживает переменные в первом
989 *) Добавление: директива proxy_redirect поддерживает регулярные
992 *) Исправление: переменная $sent_http_cache_control могла содержать
993 неверное значение при использовании директивы expires.
994 Спасибо Yichun Zhang.
996 *) Исправление: директива read_ahead могла не работать при использовании
997 совместно с try_files и open_file_cache.
999 *) Исправление: если в параметре inactive директивы proxy_cache_path
1000 было указано малое время, в рабочем процессе мог произойти
1003 *) Исправление: ответы из кэша могли зависать.
1006 Изменения в nginx 1.1.10 30.11.2011
1008 *) Исправление: при использовании AIO на Linux в рабочем процессе
1009 происходил segmentation fault; ошибка появилась в 1.1.9.
1012 Изменения в nginx 1.1.9 28.11.2011
1014 *) Изменение: теперь двойные кавычки экранируется при выводе
1016 Спасибо Зауру Абасмирзоеву.
1018 *) Добавление: параметр valid в директиве resolver. По умолчанию теперь
1019 используется TTL, возвращённый DNS-сервером.
1020 Спасибо Кириллу Коринскому.
1022 *) Исправление: nginx мог перестать отвечать, если рабочий процесс
1023 завершался аварийно.
1025 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1026 если использовалось SNI; ошибка появилась в 1.1.2.
1028 *) Исправление: в директиве keepalive_disable; ошибка появилась в 1.1.8.
1029 Спасибо Александру Усову.
1031 *) Исправление: сигнал SIGWINCH переставал работать после первого
1032 обновления исполняемого файла; ошибка появилась в 1.1.1.
1034 *) Исправление: теперь ответы бэкендов, длина которых не соответствует
1035 заголовку Content-Length, не кэширутся.
1037 *) Исправление: в директиве scgi_param при использовании составных
1040 *) Исправление: в методе epoll.
1041 Спасибо Yichun Zhang.
1043 *) Исправление: в модуле ngx_http_flv_module.
1044 Спасибо Piotr Sikora.
1046 *) Исправление: в модуле ngx_http_mp4_module.
1048 *) Исправление: теперь nginx понимает IPv6-адреса в строке запроса и в
1051 *) Исправление: директивы add_header и expires не работали для ответов с
1052 кодом 206, если запрос проксировался.
1054 *) Исправление: nginx не собирался на FreeBSD 10.
1056 *) Исправление: nginx не собирался на AIX.
1059 Изменения в nginx 1.1.8 14.11.2011
1061 *) Изменение: модуль ngx_http_limit_zone_module переименован в
1062 ngx_http_limit_conn_module.
1064 *) Изменение: директива limit_zone заменена директивой limit_conn_zone с
1067 *) Добавление: поддержка ограничения по нескольким limit_conn на одном
1070 *) Добавление: директива image_filter_sharpen.
1072 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1073 если resolver получил большой DNS-ответ.
1076 *) Исправление: в вычислении ключа для кэширования, если использовалась
1077 внутренняя реализация MD5; ошибка появилась в 1.0.4.
1079 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1080 заголовке запроса клиента могли передаваться бэкенду при кэшировании;
1081 или не передаваться при выключенном кэшировании, если кэширование
1082 было включено в другой части конфигурации.
1084 *) Исправление: модуль ngx_http_mp4_module выдавал неверную строку
1085 "Content-Length" в заголовке ответа, использовался аргумент start.
1086 Спасибо Piotr Sikora.
1089 Изменения в nginx 1.1.7 31.10.2011
1091 *) Добавление: поддержка нескольких DNS серверов в директиве "resolver".
1092 Спасибо Кириллу Коринскому.
1094 *) Исправление: на старте или во время переконфигурации происходил
1095 segmentation fault, если директива ssl использовалась на уровне http
1096 и не был указан ssl_certificate.
1098 *) Исправление: уменьшено потребление памяти при проксировании больших
1099 файлов, если они буферизировались на диск.
1101 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1102 если использовалась директива "proxy_http_version 1.1".
1104 *) Исправление: в директиве "expires @time".
1107 Изменения в nginx 1.1.6 17.10.2011
1109 *) Изменение во внутреннем API: теперь при внутреннем редиректе в
1110 именованный location контексты модулей очищаются.
1111 По запросу Yichun Zhang.
1113 *) Изменение: теперь если сервер, описанный в блоке upstream, был
1114 признан неработающим, то после истечения fail_timeout на него будет
1115 отправлен только один запрос; сервер будет считаться работающим, если
1116 успешно ответит на этот запрос.
1118 *) Изменение: теперь символы 0x7F-0xFF в access_log записываются в виде
1121 *) Добавление: директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers"
1122 теперь поддерживают значения X-Accel-Limit-Rate, X-Accel-Buffering и
1125 *) Добавление: уменьшение потребления памяти при использовании SSL.
1127 *) Исправление: некоторые UTF-8 символы обрабатывались неправильно.
1128 Спасибо Алексею Куцу.
1130 *) Исправление: директивы модуля ngx_http_rewrite_module, заданные на
1131 уровне server, применялись повторно, если для запроса не находилось
1132 ни одного location'а.
1134 *) Исправление: при использовании "aio sendfile" могла происходить
1137 *) Исправление: при использовании файлового AIO соединения с быстрыми
1138 клиентами могли быть закрыты по истечению send_timeout.
1140 *) Исправление: в модуле ngx_http_autoindex_module.
1142 *) Исправление: модуль ngx_http_mp4_module не поддерживал перемотку на
1143 32-битных платформах.
1146 Изменения в nginx 1.1.5 05.10.2011
1148 *) Добавление: директивы uwsgi_buffering и scgi_buffering.
1151 *) Исправление: при использовании proxy_cache_bypass могли быть
1152 закэшированы некэшируемые ответы.
1153 Спасибо John Ferlito.
1155 *) Исправление: в модуле ngx_http_proxy_module при работе с бэкендами по
1158 *) Исправление: закэшированные ответы с пустым телом возвращались
1159 некорректно; ошибка появилась в 0.8.31.
1161 *) Исправление: ответы с кодом 201 модуля ngx_http_dav_module были
1162 некорректны; ошибка появилась в 0.8.32.
1164 *) Исправление: в директиве return.
1166 *) Исправление: при использовании директивы "ssl_session_cache builtin"
1167 происходил segmentation fault; ошибка появилась в 1.1.1.
1170 Изменения в nginx 1.1.4 20.09.2011
1172 *) Добавление: модуль ngx_http_upstream_keepalive.
1174 *) Добавление: директива proxy_http_version.
1176 *) Добавление: директива fastcgi_keep_conn.
1178 *) Добавление: директива worker_aio_requests.
1180 *) Исправление: если nginx был собран с файловым AIO, он не мог
1181 запускаться на Linux без поддержки AIO.
1183 *) Исправление: в обработке ошибок при работе с Linux AIO.
1184 Спасибо Hagai Avrahami.
1186 *) Исправление: уменьшено потребление памяти для долгоживущих запросов.
1188 *) Исправление: модуль ngx_http_mp4_module не поддерживал 64-битный
1192 Изменения в nginx 1.1.3 14.09.2011
1194 *) Добавление: модуль ngx_http_mp4_module.
1196 *) Исправление: в Linux AIO, используемым совместно с open_file_cache.
1198 *) Исправление: open_file_cache не обновлял информацию о файле, если
1199 файл был изменён не атомарно.
1201 *) Исправление: nginx не собирался на MacOSX 10.7.
1204 Изменения в nginx 1.1.2 05.09.2011
1206 *) Изменение: теперь, если суммарный размер всех диапазонов больше
1207 размера исходного ответа, то nginx возвращает только исходный ответ,
1208 не обрабатывая диапазоны.
1210 *) Добавление: директива max_ranges.
1212 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
1213 ssl_prefer_server_cipher могли работать некорректно, если
1216 *) Исправление: в директивах proxy/fastcgi/scgi/
1217 uwsgi_ignore_client_abort.
1220 Изменения в nginx 1.1.1 22.08.2011
1222 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
1223 число файлов, указанное в параметре load_files, либо работает не
1224 дольше времени, указанного в параметре loader_threshold.
1226 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
1228 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
1230 Спасибо Денису Иванову.
1232 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
1234 *) Исправление: nginx не собирался на Linux 3.0.
1236 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
1239 *) Исправление: обработка тела запроса могла быть неверной, если клиент
1240 использовал pipelining.
1242 *) Исправление: в директиве request_body_in_single_buf.
1244 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
1245 при использовании SSL-соединения с бэкендом.
1247 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
1248 были помечены флагом down.
1250 *) Исправление: при переконфигурации мог произойти segmentation fault,
1251 если в предыдущей конфигурации был определён, но не использовался
1254 *) Исправление: при использовании большого количества backup-серверов в
1255 рабочем процессе мог произойти segmentation fault.
1257 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
1258 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
1259 произойти segmentation fault; ошибка появилась в 0.8.40.
1262 Изменения в nginx 1.1.0 01.08.2011
1264 *) Добавление: уменьшение времени работы загрузчика кэша.
1266 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
1267 директив proxy/fastcgi/scgi/uwsgi_cache_path.
1269 *) Добавление: уменьшение времени загрузки конфигураций с большим
1270 количеством HTTPS серверов.
1272 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
1273 Спасибо Adrian Kotelba.
1275 *) Добавление: директива lingering_close.
1276 Спасибо Максиму Дунину.
1278 *) Исправление: закрытия соединения для pipelined-запросов.
1279 Спасибо Максиму Дунину.
1281 *) Исправление: nginx не запрещал сжатие при получении значения
1282 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
1284 *) Исправление: таймаута при небуферизированном проксировании.
1285 Спасибо Максиму Дунину.
1287 *) Исправление: утечки памяти при использовании переменных в директиве
1288 proxy_pass при работе с бэкендом по HTTPS.
1289 Спасибо Максиму Дунину.
1291 *) Исправление: в проверке параметра директивы proxy_pass, заданного
1293 Спасибо Lanshun Zhou.
1295 *) Исправление: SSL не работал на QNX.
1296 Спасибо Максиму Дунину.
1298 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
1302 Изменения в nginx 1.0.5 19.07.2011
1304 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
1306 Спасибо Rob Stradling.
1308 *) Добавление: директивы referer_hash_max_size и
1309 referer_hash_bucket_size.
1310 Спасибо Witold Filipczyk.
1312 *) Добавление: переменная $uid_reset.
1314 *) Исправление: при использовании кэширования в рабочем процессе мог
1315 произойти segmentation fault.
1316 Спасибо Lanshun Zhou.
1318 *) Исправление: при использовании кэширования рабочие процессы могли
1319 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1320 Спасибо Максиму Дунину.
1322 *) Исправление: сообщения "stalled cache updating".
1323 Спасибо Максиму Дунину.
1326 Изменения в nginx 1.0.4 01.06.2011
1328 *) Изменение: теперь в регулярных выражениях в директиве map можно
1329 задать чувствительность к регистру с помощью префиксов "~" и "~*".
1331 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
1333 Спасибо Денису Латыпову.
1335 *) Исправление: сообщения "stalled cache updating".
1337 *) Исправление: nginx не собирался с параметром
1338 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
1341 Изменения в nginx 1.0.3 25.05.2011
1343 *) Добавление: директива auth_basic_user_file поддерживает шифрование
1344 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
1345 Спасибо Максиму Дунину.
1347 *) Добавление: директива geoip_org и переменная $geoip_org.
1348 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
1350 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
1351 поддерживают адреса IPv4, отображённые на IPv6 адреса.
1353 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
1354 рабочем процессе происходил segmentation fault, если директивы access
1355 или deny были определены только для адресов IPv6; ошибка появилась в
1358 *) Исправление: закэшированный ответ мог быть испорчен, если значения
1359 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
1360 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
1363 Изменения в nginx 1.0.2 10.05.2011
1365 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX.
1367 *) Исправление: в работе параметра rotate директивы image_filter.
1370 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
1373 Изменения в nginx 1.0.1 03.05.2011
1375 *) Изменение: теперь директива split_clients использует алгоритм
1376 MurmurHash2 из-за лучшего распределения.
1377 Спасибо Олегу Мамонтову.
1379 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
1381 Спасибо Максиму Дунину.
1383 *) Изменение: теперь по умолчанию nginx использует значение 511 для
1384 listen backlog на Linux.
1386 *) Добавление: переменные $upstream_... можно использовать в SSI и
1389 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
1390 Спасибо Олегу Мамонтову.
1392 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
1393 segmentation fault; ошибка появилась в 0.8.22.
1394 Спасибо Максиму Дунину.
1396 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
1398 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
1400 Спасибо Dagobert Michelsen.
1402 *) Исправление: переменная $request_time имела неверные значения, если
1403 использовались подзапросы; ошибка появилась в 0.8.47.
1404 Спасибо Игорю А. Валькову.
1407 Изменения в nginx 1.0.0 12.04.2011
1409 *) Исправление: cache manager мог нагружать процессор после
1411 Спасибо Максиму Дунину.
1413 *) Исправление: директива "image_filter crop" неправильно работала в
1414 сочетании с "image_filter rotate 180".
1416 *) Исправление: директива "satisfy any" запрещала выдачу
1417 пользовательской страницы для 401 кода.
1420 Изменения в nginx 0.9.7 04.04.2011
1422 *) Добавление: теперь соединения в состоянии keepalive могут быть
1423 закрыты преждевременно, если у воркера нет свободных соединений.
1424 Спасибо Максиму Дунину.
1426 *) Добавление: параметр rotate директивы image_filter.
1429 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
1430 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
1434 Изменения в nginx 0.9.6 21.03.2011
1436 *) Добавление: директива map поддерживает регулярные выражения в
1437 качестве значения первого параметра.
1439 *) Добавление: переменная $time_iso8601 для access_log.
1440 Спасибо Michael Lustfield.
1443 Изменения в nginx 0.9.5 21.02.2011
1445 *) Изменение: теперь по умолчанию nginx использует значение -1 для
1446 listen backlog на Linux.
1447 Спасибо Андрею Нигматулину.
1449 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
1450 Спасибо Денису Латыпову.
1452 *) Исправление: исправление в умолчательной директиве proxy_redirect,
1453 если в директиве proxy_pass не был описан URI.
1454 Спасибо Максиму Дунину.
1456 *) Исправление: директива error_page не работала с нестандартными кодами
1457 ошибок; ошибка появилась в 0.8.53.
1458 Спасибо Максиму Дунину.
1461 Изменения в nginx 0.9.4 21.01.2011
1463 *) Добавление: директива server_name поддерживает переменную $hostname.
1465 *) Добавление: 494 код для ошибки "Request Header Too Large".
1468 Изменения в nginx 0.9.3 13.12.2010
1470 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
1471 то выделения в регулярных выражениях в директиве server_name не
1474 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
1478 Изменения в nginx 0.9.2 06.12.2010
1480 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
1483 *) Изменение: использование accept(), если accept4() не реализован;
1484 ошибка появилась в 0.9.0.
1486 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
1488 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
1489 Спасибо Максиму Дунину.
1492 Изменения в nginx 0.9.1 30.11.2010
1494 *) Исправление: директивы вида "return CODE message" не работали; ошибка
1498 Изменения в nginx 0.9.0 29.11.2010
1500 *) Добавление: директива keepalive_disable.
1502 *) Добавление: директива map поддерживает переменные в качестве значения
1503 определяемой переменной.
1505 *) Добавление: директива map поддерживает пустые строки в качестве
1506 значения первого параметра.
1508 *) Добавление: директива map поддерживает выражения в первом параметре.
1510 *) Добавление: страница руководства nginx(8).
1511 Спасибо Сергею Осокину.
1513 *) Добавление: поддержка accept4() в Linux.
1516 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
1517 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
1519 *) Исправление: при использовании директивы auth_basic в рабочем
1520 процессе мог произойти segmentation fault.
1521 Спасибо Михаилу Лалетину.
1523 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
1527 Изменения в nginx 0.8.53 18.10.2010
1529 *) Добавление: теперь директива error_page позволяет менять код статуса
1532 *) Добавление: директива gzip_disable поддерживает специальную маску
1535 *) Исправление: при использовании файлового AIO могла происходить утечка
1537 Спасибо Максиму Дунину.
1539 *) Исправление: если в первом сервере не была описана директива listen и
1540 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
1541 становился следующий сервер с директивой listen; ошибка появилась в
1545 Изменения в nginx 0.8.52 28.09.2010
1547 *) Исправление: nginx использовал режим SSL для listen сокета, если для
1548 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
1551 Изменения в nginx 0.8.51 27.09.2010
1553 *) Изменение: директива secure_link_expires упразднена.
1555 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
1558 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
1562 Изменения в nginx 0.8.50 02.09.2010
1564 *) Добавление: директивы secure_link, secure_link_md5 и
1565 secure_link_expires модуля ngx_http_secure_link_module.
1567 *) Добавление: ключ -q.
1568 Спасибо Геннадию Махомеду.
1570 *) Исправление: при использовании кэширования рабочие процессы и могли
1571 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
1573 *) Исправление: в директиве gzip_disable.
1574 Спасибо Derrick Petzold.
1576 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
1577 reopen, reload процессу, запущенному в другой сессии.
1580 Изменения в nginx 0.8.49 09.08.2010
1582 *) Добавление: директива image_filter_jpeg_quality поддерживает
1585 *) Исправление: при использовании переменной $geoip_region_name в
1586 рабочем процессе мог произойти segmentation fault; ошибка появилась в
1589 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
1590 следующего запроса; ошибка появилась в 0.8.48.
1593 Изменения в nginx 0.8.48 03.08.2010
1595 *) Изменение: теперь по умолчанию директива server_name имеет значение
1597 Спасибо Геннадию Махомеду.
1599 *) Изменение: теперь по умолчанию директива server_name_in_redirect
1602 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
1604 Спасибо Christine McGonagle.
1606 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
1607 scgi_pass не наследовались в блоки limit_except.
1609 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
1610 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
1613 *) Исправление: директива fastcgi_split_path_info неверно использовала
1614 выделения, если в выделения попадала только часть URI.
1615 Спасибо Юрию Тарадаю и Frank Enderle.
1617 *) Исправление: директива rewrite не экранировала символ ";" при
1618 копировании из URI в аргументы.
1619 Спасибо Daisuke Murase.
1621 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
1622 если изображение было больше размера image_filter_buffer.
1625 Изменения в nginx 0.8.47 28.07.2010
1627 *) Исправление: переменная $request_time имела неверные значения для
1630 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
1632 *) Исправление: если использовался параметр max_size, то cache manager
1633 мог зациклиться; ошибка появилась в 0.8.46.
1636 Изменения в nginx 0.8.46 19.07.2010
1638 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1639 и scgi_no_cache теперь влияют только на сохранение закэшированного
1642 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
1643 uwsgi_cache_bypass и scgi_cache_bypass.
1645 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
1646 ошибки работы с бэкендом: память освобождалась только по истечении
1647 времени неактивности или при недостатке памяти.
1650 Изменения в nginx 0.8.45 13.07.2010
1652 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
1653 Спасибо Laurence Rowe.
1655 *) Исправление: ответ SSI модуля мог передаваться не полностью после
1656 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
1657 Спасибо Максиму Дунину.
1659 *) Исправление: директива listen не поддерживала параметр setfib=0.
1662 Изменения в nginx 0.8.44 05.07.2010
1664 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
1665 заголовке которых есть строка "Set-Cookie".
1667 *) Добавление: директива listen поддерживает параметр setfib.
1668 Спасибо Андрею Филонову.
1670 *) Исправление: директива sub_filter могла изменять регистр букв при
1671 частичном совпадении.
1673 *) Исправление: совместимость с HP/UX.
1675 *) Исправление: совместимость с компилятором AIX xlC_r.
1677 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
1679 Спасибо Miroslaw Jaworski.
1682 Изменения в nginx 0.8.43 30.06.2010
1684 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
1686 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
1687 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
1690 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
1692 Спасибо Максиму Дунину.
1694 *) Исправление: переменную $uid_set можно использовать на любой стадии
1698 Изменения в nginx 0.8.42 21.06.2010
1700 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
1701 выражениями, если запрос полностью совпал с location'ом, заданным
1702 строкой префикса. Предыдущее поведение появилось в 0.7.1.
1704 *) Добавление: модуль ngx_http_scgi_module.
1705 Спасибо Manlio Perillo.
1707 *) Добавление: в директиве return можно добавлять текст ответа.
1710 Изменения в nginx 0.8.41 15.06.2010
1712 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
1713 при запросе файла с неверной кодировкой UTF-8.
1715 *) Изменение: теперь nginx разрешает использовать пробелы в строке
1718 *) Исправление: директива proxy_redirect неправильно изменяла строку
1719 "Refresh" в заголовке ответа бэкенда.
1720 Спасибо Андрею Андрееву и Максиму Согину.
1722 *) Исправление: nginx не поддерживал путь без имени хоста в строке
1723 "Destination" в заголовке запроса.
1726 Изменения в nginx 0.8.40 07.06.2010
1728 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
1730 Спасибо Jose Antonio Vazquez Gonzalez.
1732 *) Добавление: модуль ngx_http_uwsgi_module.
1733 Спасибо Roberto De Ioris.
1735 *) Добавление: директива fastcgi_param со значением, начинающимся со
1736 строки "HTTP_", изменяет строку заголовка в запросе клиента.
1738 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1739 заголовке запроса клиента передавались FastCGI-серверу при
1742 *) Исправление: listen unix domain сокет нельзя было изменить во время
1744 Спасибо Максиму Дунину.
1747 Изменения в nginx 0.8.39 31.05.2010
1749 *) Исправление: наследуемая директива alias неправильно работала во
1750 вложенном location'е.
1752 *) Исправление: в комбинации директив alias с переменными и try_files;
1754 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
1755 время обновления без перерыва.
1756 Спасибо Максиму Дунину.
1759 Изменения в nginx 0.8.38 24.05.2010
1761 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
1763 *) Добавление: теперь при использовании переменной $scheme в директиве
1764 rewrite автоматически делается редирект.
1765 Спасибо Piotr Sikora.
1767 *) Исправление: теперь задержки в директиве limit_req соответствует
1768 описанному алгоритму.
1769 Спасибо Максиму Дунину.
1771 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
1775 Изменения в nginx 0.8.37 17.05.2010
1777 *) Добавление: модуль ngx_http_split_clients_module.
1779 *) Добавление: директива map поддерживает ключи больше 255 символов.
1781 *) Исправление: nginx игнорировал значения "private" и "no-store" в
1782 строке "Cache-Control" в заголовке ответа бэкенда.
1784 *) Исправление: параметр stub в SSI-директиве include не использовался,
1785 если пустой ответ имел код 200.
1787 *) Исправление: если проксированный или FastCGI запрос внутренне
1788 перенаправлялся в другой проксированный или FastCGI location, то в
1789 рабочем процессе мог произойти segmentation fault; ошибка появилась в
1791 Спасибо Yichun Zhang.
1793 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
1798 Изменения в nginx 0.8.36 22.04.2010
1800 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
1801 методы DELETE, COPY и MOVE для симлинков.
1803 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
1804 основном запросе значения переменных $query_string, $arg_... и им
1807 *) Исправление: значение переменной повторно экранировалось после
1808 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
1810 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
1811 Спасибо Vicente Aguilar и Максиму Дунину.
1813 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
1814 Спасибо Максиму Дунину.
1816 *) Исправление: nginx не собирался с параметром --without-http-cache;
1817 ошибка появилась в 0.8.35.
1820 Изменения в nginx 0.8.35 01.04.2010
1822 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
1824 *) Добавление: директива chunked_transfer_encoding.
1826 *) Исправление: символ "&" при копировании в аргументы в правилах
1827 rewrite не экранировался.
1829 *) Исправление: nginx мог завершаться аварийно во время обработки
1830 сигнала или при использовании директивы timer_resolution на
1831 платформах, не поддерживающих методы kqueue или eventport.
1832 Спасибо George Xie и Максиму Дунину.
1834 *) Исправление: если временные файлы и постоянное место хранения
1835 располагались на разных файловых системах, то у постоянных файлов
1836 время изменения было неверным.
1837 Спасибо Максиму Дунину.
1839 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
1840 "memcached sent invalid trailer".
1841 Спасибо Максиму Дунину.
1843 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
1845 Спасибо Максиму Дунину.
1847 *) Исправление: в рабочем процессе происходил segmentation fault, если
1848 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
1850 Спасибо Максиму Дунину.
1853 Изменения в nginx 0.8.34 03.03.2010
1855 *) Исправление: nginx не поддерживал все шифры, используемые в
1856 клиентских сертификатах.
1857 Спасибо Иннокентию Еникееву.
1859 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
1860 ответом было много вывода в stderr.
1862 *) Исправление: nginx не поддерживал HTTPS-рефереры.
1864 *) Исправление: nginx/Windows мог не находить файлы, если путь в
1865 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
1867 *) Исправление: переменная $date_local выдавала неверное время, если
1868 использовался формат "%s".
1869 Спасибо Максиму Дунину.
1871 *) Исправление: если ssl_session_cache не был установлен или установлен
1872 в none, то при проверке клиентского сертификаты могла происходить
1873 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
1875 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
1876 диапазон включал в себя одну и более сетей размером /16 и не
1877 начинался на границе сети размером /16.
1879 *) Исправление: блок, используемый в параметре stub в SSI-директиве
1880 include, выводился с MIME-типом "text/plain".
1882 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
1885 Изменения в nginx 0.8.33 01.02.2010
1887 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
1888 Спасибо Dan Crowley, Core Security Technologies.
1890 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
1891 Спасибо Dan Crowley, Core Security Technologies.
1893 *) Изменение: теперь keepalive соединения после запросов POST не
1894 запрещаются для MSIE 7.0+.
1895 Спасибо Adam Lounds.
1897 *) Изменение: теперь keepalive соединения запрещены для Safari.
1898 Спасибо Joshua Sierles.
1900 *) Исправление: если проксированный или FastCGI запрос внутренне
1901 перенаправлялся в другой проксированный или FastCGI location, то
1902 переменная $upstream_response_time могла иметь ненормально большое
1903 значение; ошибка появилась в 0.8.7.
1905 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1906 отбрасывания тела запроса; ошибка появилась в 0.8.11.
1909 Изменения в nginx 0.8.32 11.01.2010
1911 *) Исправление: ошибки при использовании кодировки UTF-8 в
1912 ngx_http_autoindex_module.
1913 Спасибо Максиму Дунину.
1915 *) Исправление: именованные выделения в регулярных выражениях работали
1916 только для двух переменных.
1917 Спасибо Максиму Дунину.
1919 *) Исправление: теперь в строке заголовка запроса "Host" используется
1920 имя "localhost", если в директиве auth_http указан unix domain сокет.
1921 Спасибо Максиму Дунину.
1923 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
1925 Спасибо Julian Reich.
1927 *) Исправление: если директива "expires modified" выставляла дату в
1928 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
1929 отрицательное число.
1930 Спасибо Алексею Капранову.
1933 Изменения в nginx 0.8.31 23.12.2009
1935 *) Добавление: теперь директива error_page может перенаправлять ответы
1936 со статусом 301 и 302.
1938 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
1940 Спасибо Arvind Sundararajan.
1942 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
1943 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
1945 *) Исправление: nginx закрывал соединение при запросе закэшированного
1946 ответа с пустым телом.
1947 Спасибо Piotr Sikora.
1949 *) Исправление: nginx мог не собираться gcc 4.x при использовании
1950 оптимизации -O2 и выше.
1951 Спасибо Максиму Дунину и Денису Латыпову.
1953 *) Исправление: регулярные выражения в location всегда тестировались с
1954 учётом регистра; ошибка появилась в 0.8.25.
1956 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
1957 проксируемого запроса была строка "If-None-Match".
1958 Спасибо Tim Dettrick и David Kostal.
1960 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
1961 перезаписи уже существующего файла.
1964 Изменения в nginx 0.8.30 15.12.2009
1966 *) Изменение: теперь по умолчанию размер буфера директивы
1967 large_client_header_buffers равен 8K.
1968 Спасибо Andrew Cholakian.
1970 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
1972 *) Исправление: nginx/Windows пытался дважды переименовать временный
1973 файл при перезаписи уже существующего файла.
1975 *) Исправление: ошибки double free or corruption, возникающей, если имя
1976 хоста не было найдено; ошибка появилась в 0.8.22.
1977 Спасибо Константину Свисту.
1979 *) Исправление: в использовании libatomic на некоторых платформах.
1980 Спасибо W-Mark Kubacki.
1983 Изменения в nginx 0.8.29 30.11.2009
1985 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
1988 *) Добавление: директивы addition_types, charset_types, gzip_types,
1989 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
1991 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
1992 Спасибо W-Mark Kubacki.
1994 *) Добавление: параметр --with-libatomic[=DIR] в configure.
1995 Спасибо W-Mark Kubacki.
1997 *) Исправление: listen unix domain сокет имели ограниченные права
2000 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
2003 *) Исправление: именованные выделения в регулярных выражениях, заданные
2004 как "?P<...>", не работали в директиве server_name.
2005 Спасибо Максиму Дунину.
2008 Изменения в nginx 0.8.28 23.11.2009
2010 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
2014 Изменения в nginx 0.8.27 17.11.2009
2016 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
2020 Изменения в nginx 0.8.26 16.11.2009
2022 *) Исправление: ошибки при использовании выделений в директиве rewrite;
2023 ошибка появилась в 0.8.25.
2025 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2029 Изменения в nginx 0.8.25 16.11.2009
2031 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
2032 не найдена с помощью метода $r->variable().
2034 *) Добавление: модуль ngx_http_degradation_module.
2036 *) Добавление: именованные выделения в регулярных выражениях.
2038 *) Добавление: теперь при использовании переменных в директиве
2039 proxy_pass не требуется задавать URI.
2041 *) Добавление: теперь директива msie_padding работает и для Chrome.
2043 *) Исправление: в рабочем процессе происходил segmentation fault при
2044 недостатке памяти; ошибка появилась в 0.8.18.
2046 *) Исправление: nginx передавал сжатые ответы клиентам, не
2047 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
2048 ошибка появилась в 0.8.16.
2051 Изменения в nginx 0.8.24 11.11.2009
2053 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
2054 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
2056 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
2059 *) Исправление: параметр "unix:" в директиве set_real_ip_from
2060 неправильно наследовался с предыдущего уровня.
2062 *) Исправление: в resolver'е при определении пустого имени.
2065 Изменения в nginx 0.8.23 11.11.2009
2067 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
2068 Спасибо Максиму Дунину.
2070 *) Исправление: listen unix domain сокет не наследовался во время
2071 обновления без перерыва.
2073 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
2074 без ещё одной директивы с любым IP-адресом.
2076 *) Исправление: segmentation fault и зацикливания в resolver'е.
2078 *) Исправление: в resolver'е.
2079 Спасибо Артёму Бохану.
2082 Изменения в nginx 0.8.22 03.11.2009
2084 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
2086 *) Добавление: директивы access и deny поддерживают IPv6.
2088 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
2091 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
2093 *) Исправление: nginx не удалял unix domain сокет после тестирования
2096 *) Исправление: nginx удалял unix domain сокет во время обновления без
2099 *) Исправление: оператор "!-x" не работал.
2100 Спасибо Максиму Дунину.
2102 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2103 использовании limit_rate в HTTPS сервере.
2104 Спасибо Максиму Дунину.
2106 *) Исправление: при записи в лог переменной $limit_rate в рабочем
2107 процессе происходил segmentation fault.
2108 Спасибо Максиму Дунину.
2110 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2111 если внутри блока server не было директивы listen; ошибка появилась в
2115 Изменения в nginx 0.8.21 26.10.2009
2117 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
2119 *) Добавление: директива listen модуля HTTP поддерживает unix domain
2123 *) Добавление: параметр "default_server" в директиве listen.
2125 *) Добавление: теперь параметр "default" не обязателен для установки
2126 параметров listen-сокета.
2128 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
2131 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2134 Изменения в nginx 0.8.20 14.10.2009
2136 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2139 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
2140 слэш для линков на каталоги; ошибка появилась в 0.7.15.
2142 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
2143 --error-log-path; ошибка появилась в 0.7.53.
2145 *) Исправление: nginx не считал запятую разделителем в строке
2146 "Cache-Control" в заголовке ответа бэкенда.
2148 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
2149 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
2150 не имел достаточно прав для работы с каталогами верхнего уровня.
2152 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
2153 FastCGI-сервера не скрывались при кэшировании, если не использовались
2154 директивы fastcgi_hide_header с любыми параметрами.
2156 *) Исправление: nginx неверно считал размер кэша на диске.
2159 Изменения в nginx 0.8.19 06.10.2009
2161 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
2163 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
2164 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2166 *) Исправление: директива limit_req не работала; ошибка появилась в
2170 Изменения в nginx 0.8.18 06.10.2009
2172 *) Добавление: директива read_ahead.
2174 *) Добавление: теперь можно использовать несколько директив
2177 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
2179 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
2181 Спасибо Максиму Дунину.
2183 *) Исправление: nginx не работал на Linux/sparc.
2184 Спасибо Marcus Ramberg.
2186 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
2187 ответе на запрос MKCOL.
2190 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
2193 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2196 Изменения в nginx 0.8.17 28.09.2009
2198 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
2199 в заголовке запроса.
2201 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
2203 *) Добавление: переменная $ssl_session_id.
2205 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
2208 Изменения в nginx 0.8.16 22.09.2009
2210 *) Добавление: директива image_filter_transparency.
2212 *) Исправление: директива "addition_types" была неверно названа
2215 *) Исправление: порчи кэша resolver'а.
2216 Спасибо Matthew Dempsky.
2218 *) Исправление: утечки памяти в resolver'е.
2219 Спасибо Matthew Dempsky.
2221 *) Исправление: неверная строка запроса в переменной $request
2222 записывалась в access_log только при использовании error_log на
2223 уровне info или debug.
2225 *) Исправление: в поддержке альфа-канала PNG в модуле
2226 ngx_http_image_filter_module.
2228 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
2229 заголовок ответа, если обе директивы gzip_static и gzip_vary были
2232 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
2235 *) Исправление: ошибки при использовании post_action; ошибка появилась в
2237 Спасибо Игорю Артемьеву.
2240 Изменения в nginx 0.8.15 14.09.2009
2242 *) Безопасность: при обработке специально созданного запроса в рабочем
2243 процессе мог произойти segmentation fault.
2246 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
2247 .domain-some.tld, то имя .sub.domain.tld попадало под маску
2250 *) Исправление: в поддержке прозрачности в модуле
2251 ngx_http_image_filter_module.
2253 *) Исправление: в файловом AIO.
2255 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
2258 *) Исправление: ошибки при использовании встроенного перла; ошибка
2262 Изменения в nginx 0.8.14 07.09.2009
2264 *) Исправление: устаревший закэшированный запрос мог залипнуть в
2265 состоянии "UPDATING".
2267 *) Исправление: при использовании error_log на уровне info или debug в
2268 рабочем процессе мог произойти segmentation fault.
2269 Спасибо Сергею Боченкову.
2271 *) Исправление: ошибки при использовании встроенного перла; ошибка
2274 *) Исправление: директива error_page не перенаправляла ошибку 413;
2275 ошибка появилась в 0.6.10.
2278 Изменения в nginx 0.8.13 31.08.2009
2280 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
2282 *) Исправление: nginx не собирался без параметра --with-file-aio на
2283 FreeBSD; ошибка появилась в 0.8.12.
2286 Изменения в nginx 0.8.12 31.08.2009
2288 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
2290 *) Исправление: ошибки при использовании try_files; ошибка появилась в
2293 *) Исправление: ошибки при использовании memcached; ошибка появилась в
2297 Изменения в nginx 0.8.11 28.08.2009
2299 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
2302 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
2304 *) Добавление: директива directio_alignment.
2307 Изменения в nginx 0.8.10 24.08.2009
2309 *) Исправление: утечек памяти при использовании базы GeoIP City.
2311 *) Исправление: ошибки при копировании временных файлов в постоянное
2312 место хранения; ошибка появилась в 0.8.9.
2315 Изменения в nginx 0.8.9 17.08.2009
2317 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
2318 процесс; это должно улучшить обработку больших кэшей.
2320 *) Добавление: теперь временные файлы и постоянное место хранения могут
2321 располагаться на разных файловых системах.
2324 Изменения в nginx 0.8.8 10.08.2009
2326 *) Исправление: в обработке заголовков ответа, разделённых в
2329 *) Исправление: если запрос обрабатывался в двух проксированных или
2330 FastCGI location'ах и в первом из них использовалось кэширование, то
2331 в рабочем процессе происходил segmentation fault; ошибка появилась в
2335 Изменения в nginx 0.8.7 27.07.2009
2337 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
2339 *) Изменение: параметр ask директивы ssl_verify_client изменён на
2340 параметр optional и теперь он проверяет клиентский сертификат, если
2342 Спасибо Brice Figureau.
2344 *) Добавление: переменная $ssl_client_verify.
2345 Спасибо Brice Figureau.
2347 *) Добавление: директива ssl_crl.
2348 Спасибо Brice Figureau.
2350 *) Добавление: параметр proxy директивы geo.
2352 *) Добавление: директива image_filter поддерживает переменные для
2355 *) Исправление: использование переменной $ssl_client_cert портило
2356 память; ошибка появилась в 0.7.7.
2357 Спасибо Сергею Журавлёву.
2359 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
2360 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
2361 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
2362 Спасибо Максиму Дунину.
2364 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
2365 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
2366 Спасибо Максиму Дунину.
2368 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
2369 ответы в подзапросах; ошибка появилась в 0.8.5.
2372 Изменения в nginx 0.8.6 20.07.2009
2374 *) Добавление: модуль ngx_http_geoip_module.
2376 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
2377 document" для правильного документа.
2378 Спасибо Kuramoto Eiji.
2380 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
2381 location'ов, заданных регулярным выражением, теперь всегда делается
2382 сравнение без учёта регистра символов.
2384 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
2385 Спасибо Hugo Leisink.
2387 *) Исправление: имя файла указанного в --conf-path игнорировалось при
2388 установке; ошибка появилась в 0.6.6.
2389 Спасибо Максиму Дунину.
2392 Изменения в nginx 0.8.5 13.07.2009
2394 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
2396 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
2397 для неверных имени/пароля возвращалась 500-ая ошибка.
2399 *) Исправление: ответы модуля ngx_http_perl_module не работали в
2402 *) Исправление: в модуле ngx_http_limit_req_module.
2403 Спасибо Максиму Дунину.
2406 Изменения в nginx 0.8.4 22.06.2009
2408 *) Исправление: nginx не собирался с параметром --without-http-cache;
2409 ошибка появилась в 0.8.3.
2412 Изменения в nginx 0.8.3 19.06.2009
2414 *) Добавление: переменная $upstream_cache_status.
2416 *) Исправление: nginx не собирался на MacOSX 10.6.
2418 *) Исправление: nginx не собирался с параметром --without-http-cache;
2419 ошибка появилась в 0.8.2.
2421 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
2422 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
2423 в рабочем процессе происходил segmentation fault.
2424 Спасибо Евгению Мычло.
2427 Изменения в nginx 0.8.2 15.06.2009
2429 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
2432 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
2433 долго; ошибка появилась в 0.7.4.
2436 Изменения в nginx 0.8.1 08.06.2009
2438 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
2439 fastcgi_cache_use_stale.
2441 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
2442 заголовке запроса клиента передавались бэкенду при кэшировании, если
2443 не использовалась директива proxy_set_header с любыми параметрами.
2445 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
2446 не скрывались при кэшировании, если не использовались директивы
2447 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
2449 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
2451 Спасибо Денису Ильиных.
2453 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
2457 Изменения в nginx 0.8.0 02.06.2009
2459 *) Добавление: директива keepalive_requests.
2461 *) Добавление: директива limit_rate_after.
2462 Спасибо Ivan Debnar.
2464 *) Исправление: XSLT-фильтр не работал в подзапросах.
2466 *) Исправление: обработке относительных путей в nginx/Windows.
2468 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
2469 fastcgi_cache в nginx/Windows.
2471 *) Исправление: в обработке ошибок выделения памяти.
2472 Спасибо Максиму Дунину и Кириллу Коринскому.
2475 Изменения в nginx 0.7.59 25.05.2009
2477 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
2479 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
2480 Спасибо Максиму Дунину.
2482 *) Исправление: при использовании переменной $request_body в рабочем
2483 процессе происходил segmentation fault, если в запросе не было тела;
2484 ошибка появилась в 0.7.58.
2486 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
2487 ошибка появилась в 0.7.56.
2489 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
2490 обрабатывались SSI-, charset- и gzip-фильтрами.
2492 *) Исправление: директива charset не ставила кодировку для ответов
2493 модуля ngx_http_gzip_static_module.
2496 Изменения в nginx 0.7.58 18.05.2009
2498 *) Добавление: директива listen почтового прокси-сервера поддерживает
2501 *) Добавление: директива image_filter_jpeg_quality.
2503 *) Добавление: директива client_body_in_single_buffer.
2505 *) Добавление: переменная $request_body.
2507 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
2508 файлов, содержащих символ ":".
2510 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
2512 Спасибо Денису Латыпову.
2515 Изменения в nginx 0.7.57 12.05.2009
2517 *) Исправление: при перенаправлении ошибок модуля
2518 ngx_http_image_filter_module в именованный location в рабочем
2519 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
2522 Изменения в nginx 0.7.56 11.05.2009
2524 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
2527 *) Исправление: в модуле ngx_http_image_filter_module.
2530 Изменения в nginx 0.7.55 06.05.2009
2532 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
2533 fastcgi_cache_use_stale не работали.
2535 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
2538 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
2539 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
2541 *) Исправление: при использовании директивы debug_connection в рабочем
2542 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
2544 *) Исправление: в сборке модуля ngx_http_image_filter_module.
2546 *) Исправление: файлы больше 2G не передавались с использованием
2548 Спасибо Максиму Дунину.
2551 Изменения в nginx 0.7.54 01.05.2009
2553 *) Добавление: модуль ngx_http_image_filter_module.
2555 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
2557 *) Исправление: при использовании переменных "open_file_cache_errors on"
2558 в рабочем процессе мог произойти segmentation fault; ошибка появилась
2561 *) Исправление: директива "port_in_redirect off" не работала; ошибка
2564 *) Исправление: улучшение обработки ошибок метода select.
2566 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
2568 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
2569 ошибка появилась в 0.7.53.
2572 Изменения в nginx 0.7.53 27.04.2009
2574 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
2575 самого начала работы.
2577 *) Добавление: теперь ошибки и предупреждения при старте записываются в
2578 error_log и выводятся на stderr.
2580 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
2581 как префикс каталог, в котором он был запущен.
2583 *) Добавление: ключ -p.
2585 *) Добавление: ключ -s на Unix-платформах.
2587 *) Добавление: ключи -? и -h.
2588 Спасибо Jerome Loyet.
2590 *) Добавление: теперь ключи можно задавать в сжатой форме.
2592 *) Исправление: nginx/Windows не работал, если файл конфигурации был
2595 *) Исправление: при использовании директив proxy_store, fastcgi_store,
2596 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
2597 Спасибо Максиму Дунину.
2599 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
2600 почтового прокси-сервера передавалось неверное значение; ошибка
2602 Спасибо Simon Lecaille.
2604 *) Исправление: при логгировании на Linux не писались текстовые описания
2605 системных ошибок; ошибка появилась в 0.7.45.
2607 *) Исправление: директива fastcgi_cache_min_uses не работала.
2608 Спасибо Андрею Воробьёву.
2611 Изменения в nginx 0.7.52 20.04.2009
2613 *) Добавление: первая бинарная версия под Windows.
2615 *) Исправление: корректная обработка метода HEAD при кэшировании.
2617 *) Исправление: корректная обработка строк "If-Modified-Since",
2618 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
2620 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
2621 заголовке ответа для закэшированных ответов.
2623 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2624 perl поддерживал потоки, то при выходе основного процесса могла
2625 выдаваться ошибка "panic: MUTEX_LOCK".
2627 *) Исправление: nginx не собирался с параметром --without-http-cache;
2628 ошибка появилась в 0.7.48.
2630 *) Исправление: nginx не собирался на платформах, отличных от i386,
2631 amd64, sparc и ppc; ошибка появилась в 0.7.42.
2634 Изменения в nginx 0.7.51 12.04.2009
2636 *) Добавление: директива try_files поддерживает код ответа в последнем
2639 *) Добавление: теперь в директиве return можно использовать любой код
2642 *) Исправление: директива error_page делала внешний редирект без строки
2643 запроса; ошибка появилась в 0.7.44.
2645 *) Исправление: если сервера слушали на нескольких явно описанных
2646 адресах, то виртуальные сервера могли не работать; ошибка появилась в
2650 Изменения в nginx 0.7.50 06.04.2009
2652 *) Исправление: переменные $arg_... не работали; ошибка появилась в
2656 Изменения в nginx 0.7.49 06.04.2009
2658 *) Исправление: при использовании переменных $arg_... в рабочем процессе
2659 мог произойти segmentation fault; ошибка появилась в 0.7.48.
2662 Изменения в nginx 0.7.48 06.04.2009
2664 *) Добавление: директива proxy_cache_key.
2666 *) Исправление: теперь nginx учитывает при кэшировании строки
2667 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
2670 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
2672 *) Исправление: директива fastcgi_cache_key не наследовалась.
2674 *) Исправление: переменные $arg_... не работали с SSI-подзапросами.
2675 Спасибо Максиму Дунину.
2677 *) Исправление: nginx не собирался с библиотекой uclibc.
2678 Спасибо Timothy Redaelli.
2680 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
2684 Изменения в nginx 0.7.47 01.04.2009
2686 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
2687 ошибка появилась в 0.7.46.
2689 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
2691 *) Исправление: если использовался параметр max_size, то cache manager
2692 мог удалить весь кэш; ошибка появилась в 0.7.46.
2694 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
2695 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
2696 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
2699 *) Исправление: в рабочем процессе мог произойти segmentation fault при
2700 перенаправлении запроса проксированному или FastCGI-серверу с помощью
2701 error_page или try_files; ошибка появилась в 0.7.44.
2704 Изменения в nginx 0.7.46 30.03.2009
2706 *) Исправление: архив предыдущего релиза был неверным.
2709 Изменения в nginx 0.7.45 30.03.2009
2711 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
2712 задавать на разных уровнях.
2714 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
2716 *) Добавление: параметр max_size в директиве proxy_cache_path.
2718 *) Добавление: предварительная поддержка кэширования в модуле
2719 ngx_http_fastcgi_module.
2721 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
2722 указываются названия директивы и зоны.
2724 *) Исправление: директива "add_header last-modified ''" не удаляла в
2725 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
2727 *) Исправление: в директиве auth_basic_user_file не работал
2728 относительный путь, заданный строкой без переменных; ошибка появилась
2730 Спасибо Jerome Loyet.
2732 *) Исправление: в директиве alias, заданной переменными без ссылок на
2733 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
2736 Изменения в nginx 0.7.44 23.03.2009
2738 *) Добавление: предварительная поддержка кэширования в модуле
2739 ngx_http_proxy_module.
2741 *) Добавление: параметр --with-pcre в configure.
2743 *) Добавление: теперь директива try_files может быть использована на
2746 *) Исправление: директива try_files неправильно обрабатывала строку
2747 запроса в последнем параметре.
2749 *) Исправление: директива try_files могла неверно тестировать каталоги.
2751 *) Исправление: если для пары адрес:порт описан только один сервер, то
2752 выделения в регулярных выражениях в директиве server_name не
2756 Изменения в nginx 0.7.43 18.03.2009
2758 *) Исправление: запрос обрабатывался неверно, если директива root
2759 использовала переменные; ошибка появилась в 0.7.42.
2761 *) Исправление: если сервер слушал на адресах типа "*", то значение
2762 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
2765 Изменения в nginx 0.7.42 16.03.2009
2767 *) Изменение: ошибка "Invalid argument", возвращаемая
2768 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
2770 *) Изменение: при отсутствии файла, указанного в директиве
2771 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
2773 *) Добавление: директива auth_basic_user_file поддерживает переменные.
2774 Спасибо Кириллу Коринскому.
2776 *) Добавление: директива listen поддерживает параметр ipv6only.
2779 *) Исправление: в директиве alias со ссылками на выделения в регулярных
2780 выражениях; ошибка появилась в 0.7.40.
2782 *) Исправление: совместимость с Tru64 UNIX.
2783 Спасибо Dustin Marquess.
2785 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2789 Изменения в nginx 0.7.41 11.03.2009
2791 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2792 если в server_name или location были выделения в регулярных
2793 выражениях; ошибка появилась в 0.7.40.
2794 Спасибо Владимиру Сопоту.
2797 Изменения в nginx 0.7.40 09.03.2009
2799 *) Добавление: директива location поддерживает выделения в регулярных
2802 *) Добавление: директиву alias с ссылками на выделения в регулярных
2803 выражениях можно использовать внутри location'а, заданного регулярным
2804 выражением с выделениями.
2806 *) Добавление: директива server_name поддерживает выделения в регулярных
2809 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
2810 слэш для каталогов на файловой системе XFS; ошибка появилась в
2812 Спасибо Дмитрию Кузьменко.
2815 Изменения в nginx 0.7.39 02.03.2009
2817 *) Исправление: при включённом сжатии большие ответы с использованием
2818 SSI могли зависать; ошибка появилась в 0.7.28.
2819 Спасибо Артёму Бохану.
2821 *) Исправление: при использовании коротких статических вариантов в
2822 директиве try_files в рабочем процессе мог произойти segmentation
2826 Изменения в nginx 0.7.38 23.02.2009
2828 *) Добавление: логгирование ошибок аутентификации.
2830 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
2831 игнорировались после нечётного числа пустых строк.
2832 Спасибо Александру Загребину.
2834 *) Исправление: при использовании длинного пути в unix domain сокете в
2835 главном процессе происходил segmentation fault; ошибка появилась в
2839 Изменения в nginx 0.7.37 21.02.2009
2841 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
2845 Изменения в nginx 0.7.36 21.02.2009
2847 *) Добавление: предварительная поддержка IPv6; директива listen модуля
2848 HTTP поддерживает IPv6.
2850 *) Исправление: переменная $ancient_browser не работала для браузеров,
2851 заданных директивами modern_browser.
2854 Изменения в nginx 0.7.35 16.02.2009
2856 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
2857 асимметричных шифров.
2858 Спасибо Marcin Gozdalik.
2860 *) Исправление: директива try_files выставляла MIME-type, исходя из
2861 расширения первоначального запроса.
2863 *) Исправление: в директивах server_name, valid_referers и map
2864 неправильно обрабатывались имена вида "*domain.tld", если
2865 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
2866 ошибка появилась в 0.7.9.
2869 Изменения в nginx 0.7.34 10.02.2009
2871 *) Добавление: параметр off в директиве if_modified_since.
2873 *) Добавление: теперь после команды XCLIENT nginx посылает команду
2875 Спасибо Максиму Дунину.
2877 *) Добавление: поддержка Microsoft-специфичного режима
2878 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
2879 Спасибо Максиму Дунину.
2881 *) Исправление: в директиве rewrite, возвращающей редирект, старые
2882 аргументы присоединялись к новым через символ "?" вместо "&";
2883 ошибка появилась в 0.1.18.
2884 Спасибо Максиму Дунину.
2886 *) Исправление: nginx не собирался на AIX.
2889 Изменения в nginx 0.7.33 02.02.2009
2891 *) Исправление: если на запрос с телом возвращался редирект, то ответ
2892 мог быть двойным при использовании методов epoll или rtsig.
2895 *) Исправление: для некоторых типов редиректов в переменной
2896 $sent_http_location было пустое значение.
2898 *) Исправление: при использовании директивы resolver в SMTP
2899 прокси-сервере в рабочем процессе мог произойти segmentation fault.
2902 Изменения в nginx 0.7.32 26.01.2009
2904 *) Добавление: теперь в директиве try_files можно явно указать проверку
2907 *) Исправление: fastcgi_store не всегда сохранял файлы.
2909 *) Исправление: в гео-диапазонах.
2911 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
2912 если nginx был собран без отладки.
2913 Спасибо Андрею Квасову.
2916 Изменения в nginx 0.7.31 19.01.2009
2918 *) Изменение: теперь директива try_files проверяет только файлы,
2921 *) Добавление: директива fastcgi_split_path_info.
2923 *) Исправления в поддержке строки "Expect" в заголовке запроса.
2925 *) Исправления в гео-диапазонах.
2927 *) Исправление: при отсутствии ответа ngx_http_memcached_module
2928 возвращал в теле ответа строку "END" вместо 404-ой страницы по
2929 умолчанию; ошибка появилась в 0.7.18.
2930 Спасибо Максиму Дунину.
2932 *) Исправление: при проксировании SMTP nginx выдавал сообщение
2933 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
2934 Спасибо Максиму Дунину.
2937 Изменения в nginx 0.7.30 24.12.2008
2939 *) Исправление: в рабочем процессе происходил segmentation fault, если в
2940 директивах fastcgi_pass или proxy_pass использовались переменные и
2941 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
2944 Изменения в nginx 0.7.29 24.12.2008
2946 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
2947 переменные при использовании unix domain сокетов.
2949 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
2951 *) Исправление: ответ "100 Continue" выдавался для запросов версии
2953 Спасибо Максиму Дунину.
2955 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
2959 Изменения в nginx 0.7.28 22.12.2008
2961 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
2963 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
2964 с 4 4k/8k на 32 4k или 16 8k.
2967 Изменения в nginx 0.7.27 15.12.2008
2969 *) Добавление: директива try_files.
2971 *) Добавление: директива fastcgi_pass поддерживает переменные.
2973 *) Добавление: теперь директива geo может брать адрес из переменной.
2974 Спасибо Андрею Нигматулину.
2976 *) Добавление: теперь модификатор location'а можно указывать без пробела
2979 *) Добавление: переменная $upstream_response_length.
2981 *) Исправление: теперь директива add_header не добавляет пустое
2984 *) Исправление: при запросе файла нулевой длины nginx закрывал
2985 соединение, ничего не передав; ошибка появилась в 0.7.25.
2987 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
2990 *) Исправление: если в сервере не был описан ни один именованный
2991 location, но такой location использовался в директиве error_page, то
2992 в рабочем процессе происходил segmentation fault.
2993 Спасибо Сергею Боченкову.
2996 Изменения в nginx 0.7.26 08.12.2008
2998 *) Исправление: в обработке подзапросов; ошибка появилась в 0.7.25.
3001 Изменения в nginx 0.7.25 08.12.2008
3003 *) Изменение: в обработке подзапросов.
3005 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
3008 *) Исправление: теперь директивы limit_req и limit_conn указывают
3009 причину запрета запроса.
3011 *) Исправление: в параметре delete директивы geo.
3014 Изменения в nginx 0.7.24 01.12.2008
3016 *) Добавление: директива if_modified_since.
3018 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
3019 ответом сервер передавал много сообщений в stderr.
3021 *) Исправление: переменные "$cookie_..." не работали в SSI and в
3025 Изменения в nginx 0.7.23 27.11.2008
3027 *) Добавление: параметры delete и ranges в директиве geo.
3029 *) Добавление: ускорение загрузки geo-базы с большим числом значений.
3031 *) Добавление: уменьшение памяти, необходимой для загрузки geo-базы.
3034 Изменения в nginx 0.7.22 20.11.2008
3036 *) Добавление: параметр none в директиве smtp_auth.
3037 Спасибо Максиму Дунину.
3039 *) Добавление: переменные "$cookie_...".
3041 *) Исправление: директива directio не работала с файловой системой XFS.
3043 *) Исправление: resolver не понимал большие DNS-ответы.
3047 Изменения в nginx 0.7.21 11.11.2008
3049 *) Изменения в модуле ngx_http_limit_req_module.
3051 *) Добавление: поддержка EXSLT в модуле ngx_http_xslt_module.
3052 Спасибо Денису Латыпову.
3054 *) Изменение: совместимость с glibc 2.3.
3055 Спасибо Eric Benson и Максиму Дунину.
3057 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
3058 ошибка появилась в 0.7.6.
3061 Изменения в nginx 0.7.20 10.11.2008
3063 *) Изменения в модуле ngx_http_gzip_filter_module.
3065 *) Добавление: модуль ngx_http_limit_req_module.
3067 *) Исправление: на платформах sparc и ppc рабочие процессы могли
3068 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
3069 Спасибо Максиму Дунину.
3071 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
3072 работали; ошибка появилась в 0.7.12.
3074 *) Исправление: при использовании HTTPS запросы могли завершаться с
3075 ошибкой "bad write retry".
3077 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
3078 location'ов с именами меньше 3 символов.
3080 *) Исправление: переменная $server_addr могла не иметь значения.
3083 Изменения в nginx 0.7.19 13.10.2008
3085 *) Исправление: обновление номера версии.
3088 Изменения в nginx 0.7.18 13.10.2008
3090 *) Изменение: директива underscores_in_headers; теперь nginx по
3091 умолчанию не разрешает подчёркивания в именах строк в заголовке
3094 *) Добавление: модуль ngx_http_secure_link_module.
3096 *) Добавление: директива real_ip_header поддерживает любой заголовок.
3098 *) Добавление: директива log_subrequest.
3100 *) Добавление: переменная $realpath_root.
3102 *) Добавление: параметры http_502 и http_504 в директиве
3103 proxy_next_upstream.
3105 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
3106 fastcgi_next_upstream не работал.
3108 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
3111 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
3114 Изменения в nginx 0.7.17 15.09.2008
3116 *) Добавление: директива directio теперь работает на Linux.
3118 *) Добавление: переменная $pid.
3120 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
3121 при использовании open_file_cache.
3123 *) Исправление: access_log с переменными не работал на Linux; ошибка
3126 *) Исправление: модуль ngx_http_charset_module не понимал название
3127 кодировки в кавычках, полученное от бэкенда.
3130 Изменения в nginx 0.7.16 08.09.2008
3132 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3136 Изменения в nginx 0.7.15 08.09.2008
3138 *) Добавление: модуль ngx_http_random_index_module.
3140 *) Добавление: директива directio оптимизирована для запросов файлов,
3141 начинающихся с произвольной позиции.
3143 *) Добавление: директива directio при необходимости запрещает
3144 использование sendfile.
3146 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
3147 заголовке запроса клиента.
3150 Изменения в nginx 0.7.14 01.09.2008
3152 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
3153 имеют значений по умолчанию.
3155 *) Добавление: директива listen поддерживает параметр ssl.
3157 *) Добавление: теперь при переконфигурации nginx учитывает изменение
3158 временной зоны на FreeBSD и Linux.
3160 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
3161 прочие, не устанавливались, если сервером по умолчанию был не первый
3164 *) Исправление: при использовании в качестве аргументов части URI,
3165 выделенного с помощью директивы rewrite, эти аргументы не
3168 *) Исправление: улучшения тестирования правильности конфигурационного
3172 Изменения в nginx 0.7.13 26.08.2008
3174 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3178 Изменения в nginx 0.7.12 26.08.2008
3180 *) Добавление: директива server_name поддерживает пустое имя "".
3182 *) Добавление: директива gzip_disable поддерживает специальную маску
3185 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
3186 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
3187 Спасибо Максиму Дунину.
3189 *) Исправление: при перенаправлении запроса с помощью директивы
3190 error_page терялось тело запроса.
3192 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
3193 директивы error_page возвращался полный ответ.
3195 *) Исправление: метод $r->header_in() не возвращал значения строк
3196 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
3200 Изменения в nginx 0.7.11 18.08.2008
3202 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
3203 MIME-типом text/css.
3205 *) Добавление: теперь nginx возвращает код 405 для метода POST при
3206 запросе статического файла, только если файл существует.
3208 *) Добавление: директива proxy_ssl_session_reuse.
3210 *) Исправление: после перенаправления запроса с помощью
3211 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
3212 оригинальный запрос.
3214 *) Исправление: если у каталога были права доступа только на поиск
3215 файлов и первый индексный файл отсутствовал, то nginx возвращал
3218 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
3222 Изменения в nginx 0.7.10 13.08.2008
3224 *) Исправление: ошибок в директивах addition_types, charset_types,
3225 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
3228 *) Исправление: рекурсивной error_page для 500 ошибки.
3230 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
3231 не для всего keepalive соединения, а для каждого запроса по этому
3235 Изменения в nginx 0.7.9 12.08.2008
3237 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
3238 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
3239 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
3241 *) Добавление: директивы charset_types и addition_types.
3243 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
3246 *) Добавление: модуль ngx_cpp_test_module.
3248 *) Добавление: директива expires поддерживает суточное время.
3250 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
3251 Спасибо Денису Латыпову и Максиму Дунину.
3253 *) Исправление: директива log_not_found не работала при поиске индексных
3256 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
3257 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
3259 *) Исправление: если в директивах server_name, valid_referers и map
3260 использовалась маска вида "*.domain.tld" и при этом полное имя вида
3261 "domain.tld" не было описано, то это имя попадало под маску; ошибка
3265 Изменения в nginx 0.7.8 04.08.2008
3267 *) Добавление: модуль ngx_http_xslt_module.
3269 *) Добавление: переменные "$arg_...".
3271 *) Добавление: поддержка directio в Solaris.
3272 Спасибо Ivan Debnar.
3274 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
3275 в заголовке ответа без строки статуса, то nginx использует код
3277 Спасибо Максиму Дунину.
3280 Изменения в nginx 0.7.7 30.07.2008
3282 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
3285 *) Изменение: значением переменной $ssl_client_cert теперь является
3286 сертификат, перед каждой строкой которого, кроме первой, вставляется
3287 символ табуляции; неизменённый сертификат доступен через переменную
3288 $ssl_client_raw_cert.
3290 *) Добавление: параметр ask директивы ssl_verify_client.
3292 *) Добавление: улучшения в обработке byte-range.
3293 Спасибо Максиму Дунину.
3295 *) Добавление: директива directio.
3298 *) Добавление: поддержка sendfile() в MacOSX 10.5.
3300 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
3301 делается сравнение без учёта регистра символов; однако, сравнение
3302 ограничено только однобайтными locale'ями.
3304 *) Исправление: соединения почтового прокси-сервера зависали в режиме
3305 SSL, если использовались методы select, poll или /dev/poll.
3307 *) Исправление: ошибки при использовании кодировки UTF-8 в
3308 ngx_http_autoindex_module.
3311 Изменения в nginx 0.7.6 07.07.2008
3313 *) Исправление: теперь при использовании переменных в директиве
3314 access_log всегда проверяется существовании root'а для запроса.
3316 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
3317 значений в аргументах запроса.
3320 Изменения в nginx 0.7.5 01.07.2008
3322 *) Исправления в поддержке переменных в директиве access_log; ошибки
3325 *) Исправление: nginx не собирался с параметром
3326 --without-http_gzip_module; ошибка появилась в 0.7.3.
3327 Спасибо Кириллу Коринскому.
3329 *) Исправление: при совместном использовании sub_filter и SSI ответы
3330 могли передаваться неверно.
3333 Изменения в nginx 0.7.4 30.06.2008
3335 *) Добавление: директива access_log поддерживает переменные.
3337 *) Добавление: директива open_log_file_cache.
3339 *) Добавление: ключ -g.
3341 *) Добавление: поддержка строки "Expect" в заголовке запроса.
3343 *) Исправление: большие включения в SSI могли передавались не полностью.
3346 Изменения в nginx 0.7.3 23.06.2008
3348 *) Изменение: MIME-тип для расширения rss изменён на
3349 "application/rss+xml".
3351 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
3352 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
3354 *) Добавление: теперь при использовании протокола "https://" в директиве
3355 rewrite автоматически делается редирект.
3357 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
3358 ошибка появилась в 0.6.9.
3361 Изменения в nginx 0.7.2 16.06.2008
3363 *) Добавление: теперь nginx поддерживает шифры с обменом EDH-ключами.
3365 *) Добавление: директива ssl_dhparam.
3367 *) Добавление: переменная $ssl_client_cert.
3368 Спасибо Manlio Perillo.
3370 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
3371 искал новый location; ошибка появилась в 0.7.1.
3372 Спасибо Максиму Дунину.
3374 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3377 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
3378 nginx не добавлял аргументы из оригинального запроса.
3381 Изменения в nginx 0.7.1 26.05.2008
3383 *) Изменение: теперь поиск location'а делается с помощью дерева.
3385 *) Изменение: директива optimize_server_names упразднена в связи с
3386 появлением директивы server_name_in_redirect.
3388 *) Изменение: некоторые давно устаревшие директивы больше не
3391 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
3392 параметр используется по умолчанию.
3393 Спасибо Rob Mueller.
3395 *) Исправление: рабочие процессы могли не реагировать на сигналы
3396 переконфигурации и ротации логов.
3398 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
3402 Изменения в nginx 0.7.0 19.05.2008
3404 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
3405 записываются в виде \xXX.
3406 Спасибо Максиму Дунину.
3408 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
3411 *) Добавление: директива expires поддерживает флаг modified.
3413 *) Добавление: переменные $uid_got и $uid_set можно использовать на
3414 любой стадии обработки запроса.
3416 *) Добавление: переменная $hostname.
3417 Спасибо Андрею Нигматулину.
3419 *) Добавление: поддержка DESTDIR.
3420 Спасибо Todd A. Fisher и Andras Voroskoi.
3422 *) Исправление: при использовании keepalive на Linux в рабочем процессе
3423 мог произойти segmentation fault.
3426 Изменения в nginx 0.6.31 12.05.2008
3428 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
3429 заголовка ответ была в конце записи FastCGI; ошибка появилась в
3431 Спасибо Сергею Серову.
3433 *) Исправление: при удалении файла и использовании директивы
3434 open_file_cache_errors off в рабочем процессе мог произойти
3438 Изменения в nginx 0.6.30 29.04.2008
3440 *) Изменение: теперь, если маске, заданной в директиве include, не
3441 соответствует ни один файл, то nginx не выдаёт ошибку.
3443 *) Добавление: теперь время в директивах можно задавать без пробела,
3446 *) Исправление: утечек памяти, если директива ssl_verify_client имела
3448 Спасибо Chavelle Vincent.
3450 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
3453 *) Исправление: директива error_page не воспринимала параметры в
3454 перенаправляемом URI.
3456 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
3459 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
3463 Изменения в nginx 0.6.29 18.03.2008
3465 *) Добавление: модуль ngx_google_perftools_module.
3467 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
3468 платформах; ошибка появилась в 0.6.27.
3471 Изменения в nginx 0.6.28 13.03.2008
3473 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
3476 Изменения в nginx 0.6.27 12.03.2008
3478 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
3481 *) Изменение: теперь при перенаправлении запроса в именованный location
3482 с помощью директивы error_page метод запроса не изменяется.
3484 *) Добавление: директивы resolver и resolver_timeout в SMTP
3487 *) Добавление: директива post_action поддерживает именованные
3490 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3491 proxy, FastCGI или memcached в именованный location со статическим
3492 обработчиком в рабочем процессе происходил segmentation fault.
3494 *) Исправление: браузеры не повторяли SSL handshake, если при первом
3495 handshake не оказалось правильного клиентского сертификата.
3496 Спасибо Александру Инюхину.
3498 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
3499 error_page без изменения кода ошибки nginx пытался выделить очень
3502 *) Исправление: утечки памяти в долгоживущих небуфферизированных
3505 *) Исправление: утечки памяти в resolver'е.
3507 *) Исправление: при перенаправлении запроса из location'а c обработчиком
3508 proxy в другой location с обработчиком proxy в рабочем процессе
3509 происходил segmentation fault.
3511 *) Исправление: ошибки в кэшировании переменных $proxy_host и
3513 Спасибо Сергею Боченкову.
3515 *) Исправление: директива proxy_pass с переменными использовала порт,
3516 описанной в другой директиве proxy_pass без переменных, но с таким же
3518 Спасибо Сергею Боченкову.
3520 *) Исправление: во время переконфигурации на некоторых 64-битном
3521 платформах в лог записывался alert "sendmsg() failed (9: Bad file
3524 *) Исправление: при повторном использовании в SSI пустого block'а в
3525 качестве заглушки в рабочем процессе происходил segmentation fault.
3527 *) Исправление: ошибки при копировании части URI, содержащего
3528 экранированные символы, в аргументы.
3531 Изменения в nginx 0.6.26 11.02.2008
3533 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
3536 *) Исправление: при использовании большого значения в директиве expires
3537 в рабочем процессе происходил segmentation fault.
3538 Спасибо Joaquin Cuenca Abela.
3540 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
3541 Спасибо Геннадию Махомеду.
3543 *) Исправление: в проксированных подзапросах и подзапросах к
3544 FastCGI-серверу вместо метода GET использовался оригинальный метод
3547 *) Исправление: утечки сокетов в режиме HTTPS при использовании
3548 отложенного accept'а.
3551 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
3552 (SSL: )"; ошибка появилась в 0.6.23.
3554 *) Исправление: при использовании HTTPS запросы могли завершаться с
3555 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
3558 Изменения в nginx 0.6.25 08.01.2008
3560 *) Изменение: вместо специального параметра "*" в директиве server_name
3561 теперь используется директива server_name_in_redirect.
3563 *) Изменение: в качестве основного имени в директиве server_name теперь
3564 можно использовать имена с масками и регулярными выражениями.
3566 *) Изменение: директива satisfy_any заменена директивой satisfy.
3568 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
3569 нагружать процессор при запуске под Linux OpenVZ.
3571 *) Добавление: директива min_delete_depth.
3573 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
3575 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
3576 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
3578 *) Исправление: утечки сокетов в режиме HTTPS при использовании
3579 отложенного accept'а.
3582 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
3586 Изменения в nginx 0.6.24 27.12.2007
3588 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
3589 segmentation fault; ошибка появилась в 0.6.23.
3592 Изменения в nginx 0.6.23 27.12.2007
3594 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
3595 параметр используется по умолчанию.
3597 *) Изменение: директива open_file_cache_retest переименована в
3598 open_file_cache_valid.
3600 *) Добавление: директива open_file_cache_min_uses.
3602 *) Добавление: модуль ngx_http_gzip_static_module.
3604 *) Добавление: директива gzip_disable.
3606 *) Добавление: директиву memcached_pass можно использовать внутри блока
3609 *) Исправление: если внутри одного location'а использовались директивы
3610 "memcached_pass" и "if", то в рабочем процессе происходил
3613 *) Исправление: если при использовании директивы satisfy_any on" были
3614 заданы директивы не всех модулей доступа, то заданные директивы не
3617 *) Исправление: параметры, заданные регулярным выражением в директиве
3618 valid_referers, не наследовалась с предыдущего уровня.
3620 *) Исправление: директива post_action не работала, если запрос
3621 завершался с кодом 499.
3623 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
3626 *) Исправление: STARTTLS в режиме SMTP не работал.
3627 Спасибо Олегу Мотиенко.
3629 *) Исправление: при использовании HTTPS запросы могли завершаться с
3630 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
3633 Изменения в nginx 0.6.22 19.12.2007
3635 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
3636 значения, скопированные в память, выделенную perl'ом.
3638 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
3639 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
3640 время переконфигурации основной процесс аварийно выходил; ошибка
3642 Спасибо Борису Жмурову.
3644 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
3645 неверные результаты выделения в регулярных выражениях.
3647 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
3648 у которого небольшое тело запроса было уже полностью получено, то в
3649 рабочем процессе происходил segmentation fault.
3651 *) Исправление: large_client_header_buffers не освобождались перед
3652 переходом в состояние keep-alive.
3653 Спасибо Олександру Штепе.
3655 *) Исправление: в переменной $upstream_addr не записывался последний
3656 адрес; ошибка появилась в 0.6.18.
3658 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
3659 теперь она возвращает ошибку 502, которую можно направить на
3660 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
3662 *) Исправление: при использовании директивы fastcgi_catch_stderr в
3663 основном процессе происходил segmentation fault; ошибка появилась в
3665 Спасибо Manlio Perillo.
3668 Изменения в nginx 0.6.21 03.12.2007
3670 *) Изменение: если в значениях переменных директивы proxy_pass
3671 используются только IP-адреса, то указывать resolver не нужно.
3673 *) Исправление: при использовании директивы proxy_pass c URI-частью в
3674 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3677 *) Исправление: если resolver использовался на платформах, не
3678 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
3680 Спасибо Андрею Нигматулину.
3682 *) Исправление: При использовании переменной $server_protocol в
3683 FastCGI-параметрах и запросе, длина которого была близка к значению
3684 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
3685 the request record is too big".
3687 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
3688 nginx возвращал обычный ответ.
3691 Изменения в nginx 0.6.20 28.11.2007
3693 *) Исправление: при использовании директивы proxy_pass c URI-частью в
3694 рабочем процессе мог произойти segmentation fault; ошибка появилась в
3698 Изменения в nginx 0.6.19 27.11.2007
3700 *) Исправление: версия 0.6.18 не собиралась.
3703 Изменения в nginx 0.6.18 27.11.2007
3705 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
3706 процесса добавляет микросекунды на время старта.
3708 *) Изменение: в error_log теперь записывается полная строка запроса
3711 *) Добавление: директива proxy_pass поддерживает переменные.
3713 *) Добавление: директивы resolver и resolver_timeout.
3715 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
3716 заголовке ответа строку "Last-Modified".
3718 *) Исправление: директива limit_rate не позволяла передавать на полной
3719 скорости, даже если был указан очень большой лимит.
3722 Изменения в nginx 0.6.17 15.11.2007
3724 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
3725 Спасибо Александру Инюхину.
3727 *) Исправление: при использовании директивы msie_refresh повторно
3728 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
3730 *) Исправление: директива autoindex не работала при использовании "alias
3733 *) Исправление: при использовании подзапросов в рабочем процессе мог
3734 произойти segmentation fault.
3736 *) Исправление: при использовании SSL и gzip большие ответы могли
3737 передаваться не полностью.
3739 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
3740 то переменная $status была равна 0.
3743 Изменения в nginx 0.6.16 29.10.2007
3745 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
3746 Спасибо Илье Новикову.
3748 *) Исправление: если в директиве error_page использовался символ "?", то
3749 он экранировался при проксировании запроса; ошибка появилась в
3752 *) Исправление: совместимость с mget.
3755 Изменения в nginx 0.6.15 22.10.2007
3757 *) Добавление: совместимость с Cygwin.
3758 Спасибо Владимиру Кутакову.
3760 *) Добавление: директива merge_slashes.
3762 *) Добавление: директива gzip_vary.
3764 *) Добавление: директива server_tokens.
3766 *) Исправление: nginx не раскодировал URI в команде SSI include.
3768 *) Исправление: при использовании переменной в директивах charset или
3769 source_charset на старте или во время переконфигурации происходил
3772 *) Исправление: nginx возвращал ошибку 400 на запросы вида
3773 "GET http://www.domain.com HTTP/1.0".
3774 Спасибо James Oakley.
3776 *) Исправление: после перенаправления запроса с телом запроса с помощью
3777 директивы error_page nginx пытался снова прочитать тело запроса;
3778 ошибка появилась в 0.6.7.
3780 *) Исправление: в рабочем процессе происходил segmentation fault, если у
3781 сервера, обрабатывающему запрос, не был явно определён server_name;
3782 ошибка появилась в 0.6.7.
3785 Изменения в nginx 0.6.14 15.10.2007
3787 *) Изменение: теперь по умолчанию команда SSI echo использует
3790 *) Добавление: параметр encoding в команде SSI echo.
3792 *) Добавление: директиву access_log можно использовать внутри блока
3795 *) Исправление: если все сервера апстрима оказывались недоступными, то
3796 до восстановления работоспособности у всех серверов вес становился
3797 равным одному; ошибка появилась в 0.6.6.
3799 *) Исправление: при использовании переменных $date_local и $date_gmt вне
3800 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
3803 *) Исправление: при использовании включённом отладочном логе в рабочем
3804 процессе мог произойти segmentation fault.
3805 Спасибо Андрею Нигматулину.
3807 *) Исправление: ngx_http_memcached_module не устанавливал
3808 $upstream_response_time.
3809 Спасибо Максиму Дунину.
3811 *) Исправление: рабочий процесс мог зациклиться при использовании
3814 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
3815 строке "Connection" в заголовке запроса только, если они были в
3816 нижнем регистре; ошибка появилась в 0.6.11.
3818 *) Исправление: sub_filter не работал с пустой строкой замены.
3820 *) Исправление: в парсинге sub_filter.
3823 Изменения в nginx 0.6.13 24.09.2007
3825 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
3826 использовался autoindex
3827 Спасибо Arkadiusz Patyk.
3830 Изменения в nginx 0.6.12 21.09.2007
3832 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
3835 *) Добавление: параметры конфигурации --without-mail_pop3_module,
3836 --without-mail_imap_module и --without-mail_smtp_module.
3838 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
3839 ngx_mail_smtp_module.
3841 *) Исправление: wildcard в конце имени сервера не работали; ошибка
3844 *) Исправление: при использовании разделяемой библиотеки PCRE,
3845 расположенной в нестандартном месте, nginx не запускался на Solaris.
3847 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
3848 скрывали строки заголовка ответа с именем больше 32 символов.
3849 Спасибо Manlio Perillo.
3852 Изменения в nginx 0.6.11 11.09.2007
3854 *) Исправление: счётчик активных соединений всегда рос при использовании
3855 почтового прокси-сервера.
3857 *) Исправление: если бэкенд возвращал только заголовок ответа при
3858 небуферизированном проксировании, то nginx закрывал соединение с
3859 бэкендом по таймауту.
3861 *) Исправление: nginx не поддерживал несколько строк "Connection" в
3864 *) Исправление: если в сервере апстрима был задан max_fails, то после
3865 первой же неудачной попытки вес сервера навсегда становился равным
3866 одному; ошибка появилась в 0.6.6.
3869 Изменения в nginx 0.6.10 03.09.2007
3871 *) Добавление: директивы open_file_cache, open_file_cache_retest и
3872 open_file_cache_errors.
3874 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
3876 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
3877 методе $r->send_http_header(), не добавлялась кодировка, указанная в
3880 *) Исправление: при использовании метода /dev/poll в рабочем процессе
3881 мог произойти segmentation fault.
3884 Изменения в nginx 0.6.9 28.08.2007
3886 *) Исправление: рабочий процесс мог зациклиться при использовании
3887 протокола HTTPS; ошибка появилась в 0.6.7.
3889 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
3890 не запускался при использовании wildcard в конце имени сервера.
3892 *) Исправление: директива ip_hash могла неверно помечать сервера как
3895 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
3898 Изменения в nginx 0.6.8 20.08.2007
3900 *) Изменение: теперь nginx пытается установить директивы
3901 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
3902 worker_rlimit_sigpending без привилегий root'а.
3904 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
3905 запроса серверу аутентификации почтового прокси-сервера.
3907 *) Изменение: теперь nginx экранирует символ "%" в переменной
3910 *) Исправление: при указании относительного пути к конфигурационному
3911 файлу в качестве параметра ключа -c nginx определял путь относительно
3912 конфигурационного префикса; ошибка появилась в 0.6.6.
3914 *) Исправление: nginx не работал на FreeBSD/sparc64.
3917 Изменения в nginx 0.6.7 15.08.2007
3919 *) Изменение: теперь пути, указанные в директивах include,
3920 auth_basic_user_file, perl_modules, ssl_certificate,
3921 ssl_certificate_key и ssl_client_certificate, определяются
3922 относительно каталога конфигурационного файла nginx.conf, а не
3923 относительно префикса.
3925 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
3927 *) Изменение: для обновления на лету версий 0.1.x создан специальный
3928 сценарий make upgrade1.
3930 *) Добавление: директивы server_name и valid_referers поддерживают
3931 регулярные выражения.
3933 *) Добавление: директива server в блоке upstream поддерживает параметр
3936 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3937 $r->discard_request_body.
3939 *) Добавление: директива "add_header Last-Modified ..." меняет строку
3940 "Last-Modified" в заголовке ответа.
3942 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
3943 отличным от 200, и после этого запроса соединение переходило в
3944 состояние keep-alive, то на следующий запрос nginx возвращал 400.
3946 *) Исправление: если в директиве auth_http был задан неправильный адрес,
3947 то в рабочем процессе происходил segmentation fault.
3949 *) Исправление: теперь по умолчанию nginx использует значение 511 для
3950 listen backlog на всех платформах, кроме FreeBSD.
3953 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
3954 upstream был помечен как down; ошибка появилась в 0.6.6.
3956 *) Исправление: sendfilev() в Solaris теперь не используется при
3957 передаче тела запроса FastCGI-серверу через unix domain сокет.
3960 Изменения в nginx 0.6.6 30.07.2007
3962 *) Добавление: параметр --sysconfdir=PATH в configure.
3964 *) Добавление: именованные location'ы.
3966 *) Добавление: переменную $args можно устанавливать с помощью set.
3968 *) Добавление: переменная $is_args.
3970 *) Исправление: равномерное распределение запросов к апстримам с
3973 *) Исправление: если клиент в почтовом прокси-сервере закрывал
3974 соединение, то nginx мог не закрывать соединение с бэкендом.
3976 *) Исправление: при использовании одного хоста в качестве бэкендов для
3977 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
3978 только один порт - 80 или 443.
3980 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
3981 более ранними версиями; ошибка появилась в 0.6.4.
3984 Изменения в nginx 0.6.5 23.07.2007
3986 *) Добавление: переменная $nginx_version.
3987 Спасибо Николаю Гречуху.
3989 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
3991 Спасибо Максиму Дунину.
3993 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
3995 Спасибо Максиму Дунину.
3997 *) Исправление: теперь nginx экранирует пробел в переменной
4000 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
4003 *) Исправление: незначительных потенциальных ошибок.
4004 Спасибо Coverity's Scan.
4007 Изменения в nginx 0.6.4 17.07.2007
4009 *) Безопасность: при использовании директивы msie_refresh был возможен
4011 Спасибо Максиму Богуку.
4013 *) Изменение: директивы proxy_store и fastcgi_store изменены.
4015 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
4017 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4019 Спасибо Андрею Нигматулину.
4021 *) Изменение: обход ошибки в Sun Studio 12.
4025 Изменения в nginx 0.6.3 12.07.2007
4027 *) Добавление: директивы proxy_store и fastcgi_store.
4029 *) Исправление: при использовании директивы auth_http_header в рабочем
4030 процессе мог произойти segmentation fault.
4031 Спасибо Максиму Дунину.
4033 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
4034 не был разрешён, то в рабочем процессе происходил segmentation fault.
4036 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4037 в рабочем процессе мог произойти segmentation fault.
4039 *) Исправление: в рабочем процессе мог произойти segmentation fault,
4040 если использовался метод eventport.
4042 *) Исправление: директивы proxy_ignore_client_abort и
4043 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
4046 Изменения в nginx 0.6.2 09.07.2007
4048 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
4049 nginx передавал клиенту мусор в таких заголовках.
4052 Изменения в nginx 0.6.1 17.06.2007
4054 *) Исправление: в парсинге SSI.
4056 *) Исправление: при использовании удалённого подзапроса в SSI
4057 последующий подзапрос локального файла мог отдаваться клиенту в
4060 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
4061 передавались не полностью.
4063 *) Исправление: значение perl'овой переменной $$ модуля
4064 ngx_http_perl_module было равно номеру главного процесса.
4067 Изменения в nginx 0.6.0 14.06.2007
4069 *) Добавление: директивы "server_name", "map", and "valid_referers"
4070 поддерживают маски вида "www.example.*".
4073 Изменения в nginx 0.5.25 11.06.2007
4075 *) Исправление: nginx не собирался с параметром
4076 --without-http_rewrite_module; ошибка появилась в 0.5.24.
4079 Изменения в nginx 0.5.24 06.06.2007
4081 *) Безопасность: директива ssl_verify_client не работала, если запрос
4082 выполнялся по протоколу HTTP/0.9.
4084 *) Исправление: при использовании сжатия часть ответа могла передаваться
4085 несжатой; ошибка появилась в 0.5.23.
4088 Изменения в nginx 0.5.23 04.06.2007
4090 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
4091 Server Name Indication.
4093 *) Добавление: директива fastcgi_catch_stderr.
4094 Спасибо Николаю Гречуху, проект OWOX.
4096 *) Исправление: на Линуксе в основном процессе происходил segmentation
4097 fault, если два виртуальных сервера должны bind()ится к
4098 пересекающимся портам.
4100 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4101 perl поддерживал потоки, то во время второй переконфигурации
4102 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
4104 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4107 Изменения в nginx 0.5.22 29.05.2007
4109 *) Исправление: большое тело запроса могло не передаваться бэкенду;
4110 ошибка появилась в 0.5.21.
4113 Изменения в nginx 0.5.21 28.05.2007
4115 *) Исправление: если внутри сервера описано больше примерно десяти
4116 location'ов, то location'ы, заданные с помощью регулярного выражения,
4117 могли выполняться не в том, порядке, в каком они описаны.
4119 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
4120 если 33-тий по счёту или последующий бэкенд упал.
4121 Спасибо Антону Поварову.
4123 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
4124 произойти bus error.
4125 Спасибо Андрею Нигматулину.
4127 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4130 Изменения в nginx 0.5.20 07.05.2007
4132 *) Добавление: директива sendfile_max_chunk.
4134 *) Добавление: переменные "$http_...", "$sent_http_..." и
4135 "$upstream_http_..." можно менять директивой set.
4137 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
4138 рабочем процессе мог произойти segmentation fault.
4140 *) Исправление: завершающая строка multipart range ответа передавалась
4142 Спасибо Evan Miller.
4144 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
4146 Спасибо Андрею Нигматулину.
4148 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
4149 Спасибо Андрею Нигматулину.
4152 Изменения в nginx 0.5.19 24.04.2007
4154 *) Изменение: значение переменной $request_time теперь записывается с
4155 точностью до миллисекунд.
4157 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
4158 переименован в $r->flush.
4160 *) Добавление: переменная $upstream_addr.
4162 *) Добавление: директивы proxy_headers_hash_max_size и
4163 proxy_headers_hash_bucket_size.
4164 Спасибо Володымыру Костырко.
4166 *) Исправление: при использовании sendfile и limit_rate на 64-битных
4167 платформах нельзя было передавать файлы больше 2G.
4169 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
4170 было передавать файлы больше 2G.
4173 Изменения в nginx 0.5.18 19.04.2007
4175 *) Добавление: модуль ngx_http_sub_filter_module.
4177 *) Добавление: переменные "$upstream_http_...".
4179 *) Добавление: теперь переменные $upstream_status и
4180 $upstream_response_time содержат данные о всех обращениях к
4181 апстримам, сделанным до X-Accel-Redirect.
4183 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
4184 perl не поддерживал multiplicity, то после первой переконфигурации и
4185 после получения любого сигнала в основном процессе происходил
4186 segmentation fault; ошибка появилась в 0.5.9.
4188 *) Исправление: если perl не поддерживал multiplicity, то после
4189 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
4192 Изменения в nginx 0.5.17 02.04.2007
4194 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
4196 *) Добавление: теперь nginx поддерживает директиву include внутри блока
4199 *) Исправление: использование переменной $document_root в директиве root
4200 и alias запрещено: оно вызывало рекурсивное переполнение стека.
4202 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4204 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
4205 $uri) возвращали старое закэшированное значение.
4208 Изменения в nginx 0.5.16 26.03.2007
4210 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
4211 использовалась сеть класса С.
4212 Спасибо Павлу Ярковому.
4214 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
4215 был указан charset и строка завершалась символом ";", то в рабочем
4216 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
4218 *) Исправление: ошибки "[alert] zero size buf" при работе с
4219 FastCGI-сервером, если тело запроса, записанное во временный файл,
4222 *) Исправление: nginx не собирался на Solaris без параметра
4223 --with-debug; ошибка появилась в 0.5.15.
4226 Изменения в nginx 0.5.15 19.03.2007
4228 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
4229 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
4230 Спасибо Антону Южанинову и Максиму Дунину.
4232 *) Добавление: теперь keep-alive соединения закрываются сразу же по
4233 получении сигнала переконфигурации.
4235 *) Изменение: директивы imap и auth переименованы соответственно в mail
4238 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
4239 был разрешён метод APOP, то в рабочем процессе происходил
4242 *) Исправление: при использовании директивы starttls only в протоколе
4243 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
4245 *) Исправление: рабочие процессы не выходили после переконфигурации и не
4246 переоткрывали логи, если использовался метод eventport.
4248 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
4251 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
4252 используются методы eventport или /dev/poll.
4255 Изменения в nginx 0.5.14 23.02.2007
4257 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
4258 конфигурационного файла.
4261 Изменения в nginx 0.5.13 19.02.2007
4263 *) Добавление: методы COPY и MOVE.
4265 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
4266 запросов, переданных по keep-alive соединению.
4268 *) Исправление: nginx не работал на 64-битном big-endian Linux.
4269 Спасибо Андрею Нигматулину.
4271 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
4272 теперь сразу закрывает соединение, а не по таймауту.
4274 *) Исправление: если при использовании метода epoll клиент закрывал
4275 преждевременно соединение со своей стороны, то nginx закрывал это
4276 соединение только по истечении таймаута на передачу.
4278 *) Исправление: nginx не собирался на платформах, отличных от i386,
4279 amd64, sparc и ppc; ошибка появилась в 0.5.8.
4282 Изменения в nginx 0.5.12 12.02.2007
4284 *) Исправление: nginx не собирался на платформах, отличных от i386,
4285 amd64, sparc и ppc; ошибка появилась в 0.5.8.
4287 *) Исправление: при использовании временных файлов в время работы с
4288 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
4289 ошибка появилась в 0.5.8.
4291 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
4292 то в рабочем процессе мог произойти segmentation fault.
4294 *) Исправление: ngx_http_perl_module не собирался на Solaris.
4297 Изменения в nginx 0.5.11 05.02.2007
4299 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
4300 Спасибо Chris McGrath.
4302 *) Исправление: ответ был неверным, если запрашивалось несколько
4303 диапазонов; ошибка появилась в 0.5.6.
4305 *) Исправление: директива create_full_put_path не могла создавать
4306 промежуточные каталоги, если не была установлена директива
4308 Спасибо Evan Miller.
4310 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
4311 записываться код "0".
4313 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
4314 произойти segmentation fault.
4317 Изменения в nginx 0.5.10 26.01.2007
4319 *) Исправление: во время обновления исполняемого файла новый процесс не
4320 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
4322 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
4323 произойти segmentation fault; ошибка появилась в 0.5.1.
4326 Изменения в nginx 0.5.9 25.01.2007
4328 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
4329 использует значение переменной $memcached_key.
4331 *) Добавление: переменная $memcached_key.
4333 *) Добавление: параметр clean в директиве client_body_in_file_only.
4335 *) Добавление: директива env.
4337 *) Добавление: директива sendfile работает внутри блока if.
4339 *) Добавление: теперь при ошибке записи в access_log nginx записывает
4340 сообщение в error_log, но не чаще одного раза в минуту.
4342 *) Исправление: директива "access_log off" не всегда запрещала запись в
4346 Изменения в nginx 0.5.8 19.01.2007
4348 *) Исправление: если использовалась директива
4349 "client_body_in_file_only on" и тело запроса было небольшое, то мог
4350 произойти segmentation fault.
4352 *) Исправление: происходил segmentation fault, если использовались
4353 директивы "client_body_in_file_only on" и
4354 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
4355 делался переход к следующему бэкенду.
4357 *) Исправление: если при использовании директивы "proxy_buffering off"
4358 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
4359 заданному директивой send_timeout; ошибка появилась в 0.4.7.
4361 *) Исправление: если при использовании метода epoll клиент закрывал
4362 преждевременно соединение со своей стороны, то nginx закрывал это
4363 соединение только по истечении таймаута на передачу.
4365 *) Исправление: ошибки "[alert] zero size buf" при работе с
4368 *) Исправление ошибок в директиве limit_zone.
4371 Изменения в nginx 0.5.7 15.01.2007
4373 *) Добавление: оптимизация использования памяти в ssl_session_cache.
4375 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
4377 *) Исправление: на старте или во время переконфигурации происходил
4378 segmentation fault, если директивы ssl_session_cache или limit_zone
4379 использовались на 64-битных платформах.
4381 *) Исправление: при использовании директив add_before_body или
4382 add_after_body происходил segmentation fault, если в заголовке ответа
4383 нет строки "Content-Type".
4385 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
4387 Спасибо Дену Иванову.
4389 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
4392 Изменения в nginx 0.5.6 09.01.2007
4394 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
4395 кроме GET, HEAD и POST.
4397 *) Добавление: модуль ngx_http_limit_zone_module.
4399 *) Добавление: переменная $binary_remote_addr.
4401 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
4402 ngx_imap_ssl_module.
4404 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
4406 *) Исправление: при использовании $r->sendfile() byte-ranges
4407 передавались неверно.
4410 Изменения в nginx 0.5.5 24.12.2006
4412 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
4414 *) Добавление: ключ -V.
4416 *) Добавление: директива worker_rlimit_core поддерживает указание
4419 *) Исправление: модуль nginx.pm теперь может устанавливаться
4420 непривилегированным пользователем.
4422 *) Исправление: при использовании методов $r->request_body или
4423 $r->request_body_file мог произойти segmentation fault.
4425 *) Исправление: ошибок, специфичных для платформы ppc.
4428 Изменения в nginx 0.5.4 15.12.2006
4430 *) Добавление: директиву perl можно использовать внутри блока
4433 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
4434 заголовке запроса для метода DELETE.
4436 *) Исправление: при использовании одного параметра в директиве
4437 dav_access nginx мог сообщить об ошибке в конфигурации.
4439 *) Исправление: при использовании переменной $host мог произойти
4440 segmentation fault; ошибка появилась в 0.4.14.
4443 Изменения в nginx 0.5.3 13.12.2006
4445 *) Добавление: модуль ngx_http_perl_module поддерживает методы
4446 $r->status, $r->log_error и $r->sleep.
4448 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
4449 конфигурации nginx'а.
4451 *) Исправление: метод $r->has_request_body не работал.
4454 Изменения в nginx 0.5.2 11.12.2006
4456 *) Исправление: если в директивах proxy_pass использовалось имя,
4457 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
4458 ошибка появилась в 0.5.1.
4461 Изменения в nginx 0.5.1 11.12.2006
4463 *) Исправление: директива post_action могла не работать после неудачного
4466 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
4467 Спасибо Bron Gondwana.
4469 *) Исправление: при указании в директиве fastcgi_pass имени описанного
4470 upstream'а выдавалось сообщение "no port in upstream"; ошибка
4473 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4474 использовались одинаковых имена серверов, но с разными портами, то
4475 эти директивы использовали первый описанный порт; ошибка появилась в
4478 *) Исправление: если в директивах proxy_pass и fastcgi_pass
4479 использовались unix domain сокеты, то эти директивы использовали
4480 первый описанный сокет; ошибка появилась в 0.5.0.
4482 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
4483 если он был указан в последней строке файла паролей и после пароля не
4484 было перевода строки, возврата каретки или символа ":".
4486 *) Исправление: переменная $upstream_response_time могла быть равна
4487 "0.000", хотя время обработки было больше 1 миллисекунды.
4490 Изменения в nginx 0.5.0 04.12.2006
4492 *) Изменение: параметры в виде "%name" в директиве log_format больше не
4495 *) Изменение: директивы proxy_upstream_max_fails,
4496 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
4497 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
4498 memcached_upstream_fail_timeout больше не поддерживаются.
4500 *) Добавление: директива server в блоке upstream поддерживает параметры
4501 max_fails, fail_timeout и down.
4503 *) Добавление: директива ip_hash в блоке upstream.
4505 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
4506 сервера аутентификации IMAP/POP3 прокси.
4508 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
4512 Изменения в nginx 0.4.14 27.11.2006
4514 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
4516 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
4519 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
4520 поддержкой потоков; ошибка появилась в 0.3.38.
4522 *) Исправление: ngx_http_perl_module не работал корректно, если перл
4523 вызывался рекурсивно.
4525 *) Исправление: nginx игнорировал имя сервера в строке запроса.
4527 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
4528 процесс мог зациклиться.
4530 *) Исправление: при изменении системного времени переменная
4531 $upstream_response_time могла быть отрицательной.
4533 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
4534 прокси не передавался параметр Auth-Login-Attempt.
4536 *) Исправление: при ошибке соединения с сервером аутентификации
4537 IMAP/POP3 прокси мог произойти segmentation fault.
4540 Изменения в nginx 0.4.13 15.11.2006
4542 *) Добавление: директиву proxy_pass можно использовать внутри блока
4545 *) Добавление: директива limit_except поддерживает все WebDAV методы.
4547 *) Исправление: при использовании директивы add_before_body без
4548 директивы add_after_body ответ передавался не полностью.
4550 *) Исправление: большое тело запроса не принималось, если использовались
4551 метод epoll и deferred accept().
4553 *) Исправление: для ответов модуля ngx_http_autoindex_module не
4554 выставлялась кодировка; ошибка появилась в 0.3.50.
4556 *) Исправление: ошибки "[alert] zero size buf" при работе с
4559 *) Исправление: параметр конфигурации --group= игнорировался.
4560 Спасибо Thomas Moschny.
4562 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
4566 Изменения в nginx 0.4.12 31.10.2006
4568 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4571 *) Исправление: при включении в ответ большого статического файла с
4572 помощью SSI ответ мог передаваться не полностью.
4574 *) Исправление: nginx не убирал "#fragment" в URI.
4577 Изменения в nginx 0.4.11 25.10.2006
4579 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
4581 *) Добавление: модуль ngx_http_perl_module поддерживает метод
4584 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
4585 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
4588 Изменения в nginx 0.4.10 23.10.2006
4590 *) Добавление: POP3 прокси поддерживает APOP.
4592 *) Исправление: при использовании методов select, poll и /dev/poll во
4593 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
4596 *) Исправление: при использовании переменной $server_addr в директиве
4597 map мог произойти segmentation fault.
4599 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
4600 для полных ответов; ошибка появилась в 0.4.7.
4602 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
4606 Изменения в nginx 0.4.9 13.10.2006
4608 *) Добавление: параметр set в команде SSI include.
4610 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
4614 Изменения в nginx 0.4.8 11.10.2006
4616 *) Исправление: если до команды SSI include с параметром wait
4617 выполнялась ещё одна команда SSI include, то параметр wait мог не
4620 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
4622 Спасибо Алексею Ковырину.
4625 Изменения в nginx 0.4.7 10.10.2006
4627 *) Добавление: модуль ngx_http_flv_module.
4629 *) Добавление: переменная $request_body_file.
4631 *) Добавление: директивы charset и source_charset поддерживают
4634 *) Исправление: если до команды SSI include с параметром wait
4635 выполнялась ещё одна команда SSI include, то параметр wait мог не
4638 *) Исправление: при использовании директивы "proxy_buffering off" или
4639 при работе с memcached соединения могли не закрываться по таймауту.
4641 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4642 amd64, sparc64 и ppc64.
4645 Изменения в nginx 0.4.6 06.10.2006
4647 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
4648 amd64, sparc64 и ppc64.
4650 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
4651 chunk'ами, если длина ответа в методе
4652 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
4654 *) Исправление: после перенаправления ошибки с помощью директивы
4655 error_page любая директива модуля ngx_http_rewrite_module возвращала
4656 эту ошибку; ошибка появилась в 0.4.4.
4659 Изменения в nginx 0.4.5 02.10.2006
4661 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
4665 Изменения в nginx 0.4.4 02.10.2006
4667 *) Добавление: переменная $scheme.
4669 *) Добавление: директива expires поддерживает параметр max.
4671 *) Добавление: директива include поддерживает маску "*".
4672 Спасибо Jonathan Dance.
4674 *) Исправление: директива return всегда изменяла код ответа,
4675 перенаправленного директивой error_page.
4677 *) Исправление: происходил segmentation fault, если в методе PUT
4678 передавалось тело нулевой длины.
4680 *) Исправление: при использовании переменных в директиве proxy_redirect
4681 редирект изменялся неверно.
4684 Изменения в nginx 0.4.3 26.09.2006
4686 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
4689 *) Добавление: поддержка Solaris 10 event ports.
4691 *) Добавление: модуль ngx_http_browser_module.
4693 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
4694 помощью директивы error_page мог произойти segmentation fault.
4696 *) Исправление: происходил segmentation fault, если в директиве
4697 proxy_pass использовался unix domain сокет; ошибка появилась в
4700 *) Исправление: SSI не работал с ответами memcached и
4701 небуферизированными проксированными ответами.
4703 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
4706 Изменения в nginx 0.4.2 14.09.2006
4708 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
4712 Изменения в nginx 0.4.1 14.09.2006
4714 *) Исправление: совместимость с DragonFlyBSD.
4715 Спасибо Павлу Назарову.
4717 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
4720 *) Добавление: теперь на Linux nginx для статических запросов использует
4722 Спасибо Yusuf Goolamabbas.
4725 Изменения в nginx 0.4.0 30.08.2006
4727 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
4728 фазы init module в фазу HTTP postconfiguration.
4730 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
4731 считывается заранее: нужно явно инициировать чтение с помощью метода
4732 $r->has_request_body.
4734 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
4737 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
4738 заголовка "Date" для метода PUT.
4740 *) Добавление: директива ssi работает внутри блока if.
4742 *) Исправление: происходил segmentation fault, если в директиве index
4743 использовалась переменные и при этом первое имя индексного файла было
4744 без переменных; ошибка появилась в 0.1.29.
4747 Изменения в nginx 0.3.61 28.08.2006
4749 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
4751 *) Добавление: директива msie_refresh.
4753 *) Добавление: директива recursive_error_pages.
4755 *) Исправление: директива rewrite возвращала неправильный редирект, если
4756 редирект включал в себя выделенные закодированные символы из
4760 Изменения в nginx 0.3.60 18.08.2006
4762 *) Исправление: во время перенаправления ошибки рабочий процесс мог
4763 зациклиться; ошибка появилась в 0.3.59.
4766 Изменения в nginx 0.3.59 16.08.2006
4768 *) Добавление: теперь можно делать несколько перенаправлений через
4769 директиву error_page.
4771 *) Исправление: директива dav_access не поддерживала три параметра.
4773 *) Исправление: директива error_page не изменяла строку "Content-Type"
4774 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
4778 Изменения в nginx 0.3.58 14.08.2006
4780 *) Добавление: директива error_page поддерживает переменные.
4782 *) Изменение: теперь на Linux используется интерфейс procfs вместо
4785 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
4786 "Content-Type" наследуется из первоначального ответа.
4788 *) Исправление: директива error_page не перенаправляла ошибку 413.
4790 *) Исправление: завершающий "?" не удалял старые аргументы, если в
4791 переписанном URI не было новых аргументов.
4793 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
4796 Изменения в nginx 0.3.57 09.08.2006
4798 *) Добавление: переменная $ssl_client_serial.
4800 *) Исправление: в операторе "!-e" в директиве if.
4801 Спасибо Андриану Буданцову.
4803 *) Исправление: при проверке клиентского сертификата nginx не передавал
4804 клиенту информацию о требуемых сертификатах.
4806 *) Исправление: переменная $document_root не поддерживала переменные в
4810 Изменения в nginx 0.3.56 04.08.2006
4812 *) Добавление: директива dav_access.
4814 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
4815 "!-e", "-x" и "!-x".
4817 *) Исправление: при записи в access_log некоторых передаваемых клиенту
4818 строк заголовков происходил segmentation fault, если запрос возвращал
4822 Изменения в nginx 0.3.55 28.07.2006
4824 *) Добавление: параметр stub в команде SSI include.
4826 *) Добавление: команда SSI block.
4828 *) Добавление: скрипт unicode2nginx добавлен в contrib.
4830 *) Исправление: если root был задан только переменной, то корень
4831 задавался относительно префикса сервера.
4833 *) Исправление: если в запросе был "//" или "/.", и после этого
4834 закодированные символы в виде "%XX", то проксируемый запрос
4835 передавался незакодированным.
4837 *) Исправление: метод $r->header_in("Cookie") модуля
4838 ngx_http_perl_module теперь возвращает все строки "Cookie" в
4841 *) Исправление: происходил segmentation fault, если использовался
4842 "client_body_in_file_only on" и делался переход к следующему бэкенду.
4844 *) Исправление: при некоторых условиях во время переконфигурации коды
4845 символов внутри директивы charset_map могли считаться неверными;
4846 ошибка появилась в 0.3.50.
4849 Изменения в nginx 0.3.54 11.07.2006
4851 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
4853 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
4854 memcached_next_upstream поддерживают параметр off.
4856 *) Добавление: директива debug_connection поддерживает запись адресов в
4859 *) Исправление: при перекодировании ответа проксированного сервера или
4860 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
4863 *) Исправление: переменная $upstream_response_time содержала время
4864 только первого обращения к бэкенду.
4866 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
4870 Изменения в nginx 0.3.53 07.07.2006
4872 *) Изменение: директива add_header добавляет строки в ответы с кодом
4875 *) Добавление: директива server в блоке upstream поддерживает параметр
4878 *) Добавление: директива server_name поддерживает маску "*".
4880 *) Добавление: nginx поддерживает тело запроса больше 2G.
4882 *) Исправление: если при использовании "satisfy_any on" клиент успешно
4883 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
4886 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
4889 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
4890 ошибку, nginx продолжал проксирование.
4893 Изменения в nginx 0.3.52 03.07.2006
4895 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
4896 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
4899 *) Исправление: при использовании ограничения скорости рабочий процесс
4900 мог зациклиться; ошибка появилась в 0.3.37.
4902 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
4903 "unknown charset", даже если перекодировка не требовалась; ошибка
4906 *) Исправление: если в результате запроса PUT возвращался код 409, то
4907 временный файл не удалялся.
4910 Изменения в nginx 0.3.51 30.06.2006
4912 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
4913 ошибка появилась в 0.3.50.
4916 Изменения в nginx 0.3.50 28.06.2006
4918 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
4919 переименованы соответственно в proxy_intercept_errors и
4920 fastcgi_intercept_errors.
4922 *) Добавление: модуль ngx_http_charset_module поддерживает
4923 перекодирование из однобайтных кодировок в UTF-8 и обратно.
4925 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4926 "X-Accel-Charset" в ответе бэкенда.
4928 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
4929 только если также использовался символ "$".
4931 *) Исправление: при некоторых условиях в SSI после вставки могла быть
4932 добавлена строка "<!--".
4934 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
4935 то при использовании небуферизированного проксировании не закрывалось
4936 соединение с клиентом.
4939 Изменения в nginx 0.3.49 31.05.2006
4941 *) Исправление: в директиве set.
4943 *) Исправление: при включении в ssi двух и более подзапросов,
4944 обрабатываемых через FastCGI, вместо вывода второго и остальных
4945 подзапросов в ответ включался вывод первого подзапроса.
4948 Изменения в nginx 0.3.48 29.05.2006
4950 *) Изменение: теперь модуль ngx_http_charset_module работает для
4951 подзапросов, в ответах которых нет строки заголовка "Content-Type".
4953 *) Исправление: если в директиве proxy_pass не было URI, то директива
4954 "proxy_redirect default" добавляла в переписанный редирект в начало
4957 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
4958 GET, теперь это делается только для редиректов, выполняемых с помощью
4959 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
4962 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
4963 с поддержкой потоков; ошибка появилась в 0.3.46.
4966 Изменения в nginx 0.3.47 23.05.2006
4968 *) Добавление: директива upstream.
4970 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
4974 Изменения в nginx 0.3.46 11.05.2006
4976 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
4977 fastcgi_hide_header и fastcgi_pass_header.
4979 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
4980 proxy_pass_server упразднены.
4982 *) Добавление: в режиме прокси поддерживается строка заголовка
4983 "X-Accel-Buffering" в ответе бэкенда.
4985 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
4986 ngx_http_perl_module.
4989 Изменения в nginx 0.3.45 06.05.2006
4991 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
4992 ssl_client_certificate.
4994 *) Изменение: теперь переменная $request_method возвращает метод только
4997 *) Изменение: в таблице перекодировки koi-win изменены коды символа
5000 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
5003 *) Исправление: если nginx распределял запросы на несколько машин, то
5004 при падении одной из них запросы, предназначенные для этой машины,
5005 перенаправлялись только на одну машину вместо того, чтобы равномерно
5006 распределяться между остальными.
5009 Изменения в nginx 0.3.44 04.05.2006
5011 *) Добавление: параметр wait в команде SSI include.
5013 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
5014 белорусские символы.
5016 *) Исправление: в SSI.
5019 Изменения в nginx 0.3.43 26.04.2006
5021 *) Исправление: в SSI.
5024 Изменения в nginx 0.3.42 26.04.2006
5026 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
5028 *) Исправление: ошибки при использовании в директиве rewrite одного и
5029 того же выделения более одного раза.
5031 *) Исправление: в лог не записывались переменные
5032 $sent_http_content_type, $sent_http_content_length,
5033 $sent_http_last_modified, $sent_http_connection,
5034 $sent_http_keep_alive и $sent_http_transfer_encoding.
5036 *) Исправление: переменная $sent_http_cache_control возвращала
5037 содержимое только одной строки "Cache-Control" в заголовке ответа.
5040 Изменения в nginx 0.3.41 21.04.2006
5042 *) Добавление: ключ -v.
5044 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
5047 *) Исправление: в обработке FastCGI.
5049 *) Исправление: если путь к перловым модулям не был указан с помощью
5050 --with-perl_modules_path=PATH или директивы perl_modules, то на
5051 старте происходил segmentation fault.
5054 Изменения в nginx 0.3.40 19.04.2006
5056 *) Добавление: модуль ngx_http_dav_module поддерживает метод MKCOL.
5058 *) Добавление: директива create_full_put_path.
5060 *) Добавление: переменная $limit_rate.
5063 Изменения в nginx 0.3.39 17.04.2006
5065 *) Добавление: директива uninitialized_variable_warn; уровень
5066 логгирования сообщения о неинициализированной переменной понижен с
5067 уровня alert на warn.
5069 *) Добавление: директива override_charset.
5071 *) Изменение: при использовании неизвестной переменной в SSI-командах
5072 echo и if expr='$name' теперь не записывается в лог сообщение о
5073 неизвестной переменной.
5075 *) Исправление: счётчик активных соединений рос при превышении лимита
5076 соединений, заданного директивой worker_connections; ошибка появилась
5079 *) Исправление: при некоторых условия ограничение скорости соединения
5080 могло не работать; ошибка появилась в 0.3.38.
5083 Изменения в nginx 0.3.38 14.04.2006
5085 *) Добавление: модуль ngx_http_dav_module.
5087 *) Изменение: оптимизация модуля ngx_http_perl_module.
5088 Спасибо Сергею Скворцову.
5090 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5091 $r->request_body_file.
5093 *) Добавление: директива client_body_in_file_only.
5095 *) Изменение: теперь при переполнении диска nginx пытается писать
5096 access_log'и только раз в секунду.
5097 Спасибо Антону Южанинову и Максиму Дунину.
5099 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
5100 при значениях больше 100 Kbyte/s.
5103 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
5104 символы "\r" и "\n" в логине и пароле в закодированном виде.
5105 Спасибо Максиму Дунину.
5108 Изменения в nginx 0.3.37 07.04.2006
5110 *) Добавление: директива limit_except.
5112 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
5115 *) Добавление: модуль ngx_http_perl_module поддерживает метод
5118 *) Исправление: в модуле ngx_http_addition_filter_module.
5121 Изменения в nginx 0.3.36 05.04.2006
5123 *) Добавление: модуль ngx_http_addition_filter_module.
5125 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
5128 *) Добавление: директивы proxy_ignore_client_abort и
5129 fastcgi_ignore_client_abort.
5131 *) Добавление: переменная $request_completion.
5133 *) Добавление: модуль ngx_http_perl_module поддерживает методы
5134 $r->request_method и $r->remote_addr.
5136 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
5138 *) Исправление: строка "\/" в начале выражения команды if модуля
5139 ngx_http_ssi_module воспринималась неверно.
5141 *) Исправление: в использовании регулярных выражениях в команде if
5142 модуля ngx_http_ssi_module.
5144 *) Исправление: при задании относительного пути в директивах
5145 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
5146 perl_modules использовался каталог относительно текущего каталога, а
5147 не относительно префикса сервера.
5150 Изменения в nginx 0.3.35 22.03.2006
5152 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
5153 для первой директивы listen; ошибка появилась в 0.3.31.
5155 *) Исправление: в директиве proxy_pass без URI при использовании в
5159 Изменения в nginx 0.3.34 21.03.2006
5161 *) Добавление: директива add_header поддерживает переменные.
5164 Изменения в nginx 0.3.33 15.03.2006
5166 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
5167 fastcgi_next_upstream.
5169 *) Исправление: ngx_http_perl_module не работал со встроенным в
5170 конфигурационный файл кодом, если он не начинался сразу же с "sub".
5172 *) Исправление: в директиве post_action.
5175 Изменения в nginx 0.3.32 11.03.2006
5177 *) Исправление: удаление отладочного логгирования на старте и при
5178 переконфигурации; ошибка появилась в 0.3.31.
5181 Изменения в nginx 0.3.31 10.03.2006
5183 *) Изменение: теперь nginx передаёт неверные ответы проксированного
5186 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
5188 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
5190 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
5191 64-битном ядре MacOSX.
5192 Спасибо Андрею Нигматулину.
5194 *) Исправление: если внутри одного сервера описаны несколько директив
5195 listen, слушающих на разных адресах, то имена серверов вида
5196 "*.domain.tld" работали только для первого адреса; ошибка появилась в
5199 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5200 не передавались запросы с телом, записанным во временный файл.
5202 *) Исправление: совместимость с perl 5.8.8.
5205 Изменения в nginx 0.3.30 22.02.2006
5207 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
5210 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
5211 ngx_http_ssi_filter_module.
5213 *) Исправление: nginx не собирался на i386 платформе, если использовался
5214 PIC; ошибка появилась в 0.3.27.
5217 Изменения в nginx 0.3.29 20.02.2006
5219 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
5220 FastCGI передаёт большое количество предупреждений перед ответом.
5222 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
5223 строка заголовка "Transfer-Encoding: chunked".
5225 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
5226 передавал полные строки заголовка ответа в отдельных FastCGI записях.
5228 *) Исправление: если в директиве post_action был указан проксируемый
5229 URI, то он выполнялся только после успешного завершения запроса.
5232 Изменения в nginx 0.3.28 16.02.2006
5234 *) Добавление: директива restrict_host_names упразднена.
5236 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
5238 *) Исправление: при некоторых условиях проксированное соединение с
5239 клиентом завершалось преждевременно.
5240 Спасибо Владимиру Шутову.
5242 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
5243 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
5245 *) Исправление: директива post_action работала только после успешного
5248 *) Исправление: тело проксированного ответа, создаваемого директивой
5249 post_action, передавалось клиенту.
5252 Изменения в nginx 0.3.27 08.02.2006
5254 *) Изменение: директивы variables_hash_max_size и
5255 variables_hash_bucket_size.
5257 *) Добавление: переменная $body_bytes_sent доступна не только в
5258 директиве log_format.
5260 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
5262 *) Добавление: определение размера строки кэша распространённых
5263 процессоров при старте.
5265 *) Добавление: директива accept_mutex теперь поддерживается посредством
5266 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
5268 *) Добавление: директива lock_file и параметр автоконфигурации
5269 --with-lock-path=PATH.
5271 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5272 не передавались запросы с телом.
5275 Изменения в nginx 0.3.26 03.02.2006
5277 *) Изменение: директива optimize_host_names переименована в
5278 optimize_server_names.
5280 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
5281 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
5284 Изменения в nginx 0.3.25 01.02.2006
5286 *) Исправление: при неверной конфигурации на старте или во время
5287 переконфигурации происходил segmentation fault; ошибка появилась в
5291 Изменения в nginx 0.3.24 01.02.2006
5293 *) Изменение: обход ошибки в kqueue во FreeBSD.
5295 *) Исправление: ответ, создаваемый директивой post_action, теперь не
5298 *) Исправление: при использовании большого количества лог-файлов
5299 происходила утечка памяти.
5301 *) Исправление: внутри одного location работала только первая директива
5304 *) Исправление: на 64-битных платформах при старте мог произойти
5305 segmentation fault, если использовалось большое количество имён в
5306 директивах server_name; ошибка появилась в 0.3.18.
5309 Изменения в nginx 0.3.23 24.01.2006
5311 *) Добавление: директива optimize_host_names.
5313 *) Исправление: ошибки при использовании переменных в директивах path и
5316 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
5320 Изменения в nginx 0.3.22 17.01.2006
5322 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
5325 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
5328 *) Исправление: если в директиве valid_referers указаны только none или
5329 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
5332 Изменения в nginx 0.3.21 16.01.2006
5334 *) Добавление: модуль ngx_http_perl_module.
5336 *) Изменение: директива valid_referers разрешает использовать рефереры
5340 Изменения в nginx 0.3.20 11.01.2006
5342 *) Исправление: ошибки в обработке SSI.
5344 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
5348 Изменения в nginx 0.3.19 28.12.2005
5350 *) Добавление: директивы path и alias поддерживают переменные.
5352 *) Изменение: теперь директива valid_referers опять учитывает URI.
5354 *) Исправление: ошибки в обработке SSI.
5357 Изменения в nginx 0.3.18 26.12.2005
5359 *) Добавление: директива server_names поддерживает имена вида
5362 *) Добавление: директива server_names использует хэш для имён вида
5363 "*.domain.tld" и более эффективный хэш для обычных имён.
5365 *) Изменение: директивы server_names_hash_max_size и
5366 server_names_hash_bucket_size.
5368 *) Изменение: директивы server_names_hash и server_names_hash_threshold
5371 *) Добавление: директива valid_referers использует хэш для имён сайтов.
5373 *) Изменение: теперь директива valid_referers проверяет только имена
5374 сайтов без учёта URI.
5376 *) Исправление: некоторые имена вида ".domain.tld" неверно
5377 обрабатывались модулем ngx_http_map_module.
5379 *) Исправление: если конфигурационного файла не было, то происходил
5380 segmentation fault; ошибка появилась в 0.3.12.
5382 *) Исправление: на 64-битных платформах при старте мог произойти
5383 segmentation fault; ошибка появилась в 0.3.16.
5386 Изменения в nginx 0.3.17 18.12.2005
5388 *) Изменение: на Linux configure теперь проверяет наличие epoll и
5389 sendfile64() в ядре.
5391 *) Добавление: директива map поддерживает доменные имена в формате
5394 *) Исправление: во время SSL handshake не иcпользовались таймауты;
5395 ошибка появилась в 0.2.4.
5397 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
5399 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
5400 по умолчанию использовался порт 80.
5403 Изменения в nginx 0.3.16 16.12.2005
5405 *) Добавление: модуль ngx_http_map_module.
5407 *) Добавление: директивы types_hash_max_size и types_hash_bucket_size.
5409 *) Добавление: директива ssi_value_length.
5411 *) Добавление: директива worker_rlimit_core.
5413 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
5414 Pentium 4 номер соединения в логах всегда был равен 1.
5416 *) Исправление: команда config timefmt в SSI задавала неверный формат
5419 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
5420 использовании SSL соединений; ошибка появилась в 0.3.13.
5421 Спасибо Rob Mueller.
5423 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
5424 ошибка появилась в 0.3.13.
5427 Изменения в nginx 0.3.15 07.12.2005
5429 *) Добавление: новой код 444 в директиве return для закрытия соединения.
5431 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
5433 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
5434 соединений только при планом выходе и включённой директиве
5438 Изменения в nginx 0.3.14 05.12.2005
5440 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
5444 Изменения в nginx 0.3.13 05.12.2005
5446 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
5448 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
5451 *) Исправление: ошибки в обработке SSI.
5453 *) Исправление: sendfilev() в Solaris теперь не используется при
5454 передаче тела запроса FastCGI-серверу через unix domain сокет.
5456 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
5460 Изменения в nginx 0.3.12 26.11.2005
5462 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
5463 то при использовании директивы "satisfy_any on" директивы доступа и
5464 аутентификации не работали. Модуль ngx_http_realip_module не
5465 собирался и не собирается по умолчанию.
5467 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
5469 *) Изменение: директивы proxy_header_buffer_size и
5470 fastcgi_header_buffer_size переименованы соответственно в
5471 proxy_buffer_size и fastcgi_buffer_size.
5473 *) Добавление: модуль ngx_http_memcached_module.
5475 *) Добавление: директива proxy_buffering.
5477 *) Исправление: изменение в работе с accept mutex при использовании
5478 метода rtsig; ошибка появилась в 0.3.0.
5480 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
5481 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
5483 *) Исправление: при наследовании директивы auth_basic с уровня http в
5484 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
5487 *) Исправление: если в директиве access_log был явно указан формат
5488 combined, то в лог записывались пустые строки; ошибка появилась в
5491 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
5494 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
5495 в кавычках и закрывающую скобку.
5498 Изменения в nginx 0.3.11 15.11.2005
5500 *) Исправление: nginx не передавал при проксировании тело запроса и
5501 строки заголовка клиента; ошибка появилась в 0.3.10.
5504 Изменения в nginx 0.3.10 15.11.2005
5506 *) Изменение: директива valid_referers и переменная $invalid_referer
5507 перенесены из модуля ngx_http_rewrite_module в новый модуль
5508 ngx_http_referer_module.
5510 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
5513 *) Добавление: переменные "$sent_http_...".
5515 *) Добавление: директива if поддерживает операции "=" и "!=".
5517 *) Добавление: директива proxy_pass поддерживает протокол HTTPS.
5519 *) Добавление: директива proxy_set_body.
5521 *) Добавление: директива post_action.
5523 *) Добавление: модуль ngx_http_empty_gif_module.
5525 *) Добавление: директива worker_cpu_affinity для Linux.
5527 *) Исправление: директива rewrite не раскодировала символы в редиректах
5528 в URI, теперь символы раскодируются, кроме символов %00-%25 и
5531 *) Исправление: nginx не собирался компилятором icc 9.0.
5533 *) Исправление: если для статического файла нулевого размера был
5534 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
5537 Изменения в nginx 0.3.9 10.11.2005
5539 *) Исправление: nginx считал небезопасными URI, в которых между двумя
5540 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
5543 Изменения в nginx 0.3.8 09.11.2005
5545 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
5546 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
5547 наличие путей "/../" и нулей.
5549 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
5550 строке "Authorization" в заголовке запроса.
5552 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
5553 и ngx_imap_ssl_module.
5555 *) Добавление: директива auth_http_header модуля
5556 ngx_imap_auth_http_module.
5558 *) Добавление: директива add_header.
5560 *) Добавление: модуль ngx_http_realip_module.
5562 *) Добавление: новые переменные для использования в директиве
5563 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
5564 $uri, $request_time, $request_length, $upstream_status,
5565 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
5566 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
5569 *) Изменение: в директиве "if" ложными значениями переменных теперь
5570 являются пустая строка "" и строки, начинающиеся на "0".
5572 *) Исправление: при работает с проксированными или FastCGI-серверами
5573 nginx мог оставлять открытыми соединения и временные файлы с
5576 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
5579 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
5580 запрос проксировался в location, заданном регулярным выражением, то
5581 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
5583 *) Исправление: директива expires не удаляла уже установленную строку
5584 заголовка "Expires".
5586 *) Исправление: при использовании метода rtsig и нескольких рабочих
5587 процессах nginx мог перестать принимать запросы.
5589 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
5592 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
5593 при использовании сжатия ответ передавался не до конца или не
5597 Изменения в nginx 0.3.7 27.10.2005
5599 *) Добавление: директива access_log поддерживает параметр buffer=.
5601 *) Исправление: nginx не собирался на платформах, отличных от i386,
5602 amd64, sparc и ppc; ошибка появилась в 0.3.2.
5605 Изменения в nginx 0.3.6 24.10.2005
5607 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
5610 *) Добавление: директива log_format поддерживает переменные в виде
5613 *) Исправление: если хотя бы в одном сервере не было описано ни одной
5614 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
5617 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
5618 использовался порт 80.
5621 Изменения в nginx 0.3.5 21.10.2005
5623 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
5624 мог произойти segmentation fault; ошибка появилась в 0.2.2.
5626 *) Исправление: accept mutex не работал, все соединения обрабатывались
5627 одним рабочим процессом; ошибка появилась в 0.3.3.
5629 *) Исправление: при использовании метода rtsig и директивы
5630 timer_resolution не работали таймауты.
5633 Изменения в nginx 0.3.4 19.10.2005
5635 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
5639 Изменения в nginx 0.3.3 19.10.2005
5641 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
5642 "backlog" и "accept_filter".
5644 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
5646 *) Изменение: параметр лога $msec теперь не требует дополнительного
5647 системного вызова gettimeofday().
5649 *) Добавление: ключ -t теперь проверяет директивы listen.
5651 *) Исправление: если в директиве listen был указан неверный адрес, то
5652 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
5654 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
5655 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
5657 *) Добавление: директива timer_resolution.
5659 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
5661 *) Исправление: временный файл с телом запроса клиента теперь удаляется
5662 сразу после того, как клиенту передан заголовок ответа.
5664 *) Исправление: совместимость с OpenSSL 0.9.6.
5666 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
5669 *) Исправление: директива ssl_prefer_server_ciphers не работала для
5670 модуля ngx_imap_ssl_module.
5672 *) Исправление: директива ssl_protocols позволяла задать только один
5676 Изменения в nginx 0.3.2 12.10.2005
5678 *) Добавление: поддержка Sun Studio 10 C compiler.
5680 *) Добавление: директивы proxy_upstream_max_fails,
5681 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
5682 fastcgi_upstream_fail_timeout.
5685 Изменения в nginx 0.3.1 10.10.2005
5687 *) Исправление: во время переполнения очереди сигналов при использовании
5688 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
5690 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
5693 Изменения в nginx 0.3.0 07.10.2005
5695 *) Изменение: убрано десятидневное ограничение времени работы рабочего
5696 процесса. Ограничение было введено из-за переполнения миллисекундных
5700 Изменения в nginx 0.2.6 05.10.2005
5702 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
5703 бэкенду при использовании распределения нагрузки.
5705 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
5706 запрос теперь передаётся, если в директиве proxy_pass отсутствует
5709 *) Добавление: директива error_page поддерживает редиректы и позволяет
5710 более гибко менять код ошибки.
5712 *) Изменение: в проксированных подзапросах теперь игнорируется
5715 *) Исправление: если после изменения URI в блоке if для запроса не
5716 находилась новая конфигурация, то правила модуля
5717 ngx_http_rewrite_module выполнялись снова.
5719 *) Исправление: если директива set устанавливала переменную модуля
5720 ngx_http_geo_module в какой-либо части конфигурации, то эта
5721 переменная не была доступна в других частях конфигурации и выдавалась
5722 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
5725 Изменения в nginx 0.2.5 04.10.2005
5727 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
5728 теперь выдаёт предупреждение и изменяет старое значение.
5730 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
5732 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
5735 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
5736 значений переменных в выражениях команды if.
5739 Изменения в nginx 0.2.4 03.10.2005
5741 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
5742 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
5745 *) Исправление: ошибки при проксировании location без слэша в конце;
5746 ошибка появилась в 0.1.44.
5748 *) Исправление: при использовании метода rtsig мог произойти
5749 segmentation fault; ошибка появилась в 0.2.0.
5752 Изменения в nginx 0.2.3 30.09.2005
5754 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
5758 Изменения в nginx 0.2.2 30.09.2005
5760 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
5762 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
5765 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
5766 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
5768 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5769 длинных имён файлов;
5771 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
5772 файлы, начинающиеся на точку.
5774 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
5775 привести также к закрытию другого соединения.
5776 Спасибо Rob Mueller.
5778 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
5782 Изменения в nginx 0.2.1 23.09.2005
5784 *) Исправление: если все бэкенды, используемые для балансировки
5785 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5786 nginx мог зациклится; ошибка появилась в 0.2.0.
5789 Изменения в nginx 0.2.0 23.09.2005
5791 *) Изменились имена pid-файлов, используемые во время обновления
5792 исполняемого файла. Ручное переименование теперь не нужно. Старый
5793 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
5794 запускает новый исполняемый файл. Новый основной процесс создаёт
5795 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
5796 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
5797 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
5798 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
5799 0.2.0 - используют pid-файл без суффиксов.
5801 *) Изменение: директива worker_connections, новое название директивы
5802 connections; директива теперь задаёт максимальное число соединений, а
5803 не максимально возможный номер дескриптора для сокета.
5805 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
5808 *) Добавление: директива satisfy_any.
5810 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
5811 не работают для подзапросов.
5813 *) Добавление: директивы worker_rlimit_nofile и
5814 worker_rlimit_sigpending.
5816 *) Исправление: если все бэкенды, используемые для балансировки
5817 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
5818 nginx не обращался к ним в течение 60 секунд.
5820 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
5821 Спасибо Rob Mueller.
5823 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
5825 *) Исправление: ошибки при использовании SSI и сжатия.
5827 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
5828 "Expires" и "Cache-Control".
5829 Спасибо Александру Кукушкину.
5832 Изменения в nginx 0.1.45 08.09.2005
5834 *) Изменение: директива ssl_engine упразднена в модуле
5835 ngx_http_ssl_module и перенесена на глобальный уровень.
5837 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
5838 передавались через SSL соединение.
5840 *) Разные исправления в IMAP/POP3 прокси.
5843 Изменения в nginx 0.1.44 06.09.2005
5845 *) Добавление: IMAP/POP3 прокси поддерживает SSL.
5847 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
5849 *) Добавление: директива userid_mark.
5851 *) Добавление: значение переменной $remote_user определяется независимо
5852 от того, используется ли авторизация или нет.
5855 Изменения в nginx 0.1.43 30.08.2005
5857 *) Добавление: listen(2) backlog в директиве listen можно менять по
5860 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
5862 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
5865 *) Исправление: если в ответе проксированного сервера или FastCGI
5866 сервера была строка "Cache-Control", то при использовании директивы
5867 expires происходил segmentation fault или рабочий процесс мог
5868 зациклится; в режиме прокси ошибка появилась в 0.1.29.
5871 Изменения в nginx 0.1.42 23.08.2005
5873 *) Исправление: если URI запроса получался нулевой длины после обработки
5874 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
5875 происходил segmentation fault или bus error.
5877 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
5881 Изменения в nginx 0.1.41 25.07.2005
5883 *) Исправление: если переменная использовалась в файле конфигурации, то
5884 она не могла использоваться в SSI.
5887 Изменения в nginx 0.1.40 22.07.2005
5889 *) Исправление: если клиент слал очень длинную строку заголовка, то в
5890 логе не помещалась информация, связанная с этим запросом.
5892 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5893 строка "Set-Cookie"; ошибка появилась в 0.1.39.
5895 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
5896 строка "Content-Disposition".
5898 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
5899 на которых он слушал.
5901 *) Исправление: после обновления исполняемого файла на лету на Linux и
5902 Solaris название процесса в команде ps становилось короче.
5905 Изменения в nginx 0.1.39 14.07.2005
5907 *) Изменения в модуле ngx_http_charset_module: директива default_charset
5908 упразднена; директива charset задаёт кодировку ответа; директива
5909 source_charset задаёт только исходную кодировку.
5911 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
5912 не передавалась строка заголовка "WWW-Authenticate".
5914 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
5915 могли закрыть соединение до того, как что-нибудь было передано
5916 клиенту; ошибка появилась в 0.1.38.
5918 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
5920 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
5921 URI в команде include virtual.
5923 *) Исправление: если в строке заголовка ответа бэкенда была строка
5924 "Location", которую nginx не должен был изменять, то в ответе
5925 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
5927 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
5928 ngx_http_fastcgi_module не наследовались с уровня server на уровень
5929 location; ошибка появилась в 0.1.29.
5931 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
5934 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5935 длинных имён файлов; ошибка появилась в 0.1.38.
5937 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
5941 Изменения в nginx 0.1.38 08.07.2005
5943 *) Добавление: директива limit_rate поддерживается в режиме прокси и
5946 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
5947 "X-Accel-Limit-Rate" в ответе бэкенда.
5949 *) Добавление: директива break.
5951 *) Добавление: директива log_not_found.
5953 *) Исправление: при перенаправлении запроса с помощью строки заголовка
5954 "X-Accel-Redirect" не изменялся код ответа.
5956 *) Исправление: переменные, установленные директивой set не могли
5957 использоваться в SSI.
5959 *) Исправление: при включении в SSI более одного удалённого подзапроса
5960 мог произойти segmentation fault.
5962 *) Исправление: если статусная строка в ответе бэкенда передавалась в
5963 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
5966 *) Добавление: директива ssi_types.
5968 *) Добавление: директива autoindex_exact_size.
5970 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
5971 имена файлов в UTF-8.
5973 *) Добавление: IMAP/POP3 прокси.
5976 Изменения в nginx 0.1.37 23.06.2005
5978 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
5980 *) Исправление: при включении большого количества вставок или нескольких
5981 больших вставок с помощью SSI ответ мог передаваться не полностью.
5983 *) Исправление: если все бэкенды возвращали ответ 404, то при
5984 использовании параметра http_404 в директивах proxy_next_upstream или
5985 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
5988 Изменения в nginx 0.1.36 15.06.2005
5990 *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
5991 "Connection", "Content-Length" и "Authorization", то nginx теперь
5994 *) Изменение: директива post_accept_timeout упразднена.
5996 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
5999 *) Добавление: поддержка accept фильтров во FreeBSD.
6001 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
6003 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
6006 *) Исправление: после добавления новый лог-файл ротация этого лога по
6007 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
6008 раза по сигналу -HUP.
6011 Изменения в nginx 0.1.35 07.06.2005
6013 *) Добавление: директива working_directory.
6015 *) Добавление: директива port_in_redirect.
6017 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
6018 то происходил segmentation fault; ошибка появилась в 0.1.29.
6020 *) Исправление: если было сконфигурировано более 10 серверов или в
6021 сервере не описана директива "listen", то при запуске мог произойти
6024 *) Исправление: если ответ не помещался во временный файл, то мог
6025 произойти segmentation fault.
6027 *) Исправление: nginx возвращал ошибку 400 на запросы вида
6028 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
6031 Изменения в nginx 0.1.34 26.05.2005
6033 *) Исправление: при включении больших ответов с помощью SSI рабочий
6034 процесс мог зациклиться.
6036 *) Исправление: переменные, устанавливаемые директивой "set", не были
6039 *) Добавление: директива autoindex_localtime.
6041 *) Исправление: пустое значение в директиве proxy_set_header запрещает
6045 Изменения в nginx 0.1.33 23.05.2005
6047 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
6050 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
6051 вызывали bus fault при запуске.
6053 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
6056 *) Исправление: если директива rewrite использовала выделения внутри
6057 директивы if, то возвращалась ошибка 500.
6060 Изменения в nginx 0.1.32 19.05.2005
6062 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
6063 передавались аргументы; ошибка появилась в 0.1.29.
6065 *) Добавление: директива if поддерживает выделения в регулярных
6068 *) Добавление: директива set поддерживает переменные и выделения из
6069 регулярных выражений.
6071 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
6072 "X-Accel-Redirect" в ответе бэкенда.
6075 Изменения в nginx 0.1.31 16.05.2005
6077 *) Исправление: при использовании SSL ответ мог передаваться не до
6080 *) Исправление: ошибки при обработке SSI в ответе, полученного от
6083 *) Исправление: ошибки при использовании SSI и сжатия.
6085 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
6089 Изменения в nginx 0.1.30 14.05.2005
6091 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
6093 *) Исправление: при использовании SSL ответ мог передаваться не до
6096 *) Исправление: если длина части ответа, полученного за один раз от
6097 проксируемого или FastCGI сервера была равна 500 байт, то nginx
6098 возвращал код ответа 500; в режиме прокси ошибка появилась только в
6101 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
6104 *) Добавление: директива return может возвращать код ответа 204.
6106 *) Добавление: директива ignore_invalid_headers.
6109 Изменения в nginx 0.1.29 12.05.2005
6111 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
6114 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
6115 вида 'if expr="$NAME"' и команды else и endif. Допускается только
6116 один уровень вложенности.
6118 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
6119 DATE_LOCAL и DATE_GMT и команду config timefmt.
6121 *) Добавление: директива ssi_ignore_recycled_buffers.
6123 *) Исправление: если переменная QUERY_STRING не была определена, то в
6124 команде echo не ставилось значение по умолчанию.
6126 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
6128 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
6129 proxy_pass_request_body и proxy_method.
6131 *) Добавление: директива proxy_set_header. Директива proxy_x_var
6132 упразднена и должна быть заменена директивой proxy_set_header.
6134 *) Изменение: директива proxy_preserve_host упразднена и должна быть
6135 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
6136 off" или директивой "proxy_set_header Host $host:$proxy_port" и
6137 соответствующими ей директивами proxy_redirect.
6139 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
6140 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
6142 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
6143 быть заменена директивой
6144 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
6146 *) Изменение: директива proxy_set_x_url упразднена и должна быть
6148 "proxy_set_header X-URL http://$host:$server_port$request_uri".
6150 *) Добавление: директива fastcgi_param.
6152 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
6153 упразднены и должны быть замены директивами fastcgi_param.
6155 *) Добавление: директива index может использовать переменные.
6157 *) Добавление: директива index может быть указана на уровне http и
6160 *) Изменение: только последний параметр в директиве index может быть
6163 *) Добавление: в директиве rewrite могут использоваться переменные.
6165 *) Добавление: директива internal.
6167 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
6168 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
6169 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
6171 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
6172 клиента и ответа бэкенда.
6174 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
6175 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
6177 *) Исправление: если бэкенд передавал неверную строку в заголовке
6178 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
6180 *) Исправление: при использовании отказоустойчивой конфигурации в
6181 FastCGI мог происходить segmentation fault.
6183 *) Исправление: директива expires не удаляла уже установленные строки
6184 заголовка "Expires" и "Cache-Control".
6186 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
6189 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
6191 *) Исправление: директива rewrite неверно работала, если в запросе
6192 присутствовали аргументы.
6194 *) Исправление: nginx не собирался на MacOS X.
6197 Изменения в nginx 0.1.28 08.04.2005
6199 *) Исправление: при проксировании больших файлов nginx сильно нагружал
6202 *) Исправление: nginx не собирался gcc 4.0 на Linux.
6205 Изменения в nginx 0.1.27 28.03.2005
6207 *) Добавление: параметр blocked в директиве valid_referers.
6209 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
6210 уровне info, в лог также записывается имя сервера и строки заголовка
6211 запроса "Host" и "Referer".
6213 *) Изменение: при записи ошибок в лог записывается также строка
6214 заголовка запроса "Host".
6216 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
6217 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
6219 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
6220 параметр конфигурации --without-ngx_http_auth_basic_module.
6223 Изменения в nginx 0.1.26 22.03.2005
6225 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
6226 игнорируется и записываются в error_log на уровне info.
6228 *) Изменение: при записи ошибок в лог записывается также имя сервера,
6229 при обращении к которому произошла ошибка.
6231 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
6232 и auth_basic_user_file.
6235 Изменения в nginx 0.1.25 19.03.2005
6237 *) Исправление: nginx не работал на Linux parisc.
6239 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
6240 sysctl kern.ipc.somaxconn слишком большое.
6242 *) Исправление: если модуль ngx_http_index_module делал внутреннее
6243 перенаправление запроса в модули ngx_http_proxy_module или
6244 ngx_http_fastcgi_module, то файл индекса не закрывался после
6245 обслуживания запроса.
6247 *) Добавление: директива proxy_pass может использоваться в location,
6248 заданных регулярным выражением.
6250 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
6251 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
6253 *) Исправление: nginx очень медленно запускался при большом количестве
6254 адресов и использовании текстовых значений в директиве geo.
6256 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
6257 Прежний вариант без "$" пока работает, но вскоре будет убран.
6259 *) Добавление: параметр лога "%{VARIABLE}v".
6261 *) Добавление: директива "set $name value".
6263 *) Исправление: совместимость с gcc 4.0.
6265 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
6268 Изменения в nginx 0.1.24 04.03.2005
6270 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
6271 QUERY_STRING и DOCUMENT_URI.
6273 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
6274 на существующий каталог, если этот каталог был указан как alias.
6276 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
6277 при больших ответах.
6279 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
6280 правильным referrer'ом.
6283 Изменения в nginx 0.1.23 01.03.2005
6285 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
6286 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
6287 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
6289 *) Добавление: параметр лога %request_time.
6291 *) Добавление: если запрос пришёл без строки заголовка "Host", то
6292 директива proxy_preserve_host устанавливает в качестве этого
6293 заголовка первое имя сервера из директивы server_name.
6295 *) Исправление: nginx не собирался на платформах, отличных от i386,
6296 amd64, sparc и ppc; ошибка появилась в 0.1.22.
6298 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
6299 информацию не о символическом линке, а о файле или каталоге, на
6300 который он указывает.
6302 *) Исправление: если клиенту ничего не передавалось, то параметр
6303 %apache_length записывал в лог отрицательную длину заголовка ответа.
6306 Изменения в nginx 0.1.22 22.02.2005
6308 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
6309 статистику для обработанных соединений, если использовалось
6310 проксирование или FastCGI-сервер.
6312 *) Исправление: на Linux и Solaris установочные пути были неверно
6313 заключены в кавычки; ошибка появилась в 0.1.21.
6316 Изменения в nginx 0.1.21 22.02.2005
6318 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
6319 статистику при использовании метода rtsig или при использовании
6320 нескольких рабочих процессов на SMP машине.
6322 *) Исправление: nginx не собирался компилятором icc под Линуксом или
6323 если библиотека zlib-1.2.x собиралась из исходных текстов.
6325 *) Исправление: nginx не собирался под NetBSD 2.0.
6328 Изменения в nginx 0.1.20 17.02.2005
6330 *) Добавление: новые параметры script_filename и remote_port в директиве
6333 *) Исправление: неправильно обрабатывался поток stderr от
6337 Изменения в nginx 0.1.19 16.02.2005
6339 *) Исправление: если в запросе есть нуль, то для локальных запросов
6340 теперь возвращается ошибка 404.
6342 *) Исправление: nginx не собирался под NetBSD 2.0.
6344 *) Исправление: во время чтения тела запроса клиента в SSL соединении
6345 мог произойти таймаут.
6348 Изменения в nginx 0.1.18 09.02.2005
6350 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
6351 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
6353 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
6356 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
6357 присоединялись к URI через символ "&" вместо "?".
6359 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
6360 включённом файле игнорировались.
6362 *) Добавление: модуль ngx_http_stub_status_module.
6364 *) Исправление: неизвестный формат лог-файла в директиве access_log
6365 вызывал segmentation fault.
6367 *) Добавление: новый параметр document_root в директиве fastcgi_params.
6369 *) Добавление: директива fastcgi_redirect_errors.
6371 *) Добавление: новый модификатор break в директиве rewrite позволяет
6372 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
6376 Изменения в nginx 0.1.17 03.02.2005
6378 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
6379 можно делать редиректы, возвращать коды ошибок и проверять переменные
6380 и рефереры. Эти директивы можно использовать внутри location.
6381 Директива redirect упразднена.
6383 *) Добавление: модуль ngx_http_geo_module.
6385 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
6387 *) Исправление: конфигурация location с модификатором "=" могла
6388 использоваться в другом location.
6390 *) Исправление: правильный тип ответа выставлялся только для запросов, у
6391 которых в расширении были только маленькие буквы.
6393 *) Исправление: если для location установлен proxy_pass или
6394 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
6395 на статическую страницу, то происходил segmentation fault.
6397 *) Исправление: если в проксированном ответе в заголовке "Location"
6398 передавался относительный URL, то к нему добавлялось имя хоста и
6399 слэш; ошибка появилась в 0.1.14.
6401 *) Исправление: на Linux в лог не записывался текст системной ошибки.
6404 Изменения в nginx 0.1.16 25.01.2005
6406 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
6407 выдавался завершающий chunk.
6409 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
6410 директива keepalive_timeout запрещала использование keep-alive.
6412 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
6415 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
6418 *) Исправление: опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные
6419 для TCP сокетов, не используются для unix domain сокетов.
6421 *) Добавление: директива rewrite поддерживает перезаписывание
6424 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
6425 возвращался ответ 400; ошибка появилась в 0.1.14.
6428 Изменения в nginx 0.1.15 19.01.2005
6430 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
6433 *) Исправление: корректная обработка регулярного выражения, в котором
6434 число выделенных частей не совпадает с числом подстановок.
6436 *) Добавление: location, который передаётся FastCGI-серверу, может быть
6437 задан с помощью регулярного выражения.
6439 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
6440 аргументами и в том виде, в котором был получен от клиента.
6442 *) Исправление: для использования регулярных выражений в location нужно
6443 было собирать nginx вместе с ngx_http_rewrite_module.
6445 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
6446 директивы "proxy_preserve_host on" в заголовке "Host" указывался
6447 также порт 80; ошибка появилась в 0.1.14.
6449 *) Исправление: если задать одинаковые пути в параметрах
6450 автоконфигурации --http-client-body-temp-path=PATH и
6451 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
6452 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
6455 Изменения в nginx 0.1.14 18.01.2005
6457 *) Добавление: параметры автоконфигурации
6458 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
6459 --http-fastcgi-temp-path=PATH
6461 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
6462 клиента, задаётся директивой client_body_temp_path, по умолчанию
6463 <prefix>/client_body_temp.
6465 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
6466 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
6467 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
6468 fastcgi_header_buffer_size, fastcgi_buffers,
6469 fastcgi_busy_buffers_size, fastcgi_temp_path,
6470 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
6471 fastcgi_next_upstream и fastcgi_x_powered_by.
6473 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
6476 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
6479 *) Изменение: если в URI встречался символ %3F, то он считался началом
6482 *) Добавление: поддержка unix domain сoкетов в модуле
6483 ngx_http_proxy_module.
6485 *) Добавление: директивы ssl_engine и ssl_ciphers.
6486 Спасибо Сергею Скворцову за SSL-акселератор.
6489 Изменения в nginx 0.1.13 21.12.2004
6491 *) Добавление: директивы server_names_hash и
6492 server_names_hash_threshold.
6494 *) Исправление: имена *.domain.tld в директиве server_name не работали.
6496 *) Исправление: параметр лога %request_length записывал неверную длину.
6499 Изменения в nginx 0.1.12 06.12.2004
6501 *) Добавление: параметр лога %request_length.
6503 *) Исправление: при использовании /dev/poll, select и poll на
6504 платформах, где возможны ложные срабатывания указанных методов, могли
6505 быть длительные задержки при обработке запроса по keep-alive
6506 соединению. Наблюдалось по крайней мере на Solaris с использованием
6509 *) Исправление: директива send_lowat игнорируется на Linux, так как
6510 Linux не поддерживает опцию SO_SNDLOWAT.
6513 Изменения в nginx 0.1.11 02.12.2004
6515 *) Добавление: директива worker_priority.
6517 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
6518 влияют на передачу ответа.
6520 *) Исправление: nginx не вызывал initgroups().
6521 Спасибо Андрею Ситникову и Андрею Нигматулину.
6523 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
6526 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
6527 каталоге есть битый symlink.
6529 *) Исправление: файлы больше 4G не передавались с использованием
6532 *) Исправление: если бэкенд резолвился в несколько адресов и при
6533 ожидании от него ответа происходила ошибка, то процесс зацикливался.
6535 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
6536 завершиться с сообщением "unknown cycle".
6538 *) Исправление: ошибки "close() channel failed".
6540 *) Исправление: автоматическое определение групп nobody и nogroup.
6542 *) Исправление: директива send_lowat не работала на Linux.
6544 *) Исправление: если в конфигурации не было раздела events, то
6545 происходил segmentation fault.
6547 *) Исправление: nginx не собирался под OpenBSD.
6549 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
6552 Изменения в nginx 0.1.10 26.11.2004
6554 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
6555 или "%XX", то терялся последний символ в строке запроса; ошибка
6558 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
6562 Изменения в nginx 0.1.9 25.11.2004
6564 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
6565 проксируемый запрос передавался без аргументов.
6567 *) Исправление: при сжатии больших ответов иногда они передавались не
6570 *) Исправление: не передавались файлы больше 2G на Linux,
6571 неподдерживающем sendfile64().
6573 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
6574 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
6577 Изменения в nginx 0.1.8 20.11.2004
6579 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
6580 длинных имён файлов.
6582 *) Добавление: модификатор "^~" в директиве location.
6584 *) Добавление: директива proxy_max_temp_file_size.
6587 Изменения в nginx 0.1.7 12.11.2004
6589 *) Исправление: при использовании sendfile, если передаваемый файл
6590 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
6594 Изменения в nginx 0.1.6 11.11.2004
6596 *) Исправление: при некоторых комбинациях директив location c
6597 регулярными выражениями использовалась конфигурация не из того
6601 Изменения в nginx 0.1.5 11.11.2004
6603 *) Исправление: на Solaris и Linux могло быть очень много сообщений
6604 "recvmsg() returned not enough data".
6606 *) Исправление: в режиме прокси без использования sendfile на Solaris
6607 возникала ошибка "writev() failed (22: Invalid argument)". На других
6608 платформах, не поддерживающих sendfile, процесс зацикливался.
6610 *) Исправление: при использовании sendfile в режиме прокси на Solaris
6611 возникал segmentation fault.
6613 *) Исправление: segmentation fault на Solaris.
6615 *) Исправление: обновление исполняемого файла на лету не работало на
6618 *) Исправление: в списке файлов, выдаваемом модулем
6619 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
6622 *) Изменение: уменьшение операций копирования.
6624 *) Добавление: директива userid_p3p.
6627 Изменения в nginx 0.1.4 26.10.2004
6629 *) Исправление: ошибка в модуле ngx_http_autoindex_module.
6632 Изменения в nginx 0.1.3 25.10.2004
6634 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
6636 *) Добавление: директива proxy_set_x_url.
6638 *) Исправление: модуль проксировании мог привести к зацикливанию, если
6639 не использовался sendfile.
6642 Изменения в nginx 0.1.2 21.10.2004
6644 *) Добавление: параметры --user=USER, --group=GROUP и
6645 --with-ld-opt=OPTIONS в configure.
6647 *) Добавление: директива server_name поддерживает *.domain.tld.
6649 *) Исправление: улучшена переносимость на неизвестные платформы.
6651 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
6652 файл указан в командной строке; ошибка появилась в 0.1.1.
6654 *) Исправление: модуль проксировании мог привести к зацикливанию, если
6655 не использовался sendfile.
6657 *) Исправление: при использовании sendfile текст ответа не
6658 перекодировался согласно директивам модуля charset; ошибка появилась
6661 *) Исправление: очень редкая ошибка при обработке kqueue.
6663 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
6667 Изменения в nginx 0.1.1 11.10.2004
6669 *) Добавление: директива gzip_types.
6671 *) Добавление: директива tcp_nodelay.
6673 *) Добавление: директива send_lowat работает не только на платформах,
6674 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
6677 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
6679 *) Исправление: ошибка при переписывании заголовка "Location" при
6682 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
6685 *) Исправление: ошибки в модуле /dev/poll.
6687 *) Исправление: при проксировании и использовании временных файлов
6690 *) Исправление: бэкенду передавались запросы с неперекодированными
6693 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
6694 обязательно использовать параметр --with-poll_module.
6697 Изменения в nginx 0.1.0 04.10.2004
6699 *) Первая публично доступная версия.