comparison text/ru/CHANGES.ru @ 21:a6e1763d5590

nginx-1.1.2
author Igor Sysoev <igor@sysoev.ru>
date Mon, 05 Sep 2011 13:17:07 +0000
parents 74438c570949
children 9d3403f5204d
comparison
equal deleted inserted replaced
20:c1e6b2b4a758 21:a6e1763d5590
1
2 Изменения в nginx 1.1.2 05.09.2011
3
4 *) Изменение: теперь, если суммарный размер всех диапазонов больше
5 размера исходного ответа, то nginx возвращает только исходный ответ,
6 не обрабатывая диапазоны.
7
8 *) Добавление: директива max_ranges.
9
10 *) Исправление: директивы ssl_verify_client, ssl_verify_depth и
11 ssl_prefer_server_cipher могли работать некорректно, если
12 использовался SNI.
13
14 *) Исправление: в директивах proxy/fastcgi/scgi/
15 uwsgi_ignore_client_abort.
16
1 17
2 Изменения в nginx 1.1.1 22.08.2011 18 Изменения в nginx 1.1.1 22.08.2011
3 19
4 *) Изменение: теперь загрузчик кэша за каждую итерацию обрабатывает 20 *) Изменение: теперь загрузчик кэша за каждую итерацию либо обрабатывает
5 число файлов, указанное в параметре load_files, или же работает не 21 число файлов, указанное в параметре load_files, либо работает не
6 больше времени, указанное в параметре loader_threshold. 22 дольше времени, указанного в параметре loader_threshold.
7 23
8 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона. 24 *) Изменение: SIGWINCH сигнал теперь работает только в режиме демона.
9 25
10 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX 26 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
11 на Solaris. 27 на Solaris.
12 Спасибо Денису Иванову. 28 Спасибо Денису Иванову.
13 29
14 *) Добавление: поддержка accept фильтров на NetBSD. 30 *) Добавление: теперь на NetBSD поддерживаются accept фильтры.
15 31
16 *) Исправление: nginx не собирался на Linux 3.0. 32 *) Исправление: nginx не собирался на Linux 3.0.
17 33
18 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка 34 *) Исправление: в некоторых случаях nginx не использовал сжатие; ошибка
19 появилась в 1.1.0. 35 появилась в 1.1.0.
20 36
21 *) Исправление: обработка тела запроса могло быть неверной, если клиент 37 *) Исправление: обработка тела запроса могла быть неверной, если клиент
22 использовал pipelining. 38 использовал pipelining.
23 39
24 *) Исправление: в директиве request_body_in_single_buf. 40 *) Исправление: в директиве request_body_in_single_buf.
25 41
26 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body 42 *) Исправление: в директивах proxy_set_body и proxy_pass_request_body
27 при использовании SSL соединения с бэкендом. 43 при использовании SSL-соединения с бэкендом.
28 44
29 *) Исправление: nginx нагружал процессор, если все сервера в upstream'е 45 *) Исправление: nginx нагружал процессор, если все серверы в upstream'е
30 были отмечены флагом down. 46 были помечены флагом down.
31 47
32 *) Исправление: при переконфигурации мог произойти segmentation fault, 48 *) Исправление: при переконфигурации мог произойти segmentation fault,
33 если ssl_session_cache был определён, но не использовался в 49 если в предыдущей конфигурации был определён, но не использовался
34 предыдущей конфигурации. 50 ssl_session_cache.
35 51
36 *) Исправление: при использовании большого количества backup-серверов в 52 *) Исправление: при использовании большого количества backup-серверов в
37 рабочем процессе мог произойти segmentation fault. 53 рабочем процессе мог произойти segmentation fault.
38 54
39 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со 55 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
40 значением, начинающимся со строки "HTTP_", в рабочем процессе мог 56 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
41 произойти segmentation fault; ошибка появилась в 0.8.40. 57 произойти segmentation fault; ошибка появилась в 0.8.40.
42 58
43 59
44 Изменения в nginx 1.1.0 01.08.2011 60 Изменения в nginx 1.1.0 01.08.2011
45 61
46 *) Добавление: уменьшение времени работы загрузчика кэша. 62 *) Добавление: уменьшение времени работы загрузчика кэша.
47 63
48 *) Добавление: параметры loader_files, loader_sleep и loader_threshold 64 *) Добавление: параметры loader_files, loader_sleep и loader_threshold
49 директив proxy/fastcgi/scgi/uwsgi_cache_path. 65 директив proxy/fastcgi/scgi/uwsgi_cache_path.
50 66
51 *) Добавление: уменьшение времени загрузки конфигураций с большим 67 *) Добавление: уменьшение времени загрузки конфигураций с большим
52 количеством HTTPS серверов. 68 количеством HTTPS серверов.
53 69
54 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами. 70 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
55 Спасибо Adrian Kotelba. 71 Спасибо Adrian Kotelba.
56 72
57 *) Добавление: директива lingering_close. 73 *) Добавление: директива lingering_close.
58 Спасибо Максиму Дунину. 74 Спасибо Максиму Дунину.
59 75
60 *) Исправление: закрытия соединения для pipelined-запросов. 76 *) Исправление: закрытия соединения для pipelined-запросов.
61 Спасибо Максиму Дунину. 77 Спасибо Максиму Дунину.
62 78
63 *) Исправление: nginx не запрещал сжатие при получении значения 79 *) Исправление: nginx не запрещал сжатие при получении значения
64 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента. 80 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
65 81
66 *) Исправление: таймаута при небуферизированном проксировании. 82 *) Исправление: таймаута при небуферизированном проксировании.
67 Спасибо Максиму Дунину. 83 Спасибо Максиму Дунину.
68 84
69 *) Исправление: утечки памяти при использовании переменных в директиве 85 *) Исправление: утечки памяти при использовании переменных в директиве
70 proxy_pass при работе с бэкендом по HTTPS. 86 proxy_pass при работе с бэкендом по HTTPS.
71 Спасибо Максиму Дунину. 87 Спасибо Максиму Дунину.
72 88
73 *) Исправление: в проверке параметра директивы proxy_pass, заданного 89 *) Исправление: в проверке параметра директивы proxy_pass, заданного
74 переменными. 90 переменными.
75 Спасибо Lanshun Zhou. 91 Спасибо Lanshun Zhou.
76 92
77 *) Исправление: SSL не работал на QNX. 93 *) Исправление: SSL не работал на QNX.
78 Спасибо Максиму Дунину. 94 Спасибо Максиму Дунину.
79 95
80 *) Исправление: SSL модули не собирались gcc 4.6 без параметра 96 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
81 --with-debug. 97 --with-debug.
82 98
83 99
84 Изменения в nginx 1.0.5 19.07.2011 100 Изменения в nginx 1.0.5 19.07.2011
85 101
86 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 102 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
87 "HIGH:!aNULL:!MD5". 103 "HIGH:!aNULL:!MD5".
88 Спасибо Rob Stradling. 104 Спасибо Rob Stradling.
89 105
90 *) Добавление: директивы referer_hash_max_size и 106 *) Добавление: директивы referer_hash_max_size и
91 referer_hash_bucket_size. 107 referer_hash_bucket_size.
92 Спасибо Witold Filipczyk. 108 Спасибо Witold Filipczyk.
93 109
94 *) Добавление: переменная $uid_reset. 110 *) Добавление: переменная $uid_reset.
95 111
96 *) Исправление: при использовании кэширования в рабочем процессе мог 112 *) Исправление: при использовании кэширования в рабочем процессе мог
97 произойти segmentation fault. 113 произойти segmentation fault.
98 Спасибо Lanshun Zhou. 114 Спасибо Lanshun Zhou.
99 115
100 *) Исправление: при использовании кэширования рабочие процессы могли 116 *) Исправление: при использовании кэширования рабочие процессы могли
101 зациклиться во время переконфигурации; ошибка появилась в 0.8.48. 117 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
102 Спасибо Максиму Дунину. 118 Спасибо Максиму Дунину.
103 119
104 *) Исправление: сообщения "stalled cache updating". 120 *) Исправление: сообщения "stalled cache updating".
105 Спасибо Максиму Дунину. 121 Спасибо Максиму Дунину.
106 122
107 123
108 Изменения в nginx 1.0.4 01.06.2011 124 Изменения в nginx 1.0.4 01.06.2011
109 125
110 *) Изменение: теперь в регулярных выражениях в директиве map можно 126 *) Изменение: теперь в регулярных выражениях в директиве map можно
111 задать чувствительность к регистру с помощью префиксов "~" и "~*". 127 задать чувствительность к регистру с помощью префиксов "~" и "~*".
112 128
113 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX 129 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
114 на Linux. 130 на Linux.
115 Спасибо Денису Латыпову. 131 Спасибо Денису Латыпову.
116 132
117 *) Исправление: сообщения "stalled cache updating". 133 *) Исправление: сообщения "stalled cache updating".
118 134
119 *) Исправление: nginx не собирался с параметром 135 *) Исправление: nginx не собирался с параметром
120 --without-http_auth_basic_module; ошибка появилась в 1.0.3. 136 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
121 137
122 138
123 Изменения в nginx 1.0.3 25.05.2011 139 Изменения в nginx 1.0.3 25.05.2011
124 140
125 *) Добавление: директива auth_basic_user_file поддерживает шифрование 141 *) Добавление: директива auth_basic_user_file поддерживает шифрование
126 пароля методами "$apr1", "{PLAIN}" и "{SSHA}". 142 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
127 Спасибо Максиму Дунину. 143 Спасибо Максиму Дунину.
128 144
129 *) Добавление: директива geoip_org и переменная $geoip_org. 145 *) Добавление: директива geoip_org и переменная $geoip_org.
130 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 146 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
131 147
132 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module 148 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
133 поддерживают адреса IPv4, отображённые на IPv6 адреса. 149 поддерживают адреса IPv4, отображённые на IPv6 адреса.
134 150
135 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, 151 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
136 в рабочем процессе происходил segmentation fault, если директивы 152 рабочем процессе происходил segmentation fault, если директивы access
137 access или deny были определены только для адресов IPv6; ошибка 153 или deny были определены только для адресов IPv6; ошибка появилась в
138 появилась в 0.8.22. 154 0.8.22.
139 155
140 *) Исправление: закэшированный ответ мог быть испорчен, если значения 156 *) Исправление: закэшированный ответ мог быть испорчен, если значения
141 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ 157 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
142 uwsgi_no_cache были разными; ошибка появилась в 0.8.46. 158 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
143 159
144 160
145 Изменения в nginx 1.0.2 10.05.2011 161 Изменения в nginx 1.0.2 10.05.2011
146 162
152 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1. 168 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
153 169
154 170
155 Изменения в nginx 1.0.1 03.05.2011 171 Изменения в nginx 1.0.1 03.05.2011
156 172
157 *) Изменение: теперь директива split_clients использует алгоритм 173 *) Изменение: теперь директива split_clients использует алгоритм
158 MurmurHash2 из-за лучшего распределения. 174 MurmurHash2 из-за лучшего распределения.
159 Спасибо Олегу Мамонтову. 175 Спасибо Олегу Мамонтову.
160 176
161 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются 177 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
162 ложными значениями. 178 ложными значениями.
163 Спасибо Максиму Дунину. 179 Спасибо Максиму Дунину.
164 180
165 *) Изменение: теперь по умолчанию nginx использует значение 511 для 181 *) Изменение: теперь по умолчанию nginx использует значение 511 для
166 listen backlog на Linux. 182 listen backlog на Linux.
167 183
168 *) Добавление: переменные $upstream_... можно использовать в SSI и 184 *) Добавление: переменные $upstream_... можно использовать в SSI и
169 перловом модулях. 185 перловом модулях.
170 186
171 *) Исправление: теперь nginx лучше ограничивает размер кэша на 187 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
172 диске.
173 Спасибо Олегу Мамонтову. 188 Спасибо Олегу Мамонтову.
174 189
175 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти 190 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
176 segmentation fault; ошибка появилась в 0.8.22. 191 segmentation fault; ошибка появилась в 0.8.22.
177 Спасибо Максиму Дунину. 192 Спасибо Максиму Дунину.
178 193
179 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug. 194 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
180 195
181 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка 196 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
182 появилась в 0.9.3. 197 появилась в 0.9.3.
183 Спасибо Dagobert Michelsen. 198 Спасибо Dagobert Michelsen.
184 199
185 *) Исправление: переменная $request_time имела неверные значения, если 200 *) Исправление: переменная $request_time имела неверные значения, если
186 использовались подзапросы; ошибка появилась в 0.8.47. 201 использовались подзапросы; ошибка появилась в 0.8.47.
187 Спасибо Игорю А. Валькову. 202 Спасибо Игорю А. Валькову.
188 203
189 204
190 Изменения в nginx 1.0.0 12.04.2011 205 Изменения в nginx 1.0.0 12.04.2011
191 206
192 *) Исправление: cache manager мог нагружать процессор после 207 *) Исправление: cache manager мог нагружать процессор после
193 переконфигурации. 208 переконфигурации.
194 Спасибо Максиму Дунину. 209 Спасибо Максиму Дунину.
195 210
196 *) Исправление: директива "image_filter crop" неправильно работала в 211 *) Исправление: директива "image_filter crop" неправильно работала в
197 сочетании с "image_filter rotate 180". 212 сочетании с "image_filter rotate 180".
198 213
199 *) Исправление: директива "satisfy any" запрещала выдачу 214 *) Исправление: директива "satisfy any" запрещала выдачу
200 пользовательской страницы для 401 кода. 215 пользовательской страницы для 401 кода.
201 216
202 217
203 Изменения в nginx 0.9.7 04.04.2011 218 Изменения в nginx 0.9.7 04.04.2011
204 219
205 *) Добавление: теперь соединения в состоянии keepalive могут быть 220 *) Добавление: теперь соединения в состоянии keepalive могут быть
206 закрыты преждевременно, если у воркера нет свободных соединений. 221 закрыты преждевременно, если у воркера нет свободных соединений.
207 Спасибо Максиму Дунину. 222 Спасибо Максиму Дунину.
208 223
209 *) Добавление: параметр rotate директивы image_filter. 224 *) Добавление: параметр rotate директивы image_filter.
210 Спасибо Adam Bocim. 225 Спасибо Adam Bocim.
211 226
212 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass, 227 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
213 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный 228 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
214 upstream. 229 upstream.
215 230
216 231
217 Изменения в nginx 0.9.6 21.03.2011 232 Изменения в nginx 0.9.6 21.03.2011
218 233
219 *) Добавление: директива map поддерживает регулярные выражения в 234 *) Добавление: директива map поддерживает регулярные выражения в
220 качестве значения первого параметра. 235 качестве значения первого параметра.
221 236
222 *) Добавление: переменная $time_iso8601 для access_log. 237 *) Добавление: переменная $time_iso8601 для access_log.
223 Спасибо Michael Lustfield. 238 Спасибо Michael Lustfield.
224 239
225 240
226 Изменения в nginx 0.9.5 21.02.2011 241 Изменения в nginx 0.9.5 21.02.2011
227 242
228 *) Изменение: теперь по умолчанию nginx использует значение -1 для 243 *) Изменение: теперь по умолчанию nginx использует значение -1 для
229 listen backlog на Linux. 244 listen backlog на Linux.
230 Спасибо Андрею Нигматулину. 245 Спасибо Андрею Нигматулину.
231 246
232 *) Добавление: параметр utf8 в директивах geoip_country и 247 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
233 geoip_city.
234 Спасибо Денису Латыпову. 248 Спасибо Денису Латыпову.
235 249
236 *) Исправление: исправление в умолчательной директиве proxy_redirect, 250 *) Исправление: исправление в умолчательной директиве proxy_redirect,
237 если в директиве proxy_pass не был описан URI. 251 если в директиве proxy_pass не был описан URI.
238 Спасибо Максиму Дунину. 252 Спасибо Максиму Дунину.
239 253
240 *) Исправление: директива error_page не работала с нестандартными 254 *) Исправление: директива error_page не работала с нестандартными кодами
241 кодами ошибок; ошибка появилась в 0.8.53. 255 ошибок; ошибка появилась в 0.8.53.
242 Спасибо Максиму Дунину. 256 Спасибо Максиму Дунину.
243 257
244 258
245 Изменения в nginx 0.9.4 21.01.2011 259 Изменения в nginx 0.9.4 21.01.2011
246 260
249 *) Добавление: 494 код для ошибки "Request Header Too Large". 263 *) Добавление: 494 код для ошибки "Request Header Too Large".
250 264
251 265
252 Изменения в nginx 0.9.3 13.12.2010 266 Изменения в nginx 0.9.3 13.12.2010
253 267
254 *) Исправление: если для пары IPv6-адрес:порт описан только один 268 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
255 сервер, то выделения в регулярных выражениях в директиве server_name 269 то выделения в регулярных выражениях в директиве server_name не
256 не работали. 270 работали.
257 271
258 *) Исправление: nginx не собирался под Solaris; ошибка появилась в 272 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
259 0.9.0. 273 0.9.0.
260 274
261 275
262 Изменения в nginx 0.9.2 06.12.2010 276 Изменения в nginx 0.9.2 06.12.2010
263 277
264 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке 278 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
265 запросе клиента. 279 запросе клиента.
266 280
267 *) Изменение: использование accept(), если accept4() не реализован; 281 *) Изменение: использование accept(), если accept4() не реализован;
268 ошибка появилась в 0.9.0. 282 ошибка появилась в 0.9.0.
269 283
270 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0. 284 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
271 285
272 *) Исправление: уязвимости в OpenSSL CVE-2010-4180. 286 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
273 Спасибо Максиму Дунину. 287 Спасибо Максиму Дунину.
274 288
275 289
276 Изменения в nginx 0.9.1 30.11.2010 290 Изменения в nginx 0.9.1 30.11.2010
277 291
278 *) Исправление: директивы вида "return CODE message" не работали; 292 *) Исправление: директивы вида "return CODE message" не работали; ошибка
279 ошибка появилась в 0.9.0. 293 появилась в 0.9.0.
280 294
281 295
282 Изменения в nginx 0.9.0 29.11.2010 296 Изменения в nginx 0.9.0 29.11.2010
283 297
284 *) Добавление: директива keepalive_disable. 298 *) Добавление: директива keepalive_disable.
285 299
286 *) Добавление: директива map поддерживает переменные в качестве 300 *) Добавление: директива map поддерживает переменные в качестве значения
287 значения определяемой переменной. 301 определяемой переменной.
288 302
289 *) Добавление: директива map поддерживает пустые строки в качестве 303 *) Добавление: директива map поддерживает пустые строки в качестве
290 значения первого параметра. 304 значения первого параметра.
291 305
292 *) Добавление: директива map поддерживает выражения в первом параметре. 306 *) Добавление: директива map поддерживает выражения в первом параметре.
293 307
294 *) Добавление: страница руководства nginx(8). 308 *) Добавление: страница руководства nginx(8).
295 Спасибо Сергею Осокину. 309 Спасибо Сергею Осокину.
296 310
297 *) Добавление: поддержка accept4() в Linux. 311 *) Добавление: поддержка accept4() в Linux.
298 Спасибо Simon Liu. 312 Спасибо Simon Liu.
299 313
300 *) Изменение: устранение предупреждения линкера о "sys_errlist" и 314 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
301 "sys_nerr" под Linux; предупреждение появилось в 0.8.35. 315 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
302 316
303 *) Исправление: при использовании директивы auth_basic в рабочем 317 *) Исправление: при использовании директивы auth_basic в рабочем
304 процессе мог произойти segmentation fault. 318 процессе мог произойти segmentation fault.
305 Спасибо Михаилу Лалетину. 319 Спасибо Михаилу Лалетину.
306 320
307 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка 321 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
308 появилась в 0.8.42. 322 появилась в 0.8.42.
309 323
310 324
311 Изменения в nginx 0.8.53 18.10.2010 325 Изменения в nginx 0.8.53 18.10.2010
312 326
313 *) Добавление: теперь директива error_page позволяет менять код статуса 327 *) Добавление: теперь директива error_page позволяет менять код статуса
314 у редиректа. 328 у редиректа.
315 329
316 *) Добавление: директива gzip_disable поддерживает специальную маску 330 *) Добавление: директива gzip_disable поддерживает специальную маску
317 degradation. 331 degradation.
318 332
319 *) Исправление: при использовании файлового AIO могла происходить 333 *) Исправление: при использовании файлового AIO могла происходить утечка
320 утечка сокетов. 334 сокетов.
321 Спасибо Максиму Дунину. 335 Спасибо Максиму Дунину.
322 336
323 *) Исправление: если в первом сервере не была описана директива listen 337 *) Исправление: если в первом сервере не была описана директива listen и
324 и нигде явно не описан сервер по умолчанию, то сервером по умолчанию 338 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
325 становился следующий сервер с директивой listen; ошибка появилась в 339 становился следующий сервер с директивой listen; ошибка появилась в
326 0.8.21. 340 0.8.21.
327 341
328 342
329 Изменения в nginx 0.8.52 28.09.2010 343 Изменения в nginx 0.8.52 28.09.2010
330 344
331 *) Исправление: nginx использовал режим SSL для listen сокета, если для 345 *) Исправление: nginx использовал режим SSL для listen сокета, если для
332 него был установлен любой listen-параметр; ошибка появилась в 0.8.51. 346 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
333 347
334 348
335 Изменения в nginx 0.8.51 27.09.2010 349 Изменения в nginx 0.8.51 27.09.2010
336 350
337 *) Изменение: директива secure_link_expires упразднена. 351 *) Изменение: директива secure_link_expires упразднена.
338 352
339 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня 353 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
340 alert на error. 354 alert на error.
341 355
342 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать 356 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
343 несколько раз. 357 несколько раз.
344 358
345 359
346 Изменения в nginx 0.8.50 02.09.2010 360 Изменения в nginx 0.8.50 02.09.2010
347 361
348 *) Добавление: директивы secure_link, secure_link_md5 и 362 *) Добавление: директивы secure_link, secure_link_md5 и
349 secure_link_expires модуля ngx_http_secure_link_module. 363 secure_link_expires модуля ngx_http_secure_link_module.
350 364
351 *) Добавление: ключ -q. 365 *) Добавление: ключ -q.
352 Спасибо Геннадию Махомеду. 366 Спасибо Геннадию Махомеду.
353 367
354 *) Исправление: при использовании кэширования рабочие процессы и могли 368 *) Исправление: при использовании кэширования рабочие процессы и могли
355 зациклиться во время переконфигурации; ошибка появилась в 0.8.48. 369 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
356 370
357 *) Исправление: в директиве gzip_disable. 371 *) Исправление: в директиве gzip_disable.
358 Спасибо Derrick Petzold. 372 Спасибо Derrick Petzold.
359 373
360 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit, 374 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
361 reopen, reload процессу, запущенному в другой сессии. 375 reopen, reload процессу, запущенному в другой сессии.
362 376
363 377
364 Изменения в nginx 0.8.49 09.08.2010 378 Изменения в nginx 0.8.49 09.08.2010
365 379
366 *) Добавление: директива image_filter_jpeg_quality поддерживает 380 *) Добавление: директива image_filter_jpeg_quality поддерживает
367 переменные. 381 переменные.
368 382
369 *) Исправление: при использовании переменной $geoip_region_name в 383 *) Исправление: при использовании переменной $geoip_region_name в
370 рабочем процессе мог произойти segmentation fault; ошибка появилась 384 рабочем процессе мог произойти segmentation fault; ошибка появилась в
371 в 0.8.48. 385 0.8.48.
372 386
373 *) Исправление: ошибки, перехваченные error_page, кэшировались только 387 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
374 до следующего запроса; ошибка появилась в 0.8.48. 388 следующего запроса; ошибка появилась в 0.8.48.
375 389
376 390
377 Изменения в nginx 0.8.48 03.08.2010 391 Изменения в nginx 0.8.48 03.08.2010
378 392
379 *) Изменение: теперь по умолчанию директива server_name имеет значение 393 *) Изменение: теперь по умолчанию директива server_name имеет значение
380 пустое имя "". 394 пустое имя "".
381 Спасибо Геннадию Махомеду. 395 Спасибо Геннадию Махомеду.
382 396
383 *) Изменение: теперь по умолчанию директива server_name_in_redirect 397 *) Изменение: теперь по умолчанию директива server_name_in_redirect
384 имеет значение off. 398 имеет значение off.
385 399
386 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и 400 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
387 $geoip_region_name. 401 $geoip_region_name.
388 Спасибо Christine McGonagle. 402 Спасибо Christine McGonagle.
389 403
390 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и 404 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
391 scgi_pass не наследовались в блоки limit_except. 405 scgi_pass не наследовались в блоки limit_except.
392 406
393 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses 407 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
394 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка 408 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
395 появилась в 0.8.46. 409 появилась в 0.8.46.
396 410
397 *) Исправление: директива fastcgi_split_path_info неверно использовала 411 *) Исправление: директива fastcgi_split_path_info неверно использовала
398 выделения, если в выделения попадала только часть URI. 412 выделения, если в выделения попадала только часть URI.
399 Спасибо Юрию Тарадаю и Frank Enderle. 413 Спасибо Юрию Тарадаю и Frank Enderle.
400 414
401 *) Исправление: директива rewrite не экранировала символ ";" при 415 *) Исправление: директива rewrite не экранировала символ ";" при
402 копировании из URI в аргументы. 416 копировании из URI в аргументы.
403 Спасибо Daisuke Murase. 417 Спасибо Daisuke Murase.
404 418
405 *) Исправление: модуль ngx_http_image_filter_module закрывал 419 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
406 соединение, если изображение было больше размера image_filter_buffer. 420 если изображение было больше размера image_filter_buffer.
407 421
408 422
409 Изменения в nginx 0.8.47 28.07.2010 423 Изменения в nginx 0.8.47 28.07.2010
410 424
411 *) Исправление: переменная $request_time имела неверные значения для 425 *) Исправление: переменная $request_time имела неверные значения для
412 подзапросов. 426 подзапросов.
413 427
414 *) Исправление: ошибки, перехваченные error_page, не кэшировались. 428 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
415 429
416 *) Исправление: если использовался параметр max_size, то cache manager 430 *) Исправление: если использовался параметр max_size, то cache manager
417 мог зациклиться; ошибка появилась в 0.8.46. 431 мог зациклиться; ошибка появилась в 0.8.46.
418 432
419 433
420 Изменения в nginx 0.8.46 19.07.2010 434 Изменения в nginx 0.8.46 19.07.2010
421 435
422 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, 436 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
423 uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение 437 и scgi_no_cache теперь влияют только на сохранение закэшированного
424 закэшированного ответа. 438 ответа.
425 439
426 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass, 440 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
427 uwsgi_cache_bypass и scgi_cache_bypass. 441 uwsgi_cache_bypass и scgi_cache_bypass.
428 442
429 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае 443 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
430 ошибки работы с бэкендом: память освобождалась только по истечении 444 ошибки работы с бэкендом: память освобождалась только по истечении
431 времени неактивности или при недостатке памяти. 445 времени неактивности или при недостатке памяти.
432 446
433 447
434 Изменения в nginx 0.8.45 13.07.2010 448 Изменения в nginx 0.8.45 13.07.2010
435 449
436 *) Добавление: улучшения в модуле ngx_http_xslt_filter. 450 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
437 Спасибо Laurence Rowe. 451 Спасибо Laurence Rowe.
438 452
439 *) Исправление: ответ SSI модуля мог передаваться не полностью после 453 *) Исправление: ответ SSI модуля мог передаваться не полностью после
440 команды include с параметром wait="yes"; ошибка появилась в 0.7.25. 454 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
441 Спасибо Максиму Дунину. 455 Спасибо Максиму Дунину.
442 456
443 *) Исправление: директива listen не поддерживала параметр setfib=0. 457 *) Исправление: директива listen не поддерживала параметр setfib=0.
444 458
445 459
446 Изменения в nginx 0.8.44 05.07.2010 460 Изменения в nginx 0.8.44 05.07.2010
447 461
448 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в 462 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
449 заголовке которых есть строка "Set-Cookie". 463 заголовке которых есть строка "Set-Cookie".
450 464
451 *) Добавление: директива listen поддерживает параметр setfib. 465 *) Добавление: директива listen поддерживает параметр setfib.
452 Спасибо Андрею Филонову. 466 Спасибо Андрею Филонову.
453 467
454 *) Исправление: директива sub_filter могла изменять регистр букв при 468 *) Исправление: директива sub_filter могла изменять регистр букв при
455 частичном совпадении. 469 частичном совпадении.
456 470
457 *) Исправление: совместимость с HP/UX. 471 *) Исправление: совместимость с HP/UX.
458 472
459 *) Исправление: совместимость с компилятором AIX xlC_r. 473 *) Исправление: совместимость с компилятором AIX xlC_r.
460 474
461 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые 475 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
462 запросы. 476 запросы.
463 Спасибо Miroslaw Jaworski. 477 Спасибо Miroslaw Jaworski.
464 478
465 479
466 Изменения в nginx 0.8.43 30.06.2010 480 Изменения в nginx 0.8.43 30.06.2010
467 481
468 *) Добавление: ускорение загрузки больших баз geo-диапазонов. 482 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
469 483
470 *) Исправление: перенаправление ошибки в "location /zero {return 204;}" 484 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
471 без изменения кода ответа оставляло тело ошибки; ошибка появилась в 485 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
472 0.8.42. 486 0.8.42.
473 487
474 *) Исправление: nginx мог закрывать IPv6 listen сокет во время 488 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
475 переконфигурации. 489 переконфигурации.
476 Спасибо Максиму Дунину. 490 Спасибо Максиму Дунину.
477 491
478 *) Исправление: переменную $uid_set можно использовать на любой стадии 492 *) Исправление: переменную $uid_set можно использовать на любой стадии
479 обработки запроса. 493 обработки запроса.
480 494
481 495
482 Изменения в nginx 0.8.42 21.06.2010 496 Изменения в nginx 0.8.42 21.06.2010
483 497
484 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными 498 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
485 выражениями, если запрос полностью совпал с location'ом, заданным 499 выражениями, если запрос полностью совпал с location'ом, заданным
486 строкой префикса. Предыдущее поведение появилось в 0.7.1. 500 строкой префикса. Предыдущее поведение появилось в 0.7.1.
487 501
488 *) Добавление: модуль ngx_http_scgi_module. 502 *) Добавление: модуль ngx_http_scgi_module.
489 Спасибо Manlio Perillo. 503 Спасибо Manlio Perillo.
490 504
491 *) Добавление: в директиве return можно добавлять текст ответа. 505 *) Добавление: в директиве return можно добавлять текст ответа.
492 506
493 507
494 Изменения в nginx 0.8.41 15.06.2010 508 Изменения в nginx 0.8.41 15.06.2010
495 509
496 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно 510 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
497 при запросе файла с неверной кодировкой UTF-8. 511 при запросе файла с неверной кодировкой UTF-8.
498 512
499 *) Изменение: теперь nginx разрешает использовать пробелы в строке 513 *) Изменение: теперь nginx разрешает использовать пробелы в строке
500 запроса. 514 запроса.
501 515
502 *) Исправление: директива proxy_redirect неправильно изменяла строку 516 *) Исправление: директива proxy_redirect неправильно изменяла строку
503 "Refresh" в заголовке ответа бэкенда. 517 "Refresh" в заголовке ответа бэкенда.
504 Спасибо Андрею Андрееву и Максиму Согину. 518 Спасибо Андрею Андрееву и Максиму Согину.
505 519
506 *) Исправление: nginx не поддерживал путь без имени хоста в строке 520 *) Исправление: nginx не поддерживал путь без имени хоста в строке
507 "Destination" в заголовке запроса. 521 "Destination" в заголовке запроса.
508 522
509 523
510 Изменения в nginx 0.8.40 07.06.2010 524 Изменения в nginx 0.8.40 07.06.2010
511 525
512 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по 526 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
513 умолчанию. 527 умолчанию.
514 Спасибо Jose Antonio Vazquez Gonzalez. 528 Спасибо Jose Antonio Vazquez Gonzalez.
515 529
516 *) Добавление: модуль ngx_http_uwsgi_module. 530 *) Добавление: модуль ngx_http_uwsgi_module.
517 Спасибо Roberto De Ioris. 531 Спасибо Roberto De Ioris.
518 532
519 *) Добавление: директива fastcgi_param со значением, начинающимся со 533 *) Добавление: директива fastcgi_param со значением, начинающимся со
520 строки "HTTP_", изменяет строку заголовка в запросе клиента. 534 строки "HTTP_", изменяет строку заголовка в запросе клиента.
521 535
522 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в 536 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
523 заголовке запроса клиента передавались FastCGI-серверу при 537 заголовке запроса клиента передавались FastCGI-серверу при
524 кэшировании. 538 кэшировании.
525 539
526 *) Исправление: listen unix domain сокет нельзя было изменить во время 540 *) Исправление: listen unix domain сокет нельзя было изменить во время
527 переконфигурации. 541 переконфигурации.
528 Спасибо Максиму Дунину. 542 Спасибо Максиму Дунину.
529 543
530 544
531 Изменения в nginx 0.8.39 31.05.2010 545 Изменения в nginx 0.8.39 31.05.2010
532 546
533 *) Исправление: наследуемая директива alias неправильно работала во 547 *) Исправление: наследуемая директива alias неправильно работала во
534 вложенном location'е. 548 вложенном location'е.
535 549
536 *) Исправление: в комбинации директив alias с переменными и try_files; 550 *) Исправление: в комбинации директив alias с переменными и try_files;
537 551
538 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во 552 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
539 время обновления без перерыва. 553 время обновления без перерыва.
540 Спасибо Максиму Дунину. 554 Спасибо Максиму Дунину.
541 555
542 556
543 Изменения в nginx 0.8.38 24.05.2010 557 Изменения в nginx 0.8.38 24.05.2010
544 558
545 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache. 559 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
546 560
547 *) Добавление: теперь при использовании переменной $scheme в директиве 561 *) Добавление: теперь при использовании переменной $scheme в директиве
548 rewrite автоматически делается редирект. 562 rewrite автоматически делается редирект.
549 Спасибо Piotr Sikora. 563 Спасибо Piotr Sikora.
550 564
551 *) Исправление: теперь задержки в директиве limit_req соответствует 565 *) Исправление: теперь задержки в директиве limit_req соответствует
552 описанному алгоритму. 566 описанному алгоритму.
553 Спасибо Максиму Дунину. 567 Спасибо Максиму Дунину.
554 568
555 *) Исправление: переменную $uid_got нельзя было использовать в SSI и 569 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
556 перловом модулях. 570 перловом модулях.
557 571
558 572
559 Изменения в nginx 0.8.37 17.05.2010 573 Изменения в nginx 0.8.37 17.05.2010
560 574
561 *) Добавление: модуль ngx_http_split_clients_module. 575 *) Добавление: модуль ngx_http_split_clients_module.
562 576
563 *) Добавление: директива map поддерживает ключи больше 255 символов. 577 *) Добавление: директива map поддерживает ключи больше 255 символов.
564 578
565 *) Исправление: nginx игнорировал значения "private" и "no-store" в 579 *) Исправление: nginx игнорировал значения "private" и "no-store" в
566 строке "Cache-Control" в заголовке ответа бэкенда. 580 строке "Cache-Control" в заголовке ответа бэкенда.
567 581
568 *) Исправление: параметр stub в SSI-директиве include не использовался, 582 *) Исправление: параметр stub в SSI-директиве include не использовался,
569 если пустой ответ имел код 200. 583 если пустой ответ имел код 200.
570 584
571 *) Исправление: если проксированный или FastCGI запрос внутренне 585 *) Исправление: если проксированный или FastCGI запрос внутренне
572 перенаправлялся в другой проксированный или FastCGI location, то в 586 перенаправлялся в другой проксированный или FastCGI location, то в
573 рабочем процессе мог произойти segmentation fault; ошибка появилась 587 рабочем процессе мог произойти segmentation fault; ошибка появилась в
574 в 0.8.33. 588 0.8.33.
575 Спасибо Yichun Zhang. 589 Спасибо Yichun Zhang.
576 590
577 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до 591 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
578 таймаута. 592 таймаута.
579 Спасибо Alan Batie. 593 Спасибо Alan Batie.
580 594
581 595
582 Изменения в nginx 0.8.36 22.04.2010 596 Изменения в nginx 0.8.36 22.04.2010
583 597
584 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал 598 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
585 методы DELETE, COPY и MOVE для симлинков. 599 методы DELETE, COPY и MOVE для симлинков.
586 600
587 *) Исправление: модуль SSI в подзапросах использовал закэшированные в 601 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
588 основном запросе значения переменных $query_string, $arg_... и им 602 основном запросе значения переменных $query_string, $arg_... и им
589 подобных. 603 подобных.
590 604
591 *) Исправление: значение переменной повторно экранировалось после 605 *) Исправление: значение переменной повторно экранировалось после
592 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14. 606 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
593 607
594 *) Исправление: рабочий процесс зависал при запросе файла FIFO. 608 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
595 Спасибо Vicente Aguilar и Максиму Дунину. 609 Спасибо Vicente Aguilar и Максиму Дунину.
596 610
597 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux. 611 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
598 Спасибо Максиму Дунину. 612 Спасибо Максиму Дунину.
599 613
600 *) Исправление: nginx не собирался с параметром --without-http-cache; 614 *) Исправление: nginx не собирался с параметром --without-http-cache;
601 ошибка появилась в 0.8.35. 615 ошибка появилась в 0.8.35.
602 616
603 617
604 Изменения в nginx 0.8.35 01.04.2010 618 Изменения в nginx 0.8.35 01.04.2010
605 619
606 *) Изменение: теперь charset-фильтр работает до SSI-фильтра. 620 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
607 621
608 *) Добавление: директива chunked_transfer_encoding. 622 *) Добавление: директива chunked_transfer_encoding.
609 623
610 *) Исправление: символ "&" при копировании в аргументы в правилах 624 *) Исправление: символ "&" при копировании в аргументы в правилах
611 rewrite не экранировался. 625 rewrite не экранировался.
612 626
613 *) Исправление: nginx мог завершаться аварийно во время обработки 627 *) Исправление: nginx мог завершаться аварийно во время обработки
614 сигнала или при использовании директивы timer_resolution на 628 сигнала или при использовании директивы timer_resolution на
615 платформах, не поддерживающих методы kqueue или eventport. 629 платформах, не поддерживающих методы kqueue или eventport.
616 Спасибо George Xie и Максиму Дунину. 630 Спасибо George Xie и Максиму Дунину.
617 631
618 *) Исправление: если временные файлы и постоянное место хранения 632 *) Исправление: если временные файлы и постоянное место хранения
619 располагались на разных файловых системах, то у постоянных файлов 633 располагались на разных файловых системах, то у постоянных файлов
620 время изменения было неверным. 634 время изменения было неверным.
621 Спасибо Максиму Дунину. 635 Спасибо Максиму Дунину.
622 636
623 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку 637 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
624 "memcached sent invalid trailer". 638 "memcached sent invalid trailer".
625 Спасибо Максиму Дунину. 639 Спасибо Максиму Дунину.
626 640
627 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных 641 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
628 текстов. 642 текстов.
629 Спасибо Максиму Дунину. 643 Спасибо Максиму Дунину.
630 644
631 *) Исправление: в рабочем процессе происходил segmentation fault, если 645 *) Исправление: в рабочем процессе происходил segmentation fault, если
632 перед ответом FastCGI-сервера было много вывода в stderr; ошибка 646 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
633 появилась в 0.8.34. 647 появилась в 0.8.34.
634 Спасибо Максиму Дунину. 648 Спасибо Максиму Дунину.
635 649
636 650
637 Изменения в nginx 0.8.34 03.03.2010 651 Изменения в nginx 0.8.34 03.03.2010
638 652
639 *) Исправление: nginx не поддерживал все шифры, используемые в 653 *) Исправление: nginx не поддерживал все шифры, используемые в
640 клиентских сертификатах. 654 клиентских сертификатах.
641 Спасибо Иннокентию Еникееву. 655 Спасибо Иннокентию Еникееву.
642 656
643 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед 657 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
644 ответом было много вывода в stderr. 658 ответом было много вывода в stderr.
645 659
646 *) Исправление: nginx не поддерживал HTTPS-рефереры. 660 *) Исправление: nginx не поддерживал HTTPS-рефереры.
647 661
648 *) Исправление: nginx/Windows мог не находить файлы, если путь в 662 *) Исправление: nginx/Windows мог не находить файлы, если путь в
649 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33. 663 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
650 664
651 *) Исправление: переменная $date_local выдавала неверное время, если 665 *) Исправление: переменная $date_local выдавала неверное время, если
652 использовался формат "%s". 666 использовался формат "%s".
653 Спасибо Максиму Дунину. 667 Спасибо Максиму Дунину.
654 668
655 *) Исправление: если ssl_session_cache не был установлен или установлен 669 *) Исправление: если ssl_session_cache не был установлен или установлен
656 в none, то при проверке клиентского сертификаты могла происходить 670 в none, то при проверке клиентского сертификаты могла происходить
657 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1. 671 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
658 672
659 *) Исправление: geo-диапазон возвращал значение по умолчанию, если 673 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
660 диапазон включал в себя одну и более сетей размером /16 и не 674 диапазон включал в себя одну и более сетей размером /16 и не
661 начинался на границе сети размером /16. 675 начинался на границе сети размером /16.
662 676
663 *) Исправление: блок, используемый в параметре stub в SSI-директиве 677 *) Исправление: блок, используемый в параметре stub в SSI-директиве
664 include, выводился с MIME-типом "text/plain". 678 include, выводился с MIME-типом "text/plain".
665 679
666 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11. 680 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
667 681
668 682
669 Изменения в nginx 0.8.33 01.02.2010 683 Изменения в nginx 0.8.33 01.02.2010
670 684
671 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI. 685 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
672 Спасибо Dan Crowley, Core Security Technologies. 686 Спасибо Dan Crowley, Core Security Technologies.
673 687
674 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов. 688 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
675 Спасибо Dan Crowley, Core Security Technologies. 689 Спасибо Dan Crowley, Core Security Technologies.
676 690
677 *) Изменение: теперь keepalive соединения после запросов POST не 691 *) Изменение: теперь keepalive соединения после запросов POST не
678 запрещаются для MSIE 7.0+. 692 запрещаются для MSIE 7.0+.
679 Спасибо Adam Lounds. 693 Спасибо Adam Lounds.
680 694
681 *) Изменение: теперь keepalive соединения запрещены для Safari. 695 *) Изменение: теперь keepalive соединения запрещены для Safari.
682 Спасибо Joshua Sierles. 696 Спасибо Joshua Sierles.
683 697
684 *) Исправление: если проксированный или FastCGI запрос внутренне 698 *) Исправление: если проксированный или FastCGI запрос внутренне
685 перенаправлялся в другой проксированный или FastCGI location, то 699 перенаправлялся в другой проксированный или FastCGI location, то
686 переменная $upstream_response_time могла иметь ненормально большое 700 переменная $upstream_response_time могла иметь ненормально большое
687 значение; ошибка появилась в 0.8.7. 701 значение; ошибка появилась в 0.8.7.
688 702
689 *) Исправление: в рабочем процессе мог произойти segmentation fault при 703 *) Исправление: в рабочем процессе мог произойти segmentation fault при
690 отбрасывания тела запроса; ошибка появилась в 0.8.11. 704 отбрасывания тела запроса; ошибка появилась в 0.8.11.
691 705
692 706
693 Изменения в nginx 0.8.32 11.01.2010 707 Изменения в nginx 0.8.32 11.01.2010
694 708
695 *) Исправление: ошибки при использовании кодировки UTF-8 в 709 *) Исправление: ошибки при использовании кодировки UTF-8 в
696 ngx_http_autoindex_module. 710 ngx_http_autoindex_module.
697 Спасибо Максиму Дунину. 711 Спасибо Максиму Дунину.
698 712
699 *) Исправление: именованные выделения в регулярных выражениях работали 713 *) Исправление: именованные выделения в регулярных выражениях работали
700 только для двух переменных. 714 только для двух переменных.
701 Спасибо Максиму Дунину. 715 Спасибо Максиму Дунину.
702 716
703 *) Исправление: теперь в строке заголовка запроса "Host" используется 717 *) Исправление: теперь в строке заголовка запроса "Host" используется
704 имя "localhost", если в директиве auth_http указан unix domain 718 имя "localhost", если в директиве auth_http указан unix domain сокет.
705 сокет. 719 Спасибо Максиму Дунину.
706 Спасибо Максиму Дунину. 720
707 721 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
708 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
709 ответов. 722 ответов.
710 Спасибо Julian Reich. 723 Спасибо Julian Reich.
711 724
712 *) Исправление: если директива "expires modified" выставляла дату в 725 *) Исправление: если директива "expires modified" выставляла дату в
713 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось 726 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
714 отрицательное число. 727 отрицательное число.
715 Спасибо Алексею Капранову. 728 Спасибо Алексею Капранову.
716 729
717 730
718 Изменения в nginx 0.8.31 23.12.2009 731 Изменения в nginx 0.8.31 23.12.2009
719 732
720 *) Добавление: теперь директива error_page может перенаправлять ответы 733 *) Добавление: теперь директива error_page может перенаправлять ответы
721 со статусом 301 и 302. 734 со статусом 301 и 302.
722 735
723 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и 736 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
724 $geoip_longitude. 737 $geoip_longitude.
725 Спасибо Arvind Sundararajan. 738 Спасибо Arvind Sundararajan.
726 739
727 *) Добавление: модуль ngx_http_image_filter_module теперь всегда 740 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
728 удаляет EXIF и другие данные, если они занимают больше 5% в 741 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
729 JPEG-файле. 742
730 743 *) Исправление: nginx закрывал соединение при запросе закэшированного
731 *) Исправление: nginx закрывал соединение при запросе закэшированного
732 ответа с пустым телом. 744 ответа с пустым телом.
733 Спасибо Piotr Sikora. 745 Спасибо Piotr Sikora.
734 746
735 *) Исправление: nginx мог не собираться gcc 4.x при использовании 747 *) Исправление: nginx мог не собираться gcc 4.x при использовании
736 оптимизации -O2 и выше. 748 оптимизации -O2 и выше.
737 Спасибо Максиму Дунину и Денису Латыпову. 749 Спасибо Максиму Дунину и Денису Латыпову.
738 750
739 *) Исправление: регулярные выражения в location всегда тестировались с 751 *) Исправление: регулярные выражения в location всегда тестировались с
740 учётом регистра; ошибка появилась в 0.8.25. 752 учётом регистра; ошибка появилась в 0.8.25.
741 753
742 *) Исправление: nginx кэшировал 304 ответ, если в заголовке 754 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
743 проксируемого запроса была строка "If-None-Match". 755 проксируемого запроса была строка "If-None-Match".
744 Спасибо Tim Dettrick и David Kostal. 756 Спасибо Tim Dettrick и David Kostal.
745 757
746 *) Исправление: nginx/Windows пытался дважды удалить временный файл при 758 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
747 перезаписи уже существующего файла. 759 перезаписи уже существующего файла.
748 760
749 761
750 Изменения в nginx 0.8.30 15.12.2009 762 Изменения в nginx 0.8.30 15.12.2009
751 763
752 *) Изменение: теперь по умолчанию размер буфера директивы 764 *) Изменение: теперь по умолчанию размер буфера директивы
753 large_client_header_buffers равен 8K. 765 large_client_header_buffers равен 8K.
754 Спасибо Andrew Cholakian. 766 Спасибо Andrew Cholakian.
755 767
756 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI. 768 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
757 769
758 *) Исправление: nginx/Windows пытался дважды переименовать временный 770 *) Исправление: nginx/Windows пытался дважды переименовать временный
759 файл при перезаписи уже существующего файла. 771 файл при перезаписи уже существующего файла.
760 772
761 *) Исправление: ошибки double free or corruption, возникающей, если имя 773 *) Исправление: ошибки double free or corruption, возникающей, если имя
762 хоста не было найдено; ошибка появилась в 0.8.22. 774 хоста не было найдено; ошибка появилась в 0.8.22.
763 Спасибо Константину Свисту. 775 Спасибо Константину Свисту.
764 776
765 *) Исправление: в использовании libatomic на некоторых платформах. 777 *) Исправление: в использовании libatomic на некоторых платформах.
766 Спасибо W-Mark Kubacki. 778 Спасибо W-Mark Kubacki.
767 779
768 780
769 Изменения в nginx 0.8.29 30.11.2009 781 Изменения в nginx 0.8.29 30.11.2009
770 782
771 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется 783 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
772 код ответа "009". 784 ответа "009".
773 785
774 *) Добавление: директивы addition_types, charset_types, gzip_types, 786 *) Добавление: директивы addition_types, charset_types, gzip_types,
775 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*". 787 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
776 788
777 *) Добавление: использование встроенных атомарных операций GCC 4.1+. 789 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
778 Спасибо W-Mark Kubacki. 790 Спасибо W-Mark Kubacki.
779 791
780 *) Добавление: параметр --with-libatomic[=DIR] в configure. 792 *) Добавление: параметр --with-libatomic[=DIR] в configure.
781 Спасибо W-Mark Kubacki. 793 Спасибо W-Mark Kubacki.
782 794
783 *) Исправление: listen unix domain сокет имели ограниченные права 795 *) Исправление: listen unix domain сокет имели ограниченные права
784 доступа. 796 доступа.
785 797
786 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно 798 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
787 обрабатывались. 799 обрабатывались.
788 800
789 *) Исправление: именованные выделения в регулярных выражениях, заданные 801 *) Исправление: именованные выделения в регулярных выражениях, заданные
790 как "?P<...>", не работали в директиве server_name. 802 как "?P<...>", не работали в директиве server_name.
791 Спасибо Максиму Дунину. 803 Спасибо Максиму Дунину.
792 804
793 805
794 Изменения в nginx 0.8.28 23.11.2009 806 Изменения в nginx 0.8.28 23.11.2009
795 807
796 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 808 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
797 появилась в 0.8.25. 809 появилась в 0.8.25.
798 810
799 811
800 Изменения в nginx 0.8.27 17.11.2009 812 Изменения в nginx 0.8.27 17.11.2009
801 813
802 *) Исправление: регулярные выражения не работали в nginx/Windows; 814 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
815 появилась в 0.8.25.
816
817
818 Изменения в nginx 0.8.26 16.11.2009
819
820 *) Исправление: ошибки при использовании выделений в директиве rewrite;
803 ошибка появилась в 0.8.25. 821 ошибка появилась в 0.8.25.
804 822
805 823 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
806 Изменения в nginx 0.8.26 16.11.2009
807
808 *) Исправление: ошибки при использовании выделений в директиве rewrite;
809 ошибка появилась в 0.8.25.
810
811 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
812 появилась в 0.8.25. 824 появилась в 0.8.25.
813 825
814 826
815 Изменения в nginx 0.8.25 16.11.2009 827 Изменения в nginx 0.8.25 16.11.2009
816 828
817 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная 829 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
818 не найдена с помощью метода $r->variable(). 830 не найдена с помощью метода $r->variable().
819 831
820 *) Добавление: модуль ngx_http_degradation_module. 832 *) Добавление: модуль ngx_http_degradation_module.
821 833
822 *) Добавление: именованные выделения в регулярных выражениях. 834 *) Добавление: именованные выделения в регулярных выражениях.
823 835
824 *) Добавление: теперь при использовании переменных в директиве 836 *) Добавление: теперь при использовании переменных в директиве
825 proxy_pass не требуется задавать URI. 837 proxy_pass не требуется задавать URI.
826 838
827 *) Добавление: теперь директива msie_padding работает и для Chrome. 839 *) Добавление: теперь директива msie_padding работает и для Chrome.
828 840
829 *) Исправление: в рабочем процессе происходил segmentation fault при 841 *) Исправление: в рабочем процессе происходил segmentation fault при
830 недостатке памяти; ошибка появилась в 0.8.18. 842 недостатке памяти; ошибка появилась в 0.8.18.
831 843
832 *) Исправление: nginx передавал сжатые ответы клиентам, не 844 *) Исправление: nginx передавал сжатые ответы клиентам, не
833 поддерживающим сжатие, при настройках gzip_static on и gzip_vary 845 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
834 off; ошибка появилась в 0.8.16. 846 ошибка появилась в 0.8.16.
835 847
836 848
837 Изменения в nginx 0.8.24 11.11.2009 849 Изменения в nginx 0.8.24 11.11.2009
838 850
839 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в 851 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
840 заголовок 304-ых ответов модуля ngx_http_gzip_static_module. 852 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
841 853
842 *) Исправление: nginx не собирался без параметра --with-debug; ошибка 854 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
843 появилась в 0.8.23. 855 появилась в 0.8.23.
844 856
845 *) Исправление: параметр "unix:" в директиве set_real_ip_from 857 *) Исправление: параметр "unix:" в директиве set_real_ip_from
846 неправильно наследовался с предыдущего уровня. 858 неправильно наследовался с предыдущего уровня.
847 859
848 *) Исправление: в resolver'е при определении пустого имени. 860 *) Исправление: в resolver'е при определении пустого имени.
849 861
850 862
851 Изменения в nginx 0.8.23 11.11.2009 863 Изменения в nginx 0.8.23 11.11.2009
852 864
853 *) Безопасность: теперь SSL/TLS renegotiation запрещён. 865 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
854 Спасибо Максиму Дунину. 866 Спасибо Максиму Дунину.
855 867
856 *) Исправление: listen unix domain сокет не наследовался во время 868 *) Исправление: listen unix domain сокет не наследовался во время
857 обновления без перерыва. 869 обновления без перерыва.
858 870
859 *) Исправление: параметр "unix:" в директиве set_real_ip_from не 871 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
860 работал без ещё одной директивы с любым IP-адресом. 872 без ещё одной директивы с любым IP-адресом.
861 873
862 *) Исправление: segmentation fault и зацикливания в resolver'е. 874 *) Исправление: segmentation fault и зацикливания в resolver'е.
863 875
864 *) Исправление: в resolver'е. 876 *) Исправление: в resolver'е.
865 Спасибо Артёму Бохану. 877 Спасибо Артёму Бохану.
869 881
870 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind. 882 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
871 883
872 *) Добавление: директивы access и deny поддерживают IPv6. 884 *) Добавление: директивы access и deny поддерживают IPv6.
873 885
874 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в 886 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
875 заголовках запроса. 887 заголовках запроса.
876 888
877 *) Добавление: параметр "unix:" в директиве set_real_ip_from. 889 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
878 890
879 *) Исправление: nginx не удалял unix domain сокет после тестирования 891 *) Исправление: nginx не удалял unix domain сокет после тестирования
880 конфигурации. 892 конфигурации.
881 893
882 *) Исправление: nginx удалял unix domain сокет во время обновления без 894 *) Исправление: nginx удалял unix domain сокет во время обновления без
883 перерыва. 895 перерыва.
884 896
885 *) Исправление: оператор "!-x" не работал. 897 *) Исправление: оператор "!-x" не работал.
886 Спасибо Максиму Дунину. 898 Спасибо Максиму Дунину.
887 899
888 *) Исправление: в рабочем процессе мог произойти segmentation fault при 900 *) Исправление: в рабочем процессе мог произойти segmentation fault при
889 использовании limit_rate в HTTPS сервере. 901 использовании limit_rate в HTTPS сервере.
890 Спасибо Максиму Дунину. 902 Спасибо Максиму Дунину.
891 903
892 *) Исправление: при записи в лог переменной $limit_rate в рабочем 904 *) Исправление: при записи в лог переменной $limit_rate в рабочем
893 процессе происходил segmentation fault. 905 процессе происходил segmentation fault.
894 Спасибо Максиму Дунину. 906 Спасибо Максиму Дунину.
895 907
896 *) Исправление: в рабочем процессе мог произойти segmentation fault, 908 *) Исправление: в рабочем процессе мог произойти segmentation fault,
897 если внутри блока server не было директивы listen; ошибка появилась 909 если внутри блока server не было директивы listen; ошибка появилась в
898 в 0.8.21. 910 0.8.21.
899 911
900 912
901 Изменения в nginx 0.8.21 26.10.2009 913 Изменения в nginx 0.8.21 26.10.2009
902 914
903 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI. 915 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
904 916
905 *) Добавление: директива listen модуля HTTP поддерживает unix domain 917 *) Добавление: директива listen модуля HTTP поддерживает unix domain
906 сокеты. 918 сокеты.
907 Спасибо Hongli Lai. 919 Спасибо Hongli Lai.
908 920
909 *) Добавление: параметр "default_server" в директиве listen. 921 *) Добавление: параметр "default_server" в директиве listen.
910 922
911 *) Добавление: теперь параметр "default" не обязателен для установки 923 *) Добавление: теперь параметр "default" не обязателен для установки
912 параметров listen-сокета. 924 параметров listen-сокета.
913 925
914 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных 926 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
915 платформах; 927 платформах;
916 928
917 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. 929 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
918 930
919 931
920 Изменения в nginx 0.8.20 14.10.2009 932 Изменения в nginx 0.8.20 14.10.2009
921 933
922 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 934 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
923 "HIGH:!ADH:!MD5". 935 "HIGH:!ADH:!MD5".
924 936
925 *) Исправление: модуль ngx_http_autoindex_module не показывал последний 937 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
926 слэш для линков на каталоги; ошибка появилась в 0.7.15. 938 слэш для линков на каталоги; ошибка появилась в 0.7.15.
927 939
928 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации 940 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
929 --error-log-path; ошибка появилась в 0.7.53. 941 --error-log-path; ошибка появилась в 0.7.53.
930 942
931 *) Исправление: nginx не считал запятую разделителем в строке 943 *) Исправление: nginx не считал запятую разделителем в строке
932 "Cache-Control" в заголовке ответа бэкенда. 944 "Cache-Control" в заголовке ответа бэкенда.
933 945
934 *) Исправление: nginx/Windows мог не создать временный файл, файл в 946 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
935 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий 947 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
936 процесс не имел достаточно прав для работы с каталогами верхнего 948 не имел достаточно прав для работы с каталогами верхнего уровня.
937 уровня. 949
938 950 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
939 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа 951 FastCGI-сервера не скрывались при кэшировании, если не использовались
940 FastCGI-сервера не скрывались при кэшировании, если не 952 директивы fastcgi_hide_header с любыми параметрами.
941 использовались директивы fastcgi_hide_header с любыми параметрами.
942 953
943 *) Исправление: nginx неверно считал размер кэша на диске. 954 *) Исправление: nginx неверно считал размер кэша на диске.
944 955
945 956
946 Изменения в nginx 0.8.19 06.10.2009 957 Изменения в nginx 0.8.19 06.10.2009
947 958
948 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён. 959 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
949 960
950 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 961 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
951 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 962 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
952 963
953 *) Исправление: директива limit_req не работала; ошибка появилась в 964 *) Исправление: директива limit_req не работала; ошибка появилась в
954 0.8.18. 965 0.8.18.
955 966
956 967
957 Изменения в nginx 0.8.18 06.10.2009 968 Изменения в nginx 0.8.18 06.10.2009
958 969
959 *) Добавление: директива read_ahead. 970 *) Добавление: директива read_ahead.
960 971
961 *) Добавление: теперь можно использовать несколько директив 972 *) Добавление: теперь можно использовать несколько директив
962 perl_modules. 973 perl_modules.
963 974
964 *) Добавление: директивы limit_req_log_level и limit_conn_log_level. 975 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
965 976
966 *) Исправление: теперь директива limit_req соответствует алгоритму 977 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
967 leaky bucket. 978 bucket.
968 Спасибо Максиму Дунину. 979 Спасибо Максиму Дунину.
969 980
970 *) Исправление: nginx не работал на Linux/sparc. 981 *) Исправление: nginx не работал на Linux/sparc.
971 Спасибо Marcus Ramberg. 982 Спасибо Marcus Ramberg.
972 983
973 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке 984 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
974 в ответе на запрос MKCOL. 985 ответе на запрос MKCOL.
975 Спасибо Xie Zhenye. 986 Спасибо Xie Zhenye.
976 987
977 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка 988 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
978 появилась в 0.8.11. 989 появилась в 0.8.11.
979 990
980 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. 991 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
981 992
982 993
983 Изменения в nginx 0.8.17 28.09.2009 994 Изменения в nginx 0.8.17 28.09.2009
984 995
985 *) Безопасность: теперь символы "/../" запрещены в строке "Destination" 996 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
986 в заголовке запроса. 997 в заголовке запроса.
987 998
988 *) Изменение: теперь значение переменной $host всегда в нижнем регистре. 999 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
989 1000
990 *) Добавление: переменная $ssl_session_id. 1001 *) Добавление: переменная $ssl_session_id.
994 1005
995 Изменения в nginx 0.8.16 22.09.2009 1006 Изменения в nginx 0.8.16 22.09.2009
996 1007
997 *) Добавление: директива image_filter_transparency. 1008 *) Добавление: директива image_filter_transparency.
998 1009
999 *) Исправление: директива "addition_types" была неверно названа 1010 *) Исправление: директива "addition_types" была неверно названа
1000 "addtion_types". 1011 "addtion_types".
1001 1012
1002 *) Исправление: порчи кэша resolver'а. 1013 *) Исправление: порчи кэша resolver'а.
1003 Спасибо Matthew Dempsky. 1014 Спасибо Matthew Dempsky.
1004 1015
1005 *) Исправление: утечки памяти в resolver'е. 1016 *) Исправление: утечки памяти в resolver'е.
1006 Спасибо Matthew Dempsky. 1017 Спасибо Matthew Dempsky.
1007 1018
1008 *) Исправление: неверная строка запроса в переменной $request 1019 *) Исправление: неверная строка запроса в переменной $request
1009 записывалась в access_log только при использовании error_log на 1020 записывалась в access_log только при использовании error_log на
1010 уровне info или debug. 1021 уровне info или debug.
1011 1022
1012 *) Исправление: в поддержке альфа-канала PNG в модуле 1023 *) Исправление: в поддержке альфа-канала PNG в модуле
1013 ngx_http_image_filter_module. 1024 ngx_http_image_filter_module.
1014 1025
1015 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в 1026 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
1016 заголовок ответа, если обе директивы gzip_static и gzip_vary были 1027 заголовок ответа, если обе директивы gzip_static и gzip_vary были
1017 включены. 1028 включены.
1018 1029
1019 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в 1030 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
1020 nginx/Windows. 1031 nginx/Windows.
1021 1032
1022 *) Исправление: ошибки при использовании post_action; ошибка появилась 1033 *) Исправление: ошибки при использовании post_action; ошибка появилась в
1023 в 0.8.11. 1034 0.8.11.
1024 Спасибо Игорю Артемьеву. 1035 Спасибо Игорю Артемьеву.
1025 1036
1026 1037
1027 Изменения в nginx 0.8.15 14.09.2009 1038 Изменения в nginx 0.8.15 14.09.2009
1028 1039
1029 *) Безопасность: при обработке специально созданного запроса в рабочем 1040 *) Безопасность: при обработке специально созданного запроса в рабочем
1030 процессе мог произойти segmentation fault. 1041 процессе мог произойти segmentation fault.
1031 Спасибо Chris Ries. 1042 Спасибо Chris Ries.
1032 1043
1033 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и 1044 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
1034 .domain-some.tld, то имя .sub.domain.tld попадало под маску 1045 .domain-some.tld, то имя .sub.domain.tld попадало под маску
1035 .domain.tld. 1046 .domain.tld.
1036 1047
1037 *) Исправление: в поддержке прозрачности в модуле 1048 *) Исправление: в поддержке прозрачности в модуле
1038 ngx_http_image_filter_module. 1049 ngx_http_image_filter_module.
1039 1050
1040 *) Исправление: в файловом AIO. 1051 *) Исправление: в файловом AIO.
1041 1052
1042 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка 1053 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
1043 появилась в 0.8.11. 1054 появилась в 0.8.11.
1044 1055
1045 *) Исправление: ошибки при использовании встроенного перла; ошибка 1056 *) Исправление: ошибки при использовании встроенного перла; ошибка
1046 появилась в 0.8.11. 1057 появилась в 0.8.11.
1047 1058
1048 1059
1049 Изменения в nginx 0.8.14 07.09.2009 1060 Изменения в nginx 0.8.14 07.09.2009
1050 1061
1051 *) Исправление: устаревший закэшированный запрос мог залипнуть в 1062 *) Исправление: устаревший закэшированный запрос мог залипнуть в
1052 состоянии "UPDATING". 1063 состоянии "UPDATING".
1053 1064
1054 *) Исправление: при использовании error_log на уровне info или debug в 1065 *) Исправление: при использовании error_log на уровне info или debug в
1055 рабочем процессе мог произойти segmentation fault. 1066 рабочем процессе мог произойти segmentation fault.
1056 Спасибо Сергею Боченкову. 1067 Спасибо Сергею Боченкову.
1057 1068
1058 *) Исправление: ошибки при использовании встроенного перла; ошибка 1069 *) Исправление: ошибки при использовании встроенного перла; ошибка
1059 появилась в 0.8.11. 1070 появилась в 0.8.11.
1060 1071
1061 *) Исправление: директива error_page не перенаправляла ошибку 413; 1072 *) Исправление: директива error_page не перенаправляла ошибку 413;
1062 ошибка появилась в 0.6.10. 1073 ошибка появилась в 0.6.10.
1063 1074
1064 1075
1065 Изменения в nginx 0.8.13 31.08.2009 1076 Изменения в nginx 0.8.13 31.08.2009
1066 1077
1067 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12. 1078 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
1068 1079
1069 *) Исправление: nginx не собирался без параметра --with-file-aio на 1080 *) Исправление: nginx не собирался без параметра --with-file-aio на
1070 FreeBSD; ошибка появилась в 0.8.12. 1081 FreeBSD; ошибка появилась в 0.8.12.
1071 1082
1072 1083
1073 Изменения в nginx 0.8.12 31.08.2009 1084 Изменения в nginx 0.8.12 31.08.2009
1074 1085
1075 *) Добавление: параметр sendfile в директиве aio во FreeBSD. 1086 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
1076 1087
1077 *) Исправление: ошибки при использовании try_files; ошибка появилась в 1088 *) Исправление: ошибки при использовании try_files; ошибка появилась в
1078 0.8.11. 1089 0.8.11.
1079 1090
1080 *) Исправление: ошибки при использовании memcached; ошибка появилась в 1091 *) Исправление: ошибки при использовании memcached; ошибка появилась в
1081 0.8.11. 1092 0.8.11.
1082 1093
1083 1094
1084 Изменения в nginx 0.8.11 28.08.2009 1095 Изменения в nginx 0.8.11 28.08.2009
1085 1096
1086 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие 1097 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1087 для MSIE 6.0 SV1. 1098 для MSIE 6.0 SV1.
1088 1099
1089 *) Добавление: поддержка файлового AIO во FreeBSD и Linux. 1100 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1090 1101
1091 *) Добавление: директива directio_alignment. 1102 *) Добавление: директива directio_alignment.
1093 1104
1094 Изменения в nginx 0.8.10 24.08.2009 1105 Изменения в nginx 0.8.10 24.08.2009
1095 1106
1096 *) Исправление: утечек памяти при использовании базы GeoIP City. 1107 *) Исправление: утечек памяти при использовании базы GeoIP City.
1097 1108
1098 *) Исправление: ошибки при копировании временных файлов в постоянное 1109 *) Исправление: ошибки при копировании временных файлов в постоянное
1099 место хранения; ошибка появилась в 0.8.9. 1110 место хранения; ошибка появилась в 0.8.9.
1100 1111
1101 1112
1102 Изменения в nginx 0.8.9 17.08.2009 1113 Изменения в nginx 0.8.9 17.08.2009
1103 1114
1104 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном 1115 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1105 процесс; это должно улучшить обработку больших кэшей. 1116 процесс; это должно улучшить обработку больших кэшей.
1106 1117
1107 *) Добавление: теперь временные файлы и постоянное место хранения могут 1118 *) Добавление: теперь временные файлы и постоянное место хранения могут
1108 располагаться на разных файловых системах. 1119 располагаться на разных файловых системах.
1109 1120
1110 1121
1111 Изменения в nginx 0.8.8 10.08.2009 1122 Изменения в nginx 0.8.8 10.08.2009
1112 1123
1113 *) Исправление: в обработке заголовков ответа, разделённых в 1124 *) Исправление: в обработке заголовков ответа, разделённых в
1114 FastCGI-записях. 1125 FastCGI-записях.
1115 1126
1116 *) Исправление: если запрос обрабатывался в двух проксированных или 1127 *) Исправление: если запрос обрабатывался в двух проксированных или
1117 FastCGI location'ах и в первом из них использовалось кэширование, то 1128 FastCGI location'ах и в первом из них использовалось кэширование, то
1118 в рабочем процессе происходил segmentation fault; ошибка появилась в 1129 в рабочем процессе происходил segmentation fault; ошибка появилась в
1119 0.8.7. 1130 0.8.7.
1120 1131
1121 1132
1122 Изменения в nginx 0.8.7 27.07.2009 1133 Изменения в nginx 0.8.7 27.07.2009
1123 1134
1124 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7. 1135 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
1125 1136
1126 *) Изменение: параметр ask директивы ssl_verify_client изменён на 1137 *) Изменение: параметр ask директивы ssl_verify_client изменён на
1127 параметр optional и теперь он проверяет клиентский сертификат, если 1138 параметр optional и теперь он проверяет клиентский сертификат, если
1128 он был предложен. 1139 он был предложен.
1129 Спасибо Brice Figureau. 1140 Спасибо Brice Figureau.
1130 1141
1131 *) Добавление: переменная $ssl_client_verify. 1142 *) Добавление: переменная $ssl_client_verify.
1132 Спасибо Brice Figureau. 1143 Спасибо Brice Figureau.
1134 *) Добавление: директива ssl_crl. 1145 *) Добавление: директива ssl_crl.
1135 Спасибо Brice Figureau. 1146 Спасибо Brice Figureau.
1136 1147
1137 *) Добавление: параметр proxy директивы geo. 1148 *) Добавление: параметр proxy директивы geo.
1138 1149
1139 *) Добавление: директива image_filter поддерживает переменные для 1150 *) Добавление: директива image_filter поддерживает переменные для
1140 задания размеров. 1151 задания размеров.
1141 1152
1142 *) Исправление: использование переменной $ssl_client_cert портило 1153 *) Исправление: использование переменной $ssl_client_cert портило
1143 память; ошибка появилась в 0.7.7. 1154 память; ошибка появилась в 0.7.7.
1144 Спасибо Сергею Журавлёву. 1155 Спасибо Сергею Журавлёву.
1145 1156
1146 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не 1157 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
1147 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate", 1158 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
1148 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа 1159 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
1149 бэкенда. 1160 Спасибо Максиму Дунину.
1150 Спасибо Максиму Дунину. 1161
1151 1162 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1152 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1153 заголовке ответа бэкенда; ошибка появилась в 0.7.44. 1163 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
1154 Спасибо Максиму Дунину. 1164 Спасибо Максиму Дунину.
1155 1165
1156 *) Исправление: ошибки "[alert] zero size buf" при получении пустых 1166 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
1157 ответы в подзапросах; ошибка появилась в 0.8.5. 1167 ответы в подзапросах; ошибка появилась в 0.8.5.
1158 1168
1159 1169
1160 Изменения в nginx 0.8.6 20.07.2009 1170 Изменения в nginx 0.8.6 20.07.2009
1161 1171
1162 *) Добавление: модуль ngx_http_geoip_module. 1172 *) Добавление: модуль ngx_http_geoip_module.
1163 1173
1164 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML 1174 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
1165 document" для правильного документа. 1175 document" для правильного документа.
1166 Спасибо Kuramoto Eiji. 1176 Спасибо Kuramoto Eiji.
1167 1177
1168 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке 1178 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
1169 location'ов, заданных регулярным выражением, теперь всегда делается 1179 location'ов, заданных регулярным выражением, теперь всегда делается
1170 сравнение без учёта регистра символов. 1180 сравнение без учёта регистра символов.
1171 1181
1172 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI. 1182 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
1173 Спасибо Hugo Leisink. 1183 Спасибо Hugo Leisink.
1174 1184
1175 *) Исправление: имя файла указанного в --conf-path игнорировалось при 1185 *) Исправление: имя файла указанного в --conf-path игнорировалось при
1176 установке; ошибка появилась в 0.6.6. 1186 установке; ошибка появилась в 0.6.6.
1177 Спасибо Максиму Дунину. 1187 Спасибо Максиму Дунину.
1178 1188
1179 1189
1180 Изменения в nginx 0.8.5 13.07.2009 1190 Изменения в nginx 0.8.5 13.07.2009
1181 1191
1182 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса. 1192 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
1183 1193
1184 *) Исправление: при использовании HTTP Basic-аутентификации на Windows 1194 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
1185 для неверных имени/пароля возвращалась 500-ая ошибка. 1195 для неверных имени/пароля возвращалась 500-ая ошибка.
1186 1196
1187 *) Исправление: ответы модуля ngx_http_perl_module не работали в 1197 *) Исправление: ответы модуля ngx_http_perl_module не работали в
1188 подзапросах. 1198 подзапросах.
1189 1199
1190 *) Исправление: в модуле ngx_http_limit_req_module. 1200 *) Исправление: в модуле ngx_http_limit_req_module.
1191 Спасибо Максиму Дунину. 1201 Спасибо Максиму Дунину.
1192 1202
1193 1203
1194 Изменения в nginx 0.8.4 22.06.2009 1204 Изменения в nginx 0.8.4 22.06.2009
1195 1205
1196 *) Исправление: nginx не собирался с параметром --without-http-cache; 1206 *) Исправление: nginx не собирался с параметром --without-http-cache;
1197 ошибка появилась в 0.8.3. 1207 ошибка появилась в 0.8.3.
1198 1208
1199 1209
1200 Изменения в nginx 0.8.3 19.06.2009 1210 Изменения в nginx 0.8.3 19.06.2009
1201 1211
1202 *) Добавление: переменная $upstream_cache_status. 1212 *) Добавление: переменная $upstream_cache_status.
1203 1213
1204 *) Исправление: nginx не собирался на MacOSX 10.6. 1214 *) Исправление: nginx не собирался на MacOSX 10.6.
1205 1215
1206 *) Исправление: nginx не собирался с параметром --without-http-cache; 1216 *) Исправление: nginx не собирался с параметром --without-http-cache;
1207 ошибка появилась в 0.8.2. 1217 ошибка появилась в 0.8.2.
1208 1218
1209 *) Исправление: если использовался перехват 401 ошибки от бэкенда и 1219 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
1210 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то 1220 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
1211 в рабочем процессе происходил segmentation fault. 1221 в рабочем процессе происходил segmentation fault.
1212 Спасибо Евгению Мычло. 1222 Спасибо Евгению Мычло.
1213 1223
1214 1224
1215 Изменения в nginx 0.8.2 15.06.2009 1225 Изменения в nginx 0.8.2 15.06.2009
1216 1226
1217 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша 1227 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
1218 на старте. 1228 на старте.
1219 1229
1220 *) Исправление: open_file_cache мог кэшировать открытые файлы очень 1230 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
1221 долго; ошибка появилась в 0.7.4. 1231 долго; ошибка появилась в 0.7.4.
1222 1232
1223 1233
1224 Изменения в nginx 0.8.1 08.06.2009 1234 Изменения в nginx 0.8.1 08.06.2009
1225 1235
1226 *) Добавление: параметр updating в директивах proxy_cache_use_stale и 1236 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
1227 fastcgi_cache_use_stale. 1237 fastcgi_cache_use_stale.
1228 1238
1229 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в 1239 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1230 заголовке запроса клиента передавались бэкенду при кэшировании, если 1240 заголовке запроса клиента передавались бэкенду при кэшировании, если
1231 не использовалась директива proxy_set_header с любыми параметрами. 1241 не использовалась директива proxy_set_header с любыми параметрами.
1232 1242
1233 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда 1243 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
1234 не скрывались при кэшировании, если не использовались директивы 1244 не скрывались при кэшировании, если не использовались директивы
1235 proxy_hide_header/fastcgi_hide_header с любыми параметрами. 1245 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
1236 1246
1237 *) Исправление: модуль ngx_http_image_filter_module не понимал формат 1247 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
1238 GIF87a. 1248 GIF87a.
1239 Спасибо Денису Ильиных. 1249 Спасибо Денису Ильиных.
1240 1250
1241 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка 1251 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
1242 появилась в 0.7.56. 1252 появилась в 0.7.56.
1243 1253
1244 1254
1245 Изменения в nginx 0.8.0 02.06.2009 1255 Изменения в nginx 0.8.0 02.06.2009
1246 1256
1251 1261
1252 *) Исправление: XSLT-фильтр не работал в подзапросах. 1262 *) Исправление: XSLT-фильтр не работал в подзапросах.
1253 1263
1254 *) Исправление: обработке относительных путей в nginx/Windows. 1264 *) Исправление: обработке относительных путей в nginx/Windows.
1255 1265
1256 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и 1266 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
1257 fastcgi_cache в nginx/Windows. 1267 fastcgi_cache в nginx/Windows.
1258 1268
1259 *) Исправление: в обработке ошибок выделения памяти. 1269 *) Исправление: в обработке ошибок выделения памяти.
1260 Спасибо Максиму Дунину и Кириллу Коринскому. 1270 Спасибо Максиму Дунину и Кириллу Коринскому.
1261 1271
1265 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods. 1275 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
1266 1276
1267 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25. 1277 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
1268 Спасибо Максиму Дунину. 1278 Спасибо Максиму Дунину.
1269 1279
1270 *) Исправление: при использовании переменной $request_body в рабочем 1280 *) Исправление: при использовании переменной $request_body в рабочем
1271 процессе происходил segmentation fault, если в запросе не было тела; 1281 процессе происходил segmentation fault, если в запросе не было тела;
1272 ошибка появилась в 0.7.58. 1282 ошибка появилась в 0.7.58.
1273 1283
1274 *) Исправление: SSL-модули могли не собираться на Solaris и Linux; 1284 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
1275 ошибка появилась в 0.7.56. 1285 ошибка появилась в 0.7.56.
1276 1286
1277 *) Исправление: ответы модуля ngx_http_xslt_filter_module не 1287 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
1278 обрабатывались SSI-, charset- и gzip-фильтрами. 1288 обрабатывались SSI-, charset- и gzip-фильтрами.
1279 1289
1280 *) Исправление: директива charset не ставила кодировку для ответов 1290 *) Исправление: директива charset не ставила кодировку для ответов
1281 модуля ngx_http_gzip_static_module. 1291 модуля ngx_http_gzip_static_module.
1282 1292
1283 1293
1284 Изменения в nginx 0.7.58 18.05.2009 1294 Изменения в nginx 0.7.58 18.05.2009
1285 1295
1286 *) Добавление: директива listen почтового прокси-сервера поддерживает 1296 *) Добавление: директива listen почтового прокси-сервера поддерживает
1287 IPv6. 1297 IPv6.
1288 1298
1289 *) Добавление: директива image_filter_jpeg_quality. 1299 *) Добавление: директива image_filter_jpeg_quality.
1290 1300
1291 *) Добавление: директива client_body_in_single_buffer. 1301 *) Добавление: директива client_body_in_single_buffer.
1292 1302
1293 *) Добавление: переменная $request_body. 1303 *) Добавление: переменная $request_body.
1294 1304
1295 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена 1305 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1296 файлов, содержащих символ ":". 1306 файлов, содержащих символ ":".
1297 1307
1298 *) Исправление: процедура "make upgrade" не работала; ошибка появилась 1308 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
1309 0.7.53.
1310 Спасибо Денису Латыпову.
1311
1312
1313 Изменения в nginx 0.7.57 12.05.2009
1314
1315 *) Исправление: при перенаправлении ошибок модуля
1316 ngx_http_image_filter_module в именованный location в рабочем
1317 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1318
1319
1320 Изменения в nginx 0.7.56 11.05.2009
1321
1322 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
1323 HTTP.
1324
1325 *) Исправление: в модуле ngx_http_image_filter_module.
1326
1327
1328 Изменения в nginx 0.7.55 06.05.2009
1329
1330 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1331 fastcgi_cache_use_stale не работали.
1332
1333 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1334 заголовка.
1335
1336 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1337 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1338
1339 *) Исправление: при использовании директивы debug_connection в рабочем
1340 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1341
1342 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1343
1344 *) Исправление: файлы больше 2G не передавались с использованием
1345 $r->sendfile.
1346 Спасибо Максиму Дунину.
1347
1348
1349 Изменения в nginx 0.7.54 01.05.2009
1350
1351 *) Добавление: модуль ngx_http_image_filter_module.
1352
1353 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1354
1355 *) Исправление: при использовании переменных "open_file_cache_errors on"
1356 в рабочем процессе мог произойти segmentation fault; ошибка появилась
1299 в 0.7.53. 1357 в 0.7.53.
1300 Спасибо Денису Латыпову. 1358
1301 1359 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1302
1303 Изменения в nginx 0.7.57 12.05.2009
1304
1305 *) Исправление: при перенаправлении ошибок модуля
1306 ngx_http_image_filter_module в именованный location в рабочем
1307 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1308
1309
1310 Изменения в nginx 0.7.56 11.05.2009
1311
1312 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen
1313 модуля HTTP.
1314
1315 *) Исправление: в модуле ngx_http_image_filter_module.
1316
1317
1318 Изменения в nginx 0.7.55 06.05.2009
1319
1320 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1321 fastcgi_cache_use_stale не работали.
1322
1323 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1324 заголовка.
1325
1326 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1327 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1328
1329 *) Исправление: при использовании директивы debug_connection в рабочем
1330 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1331
1332 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1333
1334 *) Исправление: файлы больше 2G не передавались с использованием
1335 $r->sendfile.
1336 Спасибо Максиму Дунину.
1337
1338
1339 Изменения в nginx 0.7.54 01.05.2009
1340
1341 *) Добавление: модуль ngx_http_image_filter_module.
1342
1343 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1344
1345 *) Исправление: при использовании переменных "open_file_cache_errors
1346 on" в рабочем процессе мог произойти segmentation fault; ошибка
1347 появилась в 0.7.53.
1348
1349 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1350 появилась в 0.7.39. 1360 появилась в 0.7.39.
1351 1361
1352 *) Исправление: улучшение обработки ошибок метода select. 1362 *) Исправление: улучшение обработки ошибок метода select.
1353 1363
1354 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows. 1364 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1355 1365
1356 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows; 1366 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1357 ошибка появилась в 0.7.53. 1367 ошибка появилась в 0.7.53.
1358 1368
1359 1369
1360 Изменения в nginx 0.7.53 27.04.2009 1370 Изменения в nginx 0.7.53 27.04.2009
1361 1371
1362 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с 1372 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
1363 самого начала работы. 1373 самого начала работы.
1364 1374
1365 *) Добавление: теперь ошибки и предупреждения при старте записываются в 1375 *) Добавление: теперь ошибки и предупреждения при старте записываются в
1366 error_log и выводятся на stderr. 1376 error_log и выводятся на stderr.
1367 1377
1368 *) Добавление: при сборке с пустым параметром --prefix= nginx 1378 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
1369 использует как префикс каталог, в котором он был запущен. 1379 как префикс каталог, в котором он был запущен.
1370 1380
1371 *) Добавление: ключ -p. 1381 *) Добавление: ключ -p.
1372 1382
1373 *) Добавление: ключ -s на Unix-платформах. 1383 *) Добавление: ключ -s на Unix-платформах.
1374 1384
1375 *) Добавление: ключи -? и -h. 1385 *) Добавление: ключи -? и -h.
1376 Спасибо Jerome Loyet. 1386 Спасибо Jerome Loyet.
1377 1387
1378 *) Добавление: теперь ключи можно задавать в сжатой форме. 1388 *) Добавление: теперь ключи можно задавать в сжатой форме.
1379 1389
1380 *) Исправление: nginx/Windows не работал, если файл конфигурации был 1390 *) Исправление: nginx/Windows не работал, если файл конфигурации был
1381 задан ключом -c. 1391 задан ключом -c.
1382 1392
1383 *) Исправление: при использовании директив proxy_store, fastcgi_store, 1393 *) Исправление: при использовании директив proxy_store, fastcgi_store,
1384 proxy_cache или fastcgi_cache временные файлы могли не удаляться. 1394 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
1385 Спасибо Максиму Дунину. 1395 Спасибо Максиму Дунину.
1386 1396
1387 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации 1397 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
1388 почтового прокси-сервера передавалось неверное значение; ошибка 1398 почтового прокси-сервера передавалось неверное значение; ошибка
1389 появилась в 0.7.34. 1399 появилась в 0.7.34.
1390 Спасибо Simon Lecaille. 1400 Спасибо Simon Lecaille.
1391 1401
1392 *) Исправление: при логгировании на Linux не писались текстовые 1402 *) Исправление: при логгировании на Linux не писались текстовые описания
1393 описания системных ошибок; ошибка появилась в 0.7.45. 1403 системных ошибок; ошибка появилась в 0.7.45.
1394 1404
1395 *) Исправление: директива fastcgi_cache_min_uses не работала. 1405 *) Исправление: директива fastcgi_cache_min_uses не работала.
1396 Спасибо Андрею Воробьёву. 1406 Спасибо Андрею Воробьёву.
1397 1407
1398 1408
1400 1410
1401 *) Добавление: первая бинарная версия под Windows. 1411 *) Добавление: первая бинарная версия под Windows.
1402 1412
1403 *) Исправление: корректная обработка метода HEAD при кэшировании. 1413 *) Исправление: корректная обработка метода HEAD при кэшировании.
1404 1414
1405 *) Исправление: корректная обработка строк "If-Modified-Since", 1415 *) Исправление: корректная обработка строк "If-Modified-Since",
1406 "If-Range" и им подобных в заголовке запроса клиента при кэшировании. 1416 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
1407 1417
1408 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в 1418 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
1409 заголовке ответа для закэшированных ответов. 1419 заголовке ответа для закэшированных ответов.
1410 1420
1411 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 1421 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
1412 perl поддерживал потоки, то при выходе основного процесса могла 1422 perl поддерживал потоки, то при выходе основного процесса могла
1413 выдаваться ошибка "panic: MUTEX_LOCK". 1423 выдаваться ошибка "panic: MUTEX_LOCK".
1414 1424
1415 *) Исправление: nginx не собирался с параметром --without-http-cache; 1425 *) Исправление: nginx не собирался с параметром --without-http-cache;
1416 ошибка появилась в 0.7.48. 1426 ошибка появилась в 0.7.48.
1417 1427
1418 *) Исправление: nginx не собирался на платформах, отличных от i386, 1428 *) Исправление: nginx не собирался на платформах, отличных от i386,
1419 amd64, sparc и ppc; ошибка появилась в 0.7.42. 1429 amd64, sparc и ppc; ошибка появилась в 0.7.42.
1420 1430
1421 1431
1422 Изменения в nginx 0.7.51 12.04.2009 1432 Изменения в nginx 0.7.51 12.04.2009
1423 1433
1424 *) Добавление: директива try_files поддерживает код ответа в последнем 1434 *) Добавление: директива try_files поддерживает код ответа в последнем
1425 параметре. 1435 параметре.
1426 1436
1427 *) Добавление: теперь в директиве return можно использовать любой код 1437 *) Добавление: теперь в директиве return можно использовать любой код
1428 ответа. 1438 ответа.
1429 1439
1430 *) Исправление: директива error_page делала внешний редирект без строки 1440 *) Исправление: директива error_page делала внешний редирект без строки
1431 запроса; ошибка появилась в 0.7.44. 1441 запроса; ошибка появилась в 0.7.44.
1432 1442
1433 *) Исправление: если сервера слушали на нескольких явно описанных 1443 *) Исправление: если сервера слушали на нескольких явно описанных
1434 адресах, то виртуальные сервера могли не работать; ошибка появилась 1444 адресах, то виртуальные сервера могли не работать; ошибка появилась в
1435 в 0.7.39. 1445 0.7.39.
1436 1446
1437 1447
1438 Изменения в nginx 0.7.50 06.04.2009 1448 Изменения в nginx 0.7.50 06.04.2009
1439 1449
1440 *) Исправление: переменные $arg_... не работали; ошибка появилась в 1450 *) Исправление: переменные $arg_... не работали; ошибка появилась в
1441 0.7.49. 1451 0.7.49.
1442 1452
1443 1453
1444 Изменения в nginx 0.7.49 06.04.2009 1454 Изменения в nginx 0.7.49 06.04.2009
1445 1455
1446 *) Исправление: при использовании переменных $arg_... в рабочем 1456 *) Исправление: при использовании переменных $arg_... в рабочем процессе
1447 процессе мог произойти segmentation fault; ошибка появилась в 0.7.48. 1457 мог произойти segmentation fault; ошибка появилась в 0.7.48.
1448 1458
1449 1459
1450 Изменения в nginx 0.7.48 06.04.2009 1460 Изменения в nginx 0.7.48 06.04.2009
1451 1461
1452 *) Добавление: директива proxy_cache_key. 1462 *) Добавление: директива proxy_cache_key.
1453 1463
1454 *) Исправление: теперь nginx учитывает при кэшировании строки 1464 *) Исправление: теперь nginx учитывает при кэшировании строки
1455 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа 1465 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
1456 бэкенда. 1466 бэкенда.
1457 1467
1458 *) Исправление: теперь nginx кэширует только ответы на запросы GET. 1468 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
1459 1469
1460 *) Исправление: директива fastcgi_cache_key не наследовалась. 1470 *) Исправление: директива fastcgi_cache_key не наследовалась.
1463 Спасибо Максиму Дунину. 1473 Спасибо Максиму Дунину.
1464 1474
1465 *) Исправление: nginx не собирался с библиотекой uclibc. 1475 *) Исправление: nginx не собирался с библиотекой uclibc.
1466 Спасибо Timothy Redaelli. 1476 Спасибо Timothy Redaelli.
1467 1477
1468 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась 1478 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
1469 в 0.7.46. 1479 в 0.7.46.
1470 1480
1471 1481
1472 Изменения в nginx 0.7.47 01.04.2009 1482 Изменения в nginx 0.7.47 01.04.2009
1473 1483
1474 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях; 1484 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
1475 ошибка появилась в 0.7.46. 1485 ошибка появилась в 0.7.46.
1476 1486
1477 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46. 1487 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
1478 1488
1479 *) Исправление: если использовался параметр max_size, то cache manager 1489 *) Исправление: если использовался параметр max_size, то cache manager
1480 мог удалить весь кэш; ошибка появилась в 0.7.46. 1490 мог удалить весь кэш; ошибка появилась в 0.7.46.
1481 1491
1482 *) Изменение: в рабочем процессе мог произойти segmentation fault, если 1492 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
1483 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/ 1493 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
1484 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась 1494 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
1485 в 0.7.46. 1495 в 0.7.46.
1486 1496
1487 *) Исправление: в рабочем процессе мог произойти segmentation fault при 1497 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1488 перенаправлении запроса проксированному или FastCGI-серверу с 1498 перенаправлении запроса проксированному или FastCGI-серверу с помощью
1489 помощью error_page или try_files; ошибка появилась в 0.7.44. 1499 error_page или try_files; ошибка появилась в 0.7.44.
1490 1500
1491 1501
1492 Изменения в nginx 0.7.46 30.03.2009 1502 Изменения в nginx 0.7.46 30.03.2009
1493 1503
1494 *) Исправление: архив предыдущего релиза был неверным. 1504 *) Исправление: архив предыдущего релиза был неверным.
1495 1505
1496 1506
1497 Изменения в nginx 0.7.45 30.03.2009 1507 Изменения в nginx 0.7.45 30.03.2009
1498 1508
1499 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно 1509 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
1500 задавать на разных уровнях. 1510 задавать на разных уровнях.
1501 1511
1502 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён. 1512 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
1503 1513
1504 *) Добавление: параметр max_size в директиве proxy_cache_path. 1514 *) Добавление: параметр max_size в директиве proxy_cache_path.
1505 1515
1506 *) Добавление: предварительная поддержка кэширования в модуле 1516 *) Добавление: предварительная поддержка кэширования в модуле
1507 ngx_http_fastcgi_module. 1517 ngx_http_fastcgi_module.
1508 1518
1509 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе 1519 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1510 указываются названия директивы и зоны. 1520 указываются названия директивы и зоны.
1511 1521
1512 *) Исправление: директива "add_header last-modified ''" не удаляла в 1522 *) Исправление: директива "add_header last-modified ''" не удаляла в
1513 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44. 1523 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
1514 1524
1515 *) Исправление: в директиве auth_basic_user_file не работал 1525 *) Исправление: в директиве auth_basic_user_file не работал
1516 относительный путь, заданный строкой без переменных; ошибка 1526 относительный путь, заданный строкой без переменных; ошибка появилась
1517 появилась в 0.7.44. 1527 в 0.7.44.
1518 Спасибо Jerome Loyet. 1528 Спасибо Jerome Loyet.
1519 1529
1520 *) Исправление: в директиве alias, заданной переменными без ссылок на 1530 *) Исправление: в директиве alias, заданной переменными без ссылок на
1521 выделения в регулярных выражениях; ошибка появилась в 0.7.42. 1531 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
1522 1532
1523 1533
1524 Изменения в nginx 0.7.44 23.03.2009 1534 Изменения в nginx 0.7.44 23.03.2009
1525 1535
1526 *) Добавление: предварительная поддержка кэширования в модуле 1536 *) Добавление: предварительная поддержка кэширования в модуле
1527 ngx_http_proxy_module. 1537 ngx_http_proxy_module.
1528 1538
1529 *) Добавление: параметр --with-pcre в configure. 1539 *) Добавление: параметр --with-pcre в configure.
1530 1540
1531 *) Добавление: теперь директива try_files может быть использована на 1541 *) Добавление: теперь директива try_files может быть использована на
1532 уровне server. 1542 уровне server.
1533 1543
1534 *) Исправление: директива try_files неправильно обрабатывала строку 1544 *) Исправление: директива try_files неправильно обрабатывала строку
1535 запроса в последнем параметре. 1545 запроса в последнем параметре.
1536 1546
1537 *) Исправление: директива try_files могла неверно тестировать каталоги. 1547 *) Исправление: директива try_files могла неверно тестировать каталоги.
1538 1548
1539 *) Исправление: если для пары адрес:порт описан только один сервер, то 1549 *) Исправление: если для пары адрес:порт описан только один сервер, то
1540 выделения в регулярных выражениях в директиве server_name не 1550 выделения в регулярных выражениях в директиве server_name не
1541 работали. 1551 работали.
1542 1552
1543 1553
1544 Изменения в nginx 0.7.43 18.03.2009 1554 Изменения в nginx 0.7.43 18.03.2009
1545 1555
1546 *) Исправление: запрос обрабатывался неверно, если директива root 1556 *) Исправление: запрос обрабатывался неверно, если директива root
1547 использовала переменные; ошибка появилась в 0.7.42. 1557 использовала переменные; ошибка появилась в 0.7.42.
1548 1558
1549 *) Исправление: если сервер слушал на адресах типа "*", то значение 1559 *) Исправление: если сервер слушал на адресах типа "*", то значение
1550 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36. 1560 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
1551 1561
1552 1562
1553 Изменения в nginx 0.7.42 16.03.2009 1563 Изменения в nginx 0.7.42 16.03.2009
1554 1564
1555 *) Изменение: ошибка "Invalid argument", возвращаемая 1565 *) Изменение: ошибка "Invalid argument", возвращаемая
1556 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется. 1566 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
1557 1567
1558 *) Изменение: при отсутствии файла, указанного в директиве 1568 *) Изменение: при отсутствии файла, указанного в директиве
1559 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500. 1569 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
1560 1570
1561 *) Добавление: директива auth_basic_user_file поддерживает переменные. 1571 *) Добавление: директива auth_basic_user_file поддерживает переменные.
1562 Спасибо Кириллу Коринскому. 1572 Спасибо Кириллу Коринскому.
1563 1573
1564 *) Добавление: директива listen поддерживает параметр ipv6only. 1574 *) Добавление: директива listen поддерживает параметр ipv6only.
1565 Спасибо Zhang Hua. 1575 Спасибо Zhang Hua.
1566 1576
1567 *) Исправление: в директиве alias со ссылками на выделения в регулярных 1577 *) Исправление: в директиве alias со ссылками на выделения в регулярных
1568 выражениях; ошибка появилась в 0.7.40. 1578 выражениях; ошибка появилась в 0.7.40.
1569 1579
1570 *) Исправление: совместимость с Tru64 UNIX. 1580 *) Исправление: совместимость с Tru64 UNIX.
1571 Спасибо Dustin Marquess. 1581 Спасибо Dustin Marquess.
1572 1582
1573 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 1583 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
1574 появилась в 0.7.41. 1584 в 0.7.41.
1575 1585
1576 1586
1577 Изменения в nginx 0.7.41 11.03.2009 1587 Изменения в nginx 0.7.41 11.03.2009
1578 1588
1579 *) Исправление: в рабочем процессе мог произойти segmentation fault, 1589 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1580 если в server_name или location были выделения в регулярных 1590 если в server_name или location были выделения в регулярных
1581 выражениях; ошибка появилась в 0.7.40. 1591 выражениях; ошибка появилась в 0.7.40.
1582 Спасибо Владимиру Сопоту. 1592 Спасибо Владимиру Сопоту.
1583 1593
1584 1594
1585 Изменения в nginx 0.7.40 09.03.2009 1595 Изменения в nginx 0.7.40 09.03.2009
1586 1596
1587 *) Добавление: директива location поддерживает выделения в регулярных 1597 *) Добавление: директива location поддерживает выделения в регулярных
1588 выражениях. 1598 выражениях.
1589 1599
1590 *) Добавление: директиву alias с ссылками на выделения в регулярных 1600 *) Добавление: директиву alias с ссылками на выделения в регулярных
1591 выражениях можно использовать внутри location'а, заданного 1601 выражениях можно использовать внутри location'а, заданного регулярным
1592 регулярным выражением с выделениями. 1602 выражением с выделениями.
1593 1603
1594 *) Добавление: директива server_name поддерживает выделения в 1604 *) Добавление: директива server_name поддерживает выделения в регулярных
1595 регулярных выражениях. 1605 выражениях.
1596 1606
1597 *) Изменение: модуль ngx_http_autoindex_module не показывал последний 1607 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
1598 слэш для каталогов на файловой системе XFS; ошибка появилась в 1608 слэш для каталогов на файловой системе XFS; ошибка появилась в
1599 0.7.15. 1609 0.7.15.
1600 Спасибо Дмитрию Кузьменко. 1610 Спасибо Дмитрию Кузьменко.
1601 1611
1602 1612
1603 Изменения в nginx 0.7.39 02.03.2009 1613 Изменения в nginx 0.7.39 02.03.2009
1604 1614
1605 *) Исправление: при включённом сжатии большие ответы с использованием 1615 *) Исправление: при включённом сжатии большие ответы с использованием
1606 SSI могли зависать; ошибка появилась в 0.7.28. 1616 SSI могли зависать; ошибка появилась в 0.7.28.
1607 Спасибо Артёму Бохану. 1617 Спасибо Артёму Бохану.
1608 1618
1609 *) Исправление: при использовании коротких статических вариантов в 1619 *) Исправление: при использовании коротких статических вариантов в
1610 директиве try_files в рабочем процессе мог произойти segmentation 1620 директиве try_files в рабочем процессе мог произойти segmentation
1611 fault. 1621 fault.
1612 1622
1613 1623
1614 Изменения в nginx 0.7.38 23.02.2009 1624 Изменения в nginx 0.7.38 23.02.2009
1615 1625
1616 *) Добавление: логгирование ошибок аутентификации. 1626 *) Добавление: логгирование ошибок аутентификации.
1617 1627
1618 *) Исправление: имя/пароль, заданные в auth_basic_user_file, 1628 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
1619 игнорировались после нечётного числа пустых строк. 1629 игнорировались после нечётного числа пустых строк.
1620 Спасибо Александру Загребину. 1630 Спасибо Александру Загребину.
1621 1631
1622 *) Исправление: при использовании длинного пути в unix domain сокете в 1632 *) Исправление: при использовании длинного пути в unix domain сокете в
1623 главном процессе происходил segmentation fault; ошибка появилась в 1633 главном процессе происходил segmentation fault; ошибка появилась в
1624 0.7.36. 1634 0.7.36.
1625 1635
1626 1636
1627 Изменения в nginx 0.7.37 21.02.2009 1637 Изменения в nginx 0.7.37 21.02.2009
1628 1638
1629 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка 1639 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
1630 появилась в 0.7.36. 1640 появилась в 0.7.36.
1631 1641
1632 1642
1633 Изменения в nginx 0.7.36 21.02.2009 1643 Изменения в nginx 0.7.36 21.02.2009
1634 1644
1635 *) Добавление: предварительная поддержка IPv6; директива listen модуля 1645 *) Добавление: предварительная поддержка IPv6; директива listen модуля
1636 HTTP поддерживает IPv6. 1646 HTTP поддерживает IPv6.
1637 1647
1638 *) Исправление: переменная $ancient_browser не работала для браузеров, 1648 *) Исправление: переменная $ancient_browser не работала для браузеров,
1639 заданных директивами modern_browser. 1649 заданных директивами modern_browser.
1640 1650
1641 1651
1642 Изменения в nginx 0.7.35 16.02.2009 1652 Изменения в nginx 0.7.35 16.02.2009
1643 1653
1644 *) Исправление: директива ssl_engine не использовала SSL-акселератор 1654 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
1645 для асимметричных шифров. 1655 асимметричных шифров.
1646 Спасибо Marcin Gozdalik. 1656 Спасибо Marcin Gozdalik.
1647 1657
1648 *) Исправление: директива try_files выставляла MIME-type, исходя из 1658 *) Исправление: директива try_files выставляла MIME-type, исходя из
1649 расширения первоначального запроса. 1659 расширения первоначального запроса.
1650 1660
1651 *) Исправление: в директивах server_name, valid_referers и map 1661 *) Исправление: в директивах server_name, valid_referers и map
1652 неправильно обрабатывались имена вида "*domain.tld", если 1662 неправильно обрабатывались имена вида "*domain.tld", если
1653 использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 1663 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
1654 ошибка появилась в 0.7.9. 1664 ошибка появилась в 0.7.9.
1655 1665
1656 1666
1657 Изменения в nginx 0.7.34 10.02.2009 1667 Изменения в nginx 0.7.34 10.02.2009
1658 1668
1659 *) Добавление: параметр off в директиве if_modified_since. 1669 *) Добавление: параметр off в директиве if_modified_since.
1660 1670
1661 *) Добавление: теперь после команды XCLIENT nginx посылает команду 1671 *) Добавление: теперь после команды XCLIENT nginx посылает команду
1662 HELO/EHLO. 1672 HELO/EHLO.
1663 Спасибо Максиму Дунину. 1673 Спасибо Максиму Дунину.
1664 1674
1665 *) Добавление: поддержка Microsoft-специфичного режима 1675 *) Добавление: поддержка Microsoft-специфичного режима
1666 "AUTH LOGIN with User Name" в почтовом прокси-сервере. 1676 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
1667 Спасибо Максиму Дунину. 1677 Спасибо Максиму Дунину.
1668 1678
1669 *) Исправление: в директиве rewrite, возвращающей редирект, старые 1679 *) Исправление: в директиве rewrite, возвращающей редирект, старые
1670 аргументы присоединялись к новым через символ "?" вместо "&"; 1680 аргументы присоединялись к новым через символ "?" вместо "&";
1671 ошибка появилась в 0.1.18. 1681 ошибка появилась в 0.1.18.
1672 Спасибо Максиму Дунину. 1682 Спасибо Максиму Дунину.
1673 1683
1674 *) Исправление: nginx не собирался на AIX. 1684 *) Исправление: nginx не собирался на AIX.
1675 1685
1676 1686
1677 Изменения в nginx 0.7.33 02.02.2009 1687 Изменения в nginx 0.7.33 02.02.2009
1678 1688
1679 *) Исправление: если на запрос с телом возвращался редирект, то ответ 1689 *) Исправление: если на запрос с телом возвращался редирект, то ответ
1680 мог быть двойным при использовании методов epoll или rtsig. 1690 мог быть двойным при использовании методов epoll или rtsig.
1681 Спасибо Eden Li. 1691 Спасибо Eden Li.
1682 1692
1683 *) Исправление: для некоторых типов редиректов в переменной 1693 *) Исправление: для некоторых типов редиректов в переменной
1684 $sent_http_location было пустое значение. 1694 $sent_http_location было пустое значение.
1685 1695
1686 *) Исправление: при использовании директивы resolver в SMTP 1696 *) Исправление: при использовании директивы resolver в SMTP
1687 прокси-сервере в рабочем процессе мог произойти segmentation fault. 1697 прокси-сервере в рабочем процессе мог произойти segmentation fault.
1688 1698
1689 1699
1690 Изменения в nginx 0.7.32 26.01.2009 1700 Изменения в nginx 0.7.32 26.01.2009
1691 1701
1692 *) Добавление: теперь в директиве try_files можно явно указать проверку 1702 *) Добавление: теперь в директиве try_files можно явно указать проверку
1693 каталога. 1703 каталога.
1694 1704
1695 *) Исправление: fastcgi_store не всегда сохранял файлы. 1705 *) Исправление: fastcgi_store не всегда сохранял файлы.
1696 1706
1697 *) Исправление: в гео-диапазонах. 1707 *) Исправление: в гео-диапазонах.
1698 1708
1699 *) Исправление: ошибки выделения больших блоков в разделяемой памяти, 1709 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
1700 если nginx был собран без отладки. 1710 если nginx был собран без отладки.
1701 Спасибо Андрею Квасову. 1711 Спасибо Андрею Квасову.
1702 1712
1703 1713
1704 Изменения в nginx 0.7.31 19.01.2009 1714 Изменения в nginx 0.7.31 19.01.2009
1705 1715
1706 *) Изменение: теперь директива try_files проверяет только файлы, 1716 *) Изменение: теперь директива try_files проверяет только файлы,
1707 игнорируя каталоги. 1717 игнорируя каталоги.
1708 1718
1709 *) Добавление: директива fastcgi_split_path_info. 1719 *) Добавление: директива fastcgi_split_path_info.
1710 1720
1711 *) Исправления в поддержке строки "Expect" в заголовке запроса. 1721 *) Исправления в поддержке строки "Expect" в заголовке запроса.
1712 1722
1713 *) Исправления в гео-диапазонах. 1723 *) Исправления в гео-диапазонах.
1714 1724
1715 *) Исправление: при отсутствии ответа ngx_http_memcached_module 1725 *) Исправление: при отсутствии ответа ngx_http_memcached_module
1716 возвращал в теле ответа строку "END" вместо 404-ой страницы по 1726 возвращал в теле ответа строку "END" вместо 404-ой страницы по
1717 умолчанию; ошибка появилась в 0.7.18. 1727 умолчанию; ошибка появилась в 0.7.18.
1718 Спасибо Максиму Дунину. 1728 Спасибо Максиму Дунину.
1719 1729
1720 *) Исправление: при проксировании SMPT nginx выдавал сообщение 1730 *) Исправление: при проксировании SMPT nginx выдавал сообщение
1721 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22. 1731 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
1722 Спасибо Максиму Дунину. 1732 Спасибо Максиму Дунину.
1723 1733
1724 1734
1725 Изменения в nginx 0.7.30 24.12.2008 1735 Изменения в nginx 0.7.30 24.12.2008
1726 1736
1727 *) Исправление: в рабочем процессе происходил segmentation fault, если 1737 *) Исправление: в рабочем процессе происходил segmentation fault, если в
1728 в директивах fastcgi_pass или proxy_pass использовались переменные и 1738 директивах fastcgi_pass или proxy_pass использовались переменные и
1729 имя хоста должно было резолвиться; ошибка появилась в 0.7.29. 1739 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
1730 1740
1731 1741
1732 Изменения в nginx 0.7.29 24.12.2008 1742 Изменения в nginx 0.7.29 24.12.2008
1733 1743
1734 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали 1744 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
1735 переменные при использовании unix domain сокетов. 1745 переменные при использовании unix domain сокетов.
1736 1746
1737 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25. 1747 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
1738 1748
1739 *) Исправление: ответ "100 Continue" выдавался для запросов версии 1749 *) Исправление: ответ "100 Continue" выдавался для запросов версии
1740 HTTP/1.0; 1750 HTTP/1.0;
1741 Спасибо Максиму Дунину. 1751 Спасибо Максиму Дунину.
1742 1752
1743 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module 1753 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
1744 под Cygwin. 1754 под Cygwin.
1745 1755
1746 1756
1747 Изменения в nginx 0.7.28 22.12.2008 1757 Изменения в nginx 0.7.28 22.12.2008
1748 1758
1749 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module. 1759 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
1750 1760
1751 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены 1761 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
1752 с 4 4k/8k на 32 4k или 16 8k. 1762 с 4 4k/8k на 32 4k или 16 8k.
1753 1763
1754 1764
1755 Изменения в nginx 0.7.27 15.12.2008 1765 Изменения в nginx 0.7.27 15.12.2008
1756 1766
1759 *) Добавление: директива fastcgi_pass поддерживает переменные. 1769 *) Добавление: директива fastcgi_pass поддерживает переменные.
1760 1770
1761 *) Добавление: теперь директива geo может брать адрес из переменной. 1771 *) Добавление: теперь директива geo может брать адрес из переменной.
1762 Спасибо Андрею Нигматулину. 1772 Спасибо Андрею Нигматулину.
1763 1773
1764 *) Добавление: теперь модификатор location'а можно указывать без 1774 *) Добавление: теперь модификатор location'а можно указывать без пробела
1765 пробела перед названием. 1775 перед названием.
1766 1776
1767 *) Добавление: переменная $upstream_response_length. 1777 *) Добавление: переменная $upstream_response_length.
1768 1778
1769 *) Исправление: теперь директива add_header не добавляет пустое 1779 *) Исправление: теперь директива add_header не добавляет пустое
1770 значение. 1780 значение.
1771 1781
1772 *) Исправление: при запросе файла нулевой длины nginx закрывал 1782 *) Исправление: при запросе файла нулевой длины nginx закрывал
1773 соединение, ничего не передав; ошибка появилась в 0.7.25. 1783 соединение, ничего не передав; ошибка появилась в 0.7.25.
1774 1784
1775 *) Исправление: метод MOVE не мог перемещать файл в несуществующий 1785 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
1776 каталог. 1786 каталог.
1777 1787
1778 *) Исправление: если в сервере не был описан ни один именованный 1788 *) Исправление: если в сервере не был описан ни один именованный
1779 location, но такой location использовался в директиве error_page, то 1789 location, но такой location использовался в директиве error_page, то
1780 в рабочем процессе происходил segmentation fault. 1790 в рабочем процессе происходил segmentation fault.
1781 Спасибо Сергею Боченкову. 1791 Спасибо Сергею Боченкову.
1782 1792
1783 1793
1784 Изменения в nginx 0.7.26 08.12.2008 1794 Изменения в nginx 0.7.26 08.12.2008
1788 1798
1789 Изменения в nginx 0.7.25 08.12.2008 1799 Изменения в nginx 0.7.25 08.12.2008
1790 1800
1791 *) Изменение: в обработке подзапросов. 1801 *) Изменение: в обработке подзапросов.
1792 1802
1793 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в 1803 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
1794 заголовке запроса. 1804 заголовке запроса.
1795 1805
1796 *) Исправление: теперь директивы limit_req и limit_conn указывают 1806 *) Исправление: теперь директивы limit_req и limit_conn указывают
1797 причину запрета запроса. 1807 причину запрета запроса.
1798 1808
1799 *) Исправление: в параметре delete директивы geo. 1809 *) Исправление: в параметре delete директивы geo.
1800 1810
1801 1811
1802 Изменения в nginx 0.7.24 01.12.2008 1812 Изменения в nginx 0.7.24 01.12.2008
1803 1813
1804 *) Добавление: директива if_modified_since. 1814 *) Добавление: директива if_modified_since.
1805 1815
1806 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед 1816 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
1807 ответом сервер передавал много сообщений в stderr. 1817 ответом сервер передавал много сообщений в stderr.
1808 1818
1809 *) Исправление: переменные "$cookie_..." не работали в SSI and в 1819 *) Исправление: переменные "$cookie_..." не работали в SSI and в
1810 перловом модуле. 1820 перловом модуле.
1811 1821
1812 1822
1813 Изменения в nginx 0.7.23 27.11.2008 1823 Изменения в nginx 0.7.23 27.11.2008
1814 1824
1840 Спасибо Денису Латыпову. 1850 Спасибо Денису Латыпову.
1841 1851
1842 *) Изменение: совместимость с glibc 2.3. 1852 *) Изменение: совместимость с glibc 2.3.
1843 Спасибо Eric Benson и Максиму Дунину. 1853 Спасибо Eric Benson и Максиму Дунину.
1844 1854
1845 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних; 1855 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
1846 ошибка появилась в 0.7.6. 1856 ошибка появилась в 0.7.6.
1847 1857
1848 1858
1849 Изменения в nginx 0.7.20 10.11.2008 1859 Изменения в nginx 0.7.20 10.11.2008
1850 1860
1851 *) Изменения в модуле ngx_http_gzip_filter_module. 1861 *) Изменения в модуле ngx_http_gzip_filter_module.
1852 1862
1853 *) Добавление: модуль ngx_http_limit_req_module. 1863 *) Добавление: модуль ngx_http_limit_req_module.
1854 1864
1855 *) Исправление: на платформах sparc и ppc рабочие процессы могли 1865 *) Исправление: на платформах sparc и ppc рабочие процессы могли
1856 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3. 1866 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
1857 Спасибо Максиму Дунину. 1867 Спасибо Максиму Дунину.
1858 1868
1859 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не 1869 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
1860 работали; ошибка появилась в 0.7.12. 1870 работали; ошибка появилась в 0.7.12.
1861 1871
1862 *) Исправление: при использовании HTTPS запросы могли завершаться с 1872 *) Исправление: при использовании HTTPS запросы могли завершаться с
1863 ошибкой "bad write retry". 1873 ошибкой "bad write retry".
1864 1874
1865 *) Исправление: модуль ngx_http_secure_link_module не работал внутри 1875 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
1866 location'ов с именами меньше 3 символов. 1876 location'ов с именами меньше 3 символов.
1867 1877
1868 *) Исправление: переменная $server_addr могла не иметь значения. 1878 *) Исправление: переменная $server_addr могла не иметь значения.
1869 1879
1870 1880
1873 *) Исправление: обновление номера версии. 1883 *) Исправление: обновление номера версии.
1874 1884
1875 1885
1876 Изменения в nginx 0.7.18 13.10.2008 1886 Изменения в nginx 0.7.18 13.10.2008
1877 1887
1878 *) Изменение: директива underscores_in_headers; теперь nginx по 1888 *) Изменение: директива underscores_in_headers; теперь nginx по
1879 умолчанию не разрешает подчёркивания в именах строк в заголовке 1889 умолчанию не разрешает подчёркивания в именах строк в заголовке
1880 запроса клиента. 1890 запроса клиента.
1881 1891
1882 *) Добавление: модуль ngx_http_secure_link_module. 1892 *) Добавление: модуль ngx_http_secure_link_module.
1883 1893
1884 *) Добавление: директива real_ip_header поддерживает любой заголовок. 1894 *) Добавление: директива real_ip_header поддерживает любой заголовок.
1885 1895
1886 *) Добавление: директива log_subrequest. 1896 *) Добавление: директива log_subrequest.
1887 1897
1888 *) Добавление: переменная $realpath_root. 1898 *) Добавление: переменная $realpath_root.
1889 1899
1890 *) Добавление: параметры http_502 и http_504 в директиве 1900 *) Добавление: параметры http_502 и http_504 в директиве
1891 proxy_next_upstream. 1901 proxy_next_upstream.
1892 1902
1893 *) Исправление: параметр http_503 в директивах proxy_next_upstream или 1903 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1894 fastcgi_next_upstream не работал. 1904 fastcgi_next_upstream не работал.
1895 1905
1896 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked" 1906 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
1897 для запросов HEAD. 1907 для запросов HEAD.
1898 1908
1899 *) Исправление: теперь accept-лимит зависит от числа worker_connections. 1909 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
1900 1910
1901 1911
1903 1913
1904 *) Добавление: директива directio теперь работает на Linux. 1914 *) Добавление: директива directio теперь работает на Linux.
1905 1915
1906 *) Добавление: переменная $pid. 1916 *) Добавление: переменная $pid.
1907 1917
1908 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала 1918 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
1909 при использовании open_file_cache. 1919 при использовании open_file_cache.
1910 1920
1911 *) Исправление: access_log с переменными не работал на Linux; ошибка 1921 *) Исправление: access_log с переменными не работал на Linux; ошибка
1912 появилась в 0.7.7. 1922 появилась в 0.7.7.
1913 1923
1914 *) Исправление: модуль ngx_http_charset_module не понимал название 1924 *) Исправление: модуль ngx_http_charset_module не понимал название
1915 кодировки в кавычках, полученное от бэкенда. 1925 кодировки в кавычках, полученное от бэкенда.
1916 1926
1917 1927
1918 Изменения в nginx 0.7.16 08.09.2008 1928 Изменения в nginx 0.7.16 08.09.2008
1919 1929
1920 *) Исправление: nginx не собирался на 64-битных платформах; ошибка 1930 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
1921 появилась в 0.7.15. 1931 появилась в 0.7.15.
1922 1932
1923 1933
1924 Изменения в nginx 0.7.15 08.09.2008 1934 Изменения в nginx 0.7.15 08.09.2008
1925 1935
1926 *) Добавление: модуль ngx_http_random_index_module. 1936 *) Добавление: модуль ngx_http_random_index_module.
1927 1937
1928 *) Добавление: директива directio оптимизирована для запросов файлов, 1938 *) Добавление: директива directio оптимизирована для запросов файлов,
1929 начинающихся с произвольной позиции. 1939 начинающихся с произвольной позиции.
1930 1940
1931 *) Добавление: директива directio при необходимости запрещает 1941 *) Добавление: директива directio при необходимости запрещает
1932 использование sendfile. 1942 использование sendfile.
1933 1943
1934 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в 1944 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
1935 заголовке запроса клиента. 1945 заголовке запроса клиента.
1936 1946
1937 1947
1938 Изменения в nginx 0.7.14 01.09.2008 1948 Изменения в nginx 0.7.14 01.09.2008
1939 1949
1940 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не 1950 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
1941 имеют значений по умолчанию. 1951 имеют значений по умолчанию.
1942 1952
1943 *) Добавление: директива listen поддерживает параметр ssl. 1953 *) Добавление: директива listen поддерживает параметр ssl.
1944 1954
1945 *) Добавление: теперь при переконфигурации nginx учитывает изменение 1955 *) Добавление: теперь при переконфигурации nginx учитывает изменение
1946 временной зоны на FreeBSD и Linux. 1956 временной зоны на FreeBSD и Linux.
1947 1957
1948 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и 1958 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
1949 прочие, не устанавливались, если сервером по умолчанию был не первый 1959 прочие, не устанавливались, если сервером по умолчанию был не первый
1950 сервер. 1960 сервер.
1951 1961
1952 *) Исправление: при использовании в качестве аргументов части URI, 1962 *) Исправление: при использовании в качестве аргументов части URI,
1953 выделенного с помощью директивы rewrite, эти аргументы не 1963 выделенного с помощью директивы rewrite, эти аргументы не
1954 экранировались. 1964 экранировались.
1955 1965
1956 *) Исправление: улучшения тестирования правильности конфигурационного 1966 *) Исправление: улучшения тестирования правильности конфигурационного
1957 файла. 1967 файла.
1958 1968
1959 1969
1960 Изменения в nginx 0.7.13 26.08.2008 1970 Изменения в nginx 0.7.13 26.08.2008
1961 1971
1962 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась 1972 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
1963 в 0.7.12. 1973 в 0.7.12.
1964 1974
1965 1975
1966 Изменения в nginx 0.7.12 26.08.2008 1976 Изменения в nginx 0.7.12 26.08.2008
1967 1977
1968 *) Добавление: директива server_name поддерживает пустое имя "". 1978 *) Добавление: директива server_name поддерживает пустое имя "".
1969 1979
1970 *) Добавление: директива gzip_disable поддерживает специальную маску 1980 *) Добавление: директива gzip_disable поддерживает специальную маску
1971 msie6. 1981 msie6.
1972 1982
1973 *) Исправление: при использовании параметра max_fails=0 в upstream'е с 1983 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1974 несколькими серверами рабочий процесс выходил по сигналу SIGFPE. 1984 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
1975 Спасибо Максиму Дунину. 1985 Спасибо Максиму Дунину.
1976 1986
1977 *) Исправление: при перенаправлении запроса с помощью директивы 1987 *) Исправление: при перенаправлении запроса с помощью директивы
1978 error_page терялось тело запроса. 1988 error_page терялось тело запроса.
1979 1989
1980 *) Исправление: при перенаправлении запроса с методом HEAD с помощью 1990 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
1981 директивы error_page возвращался полный ответ. 1991 директивы error_page возвращался полный ответ.
1982 1992
1983 *) Исправление: метод $r->header_in() не возвращал значения строк 1993 *) Исправление: метод $r->header_in() не возвращал значения строк
1984 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка 1994 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
1985 появилась в 0.7.0. 1995 появилась в 0.7.0.
1986 1996
1987 1997
1988 Изменения в nginx 0.7.11 18.08.2008 1998 Изменения в nginx 0.7.11 18.08.2008
1989 1999
1990 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает 2000 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
1991 MIME-типом text/css. 2001 MIME-типом text/css.
1992 2002
1993 *) Добавление: теперь nginx возвращает код 405 для метода POST при 2003 *) Добавление: теперь nginx возвращает код 405 для метода POST при
1994 запросе статического файла, только если файл существует. 2004 запросе статического файла, только если файл существует.
1995 2005
1996 *) Добавление: директива proxy_ssl_session_reuse. 2006 *) Добавление: директива proxy_ssl_session_reuse.
1997 2007
1998 *) Исправление: после перенаправления запроса с помощью 2008 *) Исправление: после перенаправления запроса с помощью
1999 "X-Accel-Redirect" директива proxy_pass без URI могла использовать 2009 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
2000 оригинальный запрос. 2010 оригинальный запрос.
2001 2011
2002 *) Исправление: если у каталога были права доступа только на поиск 2012 *) Исправление: если у каталога были права доступа только на поиск
2003 файлов и первый индексный файл отсутствовал, то nginx возвращал 2013 файлов и первый индексный файл отсутствовал, то nginx возвращал
2004 ошибку 500. 2014 ошибку 500.
2005 2015
2006 *) Исправление: ошибок во вложенных location'ах; ошибки появились в 2016 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
2007 0.7.1. 2017 0.7.1.
2008 2018
2009 2019
2010 Изменения в nginx 0.7.10 13.08.2008 2020 Изменения в nginx 0.7.10 13.08.2008
2011 2021
2012 *) Исправление: ошибок в директивах addition_types, charset_types, 2022 *) Исправление: ошибок в директивах addition_types, charset_types,
2013 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки 2023 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
2014 появились в 0.7.9. 2024 появились в 0.7.9.
2015 2025
2016 *) Исправление: рекурсивной error_page для 500 ошибки. 2026 *) Исправление: рекурсивной error_page для 500 ошибки.
2017 2027
2018 *) Исправление: теперь модуль ngx_http_realip_module устанавливает 2028 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
2019 адрес не для всего keepalive соединения, а для каждого запроса по 2029 не для всего keepalive соединения, а для каждого запроса по этому
2020 этому соединению. 2030 соединению.
2021 2031
2022 2032
2023 Изменения в nginx 0.7.9 12.08.2008 2033 Изменения в nginx 0.7.9 12.08.2008
2024 2034
2025 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со 2035 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
2026 следующими MIME-типами: text/html, text/css, text/xml, text/plain, 2036 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
2027 text/vnd.wap.wml, application/x-javascript и application/rss+xml. 2037 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
2028 2038
2029 *) Добавление: директивы charset_types и addition_types. 2039 *) Добавление: директивы charset_types и addition_types.
2030 2040
2031 *) Добавление: теперь директивы gzip_types, ssi_types и 2041 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
2032 sub_filter_types используют хэш. 2042 используют хэш.
2033 2043
2034 *) Добавление: модуль ngx_cpp_test_module. 2044 *) Добавление: модуль ngx_cpp_test_module.
2035 2045
2036 *) Добавление: директива expires поддерживает суточное время. 2046 *) Добавление: директива expires поддерживает суточное время.
2037 2047
2038 *) Добавление: улучшения и исправления в модуле 2048 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
2039 ngx_http_xslt_module.
2040 Спасибо Денису Латыпову и Максиму Дунину. 2049 Спасибо Денису Латыпову и Максиму Дунину.
2041 2050
2042 *) Исправление: директива log_not_found не работала при поиске 2051 *) Исправление: директива log_not_found не работала при поиске индексных
2043 индексных файлов. 2052 файлов.
2044 2053
2045 *) Исправление: HTTPS-соединения могли зависнуть, если использовались 2054 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
2046 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7. 2055 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
2047 2056
2048 *) Исправление: если в директивах server_name, valid_referers и map 2057 *) Исправление: если в директивах server_name, valid_referers и map
2049 использовалась маска вида "*.domain.tld" и при этом полное имя вида 2058 использовалась маска вида "*.domain.tld" и при этом полное имя вида
2050 "domain.tld" не было описано, то это имя попадало под маску; ошибка 2059 "domain.tld" не было описано, то это имя попадало под маску; ошибка
2051 появилась в 0.3.18. 2060 появилась в 0.3.18.
2052 2061
2053 2062
2054 Изменения в nginx 0.7.8 04.08.2008 2063 Изменения в nginx 0.7.8 04.08.2008
2055 2064
2058 *) Добавление: переменные "$arg_...". 2067 *) Добавление: переменные "$arg_...".
2059 2068
2060 *) Добавление: поддержка directio в Solaris. 2069 *) Добавление: поддержка directio в Solaris.
2061 Спасибо Ivan Debnar. 2070 Спасибо Ivan Debnar.
2062 2071
2063 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location" 2072 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
2064 в заголовке ответа без строки статуса, то nginx использует код 2073 в заголовке ответа без строки статуса, то nginx использует код
2065 статуса 302. 2074 статуса 302.
2066 Спасибо Максиму Дунину. 2075 Спасибо Максиму Дунину.
2067 2076
2068 2077
2069 Изменения в nginx 0.7.7 30.07.2008 2078 Изменения в nginx 0.7.7 30.07.2008
2070 2079
2071 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается 2080 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
2072 временной. 2081 временной.
2073 2082
2074 *) Изменение: значением переменной $ssl_client_cert теперь является 2083 *) Изменение: значением переменной $ssl_client_cert теперь является
2075 сертификат, перед каждой строкой которого, кроме первой, вставляется 2084 сертификат, перед каждой строкой которого, кроме первой, вставляется
2076 символ табуляции; неизменённый сертификат доступен через переменную 2085 символ табуляции; неизменённый сертификат доступен через переменную
2077 $ssl_client_raw_cert. 2086 $ssl_client_raw_cert.
2078 2087
2079 *) Добавление: параметр ask директивы ssl_verify_client. 2088 *) Добавление: параметр ask директивы ssl_verify_client.
2080 2089
2081 *) Добавление: улучшения в обработке byte-range. 2090 *) Добавление: улучшения в обработке byte-range.
2084 *) Добавление: директива directio. 2093 *) Добавление: директива directio.
2085 Спасибо Jiang Hong. 2094 Спасибо Jiang Hong.
2086 2095
2087 *) Добавление: поддержка sendfile() в MacOSX 10.5. 2096 *) Добавление: поддержка sendfile() в MacOSX 10.5.
2088 2097
2089 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь 2098 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2090 делается сравнение без учёта регистра символов; однако, сравнение 2099 делается сравнение без учёта регистра символов; однако, сравнение
2091 ограничено только однобайтными locale'ями. 2100 ограничено только однобайтными locale'ями.
2092 2101
2093 *) Исправление: соединения почтового прокси-сервера зависали в режиме 2102 *) Исправление: соединения почтового прокси-сервера зависали в режиме
2094 SSL, если использовались методы select, poll или /dev/poll. 2103 SSL, если использовались методы select, poll или /dev/poll.
2095 2104
2096 *) Исправление: ошибки при использовании кодировки UTF-8 в 2105 *) Исправление: ошибки при использовании кодировки UTF-8 в
2097 ngx_http_autoindex_module. 2106 ngx_http_autoindex_module.
2098 2107
2099 2108
2100 Изменения в nginx 0.7.6 07.07.2008 2109 Изменения в nginx 0.7.6 07.07.2008
2101 2110
2102 *) Исправление: теперь при использовании переменных в директиве 2111 *) Исправление: теперь при использовании переменных в директиве
2103 access_log всегда проверяется существовании root'а для запроса. 2112 access_log всегда проверяется существовании root'а для запроса.
2104 2113
2105 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько 2114 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2106 значений в аргументах запроса. 2115 значений в аргументах запроса.
2107 2116
2108 2117
2109 Изменения в nginx 0.7.5 01.07.2008 2118 Изменения в nginx 0.7.5 01.07.2008
2110 2119
2111 *) Исправления в поддержке переменных в директиве access_log; ошибки 2120 *) Исправления в поддержке переменных в директиве access_log; ошибки
2112 появились в 0.7.4. 2121 появились в 0.7.4.
2113 2122
2114 *) Исправление: nginx не собирался с параметром 2123 *) Исправление: nginx не собирался с параметром
2115 --without-http_gzip_module; ошибка появилась в 0.7.3. 2124 --without-http_gzip_module; ошибка появилась в 0.7.3.
2116 Спасибо Кириллу Коринскому. 2125 Спасибо Кириллу Коринскому.
2117 2126
2118 *) Исправление: при совместном использовании sub_filter и SSI ответы 2127 *) Исправление: при совместном использовании sub_filter и SSI ответы
2119 могли передаваться неверно. 2128 могли передаваться неверно.
2120 2129
2121 2130
2122 Изменения в nginx 0.7.4 30.06.2008 2131 Изменения в nginx 0.7.4 30.06.2008
2123 2132
2132 *) Исправление: большие включения в SSI могли передавались не полностью. 2141 *) Исправление: большие включения в SSI могли передавались не полностью.
2133 2142
2134 2143
2135 Изменения в nginx 0.7.3 23.06.2008 2144 Изменения в nginx 0.7.3 23.06.2008
2136 2145
2137 *) Изменение: MIME-тип для расширения rss изменён на 2146 *) Изменение: MIME-тип для расширения rss изменён на
2138 "application/rss+xml". 2147 "application/rss+xml".
2139 2148
2140 *) Изменение: теперь директива "gzip_vary on" выдаёт строку 2149 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
2141 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов. 2150 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
2142 2151
2143 *) Добавление: теперь при использовании протокола "https://" в 2152 *) Добавление: теперь при использовании протокола "https://" в директиве
2144 директиве rewrite автоматически делается редирект. 2153 rewrite автоматически делается редирект.
2145 2154
2146 *) Исправление: директива proxy_pass не работала с протоколом HTTPS; 2155 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
2147 ошибка появилась в 0.6.9. 2156 ошибка появилась в 0.6.9.
2148 2157
2149 2158
2150 Изменения в nginx 0.7.2 16.06.2008 2159 Изменения в nginx 0.7.2 16.06.2008
2151 2160
2154 *) Добавление: директива ssl_dhparam. 2163 *) Добавление: директива ssl_dhparam.
2155 2164
2156 *) Добавление: переменная $ssl_client_cert. 2165 *) Добавление: переменная $ssl_client_cert.
2157 Спасибо Manlio Perillo. 2166 Спасибо Manlio Perillo.
2158 2167
2159 *) Исправление: после изменения URI с помощью директивы rewrite nginx 2168 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
2160 не искал новый location; ошибка появилась в 0.7.1. 2169 искал новый location; ошибка появилась в 0.7.1.
2161 Спасибо Максиму Дунину. 2170 Спасибо Максиму Дунину.
2162 2171
2163 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 2172 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2164 появилась в 0.7.1. 2173 в 0.7.1.
2165 2174
2166 *) Исправление: при редиректе запроса к каталогу с добавлением слэша 2175 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
2167 nginx не добавлял аргументы из оригинального запроса. 2176 nginx не добавлял аргументы из оригинального запроса.
2168 2177
2169 2178
2170 Изменения в nginx 0.7.1 26.05.2008 2179 Изменения в nginx 0.7.1 26.05.2008
2171 2180
2172 *) Изменение: теперь поиск location'а делается с помощью дерева. 2181 *) Изменение: теперь поиск location'а делается с помощью дерева.
2173 2182
2174 *) Изменение: директива optimize_server_names упразднена в связи с 2183 *) Изменение: директива optimize_server_names упразднена в связи с
2175 появлением директивы server_name_in_redirect. 2184 появлением директивы server_name_in_redirect.
2176 2185
2177 *) Изменение: некоторые давно устаревшие директивы больше не 2186 *) Изменение: некоторые давно устаревшие директивы больше не
2178 поддерживаются. 2187 поддерживаются.
2179 2188
2180 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь 2189 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
2181 этот параметр используется по умолчанию. 2190 параметр используется по умолчанию.
2182 Спасибо Rob Mueller. 2191 Спасибо Rob Mueller.
2183 2192
2184 *) Исправление: рабочие процессы могли не реагировать на сигналы 2193 *) Исправление: рабочие процессы могли не реагировать на сигналы
2185 переконфигурации и ротации логов. 2194 переконфигурации и ротации логов.
2186 2195
2187 *) Исправление: nginx не собирался на последних Fedora 9 Linux. 2196 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
2188 Спасибо Roxis. 2197 Спасибо Roxis.
2189 2198
2190 2199
2191 Изменения в nginx 0.7.0 19.05.2008 2200 Изменения в nginx 0.7.0 19.05.2008
2192 2201
2193 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log 2202 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
2194 записываются в виде \xXX. 2203 записываются в виде \xXX.
2195 Спасибо Максиму Дунину. 2204 Спасибо Максиму Дунину.
2196 2205
2197 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке 2206 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
2198 запроса. 2207 запроса.
2199 2208
2200 *) Добавление: директива expires поддерживает флаг modified. 2209 *) Добавление: директива expires поддерживает флаг modified.
2201 2210
2202 *) Добавление: переменные $uid_got и $uid_set можно использовать на 2211 *) Добавление: переменные $uid_got и $uid_set можно использовать на
2203 любой стадии обработки запроса. 2212 любой стадии обработки запроса.
2204 2213
2205 *) Добавление: переменная $hostname. 2214 *) Добавление: переменная $hostname.
2206 Спасибо Андрею Нигматулину. 2215 Спасибо Андрею Нигматулину.
2207 2216
2208 *) Добавление: поддержка DESTDIR. 2217 *) Добавление: поддержка DESTDIR.
2209 Спасибо Todd A. Fisher и Andras Voroskoi. 2218 Спасибо Todd A. Fisher и Andras Voroskoi.
2210 2219
2211 *) Исправление: при использовании keepalive на Linux в рабочем процессе 2220 *) Исправление: при использовании keepalive на Linux в рабочем процессе
2212 мог произойти segmentation fault. 2221 мог произойти segmentation fault.
2213 2222
2214 2223
2215 Изменения в nginx 0.6.31 12.05.2008 2224 Изменения в nginx 0.6.31 12.05.2008
2216 2225
2217 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка 2226 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
2218 заголовка ответ была в конце записи FastCGI; ошибка появилась в 2227 заголовка ответ была в конце записи FastCGI; ошибка появилась в
2219 0.6.2. 2228 0.6.2.
2220 Спасибо Сергею Серову. 2229 Спасибо Сергею Серову.
2221 2230
2222 *) Исправление: при удалении файла и использовании директивы 2231 *) Исправление: при удалении файла и использовании директивы
2223 open_file_cache_errors off в рабочем процессе мог произойти 2232 open_file_cache_errors off в рабочем процессе мог произойти
2224 segmentation fault. 2233 segmentation fault.
2225 2234
2226 2235
2227 Изменения в nginx 0.6.30 29.04.2008 2236 Изменения в nginx 0.6.30 29.04.2008
2228 2237
2229 *) Изменение: теперь, если маске, заданной в директиве include, не 2238 *) Изменение: теперь, если маске, заданной в директиве include, не
2230 соответствует ни один файл, то nginx не выдаёт ошибку. 2239 соответствует ни один файл, то nginx не выдаёт ошибку.
2231 2240
2232 *) Добавление: теперь время в директивах можно задавать без пробела, 2241 *) Добавление: теперь время в директивах можно задавать без пробела,
2233 например, "1h50m". 2242 например, "1h50m".
2234 2243
2235 *) Исправление: утечек памяти, если директива ssl_verify_client имела 2244 *) Исправление: утечек памяти, если директива ssl_verify_client имела
2236 значение on. 2245 значение on.
2237 Спасибо Chavelle Vincent. 2246 Спасибо Chavelle Vincent.
2238 2247
2239 *) Исправление: директива sub_filter могла вставлять заменяемый текст в 2248 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
2240 вывод. 2249 вывод.
2241 2250
2242 *) Исправление: директива error_page не воспринимала параметры в 2251 *) Исправление: директива error_page не воспринимала параметры в
2243 перенаправляемом URI. 2252 перенаправляемом URI.
2244 2253
2245 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы 2254 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
2246 в бинарном режиме. 2255 в бинарном режиме.
2247 2256
2248 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в 2257 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
2249 0.6.15. 2258 0.6.15.
2250 2259
2251 2260
2252 Изменения в nginx 0.6.29 18.03.2008 2261 Изменения в nginx 0.6.29 18.03.2008
2253 2262
2254 *) Добавление: модуль ngx_google_perftools_module. 2263 *) Добавление: модуль ngx_google_perftools_module.
2255 2264
2256 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных 2265 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
2257 платформах; ошибка появилась в 0.6.27. 2266 платформах; ошибка появилась в 0.6.27.
2258 2267
2259 2268
2260 Изменения в nginx 0.6.28 13.03.2008 2269 Изменения в nginx 0.6.28 13.03.2008
2261 2270
2262 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27. 2271 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
2263 2272
2264 2273
2265 Изменения в nginx 0.6.27 12.03.2008 2274 Изменения в nginx 0.6.27 12.03.2008
2266 2275
2267 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод 2276 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
2268 rtsig. 2277 rtsig.
2269 2278
2270 *) Изменение: теперь при перенаправлении запроса в именованный location 2279 *) Изменение: теперь при перенаправлении запроса в именованный location
2271 с помощью директивы error_page метод запроса не изменяется. 2280 с помощью директивы error_page метод запроса не изменяется.
2272 2281
2273 *) Добавление: директивы resolver и resolver_timeout в SMTP 2282 *) Добавление: директивы resolver и resolver_timeout в SMTP
2274 прокси-сервере. 2283 прокси-сервере.
2275 2284
2276 *) Добавление: директива post_action поддерживает именованные 2285 *) Добавление: директива post_action поддерживает именованные
2277 location'ы. 2286 location'ы.
2278 2287
2279 *) Исправление: при перенаправлении запроса из location'а c 2288 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2280 обработчиком proxy, FastCGI или memcached в именованный location со 2289 proxy, FastCGI или memcached в именованный location со статическим
2281 статическим обработчиком в рабочем процессе происходил segmentation 2290 обработчиком в рабочем процессе происходил segmentation fault.
2282 fault. 2291
2283 2292 *) Исправление: браузеры не повторяли SSL handshake, если при первом
2284 *) Исправление: браузеры не повторяли SSL handshake, если при первом 2293 handshake не оказалось правильного клиентского сертификата.
2285 handshake не оказалось правильного клиентского сертификата.
2286 Спасибо Александру Инюхину. 2294 Спасибо Александру Инюхину.
2287 2295
2288 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы 2296 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2289 error_page без изменения кода ошибки nginx пытался выделить очень 2297 error_page без изменения кода ошибки nginx пытался выделить очень
2290 много памяти. 2298 много памяти.
2291 2299
2292 *) Исправление: утечки памяти в долгоживущих небуфферизированных 2300 *) Исправление: утечки памяти в долгоживущих небуфферизированных
2293 соединениях. 2301 соединениях.
2294 2302
2295 *) Исправление: утечки памяти в resolver'е. 2303 *) Исправление: утечки памяти в resolver'е.
2296 2304
2297 *) Исправление: при перенаправлении запроса из location'а c 2305 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2298 обработчиком proxy в другой location с обработчиком proxy в рабочем 2306 proxy в другой location с обработчиком proxy в рабочем процессе
2299 процессе происходил segmentation fault. 2307 происходил segmentation fault.
2300 2308
2301 *) Исправление: ошибки в кэшировании переменных $proxy_host и 2309 *) Исправление: ошибки в кэшировании переменных $proxy_host и
2302 $proxy_port. 2310 $proxy_port.
2303 Спасибо Сергею Боченкову. 2311 Спасибо Сергею Боченкову.
2304 2312
2305 *) Исправление: директива proxy_pass с переменными использовала порт, 2313 *) Исправление: директива proxy_pass с переменными использовала порт,
2306 описанной в другой директиве proxy_pass без переменных, но с таким 2314 описанной в другой директиве proxy_pass без переменных, но с таким же
2307 же именем хоста. 2315 именем хоста.
2308 Спасибо Сергею Боченкову. 2316 Спасибо Сергею Боченкову.
2309 2317
2310 *) Исправление: во время переконфигурации на некоторых 64-битном 2318 *) Исправление: во время переконфигурации на некоторых 64-битном
2311 платформах в лог записывался alert "sendmsg() failed (9: Bad file 2319 платформах в лог записывался alert "sendmsg() failed (9: Bad file
2312 descriptor)". 2320 descriptor)".
2313 2321
2314 *) Исправление: при повторном использовании в SSI пустого block'а в 2322 *) Исправление: при повторном использовании в SSI пустого block'а в
2315 качестве заглушки в рабочем процессе происходил segmentation fault. 2323 качестве заглушки в рабочем процессе происходил segmentation fault.
2316 2324
2317 *) Исправление: ошибки при копировании части URI, содержащего 2325 *) Исправление: ошибки при копировании части URI, содержащего
2318 экранированные символы, в аргументы. 2326 экранированные символы, в аргументы.
2319 2327
2320 2328
2321 Изменения в nginx 0.6.26 11.02.2008 2329 Изменения в nginx 0.6.26 11.02.2008
2322 2330
2323 *) Исправление: директивы proxy_store и fastcgi_store не проверяли 2331 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
2324 длину ответа. 2332 ответа.
2325 2333
2326 *) Исправление: при использовании большого значения в директиве expires 2334 *) Исправление: при использовании большого значения в директиве expires
2327 в рабочем процессе происходил segmentation fault. 2335 в рабочем процессе происходил segmentation fault.
2328 Спасибо Joaquin Cuenca Abela. 2336 Спасибо Joaquin Cuenca Abela.
2329 2337
2330 *) Исправление: nginx неверно определял длину строки кэша на 2338 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
2331 Pentium 4.
2332 Спасибо Геннадию Махомеду. 2339 Спасибо Геннадию Махомеду.
2333 2340
2334 *) Исправление: в проксированных подзапросах и подзапросах к 2341 *) Исправление: в проксированных подзапросах и подзапросах к
2335 FastCGI-серверу вместо метода GET использовался оригинальный метод 2342 FastCGI-серверу вместо метода GET использовался оригинальный метод
2336 клиента. 2343 клиента.
2337 2344
2338 *) Исправление: утечки сокетов в режиме HTTPS при использовании 2345 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2339 отложенного accept'а. 2346 отложенного accept'а.
2340 Спасибо Ben Maurer. 2347 Спасибо Ben Maurer.
2341 2348
2342 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() 2349 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
2343 failed (SSL: )"; ошибка появилась в 0.6.23. 2350 (SSL: )"; ошибка появилась в 0.6.23.
2344 2351
2345 *) Исправление: при использовании HTTPS запросы могли завершаться с 2352 *) Исправление: при использовании HTTPS запросы могли завершаться с
2346 ошибкой "bad write retry"; ошибка появилась в 0.6.23. 2353 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2347 2354
2348 2355
2349 Изменения в nginx 0.6.25 08.01.2008 2356 Изменения в nginx 0.6.25 08.01.2008
2350 2357
2351 *) Изменение: вместо специального параметра "*" в директиве server_name 2358 *) Изменение: вместо специального параметра "*" в директиве server_name
2352 теперь используется директива server_name_in_redirect. 2359 теперь используется директива server_name_in_redirect.
2353 2360
2354 *) Изменение: в качестве основного имени в директиве server_name теперь 2361 *) Изменение: в качестве основного имени в директиве server_name теперь
2355 можно использовать имена с масками и регулярными выражениями. 2362 можно использовать имена с масками и регулярными выражениями.
2356 2363
2357 *) Изменение: директива satisfy_any заменена директивой satisfy. 2364 *) Изменение: директива satisfy_any заменена директивой satisfy.
2358 2365
2359 *) Изменение: после переконфигурации старые рабочие процесс могли 2366 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
2360 сильно нагружать процессор при запуске под Linux OpenVZ. 2367 нагружать процессор при запуске под Linux OpenVZ.
2361 2368
2362 *) Добавление: директива min_delete_depth. 2369 *) Добавление: директива min_delete_depth.
2363 2370
2364 *) Исправление: методы COPY и MOVE не работали с одиночными файлами. 2371 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
2365 2372
2366 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать 2373 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
2367 модулю ngx_http_dav_module; ошибка появилась в 0.6.23. 2374 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
2368 2375
2369 *) Исправление: утечки сокетов в режиме HTTPS при использовании 2376 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2370 отложенного accept'а. 2377 отложенного accept'а.
2371 Спасибо Ben Maurer. 2378 Спасибо Ben Maurer.
2372 2379
2373 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 2380 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2374 появилась в 0.6.23. 2381 в 0.6.23.
2375 2382
2376 2383
2377 Изменения в nginx 0.6.24 27.12.2007 2384 Изменения в nginx 0.6.24 27.12.2007
2378 2385
2379 *) Исправление: при использовании HTTPS в рабочем процессе мог 2386 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
2380 произойти segmentation fault; ошибка появилась в 0.6.23. 2387 segmentation fault; ошибка появилась в 0.6.23.
2381 2388
2382 2389
2383 Изменения в nginx 0.6.23 27.12.2007 2390 Изменения в nginx 0.6.23 27.12.2007
2384 2391
2385 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот 2392 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
2386 параметр используется по умолчанию. 2393 параметр используется по умолчанию.
2387 2394
2388 *) Изменение: директива open_file_cache_retest переименована в 2395 *) Изменение: директива open_file_cache_retest переименована в
2389 open_file_cache_valid. 2396 open_file_cache_valid.
2390 2397
2391 *) Добавление: директива open_file_cache_min_uses. 2398 *) Добавление: директива open_file_cache_min_uses.
2392 2399
2393 *) Добавление: модуль ngx_http_gzip_static_module. 2400 *) Добавление: модуль ngx_http_gzip_static_module.
2394 2401
2395 *) Добавление: директива gzip_disable. 2402 *) Добавление: директива gzip_disable.
2396 2403
2397 *) Добавление: директиву memcached_pass можно использовать внутри блока 2404 *) Добавление: директиву memcached_pass можно использовать внутри блока
2398 if. 2405 if.
2399 2406
2400 *) Исправление: если внутри одного location'а использовались директивы 2407 *) Исправление: если внутри одного location'а использовались директивы
2401 "memcached_pass" и "if", то в рабочем процессе происходил 2408 "memcached_pass" и "if", то в рабочем процессе происходил
2402 segmentation fault. 2409 segmentation fault.
2403 2410
2404 *) Исправление: если при использовании директивы satisfy_any on" были 2411 *) Исправление: если при использовании директивы satisfy_any on" были
2405 заданы директивы не всех модулей доступа, то заданные директивы не 2412 заданы директивы не всех модулей доступа, то заданные директивы не
2406 проверялись. 2413 проверялись.
2407 2414
2408 *) Исправление: параметры, заданные регулярным выражением в директиве 2415 *) Исправление: параметры, заданные регулярным выражением в директиве
2409 valid_referers, не наследовалась с предыдущего уровня. 2416 valid_referers, не наследовалась с предыдущего уровня.
2410 2417
2411 *) Исправление: директива post_action не работала, если запрос 2418 *) Исправление: директива post_action не работала, если запрос
2412 завершался с кодом 499. 2419 завершался с кодом 499.
2413 2420
2414 *) Исправление: оптимизация использования 16K буфера для 2421 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
2415 SSL-соединения.
2416 Спасибо Ben Maurer. 2422 Спасибо Ben Maurer.
2417 2423
2418 *) Исправление: STARTTLS в режиме SMTP не работал. 2424 *) Исправление: STARTTLS в режиме SMTP не работал.
2419 Спасибо Олегу Мотиенко. 2425 Спасибо Олегу Мотиенко.
2420 2426
2421 *) Исправление: при использовании HTTPS запросы могли завершаться с 2427 *) Исправление: при использовании HTTPS запросы могли завершаться с
2422 ошибкой "bad write retry"; ошибка появилась в 0.5.13. 2428 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
2423 2429
2424 2430
2425 Изменения в nginx 0.6.22 19.12.2007 2431 Изменения в nginx 0.6.22 19.12.2007
2426 2432
2427 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают 2433 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
2428 значения, скопированные в память, выделенную perl'ом. 2434 значения, скопированные в память, выделенную perl'ом.
2429 2435
2430 *) Исправление: если nginx был собран с модулем ngx_http_perl_module, 2436 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
2431 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во 2437 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
2432 время переконфигурации основной процесс аварийно выходил; ошибка 2438 время переконфигурации основной процесс аварийно выходил; ошибка
2433 появилась в 0.5.9. 2439 появилась в 0.5.9.
2434 Спасибо Борису Жмурову. 2440 Спасибо Борису Жмурову.
2435 2441
2436 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться 2442 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
2437 неверные результаты выделения в регулярных выражениях. 2443 неверные результаты выделения в регулярных выражениях.
2438 2444
2439 *) Исправление: если метод $r->has_request_body() вызывался для 2445 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
2440 запроса, у которого небольшое тело запроса было уже полностью 2446 у которого небольшое тело запроса было уже полностью получено, то в
2441 получено, то в рабочем процессе происходил segmentation fault. 2447 рабочем процессе происходил segmentation fault.
2442 2448
2443 *) Исправление: large_client_header_buffers не освобождались перед 2449 *) Исправление: large_client_header_buffers не освобождались перед
2444 переходом в состояние keep-alive. 2450 переходом в состояние keep-alive.
2445 Спасибо Олександру Штепе. 2451 Спасибо Олександру Штепе.
2446 2452
2447 *) Исправление: в переменной $upstream_addr не записывался последний 2453 *) Исправление: в переменной $upstream_addr не записывался последний
2448 адрес; ошибка появилась в 0.6.18. 2454 адрес; ошибка появилась в 0.6.18.
2449 2455
2450 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку; 2456 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
2451 теперь она возвращает ошибку 502, которую можно направить на 2457 теперь она возвращает ошибку 502, которую можно направить на
2452 следующий сервер с помощью "fastcgi_next_upstream invalid_header". 2458 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
2453 2459
2454 *) Исправление: при использовании директивы fastcgi_catch_stderr в 2460 *) Исправление: при использовании директивы fastcgi_catch_stderr в
2455 основном процессе происходил segmentation fault; ошибка появилась в 2461 основном процессе происходил segmentation fault; ошибка появилась в
2456 0.6.10. 2462 0.6.10.
2457 Спасибо Manlio Perillo. 2463 Спасибо Manlio Perillo.
2458 2464
2459 2465
2460 Изменения в nginx 0.6.21 03.12.2007 2466 Изменения в nginx 0.6.21 03.12.2007
2461 2467
2462 *) Изменение: если в значениях переменных директивы proxy_pass 2468 *) Изменение: если в значениях переменных директивы proxy_pass
2463 используются только IP-адреса, то указывать resolver не нужно. 2469 используются только IP-адреса, то указывать resolver не нужно.
2464 2470
2465 *) Исправление: при использовании директивы proxy_pass c URI-частью в 2471 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2466 рабочем процессе мог произойти segmentation fault; ошибка появилась 2472 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2467 в 0.6.19. 2473 0.6.19.
2468 2474
2469 *) Исправление: если resolver использовался на платформах, не 2475 *) Исправление: если resolver использовался на платформах, не
2470 поддерживающих метод kqueue, то nginx выдавал alert "name is out of 2476 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
2471 response". 2477 response".
2472 Спасибо Андрею Нигматулину. 2478 Спасибо Андрею Нигматулину.
2473 2479
2474 *) Исправление: При использовании переменной $server_protocol в 2480 *) Исправление: При использовании переменной $server_protocol в
2475 FastCGI-параметрах и запросе, длина которого была близка к значению 2481 FastCGI-параметрах и запросе, длина которого была близка к значению
2476 директивы client_header_buffer_size, nginx выдавал alert "fastcgi: 2482 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
2477 the request record is too big". 2483 the request record is too big".
2478 2484
2479 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу 2485 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
2480 nginx возвращал обычный ответ. 2486 nginx возвращал обычный ответ.
2481 2487
2482 2488
2483 Изменения в nginx 0.6.20 28.11.2007 2489 Изменения в nginx 0.6.20 28.11.2007
2484 2490
2485 *) Исправление: при использовании директивы proxy_pass c URI-частью в 2491 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2486 рабочем процессе мог произойти segmentation fault; ошибка появилась 2492 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2487 в 0.6.19. 2493 0.6.19.
2488 2494
2489 2495
2490 Изменения в nginx 0.6.19 27.11.2007 2496 Изменения в nginx 0.6.19 27.11.2007
2491 2497
2492 *) Исправление: версия 0.6.18 не собиралась. 2498 *) Исправление: версия 0.6.18 не собиралась.
2493 2499
2494 2500
2495 Изменения в nginx 0.6.18 27.11.2007 2501 Изменения в nginx 0.6.18 27.11.2007
2496 2502
2497 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с 2503 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
2498 номером процесса добавляет микросекунды на время старта. 2504 процесса добавляет микросекунды на время старта.
2499 2505
2500 *) Изменение: в error_log теперь записывается полная строка запроса 2506 *) Изменение: в error_log теперь записывается полная строка запроса
2501 вместо только URI. 2507 вместо только URI.
2502 2508
2503 *) Добавление: директива proxy_pass поддерживает переменные. 2509 *) Добавление: директива proxy_pass поддерживает переменные.
2504 2510
2505 *) Добавление: директивы resolver и resolver_timeout. 2511 *) Добавление: директивы resolver и resolver_timeout.
2506 2512
2507 *) Добавление: теперь директива "add_header last-modified ''" удаляет в 2513 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
2508 заголовке ответа строку "Last-Modified". 2514 заголовке ответа строку "Last-Modified".
2509 2515
2510 *) Исправление: директива limit_rate не позволяла передавать на полной 2516 *) Исправление: директива limit_rate не позволяла передавать на полной
2511 скорости, даже если был указан очень большой лимит. 2517 скорости, даже если был указан очень большой лимит.
2512 2518
2513 2519
2514 Изменения в nginx 0.6.17 15.11.2007 2520 Изменения в nginx 0.6.17 15.11.2007
2515 2521
2516 *) Добавление: поддержка строки "If-Range" в заголовке запроса. 2522 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
2517 Спасибо Александру Инюхину. 2523 Спасибо Александру Инюхину.
2518 2524
2519 *) Исправление: при использовании директивы msie_refresh повторно 2525 *) Исправление: при использовании директивы msie_refresh повторно
2520 экранировались уже экранированные символы; ошибка появилась в 0.6.4. 2526 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
2521 2527
2522 *) Исправление: директива autoindex не работала при использовании 2528 *) Исправление: директива autoindex не работала при использовании "alias
2523 "alias /". 2529 /".
2524 2530
2525 *) Исправление: при использовании подзапросов в рабочем процессе мог 2531 *) Исправление: при использовании подзапросов в рабочем процессе мог
2526 произойти segmentation fault. 2532 произойти segmentation fault.
2527 2533
2528 *) Исправление: при использовании SSL и gzip большие ответы могли 2534 *) Исправление: при использовании SSL и gzip большие ответы могли
2529 передаваться не полностью. 2535 передаваться не полностью.
2530 2536
2531 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9, 2537 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
2532 то переменная $status была равна 0. 2538 то переменная $status была равна 0.
2533 2539
2534 2540
2535 Изменения в nginx 0.6.16 29.10.2007 2541 Изменения в nginx 0.6.16 29.10.2007
2536 2542
2537 *) Изменение: теперь на Linux используется uname(2) вместо procfs. 2543 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
2538 Спасибо Илье Новикову. 2544 Спасибо Илье Новикову.
2539 2545
2540 *) Исправление: если в директиве error_page использовался символ "?", 2546 *) Исправление: если в директиве error_page использовался символ "?", то
2541 то он экранировался при проксировании запроса; ошибка появилась в 2547 он экранировался при проксировании запроса; ошибка появилась в
2542 0.6.11. 2548 0.6.11.
2543 2549
2544 *) Исправление: совместимость с mget. 2550 *) Исправление: совместимость с mget.
2545 2551
2546 2552
2555 2561
2556 *) Добавление: директива server_tokens. 2562 *) Добавление: директива server_tokens.
2557 2563
2558 *) Исправление: nginx не раскодировал URI в команде SSI include. 2564 *) Исправление: nginx не раскодировал URI в команде SSI include.
2559 2565
2560 *) Исправление: при использовании переменной в директивах charset или 2566 *) Исправление: при использовании переменной в директивах charset или
2561 source_charset на старте или во время переконфигурации происходил 2567 source_charset на старте или во время переконфигурации происходил
2562 segmentation fault, 2568 segmentation fault,
2563 2569
2564 *) Исправление: nginx возвращал ошибку 400 на запросы вида 2570 *) Исправление: nginx возвращал ошибку 400 на запросы вида
2565 "GET http://www.domain.com HTTP/1.0". 2571 "GET http://www.domain.com HTTP/1.0".
2566 Спасибо James Oakley. 2572 Спасибо James Oakley.
2567 2573
2568 *) Исправление: после перенаправления запроса с телом запроса с помощью 2574 *) Исправление: после перенаправления запроса с телом запроса с помощью
2569 директивы error_page nginx пытался снова прочитать тело запроса; 2575 директивы error_page nginx пытался снова прочитать тело запроса;
2570 ошибка появилась в 0.6.7. 2576 ошибка появилась в 0.6.7.
2571 2577
2572 *) Исправление: в рабочем процессе происходил segmentation fault, если 2578 *) Исправление: в рабочем процессе происходил segmentation fault, если у
2573 у сервера, обрабатывающему запрос, не был явно определён 2579 сервера, обрабатывающему запрос, не был явно определён server_name;
2574 server_name; ошибка появилась в 0.6.7. 2580 ошибка появилась в 0.6.7.
2575 2581
2576 2582
2577 Изменения в nginx 0.6.14 15.10.2007 2583 Изменения в nginx 0.6.14 15.10.2007
2578 2584
2579 *) Изменение: теперь по умолчанию команда SSI echo использует 2585 *) Изменение: теперь по умолчанию команда SSI echo использует
2580 кодирование entity. 2586 кодирование entity.
2581 2587
2582 *) Добавление: параметр encoding в команде SSI echo. 2588 *) Добавление: параметр encoding в команде SSI echo.
2583 2589
2584 *) Добавление: директиву access_log можно использовать внутри блока 2590 *) Добавление: директиву access_log можно использовать внутри блока
2585 limit_except. 2591 limit_except.
2586 2592
2587 *) Исправление: если все сервера апстрима оказывались недоступными, то 2593 *) Исправление: если все сервера апстрима оказывались недоступными, то
2588 до восстановления работоспособности у всех серверов вес становился 2594 до восстановления работоспособности у всех серверов вес становился
2589 равным одному; ошибка появилась в 0.6.6. 2595 равным одному; ошибка появилась в 0.6.6.
2590 2596
2591 *) Исправление: при использовании переменных $date_local и $date_gmt 2597 *) Исправление: при использовании переменных $date_local и $date_gmt вне
2592 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил 2598 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
2593 segmentation fault. 2599 segmentation fault.
2594 2600
2595 *) Исправление: при использовании включённом отладочном логе в рабочем 2601 *) Исправление: при использовании включённом отладочном логе в рабочем
2596 процессе мог произойти segmentation fault. 2602 процессе мог произойти segmentation fault.
2597 Спасибо Андрею Нигматулину. 2603 Спасибо Андрею Нигматулину.
2598 2604
2599 *) Исправление: ngx_http_memcached_module не устанавливал 2605 *) Исправление: ngx_http_memcached_module не устанавливал
2600 $upstream_response_time. 2606 $upstream_response_time.
2601 Спасибо Максиму Дунину. 2607 Спасибо Максиму Дунину.
2602 2608
2603 *) Исправление: рабочий процесс мог зациклиться при использовании 2609 *) Исправление: рабочий процесс мог зациклиться при использовании
2604 memcached. 2610 memcached.
2605 2611
2606 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в 2612 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
2607 строке "Connection" в заголовке запроса только, если они были в 2613 строке "Connection" в заголовке запроса только, если они были в
2608 нижнем регистре; ошибка появилась в 0.6.11. 2614 нижнем регистре; ошибка появилась в 0.6.11.
2609 2615
2610 *) Исправление: sub_filter не работал с пустой строкой замены. 2616 *) Исправление: sub_filter не работал с пустой строкой замены.
2611 2617
2612 *) Исправление: в парсинге sub_filter. 2618 *) Исправление: в парсинге sub_filter.
2613 2619
2614 2620
2615 Изменения в nginx 0.6.13 24.09.2007 2621 Изменения в nginx 0.6.13 24.09.2007
2616 2622
2617 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если 2623 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
2618 использовался autoindex 2624 использовался autoindex
2619 Спасибо Arkadiusz Patyk. 2625 Спасибо Arkadiusz Patyk.
2620 2626
2621 2627
2622 Изменения в nginx 0.6.12 21.09.2007 2628 Изменения в nginx 0.6.12 21.09.2007
2623 2629
2624 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap 2630 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
2625 и smtp. 2631 и smtp.
2626 2632
2627 *) Добавление: параметры конфигурации --without-mail_pop3_module, 2633 *) Добавление: параметры конфигурации --without-mail_pop3_module,
2628 --without-mail_imap_module и --without-mail_smtp_module. 2634 --without-mail_imap_module и --without-mail_smtp_module.
2629 2635
2630 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer 2636 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
2631 модуля ngx_mail_smtp_module. 2637 ngx_mail_smtp_module.
2632 2638
2633 *) Исправление: wildcard в конце имени сервера не работали; ошибка 2639 *) Исправление: wildcard в конце имени сервера не работали; ошибка
2634 появилась в 0.6.9. 2640 появилась в 0.6.9.
2635 2641
2636 *) Исправление: при использовании разделяемой библиотеки PCRE, 2642 *) Исправление: при использовании разделяемой библиотеки PCRE,
2637 расположенной в нестандартном месте, nginx не запускался на Solaris. 2643 расположенной в нестандартном месте, nginx не запускался на Solaris.
2638 2644
2639 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не 2645 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
2640 скрывали строки заголовка ответа с именем больше 32 символов. 2646 скрывали строки заголовка ответа с именем больше 32 символов.
2641 Спасибо Manlio Perillo. 2647 Спасибо Manlio Perillo.
2642 2648
2643 2649
2644 Изменения в nginx 0.6.11 11.09.2007 2650 Изменения в nginx 0.6.11 11.09.2007
2645 2651
2646 *) Исправление: счётчик активных соединений всегда рос при 2652 *) Исправление: счётчик активных соединений всегда рос при использовании
2647 использовании почтового прокси-сервера. 2653 почтового прокси-сервера.
2648 2654
2649 *) Исправление: если бэкенд возвращал только заголовок ответа при 2655 *) Исправление: если бэкенд возвращал только заголовок ответа при
2650 небуферизированном проксировании, то nginx закрывал соединение с 2656 небуферизированном проксировании, то nginx закрывал соединение с
2651 бэкендом по таймауту. 2657 бэкендом по таймауту.
2652 2658
2653 *) Исправление: nginx не поддерживал несколько строк "Connection" в 2659 *) Исправление: nginx не поддерживал несколько строк "Connection" в
2654 заголовке запроса. 2660 заголовке запроса.
2655 2661
2656 *) Исправление: если в сервере апстрима был задан max_fails, то после 2662 *) Исправление: если в сервере апстрима был задан max_fails, то после
2657 первой же неудачной попытки вес сервера навсегда становился равным 2663 первой же неудачной попытки вес сервера навсегда становился равным
2658 одному; ошибка появилась в 0.6.6. 2664 одному; ошибка появилась в 0.6.6.
2659 2665
2660 2666
2661 Изменения в nginx 0.6.10 03.09.2007 2667 Изменения в nginx 0.6.10 03.09.2007
2662 2668
2663 *) Добавление: директивы open_file_cache, open_file_cache_retest и 2669 *) Добавление: директивы open_file_cache, open_file_cache_retest и
2664 open_file_cache_errors. 2670 open_file_cache_errors.
2665 2671
2666 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7. 2672 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
2667 2673
2668 *) Исправление: В строку заголовка ответа "Content-Type", указанную в 2674 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
2669 методе $r->send_http_header(), не добавлялась кодировка, указанная в 2675 методе $r->send_http_header(), не добавлялась кодировка, указанная в
2670 директиве charset. 2676 директиве charset.
2671 2677
2672 *) Исправление: при использовании метода /dev/poll в рабочем процессе 2678 *) Исправление: при использовании метода /dev/poll в рабочем процессе
2673 мог произойти segmentation fault. 2679 мог произойти segmentation fault.
2674 2680
2675 2681
2676 Изменения в nginx 0.6.9 28.08.2007 2682 Изменения в nginx 0.6.9 28.08.2007
2677 2683
2678 *) Исправление: рабочий процесс мог зациклиться при использовании 2684 *) Исправление: рабочий процесс мог зациклиться при использовании
2679 протокола HTTPS; ошибка появилась в 0.6.7. 2685 протокола HTTPS; ошибка появилась в 0.6.7.
2680 2686
2681 *) Исправление: если сервер слушал на двух адресах или портах, то nginx 2687 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
2682 не запускался при использовании wildcard в конце имени сервера. 2688 не запускался при использовании wildcard в конце имени сервера.
2683 2689
2684 *) Исправление: директива ip_hash могла неверно помечать сервера как 2690 *) Исправление: директива ip_hash могла неверно помечать сервера как
2685 нерабочие. 2691 нерабочие.
2686 2692
2687 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8. 2693 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
2688 2694
2689 2695
2690 Изменения в nginx 0.6.8 20.08.2007 2696 Изменения в nginx 0.6.8 20.08.2007
2691 2697
2692 *) Изменение: теперь nginx пытается установить директивы 2698 *) Изменение: теперь nginx пытается установить директивы
2693 worker_priority, worker_rlimit_nofile, worker_rlimit_core, 2699 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
2694 worker_rlimit_sigpending без привилегий root'а. 2700 worker_rlimit_sigpending без привилегий root'а.
2695 2701
2696 *) Изменение: теперь nginx экранирует символы пробела и "%" при 2702 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
2697 передаче запроса серверу аутентификации почтового прокси-сервера. 2703 запроса серверу аутентификации почтового прокси-сервера.
2698 2704
2699 *) Изменение: теперь nginx экранирует символ "%" в переменной 2705 *) Изменение: теперь nginx экранирует символ "%" в переменной
2700 $memcached_key. 2706 $memcached_key.
2701 2707
2702 *) Исправление: при указании относительного пути к конфигурационному 2708 *) Исправление: при указании относительного пути к конфигурационному
2703 файлу в качестве параметра ключа -c nginx определял путь 2709 файлу в качестве параметра ключа -c nginx определял путь относительно
2704 относительно конфигурационного префикса; ошибка появилась в 0.6.6. 2710 конфигурационного префикса; ошибка появилась в 0.6.6.
2705 2711
2706 *) Исправление: nginx не работал на FreeBSD/sparc64. 2712 *) Исправление: nginx не работал на FreeBSD/sparc64.
2707 2713
2708 2714
2709 Изменения в nginx 0.6.7 15.08.2007 2715 Изменения в nginx 0.6.7 15.08.2007
2710 2716
2711 *) Изменение: теперь пути, указанные в директивах include, 2717 *) Изменение: теперь пути, указанные в директивах include,
2712 auth_basic_user_file, perl_modules, ssl_certificate, 2718 auth_basic_user_file, perl_modules, ssl_certificate,
2713 ssl_certificate_key и ssl_client_certificate, определяются 2719 ssl_certificate_key и ssl_client_certificate, определяются
2714 относительно каталога конфигурационного файла nginx.conf, а не 2720 относительно каталога конфигурационного файла nginx.conf, а не
2715 относительно префикса. 2721 относительно префикса.
2716 2722
2717 *) Изменение: параметр --sysconfdir=PATH в configure упразднён. 2723 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
2718 2724
2719 *) Изменение: для обновления на лету версий 0.1.x создан специальный 2725 *) Изменение: для обновления на лету версий 0.1.x создан специальный
2720 сценарий make upgrade1. 2726 сценарий make upgrade1.
2721 2727
2722 *) Добавление: директивы server_name и valid_referers поддерживают 2728 *) Добавление: директивы server_name и valid_referers поддерживают
2723 регулярные выражения. 2729 регулярные выражения.
2724 2730
2725 *) Добавление: директива server в блоке upstream поддерживает параметр 2731 *) Добавление: директива server в блоке upstream поддерживает параметр
2726 backup. 2732 backup.
2727 2733
2728 *) Добавление: модуль ngx_http_perl_module поддерживает метод 2734 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2729 $r->discard_request_body. 2735 $r->discard_request_body.
2730 2736
2731 *) Добавление: директива "add_header Last-Modified ..." меняет строку 2737 *) Добавление: директива "add_header Last-Modified ..." меняет строку
2732 "Last-Modified" в заголовке ответа. 2738 "Last-Modified" в заголовке ответа.
2733 2739
2734 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP 2740 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
2735 отличным от 200, и после этого запроса соединение переходило в 2741 отличным от 200, и после этого запроса соединение переходило в
2736 состояние keep-alive, то на следующий запрос nginx возвращал 400. 2742 состояние keep-alive, то на следующий запрос nginx возвращал 400.
2737 2743
2738 *) Исправление: если в директиве auth_http был задан неправильный 2744 *) Исправление: если в директиве auth_http был задан неправильный адрес,
2739 адрес, то в рабочем процессе происходил segmentation fault. 2745 то в рабочем процессе происходил segmentation fault.
2740 2746
2741 *) Исправление: теперь по умолчанию nginx использует значение 511 для 2747 *) Исправление: теперь по умолчанию nginx использует значение 511 для
2742 listen backlog на всех платформах, кроме FreeBSD. 2748 listen backlog на всех платформах, кроме FreeBSD.
2743 Спасибо Jiang Hong. 2749 Спасибо Jiang Hong.
2744 2750
2745 *) Исправление: рабочий процесс мог зациклиться, если server в блоке 2751 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
2746 upstream был помечен как down; ошибка появилась в 0.6.6. 2752 upstream был помечен как down; ошибка появилась в 0.6.6.
2747 2753
2748 *) Исправление: sendfilev() в Solaris теперь не используется при 2754 *) Исправление: sendfilev() в Solaris теперь не используется при
2749 передаче тела запроса FastCGI-серверу через unix domain сокет. 2755 передаче тела запроса FastCGI-серверу через unix domain сокет.
2750 2756
2751 2757
2752 Изменения в nginx 0.6.6 30.07.2007 2758 Изменения в nginx 0.6.6 30.07.2007
2753 2759
2757 2763
2758 *) Добавление: переменную $args можно устанавливать с помощью set. 2764 *) Добавление: переменную $args можно устанавливать с помощью set.
2759 2765
2760 *) Добавление: переменная $is_args. 2766 *) Добавление: переменная $is_args.
2761 2767
2762 *) Исправление: равномерное распределение запросов к апстримам с 2768 *) Исправление: равномерное распределение запросов к апстримам с
2763 большими весами. 2769 большими весами.
2764 2770
2765 *) Исправление: если клиент в почтовом прокси-сервере закрывал 2771 *) Исправление: если клиент в почтовом прокси-сервере закрывал
2766 соединение, то nginx мог не закрывать соединение с бэкендом. 2772 соединение, то nginx мог не закрывать соединение с бэкендом.
2767 2773
2768 *) Исправление: при использовании одного хоста в качестве бэкендов для 2774 *) Исправление: при использовании одного хоста в качестве бэкендов для
2769 протоколов HTTP и HTTPS без явного указания портов, nginx 2775 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
2770 использовал только один порт - 80 или 443. 2776 только один порт - 80 или 443.
2771 2777
2772 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и 2778 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
2773 более ранними версиями; ошибка появилась в 0.6.4. 2779 более ранними версиями; ошибка появилась в 0.6.4.
2774 2780
2775 2781
2776 Изменения в nginx 0.6.5 23.07.2007 2782 Изменения в nginx 0.6.5 23.07.2007
2777 2783
2778 *) Добавление: переменная $nginx_version. 2784 *) Добавление: переменная $nginx_version.
2779 Спасибо Николаю Гречуху. 2785 Спасибо Николаю Гречуху.
2780 2786
2781 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в 2787 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
2782 режиме IMAP. 2788 IMAP.
2783 Спасибо Максиму Дунину. 2789 Спасибо Максиму Дунину.
2784 2790
2785 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме 2791 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
2786 SMTP. 2792 SMTP.
2787 Спасибо Максиму Дунину. 2793 Спасибо Максиму Дунину.
2788 2794
2789 *) Исправление: теперь nginx экранирует пробел в переменной 2795 *) Исправление: теперь nginx экранирует пробел в переменной
2790 $memcached_key. 2796 $memcached_key.
2791 2797
2792 *) Исправление: nginx неправильно собирался Sun Studio на 2798 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
2793 Solaris/amd64.
2794 Спасибо Jiang Hong. 2799 Спасибо Jiang Hong.
2795 2800
2796 *) Исправление: незначительных потенциальных ошибок. 2801 *) Исправление: незначительных потенциальных ошибок.
2797 Спасибо Coverity's Scan. 2802 Спасибо Coverity's Scan.
2798 2803
2799 2804
2800 Изменения в nginx 0.6.4 17.07.2007 2805 Изменения в nginx 0.6.4 17.07.2007
2801 2806
2802 *) Безопасность: при использовании директивы msie_refresh был возможен 2807 *) Безопасность: при использовании директивы msie_refresh был возможен
2803 XSS. 2808 XSS.
2804 Спасибо Максиму Богуку. 2809 Спасибо Максиму Богуку.
2805 2810
2806 *) Изменение: директивы proxy_store и fastcgi_store изменены. 2811 *) Изменение: директивы proxy_store и fastcgi_store изменены.
2807 2812
2808 *) Добавление: директивы proxy_store_access и fastcgi_store_access. 2813 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
2809 2814
2810 *) Исправление: nginx не работал на Solaris/sparc64, если был собран 2815 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
2811 Sun Studio. 2816 Studio.
2812 Спасибо Андрею Нигматулину. 2817 Спасибо Андрею Нигматулину.
2813 2818
2814 *) Изменение: обход ошибки в Sun Studio 12. 2819 *) Изменение: обход ошибки в Sun Studio 12.
2815 Спасибо Jiang Hong. 2820 Спасибо Jiang Hong.
2816 2821
2817 2822
2818 Изменения в nginx 0.6.3 12.07.2007 2823 Изменения в nginx 0.6.3 12.07.2007
2819 2824
2820 *) Добавление: директивы proxy_store и fastcgi_store. 2825 *) Добавление: директивы proxy_store и fastcgi_store.
2821 2826
2822 *) Исправление: при использовании директивы auth_http_header в рабочем 2827 *) Исправление: при использовании директивы auth_http_header в рабочем
2823 процессе мог произойти segmentation fault. 2828 процессе мог произойти segmentation fault.
2824 Спасибо Максиму Дунину. 2829 Спасибо Максиму Дунину.
2825 2830
2826 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он 2831 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
2827 не был разрешён, то в рабочем процессе происходил segmentation fault. 2832 не был разрешён, то в рабочем процессе происходил segmentation fault.
2828 2833
2829 *) Исправление: при использовании протокола HTTPS в директиве 2834 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
2830 proxy_pass в рабочем процессе мог произойти segmentation fault. 2835 в рабочем процессе мог произойти segmentation fault.
2831 2836
2832 *) Исправление: в рабочем процессе мог произойти segmentation fault, 2837 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2833 если использовался метод eventport. 2838 если использовался метод eventport.
2834 2839
2835 *) Исправление: директивы proxy_ignore_client_abort и 2840 *) Исправление: директивы proxy_ignore_client_abort и
2836 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13. 2841 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
2837 2842
2838 2843
2839 Изменения в nginx 0.6.2 09.07.2007 2844 Изменения в nginx 0.6.2 09.07.2007
2840 2845
2841 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, 2846 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
2842 то nginx передавал клиенту мусор в таких заголовках. 2847 nginx передавал клиенту мусор в таких заголовках.
2843 2848
2844 2849
2845 Изменения в nginx 0.6.1 17.06.2007 2850 Изменения в nginx 0.6.1 17.06.2007
2846 2851
2847 *) Исправление: в парсинге SSI. 2852 *) Исправление: в парсинге SSI.
2848 2853
2849 *) Исправление: при использовании удалённого подзапроса в SSI 2854 *) Исправление: при использовании удалённого подзапроса в SSI
2850 последующий подзапрос локального файла мог отдаваться клиенту в 2855 последующий подзапрос локального файла мог отдаваться клиенту в
2851 неверном порядке. 2856 неверном порядке.
2852 2857
2853 *) Исправление: большие включения в SSI, сохранённые во временные 2858 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
2854 файлы, передавались не полностью. 2859 передавались не полностью.
2855 2860
2856 *) Исправление: значение perl'овой переменной $$ модуля 2861 *) Исправление: значение perl'овой переменной $$ модуля
2857 ngx_http_perl_module было равно номеру главного процесса. 2862 ngx_http_perl_module было равно номеру главного процесса.
2858 2863
2859 2864
2860 Изменения в nginx 0.6.0 14.06.2007 2865 Изменения в nginx 0.6.0 14.06.2007
2861 2866
2862 *) Добавление: директивы "server_name", "map", and "valid_referers" 2867 *) Добавление: директивы "server_name", "map", and "valid_referers"
2863 поддерживают маски вида "www.example.*". 2868 поддерживают маски вида "www.example.*".
2864 2869
2865 2870
2866 Изменения в nginx 0.5.25 11.06.2007 2871 Изменения в nginx 0.5.25 11.06.2007
2867 2872
2868 *) Исправление: nginx не собирался с параметром 2873 *) Исправление: nginx не собирался с параметром
2869 --without-http_rewrite_module; ошибка появилась в 0.5.24. 2874 --without-http_rewrite_module; ошибка появилась в 0.5.24.
2870 2875
2871 2876
2872 Изменения в nginx 0.5.24 06.06.2007 2877 Изменения в nginx 0.5.24 06.06.2007
2873 2878
2874 *) Безопасность: директива ssl_verify_client не работала, если запрос 2879 *) Безопасность: директива ssl_verify_client не работала, если запрос
2875 выполнялся по протоколу HTTP/0.9. 2880 выполнялся по протоколу HTTP/0.9.
2876 2881
2877 *) Исправление: при использовании сжатия часть ответа могла 2882 *) Исправление: при использовании сжатия часть ответа могла передаваться
2878 передаваться несжатой; ошибка появилась в 0.5.23. 2883 несжатой; ошибка появилась в 0.5.23.
2879 2884
2880 2885
2881 Изменения в nginx 0.5.23 04.06.2007 2886 Изменения в nginx 0.5.23 04.06.2007
2882 2887
2883 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS 2888 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
2884 Server Name Indication. 2889 Server Name Indication.
2885 2890
2886 *) Добавление: директива fastcgi_catch_stderr. 2891 *) Добавление: директива fastcgi_catch_stderr.
2887 Спасибо Николаю Гречуху, проект OWOX. 2892 Спасибо Николаю Гречуху, проект OWOX.
2888 2893
2889 *) Исправление: на Линуксе в основном процессе происходил segmentation 2894 *) Исправление: на Линуксе в основном процессе происходил segmentation
2890 fault, если два виртуальных сервера должны bind()ится к 2895 fault, если два виртуальных сервера должны bind()ится к
2891 пересекающимся портам. 2896 пересекающимся портам.
2892 2897
2893 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 2898 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2894 perl поддерживал потоки, то во время второй переконфигурации 2899 perl поддерживал потоки, то во время второй переконфигурации
2895 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 2900 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
2896 2901
2897 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 2902 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2898 2903
2899 2904
2900 Изменения в nginx 0.5.22 29.05.2007 2905 Изменения в nginx 0.5.22 29.05.2007
2901 2906
2902 *) Исправление: большое тело запроса могло не передаваться бэкенду; 2907 *) Исправление: большое тело запроса могло не передаваться бэкенду;
2903 ошибка появилась в 0.5.21. 2908 ошибка появилась в 0.5.21.
2904 2909
2905 2910
2906 Изменения в nginx 0.5.21 28.05.2007 2911 Изменения в nginx 0.5.21 28.05.2007
2907 2912
2908 *) Исправление: если внутри сервера описано больше примерно десяти 2913 *) Исправление: если внутри сервера описано больше примерно десяти
2909 location'ов, то location'ы, заданные с помощью регулярного 2914 location'ов, то location'ы, заданные с помощью регулярного выражения,
2910 выражения, могли выполняться не в том, порядке, в каком они описаны. 2915 могли выполняться не в том, порядке, в каком они описаны.
2911 2916
2912 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться, 2917 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
2913 если 33-тий по счёту или последующий бэкенд упал. 2918 если 33-тий по счёту или последующий бэкенд упал.
2914 Спасибо Антону Поварову. 2919 Спасибо Антону Поварову.
2915 2920
2916 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 2921 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
2917 мог произойти bus error. 2922 произойти bus error.
2918 Спасибо Андрею Нигматулину. 2923 Спасибо Андрею Нигматулину.
2919 2924
2920 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 2925 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2921 2926
2922 2927
2923 Изменения в nginx 0.5.20 07.05.2007 2928 Изменения в nginx 0.5.20 07.05.2007
2924 2929
2925 *) Добавление: директива sendfile_max_chunk. 2930 *) Добавление: директива sendfile_max_chunk.
2926 2931
2927 *) Добавление: переменные "$http_...", "$sent_http_..." и 2932 *) Добавление: переменные "$http_...", "$sent_http_..." и
2928 "$upstream_http_..." можно менять директивой set. 2933 "$upstream_http_..." можно менять директивой set.
2929 2934
2930 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в 2935 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
2931 рабочем процессе мог произойти segmentation fault. 2936 рабочем процессе мог произойти segmentation fault.
2932 2937
2933 *) Исправление: завершающая строка multipart range ответа передавалась 2938 *) Исправление: завершающая строка multipart range ответа передавалась
2934 неверно. 2939 неверно.
2935 Спасибо Evan Miller. 2940 Спасибо Evan Miller.
2936 2941
2937 *) Исправление: nginx не работал на Solaris/sparc64, если был собран 2942 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
2938 Sun Studio. 2943 Studio.
2939 Спасибо Андрею Нигматулину. 2944 Спасибо Андрею Нигматулину.
2940 2945
2941 *) Исправление: модуль ngx_http_perl_module не собирался make в 2946 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
2942 Solaris.
2943 Спасибо Андрею Нигматулину. 2947 Спасибо Андрею Нигматулину.
2944 2948
2945 2949
2946 Изменения в nginx 0.5.19 24.04.2007 2950 Изменения в nginx 0.5.19 24.04.2007
2947 2951
2948 *) Изменение: значение переменной $request_time теперь записывается с 2952 *) Изменение: значение переменной $request_time теперь записывается с
2949 точностью до миллисекунд. 2953 точностью до миллисекунд.
2950 2954
2951 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module 2955 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
2952 переименован в $r->flush. 2956 переименован в $r->flush.
2953 2957
2954 *) Добавление: переменная $upstream_addr. 2958 *) Добавление: переменная $upstream_addr.
2955 2959
2956 *) Добавление: директивы proxy_headers_hash_max_size и 2960 *) Добавление: директивы proxy_headers_hash_max_size и
2957 proxy_headers_hash_bucket_size. 2961 proxy_headers_hash_bucket_size.
2958 Спасибо Володымыру Костырко. 2962 Спасибо Володымыру Костырко.
2959 2963
2960 *) Исправление: при использовании sendfile и limit_rate на 64-битных 2964 *) Исправление: при использовании sendfile и limit_rate на 64-битных
2961 платформах нельзя было передавать файлы больше 2G. 2965 платформах нельзя было передавать файлы больше 2G.
2962 2966
2963 *) Исправление: при использовании sendfile на 64-битном Linux нельзя 2967 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
2964 было передавать файлы больше 2G. 2968 было передавать файлы больше 2G.
2965 2969
2966 2970
2967 Изменения в nginx 0.5.18 19.04.2007 2971 Изменения в nginx 0.5.18 19.04.2007
2968 2972
2969 *) Добавление: модуль ngx_http_sub_filter_module. 2973 *) Добавление: модуль ngx_http_sub_filter_module.
2970 2974
2971 *) Добавление: переменные "$upstream_http_...". 2975 *) Добавление: переменные "$upstream_http_...".
2972 2976
2973 *) Добавление: теперь переменные $upstream_status и 2977 *) Добавление: теперь переменные $upstream_status и
2974 $upstream_response_time содержат данные о всех обращениях к 2978 $upstream_response_time содержат данные о всех обращениях к
2975 апстримам, сделанным до X-Accel-Redirect. 2979 апстримам, сделанным до X-Accel-Redirect.
2976 2980
2977 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 2981 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2978 perl не поддерживал multiplicity, то после первой переконфигурации и 2982 perl не поддерживал multiplicity, то после первой переконфигурации и
2979 после получения любого сигнала в основном процессе происходил 2983 после получения любого сигнала в основном процессе происходил
2980 segmentation fault; ошибка появилась в 0.5.9. 2984 segmentation fault; ошибка появилась в 0.5.9.
2981 2985
2982 *) Исправление: если perl не поддерживал multiplicity, то после 2986 *) Исправление: если perl не поддерживал multiplicity, то после
2983 переконфигурации перловый код не работал; ошибка появилась в 0.3.38. 2987 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
2984 2988
2985 2989
2986 Изменения в nginx 0.5.17 02.04.2007 2990 Изменения в nginx 0.5.17 02.04.2007
2987 2991
2988 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405. 2992 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
2989 2993
2990 *) Добавление: теперь nginx поддерживает директиву include внутри блока 2994 *) Добавление: теперь nginx поддерживает директиву include внутри блока
2991 types. 2995 types.
2992 2996
2993 *) Исправление: использование переменной $document_root в директиве 2997 *) Исправление: использование переменной $document_root в директиве root
2994 root и alias запрещено: оно вызывало рекурсивное переполнение стека. 2998 и alias запрещено: оно вызывало рекурсивное переполнение стека.
2995 2999
2996 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 3000 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2997 3001
2998 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как 3002 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2999 $uri) возвращали старое закэшированное значение. 3003 $uri) возвращали старое закэшированное значение.
3000 3004
3001 3005
3002 Изменения в nginx 0.5.16 26.03.2007 3006 Изменения в nginx 0.5.16 26.03.2007
3003 3007
3004 *) Исправление: в качестве ключа для хэша в директиве ip_hash не 3008 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
3005 использовалась сеть класса С. 3009 использовалась сеть класса С.
3006 Спасибо Павлу Ярковому. 3010 Спасибо Павлу Ярковому.
3007 3011
3008 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда 3012 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
3009 был указан charset и строка завершалась символом ";", то в рабочем 3013 был указан charset и строка завершалась символом ";", то в рабочем
3010 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50. 3014 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
3011 3015
3012 *) Исправление: ошибки "[alert] zero size buf" при работе с 3016 *) Исправление: ошибки "[alert] zero size buf" при работе с
3013 FastCGI-сервером, если тело запроса, записанное во временный файл, 3017 FastCGI-сервером, если тело запроса, записанное во временный файл,
3014 было кратно 32K. 3018 было кратно 32K.
3015 3019
3016 *) Исправление: nginx не собирался на Solaris без параметра 3020 *) Исправление: nginx не собирался на Solaris без параметра
3017 --with-debug; ошибка появилась в 0.5.15. 3021 --with-debug; ошибка появилась в 0.5.15.
3018 3022
3019 3023
3020 Изменения в nginx 0.5.15 19.03.2007 3024 Изменения в nginx 0.5.15 19.03.2007
3021 3025
3022 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное 3026 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
3023 SMTP-проксирование и директивы smtp_auth, smtp_capablities и 3027 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
3024 xclient.
3025 Спасибо Антону Южанинову и Максиму Дунину. 3028 Спасибо Антону Южанинову и Максиму Дунину.
3026 3029
3027 *) Добавление: теперь keep-alive соединения закрываются сразу же по 3030 *) Добавление: теперь keep-alive соединения закрываются сразу же по
3028 получении сигнала переконфигурации. 3031 получении сигнала переконфигурации.
3029 3032
3030 *) Изменение: директивы imap и auth переименованы соответственно в mail 3033 *) Изменение: директивы imap и auth переименованы соответственно в mail
3031 и pop3_auth. 3034 и pop3_auth.
3032 3035
3033 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не 3036 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
3034 был разрешён метод APOP, то в рабочем процессе происходил 3037 был разрешён метод APOP, то в рабочем процессе происходил
3035 segmentation fault. 3038 segmentation fault.
3036 3039
3037 *) Исправление: при использовании директивы starttls only в протоколе 3040 *) Исправление: при использовании директивы starttls only в протоколе
3038 POP3 nginx разрешал аутентификацию без перехода в режим SSL. 3041 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
3039 3042
3040 *) Исправление: рабочие процессы не выходили после переконфигурации и 3043 *) Исправление: рабочие процессы не выходили после переконфигурации и не
3041 не переоткрывали логи, если использовался метод eventport. 3044 переоткрывали логи, если использовался метод eventport.
3042 3045
3043 *) Исправление: при использовании директивы ip_hash рабочий процесс мог 3046 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
3044 зациклиться. 3047 зациклиться.
3045 3048
3046 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если 3049 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
3047 используются методы eventport или /dev/poll. 3050 используются методы eventport или /dev/poll.
3048 3051
3049 3052
3050 Изменения в nginx 0.5.14 23.02.2007 3053 Изменения в nginx 0.5.14 23.02.2007
3051 3054
3052 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце 3055 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
3053 конфигурационного файла. 3056 конфигурационного файла.
3054 3057
3055 3058
3056 Изменения в nginx 0.5.13 19.02.2007 3059 Изменения в nginx 0.5.13 19.02.2007
3057 3060
3058 *) Добавление: методы COPY и MOVE. 3061 *) Добавление: методы COPY и MOVE.
3059 3062
3060 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для 3063 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
3061 запросов, переданных по keep-alive соединению. 3064 запросов, переданных по keep-alive соединению.
3062 3065
3063 *) Исправление: nginx не работал на 64-битном big-endian Linux. 3066 *) Исправление: nginx не работал на 64-битном big-endian Linux.
3064 Спасибо Андрею Нигматулину. 3067 Спасибо Андрею Нигматулину.
3065 3068
3066 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси 3069 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
3067 теперь сразу закрывает соединение, а не по таймауту. 3070 теперь сразу закрывает соединение, а не по таймауту.
3068 3071
3069 *) Исправление: если при использовании метода epoll клиент закрывал 3072 *) Исправление: если при использовании метода epoll клиент закрывал
3070 преждевременно соединение со своей стороны, то nginx закрывал это 3073 преждевременно соединение со своей стороны, то nginx закрывал это
3071 соединение только по истечении таймаута на передачу. 3074 соединение только по истечении таймаута на передачу.
3072 3075
3073 *) Исправление: nginx не собирался на платформах, отличных от i386, 3076 *) Исправление: nginx не собирался на платформах, отличных от i386,
3074 amd64, sparc и ppc; ошибка появилась в 0.5.8. 3077 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3075 3078
3076 3079
3077 Изменения в nginx 0.5.12 12.02.2007 3080 Изменения в nginx 0.5.12 12.02.2007
3078 3081
3079 *) Исправление: nginx не собирался на платформах, отличных от i386, 3082 *) Исправление: nginx не собирался на платформах, отличных от i386,
3080 amd64, sparc и ppc; ошибка появилась в 0.5.8. 3083 amd64, sparc и ppc; ошибка появилась в 0.5.8.
3081 3084
3082 *) Исправление: при использовании временных файлов в время работы с 3085 *) Исправление: при использовании временных файлов в время работы с
3083 FastCGI-сервером в рабочем процессе мог произойти segmentation 3086 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3084 fault; ошибка появилась в 0.5.8. 3087 ошибка появилась в 0.5.8.
3085 3088
3086 *) Исправление: если переменная $fastcgi_script_name записывалась в 3089 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3087 лог, то в рабочем процессе мог произойти segmentation fault. 3090 то в рабочем процессе мог произойти segmentation fault.
3088 3091
3089 *) Исправление: ngx_http_perl_module не собирался на Solaris. 3092 *) Исправление: ngx_http_perl_module не собирался на Solaris.
3090 3093
3091 3094
3092 Изменения в nginx 0.5.11 05.02.2007 3095 Изменения в nginx 0.5.11 05.02.2007
3093 3096
3094 *) Добавление: теперь configure определяет библиотеку PCRE в 3097 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3095 MacPorts.
3096 Спасибо Chris McGrath. 3098 Спасибо Chris McGrath.
3097 3099
3098 *) Исправление: ответ был неверным, если запрашивалось несколько 3100 *) Исправление: ответ был неверным, если запрашивалось несколько
3099 диапазонов; ошибка появилась в 0.5.6. 3101 диапазонов; ошибка появилась в 0.5.6.
3100 3102
3101 *) Исправление: директива create_full_put_path не могла создавать 3103 *) Исправление: директива create_full_put_path не могла создавать
3102 промежуточные каталоги, если не была установлена директива 3104 промежуточные каталоги, если не была установлена директива
3103 dav_access. 3105 dav_access.
3104 Спасибо Evan Miller. 3106 Спасибо Evan Miller.
3105 3107
3106 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог 3108 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3107 записываться код "0". 3109 записываться код "0".
3108 3110
3109 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог 3111 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3110 произойти segmentation fault. 3112 произойти segmentation fault.
3111 3113
3112 3114
3113 Изменения в nginx 0.5.10 26.01.2007 3115 Изменения в nginx 0.5.10 26.01.2007
3114 3116
3115 *) Исправление: во время обновления исполняемого файла новый процесс не 3117 *) Исправление: во время обновления исполняемого файла новый процесс не
3116 наследовал слушающие сокеты; ошибка появилась в 0.5.9. 3118 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3117 3119
3118 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог 3120 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3119 произойти segmentation fault; ошибка появилась в 0.5.1. 3121 произойти segmentation fault; ошибка появилась в 0.5.1.
3120 3122
3121 3123
3122 Изменения в nginx 0.5.9 25.01.2007 3124 Изменения в nginx 0.5.9 25.01.2007
3123 3125
3124 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа 3126 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3125 использует значение переменной $memcached_key. 3127 использует значение переменной $memcached_key.
3126 3128
3127 *) Добавление: переменная $memcached_key. 3129 *) Добавление: переменная $memcached_key.
3128 3130
3129 *) Добавление: параметр clean в директиве client_body_in_file_only. 3131 *) Добавление: параметр clean в директиве client_body_in_file_only.
3130 3132
3131 *) Добавление: директива env. 3133 *) Добавление: директива env.
3132 3134
3133 *) Добавление: директива sendfile работает внутри блока if. 3135 *) Добавление: директива sendfile работает внутри блока if.
3134 3136
3135 *) Добавление: теперь при ошибке записи в access_log nginx записывает 3137 *) Добавление: теперь при ошибке записи в access_log nginx записывает
3136 сообщение в error_log, но не чаще одного раза в минуту. 3138 сообщение в error_log, но не чаще одного раза в минуту.
3137 3139
3138 *) Исправление: директива "access_log off" не всегда запрещала запись в 3140 *) Исправление: директива "access_log off" не всегда запрещала запись в
3139 лог. 3141 лог.
3140 3142
3141 3143
3142 Изменения в nginx 0.5.8 19.01.2007 3144 Изменения в nginx 0.5.8 19.01.2007
3143 3145
3144 *) Исправление: если использовалась директива 3146 *) Исправление: если использовалась директива
3145 "client_body_in_file_only on" и тело запроса было небольшое, то мог 3147 "client_body_in_file_only on" и тело запроса было небольшое, то мог
3146 произойти segmentation fault. 3148 произойти segmentation fault.
3147 3149
3148 *) Исправление: происходил segmentation fault, если использовались 3150 *) Исправление: происходил segmentation fault, если использовались
3149 директивы "client_body_in_file_only on" и 3151 директивы "client_body_in_file_only on" и
3150 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и 3152 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
3151 делался переход к следующему бэкенду. 3153 делался переход к следующему бэкенду.
3152 3154
3153 *) Исправление: если при использовании директивы "proxy_buffering off" 3155 *) Исправление: если при использовании директивы "proxy_buffering off"
3154 соединение с клиентом было неактивно, то оно закрывалось по 3156 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
3155 таймауту, заданному директивой send_timeout; ошибка появилась в 3157 заданному директивой send_timeout; ошибка появилась в 0.4.7.
3156 0.4.7. 3158
3157 3159 *) Исправление: если при использовании метода epoll клиент закрывал
3158 *) Исправление: если при использовании метода epoll клиент закрывал 3160 преждевременно соединение со своей стороны, то nginx закрывал это
3159 преждевременно соединение со своей стороны, то nginx закрывал это
3160 соединение только по истечении таймаута на передачу. 3161 соединение только по истечении таймаута на передачу.
3161 3162
3162 *) Исправление: ошибки "[alert] zero size buf" при работе с 3163 *) Исправление: ошибки "[alert] zero size buf" при работе с
3163 FastCGI-сервером. 3164 FastCGI-сервером.
3164 3165
3165 *) Исправление ошибок в директиве limit_zone. 3166 *) Исправление ошибок в директиве limit_zone.
3166 3167
3167 3168
3169 3170
3170 *) Добавление: оптимизация использования памяти в ssl_session_cache. 3171 *) Добавление: оптимизация использования памяти в ssl_session_cache.
3171 3172
3172 *) Исправление ошибок в директивах ssl_session_cache и limit_zone. 3173 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
3173 3174
3174 *) Исправление: на старте или во время переконфигурации происходил 3175 *) Исправление: на старте или во время переконфигурации происходил
3175 segmentation fault, если директивы ssl_session_cache или limit_zone 3176 segmentation fault, если директивы ssl_session_cache или limit_zone
3176 использовались на 64-битных платформах. 3177 использовались на 64-битных платформах.
3177 3178
3178 *) Исправление: при использовании директив add_before_body или 3179 *) Исправление: при использовании директив add_before_body или
3179 add_after_body происходил segmentation fault, если в заголовке 3180 add_after_body происходил segmentation fault, если в заголовке ответа
3180 ответа нет строки "Content-Type". 3181 нет строки "Content-Type".
3181 3182
3182 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой 3183 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
3183 потоков. 3184 потоков.
3184 Спасибо Дену Иванову. 3185 Спасибо Дену Иванову.
3185 3186
3186 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc. 3187 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
3187 3188
3188 3189
3189 Изменения в nginx 0.5.6 09.01.2007 3190 Изменения в nginx 0.5.6 09.01.2007
3190 3191
3191 *) Изменение: теперь модуль ngx_http_index_module игнорирует все 3192 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
3192 методы, кроме GET, HEAD и POST. 3193 кроме GET, HEAD и POST.
3193 3194
3194 *) Добавление: модуль ngx_http_limit_zone_module. 3195 *) Добавление: модуль ngx_http_limit_zone_module.
3195 3196
3196 *) Добавление: переменная $binary_remote_addr. 3197 *) Добавление: переменная $binary_remote_addr.
3197 3198
3198 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module 3199 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
3199 и ngx_imap_ssl_module. 3200 ngx_imap_ssl_module.
3200 3201
3201 *) Добавление: метод DELETE поддерживает рекурсивное удаление. 3202 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
3202 3203
3203 *) Исправление: при использовании $r->sendfile() byte-ranges 3204 *) Исправление: при использовании $r->sendfile() byte-ranges
3204 передавались неверно. 3205 передавались неверно.
3205 3206
3206 3207
3207 Изменения в nginx 0.5.5 24.12.2006 3208 Изменения в nginx 0.5.5 24.12.2006
3208 3209
3209 *) Изменение: ключ -v больше не выводит информацию о компиляторе. 3210 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
3210 3211
3211 *) Добавление: ключ -V. 3212 *) Добавление: ключ -V.
3212 3213
3213 *) Добавление: директива worker_rlimit_core поддерживает указание 3214 *) Добавление: директива worker_rlimit_core поддерживает указание
3214 размера в K, M и G. 3215 размера в K, M и G.
3215 3216
3216 *) Исправление: модуль nginx.pm теперь может устанавливаться 3217 *) Исправление: модуль nginx.pm теперь может устанавливаться
3217 непривилегированным пользователем. 3218 непривилегированным пользователем.
3218 3219
3219 *) Исправление: при использовании методов $r->request_body или 3220 *) Исправление: при использовании методов $r->request_body или
3220 $r->request_body_file мог произойти segmentation fault. 3221 $r->request_body_file мог произойти segmentation fault.
3221 3222
3222 *) Исправление: ошибок, специфичных для платформы ppc. 3223 *) Исправление: ошибок, специфичных для платформы ppc.
3223 3224
3224 3225
3225 Изменения в nginx 0.5.4 15.12.2006 3226 Изменения в nginx 0.5.4 15.12.2006
3226 3227
3227 *) Добавление: директиву perl можно использовать внутри блока 3228 *) Добавление: директиву perl можно использовать внутри блока
3228 limit_except. 3229 limit_except.
3229 3230
3230 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в 3231 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
3231 заголовке запроса для метода DELETE. 3232 заголовке запроса для метода DELETE.
3232 3233
3233 *) Исправление: при использовании одного параметра в директиве 3234 *) Исправление: при использовании одного параметра в директиве
3234 dav_access nginx мог сообщить об ошибке в конфигурации. 3235 dav_access nginx мог сообщить об ошибке в конфигурации.
3235 3236
3236 *) Исправление: при использовании переменной $host мог произойти 3237 *) Исправление: при использовании переменной $host мог произойти
3237 segmentation fault; ошибка появилась в 0.4.14. 3238 segmentation fault; ошибка появилась в 0.4.14.
3238 3239
3239 3240
3240 Изменения в nginx 0.5.3 13.12.2006 3241 Изменения в nginx 0.5.3 13.12.2006
3241 3242
3242 *) Добавление: модуль ngx_http_perl_module поддерживает методы 3243 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3243 $r->status, $r->log_error и $r->sleep. 3244 $r->status, $r->log_error и $r->sleep.
3244 3245
3245 *) Добавление: метод $r->variable поддерживает переменные, неописанные 3246 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
3246 в конфигурации nginx'а. 3247 конфигурации nginx'а.
3247 3248
3248 *) Исправление: метод $r->has_request_body не работал. 3249 *) Исправление: метод $r->has_request_body не работал.
3249 3250
3250 3251
3251 Изменения в nginx 0.5.2 11.12.2006 3252 Изменения в nginx 0.5.2 11.12.2006
3252 3253
3253 *) Исправление: если в директивах proxy_pass использовалось имя, 3254 *) Исправление: если в директивах proxy_pass использовалось имя,
3254 указанное в upstream, то nginx пытался найти IP-адрес этого имени; 3255 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
3255 ошибка появилась в 0.5.1. 3256 ошибка появилась в 0.5.1.
3256 3257
3257 3258
3258 Изменения в nginx 0.5.1 11.12.2006 3259 Изменения в nginx 0.5.1 11.12.2006
3259 3260
3260 *) Исправление: директива post_action могла не работать после 3261 *) Исправление: директива post_action могла не работать после неудачного
3261 неудачного завершения запроса. 3262 завершения запроса.
3262 3263
3263 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 3264 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
3264 0.4.11.
3265 Спасибо Bron Gondwana. 3265 Спасибо Bron Gondwana.
3266 3266
3267 *) Исправление: при указании в директиве fastcgi_pass имени описанного 3267 *) Исправление: при указании в директиве fastcgi_pass имени описанного
3268 upstream'а выдавалось сообщение "no port in upstream"; ошибка 3268 upstream'а выдавалось сообщение "no port in upstream"; ошибка
3269 появилась в 0.5.0. 3269 появилась в 0.5.0.
3270 3270
3271 *) Исправление: если в директивах proxy_pass и fastcgi_pass 3271 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3272 использовались одинаковых имена серверов, но с разными портами, то 3272 использовались одинаковых имена серверов, но с разными портами, то
3273 эти директивы использовали первый описанный порт; ошибка появилась в 3273 эти директивы использовали первый описанный порт; ошибка появилась в
3274 0.5.0. 3274 0.5.0.
3275 3275
3276 *) Исправление: если в директивах proxy_pass и fastcgi_pass 3276 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3277 использовались unix domain сокеты, то эти директивы использовали 3277 использовались unix domain сокеты, то эти директивы использовали
3278 первый описанный сокет; ошибка появилась в 0.5.0. 3278 первый описанный сокет; ошибка появилась в 0.5.0.
3279 3279
3280 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя, 3280 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
3281 если он был указан в последней строке файла паролей и после пароля 3281 если он был указан в последней строке файла паролей и после пароля не
3282 не было перевода строки, возврата каретки или символа ":". 3282 было перевода строки, возврата каретки или символа ":".
3283 3283
3284 *) Исправление: переменная $upstream_response_time могла быть равна 3284 *) Исправление: переменная $upstream_response_time могла быть равна
3285 "0.000", хотя время обработки было больше 1 миллисекунды. 3285 "0.000", хотя время обработки было больше 1 миллисекунды.
3286 3286
3287 3287
3288 Изменения в nginx 0.5.0 04.12.2006 3288 Изменения в nginx 0.5.0 04.12.2006
3289 3289
3290 *) Изменение: параметры в виде "%name" в директиве log_format больше не 3290 *) Изменение: параметры в виде "%name" в директиве log_format больше не
3291 поддерживаются. 3291 поддерживаются.
3292 3292
3293 *) Изменение: директивы proxy_upstream_max_fails, 3293 *) Изменение: директивы proxy_upstream_max_fails,
3294 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и 3294 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3295 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и 3295 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3296 memcached_upstream_fail_timeout больше не поддерживаются. 3296 memcached_upstream_fail_timeout больше не поддерживаются.
3297 3297
3298 *) Добавление: директива server в блоке upstream поддерживает параметры 3298 *) Добавление: директива server в блоке upstream поддерживает параметры
3299 max_fails, fail_timeout и down. 3299 max_fails, fail_timeout и down.
3300 3300
3301 *) Добавление: директива ip_hash в блоке upstream. 3301 *) Добавление: директива ip_hash в блоке upstream.
3302 3302
3303 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа 3303 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3304 сервера аутентификации IMAP/POP3 прокси. 3304 сервера аутентификации IMAP/POP3 прокси.
3305 3305
3306 *) Исправление: nginx не собирался на 64-битных платформах; ошибка 3306 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3307 появилась в 0.4.14. 3307 появилась в 0.4.14.
3308 3308
3309 3309
3310 Изменения в nginx 0.4.14 27.11.2006 3310 Изменения в nginx 0.4.14 27.11.2006
3311 3311
3312 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси. 3312 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3313 3313
3314 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD, 3314 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3315 Linux и NetBSD. 3315 Linux и NetBSD.
3316 3316
3317 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с 3317 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3318 поддержкой потоков; ошибка появилась в 0.3.38. 3318 поддержкой потоков; ошибка появилась в 0.3.38.
3319 3319
3320 *) Исправление: ngx_http_perl_module не работал корректно, если перл 3320 *) Исправление: ngx_http_perl_module не работал корректно, если перл
3321 вызывался рекурсивно. 3321 вызывался рекурсивно.
3322 3322
3323 *) Исправление: nginx игнорировал имя сервера в строке запроса. 3323 *) Исправление: nginx игнорировал имя сервера в строке запроса.
3324 3324
3325 *) Исправление: если FastCGI сервер передавал много в stderr, то 3325 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
3326 рабочий процесс мог зациклиться. 3326 процесс мог зациклиться.
3327 3327
3328 *) Исправление: при изменении системного времени переменная 3328 *) Исправление: при изменении системного времени переменная
3329 $upstream_response_time могла быть отрицательной. 3329 $upstream_response_time могла быть отрицательной.
3330 3330
3331 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3 3331 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3332 прокси не передавался параметр Auth-Login-Attempt. 3332 прокси не передавался параметр Auth-Login-Attempt.
3333 3333
3334 *) Исправление: при ошибке соединения с сервером аутентификации 3334 *) Исправление: при ошибке соединения с сервером аутентификации
3335 IMAP/POP3 прокси мог произойти segmentation fault. 3335 IMAP/POP3 прокси мог произойти segmentation fault.
3336 3336
3337 3337
3338 Изменения в nginx 0.4.13 15.11.2006 3338 Изменения в nginx 0.4.13 15.11.2006
3339 3339
3340 *) Добавление: директиву proxy_pass можно использовать внутри блока 3340 *) Добавление: директиву proxy_pass можно использовать внутри блока
3341 limit_except. 3341 limit_except.
3342 3342
3343 *) Добавление: директива limit_except поддерживает все WebDAV методы. 3343 *) Добавление: директива limit_except поддерживает все WebDAV методы.
3344 3344
3345 *) Исправление: при использовании директивы add_before_body без 3345 *) Исправление: при использовании директивы add_before_body без
3346 директивы add_after_body ответ передавался не полностью. 3346 директивы add_after_body ответ передавался не полностью.
3347 3347
3348 *) Исправление: большое тело запроса не принималось, если 3348 *) Исправление: большое тело запроса не принималось, если использовались
3349 использовались метод epoll и deferred accept(). 3349 метод epoll и deferred accept().
3350 3350
3351 *) Исправление: для ответов модуля ngx_http_autoindex_module не 3351 *) Исправление: для ответов модуля ngx_http_autoindex_module не
3352 выставлялась кодировка; ошибка появилась в 0.3.50. 3352 выставлялась кодировка; ошибка появилась в 0.3.50.
3353 3353
3354 *) Исправление: ошибки "[alert] zero size buf" при работе с 3354 *) Исправление: ошибки "[alert] zero size buf" при работе с
3355 FastCGI-сервером; 3355 FastCGI-сервером;
3356 3356
3357 *) Исправление: параметр конфигурации --group= игнорировался. 3357 *) Исправление: параметр конфигурации --group= игнорировался.
3358 Спасибо Thomas Moschny. 3358 Спасибо Thomas Moschny.
3359 3359
3360 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка 3360 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
3361 появилась в 0.3.50. 3361 в 0.3.50.
3362 3362
3363 3363
3364 Изменения в nginx 0.4.12 31.10.2006 3364 Изменения в nginx 0.4.12 31.10.2006
3365 3365
3366 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3366 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3367 $r->variable. 3367 $r->variable.
3368 3368
3369 *) Исправление: при включении в ответ большого статического файла с 3369 *) Исправление: при включении в ответ большого статического файла с
3370 помощью SSI ответ мог передаваться не полностью. 3370 помощью SSI ответ мог передаваться не полностью.
3371 3371
3372 *) Исправление: nginx не убирал "#fragment" в URI. 3372 *) Исправление: nginx не убирал "#fragment" в URI.
3373 3373
3374 3374
3375 Изменения в nginx 0.4.11 25.10.2006 3375 Изменения в nginx 0.4.11 25.10.2006
3376 3376
3377 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. 3377 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
3378 3378
3379 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3379 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3380 $r->allow_ranges. 3380 $r->allow_ranges.
3381 3381
3382 *) Исправление: при включённой поддержке команды APOP в POP3 прокси 3382 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
3383 могли не работать команды USER/PASS; ошибка появилась в 0.4.10. 3383 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
3384 3384
3385 3385
3386 Изменения в nginx 0.4.10 23.10.2006 3386 Изменения в nginx 0.4.10 23.10.2006
3387 3387
3388 *) Добавление: POP3 прокси поддерживает APOP. 3388 *) Добавление: POP3 прокси поддерживает APOP.
3389 3389
3390 *) Исправление: при использовании методов select, poll и /dev/poll во 3390 *) Исправление: при использовании методов select, poll и /dev/poll во
3391 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси 3391 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
3392 нагружал процессор. 3392 нагружал процессор.
3393 3393
3394 *) Исправление: при использовании переменной $server_addr в директиве 3394 *) Исправление: при использовании переменной $server_addr в директиве
3395 map мог произойти segmentation fault. 3395 map мог произойти segmentation fault.
3396 3396
3397 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges 3397 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
3398 для полных ответов; ошибка появилась в 0.4.7. 3398 для полных ответов; ошибка появилась в 0.4.7.
3399 3399
3400 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в 3400 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
3401 0.4.9. 3401 0.4.9.
3402 3402
3403 3403
3404 Изменения в nginx 0.4.9 13.10.2006 3404 Изменения в nginx 0.4.9 13.10.2006
3405 3405
3406 *) Добавление: параметр set в команде SSI include. 3406 *) Добавление: параметр set в команде SSI include.
3407 3407
3408 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию 3408 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
3409 модуля nginx.pm. 3409 модуля nginx.pm.
3410 3410
3411 3411
3412 Изменения в nginx 0.4.8 11.10.2006 3412 Изменения в nginx 0.4.8 11.10.2006
3413 3413
3414 *) Исправление: если до команды SSI include с параметром wait 3414 *) Исправление: если до команды SSI include с параметром wait
3415 выполнялась ещё одна команда SSI include, то параметр wait мог не 3415 выполнялась ещё одна команда SSI include, то параметр wait мог не
3416 работать. 3416 работать.
3417 3417
3418 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для 3418 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
3419 полных ответов. 3419 полных ответов.
3420 Спасибо Алексею Ковырину. 3420 Спасибо Алексею Ковырину.
3421 3421
3422 3422
3423 Изменения в nginx 0.4.7 10.10.2006 3423 Изменения в nginx 0.4.7 10.10.2006
3424 3424
3425 *) Добавление: модуль ngx_http_flv_module. 3425 *) Добавление: модуль ngx_http_flv_module.
3426 3426
3427 *) Добавление: переменная $request_body_file. 3427 *) Добавление: переменная $request_body_file.
3428 3428
3429 *) Добавление: директивы charset и source_charset поддерживают 3429 *) Добавление: директивы charset и source_charset поддерживают
3430 переменные. 3430 переменные.
3431 3431
3432 *) Исправление: если до команды SSI include с параметром wait 3432 *) Исправление: если до команды SSI include с параметром wait
3433 выполнялась ещё одна команда SSI include, то параметр wait мог не 3433 выполнялась ещё одна команда SSI include, то параметр wait мог не
3434 работать. 3434 работать.
3435 3435
3436 *) Исправление: при использовании директивы "proxy_buffering off" или 3436 *) Исправление: при использовании директивы "proxy_buffering off" или
3437 при работе с memcached соединения могли не закрываться по таймауту. 3437 при работе с memcached соединения могли не закрываться по таймауту.
3438 3438
3439 *) Исправление: nginx не запускался на 64-битных платформах, отличных 3439 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3440 от amd64, sparc64 и ppc64. 3440 amd64, sparc64 и ppc64.
3441 3441
3442 3442
3443 Изменения в nginx 0.4.6 06.10.2006 3443 Изменения в nginx 0.4.6 06.10.2006
3444 3444
3445 *) Исправление: nginx не запускался на 64-битных платформах, отличных 3445 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3446 от amd64, sparc64 и ppc64. 3446 amd64, sparc64 и ppc64.
3447 3447
3448 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ 3448 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
3449 chunk'ами, если длина ответа в методе 3449 chunk'ами, если длина ответа в методе
3450 $r->headers_out("Content-Length", ...) была задана текстовой строкой. 3450 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
3451 3451
3452 *) Исправление: после перенаправления ошибки с помощью директивы 3452 *) Исправление: после перенаправления ошибки с помощью директивы
3453 error_page любая директива модуля ngx_http_rewrite_module возвращала 3453 error_page любая директива модуля ngx_http_rewrite_module возвращала
3454 эту ошибку; ошибка появилась в 0.4.4. 3454 эту ошибку; ошибка появилась в 0.4.4.
3455 3455
3456 3456
3457 Изменения в nginx 0.4.5 02.10.2006 3457 Изменения в nginx 0.4.5 02.10.2006
3458 3458
3459 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась 3459 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3460 в 0.4.4. 3460 в 0.4.4.
3461 3461
3462 3462
3463 Изменения в nginx 0.4.4 02.10.2006 3463 Изменения в nginx 0.4.4 02.10.2006
3464 3464
3467 *) Добавление: директива expires поддерживает параметр max. 3467 *) Добавление: директива expires поддерживает параметр max.
3468 3468
3469 *) Добавление: директива include поддерживает маску "*". 3469 *) Добавление: директива include поддерживает маску "*".
3470 Спасибо Jonathan Dance. 3470 Спасибо Jonathan Dance.
3471 3471
3472 *) Исправление: директива return всегда изменяла код ответа, 3472 *) Исправление: директива return всегда изменяла код ответа,
3473 перенаправленного директивой error_page. 3473 перенаправленного директивой error_page.
3474 3474
3475 *) Исправление: происходил segmentation fault, если в методе PUT 3475 *) Исправление: происходил segmentation fault, если в методе PUT
3476 передавалось тело нулевой длины. 3476 передавалось тело нулевой длины.
3477 3477
3478 *) Исправление: при использовании переменных в директиве proxy_redirect 3478 *) Исправление: при использовании переменных в директиве proxy_redirect
3479 редирект изменялся неверно. 3479 редирект изменялся неверно.
3480 3480
3481 3481
3482 Изменения в nginx 0.4.3 26.09.2006 3482 Изменения в nginx 0.4.3 26.09.2006
3483 3483
3484 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью 3484 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
3485 директивы error_page. 3485 error_page.
3486 3486
3487 *) Добавление: поддержка Solaris 10 event ports. 3487 *) Добавление: поддержка Solaris 10 event ports.
3488 3488
3489 *) Добавление: модуль ngx_http_browser_module. 3489 *) Добавление: модуль ngx_http_browser_module.
3490 3490
3491 *) Исправление: при перенаправлении ошибки 400 проксированному серверу 3491 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
3492 помощью директивы error_page мог произойти segmentation fault. 3492 помощью директивы error_page мог произойти segmentation fault.
3493 3493
3494 *) Исправление: происходил segmentation fault, если в директиве 3494 *) Исправление: происходил segmentation fault, если в директиве
3495 proxy_pass использовался unix domain сокет; ошибка появилась в 3495 proxy_pass использовался unix domain сокет; ошибка появилась в
3496 0.3.47. 3496 0.3.47.
3497 3497
3498 *) Исправление: SSI не работал с ответами memcached и 3498 *) Исправление: SSI не работал с ответами memcached и
3499 небуферизированными проксированными ответами. 3499 небуферизированными проксированными ответами.
3500 3500
3501 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio. 3501 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
3502 3502
3503 3503
3504 Изменения в nginx 0.4.2 14.09.2006 3504 Изменения в nginx 0.4.2 14.09.2006
3505 3505
3506 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка 3506 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
3507 появилась в 0.4.1. 3507 появилась в 0.4.1.
3508 3508
3509 3509
3510 Изменения в nginx 0.4.1 14.09.2006 3510 Изменения в nginx 0.4.1 14.09.2006
3511 3511
3512 *) Исправление: совместимость с DragonFlyBSD. 3512 *) Исправление: совместимость с DragonFlyBSD.
3513 Спасибо Павлу Назарову. 3513 Спасибо Павлу Назарову.
3514 3514
3515 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче 3515 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
3516 файлов больше 2G. 3516 файлов больше 2G.
3517 3517
3518 *) Добавление: теперь на Linux nginx для статических запросов 3518 *) Добавление: теперь на Linux nginx для статических запросов использует
3519 использует флаг O_NOATIME. 3519 флаг O_NOATIME.
3520 Спасибо Yusuf Goolamabbas. 3520 Спасибо Yusuf Goolamabbas.
3521 3521
3522 3522
3523 Изменения в nginx 0.4.0 30.08.2006 3523 Изменения в nginx 0.4.0 30.08.2006
3524 3524
3525 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена 3525 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
3526 из фазы init module в фазу HTTP postconfiguration. 3526 фазы init module в фазу HTTP postconfiguration.
3527 3527
3528 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не 3528 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
3529 считывается заранее: нужно явно инициировать чтение с помощью метода 3529 считывается заранее: нужно явно инициировать чтение с помощью метода
3530 $r->has_request_body. 3530 $r->has_request_body.
3531 3531
3532 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата 3532 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
3533 DECLINED. 3533 DECLINED.
3534 3534
3535 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку 3535 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
3536 заголовка "Date" для метода PUT. 3536 заголовка "Date" для метода PUT.
3537 3537
3538 *) Добавление: директива ssi работает внутри блока if. 3538 *) Добавление: директива ssi работает внутри блока if.
3539 3539
3540 *) Исправление: происходил segmentation fault, если в директиве index 3540 *) Исправление: происходил segmentation fault, если в директиве index
3541 использовалась переменные и при этом первое имя индексного файла 3541 использовалась переменные и при этом первое имя индексного файла было
3542 было без переменных; ошибка появилась в 0.1.29. 3542 без переменных; ошибка появилась в 0.1.29.
3543 3543
3544 3544
3545 Изменения в nginx 0.3.61 28.08.2006 3545 Изменения в nginx 0.3.61 28.08.2006
3546 3546
3547 *) Изменение: директива tcp_nodelay теперь по умолчанию включена. 3547 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
3548 3548
3549 *) Добавление: директива msie_refresh. 3549 *) Добавление: директива msie_refresh.
3550 3550
3551 *) Добавление: директива recursive_error_pages. 3551 *) Добавление: директива recursive_error_pages.
3552 3552
3553 *) Исправление: директива rewrite возвращала неправильный редирект, 3553 *) Исправление: директива rewrite возвращала неправильный редирект, если
3554 если редирект включал в себя выделенные закодированные символы из 3554 редирект включал в себя выделенные закодированные символы из
3555 оригинального URI. 3555 оригинального URI.
3556 3556
3557 3557
3558 Изменения в nginx 0.3.60 18.08.2006 3558 Изменения в nginx 0.3.60 18.08.2006
3559 3559
3560 *) Исправление: во время перенаправления ошибки рабочий процесс мог 3560 *) Исправление: во время перенаправления ошибки рабочий процесс мог
3561 зациклиться; ошибка появилась в 0.3.59. 3561 зациклиться; ошибка появилась в 0.3.59.
3562 3562
3563 3563
3564 Изменения в nginx 0.3.59 16.08.2006 3564 Изменения в nginx 0.3.59 16.08.2006
3565 3565
3566 *) Добавление: теперь можно делать несколько перенаправлений через 3566 *) Добавление: теперь можно делать несколько перенаправлений через
3567 директиву error_page. 3567 директиву error_page.
3568 3568
3569 *) Исправление: директива dav_access не поддерживала три параметра. 3569 *) Исправление: директива dav_access не поддерживала три параметра.
3570 3570
3571 *) Исправление: директива error_page не изменяла строку "Content-Type" 3571 *) Исправление: директива error_page не изменяла строку "Content-Type"
3572 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась 3572 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
3573 в 0.3.58. 3573 в 0.3.58.
3574 3574
3575 3575
3576 Изменения в nginx 0.3.58 14.08.2006 3576 Изменения в nginx 0.3.58 14.08.2006
3577 3577
3578 *) Добавление: директива error_page поддерживает переменные. 3578 *) Добавление: директива error_page поддерживает переменные.
3579 3579
3580 *) Изменение: теперь на Linux используется интерфейс procfs вместо 3580 *) Изменение: теперь на Linux используется интерфейс procfs вместо
3581 sysctl. 3581 sysctl.
3582 3582
3583 *) Изменение: теперь при использовании "X-Accel-Redirect" строка 3583 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
3584 "Content-Type" наследуется из первоначального ответа. 3584 "Content-Type" наследуется из первоначального ответа.
3585 3585
3586 *) Исправление: директива error_page не перенаправляла ошибку 413. 3586 *) Исправление: директива error_page не перенаправляла ошибку 413.
3587 3587
3588 *) Исправление: завершающий "?" не удалял старые аргументы, если в 3588 *) Исправление: завершающий "?" не удалял старые аргументы, если в
3589 переписанном URI не было новых аргументов. 3589 переписанном URI не было новых аргументов.
3590 3590
3591 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 3591 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
3592 3592
3593 3593
3596 *) Добавление: переменная $ssl_client_serial. 3596 *) Добавление: переменная $ssl_client_serial.
3597 3597
3598 *) Исправление: в операторе "!-e" в директиве if. 3598 *) Исправление: в операторе "!-e" в директиве if.
3599 Спасибо Андриану Буданцову. 3599 Спасибо Андриану Буданцову.
3600 3600
3601 *) Исправление: при проверке клиентского сертификата nginx не передавал 3601 *) Исправление: при проверке клиентского сертификата nginx не передавал
3602 клиенту информацию о требуемых сертификатах. 3602 клиенту информацию о требуемых сертификатах.
3603 3603
3604 *) Исправление: переменная $document_root не поддерживала переменные в 3604 *) Исправление: переменная $document_root не поддерживала переменные в
3605 директиве root. 3605 директиве root.
3606 3606
3607 3607
3608 Изменения в nginx 0.3.56 04.08.2006 3608 Изменения в nginx 0.3.56 04.08.2006
3609 3609
3610 *) Добавление: директива dav_access. 3610 *) Добавление: директива dav_access.
3611 3611
3612 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e", 3612 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
3613 "!-e", "-x" и "!-x". 3613 "!-e", "-x" и "!-x".
3614 3614
3615 *) Исправление: при записи в access_log некоторых передаваемых клиенту 3615 *) Исправление: при записи в access_log некоторых передаваемых клиенту
3616 строк заголовков происходил segmentation fault, если запрос 3616 строк заголовков происходил segmentation fault, если запрос возвращал
3617 возвращал редирект. 3617 редирект.
3618 3618
3619 3619
3620 Изменения в nginx 0.3.55 28.07.2006 3620 Изменения в nginx 0.3.55 28.07.2006
3621 3621
3622 *) Добавление: параметр stub в команде SSI include. 3622 *) Добавление: параметр stub в команде SSI include.
3623 3623
3624 *) Добавление: команда SSI block. 3624 *) Добавление: команда SSI block.
3625 3625
3626 *) Добавление: скрипт unicode2nginx добавлен в contrib. 3626 *) Добавление: скрипт unicode2nginx добавлен в contrib.
3627 3627
3628 *) Исправление: если root был задан только переменной, то корень 3628 *) Исправление: если root был задан только переменной, то корень
3629 задавался относительно префикса сервера. 3629 задавался относительно префикса сервера.
3630 3630
3631 *) Исправление: если в запросе был "//" или "/.", и после этого 3631 *) Исправление: если в запросе был "//" или "/.", и после этого
3632 закодированные символы в виде "%XX", то проксируемый запрос 3632 закодированные символы в виде "%XX", то проксируемый запрос
3633 передавался незакодированным. 3633 передавался незакодированным.
3634 3634
3635 *) Исправление: метод $r->header_in("Cookie") модуля 3635 *) Исправление: метод $r->header_in("Cookie") модуля
3636 ngx_http_perl_module теперь возвращает все строки "Cookie" в 3636 ngx_http_perl_module теперь возвращает все строки "Cookie" в
3637 заголовке запроса. 3637 заголовке запроса.
3638 3638
3639 *) Исправление: происходил segmentation fault, если использовался 3639 *) Исправление: происходил segmentation fault, если использовался
3640 "client_body_in_file_only on" и делался переход к следующему бэкенду. 3640 "client_body_in_file_only on" и делался переход к следующему бэкенду.
3641 3641
3642 *) Исправление: при некоторых условиях во время переконфигурации коды 3642 *) Исправление: при некоторых условиях во время переконфигурации коды
3643 символов внутри директивы charset_map могли считаться неверными; 3643 символов внутри директивы charset_map могли считаться неверными;
3644 ошибка появилась в 0.3.50. 3644 ошибка появилась в 0.3.50.
3645 3645
3646 3646
3647 Изменения в nginx 0.3.54 11.07.2006 3647 Изменения в nginx 0.3.54 11.07.2006
3648 3648
3649 *) Добавление: nginx теперь записывает в лог информацию о подзапросах. 3649 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
3650 3650
3651 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и 3651 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
3652 memcached_next_upstream поддерживают параметр off. 3652 memcached_next_upstream поддерживают параметр off.
3653 3653
3654 *) Добавление: директива debug_connection поддерживает запись адресов в 3654 *) Добавление: директива debug_connection поддерживает запись адресов в
3655 формате CIDR. 3655 формате CIDR.
3656 3656
3657 *) Исправление: при перекодировании ответа проксированного сервера или 3657 *) Исправление: при перекодировании ответа проксированного сервера или
3658 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не 3658 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
3659 полностью. 3659 полностью.
3660 3660
3661 *) Исправление: переменная $upstream_response_time содержала время 3661 *) Исправление: переменная $upstream_response_time содержала время
3662 только первого обращения к бэкенду. 3662 только первого обращения к бэкенду.
3663 3663
3664 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась 3664 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
3665 в 0.3.53. 3665 в 0.3.53.
3666 3666
3667 3667
3668 Изменения в nginx 0.3.53 07.07.2006 3668 Изменения в nginx 0.3.53 07.07.2006
3669 3669
3670 *) Изменение: директива add_header добавляет строки в ответы с кодом 3670 *) Изменение: директива add_header добавляет строки в ответы с кодом
3671 204, 301 и 302. 3671 204, 301 и 302.
3672 3672
3673 *) Добавление: директива server в блоке upstream поддерживает параметр 3673 *) Добавление: директива server в блоке upstream поддерживает параметр
3674 weight. 3674 weight.
3675 3675
3676 *) Добавление: директива server_name поддерживает маску "*". 3676 *) Добавление: директива server_name поддерживает маску "*".
3677 3677
3678 *) Добавление: nginx поддерживает тело запроса больше 2G. 3678 *) Добавление: nginx поддерживает тело запроса больше 2G.
3679 3679
3680 *) Исправление: если при использовании "satisfy_any on" клиент успешно 3680 *) Исправление: если при использовании "satisfy_any on" клиент успешно
3681 проходил аутентификацию, в лог всё равно записалоcь сообщение 3681 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
3682 "access forbidden by rule". 3682 forbidden by rule".
3683 3683
3684 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код 3684 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
3685 409. 3685 409.
3686 3686
3687 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал 3687 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
3688 ошибку, nginx продолжал проксирование. 3688 ошибку, nginx продолжал проксирование.
3689 3689
3690 3690
3691 Изменения в nginx 0.3.52 03.07.2006 3691 Изменения в nginx 0.3.52 03.07.2006
3692 3692
3693 *) Изменение: восстановлено поведение модуля ngx_http_index_module для 3693 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
3694 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт 3694 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
3695 ошибку 405. 3695 ошибку 405.
3696 3696
3697 *) Исправление: при использовании ограничения скорости рабочий процесс 3697 *) Исправление: при использовании ограничения скорости рабочий процесс
3698 мог зациклиться; ошибка появилась в 0.3.37. 3698 мог зациклиться; ошибка появилась в 0.3.37.
3699 3699
3700 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку 3700 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
3701 "unknown charset", даже если перекодировка не требовалась; ошибка 3701 "unknown charset", даже если перекодировка не требовалась; ошибка
3702 появилась в 0.3.50. 3702 появилась в 0.3.50.
3703 3703
3704 *) Исправление: если в результате запроса PUT возвращался код 409, то 3704 *) Исправление: если в результате запроса PUT возвращался код 409, то
3705 временный файл не удалялся. 3705 временный файл не удалялся.
3706 3706
3707 3707
3708 Изменения в nginx 0.3.51 30.06.2006 3708 Изменения в nginx 0.3.51 30.06.2006
3709 3709
3710 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<"; 3710 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
3711 ошибка появилась в 0.3.50. 3711 ошибка появилась в 0.3.50.
3712 3712
3713 3713
3714 Изменения в nginx 0.3.50 28.06.2006 3714 Изменения в nginx 0.3.50 28.06.2006
3715 3715
3716 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors 3716 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
3717 переименованы соответственно в proxy_intercept_errors и 3717 переименованы соответственно в proxy_intercept_errors и
3718 fastcgi_intercept_errors. 3718 fastcgi_intercept_errors.
3719 3719
3720 *) Добавление: модуль ngx_http_charset_module поддерживает 3720 *) Добавление: модуль ngx_http_charset_module поддерживает
3721 перекодирование из однобайтных кодировок в UTF-8 и обратно. 3721 перекодирование из однобайтных кодировок в UTF-8 и обратно.
3722 3722
3723 *) Добавление: в режиме прокси и FastCGI поддерживается строка 3723 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
3724 заголовка "X-Accel-Charset" в ответе бэкенда. 3724 "X-Accel-Charset" в ответе бэкенда.
3725 3725
3726 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался, 3726 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
3727 только если также использовался символ "$". 3727 только если также использовался символ "$".
3728 3728
3729 *) Исправление: при некоторых условиях в SSI после вставки могла быть 3729 *) Исправление: при некоторых условиях в SSI после вставки могла быть
3730 добавлена строка "<!--". 3730 добавлена строка "<!--".
3731 3731
3732 *) Исправление: если в заголовке ответа была строка 3732 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
3733 "Content-Length: 0", то при использовании небуферизированного 3733 то при использовании небуферизированного проксировании не закрывалось
3734 проксировании не закрывалось соединение с клиентом. 3734 соединение с клиентом.
3735 3735
3736 3736
3737 Изменения в nginx 0.3.49 31.05.2006 3737 Изменения в nginx 0.3.49 31.05.2006
3738 3738
3739 *) Исправление: в директиве set. 3739 *) Исправление: в директиве set.
3740 3740
3741 *) Исправление: при включении в ssi двух и более подзапросов, 3741 *) Исправление: при включении в ssi двух и более подзапросов,
3742 обрабатываемых через FastCGI, вместо вывода второго и остальных 3742 обрабатываемых через FastCGI, вместо вывода второго и остальных
3743 подзапросов в ответ включался вывод первого подзапроса. 3743 подзапросов в ответ включался вывод первого подзапроса.
3744 3744
3745 3745
3746 Изменения в nginx 0.3.48 29.05.2006 3746 Изменения в nginx 0.3.48 29.05.2006
3747 3747
3748 *) Изменение: теперь модуль ngx_http_charset_module работает для 3748 *) Изменение: теперь модуль ngx_http_charset_module работает для
3749 подзапросов, в ответах которых нет строки заголовка "Content-Type". 3749 подзапросов, в ответах которых нет строки заголовка "Content-Type".
3750 3750
3751 *) Исправление: если в директиве proxy_pass не было URI, то директива 3751 *) Исправление: если в директиве proxy_pass не было URI, то директива
3752 "proxy_redirect default" добавляла в переписанный редирект в начало 3752 "proxy_redirect default" добавляла в переписанный редирект в начало
3753 лишний слэш. 3753 лишний слэш.
3754 3754
3755 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в 3755 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
3756 GET, теперь это делается только для редиректов, выполняемых с 3756 GET, теперь это делается только для редиректов, выполняемых с помощью
3757 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка 3757 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
3758 появилась в 0.3.42. 3758 0.3.42.
3759 3759
3760 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был 3760 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
3761 с поддержкой потоков; ошибка появилась в 0.3.46. 3761 с поддержкой потоков; ошибка появилась в 0.3.46.
3762 3762
3763 3763
3764 Изменения в nginx 0.3.47 23.05.2006 3764 Изменения в nginx 0.3.47 23.05.2006
3765 3765
3766 *) Добавление: директива upstream. 3766 *) Добавление: директива upstream.
3767 3767
3768 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь 3768 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
3769 всегда убирается. 3769 всегда убирается.
3770 3770
3771 3771
3772 Изменения в nginx 0.3.46 11.05.2006 3772 Изменения в nginx 0.3.46 11.05.2006
3773 3773
3774 *) Добавление: директивы proxy_hide_header, proxy_pass_header, 3774 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
3775 fastcgi_hide_header и fastcgi_pass_header. 3775 fastcgi_hide_header и fastcgi_pass_header.
3776 3776
3777 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и 3777 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
3778 proxy_pass_server упразднены. 3778 proxy_pass_server упразднены.
3779 3779
3780 *) Добавление: в режиме прокси поддерживается строка заголовка 3780 *) Добавление: в режиме прокси поддерживается строка заголовка
3781 "X-Accel-Buffering" в ответе бэкенда. 3781 "X-Accel-Buffering" в ответе бэкенда.
3782 3782
3783 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле 3783 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
3784 ngx_http_perl_module. 3784 ngx_http_perl_module.
3785 3785
3786 3786
3787 Изменения в nginx 0.3.45 06.05.2006 3787 Изменения в nginx 0.3.45 06.05.2006
3788 3788
3789 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и 3789 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
3790 ssl_client_certificate. 3790 ssl_client_certificate.
3791 3791
3792 *) Изменение: теперь переменная $request_method возвращает метод только 3792 *) Изменение: теперь переменная $request_method возвращает метод только
3793 основного запроса. 3793 основного запроса.
3794 3794
3795 *) Изменение: в таблице перекодировки koi-win изменены коды символа 3795 *) Изменение: в таблице перекодировки koi-win изменены коды символа
3796 &deg;. 3796 &deg;.
3797 3797
3798 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и 3798 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
3799 номера. 3799 номера.
3800 3800
3801 *) Исправление: если nginx распределял запросы на несколько машин, то 3801 *) Исправление: если nginx распределял запросы на несколько машин, то
3802 при падении одной из них запросы, предназначенные для этой машины, 3802 при падении одной из них запросы, предназначенные для этой машины,
3803 перенаправлялись только на одну машину вместо того, чтобы равномерно 3803 перенаправлялись только на одну машину вместо того, чтобы равномерно
3804 распределяться между остальными. 3804 распределяться между остальными.
3805 3805
3806 3806
3807 Изменения в nginx 0.3.44 04.05.2006 3807 Изменения в nginx 0.3.44 04.05.2006
3808 3808
3809 *) Добавление: параметр wait в команде SSI include. 3809 *) Добавление: параметр wait в команде SSI include.
3810 3810
3811 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и 3811 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
3812 белорусские символы. 3812 белорусские символы.
3813 3813
3814 *) Исправление: в SSI. 3814 *) Исправление: в SSI.
3815 3815
3816 3816
3821 3821
3822 Изменения в nginx 0.3.42 26.04.2006 3822 Изменения в nginx 0.3.42 26.04.2006
3823 3823
3824 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси. 3824 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
3825 3825
3826 *) Исправление: ошибки при использовании в директиве rewrite одного и 3826 *) Исправление: ошибки при использовании в директиве rewrite одного и
3827 того же выделения более одного раза. 3827 того же выделения более одного раза.
3828 3828
3829 *) Исправление: в лог не записывались переменные 3829 *) Исправление: в лог не записывались переменные
3830 $sent_http_content_type, $sent_http_content_length, 3830 $sent_http_content_type, $sent_http_content_length,
3831 $sent_http_last_modified, $sent_http_connection, 3831 $sent_http_last_modified, $sent_http_connection,
3832 $sent_http_keep_alive и $sent_http_transfer_encoding. 3832 $sent_http_keep_alive и $sent_http_transfer_encoding.
3833 3833
3834 *) Исправление: переменная $sent_http_cache_control возвращала 3834 *) Исправление: переменная $sent_http_cache_control возвращала
3835 содержимое только одной строки "Cache-Control" в заголовке ответа. 3835 содержимое только одной строки "Cache-Control" в заголовке ответа.
3836 3836
3837 3837
3838 Изменения в nginx 0.3.41 21.04.2006 3838 Изменения в nginx 0.3.41 21.04.2006
3839 3839
3840 *) Добавление: ключ -v. 3840 *) Добавление: ключ -v.
3841 3841
3842 *) Исправление: при включении в SSI удалённых подзапросов мог произойти 3842 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
3843 segmentation fault. 3843 segmentation fault.
3844 3844
3845 *) Исправление: в обработке FastCGI. 3845 *) Исправление: в обработке FastCGI.
3846 3846
3847 *) Исправление: если путь к перловым модулям не был указан с помощью 3847 *) Исправление: если путь к перловым модулям не был указан с помощью
3848 --with-perl_modules_path=PATH или директивы perl_modules, то на 3848 --with-perl_modules_path=PATH или директивы perl_modules, то на
3849 старте происходил segmentation fault. 3849 старте происходил segmentation fault.
3850 3850
3851 3851
3852 Изменения в nginx 0.3.40 19.04.2006 3852 Изменения в nginx 0.3.40 19.04.2006
3853 3853
3858 *) Добавление: переменная $limit_rate. 3858 *) Добавление: переменная $limit_rate.
3859 3859
3860 3860
3861 Изменения в nginx 0.3.39 17.04.2006 3861 Изменения в nginx 0.3.39 17.04.2006
3862 3862
3863 *) Добавление: директива uninitialized_variable_warn; уровень 3863 *) Добавление: директива uninitialized_variable_warn; уровень
3864 логгирования сообщения о неинициализированной переменной понижен с 3864 логгирования сообщения о неинициализированной переменной понижен с
3865 уровня alert на warn. 3865 уровня alert на warn.
3866 3866
3867 *) Добавление: директива override_charset. 3867 *) Добавление: директива override_charset.
3868 3868
3869 *) Изменение: при использовании неизвестной переменной в SSI-командах 3869 *) Изменение: при использовании неизвестной переменной в SSI-командах
3870 echo и if expr='$name' теперь не записывается в лог сообщение о 3870 echo и if expr='$name' теперь не записывается в лог сообщение о
3871 неизвестной переменной. 3871 неизвестной переменной.
3872 3872
3873 *) Исправление: счётчик активных соединений рос при превышении лимита 3873 *) Исправление: счётчик активных соединений рос при превышении лимита
3874 соединений, заданного директивой worker_connections; ошибка 3874 соединений, заданного директивой worker_connections; ошибка появилась
3875 появилась в 0.2.0. 3875 в 0.2.0.
3876 3876
3877 *) Исправление: при некоторых условия ограничение скорости соединения 3877 *) Исправление: при некоторых условия ограничение скорости соединения
3878 могло не работать; ошибка появилась в 0.3.38. 3878 могло не работать; ошибка появилась в 0.3.38.
3879 3879
3880 3880
3881 Изменения в nginx 0.3.38 14.04.2006 3881 Изменения в nginx 0.3.38 14.04.2006
3882 3882
3883 *) Добавление: модуль ngx_http_dav_module. 3883 *) Добавление: модуль ngx_http_dav_module.
3884 3884
3885 *) Изменение: оптимизация модуля ngx_http_perl_module. 3885 *) Изменение: оптимизация модуля ngx_http_perl_module.
3886 Спасибо Сергею Скворцову. 3886 Спасибо Сергею Скворцову.
3887 3887
3888 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3888 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3889 $r->request_body_file. 3889 $r->request_body_file.
3890 3890
3891 *) Добавление: директива client_body_in_file_only. 3891 *) Добавление: директива client_body_in_file_only.
3892 3892
3893 *) Изменение: теперь при переполнении диска nginx пытается писать 3893 *) Изменение: теперь при переполнении диска nginx пытается писать
3894 access_log'и только раз в секунду. 3894 access_log'и только раз в секунду.
3895 Спасибо Антону Южанинову и Максиму Дунину. 3895 Спасибо Антону Южанинову и Максиму Дунину.
3896 3896
3897 *) Исправление: теперь директива limit_rate точнее ограничивает 3897 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
3898 скорость при значениях больше 100 Kbyte/s. 3898 при значениях больше 100 Kbyte/s.
3899 Спасибо ForJest. 3899 Спасибо ForJest.
3900 3900
3901 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации 3901 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
3902 символы "\r" и "\n" в логине и пароле в закодированном виде. 3902 символы "\r" и "\n" в логине и пароле в закодированном виде.
3903 Спасибо Максиму Дунину. 3903 Спасибо Максиму Дунину.
3904 3904
3905 3905
3906 Изменения в nginx 0.3.37 07.04.2006 3906 Изменения в nginx 0.3.37 07.04.2006
3907 3907
3908 *) Добавление: директива limit_except. 3908 *) Добавление: директива limit_except.
3909 3909
3910 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и 3910 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
3911 "!-f". 3911 "!-f".
3912 3912
3913 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3913 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3914 $r->request_body. 3914 $r->request_body.
3915 3915
3916 *) Исправление: в модуле ngx_http_addition_filter_module. 3916 *) Исправление: в модуле ngx_http_addition_filter_module.
3917 3917
3918 3918
3919 Изменения в nginx 0.3.36 05.04.2006 3919 Изменения в nginx 0.3.36 05.04.2006
3920 3920
3921 *) Добавление: модуль ngx_http_addition_filter_module. 3921 *) Добавление: модуль ngx_http_addition_filter_module.
3922 3922
3923 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать 3923 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
3924 внутри блока if. 3924 внутри блока if.
3925 3925
3926 *) Добавление: директивы proxy_ignore_client_abort и 3926 *) Добавление: директивы proxy_ignore_client_abort и
3927 fastcgi_ignore_client_abort. 3927 fastcgi_ignore_client_abort.
3928 3928
3929 *) Добавление: переменная $request_completion. 3929 *) Добавление: переменная $request_completion.
3930 3930
3931 *) Добавление: модуль ngx_http_perl_module поддерживает методы 3931 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3932 $r->request_method и $r->remote_addr. 3932 $r->request_method и $r->remote_addr.
3933 3933
3934 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif. 3934 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
3935 3935
3936 *) Исправление: строка "\/" в начале выражения команды if модуля 3936 *) Исправление: строка "\/" в начале выражения команды if модуля
3937 ngx_http_ssi_module воспринималась неверно. 3937 ngx_http_ssi_module воспринималась неверно.
3938 3938
3939 *) Исправление: в использовании регулярных выражениях в команде if 3939 *) Исправление: в использовании регулярных выражениях в команде if
3940 модуля ngx_http_ssi_module. 3940 модуля ngx_http_ssi_module.
3941 3941
3942 *) Исправление: при задании относительного пути в директивах 3942 *) Исправление: при задании относительного пути в директивах
3943 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и 3943 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
3944 perl_modules использовался каталог относительно текущего каталога, а 3944 perl_modules использовался каталог относительно текущего каталога, а
3945 не относительно префикса сервера. 3945 не относительно префикса сервера.
3946 3946
3947 3947
3948 Изменения в nginx 0.3.35 22.03.2006 3948 Изменения в nginx 0.3.35 22.03.2006
3949 3949
3950 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только 3950 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
3951 для первой директивы listen; ошибка появилась в 0.3.31. 3951 для первой директивы listen; ошибка появилась в 0.3.31.
3952 3952
3953 *) Исправление: в директиве proxy_pass без URI при использовании в 3953 *) Исправление: в директиве proxy_pass без URI при использовании в
3954 подзапросе. 3954 подзапросе.
3955 3955
3956 3956
3957 Изменения в nginx 0.3.34 21.03.2006 3957 Изменения в nginx 0.3.34 21.03.2006
3958 3958
3959 *) Добавление: директива add_header поддерживает переменные. 3959 *) Добавление: директива add_header поддерживает переменные.
3960 3960
3961 3961
3962 Изменения в nginx 0.3.33 15.03.2006 3962 Изменения в nginx 0.3.33 15.03.2006
3963 3963
3964 *) Добавление: параметр http_503 в директивах proxy_next_upstream или 3964 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
3965 fastcgi_next_upstream. 3965 fastcgi_next_upstream.
3966 3966
3967 *) Исправление: ngx_http_perl_module не работал со встроенным в 3967 *) Исправление: ngx_http_perl_module не работал со встроенным в
3968 конфигурационный файл кодом, если он не начинался сразу же с "sub". 3968 конфигурационный файл кодом, если он не начинался сразу же с "sub".
3969 3969
3970 *) Исправление: в директиве post_action. 3970 *) Исправление: в директиве post_action.
3971 3971
3972 3972
3973 Изменения в nginx 0.3.32 11.03.2006 3973 Изменения в nginx 0.3.32 11.03.2006
3974 3974
3975 *) Исправление: удаление отладочного логгирования на старте и при 3975 *) Исправление: удаление отладочного логгирования на старте и при
3976 переконфигурации; ошибка появилась в 0.3.31. 3976 переконфигурации; ошибка появилась в 0.3.31.
3977 3977
3978 3978
3979 Изменения в nginx 0.3.31 10.03.2006 3979 Изменения в nginx 0.3.31 10.03.2006
3980 3980
3981 *) Изменение: теперь nginx передаёт неверные ответы проксированного 3981 *) Изменение: теперь nginx передаёт неверные ответы проксированного
3982 бэкенда. 3982 бэкенда.
3983 3983
3984 *) Добавление: директивы listen поддерживают адрес в виде "*:порт". 3984 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
3985 3985
3986 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4. 3986 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
3987 3987
3988 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в 3988 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
3989 64-битном ядре MacOSX. 3989 64-битном ядре MacOSX.
3990 Спасибо Андрею Нигматулину. 3990 Спасибо Андрею Нигматулину.
3991 3991
3992 *) Исправление: если внутри одного сервера описаны несколько директив 3992 *) Исправление: если внутри одного сервера описаны несколько директив
3993 listen, слушающих на разных адресах, то имена серверов вида 3993 listen, слушающих на разных адресах, то имена серверов вида
3994 "*.domain.tld" работали только для первого адреса; ошибка появилась 3994 "*.domain.tld" работали только для первого адреса; ошибка появилась в
3995 в 0.3.18. 3995 0.3.18.
3996 3996
3997 *) Исправление: при использовании протокола HTTPS в директиве 3997 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3998 proxy_pass не передавались запросы с телом, записанным во временный 3998 не передавались запросы с телом, записанным во временный файл.
3999 файл.
4000 3999
4001 *) Исправление: совместимость с perl 5.8.8. 4000 *) Исправление: совместимость с perl 5.8.8.
4002 4001
4003 4002
4004 Изменения в nginx 0.3.30 22.02.2006 4003 Изменения в nginx 0.3.30 22.02.2006
4005 4004
4006 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error 4005 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
4007 с уровня crit. 4006 с уровня crit.
4008 4007
4009 *) Исправление: модуль ngx_http_perl_module не собирался без модуля 4008 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
4010 ngx_http_ssi_filter_module. 4009 ngx_http_ssi_filter_module.
4011 4010
4012 *) Исправление: nginx не собирался на i386 платформе, если 4011 *) Исправление: nginx не собирался на i386 платформе, если использовался
4013 использовался PIC; ошибка появилась в 0.3.27. 4012 PIC; ошибка появилась в 0.3.27.
4014 4013
4015 4014
4016 Изменения в nginx 0.3.29 20.02.2006 4015 Изменения в nginx 0.3.29 20.02.2006
4017 4016
4018 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме 4017 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
4019 FastCGI передаёт большое количество предупреждений перед ответом. 4018 FastCGI передаёт большое количество предупреждений перед ответом.
4020 4019
4021 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась 4020 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
4022 строка заголовка "Transfer-Encoding: chunked". 4021 строка заголовка "Transfer-Encoding: chunked".
4023 4022
4024 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер 4023 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
4025 передавал полные строки заголовка ответа в отдельных FastCGI записях. 4024 передавал полные строки заголовка ответа в отдельных FastCGI записях.
4026 4025
4027 *) Исправление: если в директиве post_action был указан проксируемый 4026 *) Исправление: если в директиве post_action был указан проксируемый
4028 URI, то он выполнялся только после успешного завершения запроса. 4027 URI, то он выполнялся только после успешного завершения запроса.
4029 4028
4030 4029
4031 Изменения в nginx 0.3.28 16.02.2006 4030 Изменения в nginx 0.3.28 16.02.2006
4032 4031
4033 *) Добавление: директива restrict_host_names упразднена. 4032 *) Добавление: директива restrict_host_names упразднена.
4034 4033
4035 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64. 4034 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
4036 4035
4037 *) Исправление: при некоторых условиях проксированное соединение с 4036 *) Исправление: при некоторых условиях проксированное соединение с
4038 клиентом завершалось преждевременно. 4037 клиентом завершалось преждевременно.
4039 Спасибо Владимиру Шутову. 4038 Спасибо Владимиру Шутову.
4040 4039
4041 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась 4040 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
4042 для запросов, перенаправленных с помощью строки "X-Accel-Redirect". 4041 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
4043 4042
4044 *) Исправление: директива post_action работала только после успешного 4043 *) Исправление: директива post_action работала только после успешного
4045 завершения запроса. 4044 завершения запроса.
4046 4045
4047 *) Исправление: тело проксированного ответа, создаваемого директивой 4046 *) Исправление: тело проксированного ответа, создаваемого директивой
4048 post_action, передавалось клиенту. 4047 post_action, передавалось клиенту.
4049 4048
4050 4049
4051 Изменения в nginx 0.3.27 08.02.2006 4050 Изменения в nginx 0.3.27 08.02.2006
4052 4051
4053 *) Изменение: директивы variables_hash_max_size и 4052 *) Изменение: директивы variables_hash_max_size и
4054 variables_hash_bucket_size. 4053 variables_hash_bucket_size.
4055 4054
4056 *) Добавление: переменная $body_bytes_sent доступна не только в 4055 *) Добавление: переменная $body_bytes_sent доступна не только в
4057 директиве log_format. 4056 директиве log_format.
4058 4057
4059 *) Добавление: переменные $ssl_protocol и $ssl_cipher. 4058 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
4060 4059
4061 *) Добавление: определение размера строки кэша распространённых 4060 *) Добавление: определение размера строки кэша распространённых
4062 процессоров при старте. 4061 процессоров при старте.
4063 4062
4064 *) Добавление: директива accept_mutex теперь поддерживается посредством 4063 *) Добавление: директива accept_mutex теперь поддерживается посредством
4065 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc. 4064 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
4066 4065
4067 *) Добавление: директива lock_file и параметр автоконфигурации 4066 *) Добавление: директива lock_file и параметр автоконфигурации
4068 --with-lock-path=PATH. 4067 --with-lock-path=PATH.
4069 4068
4070 *) Исправление: при использовании протокола HTTPS в директиве 4069 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4071 proxy_pass не передавались запросы с телом. 4070 не передавались запросы с телом.
4072 4071
4073 4072
4074 Изменения в nginx 0.3.26 03.02.2006 4073 Изменения в nginx 0.3.26 03.02.2006
4075 4074
4076 *) Изменение: директива optimize_host_names переименована в 4075 *) Изменение: директива optimize_host_names переименована в
4077 optimize_server_names. 4076 optimize_server_names.
4078 4077
4079 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался 4078 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
4080 URI основного запроса, если в директиве proxy_pass отсутствовал URI. 4079 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
4081 4080
4082 4081
4083 Изменения в nginx 0.3.25 01.02.2006 4082 Изменения в nginx 0.3.25 01.02.2006
4084 4083
4085 *) Исправление: при неверной конфигурации на старте или во время 4084 *) Исправление: при неверной конфигурации на старте или во время
4086 переконфигурации происходил segmentation fault; ошибка появилась в 4085 переконфигурации происходил segmentation fault; ошибка появилась в
4087 0.3.24. 4086 0.3.24.
4088 4087
4089 4088
4090 Изменения в nginx 0.3.24 01.02.2006 4089 Изменения в nginx 0.3.24 01.02.2006
4091 4090
4092 *) Изменение: обход ошибки в kqueue во FreeBSD. 4091 *) Изменение: обход ошибки в kqueue во FreeBSD.
4093 4092
4094 *) Исправление: ответ, создаваемый директивой post_action, теперь не 4093 *) Исправление: ответ, создаваемый директивой post_action, теперь не
4095 передаётся клиенту. 4094 передаётся клиенту.
4096 4095
4097 *) Исправление: при использовании большого количества лог-файлов 4096 *) Исправление: при использовании большого количества лог-файлов
4098 происходила утечка памяти. 4097 происходила утечка памяти.
4099 4098
4100 *) Исправление: внутри одного location работала только первая директива 4099 *) Исправление: внутри одного location работала только первая директива
4101 proxy_redirect. 4100 proxy_redirect.
4102 4101
4103 *) Исправление: на 64-битных платформах при старте мог произойти 4102 *) Исправление: на 64-битных платформах при старте мог произойти
4104 segmentation fault, если использовалось большое количество имён в 4103 segmentation fault, если использовалось большое количество имён в
4105 директивах server_name; ошибка появилась в 0.3.18. 4104 директивах server_name; ошибка появилась в 0.3.18.
4106 4105
4107 4106
4108 Изменения в nginx 0.3.23 24.01.2006 4107 Изменения в nginx 0.3.23 24.01.2006
4109 4108
4110 *) Добавление: директива optimize_host_names. 4109 *) Добавление: директива optimize_host_names.
4111 4110
4112 *) Исправление: ошибки при использовании переменных в директивах path и 4111 *) Исправление: ошибки при использовании переменных в директивах path и
4113 alias. 4112 alias.
4114 4113
4115 *) Исправление: модуль ngx_http_perl_module неправильно собирался на 4114 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4116 Linux и Solaris. 4115 Linux и Solaris.
4117 4116
4118 4117
4119 Изменения в nginx 0.3.22 17.01.2006 4118 Изменения в nginx 0.3.22 17.01.2006
4120 4119
4121 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args 4120 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4122 и $r->unescape. 4121 и $r->unescape.
4123 4122
4124 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module 4123 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4125 упразднён. 4124 упразднён.
4126 4125
4127 *) Исправление: если в директиве valid_referers указаны только none или 4126 *) Исправление: если в директиве valid_referers указаны только none или
4128 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18. 4127 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4129 4128
4130 4129
4131 Изменения в nginx 0.3.21 16.01.2006 4130 Изменения в nginx 0.3.21 16.01.2006
4132 4131
4133 *) Добавление: модуль ngx_http_perl_module. 4132 *) Добавление: модуль ngx_http_perl_module.
4134 4133
4135 *) Изменение: директива valid_referers разрешает использовать рефереры 4134 *) Изменение: директива valid_referers разрешает использовать рефереры
4136 совсем без URI. 4135 совсем без URI.
4137 4136
4138 4137
4139 Изменения в nginx 0.3.20 11.01.2006 4138 Изменения в nginx 0.3.20 11.01.2006
4140 4139
4141 *) Исправление: ошибки в обработке SSI. 4140 *) Исправление: ошибки в обработке SSI.
4142 4141
4143 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в 4142 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
4144 виде /uri?args. 4143 виде /uri?args.
4145 4144
4146 4145
4147 Изменения в nginx 0.3.19 28.12.2005 4146 Изменения в nginx 0.3.19 28.12.2005
4148 4147
4153 *) Исправление: ошибки в обработке SSI. 4152 *) Исправление: ошибки в обработке SSI.
4154 4153
4155 4154
4156 Изменения в nginx 0.3.18 26.12.2005 4155 Изменения в nginx 0.3.18 26.12.2005
4157 4156
4158 *) Добавление: директива server_names поддерживает имена вида 4157 *) Добавление: директива server_names поддерживает имена вида
4159 ".domain.tld". 4158 ".domain.tld".
4160 4159
4161 *) Добавление: директива server_names использует хэш для имён вида 4160 *) Добавление: директива server_names использует хэш для имён вида
4162 "*.domain.tld" и более эффективный хэш для обычных имён. 4161 "*.domain.tld" и более эффективный хэш для обычных имён.
4163 4162
4164 *) Изменение: директивы server_names_hash_max_size и 4163 *) Изменение: директивы server_names_hash_max_size и
4165 server_names_hash_bucket_size. 4164 server_names_hash_bucket_size.
4166 4165
4167 *) Изменение: директивы server_names_hash и server_names_hash_threshold 4166 *) Изменение: директивы server_names_hash и server_names_hash_threshold
4168 упразднены. 4167 упразднены.
4169 4168
4170 *) Добавление: директива valid_referers использует хэш для имён сайтов. 4169 *) Добавление: директива valid_referers использует хэш для имён сайтов.
4171 4170
4172 *) Изменение: теперь директива valid_referers проверяет только имена 4171 *) Изменение: теперь директива valid_referers проверяет только имена
4173 сайтов без учёта URI. 4172 сайтов без учёта URI.
4174 4173
4175 *) Исправление: некоторые имена вида ".domain.tld" неверно 4174 *) Исправление: некоторые имена вида ".domain.tld" неверно
4176 обрабатывались модулем ngx_http_map_module. 4175 обрабатывались модулем ngx_http_map_module.
4177 4176
4178 *) Исправление: если конфигурационного файла не было, то происходил 4177 *) Исправление: если конфигурационного файла не было, то происходил
4179 segmentation fault; ошибка появилась в 0.3.12. 4178 segmentation fault; ошибка появилась в 0.3.12.
4180 4179
4181 *) Исправление: на 64-битных платформах при старте мог произойти 4180 *) Исправление: на 64-битных платформах при старте мог произойти
4182 segmentation fault; ошибка появилась в 0.3.16. 4181 segmentation fault; ошибка появилась в 0.3.16.
4183 4182
4184 4183
4185 Изменения в nginx 0.3.17 18.12.2005 4184 Изменения в nginx 0.3.17 18.12.2005
4186 4185
4187 *) Изменение: на Linux configure теперь проверяет наличие epoll и 4186 *) Изменение: на Linux configure теперь проверяет наличие epoll и
4188 sendfile64() в ядре. 4187 sendfile64() в ядре.
4189 4188
4190 *) Добавление: директива map поддерживает доменные имена в формате 4189 *) Добавление: директива map поддерживает доменные имена в формате
4191 ".domain.tld". 4190 ".domain.tld".
4192 4191
4193 *) Исправление: во время SSL handshake не иcпользовались таймауты; 4192 *) Исправление: во время SSL handshake не иcпользовались таймауты;
4194 ошибка появилась в 0.2.4. 4193 ошибка появилась в 0.2.4.
4195 4194
4196 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 4195 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4197 4196
4198 *) Исправление: при использовании протокола HTTPS в директиве 4197 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4199 proxy_pass по умолчанию использовался порт 80. 4198 по умолчанию использовался порт 80.
4200 4199
4201 4200
4202 Изменения в nginx 0.3.16 16.12.2005 4201 Изменения в nginx 0.3.16 16.12.2005
4203 4202
4204 *) Добавление: модуль ngx_http_map_module. 4203 *) Добавление: модуль ngx_http_map_module.
4207 4206
4208 *) Добавление: директива ssi_value_length. 4207 *) Добавление: директива ssi_value_length.
4209 4208
4210 *) Добавление: директива worker_rlimit_core. 4209 *) Добавление: директива worker_rlimit_core.
4211 4210
4212 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 4211 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
4213 Pentium 4 номер соединения в логах всегда был равен 1. 4212 Pentium 4 номер соединения в логах всегда был равен 1.
4214 4213
4215 *) Исправление: команда config timefmt в SSI задавала неверный формат 4214 *) Исправление: команда config timefmt в SSI задавала неверный формат
4216 времени. 4215 времени.
4217 4216
4218 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при 4217 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
4219 использовании SSL соединений; ошибка появилась в 0.3.13. 4218 использовании SSL соединений; ошибка появилась в 0.3.13.
4220 Спасибо Rob Mueller. 4219 Спасибо Rob Mueller.
4221 4220
4222 *) Исправление: segmentation fault мог произойти во время SSL shutdown; 4221 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
4223 ошибка появилась в 0.3.13. 4222 ошибка появилась в 0.3.13.
4224 4223
4225 4224
4226 Изменения в nginx 0.3.15 07.12.2005 4225 Изменения в nginx 0.3.15 07.12.2005
4227 4226
4228 *) Добавление: новой код 444 в директиве return для закрытия соединения. 4227 *) Добавление: новой код 444 в директиве return для закрытия соединения.
4229 4228
4230 *) Добавление: директива so_keepalive в IMAP/POP3 прокси. 4229 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
4231 4230
4232 *) Исправление: nginx теперь вызывает abort() при обнаружении 4231 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
4233 незакрытых соединений только при планом выходе и включённой 4232 соединений только при планом выходе и включённой директиве
4234 директиве debug_points. 4233 debug_points.
4235 4234
4236 4235
4237 Изменения в nginx 0.3.14 05.12.2005 4236 Изменения в nginx 0.3.14 05.12.2005
4238 4237
4239 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась 4238 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
4240 в 0.3.13. 4239 в 0.3.13.
4241 4240
4242 4241
4243 Изменения в nginx 0.3.13 05.12.2005 4242 Изменения в nginx 0.3.13 05.12.2005
4244 4243
4245 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS. 4244 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
4246 4245
4247 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и 4246 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
4248 /dev/poll. 4247 /dev/poll.
4249 4248
4250 *) Исправление: ошибки в обработке SSI. 4249 *) Исправление: ошибки в обработке SSI.
4251 4250
4252 *) Исправление: sendfilev() в Solaris теперь не используется при 4251 *) Исправление: sendfilev() в Solaris теперь не используется при
4253 передаче тела запроса FastCGI-серверу через unix domain сокет. 4252 передаче тела запроса FastCGI-серверу через unix domain сокет.
4254 4253
4255 *) Исправление: директива auth_basic не запрещала аутентификацию; 4254 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
4256 ошибка появилась в 0.3.11. 4255 появилась в 0.3.11.
4257 4256
4258 4257
4259 Изменения в nginx 0.3.12 26.11.2005 4258 Изменения в nginx 0.3.12 26.11.2005
4260 4259
4261 *) Безопасность: если nginx был собран с модулем 4260 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
4262 ngx_http_realip_module, то при использовании директивы "satisfy_any 4261 то при использовании директивы "satisfy_any on" директивы доступа и
4263 on" директивы доступа и аутентификации не работали. Модуль 4262 аутентификации не работали. Модуль ngx_http_realip_module не
4264 ngx_http_realip_module не собирался и не собирается по умолчанию. 4263 собирался и не собирается по умолчанию.
4265 4264
4266 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local". 4265 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
4267 4266
4268 *) Изменение: директивы proxy_header_buffer_size и 4267 *) Изменение: директивы proxy_header_buffer_size и
4269 fastcgi_header_buffer_size переименованы соответственно в 4268 fastcgi_header_buffer_size переименованы соответственно в
4270 proxy_buffer_size и fastcgi_buffer_size. 4269 proxy_buffer_size и fastcgi_buffer_size.
4271 4270
4272 *) Добавление: модуль ngx_http_memcached_module. 4271 *) Добавление: модуль ngx_http_memcached_module.
4273 4272
4274 *) Добавление: директива proxy_buffering. 4273 *) Добавление: директива proxy_buffering.
4275 4274
4276 *) Исправление: изменение в работе с accept mutex при использовании 4275 *) Исправление: изменение в работе с accept mutex при использовании
4277 метода rtsig; ошибка появилась в 0.3.0. 4276 метода rtsig; ошибка появилась в 0.3.0.
4278 4277
4279 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked" 4278 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
4280 в заголовке запроса, то nginx теперь выдаёт ошибку 411. 4279 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
4281 4280
4282 *) Исправление: при наследовании директивы auth_basic с уровня http в 4281 *) Исправление: при наследовании директивы auth_basic с уровня http в
4283 строке "WWW-Authenticate" заголовка ответа выводился realm без 4282 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
4284 текста "Basic realm". 4283 "Basic realm".
4285 4284
4286 *) Исправление: если в директиве access_log был явно указан формат 4285 *) Исправление: если в директиве access_log был явно указан формат
4287 combined, то в лог записывались пустые строки; ошибка появилась в 4286 combined, то в лог записывались пустые строки; ошибка появилась в
4288 0.3.8. 4287 0.3.8.
4289 4288
4290 *) Исправление: nginx не работал на платформе sparc под любыми OS, 4289 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
4291 кроме Solaris. 4290 Solaris.
4292 4291
4293 *) Исправление: в директиве if теперь не нужно разделять пробелом 4292 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
4294 строку в кавычках и закрывающую скобку. 4293 в кавычках и закрывающую скобку.
4295 4294
4296 4295
4297 Изменения в nginx 0.3.11 15.11.2005 4296 Изменения в nginx 0.3.11 15.11.2005
4298 4297
4299 *) Исправление: nginx не передавал при проксировании тело запроса и 4298 *) Исправление: nginx не передавал при проксировании тело запроса и
4300 строки заголовка клиента; ошибка появилась в 0.3.10. 4299 строки заголовка клиента; ошибка появилась в 0.3.10.
4301 4300
4302 4301
4303 Изменения в nginx 0.3.10 15.11.2005 4302 Изменения в nginx 0.3.10 15.11.2005
4304 4303
4305 *) Изменение: директива valid_referers и переменная $invalid_referer 4304 *) Изменение: директива valid_referers и переменная $invalid_referer
4306 перенесены из модуля ngx_http_rewrite_module в новый модуль 4305 перенесены из модуля ngx_http_rewrite_module в новый модуль
4307 ngx_http_referer_module. 4306 ngx_http_referer_module.
4308 4307
4309 *) Изменение: имя переменной "$apache_bytes_sent" изменено на 4308 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
4310 "$body_bytes_sent". 4309 "$body_bytes_sent".
4311 4310
4312 *) Добавление: переменные "$sent_http_...". 4311 *) Добавление: переменные "$sent_http_...".
4313 4312
4314 *) Добавление: директива if поддерживает операции "=" и "!=". 4313 *) Добавление: директива if поддерживает операции "=" и "!=".
4321 4320
4322 *) Добавление: модуль ngx_http_empty_gif_module. 4321 *) Добавление: модуль ngx_http_empty_gif_module.
4323 4322
4324 *) Добавление: директива worker_cpu_affinity для Linux. 4323 *) Добавление: директива worker_cpu_affinity для Linux.
4325 4324
4326 *) Исправление: директива rewrite не раскодировала символы в редиректах 4325 *) Исправление: директива rewrite не раскодировала символы в редиректах
4327 в URI, теперь символы раскодируются, кроме символов %00-%25 и 4326 в URI, теперь символы раскодируются, кроме символов %00-%25 и
4328 %7F-%FF. 4327 %7F-%FF.
4329 4328
4330 *) Исправление: nginx не собирался компилятором icc 9.0. 4329 *) Исправление: nginx не собирался компилятором icc 9.0.
4331 4330
4332 *) Исправление: если для статического файла нулевого размера был 4331 *) Исправление: если для статического файла нулевого размера был
4333 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами. 4332 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4334 4333
4335 4334
4336 Изменения в nginx 0.3.9 10.11.2005 4335 Изменения в nginx 0.3.9 10.11.2005
4337 4336
4338 *) Исправление: nginx считал небезопасными URI, в которых между двумя 4337 *) Исправление: nginx считал небезопасными URI, в которых между двумя
4339 слэшами находилось два любых символа; ошибка появилась в 0.3.8. 4338 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4340 4339
4341 4340
4342 Изменения в nginx 0.3.8 09.11.2005 4341 Изменения в nginx 0.3.8 09.11.2005
4343 4342
4344 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в 4343 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4345 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на 4344 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4346 наличие путей "/../" и нулей. 4345 наличие путей "/../" и нулей.
4347 4346
4348 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в 4347 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4349 строке "Authorization" в заголовке запроса. 4348 строке "Authorization" в заголовке запроса.
4350 4349
4351 *) Добавление: директива ssl_session_timeout модулей 4350 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
4352 ngx_http_ssl_module и ngx_imap_ssl_module. 4351 и ngx_imap_ssl_module.
4353 4352
4354 *) Добавление: директива auth_http_header модуля 4353 *) Добавление: директива auth_http_header модуля
4355 ngx_imap_auth_http_module. 4354 ngx_imap_auth_http_module.
4356 4355
4357 *) Добавление: директива add_header. 4356 *) Добавление: директива add_header.
4358 4357
4359 *) Добавление: модуль ngx_http_realip_module. 4358 *) Добавление: модуль ngx_http_realip_module.
4360 4359
4361 *) Добавление: новые переменные для использования в директиве 4360 *) Добавление: новые переменные для использования в директиве
4362 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 4361 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4363 $uri, $request_time, $request_length, $upstream_status, 4362 $uri, $request_time, $request_length, $upstream_status,
4364 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, 4363 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4365 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут 4364 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4366 упразднены. 4365 упразднены.
4367 4366
4368 *) Изменение: в директиве "if" ложными значениями переменных теперь 4367 *) Изменение: в директиве "if" ложными значениями переменных теперь
4369 являются пустая строка "" и строки, начинающиеся на "0". 4368 являются пустая строка "" и строки, начинающиеся на "0".
4370 4369
4371 *) Исправление: при работает с проксированными или FastCGI-серверами 4370 *) Исправление: при работает с проксированными или FastCGI-серверами
4372 nginx мог оставлять открытыми соединения и временные файлы с 4371 nginx мог оставлять открытыми соединения и временные файлы с
4373 запросами клиентов. 4372 запросами клиентов.
4374 4373
4375 *) Исправление: рабочие процессы не сбрасывали буферизированные логи 4374 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
4376 при плавном выходе. 4375 плавном выходе.
4377 4376
4378 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем 4377 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
4379 запрос проксировался в location, заданном регулярным выражением, то 4378 запрос проксировался в location, заданном регулярным выражением, то
4380 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6. 4379 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
4381 4380
4382 *) Исправление: директива expires не удаляла уже установленную строку 4381 *) Исправление: директива expires не удаляла уже установленную строку
4383 заголовка "Expires". 4382 заголовка "Expires".
4384 4383
4385 *) Исправление: при использовании метода rtsig и нескольких рабочих 4384 *) Исправление: при использовании метода rtsig и нескольких рабочих
4386 процессах nginx мог перестать принимать запросы. 4385 процессах nginx мог перестать принимать запросы.
4387 4386
4388 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и 4387 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
4389 "\'". 4388 "\'".
4390 4389
4391 *) Исправление: если ответ заканчивался сразу же после SSI команды, то 4390 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
4392 при использовании сжатия ответ передавался не до конца или не 4391 при использовании сжатия ответ передавался не до конца или не
4393 передавался вообще. 4392 передавался вообще.
4394 4393
4395 4394
4396 Изменения в nginx 0.3.7 27.10.2005 4395 Изменения в nginx 0.3.7 27.10.2005
4397 4396
4398 *) Добавление: директива access_log поддерживает параметр buffer=. 4397 *) Добавление: директива access_log поддерживает параметр buffer=.
4399 4398
4400 *) Исправление: nginx не собирался на платформах, отличных от i386, 4399 *) Исправление: nginx не собирался на платформах, отличных от i386,
4401 amd64, sparc и ppc; ошибка появилась в 0.3.2. 4400 amd64, sparc и ppc; ошибка появилась в 0.3.2.
4402 4401
4403 4402
4404 Изменения в nginx 0.3.6 24.10.2005 4403 Изменения в nginx 0.3.6 24.10.2005
4405 4404
4406 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации 4405 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
4407 пустой логин. 4406 пустой логин.
4408 4407
4409 *) Добавление: директива log_format поддерживает переменные в виде 4408 *) Добавление: директива log_format поддерживает переменные в виде
4410 $name. 4409 $name.
4411 4410
4412 *) Исправление: если хотя бы в одном сервере не было описано ни одной 4411 *) Исправление: если хотя бы в одном сервере не было описано ни одной
4413 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в 4412 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
4414 0.3.3. 4413 0.3.3.
4415 4414
4416 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда 4415 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
4417 использовался порт 80. 4416 использовался порт 80.
4418 4417
4419 4418
4420 Изменения в nginx 0.3.5 21.10.2005 4419 Изменения в nginx 0.3.5 21.10.2005
4421 4420
4422 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то 4421 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
4423 мог произойти segmentation fault; ошибка появилась в 0.2.2. 4422 мог произойти segmentation fault; ошибка появилась в 0.2.2.
4424 4423
4425 *) Исправление: accept mutex не работал, все соединения обрабатывались 4424 *) Исправление: accept mutex не работал, все соединения обрабатывались
4426 одним рабочим процессом; ошибка появилась в 0.3.3. 4425 одним рабочим процессом; ошибка появилась в 0.3.3.
4427 4426
4428 *) Исправление: при использовании метода rtsig и директивы 4427 *) Исправление: при использовании метода rtsig и директивы
4429 timer_resolution не работали таймауты. 4428 timer_resolution не работали таймауты.
4430 4429
4431 4430
4432 Изменения в nginx 0.3.4 19.10.2005 4431 Изменения в nginx 0.3.4 19.10.2005
4433 4432
4434 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка 4433 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
4435 появилась в 0.3.3. 4434 появилась в 0.3.3.
4436 4435
4437 4436
4438 Изменения в nginx 0.3.3 19.10.2005 4437 Изменения в nginx 0.3.3 19.10.2005
4439 4438
4440 *) Изменение: параметры "bl" и "af" директивы listen переименованы в 4439 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
4441 "backlog" и "accept_filter". 4440 "backlog" и "accept_filter".
4442 4441
4443 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen. 4442 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
4444 4443
4445 *) Изменение: параметр лога $msec теперь не требует дополнительного 4444 *) Изменение: параметр лога $msec теперь не требует дополнительного
4446 системного вызова gettimeofday(). 4445 системного вызова gettimeofday().
4447 4446
4448 *) Добавление: ключ -t теперь проверяет директивы listen. 4447 *) Добавление: ключ -t теперь проверяет директивы listen.
4449 4448
4450 *) Исправление: если в директиве listen был указан неверный адрес, то 4449 *) Исправление: если в директиве listen был указан неверный адрес, то
4451 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 4450 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
4452 4451
4453 *) Исправление: для индексных файлов, содержащих в имени переменную, 4452 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
4454 мог неверно выставляться тип mime по умолчанию; ошибка появилась в 4453 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
4455 0.3.0.
4456 4454
4457 *) Добавление: директива timer_resolution. 4455 *) Добавление: директива timer_resolution.
4458 4456
4459 *) Добавление: параметр лога $upstream_response_time в миллисекундах. 4457 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
4460 4458
4461 *) Исправление: временный файл с телом запроса клиента теперь удаляется 4459 *) Исправление: временный файл с телом запроса клиента теперь удаляется
4462 сразу после того, как клиенту передан заголовок ответа. 4460 сразу после того, как клиенту передан заголовок ответа.
4463 4461
4464 *) Исправление: совместимость с OpenSSL 0.9.6. 4462 *) Исправление: совместимость с OpenSSL 0.9.6.
4465 4463
4466 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть 4464 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
4467 относительными. 4465 относительными.
4468 4466
4469 *) Исправление: директива ssl_prefer_server_ciphers не работала для 4467 *) Исправление: директива ssl_prefer_server_ciphers не работала для
4470 модуля ngx_imap_ssl_module. 4468 модуля ngx_imap_ssl_module.
4471 4469
4472 *) Исправление: директива ssl_protocols позволяла задать только один 4470 *) Исправление: директива ssl_protocols позволяла задать только один
4473 протокол. 4471 протокол.
4474 4472
4475 4473
4476 Изменения в nginx 0.3.2 12.10.2005 4474 Изменения в nginx 0.3.2 12.10.2005
4477 4475
4478 *) Добавление: поддержка Sun Studio 10 C compiler. 4476 *) Добавление: поддержка Sun Studio 10 C compiler.
4479 4477
4480 *) Добавление: директивы proxy_upstream_max_fails, 4478 *) Добавление: директивы proxy_upstream_max_fails,
4481 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и 4479 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
4482 fastcgi_upstream_fail_timeout. 4480 fastcgi_upstream_fail_timeout.
4483 4481
4484 4482
4485 Изменения в nginx 0.3.1 10.10.2005 4483 Изменения в nginx 0.3.1 10.10.2005
4486 4484
4487 *) Исправление: во время переполнения очереди сигналов при 4485 *) Исправление: во время переполнения очереди сигналов при использовании
4488 использовании метода rtsig происходил segmentation fault; ошибка 4486 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
4489 появилась в 0.2.0.
4490 4487
4491 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 4488 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
4492 4489
4493 4490
4494 Изменения в nginx 0.3.0 07.10.2005 4491 Изменения в nginx 0.3.0 07.10.2005
4495 4492
4496 *) Изменение: убрано десятидневное ограничение времени работы рабочего 4493 *) Изменение: убрано десятидневное ограничение времени работы рабочего
4497 процесса. Ограничение было введено из-за переполнения миллисекундных 4494 процесса. Ограничение было введено из-за переполнения миллисекундных
4498 таймеров. 4495 таймеров.
4499 4496
4500 4497
4501 Изменения в nginx 0.2.6 05.10.2005 4498 Изменения в nginx 0.2.6 05.10.2005
4502 4499
4503 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к 4500 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
4504 бэкенду при использовании распределения нагрузки. 4501 бэкенду при использовании распределения нагрузки.
4505 4502
4506 *) Изменение: директива proxy_pass_unparsed_uri упразднена, 4503 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
4507 оригинальный запрос теперь передаётся, если в директиве proxy_pass 4504 запрос теперь передаётся, если в директиве proxy_pass отсутствует
4508 отсутствует URI. 4505 URI.
4509 4506
4510 *) Добавление: директива error_page поддерживает редиректы и позволяет 4507 *) Добавление: директива error_page поддерживает редиректы и позволяет
4511 более гибко менять код ошибки. 4508 более гибко менять код ошибки.
4512 4509
4513 *) Изменение: в проксированных подзапросах теперь игнорируется 4510 *) Изменение: в проксированных подзапросах теперь игнорируется
4514 переданный charset. 4511 переданный charset.
4515 4512
4516 *) Исправление: если после изменения URI в блоке if для запроса не 4513 *) Исправление: если после изменения URI в блоке if для запроса не
4517 находилась новая конфигурация, то правила модуля 4514 находилась новая конфигурация, то правила модуля
4518 ngx_http_rewrite_module выполнялись снова. 4515 ngx_http_rewrite_module выполнялись снова.
4519 4516
4520 *) Исправление: если директива set устанавливала переменную модуля 4517 *) Исправление: если директива set устанавливала переменную модуля
4521 ngx_http_geo_module в какой-либо части конфигурации, то эта 4518 ngx_http_geo_module в какой-либо части конфигурации, то эта
4522 переменная не была доступна в других частях конфигурации и 4519 переменная не была доступна в других частях конфигурации и выдавалась
4523 выдавалась ошибка "using uninitialized variable"; ошибка появилась в 4520 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
4524 0.2.2.
4525 4521
4526 4522
4527 Изменения в nginx 0.2.5 04.10.2005 4523 Изменения в nginx 0.2.5 04.10.2005
4528 4524
4529 *) Изменение: дублирующее значение переменной модуля 4525 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
4530 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое 4526 теперь выдаёт предупреждение и изменяет старое значение.
4531 значение.
4532 4527
4533 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set. 4528 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
4534 4529
4535 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в 4530 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
4536 команде include. 4531 команде include.
4537 4532
4538 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку 4533 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
4539 значений переменных в выражениях команды if. 4534 значений переменных в выражениях команды if.
4540 4535
4541 4536
4542 Изменения в nginx 0.2.4 03.10.2005 4537 Изменения в nginx 0.2.4 03.10.2005
4543 4538
4544 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения 4539 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
4545 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде 4540 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
4546 if. 4541 if.
4547 4542
4548 *) Исправление: ошибки при проксировании location без слэша в конце; 4543 *) Исправление: ошибки при проксировании location без слэша в конце;
4549 ошибка появилась в 0.1.44. 4544 ошибка появилась в 0.1.44.
4550 4545
4551 *) Исправление: при использовании метода rtsig мог произойти 4546 *) Исправление: при использовании метода rtsig мог произойти
4552 segmentation fault; ошибка появилась в 0.2.0. 4547 segmentation fault; ошибка появилась в 0.2.0.
4553 4548
4554 4549
4555 Изменения в nginx 0.2.3 30.09.2005 4550 Изменения в nginx 0.2.3 30.09.2005
4556 4551
4557 *) Исправление: nginx не собирался без параметра --with-debug; ошибка 4552 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4558 появилась в 0.2.2. 4553 появилась в 0.2.2.
4559 4554
4560 4555
4561 Изменения в nginx 0.2.2 30.09.2005 4556 Изменения в nginx 0.2.2 30.09.2005
4562 4557
4563 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module. 4558 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
4564 4559
4565 *) Изменение: переменные модуля ngx_http_geo_module можно 4560 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
4566 переопределять директивой set. 4561 директивой set.
4567 4562
4568 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers 4563 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
4569 модулей ngx_http_ssl_module и ngx_imap_ssl_module. 4564 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
4570 4565
4571 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 4566 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4572 длинных имён файлов; 4567 длинных имён файлов;
4573 4568
4574 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает 4569 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
4575 файлы, начинающиеся на точку. 4570 файлы, начинающиеся на точку.
4576 4571
4577 *) Исправление: если SSL handshake завершался с ошибкой, то это могло 4572 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
4578 привести также к закрытию другого соединения. 4573 привести также к закрытию другого соединения.
4579 Спасибо Rob Mueller. 4574 Спасибо Rob Mueller.
4580 4575
4581 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по 4576 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
4582 HTTPS. 4577 HTTPS.
4583 4578
4584 4579
4585 Изменения в nginx 0.2.1 23.09.2005 4580 Изменения в nginx 0.2.1 23.09.2005
4586 4581
4587 *) Исправление: если все бэкенды, используемые для балансировки 4582 *) Исправление: если все бэкенды, используемые для балансировки
4588 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 4583 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4589 nginx мог зациклится; ошибка появилась в 0.2.0. 4584 nginx мог зациклится; ошибка появилась в 0.2.0.
4590 4585
4591 4586
4592 Изменения в nginx 0.2.0 23.09.2005 4587 Изменения в nginx 0.2.0 23.09.2005
4593 4588
4594 *) Изменились имена pid-файлов, используемые во время обновления 4589 *) Изменились имена pid-файлов, используемые во время обновления
4595 исполняемого файла. Ручное переименование теперь не нужно. Старый 4590 исполняемого файла. Ручное переименование теперь не нужно. Старый
4596 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и 4591 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
4597 запускает новый исполняемый файл. Новый основной процесс создаёт 4592 запускает новый исполняемый файл. Новый основной процесс создаёт
4598 обычный pid-файл без суффикса ".newbin". Если новый основной процесс 4593 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
4599 выходит, то старый процесс переименовывает свой pid-файл c суффиксом 4594 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
4600 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до 4595 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
4601 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый 4596 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
4602 0.2.0 - используют pid-файл без суффиксов. 4597 0.2.0 - используют pid-файл без суффиксов.
4603 4598
4604 *) Изменение: директива worker_connections, новое название директивы 4599 *) Изменение: директива worker_connections, новое название директивы
4605 connections; директива теперь задаёт максимальное число соединений, 4600 connections; директива теперь задаёт максимальное число соединений, а
4606 а не максимально возможный номер дескриптора для сокета. 4601 не максимально возможный номер дескриптора для сокета.
4607 4602
4608 *) Добавление: SSL поддерживает кэширование сессий в пределах одного 4603 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
4609 рабочего процесса. 4604 рабочего процесса.
4610 4605
4611 *) Добавление: директива satisfy_any. 4606 *) Добавление: директива satisfy_any.
4612 4607
4613 *) Изменение: модули ngx_http_access_module и 4608 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
4614 ngx_http_auth_basic_module не работают для подзапросов. 4609 не работают для подзапросов.
4615 4610
4616 *) Добавление: директивы worker_rlimit_nofile и 4611 *) Добавление: директивы worker_rlimit_nofile и
4617 worker_rlimit_sigpending. 4612 worker_rlimit_sigpending.
4618 4613
4619 *) Исправление: если все бэкенды, используемые для балансировки 4614 *) Исправление: если все бэкенды, используемые для балансировки
4620 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 4615 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4621 nginx не обращался к ним в течение 60 секунд. 4616 nginx не обращался к ним в течение 60 секунд.
4622 4617
4623 *) Исправление: в парсинге аргументов IMAP/POP3 команд. 4618 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
4624 Спасибо Rob Mueller. 4619 Спасибо Rob Mueller.
4625 4620
4626 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси. 4621 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
4627 4622
4628 *) Исправление: ошибки при использовании SSI и сжатия. 4623 *) Исправление: ошибки при использовании SSI и сжатия.
4629 4624
4630 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа 4625 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
4631 "Expires" и "Cache-Control". 4626 "Expires" и "Cache-Control".
4632 Спасибо Александру Кукушкину. 4627 Спасибо Александру Кукушкину.
4633 4628
4634 4629
4635 Изменения в nginx 0.1.45 08.09.2005 4630 Изменения в nginx 0.1.45 08.09.2005
4636 4631
4637 *) Изменение: директива ssl_engine упразднена в модуле 4632 *) Изменение: директива ssl_engine упразднена в модуле
4638 ngx_http_ssl_module и перенесена на глобальный уровень. 4633 ngx_http_ssl_module и перенесена на глобальный уровень.
4639 4634
4640 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не 4635 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
4641 передавались через SSL соединение. 4636 передавались через SSL соединение.
4642 4637
4643 *) Разные исправления в IMAP/POP3 прокси. 4638 *) Разные исправления в IMAP/POP3 прокси.
4644 4639
4645 4640
4649 4644
4650 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module. 4645 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
4651 4646
4652 *) Добавление: директива userid_mark. 4647 *) Добавление: директива userid_mark.
4653 4648
4654 *) Добавление: значение переменной $remote_user определяется независимо 4649 *) Добавление: значение переменной $remote_user определяется независимо
4655 от того, используется ли авторизация или нет. 4650 от того, используется ли авторизация или нет.
4656 4651
4657 4652
4658 Изменения в nginx 0.1.43 30.08.2005 4653 Изменения в nginx 0.1.43 30.08.2005
4659 4654
4660 *) Добавление: listen(2) backlog в директиве listen можно менять по 4655 *) Добавление: listen(2) backlog в директиве listen можно менять по
4661 сигналу -HUP. 4656 сигналу -HUP.
4662 4657
4663 *) Добавление: скрипт geo2nginx.pl добавлен в contrib. 4658 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
4664 4659
4665 *) Изменение: параметры FastCGI с пустым значениями теперь передаются 4660 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
4666 серверу. 4661 серверу.
4667 4662
4668 *) Исправление: если в ответе проксированного сервера или FastCGI 4663 *) Исправление: если в ответе проксированного сервера или FastCGI
4669 сервера была строка "Cache-Control", то при использовании директивы 4664 сервера была строка "Cache-Control", то при использовании директивы
4670 expires происходил segmentation fault или рабочий процесс мог 4665 expires происходил segmentation fault или рабочий процесс мог
4671 зациклится; в режиме прокси ошибка появилась в 0.1.29. 4666 зациклится; в режиме прокси ошибка появилась в 0.1.29.
4672 4667
4673 4668
4674 Изменения в nginx 0.1.42 23.08.2005 4669 Изменения в nginx 0.1.42 23.08.2005
4675 4670
4676 *) Исправление: если URI запроса получался нулевой длины после 4671 *) Исправление: если URI запроса получался нулевой длины после обработки
4677 обработки модулем ngx_http_rewrite_module, то в модуле 4672 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
4678 ngx_http_proxy_module происходил segmentation fault или bus error. 4673 происходил segmentation fault или bus error.
4679 4674
4680 *) Исправление: директива limit_rate не работала внутри блока if; 4675 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
4681 ошибка появилась в 0.1.38. 4676 появилась в 0.1.38.
4682 4677
4683 4678
4684 Изменения в nginx 0.1.41 25.07.2005 4679 Изменения в nginx 0.1.41 25.07.2005
4685 4680
4686 *) Исправление: если переменная использовалась в файле конфигурации, то 4681 *) Исправление: если переменная использовалась в файле конфигурации, то
4687 она не могла использоваться в SSI. 4682 она не могла использоваться в SSI.
4688 4683
4689 4684
4690 Изменения в nginx 0.1.40 22.07.2005 4685 Изменения в nginx 0.1.40 22.07.2005
4691 4686
4692 *) Исправление: если клиент слал очень длинную строку заголовка, то в 4687 *) Исправление: если клиент слал очень длинную строку заголовка, то в
4693 логе не помещалась информация, связанная с этим запросом. 4688 логе не помещалась информация, связанная с этим запросом.
4694 4689
4695 *) Исправление: при использовании "X-Accel-Redirect" не передавалась 4690 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4696 строка "Set-Cookie"; ошибка появилась в 0.1.39. 4691 строка "Set-Cookie"; ошибка появилась в 0.1.39.
4697 4692
4698 *) Исправление: при использовании "X-Accel-Redirect" не передавалась 4693 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4699 строка "Content-Disposition". 4694 строка "Content-Disposition".
4700 4695
4701 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты, 4696 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
4702 на которых он слушал. 4697 на которых он слушал.
4703 4698
4704 *) Исправление: после обновления исполняемого файла на лету на Linux и 4699 *) Исправление: после обновления исполняемого файла на лету на Linux и
4705 Solaris название процесса в команде ps становилось короче. 4700 Solaris название процесса в команде ps становилось короче.
4706 4701
4707 4702
4708 Изменения в nginx 0.1.39 14.07.2005 4703 Изменения в nginx 0.1.39 14.07.2005
4709 4704
4710 *) Изменения в модуле ngx_http_charset_module: директива 4705 *) Изменения в модуле ngx_http_charset_module: директива default_charset
4711 default_charset упразднена; директива charset задаёт кодировку 4706 упразднена; директива charset задаёт кодировку ответа; директива
4712 ответа; директива source_charset задаёт только исходную кодировку. 4707 source_charset задаёт только исходную кодировку.
4713 4708
4714 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда, 4709 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
4715 не передавалась строка заголовка "WWW-Authenticate". 4710 не передавалась строка заголовка "WWW-Authenticate".
4716 4711
4717 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module 4712 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
4718 могли закрыть соединение до того, как что-нибудь было передано 4713 могли закрыть соединение до того, как что-нибудь было передано
4719 клиенту; ошибка появилась в 0.1.38. 4714 клиенту; ошибка появилась в 0.1.38.
4720 4715
4721 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc. 4716 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
4722 4717
4723 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные 4718 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
4724 URI в команде include virtual. 4719 URI в команде include virtual.
4725 4720
4726 *) Исправление: если в строке заголовка ответа бэкенда была строка 4721 *) Исправление: если в строке заголовка ответа бэкенда была строка
4727 "Location", которую nginx не должен был изменять, то в ответе 4722 "Location", которую nginx не должен был изменять, то в ответе
4728 передавалось тело 500 ошибки; ошибка появилась в 0.1.29. 4723 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
4729 4724
4730 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и 4725 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
4731 ngx_http_fastcgi_module не наследовались с уровня server на уровень 4726 ngx_http_fastcgi_module не наследовались с уровня server на уровень
4732 location; ошибка появилась в 0.1.29. 4727 location; ошибка появилась в 0.1.29.
4733 4728
4734 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки 4729 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
4735 сертификатов. 4730 сертификатов.
4736 4731
4737 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 4732 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4738 длинных имён файлов; ошибка появилась в 0.1.38. 4733 длинных имён файлов; ошибка появилась в 0.1.38.
4739 4734
4740 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на 4735 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
4741 стадии login. 4736 стадии login.
4742 4737
4743 4738
4744 Изменения в nginx 0.1.38 08.07.2005 4739 Изменения в nginx 0.1.38 08.07.2005
4745 4740
4746 *) Добавление: директива limit_rate поддерживается в режиме прокси и 4741 *) Добавление: директива limit_rate поддерживается в режиме прокси и
4747 FastCGI. 4742 FastCGI.
4748 4743
4749 *) Добавление: в режиме прокси и FastCGI поддерживается строка 4744 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4750 заголовка "X-Accel-Limit-Rate" в ответе бэкенда. 4745 "X-Accel-Limit-Rate" в ответе бэкенда.
4751 4746
4752 *) Добавление: директива break. 4747 *) Добавление: директива break.
4753 4748
4754 *) Добавление: директива log_not_found. 4749 *) Добавление: директива log_not_found.
4755 4750
4756 *) Исправление: при перенаправлении запроса с помощью строки заголовка 4751 *) Исправление: при перенаправлении запроса с помощью строки заголовка
4757 "X-Accel-Redirect" не изменялся код ответа. 4752 "X-Accel-Redirect" не изменялся код ответа.
4758 4753
4759 *) Исправление: переменные, установленные директивой set не могли 4754 *) Исправление: переменные, установленные директивой set не могли
4760 использоваться в SSI. 4755 использоваться в SSI.
4761 4756
4762 *) Исправление: при включении в SSI более одного удалённого подзапроса 4757 *) Исправление: при включении в SSI более одного удалённого подзапроса
4763 мог произойти segmentation fault. 4758 мог произойти segmentation fault.
4764 4759
4765 *) Исправление: если статусная строка в ответе бэкенда передавалась в 4760 *) Исправление: если статусная строка в ответе бэкенда передавалась в
4766 двух пакетах, то nginx считал ответ неверным; ошибка появилась в 4761 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
4767 0.1.29. 4762 0.1.29.
4768 4763
4769 *) Добавление: директива ssi_types. 4764 *) Добавление: директива ssi_types.
4770 4765
4771 *) Добавление: директива autoindex_exact_size. 4766 *) Добавление: директива autoindex_exact_size.
4772 4767
4773 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные 4768 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
4774 имена файлов в UTF-8. 4769 имена файлов в UTF-8.
4775 4770
4776 *) Добавление: IMAP/POP3 прокси. 4771 *) Добавление: IMAP/POP3 прокси.
4777 4772
4778 4773
4779 Изменения в nginx 0.1.37 23.06.2005 4774 Изменения в nginx 0.1.37 23.06.2005
4780 4775
4781 *) Изменение: в конце файла nginx.pid теперь добавляется "\n". 4776 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
4782 4777
4783 *) Исправление: при включении большого количества вставок или 4778 *) Исправление: при включении большого количества вставок или нескольких
4784 нескольких больших вставок с помощью SSI ответ мог передаваться не 4779 больших вставок с помощью SSI ответ мог передаваться не полностью.
4785 полностью. 4780
4786 4781 *) Исправление: если все бэкенды возвращали ответ 404, то при
4787 *) Исправление: если все бэкенды возвращали ответ 404, то при 4782 использовании параметра http_404 в директивах proxy_next_upstream или
4788 использовании параметра http_404 в директивах proxy_next_upstream 4783 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
4789 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
4790 снова.
4791 4784
4792 4785
4793 Изменения в nginx 0.1.36 15.06.2005 4786 Изменения в nginx 0.1.36 15.06.2005
4794 4787
4795 *) Изменение: если в заголовке запросе есть дублирующиеся строки 4788 *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
4796 "Host", "Connection", "Content-Length" и "Authorization", то nginx 4789 "Connection", "Content-Length" и "Authorization", то nginx теперь
4797 теперь выдаёт ошибку 400. 4790 выдаёт ошибку 400.
4798 4791
4799 *) Изменение: директива post_accept_timeout упразднена. 4792 *) Изменение: директива post_accept_timeout упразднена.
4800 4793
4801 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве 4794 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
4802 listen. 4795 listen.
4803 4796
4804 *) Добавление: поддержка accept фильтров во FreeBSD. 4797 *) Добавление: поддержка accept фильтров во FreeBSD.
4805 4798
4806 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux. 4799 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
4807 4800
4808 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена 4801 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
4809 файлов в UTF-8. 4802 файлов в UTF-8.
4810 4803
4811 *) Исправление: после добавления новый лог-файл ротация этого лога по 4804 *) Исправление: после добавления новый лог-файл ротация этого лога по
4812 сигналу -USR1 выполнялась, только если переконфигурировать nginx два 4805 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
4813 раза по сигналу -HUP. 4806 раза по сигналу -HUP.
4814 4807
4815 4808
4816 Изменения в nginx 0.1.35 07.06.2005 4809 Изменения в nginx 0.1.35 07.06.2005
4817 4810
4818 *) Добавление: директива working_directory. 4811 *) Добавление: директива working_directory.
4819 4812
4820 *) Добавление: директива port_in_redirect. 4813 *) Добавление: директива port_in_redirect.
4821 4814
4822 *) Исправление: если заголовок ответа бэкенда не помещался в один 4815 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
4823 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29. 4816 то происходил segmentation fault; ошибка появилась в 0.1.29.
4824 4817
4825 *) Исправление: если было сконфигурировано более 10 серверов или в 4818 *) Исправление: если было сконфигурировано более 10 серверов или в
4826 сервере не описана директива "listen", то при запуске мог произойти 4819 сервере не описана директива "listen", то при запуске мог произойти
4827 segmentation fault. 4820 segmentation fault.
4828 4821
4829 *) Исправление: если ответ не помещался во временный файл, то мог 4822 *) Исправление: если ответ не помещался во временный файл, то мог
4830 произойти segmentation fault. 4823 произойти segmentation fault.
4831 4824
4832 *) Исправление: nginx возвращал ошибку 400 на запросы вида 4825 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4833 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28. 4826 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
4834 4827
4835 4828
4836 Изменения в nginx 0.1.34 26.05.2005 4829 Изменения в nginx 0.1.34 26.05.2005
4837 4830
4838 *) Исправление: при включении больших ответов с помощью SSI рабочий 4831 *) Исправление: при включении больших ответов с помощью SSI рабочий
4839 процесс мог зациклиться. 4832 процесс мог зациклиться.
4840 4833
4841 *) Исправление: переменные, устанавливаемые директивой "set", не были 4834 *) Исправление: переменные, устанавливаемые директивой "set", не были
4842 доступны в SSI. 4835 доступны в SSI.
4843 4836
4844 *) Добавление: директива autoindex_localtime. 4837 *) Добавление: директива autoindex_localtime.
4845 4838
4846 *) Исправление: пустое значение в директиве proxy_set_header запрещает 4839 *) Исправление: пустое значение в директиве proxy_set_header запрещает
4847 передачу заголовка. 4840 передачу заголовка.
4848 4841
4849 4842
4850 Изменения в nginx 0.1.33 23.05.2005 4843 Изменения в nginx 0.1.33 23.05.2005
4851 4844
4852 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 4845 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4853 появилась в 0.1.29. 4846 появилась в 0.1.29.
4854 4847
4855 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне 4848 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
4856 вызывали bus fault при запуске. 4849 вызывали bus fault при запуске.
4857 4850
4858 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол 4851 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
4859 HTTP. 4852 HTTP.
4860 4853
4861 *) Исправление: если директива rewrite использовала выделения внутри 4854 *) Исправление: если директива rewrite использовала выделения внутри
4862 директивы if, то возвращалась ошибка 500. 4855 директивы if, то возвращалась ошибка 500.
4863 4856
4864 4857
4865 Изменения в nginx 0.1.32 19.05.2005 4858 Изменения в nginx 0.1.32 19.05.2005
4866 4859
4867 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, 4860 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
4868 не передавались аргументы; ошибка появилась в 0.1.29. 4861 передавались аргументы; ошибка появилась в 0.1.29.
4869 4862
4870 *) Добавление: директива if поддерживает выделения в регулярных 4863 *) Добавление: директива if поддерживает выделения в регулярных
4871 выражениях. 4864 выражениях.
4872 4865
4873 *) Добавление: директива set поддерживает переменные и выделения из 4866 *) Добавление: директива set поддерживает переменные и выделения из
4874 регулярных выражений. 4867 регулярных выражений.
4875 4868
4876 *) Добавление: в режиме прокси и FastCGI поддерживается строка 4869 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4877 заголовка "X-Accel-Redirect" в ответе бэкенда. 4870 "X-Accel-Redirect" в ответе бэкенда.
4878 4871
4879 4872
4880 Изменения в nginx 0.1.31 16.05.2005 4873 Изменения в nginx 0.1.31 16.05.2005
4881 4874
4882 *) Исправление: при использовании SSL ответ мог передаваться не до 4875 *) Исправление: при использовании SSL ответ мог передаваться не до
4883 конца. 4876 конца.
4884 4877
4885 *) Исправление: ошибки при обработке SSI в ответе, полученного от 4878 *) Исправление: ошибки при обработке SSI в ответе, полученного от
4886 FastCGI-сервера. 4879 FastCGI-сервера.
4887 4880
4888 *) Исправление: ошибки при использовании SSI и сжатия. 4881 *) Исправление: ошибки при использовании SSI и сжатия.
4889 4882
4890 *) Исправление: редирект с кодом 301 передавался без тела ответа; 4883 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
4891 ошибка появилась в 0.1.30. 4884 появилась в 0.1.30.
4892 4885
4893 4886
4894 Изменения в nginx 0.1.30 14.05.2005 4887 Изменения в nginx 0.1.30 14.05.2005
4895 4888
4896 *) Исправление: при использовании SSI рабочий процесс мог зациклиться. 4889 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
4897 4890
4898 *) Исправление: при использовании SSL ответ мог передаваться не до 4891 *) Исправление: при использовании SSL ответ мог передаваться не до
4899 конца. 4892 конца.
4900 4893
4901 *) Исправление: если длина части ответа, полученного за один раз от 4894 *) Исправление: если длина части ответа, полученного за один раз от
4902 проксируемого или FastCGI сервера была равна 500 байт, то nginx 4895 проксируемого или FastCGI сервера была равна 500 байт, то nginx
4903 возвращал код ответа 500; в режиме прокси ошибка появилась только в 4896 возвращал код ответа 500; в режиме прокси ошибка появилась только в
4904 0.1.29. 4897 0.1.29.
4905 4898
4906 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю 4899 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
4907 параметрами. 4900 параметрами.
4908 4901
4909 *) Добавление: директива return может возвращать код ответа 204. 4902 *) Добавление: директива return может возвращать код ответа 204.
4910 4903
4911 *) Добавление: директива ignore_invalid_headers. 4904 *) Добавление: директива ignore_invalid_headers.
4912 4905
4913 4906
4914 Изменения в nginx 0.1.29 12.05.2005 4907 Изменения в nginx 0.1.29 12.05.2005
4915 4908
4916 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include 4909 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
4917 virtual. 4910 virtual.
4918 4911
4919 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду 4912 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
4920 вида 'if expr="$NAME"' и команды else и endif. Допускается только 4913 вида 'if expr="$NAME"' и команды else и endif. Допускается только
4921 один уровень вложенности. 4914 один уровень вложенности.
4922 4915
4923 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные 4916 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
4924 DATE_LOCAL и DATE_GMT и команду config timefmt. 4917 DATE_LOCAL и DATE_GMT и команду config timefmt.
4925 4918
4926 *) Добавление: директива ssi_ignore_recycled_buffers. 4919 *) Добавление: директива ssi_ignore_recycled_buffers.
4927 4920
4928 *) Исправление: если переменная QUERY_STRING не была определена, то в 4921 *) Исправление: если переменная QUERY_STRING не была определена, то в
4929 команде echo не ставилось значение по умолчанию. 4922 команде echo не ставилось значение по умолчанию.
4930 4923
4931 *) Изменение: модуль ngx_http_proxy_module полностью переписан. 4924 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
4932 4925
4933 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers, 4926 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
4934 proxy_pass_request_body и proxy_method. 4927 proxy_pass_request_body и proxy_method.
4935 4928
4936 *) Добавление: директива proxy_set_header. Директива proxy_x_var 4929 *) Добавление: директива proxy_set_header. Директива proxy_x_var
4937 упразднена и должна быть заменена директивой proxy_set_header. 4930 упразднена и должна быть заменена директивой proxy_set_header.
4938 4931
4939 *) Изменение: директива proxy_preserve_host упразднена и должна быть 4932 *) Изменение: директива proxy_preserve_host упразднена и должна быть
4940 заменена директивами "proxy_set_header Host $host" и "proxy_redirect 4933 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
4941 off" или директивой "proxy_set_header Host $host:$proxy_port" и 4934 off" или директивой "proxy_set_header Host $host:$proxy_port" и
4942 соответствующими ей директивами proxy_redirect. 4935 соответствующими ей директивами proxy_redirect.
4943 4936
4944 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть 4937 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
4945 заменена директивой "proxy_set_header X-Real-IP $remote_addr". 4938 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
4946 4939
4947 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна 4940 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
4948 быть заменена директивой 4941 быть заменена директивой
4949 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for". 4942 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
4950 4943
4951 *) Изменение: директива proxy_set_x_url упразднена и должна быть 4944 *) Изменение: директива proxy_set_x_url упразднена и должна быть
4952 заменена директивой 4945 заменена директивой
4953 "proxy_set_header X-URL http://$host:$server_port$request_uri". 4946 "proxy_set_header X-URL http://$host:$server_port$request_uri".
4954 4947
4955 *) Добавление: директива fastcgi_param. 4948 *) Добавление: директива fastcgi_param.
4956 4949
4957 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params 4950 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
4958 упразднены и должны быть замены директивами fastcgi_param. 4951 упразднены и должны быть замены директивами fastcgi_param.
4959 4952
4960 *) Добавление: директива index может использовать переменные. 4953 *) Добавление: директива index может использовать переменные.
4961 4954
4962 *) Добавление: директива index может быть указана на уровне http и 4955 *) Добавление: директива index может быть указана на уровне http и
4963 server. 4956 server.
4964 4957
4965 *) Изменение: только последний параметр в директиве index может быть 4958 *) Изменение: только последний параметр в директиве index может быть
4966 абсолютным. 4959 абсолютным.
4967 4960
4968 *) Добавление: в директиве rewrite могут использоваться переменные. 4961 *) Добавление: в директиве rewrite могут использоваться переменные.
4969 4962
4970 *) Добавление: директива internal. 4963 *) Добавление: директива internal.
4971 4964
4972 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, 4965 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
4973 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, 4966 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
4974 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 4967 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
4975 4968
4976 *) Изменение: nginx теперь передаёт неверные строки в заголовках 4969 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
4977 запроса клиента и ответа бэкенда. 4970 клиента и ответа бэкенда.
4978 4971
4979 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был 4972 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
4980 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408. 4973 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
4981 4974
4982 *) Исправление: если бэкенд передавал неверную строку в заголовке 4975 *) Исправление: если бэкенд передавал неверную строку в заголовке
4983 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26. 4976 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
4984 4977
4985 *) Исправление: при использовании отказоустойчивой конфигурации в 4978 *) Исправление: при использовании отказоустойчивой конфигурации в
4986 FastCGI мог происходить segmentation fault. 4979 FastCGI мог происходить segmentation fault.
4987 4980
4988 *) Исправление: директива expires не удаляла уже установленные строки 4981 *) Исправление: директива expires не удаляла уже установленные строки
4989 заголовка "Expires" и "Cache-Control". 4982 заголовка "Expires" и "Cache-Control".
4990 4983
4991 *) Исправление: nginx не учитывал завершающую точку в строке заголовка 4984 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
4992 запроса "Host". 4985 запроса "Host".
4993 4986
4994 *) Исправление: модуль ngx_http_auth_module не работал на Linux. 4987 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
4995 4988
4996 *) Исправление: директива rewrite неверно работала, если в запросе 4989 *) Исправление: директива rewrite неверно работала, если в запросе
4997 присутствовали аргументы. 4990 присутствовали аргументы.
4998 4991
4999 *) Исправление: nginx не собирался на MacOS X. 4992 *) Исправление: nginx не собирался на MacOS X.
5000 4993
5001 4994
5002 Изменения в nginx 0.1.28 08.04.2005 4995 Изменения в nginx 0.1.28 08.04.2005
5003 4996
5004 *) Исправление: при проксировании больших файлов nginx сильно нагружал 4997 *) Исправление: при проксировании больших файлов nginx сильно нагружал
5005 процессор. 4998 процессор.
5006 4999
5007 *) Исправление: nginx не собирался gcc 4.0 на Linux. 5000 *) Исправление: nginx не собирался gcc 4.0 на Linux.
5008 5001
5009 5002
5010 Изменения в nginx 0.1.27 28.03.2005 5003 Изменения в nginx 0.1.27 28.03.2005
5011 5004
5012 *) Добавление: параметр blocked в директиве valid_referers. 5005 *) Добавление: параметр blocked в директиве valid_referers.
5013 5006
5014 *) Изменение: ошибки обработки заголовка запроса теперь записываются на 5007 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
5015 уровне info, в лог также записывается имя сервера и строки заголовка 5008 уровне info, в лог также записывается имя сервера и строки заголовка
5016 запроса "Host" и "Referer". 5009 запроса "Host" и "Referer".
5017 5010
5018 *) Изменение: при записи ошибок в лог записывается также строка 5011 *) Изменение: при записи ошибок в лог записывается также строка
5019 заголовка запроса "Host". 5012 заголовка запроса "Host".
5020 5013
5021 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка 5014 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
5022 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена. 5015 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
5023 5016
5024 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан 5017 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
5025 параметр конфигурации --without-ngx_http_auth_basic_module. 5018 параметр конфигурации --without-ngx_http_auth_basic_module.
5026 5019
5027 5020
5028 Изменения в nginx 0.1.26 22.03.2005 5021 Изменения в nginx 0.1.26 22.03.2005
5029 5022
5030 *) Изменение: неверные строки заголовка, переданные клиентом, теперь 5023 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
5031 игнорируется и записываются в error_log на уровне info. 5024 игнорируется и записываются в error_log на уровне info.
5032 5025
5033 *) Изменение: при записи ошибок в лог записывается также имя сервера, 5026 *) Изменение: при записи ошибок в лог записывается также имя сервера,
5034 при обращении к которому произошла ошибка. 5027 при обращении к которому произошла ошибка.
5035 5028
5036 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic 5029 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
5037 и auth_basic_user_file. 5030 и auth_basic_user_file.
5038 5031
5039 5032
5040 Изменения в nginx 0.1.25 19.03.2005 5033 Изменения в nginx 0.1.25 19.03.2005
5041 5034
5042 *) Исправление: nginx не работал на Linux parisc. 5035 *) Исправление: nginx не работал на Linux parisc.
5043 5036
5044 *) Добавление: nginx теперь не запускается под FreeBSD, если значение 5037 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
5045 sysctl kern.ipc.somaxconn слишком большое. 5038 sysctl kern.ipc.somaxconn слишком большое.
5046 5039
5047 *) Исправление: если модуль ngx_http_index_module делал внутреннее 5040 *) Исправление: если модуль ngx_http_index_module делал внутреннее
5048 перенаправление запроса в модули ngx_http_proxy_module или 5041 перенаправление запроса в модули ngx_http_proxy_module или
5049 ngx_http_fastcgi_module, то файл индекса не закрывался после 5042 ngx_http_fastcgi_module, то файл индекса не закрывался после
5050 обслуживания запроса. 5043 обслуживания запроса.
5051 5044
5052 *) Добавление: директива proxy_pass может использоваться в location, 5045 *) Добавление: директива proxy_pass может использоваться в location,
5053 заданных регулярным выражением. 5046 заданных регулярным выражением.
5054 5047
5055 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает 5048 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
5056 условия вида "if ($HTTP_USER_AGENT ~ MSIE)". 5049 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
5057 5050
5058 *) Исправление: nginx очень медленно запускался при большом количестве 5051 *) Исправление: nginx очень медленно запускался при большом количестве
5059 адресов и использовании текстовых значений в директиве geo. 5052 адресов и использовании текстовых значений в директиве geo.
5060 5053
5061 *) Изменение: имя переменной в директиве geo нужно указывать, как 5054 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
5062 $name. Прежний вариант без "$" пока работает, но вскоре будет убран. 5055 Прежний вариант без "$" пока работает, но вскоре будет убран.
5063 5056
5064 *) Добавление: параметр лога "%{VARIABLE}v". 5057 *) Добавление: параметр лога "%{VARIABLE}v".
5065 5058
5066 *) Добавление: директива "set $name value". 5059 *) Добавление: директива "set $name value".
5067 5060
5070 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS. 5063 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
5071 5064
5072 5065
5073 Изменения в nginx 0.1.24 04.03.2005 5066 Изменения в nginx 0.1.24 04.03.2005
5074 5067
5075 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает 5068 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
5076 переменные QUERY_STRING и DOCUMENT_URI. 5069 QUERY_STRING и DOCUMENT_URI.
5077 5070
5078 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 5071 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
5079 на существующий каталог, если этот каталог был указан как alias. 5072 на существующий каталог, если этот каталог был указан как alias.
5080 5073
5081 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал 5074 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5082 при больших ответах. 5075 при больших ответах.
5083 5076
5084 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось 5077 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5085 правильным referrer'ом. 5078 правильным referrer'ом.
5086 5079
5087 5080
5088 Изменения в nginx 0.1.23 01.03.2005 5081 Изменения в nginx 0.1.23 01.03.2005
5089 5082
5090 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, 5083 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5091 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo 5084 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5092 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'. 5085 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5093 5086
5094 *) Добавление: параметр лога %request_time. 5087 *) Добавление: параметр лога %request_time.
5095 5088
5096 *) Добавление: если запрос пришёл без строки заголовка "Host", то 5089 *) Добавление: если запрос пришёл без строки заголовка "Host", то
5097 директива proxy_preserve_host устанавливает в качестве этого 5090 директива proxy_preserve_host устанавливает в качестве этого
5098 заголовка первое имя сервера из директивы server_name. 5091 заголовка первое имя сервера из директивы server_name.
5099 5092
5100 *) Исправление: nginx не собирался на платформах, отличных от i386, 5093 *) Исправление: nginx не собирался на платформах, отличных от i386,
5101 amd64, sparc и ppc; ошибка появилась в 0.1.22. 5094 amd64, sparc и ppc; ошибка появилась в 0.1.22.
5102 5095
5103 *) Исправление: модуль ngx_http_autoindex_module теперь показывает 5096 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5104 информацию не о символическом линке, а о файле или каталоге, на 5097 информацию не о символическом линке, а о файле или каталоге, на
5105 который он указывает. 5098 который он указывает.
5106 5099
5107 *) Исправление: если клиенту ничего не передавалось, то параметр 5100 *) Исправление: если клиенту ничего не передавалось, то параметр
5108 %apache_length записывал в лог отрицательную длину заголовка ответа. 5101 %apache_length записывал в лог отрицательную длину заголовка ответа.
5109 5102
5110 5103
5111 Изменения в nginx 0.1.22 22.02.2005 5104 Изменения в nginx 0.1.22 22.02.2005
5112 5105
5113 *) Исправление: модуль ngx_http_stub_status_module показывал неверную 5106 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5114 статистику для обработанных соединений, если использовалось 5107 статистику для обработанных соединений, если использовалось
5115 проксирование или FastCGI-сервер. 5108 проксирование или FastCGI-сервер.
5116 5109
5117 *) Исправление: на Linux и Solaris установочные пути были неверно 5110 *) Исправление: на Linux и Solaris установочные пути были неверно
5118 заключены в кавычки; ошибка появилась в 0.1.21. 5111 заключены в кавычки; ошибка появилась в 0.1.21.
5119 5112
5120 5113
5121 Изменения в nginx 0.1.21 22.02.2005 5114 Изменения в nginx 0.1.21 22.02.2005
5122 5115
5123 *) Исправление: модуль ngx_http_stub_status_module показывал неверную 5116 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5124 статистику при использовании метода rtsig или при использовании 5117 статистику при использовании метода rtsig или при использовании
5125 нескольких рабочих процессов на SMP машине. 5118 нескольких рабочих процессов на SMP машине.
5126 5119
5127 *) Исправление: nginx не собирался компилятором icc под Линуксом или 5120 *) Исправление: nginx не собирался компилятором icc под Линуксом или
5128 если библиотека zlib-1.2.x собиралась из исходных текстов. 5121 если библиотека zlib-1.2.x собиралась из исходных текстов.
5129 5122
5130 *) Исправление: nginx не собирался под NetBSD 2.0. 5123 *) Исправление: nginx не собирался под NetBSD 2.0.
5131 5124
5132 5125
5133 Изменения в nginx 0.1.20 17.02.2005 5126 Изменения в nginx 0.1.20 17.02.2005
5134 5127
5135 *) Добавление: новые параметры script_filename и remote_port в 5128 *) Добавление: новые параметры script_filename и remote_port в директиве
5136 директиве fastcgi_params. 5129 fastcgi_params.
5137 5130
5138 *) Исправление: неправильно обрабатывался поток stderr от 5131 *) Исправление: неправильно обрабатывался поток stderr от
5139 FastCGI-сервера. 5132 FastCGI-сервера.
5140 5133
5141 5134
5142 Изменения в nginx 0.1.19 16.02.2005 5135 Изменения в nginx 0.1.19 16.02.2005
5143 5136
5144 *) Исправление: если в запросе есть нуль, то для локальных запросов 5137 *) Исправление: если в запросе есть нуль, то для локальных запросов
5145 теперь возвращается ошибка 404. 5138 теперь возвращается ошибка 404.
5146 5139
5147 *) Исправление: nginx не собирался под NetBSD 2.0. 5140 *) Исправление: nginx не собирался под NetBSD 2.0.
5148 5141
5149 *) Исправление: во время чтения тела запроса клиента в SSL соединении 5142 *) Исправление: во время чтения тела запроса клиента в SSL соединении
5150 мог произойти таймаут. 5143 мог произойти таймаут.
5151 5144
5152 5145
5153 Изменения в nginx 0.1.18 09.02.2005 5146 Изменения в nginx 0.1.18 09.02.2005
5154 5147
5155 *) Изменение: для совместимости с Solaris 10 в директивах 5148 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
5156 devpoll_events и devpoll_changes значения по умолчанию уменьшены с 5149 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
5157 512 до 32. 5150
5158 5151 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5159 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5160 наследовались. 5152 наследовались.
5161 5153
5162 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы 5154 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
5163 присоединялись к URI через символ "&" вместо "?". 5155 присоединялись к URI через символ "&" вместо "?".
5164 5156
5165 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" 5157 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
5166 во включённом файле игнорировались. 5158 включённом файле игнорировались.
5167 5159
5168 *) Добавление: модуль ngx_http_stub_status_module. 5160 *) Добавление: модуль ngx_http_stub_status_module.
5169 5161
5170 *) Исправление: неизвестный формат лог-файла в директиве access_log 5162 *) Исправление: неизвестный формат лог-файла в директиве access_log
5171 вызывал segmentation fault. 5163 вызывал segmentation fault.
5172 5164
5173 *) Добавление: новый параметр document_root в директиве fastcgi_params. 5165 *) Добавление: новый параметр document_root в директиве fastcgi_params.
5174 5166
5175 *) Добавление: директива fastcgi_redirect_errors. 5167 *) Добавление: директива fastcgi_redirect_errors.
5176 5168
5177 *) Добавление: новый модификатор break в директиве rewrite позволяет 5169 *) Добавление: новый модификатор break в директиве rewrite позволяет
5178 прекратить цикл rewrite/location и устанавливает текущую 5170 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
5179 конфигурацию для запроса. 5171 для запроса.
5180 5172
5181 5173
5182 Изменения в nginx 0.1.17 03.02.2005 5174 Изменения в nginx 0.1.17 03.02.2005
5183 5175
5184 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. 5176 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
5185 Теперь можно делать редиректы, возвращать коды ошибок и проверять 5177 можно делать редиректы, возвращать коды ошибок и проверять переменные
5186 переменные и рефереры. Эти директивы можно использовать внутри 5178 и рефереры. Эти директивы можно использовать внутри location.
5187 location. Директива redirect упразднена. 5179 Директива redirect упразднена.
5188 5180
5189 *) Добавление: модуль ngx_http_geo_module. 5181 *) Добавление: модуль ngx_http_geo_module.
5190 5182
5191 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var. 5183 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
5192 5184
5193 *) Исправление: конфигурация location с модификатором "=" могла 5185 *) Исправление: конфигурация location с модификатором "=" могла
5194 использоваться в другом location. 5186 использоваться в другом location.
5195 5187
5196 *) Исправление: правильный тип ответа выставлялся только для запросов, 5188 *) Исправление: правильный тип ответа выставлялся только для запросов, у
5197 у которых в расширении были только маленькие буквы. 5189 которых в расширении были только маленькие буквы.
5198 5190
5199 *) Исправление: если для location установлен proxy_pass или 5191 *) Исправление: если для location установлен proxy_pass или
5200 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась 5192 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
5201 на статическую страницу, то происходил segmentation fault. 5193 на статическую страницу, то происходил segmentation fault.
5202 5194
5203 *) Исправление: если в проксированном ответе в заголовке "Location" 5195 *) Исправление: если в проксированном ответе в заголовке "Location"
5204 передавался относительный URL, то к нему добавлялось имя хоста и 5196 передавался относительный URL, то к нему добавлялось имя хоста и
5205 слэш; ошибка появилась в 0.1.14. 5197 слэш; ошибка появилась в 0.1.14.
5206 5198
5207 *) Исправление: на Linux в лог не записывался текст системной ошибки. 5199 *) Исправление: на Linux в лог не записывался текст системной ошибки.
5208 5200
5209 5201
5210 Изменения в nginx 0.1.16 25.01.2005 5202 Изменения в nginx 0.1.16 25.01.2005
5211 5203
5212 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD 5204 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
5213 выдавался завершающий chunk. 5205 выдавался завершающий chunk.
5214 5206
5215 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если 5207 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
5216 директива keepalive_timeout запрещала использование keep-alive. 5208 директива keepalive_timeout запрещала использование keep-alive.
5217 5209
5218 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали 5210 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
5219 segmentation fault. 5211 segmentation fault.
5220 5212
5221 *) Исправление: при использовании SSL сжатый ответ мог передаваться не 5213 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
5222 до конца. 5214 до конца.
5223 5215
5224 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные 5216 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
5225 для TCP сокетов, не используются для unix domain сокетов. 5217 для TCP сокетов, не используются для unix domain сокетов.
5226 5218
5227 *) Добавление: директива rewrite поддерживает перезаписывание 5219 *) Добавление: директива rewrite поддерживает перезаписывание
5228 аргументов. 5220 аргументов.
5229 5221
5230 *) Исправление: на запрос POST с заголовком "Content-Length: 0" 5222 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
5231 возвращался ответ 400; ошибка появилась в 0.1.14. 5223 возвращался ответ 400; ошибка появилась в 0.1.14.
5232 5224
5233 5225
5234 Изменения в nginx 0.1.15 19.01.2005 5226 Изменения в nginx 0.1.15 19.01.2005
5235 5227
5236 *) Исправление: ошибка соединения с FastCGI-сервером вызывала 5228 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
5237 segmentation fault. 5229 segmentation fault.
5238 5230
5239 *) Исправление: корректная обработка регулярного выражения, в котором 5231 *) Исправление: корректная обработка регулярного выражения, в котором
5240 число выделенных частей не совпадает с числом подстановок. 5232 число выделенных частей не совпадает с числом подстановок.
5241 5233
5242 *) Добавление: location, который передаётся FastCGI-серверу, может быть 5234 *) Добавление: location, который передаётся FastCGI-серверу, может быть
5243 задан с помощью регулярного выражения. 5235 задан с помощью регулярного выражения.
5244 5236
5245 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с 5237 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
5246 аргументами и в том виде, в котором был получен от клиента. 5238 аргументами и в том виде, в котором был получен от клиента.
5247 5239
5248 *) Исправление: для использования регулярных выражений в location нужно 5240 *) Исправление: для использования регулярных выражений в location нужно
5249 было собирать nginx вместе с ngx_http_rewrite_module. 5241 было собирать nginx вместе с ngx_http_rewrite_module.
5250 5242
5251 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании 5243 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
5252 директивы "proxy_preserve_host on" в заголовке "Host" указывался 5244 директивы "proxy_preserve_host on" в заголовке "Host" указывался
5253 также порт 80; ошибка появилась в 0.1.14. 5245 также порт 80; ошибка появилась в 0.1.14.
5254 5246
5255 *) Исправление: если задать одинаковые пути в параметрах 5247 *) Исправление: если задать одинаковые пути в параметрах
5256 автоконфигурации --http-client-body-temp-path=PATH и 5248 автоконфигурации --http-client-body-temp-path=PATH и
5257 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и 5249 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
5258 --http-fastcgi-temp-path=PATH, то происходил segmentation fault. 5250 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
5259 5251
5260 5252
5261 Изменения в nginx 0.1.14 18.01.2005 5253 Изменения в nginx 0.1.14 18.01.2005
5262 5254
5263 *) Добавление: параметры автоконфигурации 5255 *) Добавление: параметры автоконфигурации
5264 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и 5256 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
5265 --http-fastcgi-temp-path=PATH 5257 --http-fastcgi-temp-path=PATH
5266 5258
5267 *) Изменение: имя каталога с временными файлами, содержащие тело 5259 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
5268 запроса клиента, задаётся директивой client_body_temp_path, по 5260 клиента, задаётся директивой client_body_temp_path, по умолчанию
5269 умолчанию <prefix>/client_body_temp. 5261 <prefix>/client_body_temp.
5270 5262
5271 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, 5263 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
5272 fastcgi_root, fastcgi_index, fastcgi_params, 5264 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
5273 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, 5265 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
5274 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 5266 fastcgi_header_buffer_size, fastcgi_buffers,
5275 fastcgi_busy_buffers_size, fastcgi_temp_path, 5267 fastcgi_busy_buffers_size, fastcgi_temp_path,
5276 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 5268 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
5277 fastcgi_next_upstream и fastcgi_x_powered_by. 5269 fastcgi_next_upstream и fastcgi_x_powered_by.
5278 5270
5279 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в 5271 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
5280 0.1.3. 5272 0.1.3.
5281 5273
5282 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI 5274 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
5283 после имени хоста. 5275 после имени хоста.
5284 5276
5285 *) Изменение: если в URI встречался символ %3F, то он считался началом 5277 *) Изменение: если в URI встречался символ %3F, то он считался началом
5286 строки аргументов. 5278 строки аргументов.
5287 5279
5288 *) Добавление: поддержка unix domain сoкетов в модуле 5280 *) Добавление: поддержка unix domain сoкетов в модуле
5289 ngx_http_proxy_module. 5281 ngx_http_proxy_module.
5290 5282
5291 *) Добавление: директивы ssl_engine и ssl_ciphers. 5283 *) Добавление: директивы ssl_engine и ssl_ciphers.
5292 Спасибо Сергею Скворцову за SSL-акселератор. 5284 Спасибо Сергею Скворцову за SSL-акселератор.
5293 5285
5294 5286
5295 Изменения в nginx 0.1.13 21.12.2004 5287 Изменения в nginx 0.1.13 21.12.2004
5296 5288
5297 *) Добавление: директивы server_names_hash и 5289 *) Добавление: директивы server_names_hash и
5298 server_names_hash_threshold. 5290 server_names_hash_threshold.
5299 5291
5300 *) Исправление: имена *.domain.tld в директиве server_name не работали. 5292 *) Исправление: имена *.domain.tld в директиве server_name не работали.
5301 5293
5302 *) Исправление: параметр лога %request_length записывал неверную длину. 5294 *) Исправление: параметр лога %request_length записывал неверную длину.
5304 5296
5305 Изменения в nginx 0.1.12 06.12.2004 5297 Изменения в nginx 0.1.12 06.12.2004
5306 5298
5307 *) Добавление: параметр лога %request_length. 5299 *) Добавление: параметр лога %request_length.
5308 5300
5309 *) Исправление: при использовании /dev/poll, select и poll на 5301 *) Исправление: при использовании /dev/poll, select и poll на
5310 платформах, где возможны ложные срабатывания указанных методов, 5302 платформах, где возможны ложные срабатывания указанных методов, могли
5311 могли быть длительные задержки при обработке запроса по keep-alive 5303 быть длительные задержки при обработке запроса по keep-alive
5312 соединению. Наблюдалось по крайней мере на Solaris с использованием 5304 соединению. Наблюдалось по крайней мере на Solaris с использованием
5313 /dev/poll. 5305 /dev/poll.
5314 5306
5315 *) Исправление: директива send_lowat игнорируется на Linux, так как 5307 *) Исправление: директива send_lowat игнорируется на Linux, так как
5316 Linux не поддерживает опцию SO_SNDLOWAT. 5308 Linux не поддерживает опцию SO_SNDLOWAT.
5317 5309
5318 5310
5319 Изменения в nginx 0.1.11 02.12.2004 5311 Изменения в nginx 0.1.11 02.12.2004
5320 5312
5321 *) Добавление: директива worker_priority. 5313 *) Добавление: директива worker_priority.
5322 5314
5323 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе 5315 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5324 влияют на передачу ответа. 5316 влияют на передачу ответа.
5325 5317
5326 *) Исправление: nginx не вызывал initgroups(). 5318 *) Исправление: nginx не вызывал initgroups().
5327 Спасибо Андрею Ситникову и Андрею Нигматулину. 5319 Спасибо Андрею Ситникову и Андрею Нигматулину.
5328 5320
5329 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в 5321 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5330 байтах. 5322 байтах.
5331 5323
5332 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в 5324 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5333 каталоге есть битый symlink. 5325 каталоге есть битый symlink.
5334 5326
5335 *) Исправление: файлы больше 4G не передавались с использованием 5327 *) Исправление: файлы больше 4G не передавались с использованием
5336 sendfile. 5328 sendfile.
5337 5329
5338 *) Исправление: если бэкенд резолвился в несколько адресов и при 5330 *) Исправление: если бэкенд резолвился в несколько адресов и при
5339 ожидании от него ответа происходила ошибка, то процесс зацикливался. 5331 ожидании от него ответа происходила ошибка, то процесс зацикливался.
5340 5332
5341 *) Исправление: при использовании метода /dev/poll рабочий процесс мог 5333 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5342 завершиться с сообщением "unknown cycle". 5334 завершиться с сообщением "unknown cycle".
5343 5335
5344 *) Исправление: ошибки "close() channel failed". 5336 *) Исправление: ошибки "close() channel failed".
5345 5337
5346 *) Исправление: автоматическое определение групп nobody и nogroup. 5338 *) Исправление: автоматическое определение групп nobody и nogroup.
5347 5339
5348 *) Исправление: директива send_lowat не работала на Linux. 5340 *) Исправление: директива send_lowat не работала на Linux.
5349 5341
5350 *) Исправление: если в конфигурации не было раздела events, то 5342 *) Исправление: если в конфигурации не было раздела events, то
5351 происходил segmentation fault. 5343 происходил segmentation fault.
5352 5344
5353 *) Исправление: nginx не собирался под OpenBSD. 5345 *) Исправление: nginx не собирался под OpenBSD.
5354 5346
5355 *) Исправление: двойные слэшы в "://" в URI превращались в ":/". 5347 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5356 5348
5357 5349
5358 Изменения в nginx 0.1.10 26.11.2004 5350 Изменения в nginx 0.1.10 26.11.2004
5359 5351
5360 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" 5352 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5361 или "%XX", то терялся последний символ в строке запроса; ошибка 5353 или "%XX", то терялся последний символ в строке запроса; ошибка
5362 появилась в 0.1.9. 5354 появилась в 0.1.9.
5363 5355
5364 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на 5356 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
5365 Linux не работало. 5357 не работало.
5366 5358
5367 5359
5368 Изменения в nginx 0.1.9 25.11.2004 5360 Изменения в nginx 0.1.9 25.11.2004
5369 5361
5370 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то 5362 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5371 проксируемый запрос передавался без аргументов. 5363 проксируемый запрос передавался без аргументов.
5372 5364
5373 *) Исправление: при сжатии больших ответов иногда они передавались не 5365 *) Исправление: при сжатии больших ответов иногда они передавались не
5374 полностью. 5366 полностью.
5375 5367
5376 *) Исправление: не передавались файлы больше 2G на Linux, 5368 *) Исправление: не передавались файлы больше 2G на Linux,
5377 неподдерживающем sendfile64(). 5369 неподдерживающем sendfile64().
5378 5370
5379 *) Исправление: на Linux при конфигурации сборки нужно было обязательно 5371 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
5380 использовать параметр --with-poll_module; ошибка появилась в 0.1.8. 5372 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
5381 5373
5382 5374
5383 Изменения в nginx 0.1.8 20.11.2004 5375 Изменения в nginx 0.1.8 20.11.2004
5384 5376
5385 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 5377 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5386 длинных имён файлов. 5378 длинных имён файлов.
5387 5379
5388 *) Добавление: модификатор "^~" в директиве location. 5380 *) Добавление: модификатор "^~" в директиве location.
5389 5381
5390 *) Добавление: директива proxy_max_temp_file_size. 5382 *) Добавление: директива proxy_max_temp_file_size.
5391 5383
5392 5384
5393 Изменения в nginx 0.1.7 12.11.2004 5385 Изменения в nginx 0.1.7 12.11.2004
5394 5386
5395 *) Исправление: при использовании sendfile, если передаваемый файл 5387 *) Исправление: при использовании sendfile, если передаваемый файл
5396 менялся, то мог произойти segmentation fault на FreeBSD; ошибка 5388 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
5397 появилась в 0.1.5. 5389 появилась в 0.1.5.
5398 5390
5399 5391
5400 Изменения в nginx 0.1.6 11.11.2004 5392 Изменения в nginx 0.1.6 11.11.2004
5401 5393
5402 *) Исправление: при некоторых комбинациях директив location c 5394 *) Исправление: при некоторых комбинациях директив location c
5403 регулярными выражениями использовалась конфигурация не из того 5395 регулярными выражениями использовалась конфигурация не из того
5404 location. 5396 location.
5405 5397
5406 5398
5407 Изменения в nginx 0.1.5 11.11.2004 5399 Изменения в nginx 0.1.5 11.11.2004
5408 5400
5409 *) Исправление: на Solaris и Linux могло быть очень много сообщений 5401 *) Исправление: на Solaris и Linux могло быть очень много сообщений
5410 "recvmsg() returned not enough data". 5402 "recvmsg() returned not enough data".
5411 5403
5412 *) Исправление: в режиме прокси без использования sendfile на Solaris 5404 *) Исправление: в режиме прокси без использования sendfile на Solaris
5413 возникала ошибка "writev() failed (22: Invalid argument)". На других 5405 возникала ошибка "writev() failed (22: Invalid argument)". На других
5414 платформах, не поддерживающих sendfile, процесс зацикливался. 5406 платформах, не поддерживающих sendfile, процесс зацикливался.
5415 5407
5416 *) Исправление: при использовании sendfile в режиме прокси на Solaris 5408 *) Исправление: при использовании sendfile в режиме прокси на Solaris
5417 возникал segmentation fault. 5409 возникал segmentation fault.
5418 5410
5419 *) Исправление: segmentation fault на Solaris. 5411 *) Исправление: segmentation fault на Solaris.
5420 5412
5421 *) Исправление: обновление исполняемого файла на лету не работало на 5413 *) Исправление: обновление исполняемого файла на лету не работало на
5422 Linux. 5414 Linux.
5423 5415
5424 *) Исправление: в списке файлов, выдаваемом модулем 5416 *) Исправление: в списке файлов, выдаваемом модулем
5425 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и 5417 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
5426 знаки процента. 5418 знаки процента.
5427 5419
5428 *) Изменение: уменьшение операций копирования. 5420 *) Изменение: уменьшение операций копирования.
5429 5421
5430 *) Добавление: директива userid_p3p. 5422 *) Добавление: директива userid_p3p.
5439 5431
5440 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex. 5432 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
5441 5433
5442 *) Добавление: директива proxy_set_x_url. 5434 *) Добавление: директива proxy_set_x_url.
5443 5435
5444 *) Исправление: модуль проксировании мог привести к зацикливанию, если 5436 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5445 не использовался sendfile. 5437 не использовался sendfile.
5446 5438
5447 5439
5448 Изменения в nginx 0.1.2 21.10.2004 5440 Изменения в nginx 0.1.2 21.10.2004
5449 5441
5450 *) Добавление: параметры --user=USER, --group=GROUP и 5442 *) Добавление: параметры --user=USER, --group=GROUP и
5451 --with-ld-opt=OPTIONS в configure. 5443 --with-ld-opt=OPTIONS в configure.
5452 5444
5453 *) Добавление: директива server_name поддерживает *.domain.tld. 5445 *) Добавление: директива server_name поддерживает *.domain.tld.
5454 5446
5455 *) Исправление: улучшена переносимость на неизвестные платформы. 5447 *) Исправление: улучшена переносимость на неизвестные платформы.
5456 5448
5457 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный 5449 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
5458 файл указан в командной строке; ошибка появилась в 0.1.1. 5450 файл указан в командной строке; ошибка появилась в 0.1.1.
5459 5451
5460 *) Исправление: модуль проксировании мог привести к зацикливанию, если 5452 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5461 не использовался sendfile. 5453 не использовался sendfile.
5462 5454
5463 *) Исправление: при использовании sendfile текст ответа не 5455 *) Исправление: при использовании sendfile текст ответа не
5464 перекодировался согласно директивам модуля charset; ошибка появилась 5456 перекодировался согласно директивам модуля charset; ошибка появилась
5465 в 0.1.1. 5457 в 0.1.1.
5466 5458
5467 *) Исправление: очень редкая ошибка при обработке kqueue. 5459 *) Исправление: очень редкая ошибка при обработке kqueue.
5468 5460
5469 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при 5461 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
5470 проксировании. 5462 проксировании.
5471 5463
5472 5464
5473 Изменения в nginx 0.1.1 11.10.2004 5465 Изменения в nginx 0.1.1 11.10.2004
5474 5466
5475 *) Добавление: директива gzip_types. 5467 *) Добавление: директива gzip_types.
5476 5468
5477 *) Добавление: директива tcp_nodelay. 5469 *) Добавление: директива tcp_nodelay.
5478 5470
5479 *) Добавление: директива send_lowat работает не только на платформах, 5471 *) Добавление: директива send_lowat работает не только на платформах,
5480 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих 5472 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
5481 SO_SNDLOWAT. 5473 SO_SNDLOWAT.
5482 5474
5483 *) Добавление: эмуляция setproctitle() для Linux и Solaris. 5475 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
5484 5476
5485 *) Исправление: ошибка при переписывании заголовка "Location" при 5477 *) Исправление: ошибка при переписывании заголовка "Location" при
5486 проксировании. 5478 проксировании.
5487 5479
5488 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к 5480 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
5489 зацикливанию. 5481 зацикливанию.
5490 5482
5491 *) Исправление: ошибки в модуле /dev/poll. 5483 *) Исправление: ошибки в модуле /dev/poll.
5492 5484
5493 *) Исправление: при проксировании и использовании временных файлов 5485 *) Исправление: при проксировании и использовании временных файлов
5494 ответы портились. 5486 ответы портились.
5495 5487
5496 *) Исправление: бэкенду передавались запросы с неперекодированными 5488 *) Исправление: бэкенду передавались запросы с неперекодированными
5497 символами. 5489 символами.
5498 5490
5499 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было 5491 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
5500 обязательно использовать параметр --with-poll_module. 5492 обязательно использовать параметр --with-poll_module.
5501 5493
5502 5494
5503 Изменения в nginx 0.1.0 04.10.2004 5495 Изменения в nginx 0.1.0 04.10.2004
5504 5496