comparison text/ru/CHANGES.ru-1.0 @ 19:ed706d84e29c

nginx-1.0.6
author Igor Sysoev <igor@sysoev.ru>
date Mon, 29 Aug 2011 14:38:04 +0000
parents 74438c570949
children c1e6b2b4a758
comparison
equal deleted inserted replaced
18:74438c570949 19:ed706d84e29c
1
2 Изменения в nginx 1.0.6 29.07.2011
3
4 *) Добавление: уменьшение времени работы загрузчика кэша.
5
6 *) Добавление: уменьшение времени загрузки конфигураций с большим
7 количеством HTTPS серверов.
8
9 *) Добавление: теперь nginx поддерживает шифры с обменом ECDHE-ключами.
10 Спасибо Adrian Kotelba.
11
12 *) Добавление: директива lingering_close.
13
14 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
15 на Solaris.
16 Спасибо Денису Иванову.
17
18 *) Исправление: nginx не собирался на Linux 3.0.
19
20 *) Исправление: при использовании директив fastcgi/scgi/uwsgi_param со
21 значениями, начинающимися со строки "HTTP_", в рабочем процессе мог
22 произойти segmentation fault; ошибка появилась в 0.8.40.
23
24 *) Исправление: закрытия соединения для pipelined-запросов.
25
26 *) Исправление: nginx не запрещал сжатие при получении значения
27 "gzip;q=0" в строке "Accept-Encoding" в заголовке запроса клиента.
28
29 *) Исправление: таймаута при небуферизированном проксировании.
30
31 *) Исправление: утечки памяти при использовании переменных в директиве
32 proxy_pass при работе с бэкендом по HTTPS.
33
34 *) Исправление: в проверке параметра директивы proxy_pass, заданного
35 переменными.
36 Спасибо Lanshun Zhou.
37
38 *) Исправление: SSL не работал на QNX.
39
40 *) Исправление: SSL модули не собирались gcc 4.6 без параметра
41 --with-debug.
42
1 43
2 Изменения в nginx 1.0.5 19.07.2011 44 Изменения в nginx 1.0.5 19.07.2011
3 45
4 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 46 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
5 "HIGH:!aNULL:!MD5". 47 "HIGH:!aNULL:!MD5".
6 Спасибо Rob Stradling. 48 Спасибо Rob Stradling.
7 49
8 *) Добавление: директивы referer_hash_max_size и 50 *) Добавление: директивы referer_hash_max_size и
9 referer_hash_bucket_size. 51 referer_hash_bucket_size.
10 Спасибо Witold Filipczyk. 52 Спасибо Witold Filipczyk.
11 53
12 *) Добавление: переменная $uid_reset. 54 *) Добавление: переменная $uid_reset.
13 55
14 *) Исправление: при использовании кэширования в рабочем процессе мог 56 *) Исправление: при использовании кэширования в рабочем процессе мог
15 произойти segmentation fault. 57 произойти segmentation fault.
16 Спасибо Lanshun Zhou. 58 Спасибо Lanshun Zhou.
17 59
18 *) Исправление: при использовании кэширования рабочие процессы могли 60 *) Исправление: при использовании кэширования рабочие процессы могли
19 зациклиться во время переконфигурации; ошибка появилась в 0.8.48. 61 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
20 Спасибо Максиму Дунину. 62 Спасибо Максиму Дунину.
21 63
22 *) Исправление: сообщения "stalled cache updating". 64 *) Исправление: сообщения "stalled cache updating".
23 Спасибо Максиму Дунину. 65 Спасибо Максиму Дунину.
24 66
25 67
26 Изменения в nginx 1.0.4 01.06.2011 68 Изменения в nginx 1.0.4 01.06.2011
27 69
28 *) Изменение: теперь в регулярных выражениях в директиве map можно 70 *) Изменение: теперь в регулярных выражениях в директиве map можно
29 задать чувствительность к регистру с помощью префиксов "~" и "~*". 71 задать чувствительность к регистру с помощью префиксов "~" и "~*".
30 72
31 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX 73 *) Добавление: теперь разделяемые зоны и кэши используют семафоры POSIX
32 на Linux. 74 на Linux.
33 Спасибо Денису Латыпову. 75 Спасибо Денису Латыпову.
34 76
35 *) Исправление: сообщения "stalled cache updating". 77 *) Исправление: сообщения "stalled cache updating".
36 78
37 *) Исправление: nginx не собирался с параметром 79 *) Исправление: nginx не собирался с параметром
38 --without-http_auth_basic_module; ошибка появилась в 1.0.3. 80 --without-http_auth_basic_module; ошибка появилась в 1.0.3.
39 81
40 82
41 Изменения в nginx 1.0.3 25.05.2011 83 Изменения в nginx 1.0.3 25.05.2011
42 84
43 *) Добавление: директива auth_basic_user_file поддерживает шифрование 85 *) Добавление: директива auth_basic_user_file поддерживает шифрование
44 пароля методами "$apr1", "{PLAIN}" и "{SSHA}". 86 пароля методами "$apr1", "{PLAIN}" и "{SSHA}".
45 Спасибо Максиму Дунину. 87 Спасибо Максиму Дунину.
46 88
47 *) Добавление: директива geoip_org и переменная $geoip_org. 89 *) Добавление: директива geoip_org и переменная $geoip_org.
48 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 90 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову.
49 91
50 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module 92 *) Добавление: модули ngx_http_geo_module и ngx_http_geoip_module
51 поддерживают адреса IPv4, отображённые на IPv6 адреса. 93 поддерживают адреса IPv4, отображённые на IPv6 адреса.
52 94
53 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, 95 *) Исправление: при проверке адреса IPv4, отображённого на адрес IPv6, в
54 в рабочем процессе происходил segmentation fault, если директивы 96 рабочем процессе происходил segmentation fault, если директивы access
55 access или deny были определены только для адресов IPv6; ошибка 97 или deny были определены только для адресов IPv6; ошибка появилась в
56 появилась в 0.8.22. 98 0.8.22.
57 99
58 *) Исправление: закэшированный ответ мог быть испорчен, если значения 100 *) Исправление: закэшированный ответ мог быть испорчен, если значения
59 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ 101 директив proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/
60 uwsgi_no_cache были разными; ошибка появилась в 0.8.46. 102 uwsgi_no_cache были разными; ошибка появилась в 0.8.46.
61 103
62 104
63 Изменения в nginx 1.0.2 10.05.2011 105 Изменения в nginx 1.0.2 10.05.2011
64 106
70 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1. 112 *) Исправление: nginx не собирался на Solaris; ошибка появилась в 1.0.1.
71 113
72 114
73 Изменения в nginx 1.0.1 03.05.2011 115 Изменения в nginx 1.0.1 03.05.2011
74 116
75 *) Изменение: теперь директива split_clients использует алгоритм 117 *) Изменение: теперь директива split_clients использует алгоритм
76 MurmurHash2 из-за лучшего распределения. 118 MurmurHash2 из-за лучшего распределения.
77 Спасибо Олегу Мамонтову. 119 Спасибо Олегу Мамонтову.
78 120
79 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются 121 *) Изменение: теперь длинные строки, начинающиеся с нуля, не считаются
80 ложными значениями. 122 ложными значениями.
81 Спасибо Максиму Дунину. 123 Спасибо Максиму Дунину.
82 124
83 *) Изменение: теперь по умолчанию nginx использует значение 511 для 125 *) Изменение: теперь по умолчанию nginx использует значение 511 для
84 listen backlog на Linux. 126 listen backlog на Linux.
85 127
86 *) Добавление: переменные $upstream_... можно использовать в SSI и 128 *) Добавление: переменные $upstream_... можно использовать в SSI и
87 перловом модулях. 129 перловом модулях.
88 130
89 *) Исправление: теперь nginx лучше ограничивает размер кэша на 131 *) Исправление: теперь nginx лучше ограничивает размер кэша на диске.
90 диске.
91 Спасибо Олегу Мамонтову. 132 Спасибо Олегу Мамонтову.
92 133
93 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти 134 *) Исправление: при парсинге неправильного IPv4 адреса мог произойти
94 segmentation fault; ошибка появилась в 0.8.22. 135 segmentation fault; ошибка появилась в 0.8.22.
95 Спасибо Максиму Дунину. 136 Спасибо Максиму Дунину.
96 137
97 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug. 138 *) Исправление: nginx не собирался gcc 4.6 без параметра --with-debug.
98 139
99 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка 140 *) Исправление: nginx не собирался на Solaris 9 и более ранних; ошибка
100 появилась в 0.9.3. 141 появилась в 0.9.3.
101 Спасибо Dagobert Michelsen. 142 Спасибо Dagobert Michelsen.
102 143
103 *) Исправление: переменная $request_time имела неверные значения, если 144 *) Исправление: переменная $request_time имела неверные значения, если
104 использовались подзапросы; ошибка появилась в 0.8.47. 145 использовались подзапросы; ошибка появилась в 0.8.47.
105 Спасибо Игорю А. Валькову. 146 Спасибо Игорю А. Валькову.
106 147
107 148
108 Изменения в nginx 1.0.0 12.04.2011 149 Изменения в nginx 1.0.0 12.04.2011
109 150
110 *) Исправление: cache manager мог нагружать процессор после 151 *) Исправление: cache manager мог нагружать процессор после
111 переконфигурации. 152 переконфигурации.
112 Спасибо Максиму Дунину. 153 Спасибо Максиму Дунину.
113 154
114 *) Исправление: директива "image_filter crop" неправильно работала в 155 *) Исправление: директива "image_filter crop" неправильно работала в
115 сочетании с "image_filter rotate 180". 156 сочетании с "image_filter rotate 180".
116 157
117 *) Исправление: директива "satisfy any" запрещала выдачу 158 *) Исправление: директива "satisfy any" запрещала выдачу
118 пользовательской страницы для 401 кода. 159 пользовательской страницы для 401 кода.
119 160
120 161
121 Изменения в nginx 0.9.7 04.04.2011 162 Изменения в nginx 0.9.7 04.04.2011
122 163
123 *) Добавление: теперь соединения в состоянии keepalive могут быть 164 *) Добавление: теперь соединения в состоянии keepalive могут быть
124 закрыты преждевременно, если у воркера нет свободных соединений. 165 закрыты преждевременно, если у воркера нет свободных соединений.
125 Спасибо Максиму Дунину. 166 Спасибо Максиму Дунину.
126 167
127 *) Добавление: параметр rotate директивы image_filter. 168 *) Добавление: параметр rotate директивы image_filter.
128 Спасибо Adam Bocim. 169 Спасибо Adam Bocim.
129 170
130 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass, 171 *) Исправление: ситуации, когда бэкенд в директивах fastcgi_pass,
131 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный 172 scgi_pass или uwsgi_pass задан выражением и ссылается на описанный
132 upstream. 173 upstream.
133 174
134 175
135 Изменения в nginx 0.9.6 21.03.2011 176 Изменения в nginx 0.9.6 21.03.2011
136 177
137 *) Добавление: директива map поддерживает регулярные выражения в 178 *) Добавление: директива map поддерживает регулярные выражения в
138 качестве значения первого параметра. 179 качестве значения первого параметра.
139 180
140 *) Добавление: переменная $time_iso8601 для access_log. 181 *) Добавление: переменная $time_iso8601 для access_log.
141 Спасибо Michael Lustfield. 182 Спасибо Michael Lustfield.
142 183
143 184
144 Изменения в nginx 0.9.5 21.02.2011 185 Изменения в nginx 0.9.5 21.02.2011
145 186
146 *) Изменение: теперь по умолчанию nginx использует значение -1 для 187 *) Изменение: теперь по умолчанию nginx использует значение -1 для
147 listen backlog на Linux. 188 listen backlog на Linux.
148 Спасибо Андрею Нигматулину. 189 Спасибо Андрею Нигматулину.
149 190
150 *) Добавление: параметр utf8 в директивах geoip_country и 191 *) Добавление: параметр utf8 в директивах geoip_country и geoip_city.
151 geoip_city.
152 Спасибо Денису Латыпову. 192 Спасибо Денису Латыпову.
153 193
154 *) Исправление: исправление в умолчательной директиве proxy_redirect, 194 *) Исправление: исправление в умолчательной директиве proxy_redirect,
155 если в директиве proxy_pass не был описан URI. 195 если в директиве proxy_pass не был описан URI.
156 Спасибо Максиму Дунину. 196 Спасибо Максиму Дунину.
157 197
158 *) Исправление: директива error_page не работала с нестандартными 198 *) Исправление: директива error_page не работала с нестандартными кодами
159 кодами ошибок; ошибка появилась в 0.8.53. 199 ошибок; ошибка появилась в 0.8.53.
160 Спасибо Максиму Дунину. 200 Спасибо Максиму Дунину.
161 201
162 202
163 Изменения в nginx 0.9.4 21.01.2011 203 Изменения в nginx 0.9.4 21.01.2011
164 204
167 *) Добавление: 494 код для ошибки "Request Header Too Large". 207 *) Добавление: 494 код для ошибки "Request Header Too Large".
168 208
169 209
170 Изменения в nginx 0.9.3 13.12.2010 210 Изменения в nginx 0.9.3 13.12.2010
171 211
172 *) Исправление: если для пары IPv6-адрес:порт описан только один 212 *) Исправление: если для пары IPv6-адрес:порт описан только один сервер,
173 сервер, то выделения в регулярных выражениях в директиве server_name 213 то выделения в регулярных выражениях в директиве server_name не
174 не работали. 214 работали.
175 215
176 *) Исправление: nginx не собирался под Solaris; ошибка появилась в 216 *) Исправление: nginx не собирался под Solaris; ошибка появилась в
177 0.9.0. 217 0.9.0.
178 218
179 219
180 Изменения в nginx 0.9.2 06.12.2010 220 Изменения в nginx 0.9.2 06.12.2010
181 221
182 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке 222 *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
183 запросе клиента. 223 запросе клиента.
184 224
185 *) Изменение: использование accept(), если accept4() не реализован; 225 *) Изменение: использование accept(), если accept4() не реализован;
186 ошибка появилась в 0.9.0. 226 ошибка появилась в 0.9.0.
187 227
188 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0. 228 *) Исправление: nginx не собирался под Cygwin; ошибка появилась в 0.9.0.
189 229
190 *) Исправление: уязвимости в OpenSSL CVE-2010-4180. 230 *) Исправление: уязвимости в OpenSSL CVE-2010-4180.
191 Спасибо Максиму Дунину. 231 Спасибо Максиму Дунину.
192 232
193 233
194 Изменения в nginx 0.9.1 30.11.2010 234 Изменения в nginx 0.9.1 30.11.2010
195 235
196 *) Исправление: директивы вида "return CODE message" не работали; 236 *) Исправление: директивы вида "return CODE message" не работали; ошибка
197 ошибка появилась в 0.9.0. 237 появилась в 0.9.0.
198 238
199 239
200 Изменения в nginx 0.9.0 29.11.2010 240 Изменения в nginx 0.9.0 29.11.2010
201 241
202 *) Добавление: директива keepalive_disable. 242 *) Добавление: директива keepalive_disable.
203 243
204 *) Добавление: директива map поддерживает переменные в качестве 244 *) Добавление: директива map поддерживает переменные в качестве значения
205 значения определяемой переменной. 245 определяемой переменной.
206 246
207 *) Добавление: директива map поддерживает пустые строки в качестве 247 *) Добавление: директива map поддерживает пустые строки в качестве
208 значения первого параметра. 248 значения первого параметра.
209 249
210 *) Добавление: директива map поддерживает выражения в первом параметре. 250 *) Добавление: директива map поддерживает выражения в первом параметре.
211 251
212 *) Добавление: страница руководства nginx(8). 252 *) Добавление: страница руководства nginx(8).
213 Спасибо Сергею Осокину. 253 Спасибо Сергею Осокину.
214 254
215 *) Добавление: поддержка accept4() в Linux. 255 *) Добавление: поддержка accept4() в Linux.
216 Спасибо Simon Liu. 256 Спасибо Simon Liu.
217 257
218 *) Изменение: устранение предупреждения линкера о "sys_errlist" и 258 *) Изменение: устранение предупреждения линкера о "sys_errlist" и
219 "sys_nerr" под Linux; предупреждение появилось в 0.8.35. 259 "sys_nerr" под Linux; предупреждение появилось в 0.8.35.
220 260
221 *) Исправление: при использовании директивы auth_basic в рабочем 261 *) Исправление: при использовании директивы auth_basic в рабочем
222 процессе мог произойти segmentation fault. 262 процессе мог произойти segmentation fault.
223 Спасибо Михаилу Лалетину. 263 Спасибо Михаилу Лалетину.
224 264
225 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка 265 *) Исправление: совместимость с модулем ngx_http_eval_module; ошибка
226 появилась в 0.8.42. 266 появилась в 0.8.42.
227 267
228 268
229 Изменения в nginx 0.8.53 18.10.2010 269 Изменения в nginx 0.8.53 18.10.2010
230 270
231 *) Добавление: теперь директива error_page позволяет менять код статуса 271 *) Добавление: теперь директива error_page позволяет менять код статуса
232 у редиректа. 272 у редиректа.
233 273
234 *) Добавление: директива gzip_disable поддерживает специальную маску 274 *) Добавление: директива gzip_disable поддерживает специальную маску
235 degradation. 275 degradation.
236 276
237 *) Исправление: при использовании файлового AIO могла происходить 277 *) Исправление: при использовании файлового AIO могла происходить утечка
238 утечка сокетов. 278 сокетов.
239 Спасибо Максиму Дунину. 279 Спасибо Максиму Дунину.
240 280
241 *) Исправление: если в первом сервере не была описана директива listen 281 *) Исправление: если в первом сервере не была описана директива listen и
242 и нигде явно не описан сервер по умолчанию, то сервером по умолчанию 282 нигде явно не описан сервер по умолчанию, то сервером по умолчанию
243 становился следующий сервер с директивой listen; ошибка появилась в 283 становился следующий сервер с директивой listen; ошибка появилась в
244 0.8.21. 284 0.8.21.
245 285
246 286
247 Изменения в nginx 0.8.52 28.09.2010 287 Изменения в nginx 0.8.52 28.09.2010
248 288
249 *) Исправление: nginx использовал режим SSL для listen сокета, если для 289 *) Исправление: nginx использовал режим SSL для listen сокета, если для
250 него был установлен любой listen-параметр; ошибка появилась в 0.8.51. 290 него был установлен любой listen-параметр; ошибка появилась в 0.8.51.
251 291
252 292
253 Изменения в nginx 0.8.51 27.09.2010 293 Изменения в nginx 0.8.51 27.09.2010
254 294
255 *) Изменение: директива secure_link_expires упразднена. 295 *) Изменение: директива secure_link_expires упразднена.
256 296
257 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня 297 *) Изменение: уровень логгирования ошибок resolver'а понижен с уровня
258 alert на error. 298 alert на error.
259 299
260 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать 300 *) Добавление: теперь параметр "ssl" listen-сокета можно устанавливать
261 несколько раз. 301 несколько раз.
262 302
263 303
264 Изменения в nginx 0.8.50 02.09.2010 304 Изменения в nginx 0.8.50 02.09.2010
265 305
266 *) Добавление: директивы secure_link, secure_link_md5 и 306 *) Добавление: директивы secure_link, secure_link_md5 и
267 secure_link_expires модуля ngx_http_secure_link_module. 307 secure_link_expires модуля ngx_http_secure_link_module.
268 308
269 *) Добавление: ключ -q. 309 *) Добавление: ключ -q.
270 Спасибо Геннадию Махомеду. 310 Спасибо Геннадию Махомеду.
271 311
272 *) Исправление: при использовании кэширования рабочие процессы и могли 312 *) Исправление: при использовании кэширования рабочие процессы и могли
273 зациклиться во время переконфигурации; ошибка появилась в 0.8.48. 313 зациклиться во время переконфигурации; ошибка появилась в 0.8.48.
274 314
275 *) Исправление: в директиве gzip_disable. 315 *) Исправление: в директиве gzip_disable.
276 Спасибо Derrick Petzold. 316 Спасибо Derrick Petzold.
277 317
278 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit, 318 *) Исправление: nginx/Windows не мог посылать сигналы stop, quit,
279 reopen, reload процессу, запущенному в другой сессии. 319 reopen, reload процессу, запущенному в другой сессии.
280 320
281 321
282 Изменения в nginx 0.8.49 09.08.2010 322 Изменения в nginx 0.8.49 09.08.2010
283 323
284 *) Добавление: директива image_filter_jpeg_quality поддерживает 324 *) Добавление: директива image_filter_jpeg_quality поддерживает
285 переменные. 325 переменные.
286 326
287 *) Исправление: при использовании переменной $geoip_region_name в 327 *) Исправление: при использовании переменной $geoip_region_name в
288 рабочем процессе мог произойти segmentation fault; ошибка появилась 328 рабочем процессе мог произойти segmentation fault; ошибка появилась в
289 в 0.8.48. 329 0.8.48.
290 330
291 *) Исправление: ошибки, перехваченные error_page, кэшировались только 331 *) Исправление: ошибки, перехваченные error_page, кэшировались только до
292 до следующего запроса; ошибка появилась в 0.8.48. 332 следующего запроса; ошибка появилась в 0.8.48.
293 333
294 334
295 Изменения в nginx 0.8.48 03.08.2010 335 Изменения в nginx 0.8.48 03.08.2010
296 336
297 *) Изменение: теперь по умолчанию директива server_name имеет значение 337 *) Изменение: теперь по умолчанию директива server_name имеет значение
298 пустое имя "". 338 пустое имя "".
299 Спасибо Геннадию Махомеду. 339 Спасибо Геннадию Махомеду.
300 340
301 *) Изменение: теперь по умолчанию директива server_name_in_redirect 341 *) Изменение: теперь по умолчанию директива server_name_in_redirect
302 имеет значение off. 342 имеет значение off.
303 343
304 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и 344 *) Добавление: переменные $geoip_dma_code, $geoip_area_code и
305 $geoip_region_name. 345 $geoip_region_name.
306 Спасибо Christine McGonagle. 346 Спасибо Christine McGonagle.
307 347
308 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и 348 *) Исправление: директивы proxy_pass, fastcgi_pass, uwsgi_pass и
309 scgi_pass не наследовались в блоки limit_except. 349 scgi_pass не наследовались в блоки limit_except.
310 350
311 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses 351 *) Исправление: директивы proxy_cache_min_uses, fastcgi_cache_min_uses
312 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка 352 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; ошибка
313 появилась в 0.8.46. 353 появилась в 0.8.46.
314 354
315 *) Исправление: директива fastcgi_split_path_info неверно использовала 355 *) Исправление: директива fastcgi_split_path_info неверно использовала
316 выделения, если в выделения попадала только часть URI. 356 выделения, если в выделения попадала только часть URI.
317 Спасибо Юрию Тарадаю и Frank Enderle. 357 Спасибо Юрию Тарадаю и Frank Enderle.
318 358
319 *) Исправление: директива rewrite не экранировала символ ";" при 359 *) Исправление: директива rewrite не экранировала символ ";" при
320 копировании из URI в аргументы. 360 копировании из URI в аргументы.
321 Спасибо Daisuke Murase. 361 Спасибо Daisuke Murase.
322 362
323 *) Исправление: модуль ngx_http_image_filter_module закрывал 363 *) Исправление: модуль ngx_http_image_filter_module закрывал соединение,
324 соединение, если изображение было больше размера image_filter_buffer. 364 если изображение было больше размера image_filter_buffer.
325 365
326 366
327 Изменения в nginx 0.8.47 28.07.2010 367 Изменения в nginx 0.8.47 28.07.2010
328 368
329 *) Исправление: переменная $request_time имела неверные значения для 369 *) Исправление: переменная $request_time имела неверные значения для
330 подзапросов. 370 подзапросов.
331 371
332 *) Исправление: ошибки, перехваченные error_page, не кэшировались. 372 *) Исправление: ошибки, перехваченные error_page, не кэшировались.
333 373
334 *) Исправление: если использовался параметр max_size, то cache manager 374 *) Исправление: если использовался параметр max_size, то cache manager
335 мог зациклиться; ошибка появилась в 0.8.46. 375 мог зациклиться; ошибка появилась в 0.8.46.
336 376
337 377
338 Изменения в nginx 0.8.46 19.07.2010 378 Изменения в nginx 0.8.46 19.07.2010
339 379
340 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, 380 *) Изменение: директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
341 uwsgi_no_cache и scgi_no_cache теперь влияют только на сохранение 381 и scgi_no_cache теперь влияют только на сохранение закэшированного
342 закэшированного ответа. 382 ответа.
343 383
344 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass, 384 *) Добавление: директивы proxy_cache_bypass, fastcgi_cache_bypass,
345 uwsgi_cache_bypass и scgi_cache_bypass. 385 uwsgi_cache_bypass и scgi_cache_bypass.
346 386
347 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае 387 *) Исправление: nginx не освобождал память в keys_zone кэшей в случае
348 ошибки работы с бэкендом: память освобождалась только по истечении 388 ошибки работы с бэкендом: память освобождалась только по истечении
349 времени неактивности или при недостатке памяти. 389 времени неактивности или при недостатке памяти.
350 390
351 391
352 Изменения в nginx 0.8.45 13.07.2010 392 Изменения в nginx 0.8.45 13.07.2010
353 393
354 *) Добавление: улучшения в модуле ngx_http_xslt_filter. 394 *) Добавление: улучшения в модуле ngx_http_xslt_filter.
355 Спасибо Laurence Rowe. 395 Спасибо Laurence Rowe.
356 396
357 *) Исправление: ответ SSI модуля мог передаваться не полностью после 397 *) Исправление: ответ SSI модуля мог передаваться не полностью после
358 команды include с параметром wait="yes"; ошибка появилась в 0.7.25. 398 команды include с параметром wait="yes"; ошибка появилась в 0.7.25.
359 Спасибо Максиму Дунину. 399 Спасибо Максиму Дунину.
360 400
361 *) Исправление: директива listen не поддерживала параметр setfib=0. 401 *) Исправление: директива listen не поддерживала параметр setfib=0.
362 402
363 403
364 Изменения в nginx 0.8.44 05.07.2010 404 Изменения в nginx 0.8.44 05.07.2010
365 405
366 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в 406 *) Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в
367 заголовке которых есть строка "Set-Cookie". 407 заголовке которых есть строка "Set-Cookie".
368 408
369 *) Добавление: директива listen поддерживает параметр setfib. 409 *) Добавление: директива listen поддерживает параметр setfib.
370 Спасибо Андрею Филонову. 410 Спасибо Андрею Филонову.
371 411
372 *) Исправление: директива sub_filter могла изменять регистр букв при 412 *) Исправление: директива sub_filter могла изменять регистр букв при
373 частичном совпадении. 413 частичном совпадении.
374 414
375 *) Исправление: совместимость с HP/UX. 415 *) Исправление: совместимость с HP/UX.
376 416
377 *) Исправление: совместимость с компилятором AIX xlC_r. 417 *) Исправление: совместимость с компилятором AIX xlC_r.
378 418
379 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые 419 *) Исправление: nginx считал большие пакеты SSLv2 как обычные текстовые
380 запросы. 420 запросы.
381 Спасибо Miroslaw Jaworski. 421 Спасибо Miroslaw Jaworski.
382 422
383 423
384 Изменения в nginx 0.8.43 30.06.2010 424 Изменения в nginx 0.8.43 30.06.2010
385 425
386 *) Добавление: ускорение загрузки больших баз geo-диапазонов. 426 *) Добавление: ускорение загрузки больших баз geo-диапазонов.
387 427
388 *) Исправление: перенаправление ошибки в "location /zero {return 204;}" 428 *) Исправление: перенаправление ошибки в "location /zero {return 204;}"
389 без изменения кода ответа оставляло тело ошибки; ошибка появилась в 429 без изменения кода ответа оставляло тело ошибки; ошибка появилась в
390 0.8.42. 430 0.8.42.
391 431
392 *) Исправление: nginx мог закрывать IPv6 listen сокет во время 432 *) Исправление: nginx мог закрывать IPv6 listen сокет во время
393 переконфигурации. 433 переконфигурации.
394 Спасибо Максиму Дунину. 434 Спасибо Максиму Дунину.
395 435
396 *) Исправление: переменную $uid_set можно использовать на любой стадии 436 *) Исправление: переменную $uid_set можно использовать на любой стадии
397 обработки запроса. 437 обработки запроса.
398 438
399 439
400 Изменения в nginx 0.8.42 21.06.2010 440 Изменения в nginx 0.8.42 21.06.2010
401 441
402 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными 442 *) Изменение: теперь nginx проверяет location'ы, заданные регулярными
403 выражениями, если запрос полностью совпал с location'ом, заданным 443 выражениями, если запрос полностью совпал с location'ом, заданным
404 строкой префикса. Предыдущее поведение появилось в 0.7.1. 444 строкой префикса. Предыдущее поведение появилось в 0.7.1.
405 445
406 *) Добавление: модуль ngx_http_scgi_module. 446 *) Добавление: модуль ngx_http_scgi_module.
407 Спасибо Manlio Perillo. 447 Спасибо Manlio Perillo.
408 448
409 *) Добавление: в директиве return можно добавлять текст ответа. 449 *) Добавление: в директиве return можно добавлять текст ответа.
410 450
411 451
412 Изменения в nginx 0.8.41 15.06.2010 452 Изменения в nginx 0.8.41 15.06.2010
413 453
414 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно 454 *) Безопасность: рабочий процесс nginx/Windows мог завершаться аварийно
415 при запросе файла с неверной кодировкой UTF-8. 455 при запросе файла с неверной кодировкой UTF-8.
416 456
417 *) Изменение: теперь nginx разрешает использовать пробелы в строке 457 *) Изменение: теперь nginx разрешает использовать пробелы в строке
418 запроса. 458 запроса.
419 459
420 *) Исправление: директива proxy_redirect неправильно изменяла строку 460 *) Исправление: директива proxy_redirect неправильно изменяла строку
421 "Refresh" в заголовке ответа бэкенда. 461 "Refresh" в заголовке ответа бэкенда.
422 Спасибо Андрею Андрееву и Максиму Согину. 462 Спасибо Андрею Андрееву и Максиму Согину.
423 463
424 *) Исправление: nginx не поддерживал путь без имени хоста в строке 464 *) Исправление: nginx не поддерживал путь без имени хоста в строке
425 "Destination" в заголовке запроса. 465 "Destination" в заголовке запроса.
426 466
427 467
428 Изменения в nginx 0.8.40 07.06.2010 468 Изменения в nginx 0.8.40 07.06.2010
429 469
430 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по 470 *) Безопасность: теперь nginx/Windows игнорирует имя потока файла по
431 умолчанию. 471 умолчанию.
432 Спасибо Jose Antonio Vazquez Gonzalez. 472 Спасибо Jose Antonio Vazquez Gonzalez.
433 473
434 *) Добавление: модуль ngx_http_uwsgi_module. 474 *) Добавление: модуль ngx_http_uwsgi_module.
435 Спасибо Roberto De Ioris. 475 Спасибо Roberto De Ioris.
436 476
437 *) Добавление: директива fastcgi_param со значением, начинающимся со 477 *) Добавление: директива fastcgi_param со значением, начинающимся со
438 строки "HTTP_", изменяет строку заголовка в запросе клиента. 478 строки "HTTP_", изменяет строку заголовка в запросе клиента.
439 479
440 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в 480 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
441 заголовке запроса клиента передавались FastCGI-серверу при 481 заголовке запроса клиента передавались FastCGI-серверу при
442 кэшировании. 482 кэшировании.
443 483
444 *) Исправление: listen unix domain сокет нельзя было изменить во время 484 *) Исправление: listen unix domain сокет нельзя было изменить во время
445 переконфигурации. 485 переконфигурации.
446 Спасибо Максиму Дунину. 486 Спасибо Максиму Дунину.
447 487
448 488
449 Изменения в nginx 0.8.39 31.05.2010 489 Изменения в nginx 0.8.39 31.05.2010
450 490
451 *) Исправление: наследуемая директива alias неправильно работала во 491 *) Исправление: наследуемая директива alias неправильно работала во
452 вложенном location'е. 492 вложенном location'е.
453 493
454 *) Исправление: в комбинации директив alias с переменными и try_files; 494 *) Исправление: в комбинации директив alias с переменными и try_files;
455 495
456 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во 496 *) Исправление: listen unix domain и IPv6 сокеты не наследовались во
457 время обновления без перерыва. 497 время обновления без перерыва.
458 Спасибо Максиму Дунину. 498 Спасибо Максиму Дунину.
459 499
460 500
461 Изменения в nginx 0.8.38 24.05.2010 501 Изменения в nginx 0.8.38 24.05.2010
462 502
463 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache. 503 *) Добавление: директивы proxy_no_cache и fastcgi_no_cache.
464 504
465 *) Добавление: теперь при использовании переменной $scheme в директиве 505 *) Добавление: теперь при использовании переменной $scheme в директиве
466 rewrite автоматически делается редирект. 506 rewrite автоматически делается редирект.
467 Спасибо Piotr Sikora. 507 Спасибо Piotr Sikora.
468 508
469 *) Исправление: теперь задержки в директиве limit_req соответствует 509 *) Исправление: теперь задержки в директиве limit_req соответствует
470 описанному алгоритму. 510 описанному алгоритму.
471 Спасибо Максиму Дунину. 511 Спасибо Максиму Дунину.
472 512
473 *) Исправление: переменную $uid_got нельзя было использовать в SSI и 513 *) Исправление: переменную $uid_got нельзя было использовать в SSI и
474 перловом модулях. 514 перловом модулях.
475 515
476 516
477 Изменения в nginx 0.8.37 17.05.2010 517 Изменения в nginx 0.8.37 17.05.2010
478 518
479 *) Добавление: модуль ngx_http_split_clients_module. 519 *) Добавление: модуль ngx_http_split_clients_module.
480 520
481 *) Добавление: директива map поддерживает ключи больше 255 символов. 521 *) Добавление: директива map поддерживает ключи больше 255 символов.
482 522
483 *) Исправление: nginx игнорировал значения "private" и "no-store" в 523 *) Исправление: nginx игнорировал значения "private" и "no-store" в
484 строке "Cache-Control" в заголовке ответа бэкенда. 524 строке "Cache-Control" в заголовке ответа бэкенда.
485 525
486 *) Исправление: параметр stub в SSI-директиве include не использовался, 526 *) Исправление: параметр stub в SSI-директиве include не использовался,
487 если пустой ответ имел код 200. 527 если пустой ответ имел код 200.
488 528
489 *) Исправление: если проксированный или FastCGI запрос внутренне 529 *) Исправление: если проксированный или FastCGI запрос внутренне
490 перенаправлялся в другой проксированный или FastCGI location, то в 530 перенаправлялся в другой проксированный или FastCGI location, то в
491 рабочем процессе мог произойти segmentation fault; ошибка появилась 531 рабочем процессе мог произойти segmentation fault; ошибка появилась в
492 в 0.8.33. 532 0.8.33.
493 Спасибо Yichun Zhang. 533 Спасибо Yichun Zhang.
494 534
495 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до 535 *) Исправление: соединения IMAP к серверу Zimbra могло зависнуть до
496 таймаута. 536 таймаута.
497 Спасибо Alan Batie. 537 Спасибо Alan Batie.
498 538
499 539
500 Изменения в nginx 0.8.36 22.04.2010 540 Изменения в nginx 0.8.36 22.04.2010
501 541
502 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал 542 *) Исправление: модуль ngx_http_dav_module неправильно обрабатывал
503 методы DELETE, COPY и MOVE для симлинков. 543 методы DELETE, COPY и MOVE для симлинков.
504 544
505 *) Исправление: модуль SSI в подзапросах использовал закэшированные в 545 *) Исправление: модуль SSI в подзапросах использовал закэшированные в
506 основном запросе значения переменных $query_string, $arg_... и им 546 основном запросе значения переменных $query_string, $arg_... и им
507 подобных. 547 подобных.
508 548
509 *) Исправление: значение переменной повторно экранировалось после 549 *) Исправление: значение переменной повторно экранировалось после
510 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14. 550 каждого вывода SSI-команды echo; ошибка появилась в 0.6.14.
511 551
512 *) Исправление: рабочий процесс зависал при запросе файла FIFO. 552 *) Исправление: рабочий процесс зависал при запросе файла FIFO.
513 Спасибо Vicente Aguilar и Максиму Дунину. 553 Спасибо Vicente Aguilar и Максиму Дунину.
514 554
515 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux. 555 *) Исправление: совместимость с OpenSSL-1.0.0 на 64-битном Linux.
516 Спасибо Максиму Дунину. 556 Спасибо Максиму Дунину.
517 557
518 *) Исправление: nginx не собирался с параметром --without-http-cache; 558 *) Исправление: nginx не собирался с параметром --without-http-cache;
519 ошибка появилась в 0.8.35. 559 ошибка появилась в 0.8.35.
520 560
521 561
522 Изменения в nginx 0.8.35 01.04.2010 562 Изменения в nginx 0.8.35 01.04.2010
523 563
524 *) Изменение: теперь charset-фильтр работает до SSI-фильтра. 564 *) Изменение: теперь charset-фильтр работает до SSI-фильтра.
525 565
526 *) Добавление: директива chunked_transfer_encoding. 566 *) Добавление: директива chunked_transfer_encoding.
527 567
528 *) Исправление: символ "&" при копировании в аргументы в правилах 568 *) Исправление: символ "&" при копировании в аргументы в правилах
529 rewrite не экранировался. 569 rewrite не экранировался.
530 570
531 *) Исправление: nginx мог завершаться аварийно во время обработки 571 *) Исправление: nginx мог завершаться аварийно во время обработки
532 сигнала или при использовании директивы timer_resolution на 572 сигнала или при использовании директивы timer_resolution на
533 платформах, не поддерживающих методы kqueue или eventport. 573 платформах, не поддерживающих методы kqueue или eventport.
534 Спасибо George Xie и Максиму Дунину. 574 Спасибо George Xie и Максиму Дунину.
535 575
536 *) Исправление: если временные файлы и постоянное место хранения 576 *) Исправление: если временные файлы и постоянное место хранения
537 располагались на разных файловых системах, то у постоянных файлов 577 располагались на разных файловых системах, то у постоянных файлов
538 время изменения было неверным. 578 время изменения было неверным.
539 Спасибо Максиму Дунину. 579 Спасибо Максиму Дунину.
540 580
541 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку 581 *) Исправление: модуль ngx_http_memcached_module мог выдавать ошибку
542 "memcached sent invalid trailer". 582 "memcached sent invalid trailer".
543 Спасибо Максиму Дунину. 583 Спасибо Максиму Дунину.
544 584
545 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных 585 *) Исправление: nginx не мог собрать библиотеку zlib-1.2.4 из исходных
546 текстов. 586 текстов.
547 Спасибо Максиму Дунину. 587 Спасибо Максиму Дунину.
548 588
549 *) Исправление: в рабочем процессе происходил segmentation fault, если 589 *) Исправление: в рабочем процессе происходил segmentation fault, если
550 перед ответом FastCGI-сервера было много вывода в stderr; ошибка 590 перед ответом FastCGI-сервера было много вывода в stderr; ошибка
551 появилась в 0.8.34. 591 появилась в 0.8.34.
552 Спасибо Максиму Дунину. 592 Спасибо Максиму Дунину.
553 593
554 594
555 Изменения в nginx 0.8.34 03.03.2010 595 Изменения в nginx 0.8.34 03.03.2010
556 596
557 *) Исправление: nginx не поддерживал все шифры, используемые в 597 *) Исправление: nginx не поддерживал все шифры, используемые в
558 клиентских сертификатах. 598 клиентских сертификатах.
559 Спасибо Иннокентию Еникееву. 599 Спасибо Иннокентию Еникееву.
560 600
561 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед 601 *) Исправление: nginx неправильно кэшировал FastCGI-ответы, если перед
562 ответом было много вывода в stderr. 602 ответом было много вывода в stderr.
563 603
564 *) Исправление: nginx не поддерживал HTTPS-рефереры. 604 *) Исправление: nginx не поддерживал HTTPS-рефереры.
565 605
566 *) Исправление: nginx/Windows мог не находить файлы, если путь в 606 *) Исправление: nginx/Windows мог не находить файлы, если путь в
567 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33. 607 конфигурации был задан в другом регистре; ошибка появилась в 0.8.33.
568 608
569 *) Исправление: переменная $date_local выдавала неверное время, если 609 *) Исправление: переменная $date_local выдавала неверное время, если
570 использовался формат "%s". 610 использовался формат "%s".
571 Спасибо Максиму Дунину. 611 Спасибо Максиму Дунину.
572 612
573 *) Исправление: если ssl_session_cache не был установлен или установлен 613 *) Исправление: если ssl_session_cache не был установлен или установлен
574 в none, то при проверке клиентского сертификаты могла происходить 614 в none, то при проверке клиентского сертификаты могла происходить
575 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1. 615 ошибка "session id context uninitialized"; ошибка появилась в 0.7.1.
576 616
577 *) Исправление: geo-диапазон возвращал значение по умолчанию, если 617 *) Исправление: geo-диапазон возвращал значение по умолчанию, если
578 диапазон включал в себя одну и более сетей размером /16 и не 618 диапазон включал в себя одну и более сетей размером /16 и не
579 начинался на границе сети размером /16. 619 начинался на границе сети размером /16.
580 620
581 *) Исправление: блок, используемый в параметре stub в SSI-директиве 621 *) Исправление: блок, используемый в параметре stub в SSI-директиве
582 include, выводился с MIME-типом "text/plain". 622 include, выводился с MIME-типом "text/plain".
583 623
584 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11. 624 *) Исправление: $r->sleep() не работал; ошибка появилась в 0.8.11.
585 625
586 626
587 Изменения в nginx 0.8.33 01.02.2010 627 Изменения в nginx 0.8.33 01.02.2010
588 628
589 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI. 629 *) Безопасность: теперь nginx/Windows игнорирует пробелы в конце URI.
590 Спасибо Dan Crowley, Core Security Technologies. 630 Спасибо Dan Crowley, Core Security Technologies.
591 631
592 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов. 632 *) Безопасность: теперь nginx/Windows игнорирует короткие имена файлов.
593 Спасибо Dan Crowley, Core Security Technologies. 633 Спасибо Dan Crowley, Core Security Technologies.
594 634
595 *) Изменение: теперь keepalive соединения после запросов POST не 635 *) Изменение: теперь keepalive соединения после запросов POST не
596 запрещаются для MSIE 7.0+. 636 запрещаются для MSIE 7.0+.
597 Спасибо Adam Lounds. 637 Спасибо Adam Lounds.
598 638
599 *) Изменение: теперь keepalive соединения запрещены для Safari. 639 *) Изменение: теперь keepalive соединения запрещены для Safari.
600 Спасибо Joshua Sierles. 640 Спасибо Joshua Sierles.
601 641
602 *) Исправление: если проксированный или FastCGI запрос внутренне 642 *) Исправление: если проксированный или FastCGI запрос внутренне
603 перенаправлялся в другой проксированный или FastCGI location, то 643 перенаправлялся в другой проксированный или FastCGI location, то
604 переменная $upstream_response_time могла иметь ненормально большое 644 переменная $upstream_response_time могла иметь ненормально большое
605 значение; ошибка появилась в 0.8.7. 645 значение; ошибка появилась в 0.8.7.
606 646
607 *) Исправление: в рабочем процессе мог произойти segmentation fault при 647 *) Исправление: в рабочем процессе мог произойти segmentation fault при
608 отбрасывания тела запроса; ошибка появилась в 0.8.11. 648 отбрасывания тела запроса; ошибка появилась в 0.8.11.
609 649
610 650
611 Изменения в nginx 0.8.32 11.01.2010 651 Изменения в nginx 0.8.32 11.01.2010
612 652
613 *) Исправление: ошибки при использовании кодировки UTF-8 в 653 *) Исправление: ошибки при использовании кодировки UTF-8 в
614 ngx_http_autoindex_module. 654 ngx_http_autoindex_module.
615 Спасибо Максиму Дунину. 655 Спасибо Максиму Дунину.
616 656
617 *) Исправление: именованные выделения в регулярных выражениях работали 657 *) Исправление: именованные выделения в регулярных выражениях работали
618 только для двух переменных. 658 только для двух переменных.
619 Спасибо Максиму Дунину. 659 Спасибо Максиму Дунину.
620 660
621 *) Исправление: теперь в строке заголовка запроса "Host" используется 661 *) Исправление: теперь в строке заголовка запроса "Host" используется
622 имя "localhost", если в директиве auth_http указан unix domain 662 имя "localhost", если в директиве auth_http указан unix domain сокет.
623 сокет. 663 Спасибо Максиму Дунину.
624 Спасибо Максиму Дунину. 664
625 665 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
626 *) Исправление: nginx не поддерживал передачу chunk'ами для 201-ых
627 ответов. 666 ответов.
628 Спасибо Julian Reich. 667 Спасибо Julian Reich.
629 668
630 *) Исправление: если директива "expires modified" выставляла дату в 669 *) Исправление: если директива "expires modified" выставляла дату в
631 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось 670 прошлом, то в строке заголовка ответа "Cache-Control" выдавалось
632 отрицательное число. 671 отрицательное число.
633 Спасибо Алексею Капранову. 672 Спасибо Алексею Капранову.
634 673
635 674
636 Изменения в nginx 0.8.31 23.12.2009 675 Изменения в nginx 0.8.31 23.12.2009
637 676
638 *) Добавление: теперь директива error_page может перенаправлять ответы 677 *) Добавление: теперь директива error_page может перенаправлять ответы
639 со статусом 301 и 302. 678 со статусом 301 и 302.
640 679
641 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и 680 *) Добавление: переменные $geoip_city_continent_code, $geoip_latitude и
642 $geoip_longitude. 681 $geoip_longitude.
643 Спасибо Arvind Sundararajan. 682 Спасибо Arvind Sundararajan.
644 683
645 *) Добавление: модуль ngx_http_image_filter_module теперь всегда 684 *) Добавление: модуль ngx_http_image_filter_module теперь всегда удаляет
646 удаляет EXIF и другие данные, если они занимают больше 5% в 685 EXIF и другие данные, если они занимают больше 5% в JPEG-файле.
647 JPEG-файле. 686
648 687 *) Исправление: nginx закрывал соединение при запросе закэшированного
649 *) Исправление: nginx закрывал соединение при запросе закэшированного
650 ответа с пустым телом. 688 ответа с пустым телом.
651 Спасибо Piotr Sikora. 689 Спасибо Piotr Sikora.
652 690
653 *) Исправление: nginx мог не собираться gcc 4.x при использовании 691 *) Исправление: nginx мог не собираться gcc 4.x при использовании
654 оптимизации -O2 и выше. 692 оптимизации -O2 и выше.
655 Спасибо Максиму Дунину и Денису Латыпову. 693 Спасибо Максиму Дунину и Денису Латыпову.
656 694
657 *) Исправление: регулярные выражения в location всегда тестировались с 695 *) Исправление: регулярные выражения в location всегда тестировались с
658 учётом регистра; ошибка появилась в 0.8.25. 696 учётом регистра; ошибка появилась в 0.8.25.
659 697
660 *) Исправление: nginx кэшировал 304 ответ, если в заголовке 698 *) Исправление: nginx кэшировал 304 ответ, если в заголовке
661 проксируемого запроса была строка "If-None-Match". 699 проксируемого запроса была строка "If-None-Match".
662 Спасибо Tim Dettrick и David Kostal. 700 Спасибо Tim Dettrick и David Kostal.
663 701
664 *) Исправление: nginx/Windows пытался дважды удалить временный файл при 702 *) Исправление: nginx/Windows пытался дважды удалить временный файл при
665 перезаписи уже существующего файла. 703 перезаписи уже существующего файла.
666 704
667 705
668 Изменения в nginx 0.8.30 15.12.2009 706 Изменения в nginx 0.8.30 15.12.2009
669 707
670 *) Изменение: теперь по умолчанию размер буфера директивы 708 *) Изменение: теперь по умолчанию размер буфера директивы
671 large_client_header_buffers равен 8K. 709 large_client_header_buffers равен 8K.
672 Спасибо Andrew Cholakian. 710 Спасибо Andrew Cholakian.
673 711
674 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI. 712 *) Добавление: файл conf/fastcgi.conf для простых конфигураций FastCGI.
675 713
676 *) Исправление: nginx/Windows пытался дважды переименовать временный 714 *) Исправление: nginx/Windows пытался дважды переименовать временный
677 файл при перезаписи уже существующего файла. 715 файл при перезаписи уже существующего файла.
678 716
679 *) Исправление: ошибки double free or corruption, возникающей, если имя 717 *) Исправление: ошибки double free or corruption, возникающей, если имя
680 хоста не было найдено; ошибка появилась в 0.8.22. 718 хоста не было найдено; ошибка появилась в 0.8.22.
681 Спасибо Константину Свисту. 719 Спасибо Константину Свисту.
682 720
683 *) Исправление: в использовании libatomic на некоторых платформах. 721 *) Исправление: в использовании libatomic на некоторых платформах.
684 Спасибо W-Mark Kubacki. 722 Спасибо W-Mark Kubacki.
685 723
686 724
687 Изменения в nginx 0.8.29 30.11.2009 725 Изменения в nginx 0.8.29 30.11.2009
688 726
689 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется 727 *) Изменение: теперь для проксируемых ответов HTTP/0.9 в лог пишется код
690 код ответа "009". 728 ответа "009".
691 729
692 *) Добавление: директивы addition_types, charset_types, gzip_types, 730 *) Добавление: директивы addition_types, charset_types, gzip_types,
693 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*". 731 ssi_types, sub_filter_types и xslt_types поддерживают параметр "*".
694 732
695 *) Добавление: использование встроенных атомарных операций GCC 4.1+. 733 *) Добавление: использование встроенных атомарных операций GCC 4.1+.
696 Спасибо W-Mark Kubacki. 734 Спасибо W-Mark Kubacki.
697 735
698 *) Добавление: параметр --with-libatomic[=DIR] в configure. 736 *) Добавление: параметр --with-libatomic[=DIR] в configure.
699 Спасибо W-Mark Kubacki. 737 Спасибо W-Mark Kubacki.
700 738
701 *) Исправление: listen unix domain сокет имели ограниченные права 739 *) Исправление: listen unix domain сокет имели ограниченные права
702 доступа. 740 доступа.
703 741
704 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно 742 *) Исправление: закэшированные ответы ответов HTTP/0.9 неправильно
705 обрабатывались. 743 обрабатывались.
706 744
707 *) Исправление: именованные выделения в регулярных выражениях, заданные 745 *) Исправление: именованные выделения в регулярных выражениях, заданные
708 как "?P<...>", не работали в директиве server_name. 746 как "?P<...>", не работали в директиве server_name.
709 Спасибо Максиму Дунину. 747 Спасибо Максиму Дунину.
710 748
711 749
712 Изменения в nginx 0.8.28 23.11.2009 750 Изменения в nginx 0.8.28 23.11.2009
713 751
714 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 752 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
715 появилась в 0.8.25. 753 появилась в 0.8.25.
716 754
717 755
718 Изменения в nginx 0.8.27 17.11.2009 756 Изменения в nginx 0.8.27 17.11.2009
719 757
720 *) Исправление: регулярные выражения не работали в nginx/Windows; 758 *) Исправление: регулярные выражения не работали в nginx/Windows; ошибка
759 появилась в 0.8.25.
760
761
762 Изменения в nginx 0.8.26 16.11.2009
763
764 *) Исправление: ошибки при использовании выделений в директиве rewrite;
721 ошибка появилась в 0.8.25. 765 ошибка появилась в 0.8.25.
722 766
723 767 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
724 Изменения в nginx 0.8.26 16.11.2009
725
726 *) Исправление: ошибки при использовании выделений в директиве rewrite;
727 ошибка появилась в 0.8.25.
728
729 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
730 появилась в 0.8.25. 768 появилась в 0.8.25.
731 769
732 770
733 Изменения в nginx 0.8.25 16.11.2009 771 Изменения в nginx 0.8.25 16.11.2009
734 772
735 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная 773 *) Изменение: теперь в лог ошибок не пишется сообщение, если переменная
736 не найдена с помощью метода $r->variable(). 774 не найдена с помощью метода $r->variable().
737 775
738 *) Добавление: модуль ngx_http_degradation_module. 776 *) Добавление: модуль ngx_http_degradation_module.
739 777
740 *) Добавление: именованные выделения в регулярных выражениях. 778 *) Добавление: именованные выделения в регулярных выражениях.
741 779
742 *) Добавление: теперь при использовании переменных в директиве 780 *) Добавление: теперь при использовании переменных в директиве
743 proxy_pass не требуется задавать URI. 781 proxy_pass не требуется задавать URI.
744 782
745 *) Добавление: теперь директива msie_padding работает и для Chrome. 783 *) Добавление: теперь директива msie_padding работает и для Chrome.
746 784
747 *) Исправление: в рабочем процессе происходил segmentation fault при 785 *) Исправление: в рабочем процессе происходил segmentation fault при
748 недостатке памяти; ошибка появилась в 0.8.18. 786 недостатке памяти; ошибка появилась в 0.8.18.
749 787
750 *) Исправление: nginx передавал сжатые ответы клиентам, не 788 *) Исправление: nginx передавал сжатые ответы клиентам, не
751 поддерживающим сжатие, при настройках gzip_static on и gzip_vary 789 поддерживающим сжатие, при настройках gzip_static on и gzip_vary off;
752 off; ошибка появилась в 0.8.16. 790 ошибка появилась в 0.8.16.
753 791
754 792
755 Изменения в nginx 0.8.24 11.11.2009 793 Изменения в nginx 0.8.24 11.11.2009
756 794
757 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в 795 *) Исправление: nginx всегда добавлял строку "Content-Encoding: gzip" в
758 заголовок 304-ых ответов модуля ngx_http_gzip_static_module. 796 заголовок 304-ых ответов модуля ngx_http_gzip_static_module.
759 797
760 *) Исправление: nginx не собирался без параметра --with-debug; ошибка 798 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
761 появилась в 0.8.23. 799 появилась в 0.8.23.
762 800
763 *) Исправление: параметр "unix:" в директиве set_real_ip_from 801 *) Исправление: параметр "unix:" в директиве set_real_ip_from
764 неправильно наследовался с предыдущего уровня. 802 неправильно наследовался с предыдущего уровня.
765 803
766 *) Исправление: в resolver'е при определении пустого имени. 804 *) Исправление: в resolver'е при определении пустого имени.
767 805
768 806
769 Изменения в nginx 0.8.23 11.11.2009 807 Изменения в nginx 0.8.23 11.11.2009
770 808
771 *) Безопасность: теперь SSL/TLS renegotiation запрещён. 809 *) Безопасность: теперь SSL/TLS renegotiation запрещён.
772 Спасибо Максиму Дунину. 810 Спасибо Максиму Дунину.
773 811
774 *) Исправление: listen unix domain сокет не наследовался во время 812 *) Исправление: listen unix domain сокет не наследовался во время
775 обновления без перерыва. 813 обновления без перерыва.
776 814
777 *) Исправление: параметр "unix:" в директиве set_real_ip_from не 815 *) Исправление: параметр "unix:" в директиве set_real_ip_from не работал
778 работал без ещё одной директивы с любым IP-адресом. 816 без ещё одной директивы с любым IP-адресом.
779 817
780 *) Исправление: segmentation fault и зацикливания в resolver'е. 818 *) Исправление: segmentation fault и зацикливания в resolver'е.
781 819
782 *) Исправление: в resolver'е. 820 *) Исправление: в resolver'е.
783 Спасибо Артёму Бохану. 821 Спасибо Артёму Бохану.
787 825
788 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind. 826 *) Добавление: директивы proxy_bind, fastcgi_bind и memcached_bind.
789 827
790 *) Добавление: директивы access и deny поддерживают IPv6. 828 *) Добавление: директивы access и deny поддерживают IPv6.
791 829
792 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в 830 *) Добавление: директива set_real_ip_from поддерживает IPv6 адреса в
793 заголовках запроса. 831 заголовках запроса.
794 832
795 *) Добавление: параметр "unix:" в директиве set_real_ip_from. 833 *) Добавление: параметр "unix:" в директиве set_real_ip_from.
796 834
797 *) Исправление: nginx не удалял unix domain сокет после тестирования 835 *) Исправление: nginx не удалял unix domain сокет после тестирования
798 конфигурации. 836 конфигурации.
799 837
800 *) Исправление: nginx удалял unix domain сокет во время обновления без 838 *) Исправление: nginx удалял unix domain сокет во время обновления без
801 перерыва. 839 перерыва.
802 840
803 *) Исправление: оператор "!-x" не работал. 841 *) Исправление: оператор "!-x" не работал.
804 Спасибо Максиму Дунину. 842 Спасибо Максиму Дунину.
805 843
806 *) Исправление: в рабочем процессе мог произойти segmentation fault при 844 *) Исправление: в рабочем процессе мог произойти segmentation fault при
807 использовании limit_rate в HTTPS сервере. 845 использовании limit_rate в HTTPS сервере.
808 Спасибо Максиму Дунину. 846 Спасибо Максиму Дунину.
809 847
810 *) Исправление: при записи в лог переменной $limit_rate в рабочем 848 *) Исправление: при записи в лог переменной $limit_rate в рабочем
811 процессе происходил segmentation fault. 849 процессе происходил segmentation fault.
812 Спасибо Максиму Дунину. 850 Спасибо Максиму Дунину.
813 851
814 *) Исправление: в рабочем процессе мог произойти segmentation fault, 852 *) Исправление: в рабочем процессе мог произойти segmentation fault,
815 если внутри блока server не было директивы listen; ошибка появилась 853 если внутри блока server не было директивы listen; ошибка появилась в
816 в 0.8.21. 854 0.8.21.
817 855
818 856
819 Изменения в nginx 0.8.21 26.10.2009 857 Изменения в nginx 0.8.21 26.10.2009
820 858
821 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI. 859 *) Добавление: теперь ключ -V показывает статус поддержки TLS SNI.
822 860
823 *) Добавление: директива listen модуля HTTP поддерживает unix domain 861 *) Добавление: директива listen модуля HTTP поддерживает unix domain
824 сокеты. 862 сокеты.
825 Спасибо Hongli Lai. 863 Спасибо Hongli Lai.
826 864
827 *) Добавление: параметр "default_server" в директиве listen. 865 *) Добавление: параметр "default_server" в директиве listen.
828 866
829 *) Добавление: теперь параметр "default" не обязателен для установки 867 *) Добавление: теперь параметр "default" не обязателен для установки
830 параметров listen-сокета. 868 параметров listen-сокета.
831 869
832 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных 870 *) Исправление: nginx не поддерживал даты в 2038 году на 32-битных
833 платформах; 871 платформах;
834 872
835 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. 873 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
836 874
837 875
838 Изменения в nginx 0.8.20 14.10.2009 876 Изменения в nginx 0.8.20 14.10.2009
839 877
840 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 878 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
841 "HIGH:!ADH:!MD5". 879 "HIGH:!ADH:!MD5".
842 880
843 *) Исправление: модуль ngx_http_autoindex_module не показывал последний 881 *) Исправление: модуль ngx_http_autoindex_module не показывал последний
844 слэш для линков на каталоги; ошибка появилась в 0.7.15. 882 слэш для линков на каталоги; ошибка появилась в 0.7.15.
845 883
846 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации 884 *) Исправление: nginx не закрывал лог, заданный параметром конфигурации
847 --error-log-path; ошибка появилась в 0.7.53. 885 --error-log-path; ошибка появилась в 0.7.53.
848 886
849 *) Исправление: nginx не считал запятую разделителем в строке 887 *) Исправление: nginx не считал запятую разделителем в строке
850 "Cache-Control" в заголовке ответа бэкенда. 888 "Cache-Control" в заголовке ответа бэкенда.
851 889
852 *) Исправление: nginx/Windows мог не создать временный файл, файл в 890 *) Исправление: nginx/Windows мог не создать временный файл, файл в кэше
853 кэше или файл с помощью директив proxy/fastcgi_store, если рабочий 891 или файл с помощью директив proxy/fastcgi_store, если рабочий процесс
854 процесс не имел достаточно прав для работы с каталогами верхнего 892 не имел достаточно прав для работы с каталогами верхнего уровня.
855 уровня. 893
856 894 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа
857 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа 895 FastCGI-сервера не скрывались при кэшировании, если не использовались
858 FastCGI-сервера не скрывались при кэшировании, если не 896 директивы fastcgi_hide_header с любыми параметрами.
859 использовались директивы fastcgi_hide_header с любыми параметрами.
860 897
861 *) Исправление: nginx неверно считал размер кэша на диске. 898 *) Исправление: nginx неверно считал размер кэша на диске.
862 899
863 900
864 Изменения в nginx 0.8.19 06.10.2009 901 Изменения в nginx 0.8.19 06.10.2009
865 902
866 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён. 903 *) Изменение: теперь протокол SSLv2 по умолчанию запрещён.
867 904
868 *) Изменение: теперь по умолчанию используются следующие шифры SSL: 905 *) Изменение: теперь по умолчанию используются следующие шифры SSL:
869 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 906 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
870 907
871 *) Исправление: директива limit_req не работала; ошибка появилась в 908 *) Исправление: директива limit_req не работала; ошибка появилась в
872 0.8.18. 909 0.8.18.
873 910
874 911
875 Изменения в nginx 0.8.18 06.10.2009 912 Изменения в nginx 0.8.18 06.10.2009
876 913
877 *) Добавление: директива read_ahead. 914 *) Добавление: директива read_ahead.
878 915
879 *) Добавление: теперь можно использовать несколько директив 916 *) Добавление: теперь можно использовать несколько директив
880 perl_modules. 917 perl_modules.
881 918
882 *) Добавление: директивы limit_req_log_level и limit_conn_log_level. 919 *) Добавление: директивы limit_req_log_level и limit_conn_log_level.
883 920
884 *) Исправление: теперь директива limit_req соответствует алгоритму 921 *) Исправление: теперь директива limit_req соответствует алгоритму leaky
885 leaky bucket. 922 bucket.
886 Спасибо Максиму Дунину. 923 Спасибо Максиму Дунину.
887 924
888 *) Исправление: nginx не работал на Linux/sparc. 925 *) Исправление: nginx не работал на Linux/sparc.
889 Спасибо Marcus Ramberg. 926 Спасибо Marcus Ramberg.
890 927
891 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке 928 *) Исправление: nginx слал символ '\0' в строке "Location" в заголовке в
892 в ответе на запрос MKCOL. 929 ответе на запрос MKCOL.
893 Спасибо Xie Zhenye. 930 Спасибо Xie Zhenye.
894 931
895 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка 932 *) Исправление: вместо кода ответа 499 в лог записывался код 0; ошибка
896 появилась в 0.8.11. 933 появилась в 0.8.11.
897 934
898 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11. 935 *) Исправление: утечки сокетов; ошибка появилась в 0.8.11.
899 936
900 937
901 Изменения в nginx 0.8.17 28.09.2009 938 Изменения в nginx 0.8.17 28.09.2009
902 939
903 *) Безопасность: теперь символы "/../" запрещены в строке "Destination" 940 *) Безопасность: теперь символы "/../" запрещены в строке "Destination"
904 в заголовке запроса. 941 в заголовке запроса.
905 942
906 *) Изменение: теперь значение переменной $host всегда в нижнем регистре. 943 *) Изменение: теперь значение переменной $host всегда в нижнем регистре.
907 944
908 *) Добавление: переменная $ssl_session_id. 945 *) Добавление: переменная $ssl_session_id.
912 949
913 Изменения в nginx 0.8.16 22.09.2009 950 Изменения в nginx 0.8.16 22.09.2009
914 951
915 *) Добавление: директива image_filter_transparency. 952 *) Добавление: директива image_filter_transparency.
916 953
917 *) Исправление: директива "addition_types" была неверно названа 954 *) Исправление: директива "addition_types" была неверно названа
918 "addtion_types". 955 "addtion_types".
919 956
920 *) Исправление: порчи кэша resolver'а. 957 *) Исправление: порчи кэша resolver'а.
921 Спасибо Matthew Dempsky. 958 Спасибо Matthew Dempsky.
922 959
923 *) Исправление: утечки памяти в resolver'е. 960 *) Исправление: утечки памяти в resolver'е.
924 Спасибо Matthew Dempsky. 961 Спасибо Matthew Dempsky.
925 962
926 *) Исправление: неверная строка запроса в переменной $request 963 *) Исправление: неверная строка запроса в переменной $request
927 записывалась в access_log только при использовании error_log на 964 записывалась в access_log только при использовании error_log на
928 уровне info или debug. 965 уровне info или debug.
929 966
930 *) Исправление: в поддержке альфа-канала PNG в модуле 967 *) Исправление: в поддержке альфа-канала PNG в модуле
931 ngx_http_image_filter_module. 968 ngx_http_image_filter_module.
932 969
933 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в 970 *) Исправление: nginx всегда добавлял строку "Vary: Accept-Encoding" в
934 заголовок ответа, если обе директивы gzip_static и gzip_vary были 971 заголовок ответа, если обе директивы gzip_static и gzip_vary были
935 включены. 972 включены.
936 973
937 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в 974 *) Исправление: в поддержке кодировки UTF-8 директивой try_files в
938 nginx/Windows. 975 nginx/Windows.
939 976
940 *) Исправление: ошибки при использовании post_action; ошибка появилась 977 *) Исправление: ошибки при использовании post_action; ошибка появилась в
941 в 0.8.11. 978 0.8.11.
942 Спасибо Игорю Артемьеву. 979 Спасибо Игорю Артемьеву.
943 980
944 981
945 Изменения в nginx 0.8.15 14.09.2009 982 Изменения в nginx 0.8.15 14.09.2009
946 983
947 *) Безопасность: при обработке специально созданного запроса в рабочем 984 *) Безопасность: при обработке специально созданного запроса в рабочем
948 процессе мог произойти segmentation fault. 985 процессе мог произойти segmentation fault.
949 Спасибо Chris Ries. 986 Спасибо Chris Ries.
950 987
951 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и 988 *) Исправление: если были описаны имена .domain.tld, .sub.domain.tld и
952 .domain-some.tld, то имя .sub.domain.tld попадало под маску 989 .domain-some.tld, то имя .sub.domain.tld попадало под маску
953 .domain.tld. 990 .domain.tld.
954 991
955 *) Исправление: в поддержке прозрачности в модуле 992 *) Исправление: в поддержке прозрачности в модуле
956 ngx_http_image_filter_module. 993 ngx_http_image_filter_module.
957 994
958 *) Исправление: в файловом AIO. 995 *) Исправление: в файловом AIO.
959 996
960 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка 997 *) Исправление: ошибки при использовании X-Accel-Redirect; ошибка
961 появилась в 0.8.11. 998 появилась в 0.8.11.
962 999
963 *) Исправление: ошибки при использовании встроенного перла; ошибка 1000 *) Исправление: ошибки при использовании встроенного перла; ошибка
964 появилась в 0.8.11. 1001 появилась в 0.8.11.
965 1002
966 1003
967 Изменения в nginx 0.8.14 07.09.2009 1004 Изменения в nginx 0.8.14 07.09.2009
968 1005
969 *) Исправление: устаревший закэшированный запрос мог залипнуть в 1006 *) Исправление: устаревший закэшированный запрос мог залипнуть в
970 состоянии "UPDATING". 1007 состоянии "UPDATING".
971 1008
972 *) Исправление: при использовании error_log на уровне info или debug в 1009 *) Исправление: при использовании error_log на уровне info или debug в
973 рабочем процессе мог произойти segmentation fault. 1010 рабочем процессе мог произойти segmentation fault.
974 Спасибо Сергею Боченкову. 1011 Спасибо Сергею Боченкову.
975 1012
976 *) Исправление: ошибки при использовании встроенного перла; ошибка 1013 *) Исправление: ошибки при использовании встроенного перла; ошибка
977 появилась в 0.8.11. 1014 появилась в 0.8.11.
978 1015
979 *) Исправление: директива error_page не перенаправляла ошибку 413; 1016 *) Исправление: директива error_page не перенаправляла ошибку 413;
980 ошибка появилась в 0.6.10. 1017 ошибка появилась в 0.6.10.
981 1018
982 1019
983 Изменения в nginx 0.8.13 31.08.2009 1020 Изменения в nginx 0.8.13 31.08.2009
984 1021
985 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12. 1022 *) Исправление: в директиве "aio sendfile"; ошибка появилась в 0.8.12.
986 1023
987 *) Исправление: nginx не собирался без параметра --with-file-aio на 1024 *) Исправление: nginx не собирался без параметра --with-file-aio на
988 FreeBSD; ошибка появилась в 0.8.12. 1025 FreeBSD; ошибка появилась в 0.8.12.
989 1026
990 1027
991 Изменения в nginx 0.8.12 31.08.2009 1028 Изменения в nginx 0.8.12 31.08.2009
992 1029
993 *) Добавление: параметр sendfile в директиве aio во FreeBSD. 1030 *) Добавление: параметр sendfile в директиве aio во FreeBSD.
994 1031
995 *) Исправление: ошибки при использовании try_files; ошибка появилась в 1032 *) Исправление: ошибки при использовании try_files; ошибка появилась в
996 0.8.11. 1033 0.8.11.
997 1034
998 *) Исправление: ошибки при использовании memcached; ошибка появилась в 1035 *) Исправление: ошибки при использовании memcached; ошибка появилась в
999 0.8.11. 1036 0.8.11.
1000 1037
1001 1038
1002 Изменения в nginx 0.8.11 28.08.2009 1039 Изменения в nginx 0.8.11 28.08.2009
1003 1040
1004 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие 1041 *) Изменение: теперь директива "gzip_disable msie6" не запрещает сжатие
1005 для MSIE 6.0 SV1. 1042 для MSIE 6.0 SV1.
1006 1043
1007 *) Добавление: поддержка файлового AIO во FreeBSD и Linux. 1044 *) Добавление: поддержка файлового AIO во FreeBSD и Linux.
1008 1045
1009 *) Добавление: директива directio_alignment. 1046 *) Добавление: директива directio_alignment.
1011 1048
1012 Изменения в nginx 0.8.10 24.08.2009 1049 Изменения в nginx 0.8.10 24.08.2009
1013 1050
1014 *) Исправление: утечек памяти при использовании базы GeoIP City. 1051 *) Исправление: утечек памяти при использовании базы GeoIP City.
1015 1052
1016 *) Исправление: ошибки при копировании временных файлов в постоянное 1053 *) Исправление: ошибки при копировании временных файлов в постоянное
1017 место хранения; ошибка появилась в 0.8.9. 1054 место хранения; ошибка появилась в 0.8.9.
1018 1055
1019 1056
1020 Изменения в nginx 0.8.9 17.08.2009 1057 Изменения в nginx 0.8.9 17.08.2009
1021 1058
1022 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном 1059 *) Добавление: теперь стартовый загрузчик кэша работает в отдельном
1023 процесс; это должно улучшить обработку больших кэшей. 1060 процесс; это должно улучшить обработку больших кэшей.
1024 1061
1025 *) Добавление: теперь временные файлы и постоянное место хранения могут 1062 *) Добавление: теперь временные файлы и постоянное место хранения могут
1026 располагаться на разных файловых системах. 1063 располагаться на разных файловых системах.
1027 1064
1028 1065
1029 Изменения в nginx 0.8.8 10.08.2009 1066 Изменения в nginx 0.8.8 10.08.2009
1030 1067
1031 *) Исправление: в обработке заголовков ответа, разделённых в 1068 *) Исправление: в обработке заголовков ответа, разделённых в
1032 FastCGI-записях. 1069 FastCGI-записях.
1033 1070
1034 *) Исправление: если запрос обрабатывался в двух проксированных или 1071 *) Исправление: если запрос обрабатывался в двух проксированных или
1035 FastCGI location'ах и в первом из них использовалось кэширование, то 1072 FastCGI location'ах и в первом из них использовалось кэширование, то
1036 в рабочем процессе происходил segmentation fault; ошибка появилась в 1073 в рабочем процессе происходил segmentation fault; ошибка появилась в
1037 0.8.7. 1074 0.8.7.
1038 1075
1039 1076
1040 Изменения в nginx 0.8.7 27.07.2009 1077 Изменения в nginx 0.8.7 27.07.2009
1041 1078
1042 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7. 1079 *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.7.
1043 1080
1044 *) Изменение: параметр ask директивы ssl_verify_client изменён на 1081 *) Изменение: параметр ask директивы ssl_verify_client изменён на
1045 параметр optional и теперь он проверяет клиентский сертификат, если 1082 параметр optional и теперь он проверяет клиентский сертификат, если
1046 он был предложен. 1083 он был предложен.
1047 Спасибо Brice Figureau. 1084 Спасибо Brice Figureau.
1048 1085
1049 *) Добавление: переменная $ssl_client_verify. 1086 *) Добавление: переменная $ssl_client_verify.
1050 Спасибо Brice Figureau. 1087 Спасибо Brice Figureau.
1052 *) Добавление: директива ssl_crl. 1089 *) Добавление: директива ssl_crl.
1053 Спасибо Brice Figureau. 1090 Спасибо Brice Figureau.
1054 1091
1055 *) Добавление: параметр proxy директивы geo. 1092 *) Добавление: параметр proxy директивы geo.
1056 1093
1057 *) Добавление: директива image_filter поддерживает переменные для 1094 *) Добавление: директива image_filter поддерживает переменные для
1058 задания размеров. 1095 задания размеров.
1059 1096
1060 *) Исправление: использование переменной $ssl_client_cert портило 1097 *) Исправление: использование переменной $ssl_client_cert портило
1061 память; ошибка появилась в 0.7.7. 1098 память; ошибка появилась в 0.7.7.
1062 Спасибо Сергею Журавлёву. 1099 Спасибо Сергею Журавлёву.
1063 1100
1064 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не 1101 *) Исправление: директивы proxy_pass_header и fastcgi_pass_header" не
1065 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate", 1102 передавали клиенту строки "X-Accel-Redirect", "X-Accel-Limit-Rate",
1066 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа 1103 "X-Accel-Buffering" и "X-Accel-Charset" из заголовка ответа бэкенда.
1067 бэкенда. 1104 Спасибо Максиму Дунину.
1068 Спасибо Максиму Дунину. 1105
1069 1106 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1070 *) Исправление: в обработке строк "Last-Modified" и "Accept-Ranges" в
1071 заголовке ответа бэкенда; ошибка появилась в 0.7.44. 1107 заголовке ответа бэкенда; ошибка появилась в 0.7.44.
1072 Спасибо Максиму Дунину. 1108 Спасибо Максиму Дунину.
1073 1109
1074 *) Исправление: ошибки "[alert] zero size buf" при получении пустых 1110 *) Исправление: ошибки "[alert] zero size buf" при получении пустых
1075 ответы в подзапросах; ошибка появилась в 0.8.5. 1111 ответы в подзапросах; ошибка появилась в 0.8.5.
1076 1112
1077 1113
1078 Изменения в nginx 0.8.6 20.07.2009 1114 Изменения в nginx 0.8.6 20.07.2009
1079 1115
1080 *) Добавление: модуль ngx_http_geoip_module. 1116 *) Добавление: модуль ngx_http_geoip_module.
1081 1117
1082 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML 1118 *) Исправление: XSLT-фильтр мог выдавать ошибку "not well formed XML
1083 document" для правильного документа. 1119 document" для правильного документа.
1084 Спасибо Kuramoto Eiji. 1120 Спасибо Kuramoto Eiji.
1085 1121
1086 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке 1122 *) Исправление: в MacOSX, Cygwin и nginx/Windows при проверке
1087 location'ов, заданных регулярным выражением, теперь всегда делается 1123 location'ов, заданных регулярным выражением, теперь всегда делается
1088 сравнение без учёта регистра символов. 1124 сравнение без учёта регистра символов.
1089 1125
1090 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI. 1126 *) Исправление: теперь nginx/Windows игнорирует точки в конце URI.
1091 Спасибо Hugo Leisink. 1127 Спасибо Hugo Leisink.
1092 1128
1093 *) Исправление: имя файла указанного в --conf-path игнорировалось при 1129 *) Исправление: имя файла указанного в --conf-path игнорировалось при
1094 установке; ошибка появилась в 0.6.6. 1130 установке; ошибка появилась в 0.6.6.
1095 Спасибо Максиму Дунину. 1131 Спасибо Максиму Дунину.
1096 1132
1097 1133
1098 Изменения в nginx 0.8.5 13.07.2009 1134 Изменения в nginx 0.8.5 13.07.2009
1099 1135
1100 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса. 1136 *) Исправление: теперь nginx разрешает подчёркивания в методе запроса.
1101 1137
1102 *) Исправление: при использовании HTTP Basic-аутентификации на Windows 1138 *) Исправление: при использовании HTTP Basic-аутентификации на Windows
1103 для неверных имени/пароля возвращалась 500-ая ошибка. 1139 для неверных имени/пароля возвращалась 500-ая ошибка.
1104 1140
1105 *) Исправление: ответы модуля ngx_http_perl_module не работали в 1141 *) Исправление: ответы модуля ngx_http_perl_module не работали в
1106 подзапросах. 1142 подзапросах.
1107 1143
1108 *) Исправление: в модуле ngx_http_limit_req_module. 1144 *) Исправление: в модуле ngx_http_limit_req_module.
1109 Спасибо Максиму Дунину. 1145 Спасибо Максиму Дунину.
1110 1146
1111 1147
1112 Изменения в nginx 0.8.4 22.06.2009 1148 Изменения в nginx 0.8.4 22.06.2009
1113 1149
1114 *) Исправление: nginx не собирался с параметром --without-http-cache; 1150 *) Исправление: nginx не собирался с параметром --without-http-cache;
1115 ошибка появилась в 0.8.3. 1151 ошибка появилась в 0.8.3.
1116 1152
1117 1153
1118 Изменения в nginx 0.8.3 19.06.2009 1154 Изменения в nginx 0.8.3 19.06.2009
1119 1155
1120 *) Добавление: переменная $upstream_cache_status. 1156 *) Добавление: переменная $upstream_cache_status.
1121 1157
1122 *) Исправление: nginx не собирался на MacOSX 10.6. 1158 *) Исправление: nginx не собирался на MacOSX 10.6.
1123 1159
1124 *) Исправление: nginx не собирался с параметром --without-http-cache; 1160 *) Исправление: nginx не собирался с параметром --without-http-cache;
1125 ошибка появилась в 0.8.2. 1161 ошибка появилась в 0.8.2.
1126 1162
1127 *) Исправление: если использовался перехват 401 ошибки от бэкенда и 1163 *) Исправление: если использовался перехват 401 ошибки от бэкенда и
1128 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то 1164 бэкенд не возвращал строку "WWW-Authenticate" в заголовке ответа, то
1129 в рабочем процессе происходил segmentation fault. 1165 в рабочем процессе происходил segmentation fault.
1130 Спасибо Евгению Мычло. 1166 Спасибо Евгению Мычло.
1131 1167
1132 1168
1133 Изменения в nginx 0.8.2 15.06.2009 1169 Изменения в nginx 0.8.2 15.06.2009
1134 1170
1135 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша 1171 *) Исправление: во взаимодействии open_file_cache и proxy/fastcgi кэша
1136 на старте. 1172 на старте.
1137 1173
1138 *) Исправление: open_file_cache мог кэшировать открытые файлы очень 1174 *) Исправление: open_file_cache мог кэшировать открытые файлы очень
1139 долго; ошибка появилась в 0.7.4. 1175 долго; ошибка появилась в 0.7.4.
1140 1176
1141 1177
1142 Изменения в nginx 0.8.1 08.06.2009 1178 Изменения в nginx 0.8.1 08.06.2009
1143 1179
1144 *) Добавление: параметр updating в директивах proxy_cache_use_stale и 1180 *) Добавление: параметр updating в директивах proxy_cache_use_stale и
1145 fastcgi_cache_use_stale. 1181 fastcgi_cache_use_stale.
1146 1182
1147 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в 1183 *) Исправление: строки "If-Modified-Since", "If-Range" и им подобные в
1148 заголовке запроса клиента передавались бэкенду при кэшировании, если 1184 заголовке запроса клиента передавались бэкенду при кэшировании, если
1149 не использовалась директива proxy_set_header с любыми параметрами. 1185 не использовалась директива proxy_set_header с любыми параметрами.
1150 1186
1151 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда 1187 *) Исправление: строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда
1152 не скрывались при кэшировании, если не использовались директивы 1188 не скрывались при кэшировании, если не использовались директивы
1153 proxy_hide_header/fastcgi_hide_header с любыми параметрами. 1189 proxy_hide_header/fastcgi_hide_header с любыми параметрами.
1154 1190
1155 *) Исправление: модуль ngx_http_image_filter_module не понимал формат 1191 *) Исправление: модуль ngx_http_image_filter_module не понимал формат
1156 GIF87a. 1192 GIF87a.
1157 Спасибо Денису Ильиных. 1193 Спасибо Денису Ильиных.
1158 1194
1159 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка 1195 *) Исправление: nginx не собирался на Solaris 10 и более ранних; ошибка
1160 появилась в 0.7.56. 1196 появилась в 0.7.56.
1161 1197
1162 1198
1163 Изменения в nginx 0.8.0 02.06.2009 1199 Изменения в nginx 0.8.0 02.06.2009
1164 1200
1169 1205
1170 *) Исправление: XSLT-фильтр не работал в подзапросах. 1206 *) Исправление: XSLT-фильтр не работал в подзапросах.
1171 1207
1172 *) Исправление: обработке относительных путей в nginx/Windows. 1208 *) Исправление: обработке относительных путей в nginx/Windows.
1173 1209
1174 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и 1210 *) Исправление: в proxy_store, fastcgi_store, proxy_cache и
1175 fastcgi_cache в nginx/Windows. 1211 fastcgi_cache в nginx/Windows.
1176 1212
1177 *) Исправление: в обработке ошибок выделения памяти. 1213 *) Исправление: в обработке ошибок выделения памяти.
1178 Спасибо Максиму Дунину и Кириллу Коринскому. 1214 Спасибо Максиму Дунину и Кириллу Коринскому.
1179 1215
1183 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods. 1219 *) Добавление: директивы proxy_cache_methods и fastcgi_cache_methods.
1184 1220
1185 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25. 1221 *) Исправление: утечки сокетов; ошибка появилась в 0.7.25.
1186 Спасибо Максиму Дунину. 1222 Спасибо Максиму Дунину.
1187 1223
1188 *) Исправление: при использовании переменной $request_body в рабочем 1224 *) Исправление: при использовании переменной $request_body в рабочем
1189 процессе происходил segmentation fault, если в запросе не было тела; 1225 процессе происходил segmentation fault, если в запросе не было тела;
1190 ошибка появилась в 0.7.58. 1226 ошибка появилась в 0.7.58.
1191 1227
1192 *) Исправление: SSL-модули могли не собираться на Solaris и Linux; 1228 *) Исправление: SSL-модули могли не собираться на Solaris и Linux;
1193 ошибка появилась в 0.7.56. 1229 ошибка появилась в 0.7.56.
1194 1230
1195 *) Исправление: ответы модуля ngx_http_xslt_filter_module не 1231 *) Исправление: ответы модуля ngx_http_xslt_filter_module не
1196 обрабатывались SSI-, charset- и gzip-фильтрами. 1232 обрабатывались SSI-, charset- и gzip-фильтрами.
1197 1233
1198 *) Исправление: директива charset не ставила кодировку для ответов 1234 *) Исправление: директива charset не ставила кодировку для ответов
1199 модуля ngx_http_gzip_static_module. 1235 модуля ngx_http_gzip_static_module.
1200 1236
1201 1237
1202 Изменения в nginx 0.7.58 18.05.2009 1238 Изменения в nginx 0.7.58 18.05.2009
1203 1239
1204 *) Добавление: директива listen почтового прокси-сервера поддерживает 1240 *) Добавление: директива listen почтового прокси-сервера поддерживает
1205 IPv6. 1241 IPv6.
1206 1242
1207 *) Добавление: директива image_filter_jpeg_quality. 1243 *) Добавление: директива image_filter_jpeg_quality.
1208 1244
1209 *) Добавление: директива client_body_in_single_buffer. 1245 *) Добавление: директива client_body_in_single_buffer.
1210 1246
1211 *) Добавление: переменная $request_body. 1247 *) Добавление: переменная $request_body.
1212 1248
1213 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена 1249 *) Исправление: в модуле ngx_http_autoindex_module в ссылках на имена
1214 файлов, содержащих символ ":". 1250 файлов, содержащих символ ":".
1215 1251
1216 *) Исправление: процедура "make upgrade" не работала; ошибка появилась 1252 *) Исправление: процедура "make upgrade" не работала; ошибка появилась в
1253 0.7.53.
1254 Спасибо Денису Латыпову.
1255
1256
1257 Изменения в nginx 0.7.57 12.05.2009
1258
1259 *) Исправление: при перенаправлении ошибок модуля
1260 ngx_http_image_filter_module в именованный location в рабочем
1261 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1262
1263
1264 Изменения в nginx 0.7.56 11.05.2009
1265
1266 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen модуля
1267 HTTP.
1268
1269 *) Исправление: в модуле ngx_http_image_filter_module.
1270
1271
1272 Изменения в nginx 0.7.55 06.05.2009
1273
1274 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1275 fastcgi_cache_use_stale не работали.
1276
1277 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1278 заголовка.
1279
1280 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1281 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1282
1283 *) Исправление: при использовании директивы debug_connection в рабочем
1284 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1285
1286 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1287
1288 *) Исправление: файлы больше 2G не передавались с использованием
1289 $r->sendfile.
1290 Спасибо Максиму Дунину.
1291
1292
1293 Изменения в nginx 0.7.54 01.05.2009
1294
1295 *) Добавление: модуль ngx_http_image_filter_module.
1296
1297 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1298
1299 *) Исправление: при использовании переменных "open_file_cache_errors on"
1300 в рабочем процессе мог произойти segmentation fault; ошибка появилась
1217 в 0.7.53. 1301 в 0.7.53.
1218 Спасибо Денису Латыпову. 1302
1219 1303 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1220
1221 Изменения в nginx 0.7.57 12.05.2009
1222
1223 *) Исправление: при перенаправлении ошибок модуля
1224 ngx_http_image_filter_module в именованный location в рабочем
1225 процессе происходил floating-point fault; ошибка появилась в 0.7.56.
1226
1227
1228 Изменения в nginx 0.7.56 11.05.2009
1229
1230 *) Добавление: nginx/Windows поддерживает IPv6 в директиве listen
1231 модуля HTTP.
1232
1233 *) Исправление: в модуле ngx_http_image_filter_module.
1234
1235
1236 Изменения в nginx 0.7.55 06.05.2009
1237
1238 *) Исправление: параметры http_XXX в директивах proxy_cache_use_stale и
1239 fastcgi_cache_use_stale не работали.
1240
1241 *) Исправление: fastcgi кэш не кэшировал ответы, состоящие только из
1242 заголовка.
1243
1244 *) Исправление: ошибки "select() failed (9: Bad file descriptor)" в
1245 nginx/Unix и "select() failed (10038: ...)" в nginx/Windows.
1246
1247 *) Исправление: при использовании директивы debug_connection в рабочем
1248 процессе мог произойти segmentation fault; ошибка появилась в 0.7.54.
1249
1250 *) Исправление: в сборке модуля ngx_http_image_filter_module.
1251
1252 *) Исправление: файлы больше 2G не передавались с использованием
1253 $r->sendfile.
1254 Спасибо Максиму Дунину.
1255
1256
1257 Изменения в nginx 0.7.54 01.05.2009
1258
1259 *) Добавление: модуль ngx_http_image_filter_module.
1260
1261 *) Добавление: директивы proxy_ignore_headers и fastcgi_ignore_headers.
1262
1263 *) Исправление: при использовании переменных "open_file_cache_errors
1264 on" в рабочем процессе мог произойти segmentation fault; ошибка
1265 появилась в 0.7.53.
1266
1267 *) Исправление: директива "port_in_redirect off" не работала; ошибка
1268 появилась в 0.7.39. 1304 появилась в 0.7.39.
1269 1305
1270 *) Исправление: улучшение обработки ошибок метода select. 1306 *) Исправление: улучшение обработки ошибок метода select.
1271 1307
1272 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows. 1308 *) Исправление: ошибки "select() failed (10022: ...)" в nginx/Windows.
1273 1309
1274 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows; 1310 *) Исправление: в текстовых сообщениях об ошибках в nginx/Windows;
1275 ошибка появилась в 0.7.53. 1311 ошибка появилась в 0.7.53.
1276 1312
1277 1313
1278 Изменения в nginx 0.7.53 27.04.2009 1314 Изменения в nginx 0.7.53 27.04.2009
1279 1315
1280 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с 1316 *) Изменение: теперь лог, указанный в --error-log-path, создаётся с
1281 самого начала работы. 1317 самого начала работы.
1282 1318
1283 *) Добавление: теперь ошибки и предупреждения при старте записываются в 1319 *) Добавление: теперь ошибки и предупреждения при старте записываются в
1284 error_log и выводятся на stderr. 1320 error_log и выводятся на stderr.
1285 1321
1286 *) Добавление: при сборке с пустым параметром --prefix= nginx 1322 *) Добавление: при сборке с пустым параметром --prefix= nginx использует
1287 использует как префикс каталог, в котором он был запущен. 1323 как префикс каталог, в котором он был запущен.
1288 1324
1289 *) Добавление: ключ -p. 1325 *) Добавление: ключ -p.
1290 1326
1291 *) Добавление: ключ -s на Unix-платформах. 1327 *) Добавление: ключ -s на Unix-платформах.
1292 1328
1293 *) Добавление: ключи -? и -h. 1329 *) Добавление: ключи -? и -h.
1294 Спасибо Jerome Loyet. 1330 Спасибо Jerome Loyet.
1295 1331
1296 *) Добавление: теперь ключи можно задавать в сжатой форме. 1332 *) Добавление: теперь ключи можно задавать в сжатой форме.
1297 1333
1298 *) Исправление: nginx/Windows не работал, если файл конфигурации был 1334 *) Исправление: nginx/Windows не работал, если файл конфигурации был
1299 задан ключом -c. 1335 задан ключом -c.
1300 1336
1301 *) Исправление: при использовании директив proxy_store, fastcgi_store, 1337 *) Исправление: при использовании директив proxy_store, fastcgi_store,
1302 proxy_cache или fastcgi_cache временные файлы могли не удаляться. 1338 proxy_cache или fastcgi_cache временные файлы могли не удаляться.
1303 Спасибо Максиму Дунину. 1339 Спасибо Максиму Дунину.
1304 1340
1305 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации 1341 *) Исправление: в заголовке Auth-Method запроса серверу аутентификации
1306 почтового прокси-сервера передавалось неверное значение; ошибка 1342 почтового прокси-сервера передавалось неверное значение; ошибка
1307 появилась в 0.7.34. 1343 появилась в 0.7.34.
1308 Спасибо Simon Lecaille. 1344 Спасибо Simon Lecaille.
1309 1345
1310 *) Исправление: при логгировании на Linux не писались текстовые 1346 *) Исправление: при логгировании на Linux не писались текстовые описания
1311 описания системных ошибок; ошибка появилась в 0.7.45. 1347 системных ошибок; ошибка появилась в 0.7.45.
1312 1348
1313 *) Исправление: директива fastcgi_cache_min_uses не работала. 1349 *) Исправление: директива fastcgi_cache_min_uses не работала.
1314 Спасибо Андрею Воробьёву. 1350 Спасибо Андрею Воробьёву.
1315 1351
1316 1352
1318 1354
1319 *) Добавление: первая бинарная версия под Windows. 1355 *) Добавление: первая бинарная версия под Windows.
1320 1356
1321 *) Исправление: корректная обработка метода HEAD при кэшировании. 1357 *) Исправление: корректная обработка метода HEAD при кэшировании.
1322 1358
1323 *) Исправление: корректная обработка строк "If-Modified-Since", 1359 *) Исправление: корректная обработка строк "If-Modified-Since",
1324 "If-Range" и им подобных в заголовке запроса клиента при кэшировании. 1360 "If-Range" и им подобных в заголовке запроса клиента при кэшировании.
1325 1361
1326 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в 1362 *) Исправление: теперь строки "Set-Cookie" и "P3P" скрываются в
1327 заголовке ответа для закэшированных ответов. 1363 заголовке ответа для закэшированных ответов.
1328 1364
1329 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 1365 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
1330 perl поддерживал потоки, то при выходе основного процесса могла 1366 perl поддерживал потоки, то при выходе основного процесса могла
1331 выдаваться ошибка "panic: MUTEX_LOCK". 1367 выдаваться ошибка "panic: MUTEX_LOCK".
1332 1368
1333 *) Исправление: nginx не собирался с параметром --without-http-cache; 1369 *) Исправление: nginx не собирался с параметром --without-http-cache;
1334 ошибка появилась в 0.7.48. 1370 ошибка появилась в 0.7.48.
1335 1371
1336 *) Исправление: nginx не собирался на платформах, отличных от i386, 1372 *) Исправление: nginx не собирался на платформах, отличных от i386,
1337 amd64, sparc и ppc; ошибка появилась в 0.7.42. 1373 amd64, sparc и ppc; ошибка появилась в 0.7.42.
1338 1374
1339 1375
1340 Изменения в nginx 0.7.51 12.04.2009 1376 Изменения в nginx 0.7.51 12.04.2009
1341 1377
1342 *) Добавление: директива try_files поддерживает код ответа в последнем 1378 *) Добавление: директива try_files поддерживает код ответа в последнем
1343 параметре. 1379 параметре.
1344 1380
1345 *) Добавление: теперь в директиве return можно использовать любой код 1381 *) Добавление: теперь в директиве return можно использовать любой код
1346 ответа. 1382 ответа.
1347 1383
1348 *) Исправление: директива error_page делала внешний редирект без строки 1384 *) Исправление: директива error_page делала внешний редирект без строки
1349 запроса; ошибка появилась в 0.7.44. 1385 запроса; ошибка появилась в 0.7.44.
1350 1386
1351 *) Исправление: если сервера слушали на нескольких явно описанных 1387 *) Исправление: если сервера слушали на нескольких явно описанных
1352 адресах, то виртуальные сервера могли не работать; ошибка появилась 1388 адресах, то виртуальные сервера могли не работать; ошибка появилась в
1353 в 0.7.39. 1389 0.7.39.
1354 1390
1355 1391
1356 Изменения в nginx 0.7.50 06.04.2009 1392 Изменения в nginx 0.7.50 06.04.2009
1357 1393
1358 *) Исправление: переменные $arg_... не работали; ошибка появилась в 1394 *) Исправление: переменные $arg_... не работали; ошибка появилась в
1359 0.7.49. 1395 0.7.49.
1360 1396
1361 1397
1362 Изменения в nginx 0.7.49 06.04.2009 1398 Изменения в nginx 0.7.49 06.04.2009
1363 1399
1364 *) Исправление: при использовании переменных $arg_... в рабочем 1400 *) Исправление: при использовании переменных $arg_... в рабочем процессе
1365 процессе мог произойти segmentation fault; ошибка появилась в 0.7.48. 1401 мог произойти segmentation fault; ошибка появилась в 0.7.48.
1366 1402
1367 1403
1368 Изменения в nginx 0.7.48 06.04.2009 1404 Изменения в nginx 0.7.48 06.04.2009
1369 1405
1370 *) Добавление: директива proxy_cache_key. 1406 *) Добавление: директива proxy_cache_key.
1371 1407
1372 *) Исправление: теперь nginx учитывает при кэшировании строки 1408 *) Исправление: теперь nginx учитывает при кэшировании строки
1373 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа 1409 "X-Accel-Expires", "Expires" и "Cache-Control" в заголовке ответа
1374 бэкенда. 1410 бэкенда.
1375 1411
1376 *) Исправление: теперь nginx кэширует только ответы на запросы GET. 1412 *) Исправление: теперь nginx кэширует только ответы на запросы GET.
1377 1413
1378 *) Исправление: директива fastcgi_cache_key не наследовалась. 1414 *) Исправление: директива fastcgi_cache_key не наследовалась.
1381 Спасибо Максиму Дунину. 1417 Спасибо Максиму Дунину.
1382 1418
1383 *) Исправление: nginx не собирался с библиотекой uclibc. 1419 *) Исправление: nginx не собирался с библиотекой uclibc.
1384 Спасибо Timothy Redaelli. 1420 Спасибо Timothy Redaelli.
1385 1421
1386 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась 1422 *) Исправление: nginx не собирался на OpenBSD; ошибка появилась
1387 в 0.7.46. 1423 в 0.7.46.
1388 1424
1389 1425
1390 Изменения в nginx 0.7.47 01.04.2009 1426 Изменения в nginx 0.7.47 01.04.2009
1391 1427
1392 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях; 1428 *) Исправление: nginx не собирался на FreeBSD 6 и более ранних версиях;
1393 ошибка появилась в 0.7.46. 1429 ошибка появилась в 0.7.46.
1394 1430
1395 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46. 1431 *) Исправление: nginx не собирался на MacOSX; ошибка появилась в 0.7.46.
1396 1432
1397 *) Исправление: если использовался параметр max_size, то cache manager 1433 *) Исправление: если использовался параметр max_size, то cache manager
1398 мог удалить весь кэш; ошибка появилась в 0.7.46. 1434 мог удалить весь кэш; ошибка появилась в 0.7.46.
1399 1435
1400 *) Изменение: в рабочем процессе мог произойти segmentation fault, если 1436 *) Изменение: в рабочем процессе мог произойти segmentation fault, если
1401 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/ 1437 директивы proxy_cache/fastcgi_cache и proxy_cache_valid/
1402 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась 1438 fastcgi_cache_valid не были заданы на одном уровне; ошибка появилась
1403 в 0.7.46. 1439 в 0.7.46.
1404 1440
1405 *) Исправление: в рабочем процессе мог произойти segmentation fault при 1441 *) Исправление: в рабочем процессе мог произойти segmentation fault при
1406 перенаправлении запроса проксированному или FastCGI-серверу с 1442 перенаправлении запроса проксированному или FastCGI-серверу с помощью
1407 помощью error_page или try_files; ошибка появилась в 0.7.44. 1443 error_page или try_files; ошибка появилась в 0.7.44.
1408 1444
1409 1445
1410 Изменения в nginx 0.7.46 30.03.2009 1446 Изменения в nginx 0.7.46 30.03.2009
1411 1447
1412 *) Исправление: архив предыдущего релиза был неверным. 1448 *) Исправление: архив предыдущего релиза был неверным.
1413 1449
1414 1450
1415 Изменения в nginx 0.7.45 30.03.2009 1451 Изменения в nginx 0.7.45 30.03.2009
1416 1452
1417 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно 1453 *) Изменение: теперь директивы proxy_cache и proxy_cache_valid можно
1418 задавать на разных уровнях. 1454 задавать на разных уровнях.
1419 1455
1420 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён. 1456 *) Изменение: параметр clean_time в директиве proxy_cache_path удалён.
1421 1457
1422 *) Добавление: параметр max_size в директиве proxy_cache_path. 1458 *) Добавление: параметр max_size в директиве proxy_cache_path.
1423 1459
1424 *) Добавление: предварительная поддержка кэширования в модуле 1460 *) Добавление: предварительная поддержка кэширования в модуле
1425 ngx_http_fastcgi_module. 1461 ngx_http_fastcgi_module.
1426 1462
1427 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе 1463 *) Добавление: теперь при ошибках выделения в разделяемой памяти в логе
1428 указываются названия директивы и зоны. 1464 указываются названия директивы и зоны.
1429 1465
1430 *) Исправление: директива "add_header last-modified ''" не удаляла в 1466 *) Исправление: директива "add_header last-modified ''" не удаляла в
1431 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44. 1467 заголовке ответа строку "Last-Modified"; ошибка появилась в 0.7.44.
1432 1468
1433 *) Исправление: в директиве auth_basic_user_file не работал 1469 *) Исправление: в директиве auth_basic_user_file не работал
1434 относительный путь, заданный строкой без переменных; ошибка 1470 относительный путь, заданный строкой без переменных; ошибка появилась
1435 появилась в 0.7.44. 1471 в 0.7.44.
1436 Спасибо Jerome Loyet. 1472 Спасибо Jerome Loyet.
1437 1473
1438 *) Исправление: в директиве alias, заданной переменными без ссылок на 1474 *) Исправление: в директиве alias, заданной переменными без ссылок на
1439 выделения в регулярных выражениях; ошибка появилась в 0.7.42. 1475 выделения в регулярных выражениях; ошибка появилась в 0.7.42.
1440 1476
1441 1477
1442 Изменения в nginx 0.7.44 23.03.2009 1478 Изменения в nginx 0.7.44 23.03.2009
1443 1479
1444 *) Добавление: предварительная поддержка кэширования в модуле 1480 *) Добавление: предварительная поддержка кэширования в модуле
1445 ngx_http_proxy_module. 1481 ngx_http_proxy_module.
1446 1482
1447 *) Добавление: параметр --with-pcre в configure. 1483 *) Добавление: параметр --with-pcre в configure.
1448 1484
1449 *) Добавление: теперь директива try_files может быть использована на 1485 *) Добавление: теперь директива try_files может быть использована на
1450 уровне server. 1486 уровне server.
1451 1487
1452 *) Исправление: директива try_files неправильно обрабатывала строку 1488 *) Исправление: директива try_files неправильно обрабатывала строку
1453 запроса в последнем параметре. 1489 запроса в последнем параметре.
1454 1490
1455 *) Исправление: директива try_files могла неверно тестировать каталоги. 1491 *) Исправление: директива try_files могла неверно тестировать каталоги.
1456 1492
1457 *) Исправление: если для пары адрес:порт описан только один сервер, то 1493 *) Исправление: если для пары адрес:порт описан только один сервер, то
1458 выделения в регулярных выражениях в директиве server_name не 1494 выделения в регулярных выражениях в директиве server_name не
1459 работали. 1495 работали.
1460 1496
1461 1497
1462 Изменения в nginx 0.7.43 18.03.2009 1498 Изменения в nginx 0.7.43 18.03.2009
1463 1499
1464 *) Исправление: запрос обрабатывался неверно, если директива root 1500 *) Исправление: запрос обрабатывался неверно, если директива root
1465 использовала переменные; ошибка появилась в 0.7.42. 1501 использовала переменные; ошибка появилась в 0.7.42.
1466 1502
1467 *) Исправление: если сервер слушал на адресах типа "*", то значение 1503 *) Исправление: если сервер слушал на адресах типа "*", то значение
1468 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36. 1504 переменной $server_addr было "0.0.0.0"; ошибка появилась в 0.7.36.
1469 1505
1470 1506
1471 Изменения в nginx 0.7.42 16.03.2009 1507 Изменения в nginx 0.7.42 16.03.2009
1472 1508
1473 *) Изменение: ошибка "Invalid argument", возвращаемая 1509 *) Изменение: ошибка "Invalid argument", возвращаемая
1474 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется. 1510 setsockopt(TCP_NODELAY) на Solaris, теперь игнорируется.
1475 1511
1476 *) Изменение: при отсутствии файла, указанного в директиве 1512 *) Изменение: при отсутствии файла, указанного в директиве
1477 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500. 1513 auth_basic_user_file, теперь возвращается ошибка 403 вместо 500.
1478 1514
1479 *) Добавление: директива auth_basic_user_file поддерживает переменные. 1515 *) Добавление: директива auth_basic_user_file поддерживает переменные.
1480 Спасибо Кириллу Коринскому. 1516 Спасибо Кириллу Коринскому.
1481 1517
1482 *) Добавление: директива listen поддерживает параметр ipv6only. 1518 *) Добавление: директива listen поддерживает параметр ipv6only.
1483 Спасибо Zhang Hua. 1519 Спасибо Zhang Hua.
1484 1520
1485 *) Исправление: в директиве alias со ссылками на выделения в регулярных 1521 *) Исправление: в директиве alias со ссылками на выделения в регулярных
1486 выражениях; ошибка появилась в 0.7.40. 1522 выражениях; ошибка появилась в 0.7.40.
1487 1523
1488 *) Исправление: совместимость с Tru64 UNIX. 1524 *) Исправление: совместимость с Tru64 UNIX.
1489 Спасибо Dustin Marquess. 1525 Спасибо Dustin Marquess.
1490 1526
1491 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 1527 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
1492 появилась в 0.7.41. 1528 в 0.7.41.
1493 1529
1494 1530
1495 Изменения в nginx 0.7.41 11.03.2009 1531 Изменения в nginx 0.7.41 11.03.2009
1496 1532
1497 *) Исправление: в рабочем процессе мог произойти segmentation fault, 1533 *) Исправление: в рабочем процессе мог произойти segmentation fault,
1498 если в server_name или location были выделения в регулярных 1534 если в server_name или location были выделения в регулярных
1499 выражениях; ошибка появилась в 0.7.40. 1535 выражениях; ошибка появилась в 0.7.40.
1500 Спасибо Владимиру Сопоту. 1536 Спасибо Владимиру Сопоту.
1501 1537
1502 1538
1503 Изменения в nginx 0.7.40 09.03.2009 1539 Изменения в nginx 0.7.40 09.03.2009
1504 1540
1505 *) Добавление: директива location поддерживает выделения в регулярных 1541 *) Добавление: директива location поддерживает выделения в регулярных
1506 выражениях. 1542 выражениях.
1507 1543
1508 *) Добавление: директиву alias с ссылками на выделения в регулярных 1544 *) Добавление: директиву alias с ссылками на выделения в регулярных
1509 выражениях можно использовать внутри location'а, заданного 1545 выражениях можно использовать внутри location'а, заданного регулярным
1510 регулярным выражением с выделениями. 1546 выражением с выделениями.
1511 1547
1512 *) Добавление: директива server_name поддерживает выделения в 1548 *) Добавление: директива server_name поддерживает выделения в регулярных
1513 регулярных выражениях. 1549 выражениях.
1514 1550
1515 *) Изменение: модуль ngx_http_autoindex_module не показывал последний 1551 *) Изменение: модуль ngx_http_autoindex_module не показывал последний
1516 слэш для каталогов на файловой системе XFS; ошибка появилась в 1552 слэш для каталогов на файловой системе XFS; ошибка появилась в
1517 0.7.15. 1553 0.7.15.
1518 Спасибо Дмитрию Кузьменко. 1554 Спасибо Дмитрию Кузьменко.
1519 1555
1520 1556
1521 Изменения в nginx 0.7.39 02.03.2009 1557 Изменения в nginx 0.7.39 02.03.2009
1522 1558
1523 *) Исправление: при включённом сжатии большие ответы с использованием 1559 *) Исправление: при включённом сжатии большие ответы с использованием
1524 SSI могли зависать; ошибка появилась в 0.7.28. 1560 SSI могли зависать; ошибка появилась в 0.7.28.
1525 Спасибо Артёму Бохану. 1561 Спасибо Артёму Бохану.
1526 1562
1527 *) Исправление: при использовании коротких статических вариантов в 1563 *) Исправление: при использовании коротких статических вариантов в
1528 директиве try_files в рабочем процессе мог произойти segmentation 1564 директиве try_files в рабочем процессе мог произойти segmentation
1529 fault. 1565 fault.
1530 1566
1531 1567
1532 Изменения в nginx 0.7.38 23.02.2009 1568 Изменения в nginx 0.7.38 23.02.2009
1533 1569
1534 *) Добавление: логгирование ошибок аутентификации. 1570 *) Добавление: логгирование ошибок аутентификации.
1535 1571
1536 *) Исправление: имя/пароль, заданные в auth_basic_user_file, 1572 *) Исправление: имя/пароль, заданные в auth_basic_user_file,
1537 игнорировались после нечётного числа пустых строк. 1573 игнорировались после нечётного числа пустых строк.
1538 Спасибо Александру Загребину. 1574 Спасибо Александру Загребину.
1539 1575
1540 *) Исправление: при использовании длинного пути в unix domain сокете в 1576 *) Исправление: при использовании длинного пути в unix domain сокете в
1541 главном процессе происходил segmentation fault; ошибка появилась в 1577 главном процессе происходил segmentation fault; ошибка появилась в
1542 0.7.36. 1578 0.7.36.
1543 1579
1544 1580
1545 Изменения в nginx 0.7.37 21.02.2009 1581 Изменения в nginx 0.7.37 21.02.2009
1546 1582
1547 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка 1583 *) Исправление: директивы, использующие upstream'ы, не работали; ошибка
1548 появилась в 0.7.36. 1584 появилась в 0.7.36.
1549 1585
1550 1586
1551 Изменения в nginx 0.7.36 21.02.2009 1587 Изменения в nginx 0.7.36 21.02.2009
1552 1588
1553 *) Добавление: предварительная поддержка IPv6; директива listen модуля 1589 *) Добавление: предварительная поддержка IPv6; директива listen модуля
1554 HTTP поддерживает IPv6. 1590 HTTP поддерживает IPv6.
1555 1591
1556 *) Исправление: переменная $ancient_browser не работала для браузеров, 1592 *) Исправление: переменная $ancient_browser не работала для браузеров,
1557 заданных директивами modern_browser. 1593 заданных директивами modern_browser.
1558 1594
1559 1595
1560 Изменения в nginx 0.7.35 16.02.2009 1596 Изменения в nginx 0.7.35 16.02.2009
1561 1597
1562 *) Исправление: директива ssl_engine не использовала SSL-акселератор 1598 *) Исправление: директива ssl_engine не использовала SSL-акселератор для
1563 для асимметричных шифров. 1599 асимметричных шифров.
1564 Спасибо Marcin Gozdalik. 1600 Спасибо Marcin Gozdalik.
1565 1601
1566 *) Исправление: директива try_files выставляла MIME-type, исходя из 1602 *) Исправление: директива try_files выставляла MIME-type, исходя из
1567 расширения первоначального запроса. 1603 расширения первоначального запроса.
1568 1604
1569 *) Исправление: в директивах server_name, valid_referers и map 1605 *) Исправление: в директивах server_name, valid_referers и map
1570 неправильно обрабатывались имена вида "*domain.tld", если 1606 неправильно обрабатывались имена вида "*domain.tld", если
1571 использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 1607 использовались маски вида ".domain.tld" и ".subdomain.domain.tld";
1572 ошибка появилась в 0.7.9. 1608 ошибка появилась в 0.7.9.
1573 1609
1574 1610
1575 Изменения в nginx 0.7.34 10.02.2009 1611 Изменения в nginx 0.7.34 10.02.2009
1576 1612
1577 *) Добавление: параметр off в директиве if_modified_since. 1613 *) Добавление: параметр off в директиве if_modified_since.
1578 1614
1579 *) Добавление: теперь после команды XCLIENT nginx посылает команду 1615 *) Добавление: теперь после команды XCLIENT nginx посылает команду
1580 HELO/EHLO. 1616 HELO/EHLO.
1581 Спасибо Максиму Дунину. 1617 Спасибо Максиму Дунину.
1582 1618
1583 *) Добавление: поддержка Microsoft-специфичного режима 1619 *) Добавление: поддержка Microsoft-специфичного режима
1584 "AUTH LOGIN with User Name" в почтовом прокси-сервере. 1620 "AUTH LOGIN with User Name" в почтовом прокси-сервере.
1585 Спасибо Максиму Дунину. 1621 Спасибо Максиму Дунину.
1586 1622
1587 *) Исправление: в директиве rewrite, возвращающей редирект, старые 1623 *) Исправление: в директиве rewrite, возвращающей редирект, старые
1588 аргументы присоединялись к новым через символ "?" вместо "&"; 1624 аргументы присоединялись к новым через символ "?" вместо "&";
1589 ошибка появилась в 0.1.18. 1625 ошибка появилась в 0.1.18.
1590 Спасибо Максиму Дунину. 1626 Спасибо Максиму Дунину.
1591 1627
1592 *) Исправление: nginx не собирался на AIX. 1628 *) Исправление: nginx не собирался на AIX.
1593 1629
1594 1630
1595 Изменения в nginx 0.7.33 02.02.2009 1631 Изменения в nginx 0.7.33 02.02.2009
1596 1632
1597 *) Исправление: если на запрос с телом возвращался редирект, то ответ 1633 *) Исправление: если на запрос с телом возвращался редирект, то ответ
1598 мог быть двойным при использовании методов epoll или rtsig. 1634 мог быть двойным при использовании методов epoll или rtsig.
1599 Спасибо Eden Li. 1635 Спасибо Eden Li.
1600 1636
1601 *) Исправление: для некоторых типов редиректов в переменной 1637 *) Исправление: для некоторых типов редиректов в переменной
1602 $sent_http_location было пустое значение. 1638 $sent_http_location было пустое значение.
1603 1639
1604 *) Исправление: при использовании директивы resolver в SMTP 1640 *) Исправление: при использовании директивы resolver в SMTP
1605 прокси-сервере в рабочем процессе мог произойти segmentation fault. 1641 прокси-сервере в рабочем процессе мог произойти segmentation fault.
1606 1642
1607 1643
1608 Изменения в nginx 0.7.32 26.01.2009 1644 Изменения в nginx 0.7.32 26.01.2009
1609 1645
1610 *) Добавление: теперь в директиве try_files можно явно указать проверку 1646 *) Добавление: теперь в директиве try_files можно явно указать проверку
1611 каталога. 1647 каталога.
1612 1648
1613 *) Исправление: fastcgi_store не всегда сохранял файлы. 1649 *) Исправление: fastcgi_store не всегда сохранял файлы.
1614 1650
1615 *) Исправление: в гео-диапазонах. 1651 *) Исправление: в гео-диапазонах.
1616 1652
1617 *) Исправление: ошибки выделения больших блоков в разделяемой памяти, 1653 *) Исправление: ошибки выделения больших блоков в разделяемой памяти,
1618 если nginx был собран без отладки. 1654 если nginx был собран без отладки.
1619 Спасибо Андрею Квасову. 1655 Спасибо Андрею Квасову.
1620 1656
1621 1657
1622 Изменения в nginx 0.7.31 19.01.2009 1658 Изменения в nginx 0.7.31 19.01.2009
1623 1659
1624 *) Изменение: теперь директива try_files проверяет только файлы, 1660 *) Изменение: теперь директива try_files проверяет только файлы,
1625 игнорируя каталоги. 1661 игнорируя каталоги.
1626 1662
1627 *) Добавление: директива fastcgi_split_path_info. 1663 *) Добавление: директива fastcgi_split_path_info.
1628 1664
1629 *) Исправления в поддержке строки "Expect" в заголовке запроса. 1665 *) Исправления в поддержке строки "Expect" в заголовке запроса.
1630 1666
1631 *) Исправления в гео-диапазонах. 1667 *) Исправления в гео-диапазонах.
1632 1668
1633 *) Исправление: при отсутствии ответа ngx_http_memcached_module 1669 *) Исправление: при отсутствии ответа ngx_http_memcached_module
1634 возвращал в теле ответа строку "END" вместо 404-ой страницы по 1670 возвращал в теле ответа строку "END" вместо 404-ой страницы по
1635 умолчанию; ошибка появилась в 0.7.18. 1671 умолчанию; ошибка появилась в 0.7.18.
1636 Спасибо Максиму Дунину. 1672 Спасибо Максиму Дунину.
1637 1673
1638 *) Исправление: при проксировании SMPT nginx выдавал сообщение 1674 *) Исправление: при проксировании SMPT nginx выдавал сообщение
1639 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22. 1675 "250 2.0.0 OK" вместо "235 2.0.0 OK"; ошибка появилась в 0.7.22.
1640 Спасибо Максиму Дунину. 1676 Спасибо Максиму Дунину.
1641 1677
1642 1678
1643 Изменения в nginx 0.7.30 24.12.2008 1679 Изменения в nginx 0.7.30 24.12.2008
1644 1680
1645 *) Исправление: в рабочем процессе происходил segmentation fault, если 1681 *) Исправление: в рабочем процессе происходил segmentation fault, если в
1646 в директивах fastcgi_pass или proxy_pass использовались переменные и 1682 директивах fastcgi_pass или proxy_pass использовались переменные и
1647 имя хоста должно было резолвиться; ошибка появилась в 0.7.29. 1683 имя хоста должно было резолвиться; ошибка появилась в 0.7.29.
1648 1684
1649 1685
1650 Изменения в nginx 0.7.29 24.12.2008 1686 Изменения в nginx 0.7.29 24.12.2008
1651 1687
1652 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали 1688 *) Исправление: директивы fastcgi_pass и proxy_pass не поддерживали
1653 переменные при использовании unix domain сокетов. 1689 переменные при использовании unix domain сокетов.
1654 1690
1655 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25. 1691 *) Исправления в обработке подзапросов; ошибки появились в 0.7.25.
1656 1692
1657 *) Исправление: ответ "100 Continue" выдавался для запросов версии 1693 *) Исправление: ответ "100 Continue" выдавался для запросов версии
1658 HTTP/1.0; 1694 HTTP/1.0;
1659 Спасибо Максиму Дунину. 1695 Спасибо Максиму Дунину.
1660 1696
1661 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module 1697 *) Исправление: в выделении памяти в модуле ngx_http_gzip_filter_module
1662 под Cygwin. 1698 под Cygwin.
1663 1699
1664 1700
1665 Изменения в nginx 0.7.28 22.12.2008 1701 Изменения в nginx 0.7.28 22.12.2008
1666 1702
1667 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module. 1703 *) Изменение: в выделении памяти в модуле ngx_http_gzip_filter_module.
1668 1704
1669 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены 1705 *) Изменение: значения по умолчанию для директивы gzip_buffers изменены
1670 с 4 4k/8k на 32 4k или 16 8k. 1706 с 4 4k/8k на 32 4k или 16 8k.
1671 1707
1672 1708
1673 Изменения в nginx 0.7.27 15.12.2008 1709 Изменения в nginx 0.7.27 15.12.2008
1674 1710
1677 *) Добавление: директива fastcgi_pass поддерживает переменные. 1713 *) Добавление: директива fastcgi_pass поддерживает переменные.
1678 1714
1679 *) Добавление: теперь директива geo может брать адрес из переменной. 1715 *) Добавление: теперь директива geo может брать адрес из переменной.
1680 Спасибо Андрею Нигматулину. 1716 Спасибо Андрею Нигматулину.
1681 1717
1682 *) Добавление: теперь модификатор location'а можно указывать без 1718 *) Добавление: теперь модификатор location'а можно указывать без пробела
1683 пробела перед названием. 1719 перед названием.
1684 1720
1685 *) Добавление: переменная $upstream_response_length. 1721 *) Добавление: переменная $upstream_response_length.
1686 1722
1687 *) Исправление: теперь директива add_header не добавляет пустое 1723 *) Исправление: теперь директива add_header не добавляет пустое
1688 значение. 1724 значение.
1689 1725
1690 *) Исправление: при запросе файла нулевой длины nginx закрывал 1726 *) Исправление: при запросе файла нулевой длины nginx закрывал
1691 соединение, ничего не передав; ошибка появилась в 0.7.25. 1727 соединение, ничего не передав; ошибка появилась в 0.7.25.
1692 1728
1693 *) Исправление: метод MOVE не мог перемещать файл в несуществующий 1729 *) Исправление: метод MOVE не мог перемещать файл в несуществующий
1694 каталог. 1730 каталог.
1695 1731
1696 *) Исправление: если в сервере не был описан ни один именованный 1732 *) Исправление: если в сервере не был описан ни один именованный
1697 location, но такой location использовался в директиве error_page, то 1733 location, но такой location использовался в директиве error_page, то
1698 в рабочем процессе происходил segmentation fault. 1734 в рабочем процессе происходил segmentation fault.
1699 Спасибо Сергею Боченкову. 1735 Спасибо Сергею Боченкову.
1700 1736
1701 1737
1702 Изменения в nginx 0.7.26 08.12.2008 1738 Изменения в nginx 0.7.26 08.12.2008
1706 1742
1707 Изменения в nginx 0.7.25 08.12.2008 1743 Изменения в nginx 0.7.25 08.12.2008
1708 1744
1709 *) Изменение: в обработке подзапросов. 1745 *) Изменение: в обработке подзапросов.
1710 1746
1711 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в 1747 *) Изменение: теперь разрешаются POST'ы без строки "Content-Length" в
1712 заголовке запроса. 1748 заголовке запроса.
1713 1749
1714 *) Исправление: теперь директивы limit_req и limit_conn указывают 1750 *) Исправление: теперь директивы limit_req и limit_conn указывают
1715 причину запрета запроса. 1751 причину запрета запроса.
1716 1752
1717 *) Исправление: в параметре delete директивы geo. 1753 *) Исправление: в параметре delete директивы geo.
1718 1754
1719 1755
1720 Изменения в nginx 0.7.24 01.12.2008 1756 Изменения в nginx 0.7.24 01.12.2008
1721 1757
1722 *) Добавление: директива if_modified_since. 1758 *) Добавление: директива if_modified_since.
1723 1759
1724 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед 1760 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если перед
1725 ответом сервер передавал много сообщений в stderr. 1761 ответом сервер передавал много сообщений в stderr.
1726 1762
1727 *) Исправление: переменные "$cookie_..." не работали в SSI and в 1763 *) Исправление: переменные "$cookie_..." не работали в SSI and в
1728 перловом модуле. 1764 перловом модуле.
1729 1765
1730 1766
1731 Изменения в nginx 0.7.23 27.11.2008 1767 Изменения в nginx 0.7.23 27.11.2008
1732 1768
1758 Спасибо Денису Латыпову. 1794 Спасибо Денису Латыпову.
1759 1795
1760 *) Изменение: совместимость с glibc 2.3. 1796 *) Изменение: совместимость с glibc 2.3.
1761 Спасибо Eric Benson и Максиму Дунину. 1797 Спасибо Eric Benson и Максиму Дунину.
1762 1798
1763 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних; 1799 *) Исправление: nginx не запускался на MacOSX 10.4 и более ранних;
1764 ошибка появилась в 0.7.6. 1800 ошибка появилась в 0.7.6.
1765 1801
1766 1802
1767 Изменения в nginx 0.7.20 10.11.2008 1803 Изменения в nginx 0.7.20 10.11.2008
1768 1804
1769 *) Изменения в модуле ngx_http_gzip_filter_module. 1805 *) Изменения в модуле ngx_http_gzip_filter_module.
1770 1806
1771 *) Добавление: модуль ngx_http_limit_req_module. 1807 *) Добавление: модуль ngx_http_limit_req_module.
1772 1808
1773 *) Исправление: на платформах sparc и ppc рабочие процессы могли 1809 *) Исправление: на платформах sparc и ppc рабочие процессы могли
1774 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3. 1810 выходить по сигналу SIGBUS; ошибка появилась в 0.7.3.
1775 Спасибо Максиму Дунину. 1811 Спасибо Максиму Дунину.
1776 1812
1777 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не 1813 *) Исправление: директивы вида "proxy_pass http://host/some:uri" не
1778 работали; ошибка появилась в 0.7.12. 1814 работали; ошибка появилась в 0.7.12.
1779 1815
1780 *) Исправление: при использовании HTTPS запросы могли завершаться с 1816 *) Исправление: при использовании HTTPS запросы могли завершаться с
1781 ошибкой "bad write retry". 1817 ошибкой "bad write retry".
1782 1818
1783 *) Исправление: модуль ngx_http_secure_link_module не работал внутри 1819 *) Исправление: модуль ngx_http_secure_link_module не работал внутри
1784 location'ов с именами меньше 3 символов. 1820 location'ов с именами меньше 3 символов.
1785 1821
1786 *) Исправление: переменная $server_addr могла не иметь значения. 1822 *) Исправление: переменная $server_addr могла не иметь значения.
1787 1823
1788 1824
1791 *) Исправление: обновление номера версии. 1827 *) Исправление: обновление номера версии.
1792 1828
1793 1829
1794 Изменения в nginx 0.7.18 13.10.2008 1830 Изменения в nginx 0.7.18 13.10.2008
1795 1831
1796 *) Изменение: директива underscores_in_headers; теперь nginx по 1832 *) Изменение: директива underscores_in_headers; теперь nginx по
1797 умолчанию не разрешает подчёркивания в именах строк в заголовке 1833 умолчанию не разрешает подчёркивания в именах строк в заголовке
1798 запроса клиента. 1834 запроса клиента.
1799 1835
1800 *) Добавление: модуль ngx_http_secure_link_module. 1836 *) Добавление: модуль ngx_http_secure_link_module.
1801 1837
1802 *) Добавление: директива real_ip_header поддерживает любой заголовок. 1838 *) Добавление: директива real_ip_header поддерживает любой заголовок.
1803 1839
1804 *) Добавление: директива log_subrequest. 1840 *) Добавление: директива log_subrequest.
1805 1841
1806 *) Добавление: переменная $realpath_root. 1842 *) Добавление: переменная $realpath_root.
1807 1843
1808 *) Добавление: параметры http_502 и http_504 в директиве 1844 *) Добавление: параметры http_502 и http_504 в директиве
1809 proxy_next_upstream. 1845 proxy_next_upstream.
1810 1846
1811 *) Исправление: параметр http_503 в директивах proxy_next_upstream или 1847 *) Исправление: параметр http_503 в директивах proxy_next_upstream или
1812 fastcgi_next_upstream не работал. 1848 fastcgi_next_upstream не работал.
1813 1849
1814 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked" 1850 *) Исправление: nginx мог выдавать строку "Transfer-Encoding: chunked"
1815 для запросов HEAD. 1851 для запросов HEAD.
1816 1852
1817 *) Исправление: теперь accept-лимит зависит от числа worker_connections. 1853 *) Исправление: теперь accept-лимит зависит от числа worker_connections.
1818 1854
1819 1855
1821 1857
1822 *) Добавление: директива directio теперь работает на Linux. 1858 *) Добавление: директива directio теперь работает на Linux.
1823 1859
1824 *) Добавление: переменная $pid. 1860 *) Добавление: переменная $pid.
1825 1861
1826 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала 1862 *) Исправление: оптимизация directio, появившаяся в 0.7.15, не работала
1827 при использовании open_file_cache. 1863 при использовании open_file_cache.
1828 1864
1829 *) Исправление: access_log с переменными не работал на Linux; ошибка 1865 *) Исправление: access_log с переменными не работал на Linux; ошибка
1830 появилась в 0.7.7. 1866 появилась в 0.7.7.
1831 1867
1832 *) Исправление: модуль ngx_http_charset_module не понимал название 1868 *) Исправление: модуль ngx_http_charset_module не понимал название
1833 кодировки в кавычках, полученное от бэкенда. 1869 кодировки в кавычках, полученное от бэкенда.
1834 1870
1835 1871
1836 Изменения в nginx 0.7.16 08.09.2008 1872 Изменения в nginx 0.7.16 08.09.2008
1837 1873
1838 *) Исправление: nginx не собирался на 64-битных платформах; ошибка 1874 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
1839 появилась в 0.7.15. 1875 появилась в 0.7.15.
1840 1876
1841 1877
1842 Изменения в nginx 0.7.15 08.09.2008 1878 Изменения в nginx 0.7.15 08.09.2008
1843 1879
1844 *) Добавление: модуль ngx_http_random_index_module. 1880 *) Добавление: модуль ngx_http_random_index_module.
1845 1881
1846 *) Добавление: директива directio оптимизирована для запросов файлов, 1882 *) Добавление: директива directio оптимизирована для запросов файлов,
1847 начинающихся с произвольной позиции. 1883 начинающихся с произвольной позиции.
1848 1884
1849 *) Добавление: директива directio при необходимости запрещает 1885 *) Добавление: директива directio при необходимости запрещает
1850 использование sendfile. 1886 использование sendfile.
1851 1887
1852 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в 1888 *) Добавление: теперь nginx разрешает подчёркивания в именах строк в
1853 заголовке запроса клиента. 1889 заголовке запроса клиента.
1854 1890
1855 1891
1856 Изменения в nginx 0.7.14 01.09.2008 1892 Изменения в nginx 0.7.14 01.09.2008
1857 1893
1858 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не 1894 *) Изменение: теперь директивы ssl_certificate и ssl_certificate_key не
1859 имеют значений по умолчанию. 1895 имеют значений по умолчанию.
1860 1896
1861 *) Добавление: директива listen поддерживает параметр ssl. 1897 *) Добавление: директива listen поддерживает параметр ssl.
1862 1898
1863 *) Добавление: теперь при переконфигурации nginx учитывает изменение 1899 *) Добавление: теперь при переконфигурации nginx учитывает изменение
1864 временной зоны на FreeBSD и Linux. 1900 временной зоны на FreeBSD и Linux.
1865 1901
1866 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и 1902 *) Исправление: параметры директивы listen, такие как backlog, rcvbuf и
1867 прочие, не устанавливались, если сервером по умолчанию был не первый 1903 прочие, не устанавливались, если сервером по умолчанию был не первый
1868 сервер. 1904 сервер.
1869 1905
1870 *) Исправление: при использовании в качестве аргументов части URI, 1906 *) Исправление: при использовании в качестве аргументов части URI,
1871 выделенного с помощью директивы rewrite, эти аргументы не 1907 выделенного с помощью директивы rewrite, эти аргументы не
1872 экранировались. 1908 экранировались.
1873 1909
1874 *) Исправление: улучшения тестирования правильности конфигурационного 1910 *) Исправление: улучшения тестирования правильности конфигурационного
1875 файла. 1911 файла.
1876 1912
1877 1913
1878 Изменения в nginx 0.7.13 26.08.2008 1914 Изменения в nginx 0.7.13 26.08.2008
1879 1915
1880 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась 1916 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
1881 в 0.7.12. 1917 в 0.7.12.
1882 1918
1883 1919
1884 Изменения в nginx 0.7.12 26.08.2008 1920 Изменения в nginx 0.7.12 26.08.2008
1885 1921
1886 *) Добавление: директива server_name поддерживает пустое имя "". 1922 *) Добавление: директива server_name поддерживает пустое имя "".
1887 1923
1888 *) Добавление: директива gzip_disable поддерживает специальную маску 1924 *) Добавление: директива gzip_disable поддерживает специальную маску
1889 msie6. 1925 msie6.
1890 1926
1891 *) Исправление: при использовании параметра max_fails=0 в upstream'е с 1927 *) Исправление: при использовании параметра max_fails=0 в upstream'е с
1892 несколькими серверами рабочий процесс выходил по сигналу SIGFPE. 1928 несколькими серверами рабочий процесс выходил по сигналу SIGFPE.
1893 Спасибо Максиму Дунину. 1929 Спасибо Максиму Дунину.
1894 1930
1895 *) Исправление: при перенаправлении запроса с помощью директивы 1931 *) Исправление: при перенаправлении запроса с помощью директивы
1896 error_page терялось тело запроса. 1932 error_page терялось тело запроса.
1897 1933
1898 *) Исправление: при перенаправлении запроса с методом HEAD с помощью 1934 *) Исправление: при перенаправлении запроса с методом HEAD с помощью
1899 директивы error_page возвращался полный ответ. 1935 директивы error_page возвращался полный ответ.
1900 1936
1901 *) Исправление: метод $r->header_in() не возвращал значения строк 1937 *) Исправление: метод $r->header_in() не возвращал значения строк
1902 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка 1938 "Host", "User-Agent", и "Connection" из заголовка запроса; ошибка
1903 появилась в 0.7.0. 1939 появилась в 0.7.0.
1904 1940
1905 1941
1906 Изменения в nginx 0.7.11 18.08.2008 1942 Изменения в nginx 0.7.11 18.08.2008
1907 1943
1908 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает 1944 *) Изменение: теперь ngx_http_charset_module по умолчанию не работает
1909 MIME-типом text/css. 1945 MIME-типом text/css.
1910 1946
1911 *) Добавление: теперь nginx возвращает код 405 для метода POST при 1947 *) Добавление: теперь nginx возвращает код 405 для метода POST при
1912 запросе статического файла, только если файл существует. 1948 запросе статического файла, только если файл существует.
1913 1949
1914 *) Добавление: директива proxy_ssl_session_reuse. 1950 *) Добавление: директива proxy_ssl_session_reuse.
1915 1951
1916 *) Исправление: после перенаправления запроса с помощью 1952 *) Исправление: после перенаправления запроса с помощью
1917 "X-Accel-Redirect" директива proxy_pass без URI могла использовать 1953 "X-Accel-Redirect" директива proxy_pass без URI могла использовать
1918 оригинальный запрос. 1954 оригинальный запрос.
1919 1955
1920 *) Исправление: если у каталога были права доступа только на поиск 1956 *) Исправление: если у каталога были права доступа только на поиск
1921 файлов и первый индексный файл отсутствовал, то nginx возвращал 1957 файлов и первый индексный файл отсутствовал, то nginx возвращал
1922 ошибку 500. 1958 ошибку 500.
1923 1959
1924 *) Исправление: ошибок во вложенных location'ах; ошибки появились в 1960 *) Исправление: ошибок во вложенных location'ах; ошибки появились в
1925 0.7.1. 1961 0.7.1.
1926 1962
1927 1963
1928 Изменения в nginx 0.7.10 13.08.2008 1964 Изменения в nginx 0.7.10 13.08.2008
1929 1965
1930 *) Исправление: ошибок в директивах addition_types, charset_types, 1966 *) Исправление: ошибок в директивах addition_types, charset_types,
1931 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки 1967 gzip_types, ssi_types, sub_filter_types и xslt_types; ошибки
1932 появились в 0.7.9. 1968 появились в 0.7.9.
1933 1969
1934 *) Исправление: рекурсивной error_page для 500 ошибки. 1970 *) Исправление: рекурсивной error_page для 500 ошибки.
1935 1971
1936 *) Исправление: теперь модуль ngx_http_realip_module устанавливает 1972 *) Исправление: теперь модуль ngx_http_realip_module устанавливает адрес
1937 адрес не для всего keepalive соединения, а для каждого запроса по 1973 не для всего keepalive соединения, а для каждого запроса по этому
1938 этому соединению. 1974 соединению.
1939 1975
1940 1976
1941 Изменения в nginx 0.7.9 12.08.2008 1977 Изменения в nginx 0.7.9 12.08.2008
1942 1978
1943 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со 1979 *) Изменение: теперь ngx_http_charset_module по умолчанию работает со
1944 следующими MIME-типами: text/html, text/css, text/xml, text/plain, 1980 следующими MIME-типами: text/html, text/css, text/xml, text/plain,
1945 text/vnd.wap.wml, application/x-javascript и application/rss+xml. 1981 text/vnd.wap.wml, application/x-javascript и application/rss+xml.
1946 1982
1947 *) Добавление: директивы charset_types и addition_types. 1983 *) Добавление: директивы charset_types и addition_types.
1948 1984
1949 *) Добавление: теперь директивы gzip_types, ssi_types и 1985 *) Добавление: теперь директивы gzip_types, ssi_types и sub_filter_types
1950 sub_filter_types используют хэш. 1986 используют хэш.
1951 1987
1952 *) Добавление: модуль ngx_cpp_test_module. 1988 *) Добавление: модуль ngx_cpp_test_module.
1953 1989
1954 *) Добавление: директива expires поддерживает суточное время. 1990 *) Добавление: директива expires поддерживает суточное время.
1955 1991
1956 *) Добавление: улучшения и исправления в модуле 1992 *) Добавление: улучшения и исправления в модуле ngx_http_xslt_module.
1957 ngx_http_xslt_module.
1958 Спасибо Денису Латыпову и Максиму Дунину. 1993 Спасибо Денису Латыпову и Максиму Дунину.
1959 1994
1960 *) Исправление: директива log_not_found не работала при поиске 1995 *) Исправление: директива log_not_found не работала при поиске индексных
1961 индексных файлов. 1996 файлов.
1962 1997
1963 *) Исправление: HTTPS-соединения могли зависнуть, если использовались 1998 *) Исправление: HTTPS-соединения могли зависнуть, если использовались
1964 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7. 1999 методы kqueue, epoll, rtsig или eventport; ошибка появилась в 0.7.7.
1965 2000
1966 *) Исправление: если в директивах server_name, valid_referers и map 2001 *) Исправление: если в директивах server_name, valid_referers и map
1967 использовалась маска вида "*.domain.tld" и при этом полное имя вида 2002 использовалась маска вида "*.domain.tld" и при этом полное имя вида
1968 "domain.tld" не было описано, то это имя попадало под маску; ошибка 2003 "domain.tld" не было описано, то это имя попадало под маску; ошибка
1969 появилась в 0.3.18. 2004 появилась в 0.3.18.
1970 2005
1971 2006
1972 Изменения в nginx 0.7.8 04.08.2008 2007 Изменения в nginx 0.7.8 04.08.2008
1973 2008
1976 *) Добавление: переменные "$arg_...". 2011 *) Добавление: переменные "$arg_...".
1977 2012
1978 *) Добавление: поддержка directio в Solaris. 2013 *) Добавление: поддержка directio в Solaris.
1979 Спасибо Ivan Debnar. 2014 Спасибо Ivan Debnar.
1980 2015
1981 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location" 2016 *) Исправление: теперь, если FastCGI-сервер присылает строку "Location"
1982 в заголовке ответа без строки статуса, то nginx использует код 2017 в заголовке ответа без строки статуса, то nginx использует код
1983 статуса 302. 2018 статуса 302.
1984 Спасибо Максиму Дунину. 2019 Спасибо Максиму Дунину.
1985 2020
1986 2021
1987 Изменения в nginx 0.7.7 30.07.2008 2022 Изменения в nginx 0.7.7 30.07.2008
1988 2023
1989 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается 2024 *) Изменение: теперь ошибка EAGAIN при вызове connect() не считается
1990 временной. 2025 временной.
1991 2026
1992 *) Изменение: значением переменной $ssl_client_cert теперь является 2027 *) Изменение: значением переменной $ssl_client_cert теперь является
1993 сертификат, перед каждой строкой которого, кроме первой, вставляется 2028 сертификат, перед каждой строкой которого, кроме первой, вставляется
1994 символ табуляции; неизменённый сертификат доступен через переменную 2029 символ табуляции; неизменённый сертификат доступен через переменную
1995 $ssl_client_raw_cert. 2030 $ssl_client_raw_cert.
1996 2031
1997 *) Добавление: параметр ask директивы ssl_verify_client. 2032 *) Добавление: параметр ask директивы ssl_verify_client.
1998 2033
1999 *) Добавление: улучшения в обработке byte-range. 2034 *) Добавление: улучшения в обработке byte-range.
2002 *) Добавление: директива directio. 2037 *) Добавление: директива directio.
2003 Спасибо Jiang Hong. 2038 Спасибо Jiang Hong.
2004 2039
2005 *) Добавление: поддержка sendfile() в MacOSX 10.5. 2040 *) Добавление: поддержка sendfile() в MacOSX 10.5.
2006 2041
2007 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь 2042 *) Исправление: в MacOSX и Cygwin при проверке location'ов теперь
2008 делается сравнение без учёта регистра символов; однако, сравнение 2043 делается сравнение без учёта регистра символов; однако, сравнение
2009 ограничено только однобайтными locale'ями. 2044 ограничено только однобайтными locale'ями.
2010 2045
2011 *) Исправление: соединения почтового прокси-сервера зависали в режиме 2046 *) Исправление: соединения почтового прокси-сервера зависали в режиме
2012 SSL, если использовались методы select, poll или /dev/poll. 2047 SSL, если использовались методы select, poll или /dev/poll.
2013 2048
2014 *) Исправление: ошибки при использовании кодировки UTF-8 в 2049 *) Исправление: ошибки при использовании кодировки UTF-8 в
2015 ngx_http_autoindex_module. 2050 ngx_http_autoindex_module.
2016 2051
2017 2052
2018 Изменения в nginx 0.7.6 07.07.2008 2053 Изменения в nginx 0.7.6 07.07.2008
2019 2054
2020 *) Исправление: теперь при использовании переменных в директиве 2055 *) Исправление: теперь при использовании переменных в директиве
2021 access_log всегда проверяется существовании root'а для запроса. 2056 access_log всегда проверяется существовании root'а для запроса.
2022 2057
2023 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько 2058 *) Исправление: модуль ngx_http_flv_module не поддерживал несколько
2024 значений в аргументах запроса. 2059 значений в аргументах запроса.
2025 2060
2026 2061
2027 Изменения в nginx 0.7.5 01.07.2008 2062 Изменения в nginx 0.7.5 01.07.2008
2028 2063
2029 *) Исправления в поддержке переменных в директиве access_log; ошибки 2064 *) Исправления в поддержке переменных в директиве access_log; ошибки
2030 появились в 0.7.4. 2065 появились в 0.7.4.
2031 2066
2032 *) Исправление: nginx не собирался с параметром 2067 *) Исправление: nginx не собирался с параметром
2033 --without-http_gzip_module; ошибка появилась в 0.7.3. 2068 --without-http_gzip_module; ошибка появилась в 0.7.3.
2034 Спасибо Кириллу Коринскому. 2069 Спасибо Кириллу Коринскому.
2035 2070
2036 *) Исправление: при совместном использовании sub_filter и SSI ответы 2071 *) Исправление: при совместном использовании sub_filter и SSI ответы
2037 могли передаваться неверно. 2072 могли передаваться неверно.
2038 2073
2039 2074
2040 Изменения в nginx 0.7.4 30.06.2008 2075 Изменения в nginx 0.7.4 30.06.2008
2041 2076
2050 *) Исправление: большие включения в SSI могли передавались не полностью. 2085 *) Исправление: большие включения в SSI могли передавались не полностью.
2051 2086
2052 2087
2053 Изменения в nginx 0.7.3 23.06.2008 2088 Изменения в nginx 0.7.3 23.06.2008
2054 2089
2055 *) Изменение: MIME-тип для расширения rss изменён на 2090 *) Изменение: MIME-тип для расширения rss изменён на
2056 "application/rss+xml". 2091 "application/rss+xml".
2057 2092
2058 *) Изменение: теперь директива "gzip_vary on" выдаёт строку 2093 *) Изменение: теперь директива "gzip_vary on" выдаёт строку
2059 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов. 2094 "Vary: Accept-Encoding" в заголовке ответа и для несжатых ответов.
2060 2095
2061 *) Добавление: теперь при использовании протокола "https://" в 2096 *) Добавление: теперь при использовании протокола "https://" в директиве
2062 директиве rewrite автоматически делается редирект. 2097 rewrite автоматически делается редирект.
2063 2098
2064 *) Исправление: директива proxy_pass не работала с протоколом HTTPS; 2099 *) Исправление: директива proxy_pass не работала с протоколом HTTPS;
2065 ошибка появилась в 0.6.9. 2100 ошибка появилась в 0.6.9.
2066 2101
2067 2102
2068 Изменения в nginx 0.7.2 16.06.2008 2103 Изменения в nginx 0.7.2 16.06.2008
2069 2104
2072 *) Добавление: директива ssl_dhparam. 2107 *) Добавление: директива ssl_dhparam.
2073 2108
2074 *) Добавление: переменная $ssl_client_cert. 2109 *) Добавление: переменная $ssl_client_cert.
2075 Спасибо Manlio Perillo. 2110 Спасибо Manlio Perillo.
2076 2111
2077 *) Исправление: после изменения URI с помощью директивы rewrite nginx 2112 *) Исправление: после изменения URI с помощью директивы rewrite nginx не
2078 не искал новый location; ошибка появилась в 0.7.1. 2113 искал новый location; ошибка появилась в 0.7.1.
2079 Спасибо Максиму Дунину. 2114 Спасибо Максиму Дунину.
2080 2115
2081 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 2116 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2082 появилась в 0.7.1. 2117 в 0.7.1.
2083 2118
2084 *) Исправление: при редиректе запроса к каталогу с добавлением слэша 2119 *) Исправление: при редиректе запроса к каталогу с добавлением слэша
2085 nginx не добавлял аргументы из оригинального запроса. 2120 nginx не добавлял аргументы из оригинального запроса.
2086 2121
2087 2122
2088 Изменения в nginx 0.7.1 26.05.2008 2123 Изменения в nginx 0.7.1 26.05.2008
2089 2124
2090 *) Изменение: теперь поиск location'а делается с помощью дерева. 2125 *) Изменение: теперь поиск location'а делается с помощью дерева.
2091 2126
2092 *) Изменение: директива optimize_server_names упразднена в связи с 2127 *) Изменение: директива optimize_server_names упразднена в связи с
2093 появлением директивы server_name_in_redirect. 2128 появлением директивы server_name_in_redirect.
2094 2129
2095 *) Изменение: некоторые давно устаревшие директивы больше не 2130 *) Изменение: некоторые давно устаревшие директивы больше не
2096 поддерживаются. 2131 поддерживаются.
2097 2132
2098 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь 2133 *) Изменение: параметр "none" в директиве ssl_session_cache; теперь этот
2099 этот параметр используется по умолчанию. 2134 параметр используется по умолчанию.
2100 Спасибо Rob Mueller. 2135 Спасибо Rob Mueller.
2101 2136
2102 *) Исправление: рабочие процессы могли не реагировать на сигналы 2137 *) Исправление: рабочие процессы могли не реагировать на сигналы
2103 переконфигурации и ротации логов. 2138 переконфигурации и ротации логов.
2104 2139
2105 *) Исправление: nginx не собирался на последних Fedora 9 Linux. 2140 *) Исправление: nginx не собирался на последних Fedora 9 Linux.
2106 Спасибо Roxis. 2141 Спасибо Roxis.
2107 2142
2108 2143
2109 Изменения в nginx 0.7.0 19.05.2008 2144 Изменения в nginx 0.7.0 19.05.2008
2110 2145
2111 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log 2146 *) Изменение: теперь символы 0x00-0x1F, '"' и '\' в access_log
2112 записываются в виде \xXX. 2147 записываются в виде \xXX.
2113 Спасибо Максиму Дунину. 2148 Спасибо Максиму Дунину.
2114 2149
2115 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке 2150 *) Изменение: теперь nginx разрешает несколько строк "Host" в заголовке
2116 запроса. 2151 запроса.
2117 2152
2118 *) Добавление: директива expires поддерживает флаг modified. 2153 *) Добавление: директива expires поддерживает флаг modified.
2119 2154
2120 *) Добавление: переменные $uid_got и $uid_set можно использовать на 2155 *) Добавление: переменные $uid_got и $uid_set можно использовать на
2121 любой стадии обработки запроса. 2156 любой стадии обработки запроса.
2122 2157
2123 *) Добавление: переменная $hostname. 2158 *) Добавление: переменная $hostname.
2124 Спасибо Андрею Нигматулину. 2159 Спасибо Андрею Нигматулину.
2125 2160
2126 *) Добавление: поддержка DESTDIR. 2161 *) Добавление: поддержка DESTDIR.
2127 Спасибо Todd A. Fisher и Andras Voroskoi. 2162 Спасибо Todd A. Fisher и Andras Voroskoi.
2128 2163
2129 *) Исправление: при использовании keepalive на Linux в рабочем процессе 2164 *) Исправление: при использовании keepalive на Linux в рабочем процессе
2130 мог произойти segmentation fault. 2165 мог произойти segmentation fault.
2131 2166
2132 2167
2133 Изменения в nginx 0.6.31 12.05.2008 2168 Изменения в nginx 0.6.31 12.05.2008
2134 2169
2135 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка 2170 *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
2136 заголовка ответ была в конце записи FastCGI; ошибка появилась в 2171 заголовка ответ была в конце записи FastCGI; ошибка появилась в
2137 0.6.2. 2172 0.6.2.
2138 Спасибо Сергею Серову. 2173 Спасибо Сергею Серову.
2139 2174
2140 *) Исправление: при удалении файла и использовании директивы 2175 *) Исправление: при удалении файла и использовании директивы
2141 open_file_cache_errors off в рабочем процессе мог произойти 2176 open_file_cache_errors off в рабочем процессе мог произойти
2142 segmentation fault. 2177 segmentation fault.
2143 2178
2144 2179
2145 Изменения в nginx 0.6.30 29.04.2008 2180 Изменения в nginx 0.6.30 29.04.2008
2146 2181
2147 *) Изменение: теперь, если маске, заданной в директиве include, не 2182 *) Изменение: теперь, если маске, заданной в директиве include, не
2148 соответствует ни один файл, то nginx не выдаёт ошибку. 2183 соответствует ни один файл, то nginx не выдаёт ошибку.
2149 2184
2150 *) Добавление: теперь время в директивах можно задавать без пробела, 2185 *) Добавление: теперь время в директивах можно задавать без пробела,
2151 например, "1h50m". 2186 например, "1h50m".
2152 2187
2153 *) Исправление: утечек памяти, если директива ssl_verify_client имела 2188 *) Исправление: утечек памяти, если директива ssl_verify_client имела
2154 значение on. 2189 значение on.
2155 Спасибо Chavelle Vincent. 2190 Спасибо Chavelle Vincent.
2156 2191
2157 *) Исправление: директива sub_filter могла вставлять заменяемый текст в 2192 *) Исправление: директива sub_filter могла вставлять заменяемый текст в
2158 вывод. 2193 вывод.
2159 2194
2160 *) Исправление: директива error_page не воспринимала параметры в 2195 *) Исправление: директива error_page не воспринимала параметры в
2161 перенаправляемом URI. 2196 перенаправляемом URI.
2162 2197
2163 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы 2198 *) Исправление: теперь при сборке с Cygwin nginx всегда открывает файлы
2164 в бинарном режиме. 2199 в бинарном режиме.
2165 2200
2166 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в 2201 *) Исправление: nginx не собирался под OpenBSD; ошибка появилась в
2167 0.6.15. 2202 0.6.15.
2168 2203
2169 2204
2170 Изменения в nginx 0.6.29 18.03.2008 2205 Изменения в nginx 0.6.29 18.03.2008
2171 2206
2172 *) Добавление: модуль ngx_google_perftools_module. 2207 *) Добавление: модуль ngx_google_perftools_module.
2173 2208
2174 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных 2209 *) Исправление: модуль ngx_http_perl_module не собирался на 64-битных
2175 платформах; ошибка появилась в 0.6.27. 2210 платформах; ошибка появилась в 0.6.27.
2176 2211
2177 2212
2178 Изменения в nginx 0.6.28 13.03.2008 2213 Изменения в nginx 0.6.28 13.03.2008
2179 2214
2180 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27. 2215 *) Исправление: метод rtsig не собирался; ошибка появилась в 0.6.27.
2181 2216
2182 2217
2183 Изменения в nginx 0.6.27 12.03.2008 2218 Изменения в nginx 0.6.27 12.03.2008
2184 2219
2185 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод 2220 *) Изменение: теперь на Linux 2.6.18+ по умолчанию не собирается метод
2186 rtsig. 2221 rtsig.
2187 2222
2188 *) Изменение: теперь при перенаправлении запроса в именованный location 2223 *) Изменение: теперь при перенаправлении запроса в именованный location
2189 с помощью директивы error_page метод запроса не изменяется. 2224 с помощью директивы error_page метод запроса не изменяется.
2190 2225
2191 *) Добавление: директивы resolver и resolver_timeout в SMTP 2226 *) Добавление: директивы resolver и resolver_timeout в SMTP
2192 прокси-сервере. 2227 прокси-сервере.
2193 2228
2194 *) Добавление: директива post_action поддерживает именованные 2229 *) Добавление: директива post_action поддерживает именованные
2195 location'ы. 2230 location'ы.
2196 2231
2197 *) Исправление: при перенаправлении запроса из location'а c 2232 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2198 обработчиком proxy, FastCGI или memcached в именованный location со 2233 proxy, FastCGI или memcached в именованный location со статическим
2199 статическим обработчиком в рабочем процессе происходил segmentation 2234 обработчиком в рабочем процессе происходил segmentation fault.
2200 fault. 2235
2201 2236 *) Исправление: браузеры не повторяли SSL handshake, если при первом
2202 *) Исправление: браузеры не повторяли SSL handshake, если при первом 2237 handshake не оказалось правильного клиентского сертификата.
2203 handshake не оказалось правильного клиентского сертификата.
2204 Спасибо Александру Инюхину. 2238 Спасибо Александру Инюхину.
2205 2239
2206 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы 2240 *) Исправление: при перенаправлении ошибок 495-497 с помощью директивы
2207 error_page без изменения кода ошибки nginx пытался выделить очень 2241 error_page без изменения кода ошибки nginx пытался выделить очень
2208 много памяти. 2242 много памяти.
2209 2243
2210 *) Исправление: утечки памяти в долгоживущих небуфферизированных 2244 *) Исправление: утечки памяти в долгоживущих небуфферизированных
2211 соединениях. 2245 соединениях.
2212 2246
2213 *) Исправление: утечки памяти в resolver'е. 2247 *) Исправление: утечки памяти в resolver'е.
2214 2248
2215 *) Исправление: при перенаправлении запроса из location'а c 2249 *) Исправление: при перенаправлении запроса из location'а c обработчиком
2216 обработчиком proxy в другой location с обработчиком proxy в рабочем 2250 proxy в другой location с обработчиком proxy в рабочем процессе
2217 процессе происходил segmentation fault. 2251 происходил segmentation fault.
2218 2252
2219 *) Исправление: ошибки в кэшировании переменных $proxy_host и 2253 *) Исправление: ошибки в кэшировании переменных $proxy_host и
2220 $proxy_port. 2254 $proxy_port.
2221 Спасибо Сергею Боченкову. 2255 Спасибо Сергею Боченкову.
2222 2256
2223 *) Исправление: директива proxy_pass с переменными использовала порт, 2257 *) Исправление: директива proxy_pass с переменными использовала порт,
2224 описанной в другой директиве proxy_pass без переменных, но с таким 2258 описанной в другой директиве proxy_pass без переменных, но с таким же
2225 же именем хоста. 2259 именем хоста.
2226 Спасибо Сергею Боченкову. 2260 Спасибо Сергею Боченкову.
2227 2261
2228 *) Исправление: во время переконфигурации на некоторых 64-битном 2262 *) Исправление: во время переконфигурации на некоторых 64-битном
2229 платформах в лог записывался alert "sendmsg() failed (9: Bad file 2263 платформах в лог записывался alert "sendmsg() failed (9: Bad file
2230 descriptor)". 2264 descriptor)".
2231 2265
2232 *) Исправление: при повторном использовании в SSI пустого block'а в 2266 *) Исправление: при повторном использовании в SSI пустого block'а в
2233 качестве заглушки в рабочем процессе происходил segmentation fault. 2267 качестве заглушки в рабочем процессе происходил segmentation fault.
2234 2268
2235 *) Исправление: ошибки при копировании части URI, содержащего 2269 *) Исправление: ошибки при копировании части URI, содержащего
2236 экранированные символы, в аргументы. 2270 экранированные символы, в аргументы.
2237 2271
2238 2272
2239 Изменения в nginx 0.6.26 11.02.2008 2273 Изменения в nginx 0.6.26 11.02.2008
2240 2274
2241 *) Исправление: директивы proxy_store и fastcgi_store не проверяли 2275 *) Исправление: директивы proxy_store и fastcgi_store не проверяли длину
2242 длину ответа. 2276 ответа.
2243 2277
2244 *) Исправление: при использовании большого значения в директиве expires 2278 *) Исправление: при использовании большого значения в директиве expires
2245 в рабочем процессе происходил segmentation fault. 2279 в рабочем процессе происходил segmentation fault.
2246 Спасибо Joaquin Cuenca Abela. 2280 Спасибо Joaquin Cuenca Abela.
2247 2281
2248 *) Исправление: nginx неверно определял длину строки кэша на 2282 *) Исправление: nginx неверно определял длину строки кэша на Pentium 4.
2249 Pentium 4.
2250 Спасибо Геннадию Махомеду. 2283 Спасибо Геннадию Махомеду.
2251 2284
2252 *) Исправление: в проксированных подзапросах и подзапросах к 2285 *) Исправление: в проксированных подзапросах и подзапросах к
2253 FastCGI-серверу вместо метода GET использовался оригинальный метод 2286 FastCGI-серверу вместо метода GET использовался оригинальный метод
2254 клиента. 2287 клиента.
2255 2288
2256 *) Исправление: утечки сокетов в режиме HTTPS при использовании 2289 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2257 отложенного accept'а. 2290 отложенного accept'а.
2258 Спасибо Ben Maurer. 2291 Спасибо Ben Maurer.
2259 2292
2260 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() 2293 *) Исправление: nginx выдавал ошибочное сообщение "SSL_shutdown() failed
2261 failed (SSL: )"; ошибка появилась в 0.6.23. 2294 (SSL: )"; ошибка появилась в 0.6.23.
2262 2295
2263 *) Исправление: при использовании HTTPS запросы могли завершаться с 2296 *) Исправление: при использовании HTTPS запросы могли завершаться с
2264 ошибкой "bad write retry"; ошибка появилась в 0.6.23. 2297 ошибкой "bad write retry"; ошибка появилась в 0.6.23.
2265 2298
2266 2299
2267 Изменения в nginx 0.6.25 08.01.2008 2300 Изменения в nginx 0.6.25 08.01.2008
2268 2301
2269 *) Изменение: вместо специального параметра "*" в директиве server_name 2302 *) Изменение: вместо специального параметра "*" в директиве server_name
2270 теперь используется директива server_name_in_redirect. 2303 теперь используется директива server_name_in_redirect.
2271 2304
2272 *) Изменение: в качестве основного имени в директиве server_name теперь 2305 *) Изменение: в качестве основного имени в директиве server_name теперь
2273 можно использовать имена с масками и регулярными выражениями. 2306 можно использовать имена с масками и регулярными выражениями.
2274 2307
2275 *) Изменение: директива satisfy_any заменена директивой satisfy. 2308 *) Изменение: директива satisfy_any заменена директивой satisfy.
2276 2309
2277 *) Изменение: после переконфигурации старые рабочие процесс могли 2310 *) Изменение: после переконфигурации старые рабочие процесс могли сильно
2278 сильно нагружать процессор при запуске под Linux OpenVZ. 2311 нагружать процессор при запуске под Linux OpenVZ.
2279 2312
2280 *) Добавление: директива min_delete_depth. 2313 *) Добавление: директива min_delete_depth.
2281 2314
2282 *) Исправление: методы COPY и MOVE не работали с одиночными файлами. 2315 *) Исправление: методы COPY и MOVE не работали с одиночными файлами.
2283 2316
2284 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать 2317 *) Исправление: модуль ngx_http_gzip_static_module не позволял работать
2285 модулю ngx_http_dav_module; ошибка появилась в 0.6.23. 2318 модулю ngx_http_dav_module; ошибка появилась в 0.6.23.
2286 2319
2287 *) Исправление: утечки сокетов в режиме HTTPS при использовании 2320 *) Исправление: утечки сокетов в режиме HTTPS при использовании
2288 отложенного accept'а. 2321 отложенного accept'а.
2289 Спасибо Ben Maurer. 2322 Спасибо Ben Maurer.
2290 2323
2291 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка 2324 *) Исправление: nginx не собирался без библиотеки PCRE; ошибка появилась
2292 появилась в 0.6.23. 2325 в 0.6.23.
2293 2326
2294 2327
2295 Изменения в nginx 0.6.24 27.12.2007 2328 Изменения в nginx 0.6.24 27.12.2007
2296 2329
2297 *) Исправление: при использовании HTTPS в рабочем процессе мог 2330 *) Исправление: при использовании HTTPS в рабочем процессе мог произойти
2298 произойти segmentation fault; ошибка появилась в 0.6.23. 2331 segmentation fault; ошибка появилась в 0.6.23.
2299 2332
2300 2333
2301 Изменения в nginx 0.6.23 27.12.2007 2334 Изменения в nginx 0.6.23 27.12.2007
2302 2335
2303 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот 2336 *) Изменение: параметр "off" в директиве ssl_session_cache; теперь этот
2304 параметр используется по умолчанию. 2337 параметр используется по умолчанию.
2305 2338
2306 *) Изменение: директива open_file_cache_retest переименована в 2339 *) Изменение: директива open_file_cache_retest переименована в
2307 open_file_cache_valid. 2340 open_file_cache_valid.
2308 2341
2309 *) Добавление: директива open_file_cache_min_uses. 2342 *) Добавление: директива open_file_cache_min_uses.
2310 2343
2311 *) Добавление: модуль ngx_http_gzip_static_module. 2344 *) Добавление: модуль ngx_http_gzip_static_module.
2312 2345
2313 *) Добавление: директива gzip_disable. 2346 *) Добавление: директива gzip_disable.
2314 2347
2315 *) Добавление: директиву memcached_pass можно использовать внутри блока 2348 *) Добавление: директиву memcached_pass можно использовать внутри блока
2316 if. 2349 if.
2317 2350
2318 *) Исправление: если внутри одного location'а использовались директивы 2351 *) Исправление: если внутри одного location'а использовались директивы
2319 "memcached_pass" и "if", то в рабочем процессе происходил 2352 "memcached_pass" и "if", то в рабочем процессе происходил
2320 segmentation fault. 2353 segmentation fault.
2321 2354
2322 *) Исправление: если при использовании директивы satisfy_any on" были 2355 *) Исправление: если при использовании директивы satisfy_any on" были
2323 заданы директивы не всех модулей доступа, то заданные директивы не 2356 заданы директивы не всех модулей доступа, то заданные директивы не
2324 проверялись. 2357 проверялись.
2325 2358
2326 *) Исправление: параметры, заданные регулярным выражением в директиве 2359 *) Исправление: параметры, заданные регулярным выражением в директиве
2327 valid_referers, не наследовалась с предыдущего уровня. 2360 valid_referers, не наследовалась с предыдущего уровня.
2328 2361
2329 *) Исправление: директива post_action не работала, если запрос 2362 *) Исправление: директива post_action не работала, если запрос
2330 завершался с кодом 499. 2363 завершался с кодом 499.
2331 2364
2332 *) Исправление: оптимизация использования 16K буфера для 2365 *) Исправление: оптимизация использования 16K буфера для SSL-соединения.
2333 SSL-соединения.
2334 Спасибо Ben Maurer. 2366 Спасибо Ben Maurer.
2335 2367
2336 *) Исправление: STARTTLS в режиме SMTP не работал. 2368 *) Исправление: STARTTLS в режиме SMTP не работал.
2337 Спасибо Олегу Мотиенко. 2369 Спасибо Олегу Мотиенко.
2338 2370
2339 *) Исправление: при использовании HTTPS запросы могли завершаться с 2371 *) Исправление: при использовании HTTPS запросы могли завершаться с
2340 ошибкой "bad write retry"; ошибка появилась в 0.5.13. 2372 ошибкой "bad write retry"; ошибка появилась в 0.5.13.
2341 2373
2342 2374
2343 Изменения в nginx 0.6.22 19.12.2007 2375 Изменения в nginx 0.6.22 19.12.2007
2344 2376
2345 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают 2377 *) Изменение: теперь все методы модуля ngx_http_perl_module возвращают
2346 значения, скопированные в память, выделенную perl'ом. 2378 значения, скопированные в память, выделенную perl'ом.
2347 2379
2348 *) Исправление: если nginx был собран с модулем ngx_http_perl_module, 2380 *) Исправление: если nginx был собран с модулем ngx_http_perl_module,
2349 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во 2381 использовался perl до версии 5.8.6 и perl поддерживал потоки, то во
2350 время переконфигурации основной процесс аварийно выходил; ошибка 2382 время переконфигурации основной процесс аварийно выходил; ошибка
2351 появилась в 0.5.9. 2383 появилась в 0.5.9.
2352 Спасибо Борису Жмурову. 2384 Спасибо Борису Жмурову.
2353 2385
2354 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться 2386 *) Исправление: в методы модуля ngx_http_perl_module могли передаваться
2355 неверные результаты выделения в регулярных выражениях. 2387 неверные результаты выделения в регулярных выражениях.
2356 2388
2357 *) Исправление: если метод $r->has_request_body() вызывался для 2389 *) Исправление: если метод $r->has_request_body() вызывался для запроса,
2358 запроса, у которого небольшое тело запроса было уже полностью 2390 у которого небольшое тело запроса было уже полностью получено, то в
2359 получено, то в рабочем процессе происходил segmentation fault. 2391 рабочем процессе происходил segmentation fault.
2360 2392
2361 *) Исправление: large_client_header_buffers не освобождались перед 2393 *) Исправление: large_client_header_buffers не освобождались перед
2362 переходом в состояние keep-alive. 2394 переходом в состояние keep-alive.
2363 Спасибо Олександру Штепе. 2395 Спасибо Олександру Штепе.
2364 2396
2365 *) Исправление: в переменной $upstream_addr не записывался последний 2397 *) Исправление: в переменной $upstream_addr не записывался последний
2366 адрес; ошибка появилась в 0.6.18. 2398 адрес; ошибка появилась в 0.6.18.
2367 2399
2368 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку; 2400 *) Исправление: директива fastcgi_catch_stderr не возвращала ошибку;
2369 теперь она возвращает ошибку 502, которую можно направить на 2401 теперь она возвращает ошибку 502, которую можно направить на
2370 следующий сервер с помощью "fastcgi_next_upstream invalid_header". 2402 следующий сервер с помощью "fastcgi_next_upstream invalid_header".
2371 2403
2372 *) Исправление: при использовании директивы fastcgi_catch_stderr в 2404 *) Исправление: при использовании директивы fastcgi_catch_stderr в
2373 основном процессе происходил segmentation fault; ошибка появилась в 2405 основном процессе происходил segmentation fault; ошибка появилась в
2374 0.6.10. 2406 0.6.10.
2375 Спасибо Manlio Perillo. 2407 Спасибо Manlio Perillo.
2376 2408
2377 2409
2378 Изменения в nginx 0.6.21 03.12.2007 2410 Изменения в nginx 0.6.21 03.12.2007
2379 2411
2380 *) Изменение: если в значениях переменных директивы proxy_pass 2412 *) Изменение: если в значениях переменных директивы proxy_pass
2381 используются только IP-адреса, то указывать resolver не нужно. 2413 используются только IP-адреса, то указывать resolver не нужно.
2382 2414
2383 *) Исправление: при использовании директивы proxy_pass c URI-частью в 2415 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2384 рабочем процессе мог произойти segmentation fault; ошибка появилась 2416 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2385 в 0.6.19. 2417 0.6.19.
2386 2418
2387 *) Исправление: если resolver использовался на платформах, не 2419 *) Исправление: если resolver использовался на платформах, не
2388 поддерживающих метод kqueue, то nginx выдавал alert "name is out of 2420 поддерживающих метод kqueue, то nginx выдавал alert "name is out of
2389 response". 2421 response".
2390 Спасибо Андрею Нигматулину. 2422 Спасибо Андрею Нигматулину.
2391 2423
2392 *) Исправление: При использовании переменной $server_protocol в 2424 *) Исправление: При использовании переменной $server_protocol в
2393 FastCGI-параметрах и запросе, длина которого была близка к значению 2425 FastCGI-параметрах и запросе, длина которого была близка к значению
2394 директивы client_header_buffer_size, nginx выдавал alert "fastcgi: 2426 директивы client_header_buffer_size, nginx выдавал alert "fastcgi:
2395 the request record is too big". 2427 the request record is too big".
2396 2428
2397 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу 2429 *) Исправление: при обычном запросе версии HTTP/0.9 к HTTPS серверу
2398 nginx возвращал обычный ответ. 2430 nginx возвращал обычный ответ.
2399 2431
2400 2432
2401 Изменения в nginx 0.6.20 28.11.2007 2433 Изменения в nginx 0.6.20 28.11.2007
2402 2434
2403 *) Исправление: при использовании директивы proxy_pass c URI-частью в 2435 *) Исправление: при использовании директивы proxy_pass c URI-частью в
2404 рабочем процессе мог произойти segmentation fault; ошибка появилась 2436 рабочем процессе мог произойти segmentation fault; ошибка появилась в
2405 в 0.6.19. 2437 0.6.19.
2406 2438
2407 2439
2408 Изменения в nginx 0.6.19 27.11.2007 2440 Изменения в nginx 0.6.19 27.11.2007
2409 2441
2410 *) Исправление: версия 0.6.18 не собиралась. 2442 *) Исправление: версия 0.6.18 не собиралась.
2411 2443
2412 2444
2413 Изменения в nginx 0.6.18 27.11.2007 2445 Изменения в nginx 0.6.18 27.11.2007
2414 2446
2415 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с 2447 *) Изменение: теперь модуль ngx_http_userid_module в поле куки с номером
2416 номером процесса добавляет микросекунды на время старта. 2448 процесса добавляет микросекунды на время старта.
2417 2449
2418 *) Изменение: в error_log теперь записывается полная строка запроса 2450 *) Изменение: в error_log теперь записывается полная строка запроса
2419 вместо только URI. 2451 вместо только URI.
2420 2452
2421 *) Добавление: директива proxy_pass поддерживает переменные. 2453 *) Добавление: директива proxy_pass поддерживает переменные.
2422 2454
2423 *) Добавление: директивы resolver и resolver_timeout. 2455 *) Добавление: директивы resolver и resolver_timeout.
2424 2456
2425 *) Добавление: теперь директива "add_header last-modified ''" удаляет в 2457 *) Добавление: теперь директива "add_header last-modified ''" удаляет в
2426 заголовке ответа строку "Last-Modified". 2458 заголовке ответа строку "Last-Modified".
2427 2459
2428 *) Исправление: директива limit_rate не позволяла передавать на полной 2460 *) Исправление: директива limit_rate не позволяла передавать на полной
2429 скорости, даже если был указан очень большой лимит. 2461 скорости, даже если был указан очень большой лимит.
2430 2462
2431 2463
2432 Изменения в nginx 0.6.17 15.11.2007 2464 Изменения в nginx 0.6.17 15.11.2007
2433 2465
2434 *) Добавление: поддержка строки "If-Range" в заголовке запроса. 2466 *) Добавление: поддержка строки "If-Range" в заголовке запроса.
2435 Спасибо Александру Инюхину. 2467 Спасибо Александру Инюхину.
2436 2468
2437 *) Исправление: при использовании директивы msie_refresh повторно 2469 *) Исправление: при использовании директивы msie_refresh повторно
2438 экранировались уже экранированные символы; ошибка появилась в 0.6.4. 2470 экранировались уже экранированные символы; ошибка появилась в 0.6.4.
2439 2471
2440 *) Исправление: директива autoindex не работала при использовании 2472 *) Исправление: директива autoindex не работала при использовании "alias
2441 "alias /". 2473 /".
2442 2474
2443 *) Исправление: при использовании подзапросов в рабочем процессе мог 2475 *) Исправление: при использовании подзапросов в рабочем процессе мог
2444 произойти segmentation fault. 2476 произойти segmentation fault.
2445 2477
2446 *) Исправление: при использовании SSL и gzip большие ответы могли 2478 *) Исправление: при использовании SSL и gzip большие ответы могли
2447 передаваться не полностью. 2479 передаваться не полностью.
2448 2480
2449 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9, 2481 *) Исправление: если ответ проксированного сервера был версии HTTP/0.9,
2450 то переменная $status была равна 0. 2482 то переменная $status была равна 0.
2451 2483
2452 2484
2453 Изменения в nginx 0.6.16 29.10.2007 2485 Изменения в nginx 0.6.16 29.10.2007
2454 2486
2455 *) Изменение: теперь на Linux используется uname(2) вместо procfs. 2487 *) Изменение: теперь на Linux используется uname(2) вместо procfs.
2456 Спасибо Илье Новикову. 2488 Спасибо Илье Новикову.
2457 2489
2458 *) Исправление: если в директиве error_page использовался символ "?", 2490 *) Исправление: если в директиве error_page использовался символ "?", то
2459 то он экранировался при проксировании запроса; ошибка появилась в 2491 он экранировался при проксировании запроса; ошибка появилась в
2460 0.6.11. 2492 0.6.11.
2461 2493
2462 *) Исправление: совместимость с mget. 2494 *) Исправление: совместимость с mget.
2463 2495
2464 2496
2473 2505
2474 *) Добавление: директива server_tokens. 2506 *) Добавление: директива server_tokens.
2475 2507
2476 *) Исправление: nginx не раскодировал URI в команде SSI include. 2508 *) Исправление: nginx не раскодировал URI в команде SSI include.
2477 2509
2478 *) Исправление: при использовании переменной в директивах charset или 2510 *) Исправление: при использовании переменной в директивах charset или
2479 source_charset на старте или во время переконфигурации происходил 2511 source_charset на старте или во время переконфигурации происходил
2480 segmentation fault, 2512 segmentation fault,
2481 2513
2482 *) Исправление: nginx возвращал ошибку 400 на запросы вида 2514 *) Исправление: nginx возвращал ошибку 400 на запросы вида
2483 "GET http://www.domain.com HTTP/1.0". 2515 "GET http://www.domain.com HTTP/1.0".
2484 Спасибо James Oakley. 2516 Спасибо James Oakley.
2485 2517
2486 *) Исправление: после перенаправления запроса с телом запроса с помощью 2518 *) Исправление: после перенаправления запроса с телом запроса с помощью
2487 директивы error_page nginx пытался снова прочитать тело запроса; 2519 директивы error_page nginx пытался снова прочитать тело запроса;
2488 ошибка появилась в 0.6.7. 2520 ошибка появилась в 0.6.7.
2489 2521
2490 *) Исправление: в рабочем процессе происходил segmentation fault, если 2522 *) Исправление: в рабочем процессе происходил segmentation fault, если у
2491 у сервера, обрабатывающему запрос, не был явно определён 2523 сервера, обрабатывающему запрос, не был явно определён server_name;
2492 server_name; ошибка появилась в 0.6.7. 2524 ошибка появилась в 0.6.7.
2493 2525
2494 2526
2495 Изменения в nginx 0.6.14 15.10.2007 2527 Изменения в nginx 0.6.14 15.10.2007
2496 2528
2497 *) Изменение: теперь по умолчанию команда SSI echo использует 2529 *) Изменение: теперь по умолчанию команда SSI echo использует
2498 кодирование entity. 2530 кодирование entity.
2499 2531
2500 *) Добавление: параметр encoding в команде SSI echo. 2532 *) Добавление: параметр encoding в команде SSI echo.
2501 2533
2502 *) Добавление: директиву access_log можно использовать внутри блока 2534 *) Добавление: директиву access_log можно использовать внутри блока
2503 limit_except. 2535 limit_except.
2504 2536
2505 *) Исправление: если все сервера апстрима оказывались недоступными, то 2537 *) Исправление: если все сервера апстрима оказывались недоступными, то
2506 до восстановления работоспособности у всех серверов вес становился 2538 до восстановления работоспособности у всех серверов вес становился
2507 равным одному; ошибка появилась в 0.6.6. 2539 равным одному; ошибка появилась в 0.6.6.
2508 2540
2509 *) Исправление: при использовании переменных $date_local и $date_gmt 2541 *) Исправление: при использовании переменных $date_local и $date_gmt вне
2510 вне модуля ngx_http_ssi_filter_module в рабочем процессе происходил 2542 модуля ngx_http_ssi_filter_module в рабочем процессе происходил
2511 segmentation fault. 2543 segmentation fault.
2512 2544
2513 *) Исправление: при использовании включённом отладочном логе в рабочем 2545 *) Исправление: при использовании включённом отладочном логе в рабочем
2514 процессе мог произойти segmentation fault. 2546 процессе мог произойти segmentation fault.
2515 Спасибо Андрею Нигматулину. 2547 Спасибо Андрею Нигматулину.
2516 2548
2517 *) Исправление: ngx_http_memcached_module не устанавливал 2549 *) Исправление: ngx_http_memcached_module не устанавливал
2518 $upstream_response_time. 2550 $upstream_response_time.
2519 Спасибо Максиму Дунину. 2551 Спасибо Максиму Дунину.
2520 2552
2521 *) Исправление: рабочий процесс мог зациклиться при использовании 2553 *) Исправление: рабочий процесс мог зациклиться при использовании
2522 memcached. 2554 memcached.
2523 2555
2524 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в 2556 *) Исправление: nginx распознавал параметры "close" и "keep-alive" в
2525 строке "Connection" в заголовке запроса только, если они были в 2557 строке "Connection" в заголовке запроса только, если они были в
2526 нижнем регистре; ошибка появилась в 0.6.11. 2558 нижнем регистре; ошибка появилась в 0.6.11.
2527 2559
2528 *) Исправление: sub_filter не работал с пустой строкой замены. 2560 *) Исправление: sub_filter не работал с пустой строкой замены.
2529 2561
2530 *) Исправление: в парсинге sub_filter. 2562 *) Исправление: в парсинге sub_filter.
2531 2563
2532 2564
2533 Изменения в nginx 0.6.13 24.09.2007 2565 Изменения в nginx 0.6.13 24.09.2007
2534 2566
2535 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если 2567 *) Исправление: nginx не закрывал файл каталога для запроса HEAD, если
2536 использовался autoindex 2568 использовался autoindex
2537 Спасибо Arkadiusz Patyk. 2569 Спасибо Arkadiusz Patyk.
2538 2570
2539 2571
2540 Изменения в nginx 0.6.12 21.09.2007 2572 Изменения в nginx 0.6.12 21.09.2007
2541 2573
2542 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap 2574 *) Изменение: почтовый прокси-сервер разделён на три модуля: pop3, imap
2543 и smtp. 2575 и smtp.
2544 2576
2545 *) Добавление: параметры конфигурации --without-mail_pop3_module, 2577 *) Добавление: параметры конфигурации --without-mail_pop3_module,
2546 --without-mail_imap_module и --without-mail_smtp_module. 2578 --without-mail_imap_module и --without-mail_smtp_module.
2547 2579
2548 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer 2580 *) Добавление: директивы smtp_greeting_delay и smtp_client_buffer модуля
2549 модуля ngx_mail_smtp_module. 2581 ngx_mail_smtp_module.
2550 2582
2551 *) Исправление: wildcard в конце имени сервера не работали; ошибка 2583 *) Исправление: wildcard в конце имени сервера не работали; ошибка
2552 появилась в 0.6.9. 2584 появилась в 0.6.9.
2553 2585
2554 *) Исправление: при использовании разделяемой библиотеки PCRE, 2586 *) Исправление: при использовании разделяемой библиотеки PCRE,
2555 расположенной в нестандартном месте, nginx не запускался на Solaris. 2587 расположенной в нестандартном месте, nginx не запускался на Solaris.
2556 2588
2557 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не 2589 *) Исправление: директивы proxy_hide_header и fastcgi_hide_header не
2558 скрывали строки заголовка ответа с именем больше 32 символов. 2590 скрывали строки заголовка ответа с именем больше 32 символов.
2559 Спасибо Manlio Perillo. 2591 Спасибо Manlio Perillo.
2560 2592
2561 2593
2562 Изменения в nginx 0.6.11 11.09.2007 2594 Изменения в nginx 0.6.11 11.09.2007
2563 2595
2564 *) Исправление: счётчик активных соединений всегда рос при 2596 *) Исправление: счётчик активных соединений всегда рос при использовании
2565 использовании почтового прокси-сервера. 2597 почтового прокси-сервера.
2566 2598
2567 *) Исправление: если бэкенд возвращал только заголовок ответа при 2599 *) Исправление: если бэкенд возвращал только заголовок ответа при
2568 небуферизированном проксировании, то nginx закрывал соединение с 2600 небуферизированном проксировании, то nginx закрывал соединение с
2569 бэкендом по таймауту. 2601 бэкендом по таймауту.
2570 2602
2571 *) Исправление: nginx не поддерживал несколько строк "Connection" в 2603 *) Исправление: nginx не поддерживал несколько строк "Connection" в
2572 заголовке запроса. 2604 заголовке запроса.
2573 2605
2574 *) Исправление: если в сервере апстрима был задан max_fails, то после 2606 *) Исправление: если в сервере апстрима был задан max_fails, то после
2575 первой же неудачной попытки вес сервера навсегда становился равным 2607 первой же неудачной попытки вес сервера навсегда становился равным
2576 одному; ошибка появилась в 0.6.6. 2608 одному; ошибка появилась в 0.6.6.
2577 2609
2578 2610
2579 Изменения в nginx 0.6.10 03.09.2007 2611 Изменения в nginx 0.6.10 03.09.2007
2580 2612
2581 *) Добавление: директивы open_file_cache, open_file_cache_retest и 2613 *) Добавление: директивы open_file_cache, open_file_cache_retest и
2582 open_file_cache_errors. 2614 open_file_cache_errors.
2583 2615
2584 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7. 2616 *) Исправление: утечки сокетов; ошибка появилась в 0.6.7.
2585 2617
2586 *) Исправление: В строку заголовка ответа "Content-Type", указанную в 2618 *) Исправление: В строку заголовка ответа "Content-Type", указанную в
2587 методе $r->send_http_header(), не добавлялась кодировка, указанная в 2619 методе $r->send_http_header(), не добавлялась кодировка, указанная в
2588 директиве charset. 2620 директиве charset.
2589 2621
2590 *) Исправление: при использовании метода /dev/poll в рабочем процессе 2622 *) Исправление: при использовании метода /dev/poll в рабочем процессе
2591 мог произойти segmentation fault. 2623 мог произойти segmentation fault.
2592 2624
2593 2625
2594 Изменения в nginx 0.6.9 28.08.2007 2626 Изменения в nginx 0.6.9 28.08.2007
2595 2627
2596 *) Исправление: рабочий процесс мог зациклиться при использовании 2628 *) Исправление: рабочий процесс мог зациклиться при использовании
2597 протокола HTTPS; ошибка появилась в 0.6.7. 2629 протокола HTTPS; ошибка появилась в 0.6.7.
2598 2630
2599 *) Исправление: если сервер слушал на двух адресах или портах, то nginx 2631 *) Исправление: если сервер слушал на двух адресах или портах, то nginx
2600 не запускался при использовании wildcard в конце имени сервера. 2632 не запускался при использовании wildcard в конце имени сервера.
2601 2633
2602 *) Исправление: директива ip_hash могла неверно помечать сервера как 2634 *) Исправление: директива ip_hash могла неверно помечать сервера как
2603 нерабочие. 2635 нерабочие.
2604 2636
2605 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8. 2637 *) Исправление: nginx не собирался на amd64; ошибка появилась в 0.6.8.
2606 2638
2607 2639
2608 Изменения в nginx 0.6.8 20.08.2007 2640 Изменения в nginx 0.6.8 20.08.2007
2609 2641
2610 *) Изменение: теперь nginx пытается установить директивы 2642 *) Изменение: теперь nginx пытается установить директивы
2611 worker_priority, worker_rlimit_nofile, worker_rlimit_core, 2643 worker_priority, worker_rlimit_nofile, worker_rlimit_core,
2612 worker_rlimit_sigpending без привилегий root'а. 2644 worker_rlimit_sigpending без привилегий root'а.
2613 2645
2614 *) Изменение: теперь nginx экранирует символы пробела и "%" при 2646 *) Изменение: теперь nginx экранирует символы пробела и "%" при передаче
2615 передаче запроса серверу аутентификации почтового прокси-сервера. 2647 запроса серверу аутентификации почтового прокси-сервера.
2616 2648
2617 *) Изменение: теперь nginx экранирует символ "%" в переменной 2649 *) Изменение: теперь nginx экранирует символ "%" в переменной
2618 $memcached_key. 2650 $memcached_key.
2619 2651
2620 *) Исправление: при указании относительного пути к конфигурационному 2652 *) Исправление: при указании относительного пути к конфигурационному
2621 файлу в качестве параметра ключа -c nginx определял путь 2653 файлу в качестве параметра ключа -c nginx определял путь относительно
2622 относительно конфигурационного префикса; ошибка появилась в 0.6.6. 2654 конфигурационного префикса; ошибка появилась в 0.6.6.
2623 2655
2624 *) Исправление: nginx не работал на FreeBSD/sparc64. 2656 *) Исправление: nginx не работал на FreeBSD/sparc64.
2625 2657
2626 2658
2627 Изменения в nginx 0.6.7 15.08.2007 2659 Изменения в nginx 0.6.7 15.08.2007
2628 2660
2629 *) Изменение: теперь пути, указанные в директивах include, 2661 *) Изменение: теперь пути, указанные в директивах include,
2630 auth_basic_user_file, perl_modules, ssl_certificate, 2662 auth_basic_user_file, perl_modules, ssl_certificate,
2631 ssl_certificate_key и ssl_client_certificate, определяются 2663 ssl_certificate_key и ssl_client_certificate, определяются
2632 относительно каталога конфигурационного файла nginx.conf, а не 2664 относительно каталога конфигурационного файла nginx.conf, а не
2633 относительно префикса. 2665 относительно префикса.
2634 2666
2635 *) Изменение: параметр --sysconfdir=PATH в configure упразднён. 2667 *) Изменение: параметр --sysconfdir=PATH в configure упразднён.
2636 2668
2637 *) Изменение: для обновления на лету версий 0.1.x создан специальный 2669 *) Изменение: для обновления на лету версий 0.1.x создан специальный
2638 сценарий make upgrade1. 2670 сценарий make upgrade1.
2639 2671
2640 *) Добавление: директивы server_name и valid_referers поддерживают 2672 *) Добавление: директивы server_name и valid_referers поддерживают
2641 регулярные выражения. 2673 регулярные выражения.
2642 2674
2643 *) Добавление: директива server в блоке upstream поддерживает параметр 2675 *) Добавление: директива server в блоке upstream поддерживает параметр
2644 backup. 2676 backup.
2645 2677
2646 *) Добавление: модуль ngx_http_perl_module поддерживает метод 2678 *) Добавление: модуль ngx_http_perl_module поддерживает метод
2647 $r->discard_request_body. 2679 $r->discard_request_body.
2648 2680
2649 *) Добавление: директива "add_header Last-Modified ..." меняет строку 2681 *) Добавление: директива "add_header Last-Modified ..." меняет строку
2650 "Last-Modified" в заголовке ответа. 2682 "Last-Modified" в заголовке ответа.
2651 2683
2652 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP 2684 *) Исправление: если на запрос с телом возвращался ответ с кодом HTTP
2653 отличным от 200, и после этого запроса соединение переходило в 2685 отличным от 200, и после этого запроса соединение переходило в
2654 состояние keep-alive, то на следующий запрос nginx возвращал 400. 2686 состояние keep-alive, то на следующий запрос nginx возвращал 400.
2655 2687
2656 *) Исправление: если в директиве auth_http был задан неправильный 2688 *) Исправление: если в директиве auth_http был задан неправильный адрес,
2657 адрес, то в рабочем процессе происходил segmentation fault. 2689 то в рабочем процессе происходил segmentation fault.
2658 2690
2659 *) Исправление: теперь по умолчанию nginx использует значение 511 для 2691 *) Исправление: теперь по умолчанию nginx использует значение 511 для
2660 listen backlog на всех платформах, кроме FreeBSD. 2692 listen backlog на всех платформах, кроме FreeBSD.
2661 Спасибо Jiang Hong. 2693 Спасибо Jiang Hong.
2662 2694
2663 *) Исправление: рабочий процесс мог зациклиться, если server в блоке 2695 *) Исправление: рабочий процесс мог зациклиться, если server в блоке
2664 upstream был помечен как down; ошибка появилась в 0.6.6. 2696 upstream был помечен как down; ошибка появилась в 0.6.6.
2665 2697
2666 *) Исправление: sendfilev() в Solaris теперь не используется при 2698 *) Исправление: sendfilev() в Solaris теперь не используется при
2667 передаче тела запроса FastCGI-серверу через unix domain сокет. 2699 передаче тела запроса FastCGI-серверу через unix domain сокет.
2668 2700
2669 2701
2670 Изменения в nginx 0.6.6 30.07.2007 2702 Изменения в nginx 0.6.6 30.07.2007
2671 2703
2675 2707
2676 *) Добавление: переменную $args можно устанавливать с помощью set. 2708 *) Добавление: переменную $args можно устанавливать с помощью set.
2677 2709
2678 *) Добавление: переменная $is_args. 2710 *) Добавление: переменная $is_args.
2679 2711
2680 *) Исправление: равномерное распределение запросов к апстримам с 2712 *) Исправление: равномерное распределение запросов к апстримам с
2681 большими весами. 2713 большими весами.
2682 2714
2683 *) Исправление: если клиент в почтовом прокси-сервере закрывал 2715 *) Исправление: если клиент в почтовом прокси-сервере закрывал
2684 соединение, то nginx мог не закрывать соединение с бэкендом. 2716 соединение, то nginx мог не закрывать соединение с бэкендом.
2685 2717
2686 *) Исправление: при использовании одного хоста в качестве бэкендов для 2718 *) Исправление: при использовании одного хоста в качестве бэкендов для
2687 протоколов HTTP и HTTPS без явного указания портов, nginx 2719 протоколов HTTP и HTTPS без явного указания портов, nginx использовал
2688 использовал только один порт - 80 или 443. 2720 только один порт - 80 или 443.
2689 2721
2690 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и 2722 *) Исправление: nginx не собирался на Solaris/amd64 Sun Studio 11 и
2691 более ранними версиями; ошибка появилась в 0.6.4. 2723 более ранними версиями; ошибка появилась в 0.6.4.
2692 2724
2693 2725
2694 Изменения в nginx 0.6.5 23.07.2007 2726 Изменения в nginx 0.6.5 23.07.2007
2695 2727
2696 *) Добавление: переменная $nginx_version. 2728 *) Добавление: переменная $nginx_version.
2697 Спасибо Николаю Гречуху. 2729 Спасибо Николаю Гречуху.
2698 2730
2699 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в 2731 *) Добавление: почтовый прокси-сервер поддерживает AUTHENTICATE в режиме
2700 режиме IMAP. 2732 IMAP.
2701 Спасибо Максиму Дунину. 2733 Спасибо Максиму Дунину.
2702 2734
2703 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме 2735 *) Добавление: почтовый прокси-сервер поддерживает STARTTLS в режиме
2704 SMTP. 2736 SMTP.
2705 Спасибо Максиму Дунину. 2737 Спасибо Максиму Дунину.
2706 2738
2707 *) Исправление: теперь nginx экранирует пробел в переменной 2739 *) Исправление: теперь nginx экранирует пробел в переменной
2708 $memcached_key. 2740 $memcached_key.
2709 2741
2710 *) Исправление: nginx неправильно собирался Sun Studio на 2742 *) Исправление: nginx неправильно собирался Sun Studio на Solaris/amd64.
2711 Solaris/amd64.
2712 Спасибо Jiang Hong. 2743 Спасибо Jiang Hong.
2713 2744
2714 *) Исправление: незначительных потенциальных ошибок. 2745 *) Исправление: незначительных потенциальных ошибок.
2715 Спасибо Coverity's Scan. 2746 Спасибо Coverity's Scan.
2716 2747
2717 2748
2718 Изменения в nginx 0.6.4 17.07.2007 2749 Изменения в nginx 0.6.4 17.07.2007
2719 2750
2720 *) Безопасность: при использовании директивы msie_refresh был возможен 2751 *) Безопасность: при использовании директивы msie_refresh был возможен
2721 XSS. 2752 XSS.
2722 Спасибо Максиму Богуку. 2753 Спасибо Максиму Богуку.
2723 2754
2724 *) Изменение: директивы proxy_store и fastcgi_store изменены. 2755 *) Изменение: директивы proxy_store и fastcgi_store изменены.
2725 2756
2726 *) Добавление: директивы proxy_store_access и fastcgi_store_access. 2757 *) Добавление: директивы proxy_store_access и fastcgi_store_access.
2727 2758
2728 *) Исправление: nginx не работал на Solaris/sparc64, если был собран 2759 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
2729 Sun Studio. 2760 Studio.
2730 Спасибо Андрею Нигматулину. 2761 Спасибо Андрею Нигматулину.
2731 2762
2732 *) Изменение: обход ошибки в Sun Studio 12. 2763 *) Изменение: обход ошибки в Sun Studio 12.
2733 Спасибо Jiang Hong. 2764 Спасибо Jiang Hong.
2734 2765
2735 2766
2736 Изменения в nginx 0.6.3 12.07.2007 2767 Изменения в nginx 0.6.3 12.07.2007
2737 2768
2738 *) Добавление: директивы proxy_store и fastcgi_store. 2769 *) Добавление: директивы proxy_store и fastcgi_store.
2739 2770
2740 *) Исправление: при использовании директивы auth_http_header в рабочем 2771 *) Исправление: при использовании директивы auth_http_header в рабочем
2741 процессе мог произойти segmentation fault. 2772 процессе мог произойти segmentation fault.
2742 Спасибо Максиму Дунину. 2773 Спасибо Максиму Дунину.
2743 2774
2744 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он 2775 *) Исправление: если использовался метод аутентификации CRAM-MD5, но он
2745 не был разрешён, то в рабочем процессе происходил segmentation fault. 2776 не был разрешён, то в рабочем процессе происходил segmentation fault.
2746 2777
2747 *) Исправление: при использовании протокола HTTPS в директиве 2778 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
2748 proxy_pass в рабочем процессе мог произойти segmentation fault. 2779 в рабочем процессе мог произойти segmentation fault.
2749 2780
2750 *) Исправление: в рабочем процессе мог произойти segmentation fault, 2781 *) Исправление: в рабочем процессе мог произойти segmentation fault,
2751 если использовался метод eventport. 2782 если использовался метод eventport.
2752 2783
2753 *) Исправление: директивы proxy_ignore_client_abort и 2784 *) Исправление: директивы proxy_ignore_client_abort и
2754 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13. 2785 fastcgi_ignore_client_abort не работали; ошибка появилась в 0.5.13.
2755 2786
2756 2787
2757 Изменения в nginx 0.6.2 09.07.2007 2788 Изменения в nginx 0.6.2 09.07.2007
2758 2789
2759 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, 2790 *) Исправление: если заголовок ответа был разделён в FastCGI-записях, то
2760 то nginx передавал клиенту мусор в таких заголовках. 2791 nginx передавал клиенту мусор в таких заголовках.
2761 2792
2762 2793
2763 Изменения в nginx 0.6.1 17.06.2007 2794 Изменения в nginx 0.6.1 17.06.2007
2764 2795
2765 *) Исправление: в парсинге SSI. 2796 *) Исправление: в парсинге SSI.
2766 2797
2767 *) Исправление: при использовании удалённого подзапроса в SSI 2798 *) Исправление: при использовании удалённого подзапроса в SSI
2768 последующий подзапрос локального файла мог отдаваться клиенту в 2799 последующий подзапрос локального файла мог отдаваться клиенту в
2769 неверном порядке. 2800 неверном порядке.
2770 2801
2771 *) Исправление: большие включения в SSI, сохранённые во временные 2802 *) Исправление: большие включения в SSI, сохранённые во временные файлы,
2772 файлы, передавались не полностью. 2803 передавались не полностью.
2773 2804
2774 *) Исправление: значение perl'овой переменной $$ модуля 2805 *) Исправление: значение perl'овой переменной $$ модуля
2775 ngx_http_perl_module было равно номеру главного процесса. 2806 ngx_http_perl_module было равно номеру главного процесса.
2776 2807
2777 2808
2778 Изменения в nginx 0.6.0 14.06.2007 2809 Изменения в nginx 0.6.0 14.06.2007
2779 2810
2780 *) Добавление: директивы "server_name", "map", and "valid_referers" 2811 *) Добавление: директивы "server_name", "map", and "valid_referers"
2781 поддерживают маски вида "www.example.*". 2812 поддерживают маски вида "www.example.*".
2782 2813
2783 2814
2784 Изменения в nginx 0.5.25 11.06.2007 2815 Изменения в nginx 0.5.25 11.06.2007
2785 2816
2786 *) Исправление: nginx не собирался с параметром 2817 *) Исправление: nginx не собирался с параметром
2787 --without-http_rewrite_module; ошибка появилась в 0.5.24. 2818 --without-http_rewrite_module; ошибка появилась в 0.5.24.
2788 2819
2789 2820
2790 Изменения в nginx 0.5.24 06.06.2007 2821 Изменения в nginx 0.5.24 06.06.2007
2791 2822
2792 *) Безопасность: директива ssl_verify_client не работала, если запрос 2823 *) Безопасность: директива ssl_verify_client не работала, если запрос
2793 выполнялся по протоколу HTTP/0.9. 2824 выполнялся по протоколу HTTP/0.9.
2794 2825
2795 *) Исправление: при использовании сжатия часть ответа могла 2826 *) Исправление: при использовании сжатия часть ответа могла передаваться
2796 передаваться несжатой; ошибка появилась в 0.5.23. 2827 несжатой; ошибка появилась в 0.5.23.
2797 2828
2798 2829
2799 Изменения в nginx 0.5.23 04.06.2007 2830 Изменения в nginx 0.5.23 04.06.2007
2800 2831
2801 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS 2832 *) Добавление: модуль ngx_http_ssl_module поддерживает расширение TLS
2802 Server Name Indication. 2833 Server Name Indication.
2803 2834
2804 *) Добавление: директива fastcgi_catch_stderr. 2835 *) Добавление: директива fastcgi_catch_stderr.
2805 Спасибо Николаю Гречуху, проект OWOX. 2836 Спасибо Николаю Гречуху, проект OWOX.
2806 2837
2807 *) Исправление: на Линуксе в основном процессе происходил segmentation 2838 *) Исправление: на Линуксе в основном процессе происходил segmentation
2808 fault, если два виртуальных сервера должны bind()ится к 2839 fault, если два виртуальных сервера должны bind()ится к
2809 пересекающимся портам. 2840 пересекающимся портам.
2810 2841
2811 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 2842 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2812 perl поддерживал потоки, то во время второй переконфигурации 2843 perl поддерживал потоки, то во время второй переконфигурации
2813 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 2844 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed".
2814 2845
2815 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 2846 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2816 2847
2817 2848
2818 Изменения в nginx 0.5.22 29.05.2007 2849 Изменения в nginx 0.5.22 29.05.2007
2819 2850
2820 *) Исправление: большое тело запроса могло не передаваться бэкенду; 2851 *) Исправление: большое тело запроса могло не передаваться бэкенду;
2821 ошибка появилась в 0.5.21. 2852 ошибка появилась в 0.5.21.
2822 2853
2823 2854
2824 Изменения в nginx 0.5.21 28.05.2007 2855 Изменения в nginx 0.5.21 28.05.2007
2825 2856
2826 *) Исправление: если внутри сервера описано больше примерно десяти 2857 *) Исправление: если внутри сервера описано больше примерно десяти
2827 location'ов, то location'ы, заданные с помощью регулярного 2858 location'ов, то location'ы, заданные с помощью регулярного выражения,
2828 выражения, могли выполняться не в том, порядке, в каком они описаны. 2859 могли выполняться не в том, порядке, в каком они описаны.
2829 2860
2830 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться, 2861 *) Исправление: на 64-битной платформе рабочий процесс мог зациклиться,
2831 если 33-тий по счёту или последующий бэкенд упал. 2862 если 33-тий по счёту или последующий бэкенд упал.
2832 Спасибо Антону Поварову. 2863 Спасибо Антону Поварову.
2833 2864
2834 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 2865 *) Исправление: при использовании библиотеки PCRE на Solaris/sparc64 мог
2835 мог произойти bus error. 2866 произойти bus error.
2836 Спасибо Андрею Нигматулину. 2867 Спасибо Андрею Нигматулину.
2837 2868
2838 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 2869 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2839 2870
2840 2871
2841 Изменения в nginx 0.5.20 07.05.2007 2872 Изменения в nginx 0.5.20 07.05.2007
2842 2873
2843 *) Добавление: директива sendfile_max_chunk. 2874 *) Добавление: директива sendfile_max_chunk.
2844 2875
2845 *) Добавление: переменные "$http_...", "$sent_http_..." и 2876 *) Добавление: переменные "$http_...", "$sent_http_..." и
2846 "$upstream_http_..." можно менять директивой set. 2877 "$upstream_http_..." можно менять директивой set.
2847 2878
2848 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в 2879 *) Исправление: при использовании SSI-команды 'if expr="$var = /"' в
2849 рабочем процессе мог произойти segmentation fault. 2880 рабочем процессе мог произойти segmentation fault.
2850 2881
2851 *) Исправление: завершающая строка multipart range ответа передавалась 2882 *) Исправление: завершающая строка multipart range ответа передавалась
2852 неверно. 2883 неверно.
2853 Спасибо Evan Miller. 2884 Спасибо Evan Miller.
2854 2885
2855 *) Исправление: nginx не работал на Solaris/sparc64, если был собран 2886 *) Исправление: nginx не работал на Solaris/sparc64, если был собран Sun
2856 Sun Studio. 2887 Studio.
2857 Спасибо Андрею Нигматулину. 2888 Спасибо Андрею Нигматулину.
2858 2889
2859 *) Исправление: модуль ngx_http_perl_module не собирался make в 2890 *) Исправление: модуль ngx_http_perl_module не собирался make в Solaris.
2860 Solaris.
2861 Спасибо Андрею Нигматулину. 2891 Спасибо Андрею Нигматулину.
2862 2892
2863 2893
2864 Изменения в nginx 0.5.19 24.04.2007 2894 Изменения в nginx 0.5.19 24.04.2007
2865 2895
2866 *) Изменение: значение переменной $request_time теперь записывается с 2896 *) Изменение: значение переменной $request_time теперь записывается с
2867 точностью до миллисекунд. 2897 точностью до миллисекунд.
2868 2898
2869 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module 2899 *) Изменение: метод $r->rflush в модуле ngx_http_perl_module
2870 переименован в $r->flush. 2900 переименован в $r->flush.
2871 2901
2872 *) Добавление: переменная $upstream_addr. 2902 *) Добавление: переменная $upstream_addr.
2873 2903
2874 *) Добавление: директивы proxy_headers_hash_max_size и 2904 *) Добавление: директивы proxy_headers_hash_max_size и
2875 proxy_headers_hash_bucket_size. 2905 proxy_headers_hash_bucket_size.
2876 Спасибо Володымыру Костырко. 2906 Спасибо Володымыру Костырко.
2877 2907
2878 *) Исправление: при использовании sendfile и limit_rate на 64-битных 2908 *) Исправление: при использовании sendfile и limit_rate на 64-битных
2879 платформах нельзя было передавать файлы больше 2G. 2909 платформах нельзя было передавать файлы больше 2G.
2880 2910
2881 *) Исправление: при использовании sendfile на 64-битном Linux нельзя 2911 *) Исправление: при использовании sendfile на 64-битном Linux нельзя
2882 было передавать файлы больше 2G. 2912 было передавать файлы больше 2G.
2883 2913
2884 2914
2885 Изменения в nginx 0.5.18 19.04.2007 2915 Изменения в nginx 0.5.18 19.04.2007
2886 2916
2887 *) Добавление: модуль ngx_http_sub_filter_module. 2917 *) Добавление: модуль ngx_http_sub_filter_module.
2888 2918
2889 *) Добавление: переменные "$upstream_http_...". 2919 *) Добавление: переменные "$upstream_http_...".
2890 2920
2891 *) Добавление: теперь переменные $upstream_status и 2921 *) Добавление: теперь переменные $upstream_status и
2892 $upstream_response_time содержат данные о всех обращениях к 2922 $upstream_response_time содержат данные о всех обращениях к
2893 апстримам, сделанным до X-Accel-Redirect. 2923 апстримам, сделанным до X-Accel-Redirect.
2894 2924
2895 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и 2925 *) Исправление: если nginx был собран с модулем ngx_http_perl_module и
2896 perl не поддерживал multiplicity, то после первой переконфигурации и 2926 perl не поддерживал multiplicity, то после первой переконфигурации и
2897 после получения любого сигнала в основном процессе происходил 2927 после получения любого сигнала в основном процессе происходил
2898 segmentation fault; ошибка появилась в 0.5.9. 2928 segmentation fault; ошибка появилась в 0.5.9.
2899 2929
2900 *) Исправление: если perl не поддерживал multiplicity, то после 2930 *) Исправление: если perl не поддерживал multiplicity, то после
2901 переконфигурации перловый код не работал; ошибка появилась в 0.3.38. 2931 переконфигурации перловый код не работал; ошибка появилась в 0.3.38.
2902 2932
2903 2933
2904 Изменения в nginx 0.5.17 02.04.2007 2934 Изменения в nginx 0.5.17 02.04.2007
2905 2935
2906 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405. 2936 *) Изменение: теперь nginx для метода TRACE всегда возвращает код 405.
2907 2937
2908 *) Добавление: теперь nginx поддерживает директиву include внутри блока 2938 *) Добавление: теперь nginx поддерживает директиву include внутри блока
2909 types. 2939 types.
2910 2940
2911 *) Исправление: использование переменной $document_root в директиве 2941 *) Исправление: использование переменной $document_root в директиве root
2912 root и alias запрещено: оно вызывало рекурсивное переполнение стека. 2942 и alias запрещено: оно вызывало рекурсивное переполнение стека.
2913 2943
2914 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 2944 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
2915 2945
2916 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как 2946 *) Исправление: в некоторых случаях некэшируемые переменные (такие, как
2917 $uri) возвращали старое закэшированное значение. 2947 $uri) возвращали старое закэшированное значение.
2918 2948
2919 2949
2920 Изменения в nginx 0.5.16 26.03.2007 2950 Изменения в nginx 0.5.16 26.03.2007
2921 2951
2922 *) Исправление: в качестве ключа для хэша в директиве ip_hash не 2952 *) Исправление: в качестве ключа для хэша в директиве ip_hash не
2923 использовалась сеть класса С. 2953 использовалась сеть класса С.
2924 Спасибо Павлу Ярковому. 2954 Спасибо Павлу Ярковому.
2925 2955
2926 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда 2956 *) Исправление: если в строке "Content-Type" в заголовке ответа бэкенда
2927 был указан charset и строка завершалась символом ";", то в рабочем 2957 был указан charset и строка завершалась символом ";", то в рабочем
2928 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50. 2958 процессе мог произойти segmentation fault; ошибка появилась в 0.3.50.
2929 2959
2930 *) Исправление: ошибки "[alert] zero size buf" при работе с 2960 *) Исправление: ошибки "[alert] zero size buf" при работе с
2931 FastCGI-сервером, если тело запроса, записанное во временный файл, 2961 FastCGI-сервером, если тело запроса, записанное во временный файл,
2932 было кратно 32K. 2962 было кратно 32K.
2933 2963
2934 *) Исправление: nginx не собирался на Solaris без параметра 2964 *) Исправление: nginx не собирался на Solaris без параметра
2935 --with-debug; ошибка появилась в 0.5.15. 2965 --with-debug; ошибка появилась в 0.5.15.
2936 2966
2937 2967
2938 Изменения в nginx 0.5.15 19.03.2007 2968 Изменения в nginx 0.5.15 19.03.2007
2939 2969
2940 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное 2970 *) Добавление: почтовый прокси-сервер поддерживает аутентифицированное
2941 SMTP-проксирование и директивы smtp_auth, smtp_capablities и 2971 SMTP-проксирование и директивы smtp_auth, smtp_capablities и xclient.
2942 xclient.
2943 Спасибо Антону Южанинову и Максиму Дунину. 2972 Спасибо Антону Южанинову и Максиму Дунину.
2944 2973
2945 *) Добавление: теперь keep-alive соединения закрываются сразу же по 2974 *) Добавление: теперь keep-alive соединения закрываются сразу же по
2946 получении сигнала переконфигурации. 2975 получении сигнала переконфигурации.
2947 2976
2948 *) Изменение: директивы imap и auth переименованы соответственно в mail 2977 *) Изменение: директивы imap и auth переименованы соответственно в mail
2949 и pop3_auth. 2978 и pop3_auth.
2950 2979
2951 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не 2980 *) Исправление: если использовался метод аутентификации CRAM-MD5 и не
2952 был разрешён метод APOP, то в рабочем процессе происходил 2981 был разрешён метод APOP, то в рабочем процессе происходил
2953 segmentation fault. 2982 segmentation fault.
2954 2983
2955 *) Исправление: при использовании директивы starttls only в протоколе 2984 *) Исправление: при использовании директивы starttls only в протоколе
2956 POP3 nginx разрешал аутентификацию без перехода в режим SSL. 2985 POP3 nginx разрешал аутентификацию без перехода в режим SSL.
2957 2986
2958 *) Исправление: рабочие процессы не выходили после переконфигурации и 2987 *) Исправление: рабочие процессы не выходили после переконфигурации и не
2959 не переоткрывали логи, если использовался метод eventport. 2988 переоткрывали логи, если использовался метод eventport.
2960 2989
2961 *) Исправление: при использовании директивы ip_hash рабочий процесс мог 2990 *) Исправление: при использовании директивы ip_hash рабочий процесс мог
2962 зациклиться. 2991 зациклиться.
2963 2992
2964 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если 2993 *) Исправление: теперь nginx не пишет в лог некоторые alert'ы, если
2965 используются методы eventport или /dev/poll. 2994 используются методы eventport или /dev/poll.
2966 2995
2967 2996
2968 Изменения в nginx 0.5.14 23.02.2007 2997 Изменения в nginx 0.5.14 23.02.2007
2969 2998
2970 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце 2999 *) Исправление: nginx игнорировал лишние закрывающие скобки "}" в конце
2971 конфигурационного файла. 3000 конфигурационного файла.
2972 3001
2973 3002
2974 Изменения в nginx 0.5.13 19.02.2007 3003 Изменения в nginx 0.5.13 19.02.2007
2975 3004
2976 *) Добавление: методы COPY и MOVE. 3005 *) Добавление: методы COPY и MOVE.
2977 3006
2978 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для 3007 *) Исправление: модуль ngx_http_realip_module устанавливал мусор для
2979 запросов, переданных по keep-alive соединению. 3008 запросов, переданных по keep-alive соединению.
2980 3009
2981 *) Исправление: nginx не работал на 64-битном big-endian Linux. 3010 *) Исправление: nginx не работал на 64-битном big-endian Linux.
2982 Спасибо Андрею Нигматулину. 3011 Спасибо Андрею Нигматулину.
2983 3012
2984 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси 3013 *) Исправление: при получении слишком длинной команды IMAP/POP3-прокси
2985 теперь сразу закрывает соединение, а не по таймауту. 3014 теперь сразу закрывает соединение, а не по таймауту.
2986 3015
2987 *) Исправление: если при использовании метода epoll клиент закрывал 3016 *) Исправление: если при использовании метода epoll клиент закрывал
2988 преждевременно соединение со своей стороны, то nginx закрывал это 3017 преждевременно соединение со своей стороны, то nginx закрывал это
2989 соединение только по истечении таймаута на передачу. 3018 соединение только по истечении таймаута на передачу.
2990 3019
2991 *) Исправление: nginx не собирался на платформах, отличных от i386, 3020 *) Исправление: nginx не собирался на платформах, отличных от i386,
2992 amd64, sparc и ppc; ошибка появилась в 0.5.8. 3021 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2993 3022
2994 3023
2995 Изменения в nginx 0.5.12 12.02.2007 3024 Изменения в nginx 0.5.12 12.02.2007
2996 3025
2997 *) Исправление: nginx не собирался на платформах, отличных от i386, 3026 *) Исправление: nginx не собирался на платформах, отличных от i386,
2998 amd64, sparc и ppc; ошибка появилась в 0.5.8. 3027 amd64, sparc и ppc; ошибка появилась в 0.5.8.
2999 3028
3000 *) Исправление: при использовании временных файлов в время работы с 3029 *) Исправление: при использовании временных файлов в время работы с
3001 FastCGI-сервером в рабочем процессе мог произойти segmentation 3030 FastCGI-сервером в рабочем процессе мог произойти segmentation fault;
3002 fault; ошибка появилась в 0.5.8. 3031 ошибка появилась в 0.5.8.
3003 3032
3004 *) Исправление: если переменная $fastcgi_script_name записывалась в 3033 *) Исправление: если переменная $fastcgi_script_name записывалась в лог,
3005 лог, то в рабочем процессе мог произойти segmentation fault. 3034 то в рабочем процессе мог произойти segmentation fault.
3006 3035
3007 *) Исправление: ngx_http_perl_module не собирался на Solaris. 3036 *) Исправление: ngx_http_perl_module не собирался на Solaris.
3008 3037
3009 3038
3010 Изменения в nginx 0.5.11 05.02.2007 3039 Изменения в nginx 0.5.11 05.02.2007
3011 3040
3012 *) Добавление: теперь configure определяет библиотеку PCRE в 3041 *) Добавление: теперь configure определяет библиотеку PCRE в MacPorts.
3013 MacPorts.
3014 Спасибо Chris McGrath. 3042 Спасибо Chris McGrath.
3015 3043
3016 *) Исправление: ответ был неверным, если запрашивалось несколько 3044 *) Исправление: ответ был неверным, если запрашивалось несколько
3017 диапазонов; ошибка появилась в 0.5.6. 3045 диапазонов; ошибка появилась в 0.5.6.
3018 3046
3019 *) Исправление: директива create_full_put_path не могла создавать 3047 *) Исправление: директива create_full_put_path не могла создавать
3020 промежуточные каталоги, если не была установлена директива 3048 промежуточные каталоги, если не была установлена директива
3021 dav_access. 3049 dav_access.
3022 Спасибо Evan Miller. 3050 Спасибо Evan Miller.
3023 3051
3024 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог 3052 *) Исправление: вместо кодов ошибок "400" и "408" в access_log мог
3025 записываться код "0". 3053 записываться код "0".
3026 3054
3027 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог 3055 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3028 произойти segmentation fault. 3056 произойти segmentation fault.
3029 3057
3030 3058
3031 Изменения в nginx 0.5.10 26.01.2007 3059 Изменения в nginx 0.5.10 26.01.2007
3032 3060
3033 *) Исправление: во время обновления исполняемого файла новый процесс не 3061 *) Исправление: во время обновления исполняемого файла новый процесс не
3034 наследовал слушающие сокеты; ошибка появилась в 0.5.9. 3062 наследовал слушающие сокеты; ошибка появилась в 0.5.9.
3035 3063
3036 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог 3064 *) Исправление: при сборке с оптимизацией -O2 в рабочем процессе мог
3037 произойти segmentation fault; ошибка появилась в 0.5.1. 3065 произойти segmentation fault; ошибка появилась в 0.5.1.
3038 3066
3039 3067
3040 Изменения в nginx 0.5.9 25.01.2007 3068 Изменения в nginx 0.5.9 25.01.2007
3041 3069
3042 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа 3070 *) Изменение: модуль ngx_http_memcached_module теперь в качестве ключа
3043 использует значение переменной $memcached_key. 3071 использует значение переменной $memcached_key.
3044 3072
3045 *) Добавление: переменная $memcached_key. 3073 *) Добавление: переменная $memcached_key.
3046 3074
3047 *) Добавление: параметр clean в директиве client_body_in_file_only. 3075 *) Добавление: параметр clean в директиве client_body_in_file_only.
3048 3076
3049 *) Добавление: директива env. 3077 *) Добавление: директива env.
3050 3078
3051 *) Добавление: директива sendfile работает внутри блока if. 3079 *) Добавление: директива sendfile работает внутри блока if.
3052 3080
3053 *) Добавление: теперь при ошибке записи в access_log nginx записывает 3081 *) Добавление: теперь при ошибке записи в access_log nginx записывает
3054 сообщение в error_log, но не чаще одного раза в минуту. 3082 сообщение в error_log, но не чаще одного раза в минуту.
3055 3083
3056 *) Исправление: директива "access_log off" не всегда запрещала запись в 3084 *) Исправление: директива "access_log off" не всегда запрещала запись в
3057 лог. 3085 лог.
3058 3086
3059 3087
3060 Изменения в nginx 0.5.8 19.01.2007 3088 Изменения в nginx 0.5.8 19.01.2007
3061 3089
3062 *) Исправление: если использовалась директива 3090 *) Исправление: если использовалась директива
3063 "client_body_in_file_only on" и тело запроса было небольшое, то мог 3091 "client_body_in_file_only on" и тело запроса было небольшое, то мог
3064 произойти segmentation fault. 3092 произойти segmentation fault.
3065 3093
3066 *) Исправление: происходил segmentation fault, если использовались 3094 *) Исправление: происходил segmentation fault, если использовались
3067 директивы "client_body_in_file_only on" и 3095 директивы "client_body_in_file_only on" и
3068 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и 3096 "proxy_pass_request_body off" или "fastcgi_pass_request_body off", и
3069 делался переход к следующему бэкенду. 3097 делался переход к следующему бэкенду.
3070 3098
3071 *) Исправление: если при использовании директивы "proxy_buffering off" 3099 *) Исправление: если при использовании директивы "proxy_buffering off"
3072 соединение с клиентом было неактивно, то оно закрывалось по 3100 соединение с клиентом было неактивно, то оно закрывалось по таймауту,
3073 таймауту, заданному директивой send_timeout; ошибка появилась в 3101 заданному директивой send_timeout; ошибка появилась в 0.4.7.
3074 0.4.7. 3102
3075 3103 *) Исправление: если при использовании метода epoll клиент закрывал
3076 *) Исправление: если при использовании метода epoll клиент закрывал 3104 преждевременно соединение со своей стороны, то nginx закрывал это
3077 преждевременно соединение со своей стороны, то nginx закрывал это
3078 соединение только по истечении таймаута на передачу. 3105 соединение только по истечении таймаута на передачу.
3079 3106
3080 *) Исправление: ошибки "[alert] zero size buf" при работе с 3107 *) Исправление: ошибки "[alert] zero size buf" при работе с
3081 FastCGI-сервером. 3108 FastCGI-сервером.
3082 3109
3083 *) Исправление ошибок в директиве limit_zone. 3110 *) Исправление ошибок в директиве limit_zone.
3084 3111
3085 3112
3087 3114
3088 *) Добавление: оптимизация использования памяти в ssl_session_cache. 3115 *) Добавление: оптимизация использования памяти в ssl_session_cache.
3089 3116
3090 *) Исправление ошибок в директивах ssl_session_cache и limit_zone. 3117 *) Исправление ошибок в директивах ssl_session_cache и limit_zone.
3091 3118
3092 *) Исправление: на старте или во время переконфигурации происходил 3119 *) Исправление: на старте или во время переконфигурации происходил
3093 segmentation fault, если директивы ssl_session_cache или limit_zone 3120 segmentation fault, если директивы ssl_session_cache или limit_zone
3094 использовались на 64-битных платформах. 3121 использовались на 64-битных платформах.
3095 3122
3096 *) Исправление: при использовании директив add_before_body или 3123 *) Исправление: при использовании директив add_before_body или
3097 add_after_body происходил segmentation fault, если в заголовке 3124 add_after_body происходил segmentation fault, если в заголовке ответа
3098 ответа нет строки "Content-Type". 3125 нет строки "Content-Type".
3099 3126
3100 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой 3127 *) Исправление: библиотека OpenSSL всегда собиралась с поддержкой
3101 потоков. 3128 потоков.
3102 Спасибо Дену Иванову. 3129 Спасибо Дену Иванову.
3103 3130
3104 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc. 3131 *) Исправление: совместимость библиотеки PCRE-6.5+ и компилятора icc.
3105 3132
3106 3133
3107 Изменения в nginx 0.5.6 09.01.2007 3134 Изменения в nginx 0.5.6 09.01.2007
3108 3135
3109 *) Изменение: теперь модуль ngx_http_index_module игнорирует все 3136 *) Изменение: теперь модуль ngx_http_index_module игнорирует все методы,
3110 методы, кроме GET, HEAD и POST. 3137 кроме GET, HEAD и POST.
3111 3138
3112 *) Добавление: модуль ngx_http_limit_zone_module. 3139 *) Добавление: модуль ngx_http_limit_zone_module.
3113 3140
3114 *) Добавление: переменная $binary_remote_addr. 3141 *) Добавление: переменная $binary_remote_addr.
3115 3142
3116 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module 3143 *) Добавление: директивы ssl_session_cache модулей ngx_http_ssl_module и
3117 и ngx_imap_ssl_module. 3144 ngx_imap_ssl_module.
3118 3145
3119 *) Добавление: метод DELETE поддерживает рекурсивное удаление. 3146 *) Добавление: метод DELETE поддерживает рекурсивное удаление.
3120 3147
3121 *) Исправление: при использовании $r->sendfile() byte-ranges 3148 *) Исправление: при использовании $r->sendfile() byte-ranges
3122 передавались неверно. 3149 передавались неверно.
3123 3150
3124 3151
3125 Изменения в nginx 0.5.5 24.12.2006 3152 Изменения в nginx 0.5.5 24.12.2006
3126 3153
3127 *) Изменение: ключ -v больше не выводит информацию о компиляторе. 3154 *) Изменение: ключ -v больше не выводит информацию о компиляторе.
3128 3155
3129 *) Добавление: ключ -V. 3156 *) Добавление: ключ -V.
3130 3157
3131 *) Добавление: директива worker_rlimit_core поддерживает указание 3158 *) Добавление: директива worker_rlimit_core поддерживает указание
3132 размера в K, M и G. 3159 размера в K, M и G.
3133 3160
3134 *) Исправление: модуль nginx.pm теперь может устанавливаться 3161 *) Исправление: модуль nginx.pm теперь может устанавливаться
3135 непривилегированным пользователем. 3162 непривилегированным пользователем.
3136 3163
3137 *) Исправление: при использовании методов $r->request_body или 3164 *) Исправление: при использовании методов $r->request_body или
3138 $r->request_body_file мог произойти segmentation fault. 3165 $r->request_body_file мог произойти segmentation fault.
3139 3166
3140 *) Исправление: ошибок, специфичных для платформы ppc. 3167 *) Исправление: ошибок, специфичных для платформы ppc.
3141 3168
3142 3169
3143 Изменения в nginx 0.5.4 15.12.2006 3170 Изменения в nginx 0.5.4 15.12.2006
3144 3171
3145 *) Добавление: директиву perl можно использовать внутри блока 3172 *) Добавление: директиву perl можно использовать внутри блока
3146 limit_except. 3173 limit_except.
3147 3174
3148 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в 3175 *) Исправление: модуль ngx_http_dav_module требовал строку "Date" в
3149 заголовке запроса для метода DELETE. 3176 заголовке запроса для метода DELETE.
3150 3177
3151 *) Исправление: при использовании одного параметра в директиве 3178 *) Исправление: при использовании одного параметра в директиве
3152 dav_access nginx мог сообщить об ошибке в конфигурации. 3179 dav_access nginx мог сообщить об ошибке в конфигурации.
3153 3180
3154 *) Исправление: при использовании переменной $host мог произойти 3181 *) Исправление: при использовании переменной $host мог произойти
3155 segmentation fault; ошибка появилась в 0.4.14. 3182 segmentation fault; ошибка появилась в 0.4.14.
3156 3183
3157 3184
3158 Изменения в nginx 0.5.3 13.12.2006 3185 Изменения в nginx 0.5.3 13.12.2006
3159 3186
3160 *) Добавление: модуль ngx_http_perl_module поддерживает методы 3187 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3161 $r->status, $r->log_error и $r->sleep. 3188 $r->status, $r->log_error и $r->sleep.
3162 3189
3163 *) Добавление: метод $r->variable поддерживает переменные, неописанные 3190 *) Добавление: метод $r->variable поддерживает переменные, неописанные в
3164 в конфигурации nginx'а. 3191 конфигурации nginx'а.
3165 3192
3166 *) Исправление: метод $r->has_request_body не работал. 3193 *) Исправление: метод $r->has_request_body не работал.
3167 3194
3168 3195
3169 Изменения в nginx 0.5.2 11.12.2006 3196 Изменения в nginx 0.5.2 11.12.2006
3170 3197
3171 *) Исправление: если в директивах proxy_pass использовалось имя, 3198 *) Исправление: если в директивах proxy_pass использовалось имя,
3172 указанное в upstream, то nginx пытался найти IP-адрес этого имени; 3199 указанное в upstream, то nginx пытался найти IP-адрес этого имени;
3173 ошибка появилась в 0.5.1. 3200 ошибка появилась в 0.5.1.
3174 3201
3175 3202
3176 Изменения в nginx 0.5.1 11.12.2006 3203 Изменения в nginx 0.5.1 11.12.2006
3177 3204
3178 *) Исправление: директива post_action могла не работать после 3205 *) Исправление: директива post_action могла не работать после неудачного
3179 неудачного завершения запроса. 3206 завершения запроса.
3180 3207
3181 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 3208 *) Изменение: обход ошибки в Eudora для Mac; ошибка появилась в 0.4.11.
3182 0.4.11.
3183 Спасибо Bron Gondwana. 3209 Спасибо Bron Gondwana.
3184 3210
3185 *) Исправление: при указании в директиве fastcgi_pass имени описанного 3211 *) Исправление: при указании в директиве fastcgi_pass имени описанного
3186 upstream'а выдавалось сообщение "no port in upstream"; ошибка 3212 upstream'а выдавалось сообщение "no port in upstream"; ошибка
3187 появилась в 0.5.0. 3213 появилась в 0.5.0.
3188 3214
3189 *) Исправление: если в директивах proxy_pass и fastcgi_pass 3215 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3190 использовались одинаковых имена серверов, но с разными портами, то 3216 использовались одинаковых имена серверов, но с разными портами, то
3191 эти директивы использовали первый описанный порт; ошибка появилась в 3217 эти директивы использовали первый описанный порт; ошибка появилась в
3192 0.5.0. 3218 0.5.0.
3193 3219
3194 *) Исправление: если в директивах proxy_pass и fastcgi_pass 3220 *) Исправление: если в директивах proxy_pass и fastcgi_pass
3195 использовались unix domain сокеты, то эти директивы использовали 3221 использовались unix domain сокеты, то эти директивы использовали
3196 первый описанный сокет; ошибка появилась в 0.5.0. 3222 первый описанный сокет; ошибка появилась в 0.5.0.
3197 3223
3198 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя, 3224 *) Исправление: ngx_http_auth_basic_module игнорировал пользователя,
3199 если он был указан в последней строке файла паролей и после пароля 3225 если он был указан в последней строке файла паролей и после пароля не
3200 не было перевода строки, возврата каретки или символа ":". 3226 было перевода строки, возврата каретки или символа ":".
3201 3227
3202 *) Исправление: переменная $upstream_response_time могла быть равна 3228 *) Исправление: переменная $upstream_response_time могла быть равна
3203 "0.000", хотя время обработки было больше 1 миллисекунды. 3229 "0.000", хотя время обработки было больше 1 миллисекунды.
3204 3230
3205 3231
3206 Изменения в nginx 0.5.0 04.12.2006 3232 Изменения в nginx 0.5.0 04.12.2006
3207 3233
3208 *) Изменение: параметры в виде "%name" в директиве log_format больше не 3234 *) Изменение: параметры в виде "%name" в директиве log_format больше не
3209 поддерживаются. 3235 поддерживаются.
3210 3236
3211 *) Изменение: директивы proxy_upstream_max_fails, 3237 *) Изменение: директивы proxy_upstream_max_fails,
3212 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и 3238 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails, и
3213 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и 3239 fastcgi_upstream_fail_timeout, memcached_upstream_max_fails и
3214 memcached_upstream_fail_timeout больше не поддерживаются. 3240 memcached_upstream_fail_timeout больше не поддерживаются.
3215 3241
3216 *) Добавление: директива server в блоке upstream поддерживает параметры 3242 *) Добавление: директива server в блоке upstream поддерживает параметры
3217 max_fails, fail_timeout и down. 3243 max_fails, fail_timeout и down.
3218 3244
3219 *) Добавление: директива ip_hash в блоке upstream. 3245 *) Добавление: директива ip_hash в блоке upstream.
3220 3246
3221 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа 3247 *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
3222 сервера аутентификации IMAP/POP3 прокси. 3248 сервера аутентификации IMAP/POP3 прокси.
3223 3249
3224 *) Исправление: nginx не собирался на 64-битных платформах; ошибка 3250 *) Исправление: nginx не собирался на 64-битных платформах; ошибка
3225 появилась в 0.4.14. 3251 появилась в 0.4.14.
3226 3252
3227 3253
3228 Изменения в nginx 0.4.14 27.11.2006 3254 Изменения в nginx 0.4.14 27.11.2006
3229 3255
3230 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси. 3256 *) Добавление: директива proxy_pass_error_message в IMAP/POP3 прокси.
3231 3257
3232 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD, 3258 *) Добавление: теперь configure определяет библиотеку PCRE на FreeBSD,
3233 Linux и NetBSD. 3259 Linux и NetBSD.
3234 3260
3235 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с 3261 *) Исправление: ngx_http_perl_module не работал с перлом, собранным с
3236 поддержкой потоков; ошибка появилась в 0.3.38. 3262 поддержкой потоков; ошибка появилась в 0.3.38.
3237 3263
3238 *) Исправление: ngx_http_perl_module не работал корректно, если перл 3264 *) Исправление: ngx_http_perl_module не работал корректно, если перл
3239 вызывался рекурсивно. 3265 вызывался рекурсивно.
3240 3266
3241 *) Исправление: nginx игнорировал имя сервера в строке запроса. 3267 *) Исправление: nginx игнорировал имя сервера в строке запроса.
3242 3268
3243 *) Исправление: если FastCGI сервер передавал много в stderr, то 3269 *) Исправление: если FastCGI сервер передавал много в stderr, то рабочий
3244 рабочий процесс мог зациклиться. 3270 процесс мог зациклиться.
3245 3271
3246 *) Исправление: при изменении системного времени переменная 3272 *) Исправление: при изменении системного времени переменная
3247 $upstream_response_time могла быть отрицательной. 3273 $upstream_response_time могла быть отрицательной.
3248 3274
3249 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3 3275 *) Исправление: при использовании POP3 серверу аутентификации IMAP/POP3
3250 прокси не передавался параметр Auth-Login-Attempt. 3276 прокси не передавался параметр Auth-Login-Attempt.
3251 3277
3252 *) Исправление: при ошибке соединения с сервером аутентификации 3278 *) Исправление: при ошибке соединения с сервером аутентификации
3253 IMAP/POP3 прокси мог произойти segmentation fault. 3279 IMAP/POP3 прокси мог произойти segmentation fault.
3254 3280
3255 3281
3256 Изменения в nginx 0.4.13 15.11.2006 3282 Изменения в nginx 0.4.13 15.11.2006
3257 3283
3258 *) Добавление: директиву proxy_pass можно использовать внутри блока 3284 *) Добавление: директиву proxy_pass можно использовать внутри блока
3259 limit_except. 3285 limit_except.
3260 3286
3261 *) Добавление: директива limit_except поддерживает все WebDAV методы. 3287 *) Добавление: директива limit_except поддерживает все WebDAV методы.
3262 3288
3263 *) Исправление: при использовании директивы add_before_body без 3289 *) Исправление: при использовании директивы add_before_body без
3264 директивы add_after_body ответ передавался не полностью. 3290 директивы add_after_body ответ передавался не полностью.
3265 3291
3266 *) Исправление: большое тело запроса не принималось, если 3292 *) Исправление: большое тело запроса не принималось, если использовались
3267 использовались метод epoll и deferred accept(). 3293 метод epoll и deferred accept().
3268 3294
3269 *) Исправление: для ответов модуля ngx_http_autoindex_module не 3295 *) Исправление: для ответов модуля ngx_http_autoindex_module не
3270 выставлялась кодировка; ошибка появилась в 0.3.50. 3296 выставлялась кодировка; ошибка появилась в 0.3.50.
3271 3297
3272 *) Исправление: ошибки "[alert] zero size buf" при работе с 3298 *) Исправление: ошибки "[alert] zero size buf" при работе с
3273 FastCGI-сервером; 3299 FastCGI-сервером;
3274 3300
3275 *) Исправление: параметр конфигурации --group= игнорировался. 3301 *) Исправление: параметр конфигурации --group= игнорировался.
3276 Спасибо Thomas Moschny. 3302 Спасибо Thomas Moschny.
3277 3303
3278 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка 3304 *) Исправление: 50-й подзапрос в SSI ответе не работал; ошибка появилась
3279 появилась в 0.3.50. 3305 в 0.3.50.
3280 3306
3281 3307
3282 Изменения в nginx 0.4.12 31.10.2006 3308 Изменения в nginx 0.4.12 31.10.2006
3283 3309
3284 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3310 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3285 $r->variable. 3311 $r->variable.
3286 3312
3287 *) Исправление: при включении в ответ большого статического файла с 3313 *) Исправление: при включении в ответ большого статического файла с
3288 помощью SSI ответ мог передаваться не полностью. 3314 помощью SSI ответ мог передаваться не полностью.
3289 3315
3290 *) Исправление: nginx не убирал "#fragment" в URI. 3316 *) Исправление: nginx не убирал "#fragment" в URI.
3291 3317
3292 3318
3293 Изменения в nginx 0.4.11 25.10.2006 3319 Изменения в nginx 0.4.11 25.10.2006
3294 3320
3295 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. 3321 *) Добавление: POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5.
3296 3322
3297 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3323 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3298 $r->allow_ranges. 3324 $r->allow_ranges.
3299 3325
3300 *) Исправление: при включённой поддержке команды APOP в POP3 прокси 3326 *) Исправление: при включённой поддержке команды APOP в POP3 прокси
3301 могли не работать команды USER/PASS; ошибка появилась в 0.4.10. 3327 могли не работать команды USER/PASS; ошибка появилась в 0.4.10.
3302 3328
3303 3329
3304 Изменения в nginx 0.4.10 23.10.2006 3330 Изменения в nginx 0.4.10 23.10.2006
3305 3331
3306 *) Добавление: POP3 прокси поддерживает APOP. 3332 *) Добавление: POP3 прокси поддерживает APOP.
3307 3333
3308 *) Исправление: при использовании методов select, poll и /dev/poll во 3334 *) Исправление: при использовании методов select, poll и /dev/poll во
3309 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси 3335 время ожидания ответа от сервера аутентификации IMAP/POP3 прокси
3310 нагружал процессор. 3336 нагружал процессор.
3311 3337
3312 *) Исправление: при использовании переменной $server_addr в директиве 3338 *) Исправление: при использовании переменной $server_addr в директиве
3313 map мог произойти segmentation fault. 3339 map мог произойти segmentation fault.
3314 3340
3315 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges 3341 *) Исправление: модуль ngx_http_flv_module не поддерживал byte ranges
3316 для полных ответов; ошибка появилась в 0.4.7. 3342 для полных ответов; ошибка появилась в 0.4.7.
3317 3343
3318 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в 3344 *) Исправление: nginx не собирался на Debian amd64; ошибка появилась в
3319 0.4.9. 3345 0.4.9.
3320 3346
3321 3347
3322 Изменения в nginx 0.4.9 13.10.2006 3348 Изменения в nginx 0.4.9 13.10.2006
3323 3349
3324 *) Добавление: параметр set в команде SSI include. 3350 *) Добавление: параметр set в команде SSI include.
3325 3351
3326 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию 3352 *) Добавление: модуль ngx_http_perl_module теперь проверяет версию
3327 модуля nginx.pm. 3353 модуля nginx.pm.
3328 3354
3329 3355
3330 Изменения в nginx 0.4.8 11.10.2006 3356 Изменения в nginx 0.4.8 11.10.2006
3331 3357
3332 *) Исправление: если до команды SSI include с параметром wait 3358 *) Исправление: если до команды SSI include с параметром wait
3333 выполнялась ещё одна команда SSI include, то параметр wait мог не 3359 выполнялась ещё одна команда SSI include, то параметр wait мог не
3334 работать. 3360 работать.
3335 3361
3336 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для 3362 *) Исправление: модуль ngx_http_flv_module добавлял FLV-заголовок для
3337 полных ответов. 3363 полных ответов.
3338 Спасибо Алексею Ковырину. 3364 Спасибо Алексею Ковырину.
3339 3365
3340 3366
3341 Изменения в nginx 0.4.7 10.10.2006 3367 Изменения в nginx 0.4.7 10.10.2006
3342 3368
3343 *) Добавление: модуль ngx_http_flv_module. 3369 *) Добавление: модуль ngx_http_flv_module.
3344 3370
3345 *) Добавление: переменная $request_body_file. 3371 *) Добавление: переменная $request_body_file.
3346 3372
3347 *) Добавление: директивы charset и source_charset поддерживают 3373 *) Добавление: директивы charset и source_charset поддерживают
3348 переменные. 3374 переменные.
3349 3375
3350 *) Исправление: если до команды SSI include с параметром wait 3376 *) Исправление: если до команды SSI include с параметром wait
3351 выполнялась ещё одна команда SSI include, то параметр wait мог не 3377 выполнялась ещё одна команда SSI include, то параметр wait мог не
3352 работать. 3378 работать.
3353 3379
3354 *) Исправление: при использовании директивы "proxy_buffering off" или 3380 *) Исправление: при использовании директивы "proxy_buffering off" или
3355 при работе с memcached соединения могли не закрываться по таймауту. 3381 при работе с memcached соединения могли не закрываться по таймауту.
3356 3382
3357 *) Исправление: nginx не запускался на 64-битных платформах, отличных 3383 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3358 от amd64, sparc64 и ppc64. 3384 amd64, sparc64 и ppc64.
3359 3385
3360 3386
3361 Изменения в nginx 0.4.6 06.10.2006 3387 Изменения в nginx 0.4.6 06.10.2006
3362 3388
3363 *) Исправление: nginx не запускался на 64-битных платформах, отличных 3389 *) Исправление: nginx не запускался на 64-битных платформах, отличных от
3364 от amd64, sparc64 и ppc64. 3390 amd64, sparc64 и ppc64.
3365 3391
3366 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ 3392 *) Исправление: при запросе версии HTTP/1.1 nginx передавал ответ
3367 chunk'ами, если длина ответа в методе 3393 chunk'ами, если длина ответа в методе
3368 $r->headers_out("Content-Length", ...) была задана текстовой строкой. 3394 $r->headers_out("Content-Length", ...) была задана текстовой строкой.
3369 3395
3370 *) Исправление: после перенаправления ошибки с помощью директивы 3396 *) Исправление: после перенаправления ошибки с помощью директивы
3371 error_page любая директива модуля ngx_http_rewrite_module возвращала 3397 error_page любая директива модуля ngx_http_rewrite_module возвращала
3372 эту ошибку; ошибка появилась в 0.4.4. 3398 эту ошибку; ошибка появилась в 0.4.4.
3373 3399
3374 3400
3375 Изменения в nginx 0.4.5 02.10.2006 3401 Изменения в nginx 0.4.5 02.10.2006
3376 3402
3377 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась 3403 *) Исправление: nginx не собирался на Linux и Solaris; ошибка появилась
3378 в 0.4.4. 3404 в 0.4.4.
3379 3405
3380 3406
3381 Изменения в nginx 0.4.4 02.10.2006 3407 Изменения в nginx 0.4.4 02.10.2006
3382 3408
3385 *) Добавление: директива expires поддерживает параметр max. 3411 *) Добавление: директива expires поддерживает параметр max.
3386 3412
3387 *) Добавление: директива include поддерживает маску "*". 3413 *) Добавление: директива include поддерживает маску "*".
3388 Спасибо Jonathan Dance. 3414 Спасибо Jonathan Dance.
3389 3415
3390 *) Исправление: директива return всегда изменяла код ответа, 3416 *) Исправление: директива return всегда изменяла код ответа,
3391 перенаправленного директивой error_page. 3417 перенаправленного директивой error_page.
3392 3418
3393 *) Исправление: происходил segmentation fault, если в методе PUT 3419 *) Исправление: происходил segmentation fault, если в методе PUT
3394 передавалось тело нулевой длины. 3420 передавалось тело нулевой длины.
3395 3421
3396 *) Исправление: при использовании переменных в директиве proxy_redirect 3422 *) Исправление: при использовании переменных в директиве proxy_redirect
3397 редирект изменялся неверно. 3423 редирект изменялся неверно.
3398 3424
3399 3425
3400 Изменения в nginx 0.4.3 26.09.2006 3426 Изменения в nginx 0.4.3 26.09.2006
3401 3427
3402 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью 3428 *) Изменение: ошибку 499 теперь нельзя перенаправить с помощью директивы
3403 директивы error_page. 3429 error_page.
3404 3430
3405 *) Добавление: поддержка Solaris 10 event ports. 3431 *) Добавление: поддержка Solaris 10 event ports.
3406 3432
3407 *) Добавление: модуль ngx_http_browser_module. 3433 *) Добавление: модуль ngx_http_browser_module.
3408 3434
3409 *) Исправление: при перенаправлении ошибки 400 проксированному серверу 3435 *) Исправление: при перенаправлении ошибки 400 проксированному серверу
3410 помощью директивы error_page мог произойти segmentation fault. 3436 помощью директивы error_page мог произойти segmentation fault.
3411 3437
3412 *) Исправление: происходил segmentation fault, если в директиве 3438 *) Исправление: происходил segmentation fault, если в директиве
3413 proxy_pass использовался unix domain сокет; ошибка появилась в 3439 proxy_pass использовался unix domain сокет; ошибка появилась в
3414 0.3.47. 3440 0.3.47.
3415 3441
3416 *) Исправление: SSI не работал с ответами memcached и 3442 *) Исправление: SSI не работал с ответами memcached и
3417 небуферизированными проксированными ответами. 3443 небуферизированными проксированными ответами.
3418 3444
3419 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio. 3445 *) Изменение: обход ошибки PAUSE hardware capability в Sun Studio.
3420 3446
3421 3447
3422 Изменения в nginx 0.4.2 14.09.2006 3448 Изменения в nginx 0.4.2 14.09.2006
3423 3449
3424 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка 3450 *) Исправление: убрана поддержка флага O_NOATIME на Linux; ошибка
3425 появилась в 0.4.1. 3451 появилась в 0.4.1.
3426 3452
3427 3453
3428 Изменения в nginx 0.4.1 14.09.2006 3454 Изменения в nginx 0.4.1 14.09.2006
3429 3455
3430 *) Исправление: совместимость с DragonFlyBSD. 3456 *) Исправление: совместимость с DragonFlyBSD.
3431 Спасибо Павлу Назарову. 3457 Спасибо Павлу Назарову.
3432 3458
3433 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче 3459 *) Изменение: обход ошибки в sendfile() в 64-битном Linux при передаче
3434 файлов больше 2G. 3460 файлов больше 2G.
3435 3461
3436 *) Добавление: теперь на Linux nginx для статических запросов 3462 *) Добавление: теперь на Linux nginx для статических запросов использует
3437 использует флаг O_NOATIME. 3463 флаг O_NOATIME.
3438 Спасибо Yusuf Goolamabbas. 3464 Спасибо Yusuf Goolamabbas.
3439 3465
3440 3466
3441 Изменения в nginx 0.4.0 30.08.2006 3467 Изменения в nginx 0.4.0 30.08.2006
3442 3468
3443 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена 3469 *) Изменение во внутреннем API: инициализация модулей HTTP перенесена из
3444 из фазы init module в фазу HTTP postconfiguration. 3470 фазы init module в фазу HTTP postconfiguration.
3445 3471
3446 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не 3472 *) Изменение: теперь тело запроса в модуле ngx_http_perl_module не
3447 считывается заранее: нужно явно инициировать чтение с помощью метода 3473 считывается заранее: нужно явно инициировать чтение с помощью метода
3448 $r->has_request_body. 3474 $r->has_request_body.
3449 3475
3450 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата 3476 *) Добавление: модуль ngx_http_perl_module поддерживает код возврата
3451 DECLINED. 3477 DECLINED.
3452 3478
3453 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку 3479 *) Добавление: модуль ngx_http_dav_module поддерживает входящую строку
3454 заголовка "Date" для метода PUT. 3480 заголовка "Date" для метода PUT.
3455 3481
3456 *) Добавление: директива ssi работает внутри блока if. 3482 *) Добавление: директива ssi работает внутри блока if.
3457 3483
3458 *) Исправление: происходил segmentation fault, если в директиве index 3484 *) Исправление: происходил segmentation fault, если в директиве index
3459 использовалась переменные и при этом первое имя индексного файла 3485 использовалась переменные и при этом первое имя индексного файла было
3460 было без переменных; ошибка появилась в 0.1.29. 3486 без переменных; ошибка появилась в 0.1.29.
3461 3487
3462 3488
3463 Изменения в nginx 0.3.61 28.08.2006 3489 Изменения в nginx 0.3.61 28.08.2006
3464 3490
3465 *) Изменение: директива tcp_nodelay теперь по умолчанию включена. 3491 *) Изменение: директива tcp_nodelay теперь по умолчанию включена.
3466 3492
3467 *) Добавление: директива msie_refresh. 3493 *) Добавление: директива msie_refresh.
3468 3494
3469 *) Добавление: директива recursive_error_pages. 3495 *) Добавление: директива recursive_error_pages.
3470 3496
3471 *) Исправление: директива rewrite возвращала неправильный редирект, 3497 *) Исправление: директива rewrite возвращала неправильный редирект, если
3472 если редирект включал в себя выделенные закодированные символы из 3498 редирект включал в себя выделенные закодированные символы из
3473 оригинального URI. 3499 оригинального URI.
3474 3500
3475 3501
3476 Изменения в nginx 0.3.60 18.08.2006 3502 Изменения в nginx 0.3.60 18.08.2006
3477 3503
3478 *) Исправление: во время перенаправления ошибки рабочий процесс мог 3504 *) Исправление: во время перенаправления ошибки рабочий процесс мог
3479 зациклиться; ошибка появилась в 0.3.59. 3505 зациклиться; ошибка появилась в 0.3.59.
3480 3506
3481 3507
3482 Изменения в nginx 0.3.59 16.08.2006 3508 Изменения в nginx 0.3.59 16.08.2006
3483 3509
3484 *) Добавление: теперь можно делать несколько перенаправлений через 3510 *) Добавление: теперь можно делать несколько перенаправлений через
3485 директиву error_page. 3511 директиву error_page.
3486 3512
3487 *) Исправление: директива dav_access не поддерживала три параметра. 3513 *) Исправление: директива dav_access не поддерживала три параметра.
3488 3514
3489 *) Исправление: директива error_page не изменяла строку "Content-Type" 3515 *) Исправление: директива error_page не изменяла строку "Content-Type"
3490 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась 3516 после перенаправления с помощью "X-Accel-Redirect"; ошибка появилась
3491 в 0.3.58. 3517 в 0.3.58.
3492 3518
3493 3519
3494 Изменения в nginx 0.3.58 14.08.2006 3520 Изменения в nginx 0.3.58 14.08.2006
3495 3521
3496 *) Добавление: директива error_page поддерживает переменные. 3522 *) Добавление: директива error_page поддерживает переменные.
3497 3523
3498 *) Изменение: теперь на Linux используется интерфейс procfs вместо 3524 *) Изменение: теперь на Linux используется интерфейс procfs вместо
3499 sysctl. 3525 sysctl.
3500 3526
3501 *) Изменение: теперь при использовании "X-Accel-Redirect" строка 3527 *) Изменение: теперь при использовании "X-Accel-Redirect" строка
3502 "Content-Type" наследуется из первоначального ответа. 3528 "Content-Type" наследуется из первоначального ответа.
3503 3529
3504 *) Исправление: директива error_page не перенаправляла ошибку 413. 3530 *) Исправление: директива error_page не перенаправляла ошибку 413.
3505 3531
3506 *) Исправление: завершающий "?" не удалял старые аргументы, если в 3532 *) Исправление: завершающий "?" не удалял старые аргументы, если в
3507 переписанном URI не было новых аргументов. 3533 переписанном URI не было новых аргументов.
3508 3534
3509 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 3535 *) Исправление: nginx не запускался на 64-битной FreeBSD 7.0-CURRENT.
3510 3536
3511 3537
3514 *) Добавление: переменная $ssl_client_serial. 3540 *) Добавление: переменная $ssl_client_serial.
3515 3541
3516 *) Исправление: в операторе "!-e" в директиве if. 3542 *) Исправление: в операторе "!-e" в директиве if.
3517 Спасибо Андриану Буданцову. 3543 Спасибо Андриану Буданцову.
3518 3544
3519 *) Исправление: при проверке клиентского сертификата nginx не передавал 3545 *) Исправление: при проверке клиентского сертификата nginx не передавал
3520 клиенту информацию о требуемых сертификатах. 3546 клиенту информацию о требуемых сертификатах.
3521 3547
3522 *) Исправление: переменная $document_root не поддерживала переменные в 3548 *) Исправление: переменная $document_root не поддерживала переменные в
3523 директиве root. 3549 директиве root.
3524 3550
3525 3551
3526 Изменения в nginx 0.3.56 04.08.2006 3552 Изменения в nginx 0.3.56 04.08.2006
3527 3553
3528 *) Добавление: директива dav_access. 3554 *) Добавление: директива dav_access.
3529 3555
3530 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e", 3556 *) Добавление: директива if поддерживает операторы "-d", "!-d", "-e",
3531 "!-e", "-x" и "!-x". 3557 "!-e", "-x" и "!-x".
3532 3558
3533 *) Исправление: при записи в access_log некоторых передаваемых клиенту 3559 *) Исправление: при записи в access_log некоторых передаваемых клиенту
3534 строк заголовков происходил segmentation fault, если запрос 3560 строк заголовков происходил segmentation fault, если запрос возвращал
3535 возвращал редирект. 3561 редирект.
3536 3562
3537 3563
3538 Изменения в nginx 0.3.55 28.07.2006 3564 Изменения в nginx 0.3.55 28.07.2006
3539 3565
3540 *) Добавление: параметр stub в команде SSI include. 3566 *) Добавление: параметр stub в команде SSI include.
3541 3567
3542 *) Добавление: команда SSI block. 3568 *) Добавление: команда SSI block.
3543 3569
3544 *) Добавление: скрипт unicode2nginx добавлен в contrib. 3570 *) Добавление: скрипт unicode2nginx добавлен в contrib.
3545 3571
3546 *) Исправление: если root был задан только переменной, то корень 3572 *) Исправление: если root был задан только переменной, то корень
3547 задавался относительно префикса сервера. 3573 задавался относительно префикса сервера.
3548 3574
3549 *) Исправление: если в запросе был "//" или "/.", и после этого 3575 *) Исправление: если в запросе был "//" или "/.", и после этого
3550 закодированные символы в виде "%XX", то проксируемый запрос 3576 закодированные символы в виде "%XX", то проксируемый запрос
3551 передавался незакодированным. 3577 передавался незакодированным.
3552 3578
3553 *) Исправление: метод $r->header_in("Cookie") модуля 3579 *) Исправление: метод $r->header_in("Cookie") модуля
3554 ngx_http_perl_module теперь возвращает все строки "Cookie" в 3580 ngx_http_perl_module теперь возвращает все строки "Cookie" в
3555 заголовке запроса. 3581 заголовке запроса.
3556 3582
3557 *) Исправление: происходил segmentation fault, если использовался 3583 *) Исправление: происходил segmentation fault, если использовался
3558 "client_body_in_file_only on" и делался переход к следующему бэкенду. 3584 "client_body_in_file_only on" и делался переход к следующему бэкенду.
3559 3585
3560 *) Исправление: при некоторых условиях во время переконфигурации коды 3586 *) Исправление: при некоторых условиях во время переконфигурации коды
3561 символов внутри директивы charset_map могли считаться неверными; 3587 символов внутри директивы charset_map могли считаться неверными;
3562 ошибка появилась в 0.3.50. 3588 ошибка появилась в 0.3.50.
3563 3589
3564 3590
3565 Изменения в nginx 0.3.54 11.07.2006 3591 Изменения в nginx 0.3.54 11.07.2006
3566 3592
3567 *) Добавление: nginx теперь записывает в лог информацию о подзапросах. 3593 *) Добавление: nginx теперь записывает в лог информацию о подзапросах.
3568 3594
3569 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и 3595 *) Добавление: директивы proxy_next_upstream, fastcgi_next_upstream и
3570 memcached_next_upstream поддерживают параметр off. 3596 memcached_next_upstream поддерживают параметр off.
3571 3597
3572 *) Добавление: директива debug_connection поддерживает запись адресов в 3598 *) Добавление: директива debug_connection поддерживает запись адресов в
3573 формате CIDR. 3599 формате CIDR.
3574 3600
3575 *) Исправление: при перекодировании ответа проксированного сервера или 3601 *) Исправление: при перекодировании ответа проксированного сервера или
3576 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не 3602 сервера FastCGI в UTF-8 или наоборот ответ мог передаваться не
3577 полностью. 3603 полностью.
3578 3604
3579 *) Исправление: переменная $upstream_response_time содержала время 3605 *) Исправление: переменная $upstream_response_time содержала время
3580 только первого обращения к бэкенду. 3606 только первого обращения к бэкенду.
3581 3607
3582 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась 3608 *) Исправление: nginx не собирался на платформе amd64; ошибка появилась
3583 в 0.3.53. 3609 в 0.3.53.
3584 3610
3585 3611
3586 Изменения в nginx 0.3.53 07.07.2006 3612 Изменения в nginx 0.3.53 07.07.2006
3587 3613
3588 *) Изменение: директива add_header добавляет строки в ответы с кодом 3614 *) Изменение: директива add_header добавляет строки в ответы с кодом
3589 204, 301 и 302. 3615 204, 301 и 302.
3590 3616
3591 *) Добавление: директива server в блоке upstream поддерживает параметр 3617 *) Добавление: директива server в блоке upstream поддерживает параметр
3592 weight. 3618 weight.
3593 3619
3594 *) Добавление: директива server_name поддерживает маску "*". 3620 *) Добавление: директива server_name поддерживает маску "*".
3595 3621
3596 *) Добавление: nginx поддерживает тело запроса больше 2G. 3622 *) Добавление: nginx поддерживает тело запроса больше 2G.
3597 3623
3598 *) Исправление: если при использовании "satisfy_any on" клиент успешно 3624 *) Исправление: если при использовании "satisfy_any on" клиент успешно
3599 проходил аутентификацию, в лог всё равно записалоcь сообщение 3625 проходил аутентификацию, в лог всё равно записалоcь сообщение "access
3600 "access forbidden by rule". 3626 forbidden by rule".
3601 3627
3602 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код 3628 *) Исправление: метод PUT мог ошибочно не создать файл и вернуть код
3603 409. 3629 409.
3604 3630
3605 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал 3631 *) Исправление: если во время аутентификации IMAP/POP3 бэкенд возвращал
3606 ошибку, nginx продолжал проксирование. 3632 ошибку, nginx продолжал проксирование.
3607 3633
3608 3634
3609 Изменения в nginx 0.3.52 03.07.2006 3635 Изменения в nginx 0.3.52 03.07.2006
3610 3636
3611 *) Изменение: восстановлено поведение модуля ngx_http_index_module для 3637 *) Изменение: восстановлено поведение модуля ngx_http_index_module для
3612 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт 3638 запросов "POST /": как в версии до 0.3.40, модуль теперь не выдаёт
3613 ошибку 405. 3639 ошибку 405.
3614 3640
3615 *) Исправление: при использовании ограничения скорости рабочий процесс 3641 *) Исправление: при использовании ограничения скорости рабочий процесс
3616 мог зациклиться; ошибка появилась в 0.3.37. 3642 мог зациклиться; ошибка появилась в 0.3.37.
3617 3643
3618 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку 3644 *) Исправление: модуль ngx_http_charset_module записывал в лог ошибку
3619 "unknown charset", даже если перекодировка не требовалась; ошибка 3645 "unknown charset", даже если перекодировка не требовалась; ошибка
3620 появилась в 0.3.50. 3646 появилась в 0.3.50.
3621 3647
3622 *) Исправление: если в результате запроса PUT возвращался код 409, то 3648 *) Исправление: если в результате запроса PUT возвращался код 409, то
3623 временный файл не удалялся. 3649 временный файл не удалялся.
3624 3650
3625 3651
3626 Изменения в nginx 0.3.51 30.06.2006 3652 Изменения в nginx 0.3.51 30.06.2006
3627 3653
3628 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<"; 3654 *) Исправление: при некоторых условиях в SSI мог пропадать символы "<";
3629 ошибка появилась в 0.3.50. 3655 ошибка появилась в 0.3.50.
3630 3656
3631 3657
3632 Изменения в nginx 0.3.50 28.06.2006 3658 Изменения в nginx 0.3.50 28.06.2006
3633 3659
3634 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors 3660 *) Изменение: директивы proxy_redirect_errors и fastcgi_redirect_errors
3635 переименованы соответственно в proxy_intercept_errors и 3661 переименованы соответственно в proxy_intercept_errors и
3636 fastcgi_intercept_errors. 3662 fastcgi_intercept_errors.
3637 3663
3638 *) Добавление: модуль ngx_http_charset_module поддерживает 3664 *) Добавление: модуль ngx_http_charset_module поддерживает
3639 перекодирование из однобайтных кодировок в UTF-8 и обратно. 3665 перекодирование из однобайтных кодировок в UTF-8 и обратно.
3640 3666
3641 *) Добавление: в режиме прокси и FastCGI поддерживается строка 3667 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
3642 заголовка "X-Accel-Charset" в ответе бэкенда. 3668 "X-Accel-Charset" в ответе бэкенда.
3643 3669
3644 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался, 3670 *) Исправление: символ "\" в парах "\"" и "\'" в SSI командах убирался,
3645 только если также использовался символ "$". 3671 только если также использовался символ "$".
3646 3672
3647 *) Исправление: при некоторых условиях в SSI после вставки могла быть 3673 *) Исправление: при некоторых условиях в SSI после вставки могла быть
3648 добавлена строка "<!--". 3674 добавлена строка "<!--".
3649 3675
3650 *) Исправление: если в заголовке ответа была строка 3676 *) Исправление: если в заголовке ответа была строка "Content-Length: 0",
3651 "Content-Length: 0", то при использовании небуферизированного 3677 то при использовании небуферизированного проксировании не закрывалось
3652 проксировании не закрывалось соединение с клиентом. 3678 соединение с клиентом.
3653 3679
3654 3680
3655 Изменения в nginx 0.3.49 31.05.2006 3681 Изменения в nginx 0.3.49 31.05.2006
3656 3682
3657 *) Исправление: в директиве set. 3683 *) Исправление: в директиве set.
3658 3684
3659 *) Исправление: при включении в ssi двух и более подзапросов, 3685 *) Исправление: при включении в ssi двух и более подзапросов,
3660 обрабатываемых через FastCGI, вместо вывода второго и остальных 3686 обрабатываемых через FastCGI, вместо вывода второго и остальных
3661 подзапросов в ответ включался вывод первого подзапроса. 3687 подзапросов в ответ включался вывод первого подзапроса.
3662 3688
3663 3689
3664 Изменения в nginx 0.3.48 29.05.2006 3690 Изменения в nginx 0.3.48 29.05.2006
3665 3691
3666 *) Изменение: теперь модуль ngx_http_charset_module работает для 3692 *) Изменение: теперь модуль ngx_http_charset_module работает для
3667 подзапросов, в ответах которых нет строки заголовка "Content-Type". 3693 подзапросов, в ответах которых нет строки заголовка "Content-Type".
3668 3694
3669 *) Исправление: если в директиве proxy_pass не было URI, то директива 3695 *) Исправление: если в директиве proxy_pass не было URI, то директива
3670 "proxy_redirect default" добавляла в переписанный редирект в начало 3696 "proxy_redirect default" добавляла в переписанный редирект в начало
3671 лишний слэш. 3697 лишний слэш.
3672 3698
3673 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в 3699 *) Исправление: внутренний редирект всегда превращал любой HTTP-метод в
3674 GET, теперь это делается только для редиректов, выполняемых с 3700 GET, теперь это делается только для редиректов, выполняемых с помощью
3675 помощью X-Accel-Redirect, и у которых метод не равен HEAD; ошибка 3701 X-Accel-Redirect, и у которых метод не равен HEAD; ошибка появилась в
3676 появилась в 0.3.42. 3702 0.3.42.
3677 3703
3678 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был 3704 *) Исправление: модуль ngx_http_perl_module не собирался, если перл был
3679 с поддержкой потоков; ошибка появилась в 0.3.46. 3705 с поддержкой потоков; ошибка появилась в 0.3.46.
3680 3706
3681 3707
3682 Изменения в nginx 0.3.47 23.05.2006 3708 Изменения в nginx 0.3.47 23.05.2006
3683 3709
3684 *) Добавление: директива upstream. 3710 *) Добавление: директива upstream.
3685 3711
3686 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь 3712 *) Изменение: символ "\" в парах "\"" и "\'" в SSI командах теперь
3687 всегда убирается. 3713 всегда убирается.
3688 3714
3689 3715
3690 Изменения в nginx 0.3.46 11.05.2006 3716 Изменения в nginx 0.3.46 11.05.2006
3691 3717
3692 *) Добавление: директивы proxy_hide_header, proxy_pass_header, 3718 *) Добавление: директивы proxy_hide_header, proxy_pass_header,
3693 fastcgi_hide_header и fastcgi_pass_header. 3719 fastcgi_hide_header и fastcgi_pass_header.
3694 3720
3695 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и 3721 *) Изменение: директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и
3696 proxy_pass_server упразднены. 3722 proxy_pass_server упразднены.
3697 3723
3698 *) Добавление: в режиме прокси поддерживается строка заголовка 3724 *) Добавление: в режиме прокси поддерживается строка заголовка
3699 "X-Accel-Buffering" в ответе бэкенда. 3725 "X-Accel-Buffering" в ответе бэкенда.
3700 3726
3701 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле 3727 *) Исправление: ошибок и утечек памяти при переконфигурации в модуле
3702 ngx_http_perl_module. 3728 ngx_http_perl_module.
3703 3729
3704 3730
3705 Изменения в nginx 0.3.45 06.05.2006 3731 Изменения в nginx 0.3.45 06.05.2006
3706 3732
3707 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и 3733 *) Добавление: директивы ssl_verify_client, ssl_verify_depth и
3708 ssl_client_certificate. 3734 ssl_client_certificate.
3709 3735
3710 *) Изменение: теперь переменная $request_method возвращает метод только 3736 *) Изменение: теперь переменная $request_method возвращает метод только
3711 основного запроса. 3737 основного запроса.
3712 3738
3713 *) Изменение: в таблице перекодировки koi-win изменены коды символа 3739 *) Изменение: в таблице перекодировки koi-win изменены коды символа
3714 &deg;. 3740 &deg;.
3715 3741
3716 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и 3742 *) Добавление: в таблицу перекодировки koi-win добавлены символы евро и
3717 номера. 3743 номера.
3718 3744
3719 *) Исправление: если nginx распределял запросы на несколько машин, то 3745 *) Исправление: если nginx распределял запросы на несколько машин, то
3720 при падении одной из них запросы, предназначенные для этой машины, 3746 при падении одной из них запросы, предназначенные для этой машины,
3721 перенаправлялись только на одну машину вместо того, чтобы равномерно 3747 перенаправлялись только на одну машину вместо того, чтобы равномерно
3722 распределяться между остальными. 3748 распределяться между остальными.
3723 3749
3724 3750
3725 Изменения в nginx 0.3.44 04.05.2006 3751 Изменения в nginx 0.3.44 04.05.2006
3726 3752
3727 *) Добавление: параметр wait в команде SSI include. 3753 *) Добавление: параметр wait в команде SSI include.
3728 3754
3729 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и 3755 *) Добавление: в таблицу перекодировки koi-win добавлены украинские и
3730 белорусские символы. 3756 белорусские символы.
3731 3757
3732 *) Исправление: в SSI. 3758 *) Исправление: в SSI.
3733 3759
3734 3760
3739 3765
3740 Изменения в nginx 0.3.42 26.04.2006 3766 Изменения в nginx 0.3.42 26.04.2006
3741 3767
3742 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси. 3768 *) Добавление: параметр bind в директиве listen в IMAP/POP3 прокси.
3743 3769
3744 *) Исправление: ошибки при использовании в директиве rewrite одного и 3770 *) Исправление: ошибки при использовании в директиве rewrite одного и
3745 того же выделения более одного раза. 3771 того же выделения более одного раза.
3746 3772
3747 *) Исправление: в лог не записывались переменные 3773 *) Исправление: в лог не записывались переменные
3748 $sent_http_content_type, $sent_http_content_length, 3774 $sent_http_content_type, $sent_http_content_length,
3749 $sent_http_last_modified, $sent_http_connection, 3775 $sent_http_last_modified, $sent_http_connection,
3750 $sent_http_keep_alive и $sent_http_transfer_encoding. 3776 $sent_http_keep_alive и $sent_http_transfer_encoding.
3751 3777
3752 *) Исправление: переменная $sent_http_cache_control возвращала 3778 *) Исправление: переменная $sent_http_cache_control возвращала
3753 содержимое только одной строки "Cache-Control" в заголовке ответа. 3779 содержимое только одной строки "Cache-Control" в заголовке ответа.
3754 3780
3755 3781
3756 Изменения в nginx 0.3.41 21.04.2006 3782 Изменения в nginx 0.3.41 21.04.2006
3757 3783
3758 *) Добавление: ключ -v. 3784 *) Добавление: ключ -v.
3759 3785
3760 *) Исправление: при включении в SSI удалённых подзапросов мог произойти 3786 *) Исправление: при включении в SSI удалённых подзапросов мог произойти
3761 segmentation fault. 3787 segmentation fault.
3762 3788
3763 *) Исправление: в обработке FastCGI. 3789 *) Исправление: в обработке FastCGI.
3764 3790
3765 *) Исправление: если путь к перловым модулям не был указан с помощью 3791 *) Исправление: если путь к перловым модулям не был указан с помощью
3766 --with-perl_modules_path=PATH или директивы perl_modules, то на 3792 --with-perl_modules_path=PATH или директивы perl_modules, то на
3767 старте происходил segmentation fault. 3793 старте происходил segmentation fault.
3768 3794
3769 3795
3770 Изменения в nginx 0.3.40 19.04.2006 3796 Изменения в nginx 0.3.40 19.04.2006
3771 3797
3776 *) Добавление: переменная $limit_rate. 3802 *) Добавление: переменная $limit_rate.
3777 3803
3778 3804
3779 Изменения в nginx 0.3.39 17.04.2006 3805 Изменения в nginx 0.3.39 17.04.2006
3780 3806
3781 *) Добавление: директива uninitialized_variable_warn; уровень 3807 *) Добавление: директива uninitialized_variable_warn; уровень
3782 логгирования сообщения о неинициализированной переменной понижен с 3808 логгирования сообщения о неинициализированной переменной понижен с
3783 уровня alert на warn. 3809 уровня alert на warn.
3784 3810
3785 *) Добавление: директива override_charset. 3811 *) Добавление: директива override_charset.
3786 3812
3787 *) Изменение: при использовании неизвестной переменной в SSI-командах 3813 *) Изменение: при использовании неизвестной переменной в SSI-командах
3788 echo и if expr='$name' теперь не записывается в лог сообщение о 3814 echo и if expr='$name' теперь не записывается в лог сообщение о
3789 неизвестной переменной. 3815 неизвестной переменной.
3790 3816
3791 *) Исправление: счётчик активных соединений рос при превышении лимита 3817 *) Исправление: счётчик активных соединений рос при превышении лимита
3792 соединений, заданного директивой worker_connections; ошибка 3818 соединений, заданного директивой worker_connections; ошибка появилась
3793 появилась в 0.2.0. 3819 в 0.2.0.
3794 3820
3795 *) Исправление: при некоторых условия ограничение скорости соединения 3821 *) Исправление: при некоторых условия ограничение скорости соединения
3796 могло не работать; ошибка появилась в 0.3.38. 3822 могло не работать; ошибка появилась в 0.3.38.
3797 3823
3798 3824
3799 Изменения в nginx 0.3.38 14.04.2006 3825 Изменения в nginx 0.3.38 14.04.2006
3800 3826
3801 *) Добавление: модуль ngx_http_dav_module. 3827 *) Добавление: модуль ngx_http_dav_module.
3802 3828
3803 *) Изменение: оптимизация модуля ngx_http_perl_module. 3829 *) Изменение: оптимизация модуля ngx_http_perl_module.
3804 Спасибо Сергею Скворцову. 3830 Спасибо Сергею Скворцову.
3805 3831
3806 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3832 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3807 $r->request_body_file. 3833 $r->request_body_file.
3808 3834
3809 *) Добавление: директива client_body_in_file_only. 3835 *) Добавление: директива client_body_in_file_only.
3810 3836
3811 *) Изменение: теперь при переполнении диска nginx пытается писать 3837 *) Изменение: теперь при переполнении диска nginx пытается писать
3812 access_log'и только раз в секунду. 3838 access_log'и только раз в секунду.
3813 Спасибо Антону Южанинову и Максиму Дунину. 3839 Спасибо Антону Южанинову и Максиму Дунину.
3814 3840
3815 *) Исправление: теперь директива limit_rate точнее ограничивает 3841 *) Исправление: теперь директива limit_rate точнее ограничивает скорость
3816 скорость при значениях больше 100 Kbyte/s. 3842 при значениях больше 100 Kbyte/s.
3817 Спасибо ForJest. 3843 Спасибо ForJest.
3818 3844
3819 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации 3845 *) Исправление: IMAP/POP3 прокси теперь передаёт серверу авторизации
3820 символы "\r" и "\n" в логине и пароле в закодированном виде. 3846 символы "\r" и "\n" в логине и пароле в закодированном виде.
3821 Спасибо Максиму Дунину. 3847 Спасибо Максиму Дунину.
3822 3848
3823 3849
3824 Изменения в nginx 0.3.37 07.04.2006 3850 Изменения в nginx 0.3.37 07.04.2006
3825 3851
3826 *) Добавление: директива limit_except. 3852 *) Добавление: директива limit_except.
3827 3853
3828 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и 3854 *) Добавление: директива if поддерживает операторы "!~", "!~*", "-f" и
3829 "!-f". 3855 "!-f".
3830 3856
3831 *) Добавление: модуль ngx_http_perl_module поддерживает метод 3857 *) Добавление: модуль ngx_http_perl_module поддерживает метод
3832 $r->request_body. 3858 $r->request_body.
3833 3859
3834 *) Исправление: в модуле ngx_http_addition_filter_module. 3860 *) Исправление: в модуле ngx_http_addition_filter_module.
3835 3861
3836 3862
3837 Изменения в nginx 0.3.36 05.04.2006 3863 Изменения в nginx 0.3.36 05.04.2006
3838 3864
3839 *) Добавление: модуль ngx_http_addition_filter_module. 3865 *) Добавление: модуль ngx_http_addition_filter_module.
3840 3866
3841 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать 3867 *) Добавление: директивы proxy_pass и fastcgi_pass можно использовать
3842 внутри блока if. 3868 внутри блока if.
3843 3869
3844 *) Добавление: директивы proxy_ignore_client_abort и 3870 *) Добавление: директивы proxy_ignore_client_abort и
3845 fastcgi_ignore_client_abort. 3871 fastcgi_ignore_client_abort.
3846 3872
3847 *) Добавление: переменная $request_completion. 3873 *) Добавление: переменная $request_completion.
3848 3874
3849 *) Добавление: модуль ngx_http_perl_module поддерживает методы 3875 *) Добавление: модуль ngx_http_perl_module поддерживает методы
3850 $r->request_method и $r->remote_addr. 3876 $r->request_method и $r->remote_addr.
3851 3877
3852 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif. 3878 *) Добавление: модуль ngx_http_ssi_module поддерживает команду elif.
3853 3879
3854 *) Исправление: строка "\/" в начале выражения команды if модуля 3880 *) Исправление: строка "\/" в начале выражения команды if модуля
3855 ngx_http_ssi_module воспринималась неверно. 3881 ngx_http_ssi_module воспринималась неверно.
3856 3882
3857 *) Исправление: в использовании регулярных выражениях в команде if 3883 *) Исправление: в использовании регулярных выражениях в команде if
3858 модуля ngx_http_ssi_module. 3884 модуля ngx_http_ssi_module.
3859 3885
3860 *) Исправление: при задании относительного пути в директивах 3886 *) Исправление: при задании относительного пути в директивах
3861 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и 3887 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и
3862 perl_modules использовался каталог относительно текущего каталога, а 3888 perl_modules использовался каталог относительно текущего каталога, а
3863 не относительно префикса сервера. 3889 не относительно префикса сервера.
3864 3890
3865 3891
3866 Изменения в nginx 0.3.35 22.03.2006 3892 Изменения в nginx 0.3.35 22.03.2006
3867 3893
3868 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только 3894 *) Исправление: accept-фильтр и TCP_DEFER_ACCEPT устанавливались только
3869 для первой директивы listen; ошибка появилась в 0.3.31. 3895 для первой директивы listen; ошибка появилась в 0.3.31.
3870 3896
3871 *) Исправление: в директиве proxy_pass без URI при использовании в 3897 *) Исправление: в директиве proxy_pass без URI при использовании в
3872 подзапросе. 3898 подзапросе.
3873 3899
3874 3900
3875 Изменения в nginx 0.3.34 21.03.2006 3901 Изменения в nginx 0.3.34 21.03.2006
3876 3902
3877 *) Добавление: директива add_header поддерживает переменные. 3903 *) Добавление: директива add_header поддерживает переменные.
3878 3904
3879 3905
3880 Изменения в nginx 0.3.33 15.03.2006 3906 Изменения в nginx 0.3.33 15.03.2006
3881 3907
3882 *) Добавление: параметр http_503 в директивах proxy_next_upstream или 3908 *) Добавление: параметр http_503 в директивах proxy_next_upstream или
3883 fastcgi_next_upstream. 3909 fastcgi_next_upstream.
3884 3910
3885 *) Исправление: ngx_http_perl_module не работал со встроенным в 3911 *) Исправление: ngx_http_perl_module не работал со встроенным в
3886 конфигурационный файл кодом, если он не начинался сразу же с "sub". 3912 конфигурационный файл кодом, если он не начинался сразу же с "sub".
3887 3913
3888 *) Исправление: в директиве post_action. 3914 *) Исправление: в директиве post_action.
3889 3915
3890 3916
3891 Изменения в nginx 0.3.32 11.03.2006 3917 Изменения в nginx 0.3.32 11.03.2006
3892 3918
3893 *) Исправление: удаление отладочного логгирования на старте и при 3919 *) Исправление: удаление отладочного логгирования на старте и при
3894 переконфигурации; ошибка появилась в 0.3.31. 3920 переконфигурации; ошибка появилась в 0.3.31.
3895 3921
3896 3922
3897 Изменения в nginx 0.3.31 10.03.2006 3923 Изменения в nginx 0.3.31 10.03.2006
3898 3924
3899 *) Изменение: теперь nginx передаёт неверные ответы проксированного 3925 *) Изменение: теперь nginx передаёт неверные ответы проксированного
3900 бэкенда. 3926 бэкенда.
3901 3927
3902 *) Добавление: директивы listen поддерживают адрес в виде "*:порт". 3928 *) Добавление: директивы listen поддерживают адрес в виде "*:порт".
3903 3929
3904 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4. 3930 *) Добавление: поддержка EVFILER_TIMER в MacOSX 10.4.
3905 3931
3906 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в 3932 *) Изменение: обход ошибки обработки миллисекундных таймаутов kqueue в
3907 64-битном ядре MacOSX. 3933 64-битном ядре MacOSX.
3908 Спасибо Андрею Нигматулину. 3934 Спасибо Андрею Нигматулину.
3909 3935
3910 *) Исправление: если внутри одного сервера описаны несколько директив 3936 *) Исправление: если внутри одного сервера описаны несколько директив
3911 listen, слушающих на разных адресах, то имена серверов вида 3937 listen, слушающих на разных адресах, то имена серверов вида
3912 "*.domain.tld" работали только для первого адреса; ошибка появилась 3938 "*.domain.tld" работали только для первого адреса; ошибка появилась в
3913 в 0.3.18. 3939 0.3.18.
3914 3940
3915 *) Исправление: при использовании протокола HTTPS в директиве 3941 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3916 proxy_pass не передавались запросы с телом, записанным во временный 3942 не передавались запросы с телом, записанным во временный файл.
3917 файл.
3918 3943
3919 *) Исправление: совместимость с perl 5.8.8. 3944 *) Исправление: совместимость с perl 5.8.8.
3920 3945
3921 3946
3922 Изменения в nginx 0.3.30 22.02.2006 3947 Изменения в nginx 0.3.30 22.02.2006
3923 3948
3924 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error 3949 *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
3925 с уровня crit. 3950 с уровня crit.
3926 3951
3927 *) Исправление: модуль ngx_http_perl_module не собирался без модуля 3952 *) Исправление: модуль ngx_http_perl_module не собирался без модуля
3928 ngx_http_ssi_filter_module. 3953 ngx_http_ssi_filter_module.
3929 3954
3930 *) Исправление: nginx не собирался на i386 платформе, если 3955 *) Исправление: nginx не собирался на i386 платформе, если использовался
3931 использовался PIC; ошибка появилась в 0.3.27. 3956 PIC; ошибка появилась в 0.3.27.
3932 3957
3933 3958
3934 Изменения в nginx 0.3.29 20.02.2006 3959 Изменения в nginx 0.3.29 20.02.2006
3935 3960
3936 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме 3961 *) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
3937 FastCGI передаёт большое количество предупреждений перед ответом. 3962 FastCGI передаёт большое количество предупреждений перед ответом.
3938 3963
3939 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась 3964 *) Исправление: в ответах 204 для запросов версии HTTP/1.1 выдавалась
3940 строка заголовка "Transfer-Encoding: chunked". 3965 строка заголовка "Transfer-Encoding: chunked".
3941 3966
3942 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер 3967 *) Исправление: nginx возвращал 502 код ответа, если FastCGI сервер
3943 передавал полные строки заголовка ответа в отдельных FastCGI записях. 3968 передавал полные строки заголовка ответа в отдельных FastCGI записях.
3944 3969
3945 *) Исправление: если в директиве post_action был указан проксируемый 3970 *) Исправление: если в директиве post_action был указан проксируемый
3946 URI, то он выполнялся только после успешного завершения запроса. 3971 URI, то он выполнялся только после успешного завершения запроса.
3947 3972
3948 3973
3949 Изменения в nginx 0.3.28 16.02.2006 3974 Изменения в nginx 0.3.28 16.02.2006
3950 3975
3951 *) Добавление: директива restrict_host_names упразднена. 3976 *) Добавление: директива restrict_host_names упразднена.
3952 3977
3953 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64. 3978 *) Добавление: параметр конфигурации --with-cpu-opt=ppc64.
3954 3979
3955 *) Исправление: при некоторых условиях проксированное соединение с 3980 *) Исправление: при некоторых условиях проксированное соединение с
3956 клиентом завершалось преждевременно. 3981 клиентом завершалось преждевременно.
3957 Спасибо Владимиру Шутову. 3982 Спасибо Владимиру Шутову.
3958 3983
3959 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась 3984 *) Исправление: строка заголовка "X-Accel-Limit-Rate" не учитывалась для
3960 для запросов, перенаправленных с помощью строки "X-Accel-Redirect". 3985 запросов, перенаправленных с помощью строки "X-Accel-Redirect".
3961 3986
3962 *) Исправление: директива post_action работала только после успешного 3987 *) Исправление: директива post_action работала только после успешного
3963 завершения запроса. 3988 завершения запроса.
3964 3989
3965 *) Исправление: тело проксированного ответа, создаваемого директивой 3990 *) Исправление: тело проксированного ответа, создаваемого директивой
3966 post_action, передавалось клиенту. 3991 post_action, передавалось клиенту.
3967 3992
3968 3993
3969 Изменения в nginx 0.3.27 08.02.2006 3994 Изменения в nginx 0.3.27 08.02.2006
3970 3995
3971 *) Изменение: директивы variables_hash_max_size и 3996 *) Изменение: директивы variables_hash_max_size и
3972 variables_hash_bucket_size. 3997 variables_hash_bucket_size.
3973 3998
3974 *) Добавление: переменная $body_bytes_sent доступна не только в 3999 *) Добавление: переменная $body_bytes_sent доступна не только в
3975 директиве log_format. 4000 директиве log_format.
3976 4001
3977 *) Добавление: переменные $ssl_protocol и $ssl_cipher. 4002 *) Добавление: переменные $ssl_protocol и $ssl_cipher.
3978 4003
3979 *) Добавление: определение размера строки кэша распространённых 4004 *) Добавление: определение размера строки кэша распространённых
3980 процессоров при старте. 4005 процессоров при старте.
3981 4006
3982 *) Добавление: директива accept_mutex теперь поддерживается посредством 4007 *) Добавление: директива accept_mutex теперь поддерживается посредством
3983 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc. 4008 fcntl(2) на платформах, отличных от i386, amd64, sparc64 и ppc.
3984 4009
3985 *) Добавление: директива lock_file и параметр автоконфигурации 4010 *) Добавление: директива lock_file и параметр автоконфигурации
3986 --with-lock-path=PATH. 4011 --with-lock-path=PATH.
3987 4012
3988 *) Исправление: при использовании протокола HTTPS в директиве 4013 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
3989 proxy_pass не передавались запросы с телом. 4014 не передавались запросы с телом.
3990 4015
3991 4016
3992 Изменения в nginx 0.3.26 03.02.2006 4017 Изменения в nginx 0.3.26 03.02.2006
3993 4018
3994 *) Изменение: директива optimize_host_names переименована в 4019 *) Изменение: директива optimize_host_names переименована в
3995 optimize_server_names. 4020 optimize_server_names.
3996 4021
3997 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался 4022 *) Исправление: при проксировании подзапроса в SSI бэкенду передавался
3998 URI основного запроса, если в директиве proxy_pass отсутствовал URI. 4023 URI основного запроса, если в директиве proxy_pass отсутствовал URI.
3999 4024
4000 4025
4001 Изменения в nginx 0.3.25 01.02.2006 4026 Изменения в nginx 0.3.25 01.02.2006
4002 4027
4003 *) Исправление: при неверной конфигурации на старте или во время 4028 *) Исправление: при неверной конфигурации на старте или во время
4004 переконфигурации происходил segmentation fault; ошибка появилась в 4029 переконфигурации происходил segmentation fault; ошибка появилась в
4005 0.3.24. 4030 0.3.24.
4006 4031
4007 4032
4008 Изменения в nginx 0.3.24 01.02.2006 4033 Изменения в nginx 0.3.24 01.02.2006
4009 4034
4010 *) Изменение: обход ошибки в kqueue во FreeBSD. 4035 *) Изменение: обход ошибки в kqueue во FreeBSD.
4011 4036
4012 *) Исправление: ответ, создаваемый директивой post_action, теперь не 4037 *) Исправление: ответ, создаваемый директивой post_action, теперь не
4013 передаётся клиенту. 4038 передаётся клиенту.
4014 4039
4015 *) Исправление: при использовании большого количества лог-файлов 4040 *) Исправление: при использовании большого количества лог-файлов
4016 происходила утечка памяти. 4041 происходила утечка памяти.
4017 4042
4018 *) Исправление: внутри одного location работала только первая директива 4043 *) Исправление: внутри одного location работала только первая директива
4019 proxy_redirect. 4044 proxy_redirect.
4020 4045
4021 *) Исправление: на 64-битных платформах при старте мог произойти 4046 *) Исправление: на 64-битных платформах при старте мог произойти
4022 segmentation fault, если использовалось большое количество имён в 4047 segmentation fault, если использовалось большое количество имён в
4023 директивах server_name; ошибка появилась в 0.3.18. 4048 директивах server_name; ошибка появилась в 0.3.18.
4024 4049
4025 4050
4026 Изменения в nginx 0.3.23 24.01.2006 4051 Изменения в nginx 0.3.23 24.01.2006
4027 4052
4028 *) Добавление: директива optimize_host_names. 4053 *) Добавление: директива optimize_host_names.
4029 4054
4030 *) Исправление: ошибки при использовании переменных в директивах path и 4055 *) Исправление: ошибки при использовании переменных в директивах path и
4031 alias. 4056 alias.
4032 4057
4033 *) Исправление: модуль ngx_http_perl_module неправильно собирался на 4058 *) Исправление: модуль ngx_http_perl_module неправильно собирался на
4034 Linux и Solaris. 4059 Linux и Solaris.
4035 4060
4036 4061
4037 Изменения в nginx 0.3.22 17.01.2006 4062 Изменения в nginx 0.3.22 17.01.2006
4038 4063
4039 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args 4064 *) Добавление: модуль ngx_http_perl_module поддерживает методы $r->args
4040 и $r->unescape. 4065 и $r->unescape.
4041 4066
4042 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module 4067 *) Добавление: метод $r->query_string в модуле ngx_http_perl_module
4043 упразднён. 4068 упразднён.
4044 4069
4045 *) Исправление: если в директиве valid_referers указаны только none или 4070 *) Исправление: если в директиве valid_referers указаны только none или
4046 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18. 4071 blocked, то происходил segmentation fault; ошибка появилась в 0.3.18.
4047 4072
4048 4073
4049 Изменения в nginx 0.3.21 16.01.2006 4074 Изменения в nginx 0.3.21 16.01.2006
4050 4075
4051 *) Добавление: модуль ngx_http_perl_module. 4076 *) Добавление: модуль ngx_http_perl_module.
4052 4077
4053 *) Изменение: директива valid_referers разрешает использовать рефереры 4078 *) Изменение: директива valid_referers разрешает использовать рефереры
4054 совсем без URI. 4079 совсем без URI.
4055 4080
4056 4081
4057 Изменения в nginx 0.3.20 11.01.2006 4082 Изменения в nginx 0.3.20 11.01.2006
4058 4083
4059 *) Исправление: ошибки в обработке SSI. 4084 *) Исправление: ошибки в обработке SSI.
4060 4085
4061 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в 4086 *) Исправление: модуль ngx_http_memcached_module не поддерживал ключи в
4062 виде /uri?args. 4087 виде /uri?args.
4063 4088
4064 4089
4065 Изменения в nginx 0.3.19 28.12.2005 4090 Изменения в nginx 0.3.19 28.12.2005
4066 4091
4071 *) Исправление: ошибки в обработке SSI. 4096 *) Исправление: ошибки в обработке SSI.
4072 4097
4073 4098
4074 Изменения в nginx 0.3.18 26.12.2005 4099 Изменения в nginx 0.3.18 26.12.2005
4075 4100
4076 *) Добавление: директива server_names поддерживает имена вида 4101 *) Добавление: директива server_names поддерживает имена вида
4077 ".domain.tld". 4102 ".domain.tld".
4078 4103
4079 *) Добавление: директива server_names использует хэш для имён вида 4104 *) Добавление: директива server_names использует хэш для имён вида
4080 "*.domain.tld" и более эффективный хэш для обычных имён. 4105 "*.domain.tld" и более эффективный хэш для обычных имён.
4081 4106
4082 *) Изменение: директивы server_names_hash_max_size и 4107 *) Изменение: директивы server_names_hash_max_size и
4083 server_names_hash_bucket_size. 4108 server_names_hash_bucket_size.
4084 4109
4085 *) Изменение: директивы server_names_hash и server_names_hash_threshold 4110 *) Изменение: директивы server_names_hash и server_names_hash_threshold
4086 упразднены. 4111 упразднены.
4087 4112
4088 *) Добавление: директива valid_referers использует хэш для имён сайтов. 4113 *) Добавление: директива valid_referers использует хэш для имён сайтов.
4089 4114
4090 *) Изменение: теперь директива valid_referers проверяет только имена 4115 *) Изменение: теперь директива valid_referers проверяет только имена
4091 сайтов без учёта URI. 4116 сайтов без учёта URI.
4092 4117
4093 *) Исправление: некоторые имена вида ".domain.tld" неверно 4118 *) Исправление: некоторые имена вида ".domain.tld" неверно
4094 обрабатывались модулем ngx_http_map_module. 4119 обрабатывались модулем ngx_http_map_module.
4095 4120
4096 *) Исправление: если конфигурационного файла не было, то происходил 4121 *) Исправление: если конфигурационного файла не было, то происходил
4097 segmentation fault; ошибка появилась в 0.3.12. 4122 segmentation fault; ошибка появилась в 0.3.12.
4098 4123
4099 *) Исправление: на 64-битных платформах при старте мог произойти 4124 *) Исправление: на 64-битных платформах при старте мог произойти
4100 segmentation fault; ошибка появилась в 0.3.16. 4125 segmentation fault; ошибка появилась в 0.3.16.
4101 4126
4102 4127
4103 Изменения в nginx 0.3.17 18.12.2005 4128 Изменения в nginx 0.3.17 18.12.2005
4104 4129
4105 *) Изменение: на Linux configure теперь проверяет наличие epoll и 4130 *) Изменение: на Linux configure теперь проверяет наличие epoll и
4106 sendfile64() в ядре. 4131 sendfile64() в ядре.
4107 4132
4108 *) Добавление: директива map поддерживает доменные имена в формате 4133 *) Добавление: директива map поддерживает доменные имена в формате
4109 ".domain.tld". 4134 ".domain.tld".
4110 4135
4111 *) Исправление: во время SSL handshake не иcпользовались таймауты; 4136 *) Исправление: во время SSL handshake не иcпользовались таймауты;
4112 ошибка появилась в 0.2.4. 4137 ошибка появилась в 0.2.4.
4113 4138
4114 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass. 4139 *) Исправление: в использовании протокола HTTPS в директиве proxy_pass.
4115 4140
4116 *) Исправление: при использовании протокола HTTPS в директиве 4141 *) Исправление: при использовании протокола HTTPS в директиве proxy_pass
4117 proxy_pass по умолчанию использовался порт 80. 4142 по умолчанию использовался порт 80.
4118 4143
4119 4144
4120 Изменения в nginx 0.3.16 16.12.2005 4145 Изменения в nginx 0.3.16 16.12.2005
4121 4146
4122 *) Добавление: модуль ngx_http_map_module. 4147 *) Добавление: модуль ngx_http_map_module.
4125 4150
4126 *) Добавление: директива ssi_value_length. 4151 *) Добавление: директива ssi_value_length.
4127 4152
4128 *) Добавление: директива worker_rlimit_core. 4153 *) Добавление: директива worker_rlimit_core.
4129 4154
4130 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 4155 *) Изменение: при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для
4131 Pentium 4 номер соединения в логах всегда был равен 1. 4156 Pentium 4 номер соединения в логах всегда был равен 1.
4132 4157
4133 *) Исправление: команда config timefmt в SSI задавала неверный формат 4158 *) Исправление: команда config timefmt в SSI задавала неверный формат
4134 времени. 4159 времени.
4135 4160
4136 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при 4161 *) Исправление: nginx не закрывал соединения с IMAP/POP3 бэкендом при
4137 использовании SSL соединений; ошибка появилась в 0.3.13. 4162 использовании SSL соединений; ошибка появилась в 0.3.13.
4138 Спасибо Rob Mueller. 4163 Спасибо Rob Mueller.
4139 4164
4140 *) Исправление: segmentation fault мог произойти во время SSL shutdown; 4165 *) Исправление: segmentation fault мог произойти во время SSL shutdown;
4141 ошибка появилась в 0.3.13. 4166 ошибка появилась в 0.3.13.
4142 4167
4143 4168
4144 Изменения в nginx 0.3.15 07.12.2005 4169 Изменения в nginx 0.3.15 07.12.2005
4145 4170
4146 *) Добавление: новой код 444 в директиве return для закрытия соединения. 4171 *) Добавление: новой код 444 в директиве return для закрытия соединения.
4147 4172
4148 *) Добавление: директива so_keepalive в IMAP/POP3 прокси. 4173 *) Добавление: директива so_keepalive в IMAP/POP3 прокси.
4149 4174
4150 *) Исправление: nginx теперь вызывает abort() при обнаружении 4175 *) Исправление: nginx теперь вызывает abort() при обнаружении незакрытых
4151 незакрытых соединений только при планом выходе и включённой 4176 соединений только при планом выходе и включённой директиве
4152 директиве debug_points. 4177 debug_points.
4153 4178
4154 4179
4155 Изменения в nginx 0.3.14 05.12.2005 4180 Изменения в nginx 0.3.14 05.12.2005
4156 4181
4157 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась 4182 *) Исправление: в ответе 304 передавалось тело ответа; ошибка появилась
4158 в 0.3.13. 4183 в 0.3.13.
4159 4184
4160 4185
4161 Изменения в nginx 0.3.13 05.12.2005 4186 Изменения в nginx 0.3.13 05.12.2005
4162 4187
4163 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS. 4188 *) Добавление: IMAP/POP3 прокси поддерживает STARTTLS и STLS.
4164 4189
4165 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и 4190 *) Исправление: IMAP/POP3 прокси не работала с методами select, poll и
4166 /dev/poll. 4191 /dev/poll.
4167 4192
4168 *) Исправление: ошибки в обработке SSI. 4193 *) Исправление: ошибки в обработке SSI.
4169 4194
4170 *) Исправление: sendfilev() в Solaris теперь не используется при 4195 *) Исправление: sendfilev() в Solaris теперь не используется при
4171 передаче тела запроса FastCGI-серверу через unix domain сокет. 4196 передаче тела запроса FastCGI-серверу через unix domain сокет.
4172 4197
4173 *) Исправление: директива auth_basic не запрещала аутентификацию; 4198 *) Исправление: директива auth_basic не запрещала аутентификацию; ошибка
4174 ошибка появилась в 0.3.11. 4199 появилась в 0.3.11.
4175 4200
4176 4201
4177 Изменения в nginx 0.3.12 26.11.2005 4202 Изменения в nginx 0.3.12 26.11.2005
4178 4203
4179 *) Безопасность: если nginx был собран с модулем 4204 *) Безопасность: если nginx был собран с модулем ngx_http_realip_module,
4180 ngx_http_realip_module, то при использовании директивы "satisfy_any 4205 то при использовании директивы "satisfy_any on" директивы доступа и
4181 on" директивы доступа и аутентификации не работали. Модуль 4206 аутентификации не работали. Модуль ngx_http_realip_module не
4182 ngx_http_realip_module не собирался и не собирается по умолчанию. 4207 собирался и не собирается по умолчанию.
4183 4208
4184 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local". 4209 *) Изменение: имя переменной "$time_gmt" изменено на "$time_local".
4185 4210
4186 *) Изменение: директивы proxy_header_buffer_size и 4211 *) Изменение: директивы proxy_header_buffer_size и
4187 fastcgi_header_buffer_size переименованы соответственно в 4212 fastcgi_header_buffer_size переименованы соответственно в
4188 proxy_buffer_size и fastcgi_buffer_size. 4213 proxy_buffer_size и fastcgi_buffer_size.
4189 4214
4190 *) Добавление: модуль ngx_http_memcached_module. 4215 *) Добавление: модуль ngx_http_memcached_module.
4191 4216
4192 *) Добавление: директива proxy_buffering. 4217 *) Добавление: директива proxy_buffering.
4193 4218
4194 *) Исправление: изменение в работе с accept mutex при использовании 4219 *) Исправление: изменение в работе с accept mutex при использовании
4195 метода rtsig; ошибка появилась в 0.3.0. 4220 метода rtsig; ошибка появилась в 0.3.0.
4196 4221
4197 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked" 4222 *) Исправление: если клиент передал строку "Transfer-Encoding: chunked"
4198 в заголовке запроса, то nginx теперь выдаёт ошибку 411. 4223 в заголовке запроса, то nginx теперь выдаёт ошибку 411.
4199 4224
4200 *) Исправление: при наследовании директивы auth_basic с уровня http в 4225 *) Исправление: при наследовании директивы auth_basic с уровня http в
4201 строке "WWW-Authenticate" заголовка ответа выводился realm без 4226 строке "WWW-Authenticate" заголовка ответа выводился realm без текста
4202 текста "Basic realm". 4227 "Basic realm".
4203 4228
4204 *) Исправление: если в директиве access_log был явно указан формат 4229 *) Исправление: если в директиве access_log был явно указан формат
4205 combined, то в лог записывались пустые строки; ошибка появилась в 4230 combined, то в лог записывались пустые строки; ошибка появилась в
4206 0.3.8. 4231 0.3.8.
4207 4232
4208 *) Исправление: nginx не работал на платформе sparc под любыми OS, 4233 *) Исправление: nginx не работал на платформе sparc под любыми OS, кроме
4209 кроме Solaris. 4234 Solaris.
4210 4235
4211 *) Исправление: в директиве if теперь не нужно разделять пробелом 4236 *) Исправление: в директиве if теперь не нужно разделять пробелом строку
4212 строку в кавычках и закрывающую скобку. 4237 в кавычках и закрывающую скобку.
4213 4238
4214 4239
4215 Изменения в nginx 0.3.11 15.11.2005 4240 Изменения в nginx 0.3.11 15.11.2005
4216 4241
4217 *) Исправление: nginx не передавал при проксировании тело запроса и 4242 *) Исправление: nginx не передавал при проксировании тело запроса и
4218 строки заголовка клиента; ошибка появилась в 0.3.10. 4243 строки заголовка клиента; ошибка появилась в 0.3.10.
4219 4244
4220 4245
4221 Изменения в nginx 0.3.10 15.11.2005 4246 Изменения в nginx 0.3.10 15.11.2005
4222 4247
4223 *) Изменение: директива valid_referers и переменная $invalid_referer 4248 *) Изменение: директива valid_referers и переменная $invalid_referer
4224 перенесены из модуля ngx_http_rewrite_module в новый модуль 4249 перенесены из модуля ngx_http_rewrite_module в новый модуль
4225 ngx_http_referer_module. 4250 ngx_http_referer_module.
4226 4251
4227 *) Изменение: имя переменной "$apache_bytes_sent" изменено на 4252 *) Изменение: имя переменной "$apache_bytes_sent" изменено на
4228 "$body_bytes_sent". 4253 "$body_bytes_sent".
4229 4254
4230 *) Добавление: переменные "$sent_http_...". 4255 *) Добавление: переменные "$sent_http_...".
4231 4256
4232 *) Добавление: директива if поддерживает операции "=" и "!=". 4257 *) Добавление: директива if поддерживает операции "=" и "!=".
4239 4264
4240 *) Добавление: модуль ngx_http_empty_gif_module. 4265 *) Добавление: модуль ngx_http_empty_gif_module.
4241 4266
4242 *) Добавление: директива worker_cpu_affinity для Linux. 4267 *) Добавление: директива worker_cpu_affinity для Linux.
4243 4268
4244 *) Исправление: директива rewrite не раскодировала символы в редиректах 4269 *) Исправление: директива rewrite не раскодировала символы в редиректах
4245 в URI, теперь символы раскодируются, кроме символов %00-%25 и 4270 в URI, теперь символы раскодируются, кроме символов %00-%25 и
4246 %7F-%FF. 4271 %7F-%FF.
4247 4272
4248 *) Исправление: nginx не собирался компилятором icc 9.0. 4273 *) Исправление: nginx не собирался компилятором icc 9.0.
4249 4274
4250 *) Исправление: если для статического файла нулевого размера был 4275 *) Исправление: если для статического файла нулевого размера был
4251 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами. 4276 разрешён SSI, то ответ передавался неверно при кодировании chunk'ами.
4252 4277
4253 4278
4254 Изменения в nginx 0.3.9 10.11.2005 4279 Изменения в nginx 0.3.9 10.11.2005
4255 4280
4256 *) Исправление: nginx считал небезопасными URI, в которых между двумя 4281 *) Исправление: nginx считал небезопасными URI, в которых между двумя
4257 слэшами находилось два любых символа; ошибка появилась в 0.3.8. 4282 слэшами находилось два любых символа; ошибка появилась в 0.3.8.
4258 4283
4259 4284
4260 Изменения в nginx 0.3.8 09.11.2005 4285 Изменения в nginx 0.3.8 09.11.2005
4261 4286
4262 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в 4287 *) Безопасность: nginx теперь проверят URI, полученные от бэкенда в
4263 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на 4288 строке "X-Accel-Redirect" в заголовке ответа, или в SSI файле на
4264 наличие путей "/../" и нулей. 4289 наличие путей "/../" и нулей.
4265 4290
4266 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в 4291 *) Изменение: nginx теперь не воспринимает пустое имя как правильное в
4267 строке "Authorization" в заголовке запроса. 4292 строке "Authorization" в заголовке запроса.
4268 4293
4269 *) Добавление: директива ssl_session_timeout модулей 4294 *) Добавление: директива ssl_session_timeout модулей ngx_http_ssl_module
4270 ngx_http_ssl_module и ngx_imap_ssl_module. 4295 и ngx_imap_ssl_module.
4271 4296
4272 *) Добавление: директива auth_http_header модуля 4297 *) Добавление: директива auth_http_header модуля
4273 ngx_imap_auth_http_module. 4298 ngx_imap_auth_http_module.
4274 4299
4275 *) Добавление: директива add_header. 4300 *) Добавление: директива add_header.
4276 4301
4277 *) Добавление: модуль ngx_http_realip_module. 4302 *) Добавление: модуль ngx_http_realip_module.
4278 4303
4279 *) Добавление: новые переменные для использования в директиве 4304 *) Добавление: новые переменные для использования в директиве
4280 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 4305 log_format: $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
4281 $uri, $request_time, $request_length, $upstream_status, 4306 $uri, $request_time, $request_length, $upstream_status,
4282 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, 4307 $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
4283 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут 4308 $connection, $pipe и $msec. Параметры в виде "%name" скоро будут
4284 упразднены. 4309 упразднены.
4285 4310
4286 *) Изменение: в директиве "if" ложными значениями переменных теперь 4311 *) Изменение: в директиве "if" ложными значениями переменных теперь
4287 являются пустая строка "" и строки, начинающиеся на "0". 4312 являются пустая строка "" и строки, начинающиеся на "0".
4288 4313
4289 *) Исправление: при работает с проксированными или FastCGI-серверами 4314 *) Исправление: при работает с проксированными или FastCGI-серверами
4290 nginx мог оставлять открытыми соединения и временные файлы с 4315 nginx мог оставлять открытыми соединения и временные файлы с
4291 запросами клиентов. 4316 запросами клиентов.
4292 4317
4293 *) Исправление: рабочие процессы не сбрасывали буферизированные логи 4318 *) Исправление: рабочие процессы не сбрасывали буферизированные логи при
4294 при плавном выходе. 4319 плавном выходе.
4295 4320
4296 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем 4321 *) Исправление: если URI запроса изменялось с помощью rewrite, а затем
4297 запрос проксировался в location, заданном регулярным выражением, то 4322 запрос проксировался в location, заданном регулярным выражением, то
4298 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6. 4323 бэкенду передавался неверный запрос; ошибка появилась в 0.2.6.
4299 4324
4300 *) Исправление: директива expires не удаляла уже установленную строку 4325 *) Исправление: директива expires не удаляла уже установленную строку
4301 заголовка "Expires". 4326 заголовка "Expires".
4302 4327
4303 *) Исправление: при использовании метода rtsig и нескольких рабочих 4328 *) Исправление: при использовании метода rtsig и нескольких рабочих
4304 процессах nginx мог перестать принимать запросы. 4329 процессах nginx мог перестать принимать запросы.
4305 4330
4306 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и 4331 *) Исправление: в SSI командах неверно обрабатывались строки "\"" и
4307 "\'". 4332 "\'".
4308 4333
4309 *) Исправление: если ответ заканчивался сразу же после SSI команды, то 4334 *) Исправление: если ответ заканчивался сразу же после SSI команды, то
4310 при использовании сжатия ответ передавался не до конца или не 4335 при использовании сжатия ответ передавался не до конца или не
4311 передавался вообще. 4336 передавался вообще.
4312 4337
4313 4338
4314 Изменения в nginx 0.3.7 27.10.2005 4339 Изменения в nginx 0.3.7 27.10.2005
4315 4340
4316 *) Добавление: директива access_log поддерживает параметр buffer=. 4341 *) Добавление: директива access_log поддерживает параметр buffer=.
4317 4342
4318 *) Исправление: nginx не собирался на платформах, отличных от i386, 4343 *) Исправление: nginx не собирался на платформах, отличных от i386,
4319 amd64, sparc и ppc; ошибка появилась в 0.3.2. 4344 amd64, sparc и ppc; ошибка появилась в 0.3.2.
4320 4345
4321 4346
4322 Изменения в nginx 0.3.6 24.10.2005 4347 Изменения в nginx 0.3.6 24.10.2005
4323 4348
4324 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации 4349 *) Изменение: IMAP/POP3 прокси теперь не передаёт серверу авторизации
4325 пустой логин. 4350 пустой логин.
4326 4351
4327 *) Добавление: директива log_format поддерживает переменные в виде 4352 *) Добавление: директива log_format поддерживает переменные в виде
4328 $name. 4353 $name.
4329 4354
4330 *) Исправление: если хотя бы в одном сервере не было описано ни одной 4355 *) Исправление: если хотя бы в одном сервере не было описано ни одной
4331 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в 4356 директивы listen, то nginx не слушал на 80 порту; ошибка появилась в
4332 0.3.3. 4357 0.3.3.
4333 4358
4334 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда 4359 *) Исправление: если в директиве proxy_pass отсутствовал URI, то всегда
4335 использовался порт 80. 4360 использовался порт 80.
4336 4361
4337 4362
4338 Изменения в nginx 0.3.5 21.10.2005 4363 Изменения в nginx 0.3.5 21.10.2005
4339 4364
4340 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то 4365 *) Исправление: если логин IMAP/POP3 менялся сервером авторизации, то
4341 мог произойти segmentation fault; ошибка появилась в 0.2.2. 4366 мог произойти segmentation fault; ошибка появилась в 0.2.2.
4342 4367
4343 *) Исправление: accept mutex не работал, все соединения обрабатывались 4368 *) Исправление: accept mutex не работал, все соединения обрабатывались
4344 одним рабочим процессом; ошибка появилась в 0.3.3. 4369 одним рабочим процессом; ошибка появилась в 0.3.3.
4345 4370
4346 *) Исправление: при использовании метода rtsig и директивы 4371 *) Исправление: при использовании метода rtsig и директивы
4347 timer_resolution не работали таймауты. 4372 timer_resolution не работали таймауты.
4348 4373
4349 4374
4350 Изменения в nginx 0.3.4 19.10.2005 4375 Изменения в nginx 0.3.4 19.10.2005
4351 4376
4352 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка 4377 *) Исправление: nginx не собирался на Linux 2.4+ и MacOS X; ошибка
4353 появилась в 0.3.3. 4378 появилась в 0.3.3.
4354 4379
4355 4380
4356 Изменения в nginx 0.3.3 19.10.2005 4381 Изменения в nginx 0.3.3 19.10.2005
4357 4382
4358 *) Изменение: параметры "bl" и "af" директивы listen переименованы в 4383 *) Изменение: параметры "bl" и "af" директивы listen переименованы в
4359 "backlog" и "accept_filter". 4384 "backlog" и "accept_filter".
4360 4385
4361 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen. 4386 *) Добавление: параметры "rcvbuf" и "sndbuf" в директиве listen.
4362 4387
4363 *) Изменение: параметр лога $msec теперь не требует дополнительного 4388 *) Изменение: параметр лога $msec теперь не требует дополнительного
4364 системного вызова gettimeofday(). 4389 системного вызова gettimeofday().
4365 4390
4366 *) Добавление: ключ -t теперь проверяет директивы listen. 4391 *) Добавление: ключ -t теперь проверяет директивы listen.
4367 4392
4368 *) Исправление: если в директиве listen был указан неверный адрес, то 4393 *) Исправление: если в директиве listen был указан неверный адрес, то
4369 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 4394 nginx после сигнала -HUP оставлял открытый сокет в состоянии CLOSED.
4370 4395
4371 *) Исправление: для индексных файлов, содержащих в имени переменную, 4396 *) Исправление: для индексных файлов, содержащих в имени переменную, мог
4372 мог неверно выставляться тип mime по умолчанию; ошибка появилась в 4397 неверно выставляться тип mime по умолчанию; ошибка появилась в 0.3.0.
4373 0.3.0.
4374 4398
4375 *) Добавление: директива timer_resolution. 4399 *) Добавление: директива timer_resolution.
4376 4400
4377 *) Добавление: параметр лога $upstream_response_time в миллисекундах. 4401 *) Добавление: параметр лога $upstream_response_time в миллисекундах.
4378 4402
4379 *) Исправление: временный файл с телом запроса клиента теперь удаляется 4403 *) Исправление: временный файл с телом запроса клиента теперь удаляется
4380 сразу после того, как клиенту передан заголовок ответа. 4404 сразу после того, как клиенту передан заголовок ответа.
4381 4405
4382 *) Исправление: совместимость с OpenSSL 0.9.6. 4406 *) Исправление: совместимость с OpenSSL 0.9.6.
4383 4407
4384 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть 4408 *) Исправление: пути к файлам с SSL сертификатом и ключом не могли быть
4385 относительными. 4409 относительными.
4386 4410
4387 *) Исправление: директива ssl_prefer_server_ciphers не работала для 4411 *) Исправление: директива ssl_prefer_server_ciphers не работала для
4388 модуля ngx_imap_ssl_module. 4412 модуля ngx_imap_ssl_module.
4389 4413
4390 *) Исправление: директива ssl_protocols позволяла задать только один 4414 *) Исправление: директива ssl_protocols позволяла задать только один
4391 протокол. 4415 протокол.
4392 4416
4393 4417
4394 Изменения в nginx 0.3.2 12.10.2005 4418 Изменения в nginx 0.3.2 12.10.2005
4395 4419
4396 *) Добавление: поддержка Sun Studio 10 C compiler. 4420 *) Добавление: поддержка Sun Studio 10 C compiler.
4397 4421
4398 *) Добавление: директивы proxy_upstream_max_fails, 4422 *) Добавление: директивы proxy_upstream_max_fails,
4399 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и 4423 proxy_upstream_fail_timeout, fastcgi_upstream_max_fails и
4400 fastcgi_upstream_fail_timeout. 4424 fastcgi_upstream_fail_timeout.
4401 4425
4402 4426
4403 Изменения в nginx 0.3.1 10.10.2005 4427 Изменения в nginx 0.3.1 10.10.2005
4404 4428
4405 *) Исправление: во время переполнения очереди сигналов при 4429 *) Исправление: во время переполнения очереди сигналов при использовании
4406 использовании метода rtsig происходил segmentation fault; ошибка 4430 метода rtsig происходил segmentation fault; ошибка появилась в 0.2.0.
4407 появилась в 0.2.0.
4408 4431
4409 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 4432 *) Изменение: корректная обработка пар "\\", "\"", "\'" и "\$" в SSI.
4410 4433
4411 4434
4412 Изменения в nginx 0.3.0 07.10.2005 4435 Изменения в nginx 0.3.0 07.10.2005
4413 4436
4414 *) Изменение: убрано десятидневное ограничение времени работы рабочего 4437 *) Изменение: убрано десятидневное ограничение времени работы рабочего
4415 процесса. Ограничение было введено из-за переполнения миллисекундных 4438 процесса. Ограничение было введено из-за переполнения миллисекундных
4416 таймеров. 4439 таймеров.
4417 4440
4418 4441
4419 Изменения в nginx 0.2.6 05.10.2005 4442 Изменения в nginx 0.2.6 05.10.2005
4420 4443
4421 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к 4444 *) Изменение: с 60 до 10 секунд уменьшено время повторного обращения к
4422 бэкенду при использовании распределения нагрузки. 4445 бэкенду при использовании распределения нагрузки.
4423 4446
4424 *) Изменение: директива proxy_pass_unparsed_uri упразднена, 4447 *) Изменение: директива proxy_pass_unparsed_uri упразднена, оригинальный
4425 оригинальный запрос теперь передаётся, если в директиве proxy_pass 4448 запрос теперь передаётся, если в директиве proxy_pass отсутствует
4426 отсутствует URI. 4449 URI.
4427 4450
4428 *) Добавление: директива error_page поддерживает редиректы и позволяет 4451 *) Добавление: директива error_page поддерживает редиректы и позволяет
4429 более гибко менять код ошибки. 4452 более гибко менять код ошибки.
4430 4453
4431 *) Изменение: в проксированных подзапросах теперь игнорируется 4454 *) Изменение: в проксированных подзапросах теперь игнорируется
4432 переданный charset. 4455 переданный charset.
4433 4456
4434 *) Исправление: если после изменения URI в блоке if для запроса не 4457 *) Исправление: если после изменения URI в блоке if для запроса не
4435 находилась новая конфигурация, то правила модуля 4458 находилась новая конфигурация, то правила модуля
4436 ngx_http_rewrite_module выполнялись снова. 4459 ngx_http_rewrite_module выполнялись снова.
4437 4460
4438 *) Исправление: если директива set устанавливала переменную модуля 4461 *) Исправление: если директива set устанавливала переменную модуля
4439 ngx_http_geo_module в какой-либо части конфигурации, то эта 4462 ngx_http_geo_module в какой-либо части конфигурации, то эта
4440 переменная не была доступна в других частях конфигурации и 4463 переменная не была доступна в других частях конфигурации и выдавалась
4441 выдавалась ошибка "using uninitialized variable"; ошибка появилась в 4464 ошибка "using uninitialized variable"; ошибка появилась в 0.2.2.
4442 0.2.2.
4443 4465
4444 4466
4445 Изменения в nginx 0.2.5 04.10.2005 4467 Изменения в nginx 0.2.5 04.10.2005
4446 4468
4447 *) Изменение: дублирующее значение переменной модуля 4469 *) Изменение: дублирующее значение переменной модуля ngx_http_geo_module
4448 ngx_http_geo_module теперь выдаёт предупреждение и изменяет старое 4470 теперь выдаёт предупреждение и изменяет старое значение.
4449 значение.
4450 4471
4451 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set. 4472 *) Добавление: модуль ngx_http_ssi_module поддерживает команду set.
4452 4473
4453 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в 4474 *) Добавление: модуль ngx_http_ssi_module поддерживает параметр file в
4454 команде include. 4475 команде include.
4455 4476
4456 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку 4477 *) Добавление: модуль ngx_http_ssi_module поддерживает подстановку
4457 значений переменных в выражениях команды if. 4478 значений переменных в выражениях команды if.
4458 4479
4459 4480
4460 Изменения в nginx 0.2.4 03.10.2005 4481 Изменения в nginx 0.2.4 03.10.2005
4461 4482
4462 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения 4483 *) Добавление: модуль ngx_http_ssi_module поддерживает выражения
4463 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде 4484 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" в команде
4464 if. 4485 if.
4465 4486
4466 *) Исправление: ошибки при проксировании location без слэша в конце; 4487 *) Исправление: ошибки при проксировании location без слэша в конце;
4467 ошибка появилась в 0.1.44. 4488 ошибка появилась в 0.1.44.
4468 4489
4469 *) Исправление: при использовании метода rtsig мог произойти 4490 *) Исправление: при использовании метода rtsig мог произойти
4470 segmentation fault; ошибка появилась в 0.2.0. 4491 segmentation fault; ошибка появилась в 0.2.0.
4471 4492
4472 4493
4473 Изменения в nginx 0.2.3 30.09.2005 4494 Изменения в nginx 0.2.3 30.09.2005
4474 4495
4475 *) Исправление: nginx не собирался без параметра --with-debug; ошибка 4496 *) Исправление: nginx не собирался без параметра --with-debug; ошибка
4476 появилась в 0.2.2. 4497 появилась в 0.2.2.
4477 4498
4478 4499
4479 Изменения в nginx 0.2.2 30.09.2005 4500 Изменения в nginx 0.2.2 30.09.2005
4480 4501
4481 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module. 4502 *) Добавление: команда config errmsg в модуле ngx_http_ssi_module.
4482 4503
4483 *) Изменение: переменные модуля ngx_http_geo_module можно 4504 *) Изменение: переменные модуля ngx_http_geo_module можно переопределять
4484 переопределять директивой set. 4505 директивой set.
4485 4506
4486 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers 4507 *) Добавление: директивы ssl_protocols и ssl_prefer_server_ciphers
4487 модулей ngx_http_ssl_module и ngx_imap_ssl_module. 4508 модулей ngx_http_ssl_module и ngx_imap_ssl_module.
4488 4509
4489 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 4510 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4490 длинных имён файлов; 4511 длинных имён файлов;
4491 4512
4492 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает 4513 *) Исправление: модуль ngx_http_autoindex_module теперь не показывает
4493 файлы, начинающиеся на точку. 4514 файлы, начинающиеся на точку.
4494 4515
4495 *) Исправление: если SSL handshake завершался с ошибкой, то это могло 4516 *) Исправление: если SSL handshake завершался с ошибкой, то это могло
4496 привести также к закрытию другого соединения. 4517 привести также к закрытию другого соединения.
4497 Спасибо Rob Mueller. 4518 Спасибо Rob Mueller.
4498 4519
4499 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по 4520 *) Исправление: экспортные версии MSIE 5.x не могли соединиться по
4500 HTTPS. 4521 HTTPS.
4501 4522
4502 4523
4503 Изменения в nginx 0.2.1 23.09.2005 4524 Изменения в nginx 0.2.1 23.09.2005
4504 4525
4505 *) Исправление: если все бэкенды, используемые для балансировки 4526 *) Исправление: если все бэкенды, используемые для балансировки
4506 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 4527 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4507 nginx мог зациклится; ошибка появилась в 0.2.0. 4528 nginx мог зациклится; ошибка появилась в 0.2.0.
4508 4529
4509 4530
4510 Изменения в nginx 0.2.0 23.09.2005 4531 Изменения в nginx 0.2.0 23.09.2005
4511 4532
4512 *) Изменились имена pid-файлов, используемые во время обновления 4533 *) Изменились имена pid-файлов, используемые во время обновления
4513 исполняемого файла. Ручное переименование теперь не нужно. Старый 4534 исполняемого файла. Ручное переименование теперь не нужно. Старый
4514 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и 4535 основной процесс добавляет к своему pid-файл суффикс ".oldbin" и
4515 запускает новый исполняемый файл. Новый основной процесс создаёт 4536 запускает новый исполняемый файл. Новый основной процесс создаёт
4516 обычный pid-файл без суффикса ".newbin". Если новый основной процесс 4537 обычный pid-файл без суффикса ".newbin". Если новый основной процесс
4517 выходит, то старый процесс переименовывает свой pid-файл c суффиксом 4538 выходит, то старый процесс переименовывает свой pid-файл c суффиксом
4518 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до 4539 ".oldbin" в pid-файл без суффикса. При обновлении с версии 0.1.х до
4519 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый 4540 0.2.0 нужно учитывать, что оба процесса - старый 0.1.x и новый
4520 0.2.0 - используют pid-файл без суффиксов. 4541 0.2.0 - используют pid-файл без суффиксов.
4521 4542
4522 *) Изменение: директива worker_connections, новое название директивы 4543 *) Изменение: директива worker_connections, новое название директивы
4523 connections; директива теперь задаёт максимальное число соединений, 4544 connections; директива теперь задаёт максимальное число соединений, а
4524 а не максимально возможный номер дескриптора для сокета. 4545 не максимально возможный номер дескриптора для сокета.
4525 4546
4526 *) Добавление: SSL поддерживает кэширование сессий в пределах одного 4547 *) Добавление: SSL поддерживает кэширование сессий в пределах одного
4527 рабочего процесса. 4548 рабочего процесса.
4528 4549
4529 *) Добавление: директива satisfy_any. 4550 *) Добавление: директива satisfy_any.
4530 4551
4531 *) Изменение: модули ngx_http_access_module и 4552 *) Изменение: модули ngx_http_access_module и ngx_http_auth_basic_module
4532 ngx_http_auth_basic_module не работают для подзапросов. 4553 не работают для подзапросов.
4533 4554
4534 *) Добавление: директивы worker_rlimit_nofile и 4555 *) Добавление: директивы worker_rlimit_nofile и
4535 worker_rlimit_sigpending. 4556 worker_rlimit_sigpending.
4536 4557
4537 *) Исправление: если все бэкенды, используемые для балансировки 4558 *) Исправление: если все бэкенды, используемые для балансировки
4538 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 4559 нагрузки, оказывались в нерабочем состоянии после одной ошибки, то
4539 nginx не обращался к ним в течение 60 секунд. 4560 nginx не обращался к ним в течение 60 секунд.
4540 4561
4541 *) Исправление: в парсинге аргументов IMAP/POP3 команд. 4562 *) Исправление: в парсинге аргументов IMAP/POP3 команд.
4542 Спасибо Rob Mueller. 4563 Спасибо Rob Mueller.
4543 4564
4544 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси. 4565 *) Исправление: ошибки при использовании SSL в IMAP/POP3 прокси.
4545 4566
4546 *) Исправление: ошибки при использовании SSI и сжатия. 4567 *) Исправление: ошибки при использовании SSI и сжатия.
4547 4568
4548 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа 4569 *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
4549 "Expires" и "Cache-Control". 4570 "Expires" и "Cache-Control".
4550 Спасибо Александру Кукушкину. 4571 Спасибо Александру Кукушкину.
4551 4572
4552 4573
4553 Изменения в nginx 0.1.45 08.09.2005 4574 Изменения в nginx 0.1.45 08.09.2005
4554 4575
4555 *) Изменение: директива ssl_engine упразднена в модуле 4576 *) Изменение: директива ssl_engine упразднена в модуле
4556 ngx_http_ssl_module и перенесена на глобальный уровень. 4577 ngx_http_ssl_module и перенесена на глобальный уровень.
4557 4578
4558 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не 4579 *) Исправление: ответы с подзапросами, включённые с помощью SSI, не
4559 передавались через SSL соединение. 4580 передавались через SSL соединение.
4560 4581
4561 *) Разные исправления в IMAP/POP3 прокси. 4582 *) Разные исправления в IMAP/POP3 прокси.
4562 4583
4563 4584
4567 4588
4568 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module. 4589 *) Добавление: директива proxy_timeout модуля ngx_imap_proxy_module.
4569 4590
4570 *) Добавление: директива userid_mark. 4591 *) Добавление: директива userid_mark.
4571 4592
4572 *) Добавление: значение переменной $remote_user определяется независимо 4593 *) Добавление: значение переменной $remote_user определяется независимо
4573 от того, используется ли авторизация или нет. 4594 от того, используется ли авторизация или нет.
4574 4595
4575 4596
4576 Изменения в nginx 0.1.43 30.08.2005 4597 Изменения в nginx 0.1.43 30.08.2005
4577 4598
4578 *) Добавление: listen(2) backlog в директиве listen можно менять по 4599 *) Добавление: listen(2) backlog в директиве listen можно менять по
4579 сигналу -HUP. 4600 сигналу -HUP.
4580 4601
4581 *) Добавление: скрипт geo2nginx.pl добавлен в contrib. 4602 *) Добавление: скрипт geo2nginx.pl добавлен в contrib.
4582 4603
4583 *) Изменение: параметры FastCGI с пустым значениями теперь передаются 4604 *) Изменение: параметры FastCGI с пустым значениями теперь передаются
4584 серверу. 4605 серверу.
4585 4606
4586 *) Исправление: если в ответе проксированного сервера или FastCGI 4607 *) Исправление: если в ответе проксированного сервера или FastCGI
4587 сервера была строка "Cache-Control", то при использовании директивы 4608 сервера была строка "Cache-Control", то при использовании директивы
4588 expires происходил segmentation fault или рабочий процесс мог 4609 expires происходил segmentation fault или рабочий процесс мог
4589 зациклится; в режиме прокси ошибка появилась в 0.1.29. 4610 зациклится; в режиме прокси ошибка появилась в 0.1.29.
4590 4611
4591 4612
4592 Изменения в nginx 0.1.42 23.08.2005 4613 Изменения в nginx 0.1.42 23.08.2005
4593 4614
4594 *) Исправление: если URI запроса получался нулевой длины после 4615 *) Исправление: если URI запроса получался нулевой длины после обработки
4595 обработки модулем ngx_http_rewrite_module, то в модуле 4616 модулем ngx_http_rewrite_module, то в модуле ngx_http_proxy_module
4596 ngx_http_proxy_module происходил segmentation fault или bus error. 4617 происходил segmentation fault или bus error.
4597 4618
4598 *) Исправление: директива limit_rate не работала внутри блока if; 4619 *) Исправление: директива limit_rate не работала внутри блока if; ошибка
4599 ошибка появилась в 0.1.38. 4620 появилась в 0.1.38.
4600 4621
4601 4622
4602 Изменения в nginx 0.1.41 25.07.2005 4623 Изменения в nginx 0.1.41 25.07.2005
4603 4624
4604 *) Исправление: если переменная использовалась в файле конфигурации, то 4625 *) Исправление: если переменная использовалась в файле конфигурации, то
4605 она не могла использоваться в SSI. 4626 она не могла использоваться в SSI.
4606 4627
4607 4628
4608 Изменения в nginx 0.1.40 22.07.2005 4629 Изменения в nginx 0.1.40 22.07.2005
4609 4630
4610 *) Исправление: если клиент слал очень длинную строку заголовка, то в 4631 *) Исправление: если клиент слал очень длинную строку заголовка, то в
4611 логе не помещалась информация, связанная с этим запросом. 4632 логе не помещалась информация, связанная с этим запросом.
4612 4633
4613 *) Исправление: при использовании "X-Accel-Redirect" не передавалась 4634 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4614 строка "Set-Cookie"; ошибка появилась в 0.1.39. 4635 строка "Set-Cookie"; ошибка появилась в 0.1.39.
4615 4636
4616 *) Исправление: при использовании "X-Accel-Redirect" не передавалась 4637 *) Исправление: при использовании "X-Accel-Redirect" не передавалась
4617 строка "Content-Disposition". 4638 строка "Content-Disposition".
4618 4639
4619 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты, 4640 *) Исправление: по сигналу SIGQUIT основной процесс не закрывал сокеты,
4620 на которых он слушал. 4641 на которых он слушал.
4621 4642
4622 *) Исправление: после обновления исполняемого файла на лету на Linux и 4643 *) Исправление: после обновления исполняемого файла на лету на Linux и
4623 Solaris название процесса в команде ps становилось короче. 4644 Solaris название процесса в команде ps становилось короче.
4624 4645
4625 4646
4626 Изменения в nginx 0.1.39 14.07.2005 4647 Изменения в nginx 0.1.39 14.07.2005
4627 4648
4628 *) Изменения в модуле ngx_http_charset_module: директива 4649 *) Изменения в модуле ngx_http_charset_module: директива default_charset
4629 default_charset упразднена; директива charset задаёт кодировку 4650 упразднена; директива charset задаёт кодировку ответа; директива
4630 ответа; директива source_charset задаёт только исходную кодировку. 4651 source_charset задаёт только исходную кодировку.
4631 4652
4632 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда, 4653 *) Исправление: при перенаправлении ошибки 401, полученной от бэкенда,
4633 не передавалась строка заголовка "WWW-Authenticate". 4654 не передавалась строка заголовка "WWW-Authenticate".
4634 4655
4635 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module 4656 *) Исправление: модули ngx_http_proxy_module и ngx_http_fastcgi_module
4636 могли закрыть соединение до того, как что-нибудь было передано 4657 могли закрыть соединение до того, как что-нибудь было передано
4637 клиенту; ошибка появилась в 0.1.38. 4658 клиенту; ошибка появилась в 0.1.38.
4638 4659
4639 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc. 4660 *) Изменение: обработка ошибки инициализации в crypt_r() в Linux glibc.
4640 4661
4641 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные 4662 *) Исправление: модуль ngx_http_ssi_module не поддерживал относительные
4642 URI в команде include virtual. 4663 URI в команде include virtual.
4643 4664
4644 *) Исправление: если в строке заголовка ответа бэкенда была строка 4665 *) Исправление: если в строке заголовка ответа бэкенда была строка
4645 "Location", которую nginx не должен был изменять, то в ответе 4666 "Location", которую nginx не должен был изменять, то в ответе
4646 передавалось тело 500 ошибки; ошибка появилась в 0.1.29. 4667 передавалось тело 500 ошибки; ошибка появилась в 0.1.29.
4647 4668
4648 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и 4669 *) Исправление: некоторые директивы модулей ngx_http_proxy_module и
4649 ngx_http_fastcgi_module не наследовались с уровня server на уровень 4670 ngx_http_fastcgi_module не наследовались с уровня server на уровень
4650 location; ошибка появилась в 0.1.29. 4671 location; ошибка появилась в 0.1.29.
4651 4672
4652 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки 4673 *) Исправление: модуль ngx_http_ssl_module не поддерживал цепочки
4653 сертификатов. 4674 сертификатов.
4654 4675
4655 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 4676 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
4656 длинных имён файлов; ошибка появилась в 0.1.38. 4677 длинных имён файлов; ошибка появилась в 0.1.38.
4657 4678
4658 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на 4679 *) Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на
4659 стадии login. 4680 стадии login.
4660 4681
4661 4682
4662 Изменения в nginx 0.1.38 08.07.2005 4683 Изменения в nginx 0.1.38 08.07.2005
4663 4684
4664 *) Добавление: директива limit_rate поддерживается в режиме прокси и 4685 *) Добавление: директива limit_rate поддерживается в режиме прокси и
4665 FastCGI. 4686 FastCGI.
4666 4687
4667 *) Добавление: в режиме прокси и FastCGI поддерживается строка 4688 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4668 заголовка "X-Accel-Limit-Rate" в ответе бэкенда. 4689 "X-Accel-Limit-Rate" в ответе бэкенда.
4669 4690
4670 *) Добавление: директива break. 4691 *) Добавление: директива break.
4671 4692
4672 *) Добавление: директива log_not_found. 4693 *) Добавление: директива log_not_found.
4673 4694
4674 *) Исправление: при перенаправлении запроса с помощью строки заголовка 4695 *) Исправление: при перенаправлении запроса с помощью строки заголовка
4675 "X-Accel-Redirect" не изменялся код ответа. 4696 "X-Accel-Redirect" не изменялся код ответа.
4676 4697
4677 *) Исправление: переменные, установленные директивой set не могли 4698 *) Исправление: переменные, установленные директивой set не могли
4678 использоваться в SSI. 4699 использоваться в SSI.
4679 4700
4680 *) Исправление: при включении в SSI более одного удалённого подзапроса 4701 *) Исправление: при включении в SSI более одного удалённого подзапроса
4681 мог произойти segmentation fault. 4702 мог произойти segmentation fault.
4682 4703
4683 *) Исправление: если статусная строка в ответе бэкенда передавалась в 4704 *) Исправление: если статусная строка в ответе бэкенда передавалась в
4684 двух пакетах, то nginx считал ответ неверным; ошибка появилась в 4705 двух пакетах, то nginx считал ответ неверным; ошибка появилась в
4685 0.1.29. 4706 0.1.29.
4686 4707
4687 *) Добавление: директива ssi_types. 4708 *) Добавление: директива ssi_types.
4688 4709
4689 *) Добавление: директива autoindex_exact_size. 4710 *) Добавление: директива autoindex_exact_size.
4690 4711
4691 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные 4712 *) Исправление: модуль ngx_http_autoindex_module не поддерживал длинные
4692 имена файлов в UTF-8. 4713 имена файлов в UTF-8.
4693 4714
4694 *) Добавление: IMAP/POP3 прокси. 4715 *) Добавление: IMAP/POP3 прокси.
4695 4716
4696 4717
4697 Изменения в nginx 0.1.37 23.06.2005 4718 Изменения в nginx 0.1.37 23.06.2005
4698 4719
4699 *) Изменение: в конце файла nginx.pid теперь добавляется "\n". 4720 *) Изменение: в конце файла nginx.pid теперь добавляется "\n".
4700 4721
4701 *) Исправление: при включении большого количества вставок или 4722 *) Исправление: при включении большого количества вставок или нескольких
4702 нескольких больших вставок с помощью SSI ответ мог передаваться не 4723 больших вставок с помощью SSI ответ мог передаваться не полностью.
4703 полностью. 4724
4704 4725 *) Исправление: если все бэкенды возвращали ответ 404, то при
4705 *) Исправление: если все бэкенды возвращали ответ 404, то при 4726 использовании параметра http_404 в директивах proxy_next_upstream или
4706 использовании параметра http_404 в директивах proxy_next_upstream 4727 fastcgi_next_upstream, nginx начинал запрашивать все бэкенды снова.
4707 или fastcgi_next_upstream, nginx начинал запрашивать все бэкенды
4708 снова.
4709 4728
4710 4729
4711 Изменения в nginx 0.1.36 15.06.2005 4730 Изменения в nginx 0.1.36 15.06.2005
4712 4731
4713 *) Изменение: если в заголовке запросе есть дублирующиеся строки 4732 *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
4714 "Host", "Connection", "Content-Length" и "Authorization", то nginx 4733 "Connection", "Content-Length" и "Authorization", то nginx теперь
4715 теперь выдаёт ошибку 400. 4734 выдаёт ошибку 400.
4716 4735
4717 *) Изменение: директива post_accept_timeout упразднена. 4736 *) Изменение: директива post_accept_timeout упразднена.
4718 4737
4719 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве 4738 *) Добавление: параметры default, af=, bl=, deferred и bind в директиве
4720 listen. 4739 listen.
4721 4740
4722 *) Добавление: поддержка accept фильтров во FreeBSD. 4741 *) Добавление: поддержка accept фильтров во FreeBSD.
4723 4742
4724 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux. 4743 *) Добавление: поддержка TCP_DEFER_ACCEPT в Linux.
4725 4744
4726 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена 4745 *) Исправление: модуль ngx_http_autoindex_module не поддерживал имена
4727 файлов в UTF-8. 4746 файлов в UTF-8.
4728 4747
4729 *) Исправление: после добавления новый лог-файл ротация этого лога по 4748 *) Исправление: после добавления новый лог-файл ротация этого лога по
4730 сигналу -USR1 выполнялась, только если переконфигурировать nginx два 4749 сигналу -USR1 выполнялась, только если переконфигурировать nginx два
4731 раза по сигналу -HUP. 4750 раза по сигналу -HUP.
4732 4751
4733 4752
4734 Изменения в nginx 0.1.35 07.06.2005 4753 Изменения в nginx 0.1.35 07.06.2005
4735 4754
4736 *) Добавление: директива working_directory. 4755 *) Добавление: директива working_directory.
4737 4756
4738 *) Добавление: директива port_in_redirect. 4757 *) Добавление: директива port_in_redirect.
4739 4758
4740 *) Исправление: если заголовок ответа бэкенда не помещался в один 4759 *) Исправление: если заголовок ответа бэкенда не помещался в один пакет,
4741 пакет, то происходил segmentation fault; ошибка появилась в 0.1.29. 4760 то происходил segmentation fault; ошибка появилась в 0.1.29.
4742 4761
4743 *) Исправление: если было сконфигурировано более 10 серверов или в 4762 *) Исправление: если было сконфигурировано более 10 серверов или в
4744 сервере не описана директива "listen", то при запуске мог произойти 4763 сервере не описана директива "listen", то при запуске мог произойти
4745 segmentation fault. 4764 segmentation fault.
4746 4765
4747 *) Исправление: если ответ не помещался во временный файл, то мог 4766 *) Исправление: если ответ не помещался во временный файл, то мог
4748 произойти segmentation fault. 4767 произойти segmentation fault.
4749 4768
4750 *) Исправление: nginx возвращал ошибку 400 на запросы вида 4769 *) Исправление: nginx возвращал ошибку 400 на запросы вида
4751 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28. 4770 "GET http://www.domain.com/uri HTTP/1.0"; ошибка появилась в 0.1.28.
4752 4771
4753 4772
4754 Изменения в nginx 0.1.34 26.05.2005 4773 Изменения в nginx 0.1.34 26.05.2005
4755 4774
4756 *) Исправление: при включении больших ответов с помощью SSI рабочий 4775 *) Исправление: при включении больших ответов с помощью SSI рабочий
4757 процесс мог зациклиться. 4776 процесс мог зациклиться.
4758 4777
4759 *) Исправление: переменные, устанавливаемые директивой "set", не были 4778 *) Исправление: переменные, устанавливаемые директивой "set", не были
4760 доступны в SSI. 4779 доступны в SSI.
4761 4780
4762 *) Добавление: директива autoindex_localtime. 4781 *) Добавление: директива autoindex_localtime.
4763 4782
4764 *) Исправление: пустое значение в директиве proxy_set_header запрещает 4783 *) Исправление: пустое значение в директиве proxy_set_header запрещает
4765 передачу заголовка. 4784 передачу заголовка.
4766 4785
4767 4786
4768 Изменения в nginx 0.1.33 23.05.2005 4787 Изменения в nginx 0.1.33 23.05.2005
4769 4788
4770 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка 4789 *) Исправление: nginx не собирался с параметром --without-pcre; ошибка
4771 появилась в 0.1.29. 4790 появилась в 0.1.29.
4772 4791
4773 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне 4792 *) Исправление: 3, 5, 7 и 8 директив proxy_set_header на одном уровне
4774 вызывали bus fault при запуске. 4793 вызывали bus fault при запуске.
4775 4794
4776 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол 4795 *) Исправление: в редиректах внутри HTTPS сервера был указан протокол
4777 HTTP. 4796 HTTP.
4778 4797
4779 *) Исправление: если директива rewrite использовала выделения внутри 4798 *) Исправление: если директива rewrite использовала выделения внутри
4780 директивы if, то возвращалась ошибка 500. 4799 директивы if, то возвращалась ошибка 500.
4781 4800
4782 4801
4783 Изменения в nginx 0.1.32 19.05.2005 4802 Изменения в nginx 0.1.32 19.05.2005
4784 4803
4785 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, 4804 *) Исправление: в редиректах, выдаваемых с помощью директивы rewrite, не
4786 не передавались аргументы; ошибка появилась в 0.1.29. 4805 передавались аргументы; ошибка появилась в 0.1.29.
4787 4806
4788 *) Добавление: директива if поддерживает выделения в регулярных 4807 *) Добавление: директива if поддерживает выделения в регулярных
4789 выражениях. 4808 выражениях.
4790 4809
4791 *) Добавление: директива set поддерживает переменные и выделения из 4810 *) Добавление: директива set поддерживает переменные и выделения из
4792 регулярных выражений. 4811 регулярных выражений.
4793 4812
4794 *) Добавление: в режиме прокси и FastCGI поддерживается строка 4813 *) Добавление: в режиме прокси и FastCGI поддерживается строка заголовка
4795 заголовка "X-Accel-Redirect" в ответе бэкенда. 4814 "X-Accel-Redirect" в ответе бэкенда.
4796 4815
4797 4816
4798 Изменения в nginx 0.1.31 16.05.2005 4817 Изменения в nginx 0.1.31 16.05.2005
4799 4818
4800 *) Исправление: при использовании SSL ответ мог передаваться не до 4819 *) Исправление: при использовании SSL ответ мог передаваться не до
4801 конца. 4820 конца.
4802 4821
4803 *) Исправление: ошибки при обработке SSI в ответе, полученного от 4822 *) Исправление: ошибки при обработке SSI в ответе, полученного от
4804 FastCGI-сервера. 4823 FastCGI-сервера.
4805 4824
4806 *) Исправление: ошибки при использовании SSI и сжатия. 4825 *) Исправление: ошибки при использовании SSI и сжатия.
4807 4826
4808 *) Исправление: редирект с кодом 301 передавался без тела ответа; 4827 *) Исправление: редирект с кодом 301 передавался без тела ответа; ошибка
4809 ошибка появилась в 0.1.30. 4828 появилась в 0.1.30.
4810 4829
4811 4830
4812 Изменения в nginx 0.1.30 14.05.2005 4831 Изменения в nginx 0.1.30 14.05.2005
4813 4832
4814 *) Исправление: при использовании SSI рабочий процесс мог зациклиться. 4833 *) Исправление: при использовании SSI рабочий процесс мог зациклиться.
4815 4834
4816 *) Исправление: при использовании SSL ответ мог передаваться не до 4835 *) Исправление: при использовании SSL ответ мог передаваться не до
4817 конца. 4836 конца.
4818 4837
4819 *) Исправление: если длина части ответа, полученного за один раз от 4838 *) Исправление: если длина части ответа, полученного за один раз от
4820 проксируемого или FastCGI сервера была равна 500 байт, то nginx 4839 проксируемого или FastCGI сервера была равна 500 байт, то nginx
4821 возвращал код ответа 500; в режиме прокси ошибка появилась только в 4840 возвращал код ответа 500; в режиме прокси ошибка появилась только в
4822 0.1.29. 4841 0.1.29.
4823 4842
4824 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю 4843 *) Исправление: nginx не считал неверными директивы с 8-ю или 9-ю
4825 параметрами. 4844 параметрами.
4826 4845
4827 *) Добавление: директива return может возвращать код ответа 204. 4846 *) Добавление: директива return может возвращать код ответа 204.
4828 4847
4829 *) Добавление: директива ignore_invalid_headers. 4848 *) Добавление: директива ignore_invalid_headers.
4830 4849
4831 4850
4832 Изменения в nginx 0.1.29 12.05.2005 4851 Изменения в nginx 0.1.29 12.05.2005
4833 4852
4834 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include 4853 *) Добавление: модуль ngx_http_ssi_module поддерживает команду include
4835 virtual. 4854 virtual.
4836 4855
4837 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду 4856 *) Добавление: модуль ngx_http_ssi_module поддерживает условную команду
4838 вида 'if expr="$NAME"' и команды else и endif. Допускается только 4857 вида 'if expr="$NAME"' и команды else и endif. Допускается только
4839 один уровень вложенности. 4858 один уровень вложенности.
4840 4859
4841 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные 4860 *) Добавление: модуль ngx_http_ssi_module поддерживает две переменные
4842 DATE_LOCAL и DATE_GMT и команду config timefmt. 4861 DATE_LOCAL и DATE_GMT и команду config timefmt.
4843 4862
4844 *) Добавление: директива ssi_ignore_recycled_buffers. 4863 *) Добавление: директива ssi_ignore_recycled_buffers.
4845 4864
4846 *) Исправление: если переменная QUERY_STRING не была определена, то в 4865 *) Исправление: если переменная QUERY_STRING не была определена, то в
4847 команде echo не ставилось значение по умолчанию. 4866 команде echo не ставилось значение по умолчанию.
4848 4867
4849 *) Изменение: модуль ngx_http_proxy_module полностью переписан. 4868 *) Изменение: модуль ngx_http_proxy_module полностью переписан.
4850 4869
4851 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers, 4870 *) Добавление: директивы proxy_redirect, proxy_pass_request_headers,
4852 proxy_pass_request_body и proxy_method. 4871 proxy_pass_request_body и proxy_method.
4853 4872
4854 *) Добавление: директива proxy_set_header. Директива proxy_x_var 4873 *) Добавление: директива proxy_set_header. Директива proxy_x_var
4855 упразднена и должна быть заменена директивой proxy_set_header. 4874 упразднена и должна быть заменена директивой proxy_set_header.
4856 4875
4857 *) Изменение: директива proxy_preserve_host упразднена и должна быть 4876 *) Изменение: директива proxy_preserve_host упразднена и должна быть
4858 заменена директивами "proxy_set_header Host $host" и "proxy_redirect 4877 заменена директивами "proxy_set_header Host $host" и "proxy_redirect
4859 off" или директивой "proxy_set_header Host $host:$proxy_port" и 4878 off" или директивой "proxy_set_header Host $host:$proxy_port" и
4860 соответствующими ей директивами proxy_redirect. 4879 соответствующими ей директивами proxy_redirect.
4861 4880
4862 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть 4881 *) Изменение: директива proxy_set_x_real_ip упразднена и должна быть
4863 заменена директивой "proxy_set_header X-Real-IP $remote_addr". 4882 заменена директивой "proxy_set_header X-Real-IP $remote_addr".
4864 4883
4865 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна 4884 *) Изменение: директива proxy_add_x_forwarded_for упразднена и должна
4866 быть заменена директивой 4885 быть заменена директивой
4867 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for". 4886 "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".
4868 4887
4869 *) Изменение: директива proxy_set_x_url упразднена и должна быть 4888 *) Изменение: директива proxy_set_x_url упразднена и должна быть
4870 заменена директивой 4889 заменена директивой
4871 "proxy_set_header X-URL http://$host:$server_port$request_uri". 4890 "proxy_set_header X-URL http://$host:$server_port$request_uri".
4872 4891
4873 *) Добавление: директива fastcgi_param. 4892 *) Добавление: директива fastcgi_param.
4874 4893
4875 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params 4894 *) Изменение: директивы fastcgi_root, fastcgi_set_var и fastcgi_params
4876 упразднены и должны быть замены директивами fastcgi_param. 4895 упразднены и должны быть замены директивами fastcgi_param.
4877 4896
4878 *) Добавление: директива index может использовать переменные. 4897 *) Добавление: директива index может использовать переменные.
4879 4898
4880 *) Добавление: директива index может быть указана на уровне http и 4899 *) Добавление: директива index может быть указана на уровне http и
4881 server. 4900 server.
4882 4901
4883 *) Изменение: только последний параметр в директиве index может быть 4902 *) Изменение: только последний параметр в директиве index может быть
4884 абсолютным. 4903 абсолютным.
4885 4904
4886 *) Добавление: в директиве rewrite могут использоваться переменные. 4905 *) Добавление: в директиве rewrite могут использоваться переменные.
4887 4906
4888 *) Добавление: директива internal. 4907 *) Добавление: директива internal.
4889 4908
4890 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, 4909 *) Добавление: переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT,
4891 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, 4910 SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT,
4892 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 4911 SERVER_NAME, REQUEST_METHOD, REQUEST_URI и REMOTE_USER.
4893 4912
4894 *) Изменение: nginx теперь передаёт неверные строки в заголовках 4913 *) Изменение: nginx теперь передаёт неверные строки в заголовках запроса
4895 запроса клиента и ответа бэкенда. 4914 клиента и ответа бэкенда.
4896 4915
4897 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был 4916 *) Исправление: если бэкенд долго не передавал ответ и send_timeout был
4898 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408. 4917 меньше, чем proxy_read_timeout, то клиенту возвращался ответ 408.
4899 4918
4900 *) Исправление: если бэкенд передавал неверную строку в заголовке 4919 *) Исправление: если бэкенд передавал неверную строку в заголовке
4901 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26. 4920 ответа, то происходил segmentation fault; ошибка появилась в 0.1.26.
4902 4921
4903 *) Исправление: при использовании отказоустойчивой конфигурации в 4922 *) Исправление: при использовании отказоустойчивой конфигурации в
4904 FastCGI мог происходить segmentation fault. 4923 FastCGI мог происходить segmentation fault.
4905 4924
4906 *) Исправление: директива expires не удаляла уже установленные строки 4925 *) Исправление: директива expires не удаляла уже установленные строки
4907 заголовка "Expires" и "Cache-Control". 4926 заголовка "Expires" и "Cache-Control".
4908 4927
4909 *) Исправление: nginx не учитывал завершающую точку в строке заголовка 4928 *) Исправление: nginx не учитывал завершающую точку в строке заголовка
4910 запроса "Host". 4929 запроса "Host".
4911 4930
4912 *) Исправление: модуль ngx_http_auth_module не работал на Linux. 4931 *) Исправление: модуль ngx_http_auth_module не работал на Linux.
4913 4932
4914 *) Исправление: директива rewrite неверно работала, если в запросе 4933 *) Исправление: директива rewrite неверно работала, если в запросе
4915 присутствовали аргументы. 4934 присутствовали аргументы.
4916 4935
4917 *) Исправление: nginx не собирался на MacOS X. 4936 *) Исправление: nginx не собирался на MacOS X.
4918 4937
4919 4938
4920 Изменения в nginx 0.1.28 08.04.2005 4939 Изменения в nginx 0.1.28 08.04.2005
4921 4940
4922 *) Исправление: при проксировании больших файлов nginx сильно нагружал 4941 *) Исправление: при проксировании больших файлов nginx сильно нагружал
4923 процессор. 4942 процессор.
4924 4943
4925 *) Исправление: nginx не собирался gcc 4.0 на Linux. 4944 *) Исправление: nginx не собирался gcc 4.0 на Linux.
4926 4945
4927 4946
4928 Изменения в nginx 0.1.27 28.03.2005 4947 Изменения в nginx 0.1.27 28.03.2005
4929 4948
4930 *) Добавление: параметр blocked в директиве valid_referers. 4949 *) Добавление: параметр blocked в директиве valid_referers.
4931 4950
4932 *) Изменение: ошибки обработки заголовка запроса теперь записываются на 4951 *) Изменение: ошибки обработки заголовка запроса теперь записываются на
4933 уровне info, в лог также записывается имя сервера и строки заголовка 4952 уровне info, в лог также записывается имя сервера и строки заголовка
4934 запроса "Host" и "Referer". 4953 запроса "Host" и "Referer".
4935 4954
4936 *) Изменение: при записи ошибок в лог записывается также строка 4955 *) Изменение: при записи ошибок в лог записывается также строка
4937 заголовка запроса "Host". 4956 заголовка запроса "Host".
4938 4957
4939 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка 4958 *) Добавление: директива proxy_pass_unparsed_uri. Специальная обработка
4940 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена. 4959 символов "://" в URI, введённая в версии 0.1.11, теперь упразднена.
4941 4960
4942 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан 4961 *) Исправление: nginx не собирался на FreeBSD и Linux, если был указан
4943 параметр конфигурации --without-ngx_http_auth_basic_module. 4962 параметр конфигурации --without-ngx_http_auth_basic_module.
4944 4963
4945 4964
4946 Изменения в nginx 0.1.26 22.03.2005 4965 Изменения в nginx 0.1.26 22.03.2005
4947 4966
4948 *) Изменение: неверные строки заголовка, переданные клиентом, теперь 4967 *) Изменение: неверные строки заголовка, переданные клиентом, теперь
4949 игнорируется и записываются в error_log на уровне info. 4968 игнорируется и записываются в error_log на уровне info.
4950 4969
4951 *) Изменение: при записи ошибок в лог записывается также имя сервера, 4970 *) Изменение: при записи ошибок в лог записывается также имя сервера,
4952 при обращении к которому произошла ошибка. 4971 при обращении к которому произошла ошибка.
4953 4972
4954 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic 4973 *) Добавление: модуль ngx_http_auth_basic_module и директивы auth_basic
4955 и auth_basic_user_file. 4974 и auth_basic_user_file.
4956 4975
4957 4976
4958 Изменения в nginx 0.1.25 19.03.2005 4977 Изменения в nginx 0.1.25 19.03.2005
4959 4978
4960 *) Исправление: nginx не работал на Linux parisc. 4979 *) Исправление: nginx не работал на Linux parisc.
4961 4980
4962 *) Добавление: nginx теперь не запускается под FreeBSD, если значение 4981 *) Добавление: nginx теперь не запускается под FreeBSD, если значение
4963 sysctl kern.ipc.somaxconn слишком большое. 4982 sysctl kern.ipc.somaxconn слишком большое.
4964 4983
4965 *) Исправление: если модуль ngx_http_index_module делал внутреннее 4984 *) Исправление: если модуль ngx_http_index_module делал внутреннее
4966 перенаправление запроса в модули ngx_http_proxy_module или 4985 перенаправление запроса в модули ngx_http_proxy_module или
4967 ngx_http_fastcgi_module, то файл индекса не закрывался после 4986 ngx_http_fastcgi_module, то файл индекса не закрывался после
4968 обслуживания запроса. 4987 обслуживания запроса.
4969 4988
4970 *) Добавление: директива proxy_pass может использоваться в location, 4989 *) Добавление: директива proxy_pass может использоваться в location,
4971 заданных регулярным выражением. 4990 заданных регулярным выражением.
4972 4991
4973 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает 4992 *) Добавление: модуль ngx_http_rewrite_filter_module поддерживает
4974 условия вида "if ($HTTP_USER_AGENT ~ MSIE)". 4993 условия вида "if ($HTTP_USER_AGENT ~ MSIE)".
4975 4994
4976 *) Исправление: nginx очень медленно запускался при большом количестве 4995 *) Исправление: nginx очень медленно запускался при большом количестве
4977 адресов и использовании текстовых значений в директиве geo. 4996 адресов и использовании текстовых значений в директиве geo.
4978 4997
4979 *) Изменение: имя переменной в директиве geo нужно указывать, как 4998 *) Изменение: имя переменной в директиве geo нужно указывать, как $name.
4980 $name. Прежний вариант без "$" пока работает, но вскоре будет убран. 4999 Прежний вариант без "$" пока работает, но вскоре будет убран.
4981 5000
4982 *) Добавление: параметр лога "%{VARIABLE}v". 5001 *) Добавление: параметр лога "%{VARIABLE}v".
4983 5002
4984 *) Добавление: директива "set $name value". 5003 *) Добавление: директива "set $name value".
4985 5004
4988 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS. 5007 *) Добавление: параметр автоконфигурации --with-openssl-opt=OPTIONS.
4989 5008
4990 5009
4991 Изменения в nginx 0.1.24 04.03.2005 5010 Изменения в nginx 0.1.24 04.03.2005
4992 5011
4993 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает 5012 *) Добавление: модуль ngx_http_ssi_filter_module поддерживает переменные
4994 переменные QUERY_STRING и DOCUMENT_URI. 5013 QUERY_STRING и DOCUMENT_URI.
4995 5014
4996 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404 5015 *) Исправление: модуль ngx_http_autoindex_module мог выдавать ответ 404
4997 на существующий каталог, если этот каталог был указан как alias. 5016 на существующий каталог, если этот каталог был указан как alias.
4998 5017
4999 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал 5018 *) Исправление: модуль ngx_http_ssi_filter_module неправильно работал
5000 при больших ответах. 5019 при больших ответах.
5001 5020
5002 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось 5021 *) Исправление: отсутствие строки заголовка "Referer" всегда считалось
5003 правильным referrer'ом. 5022 правильным referrer'ом.
5004 5023
5005 5024
5006 Изменения в nginx 0.1.23 01.03.2005 5025 Изменения в nginx 0.1.23 01.03.2005
5007 5026
5008 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi, 5027 *) Добавление: модуль ngx_http_ssi_filter_module и директивы ssi,
5009 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo 5028 ssi_silent_errors и ssi_min_file_chunk. Поддерживаются команды 'echo
5010 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'. 5029 var="HTTP_..." default=""' и 'echo var="REMOTE_ADDR"'.
5011 5030
5012 *) Добавление: параметр лога %request_time. 5031 *) Добавление: параметр лога %request_time.
5013 5032
5014 *) Добавление: если запрос пришёл без строки заголовка "Host", то 5033 *) Добавление: если запрос пришёл без строки заголовка "Host", то
5015 директива proxy_preserve_host устанавливает в качестве этого 5034 директива proxy_preserve_host устанавливает в качестве этого
5016 заголовка первое имя сервера из директивы server_name. 5035 заголовка первое имя сервера из директивы server_name.
5017 5036
5018 *) Исправление: nginx не собирался на платформах, отличных от i386, 5037 *) Исправление: nginx не собирался на платформах, отличных от i386,
5019 amd64, sparc и ppc; ошибка появилась в 0.1.22. 5038 amd64, sparc и ppc; ошибка появилась в 0.1.22.
5020 5039
5021 *) Исправление: модуль ngx_http_autoindex_module теперь показывает 5040 *) Исправление: модуль ngx_http_autoindex_module теперь показывает
5022 информацию не о символическом линке, а о файле или каталоге, на 5041 информацию не о символическом линке, а о файле или каталоге, на
5023 который он указывает. 5042 который он указывает.
5024 5043
5025 *) Исправление: если клиенту ничего не передавалось, то параметр 5044 *) Исправление: если клиенту ничего не передавалось, то параметр
5026 %apache_length записывал в лог отрицательную длину заголовка ответа. 5045 %apache_length записывал в лог отрицательную длину заголовка ответа.
5027 5046
5028 5047
5029 Изменения в nginx 0.1.22 22.02.2005 5048 Изменения в nginx 0.1.22 22.02.2005
5030 5049
5031 *) Исправление: модуль ngx_http_stub_status_module показывал неверную 5050 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5032 статистику для обработанных соединений, если использовалось 5051 статистику для обработанных соединений, если использовалось
5033 проксирование или FastCGI-сервер. 5052 проксирование или FastCGI-сервер.
5034 5053
5035 *) Исправление: на Linux и Solaris установочные пути были неверно 5054 *) Исправление: на Linux и Solaris установочные пути были неверно
5036 заключены в кавычки; ошибка появилась в 0.1.21. 5055 заключены в кавычки; ошибка появилась в 0.1.21.
5037 5056
5038 5057
5039 Изменения в nginx 0.1.21 22.02.2005 5058 Изменения в nginx 0.1.21 22.02.2005
5040 5059
5041 *) Исправление: модуль ngx_http_stub_status_module показывал неверную 5060 *) Исправление: модуль ngx_http_stub_status_module показывал неверную
5042 статистику при использовании метода rtsig или при использовании 5061 статистику при использовании метода rtsig или при использовании
5043 нескольких рабочих процессов на SMP машине. 5062 нескольких рабочих процессов на SMP машине.
5044 5063
5045 *) Исправление: nginx не собирался компилятором icc под Линуксом или 5064 *) Исправление: nginx не собирался компилятором icc под Линуксом или
5046 если библиотека zlib-1.2.x собиралась из исходных текстов. 5065 если библиотека zlib-1.2.x собиралась из исходных текстов.
5047 5066
5048 *) Исправление: nginx не собирался под NetBSD 2.0. 5067 *) Исправление: nginx не собирался под NetBSD 2.0.
5049 5068
5050 5069
5051 Изменения в nginx 0.1.20 17.02.2005 5070 Изменения в nginx 0.1.20 17.02.2005
5052 5071
5053 *) Добавление: новые параметры script_filename и remote_port в 5072 *) Добавление: новые параметры script_filename и remote_port в директиве
5054 директиве fastcgi_params. 5073 fastcgi_params.
5055 5074
5056 *) Исправление: неправильно обрабатывался поток stderr от 5075 *) Исправление: неправильно обрабатывался поток stderr от
5057 FastCGI-сервера. 5076 FastCGI-сервера.
5058 5077
5059 5078
5060 Изменения в nginx 0.1.19 16.02.2005 5079 Изменения в nginx 0.1.19 16.02.2005
5061 5080
5062 *) Исправление: если в запросе есть нуль, то для локальных запросов 5081 *) Исправление: если в запросе есть нуль, то для локальных запросов
5063 теперь возвращается ошибка 404. 5082 теперь возвращается ошибка 404.
5064 5083
5065 *) Исправление: nginx не собирался под NetBSD 2.0. 5084 *) Исправление: nginx не собирался под NetBSD 2.0.
5066 5085
5067 *) Исправление: во время чтения тела запроса клиента в SSL соединении 5086 *) Исправление: во время чтения тела запроса клиента в SSL соединении
5068 мог произойти таймаут. 5087 мог произойти таймаут.
5069 5088
5070 5089
5071 Изменения в nginx 0.1.18 09.02.2005 5090 Изменения в nginx 0.1.18 09.02.2005
5072 5091
5073 *) Изменение: для совместимости с Solaris 10 в директивах 5092 *) Изменение: для совместимости с Solaris 10 в директивах devpoll_events
5074 devpoll_events и devpoll_changes значения по умолчанию уменьшены с 5093 и devpoll_changes значения по умолчанию уменьшены с 512 до 32.
5075 512 до 32. 5094
5076 5095 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5077 *) Исправление: директивы proxy_set_x_var и fastcgi_set_var не
5078 наследовались. 5096 наследовались.
5079 5097
5080 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы 5098 *) Исправление: в директиве rewrite, возвращающей редирект, аргументы
5081 присоединялись к URI через символ "&" вместо "?". 5099 присоединялись к URI через символ "&" вместо "?".
5082 5100
5083 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" 5101 *) Исправление: строки для модуля ngx_http_geo_module без символа ";" во
5084 во включённом файле игнорировались. 5102 включённом файле игнорировались.
5085 5103
5086 *) Добавление: модуль ngx_http_stub_status_module. 5104 *) Добавление: модуль ngx_http_stub_status_module.
5087 5105
5088 *) Исправление: неизвестный формат лог-файла в директиве access_log 5106 *) Исправление: неизвестный формат лог-файла в директиве access_log
5089 вызывал segmentation fault. 5107 вызывал segmentation fault.
5090 5108
5091 *) Добавление: новый параметр document_root в директиве fastcgi_params. 5109 *) Добавление: новый параметр document_root в директиве fastcgi_params.
5092 5110
5093 *) Добавление: директива fastcgi_redirect_errors. 5111 *) Добавление: директива fastcgi_redirect_errors.
5094 5112
5095 *) Добавление: новый модификатор break в директиве rewrite позволяет 5113 *) Добавление: новый модификатор break в директиве rewrite позволяет
5096 прекратить цикл rewrite/location и устанавливает текущую 5114 прекратить цикл rewrite/location и устанавливает текущую конфигурацию
5097 конфигурацию для запроса. 5115 для запроса.
5098 5116
5099 5117
5100 Изменения в nginx 0.1.17 03.02.2005 5118 Изменения в nginx 0.1.17 03.02.2005
5101 5119
5102 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. 5120 *) Изменение: модуль ngx_http_rewrite_module полностью переписан. Теперь
5103 Теперь можно делать редиректы, возвращать коды ошибок и проверять 5121 можно делать редиректы, возвращать коды ошибок и проверять переменные
5104 переменные и рефереры. Эти директивы можно использовать внутри 5122 и рефереры. Эти директивы можно использовать внутри location.
5105 location. Директива redirect упразднена. 5123 Директива redirect упразднена.
5106 5124
5107 *) Добавление: модуль ngx_http_geo_module. 5125 *) Добавление: модуль ngx_http_geo_module.
5108 5126
5109 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var. 5127 *) Добавление: директивы proxy_set_x_var и fastcgi_set_var.
5110 5128
5111 *) Исправление: конфигурация location с модификатором "=" могла 5129 *) Исправление: конфигурация location с модификатором "=" могла
5112 использоваться в другом location. 5130 использоваться в другом location.
5113 5131
5114 *) Исправление: правильный тип ответа выставлялся только для запросов, 5132 *) Исправление: правильный тип ответа выставлялся только для запросов, у
5115 у которых в расширении были только маленькие буквы. 5133 которых в расширении были только маленькие буквы.
5116 5134
5117 *) Исправление: если для location установлен proxy_pass или 5135 *) Исправление: если для location установлен proxy_pass или
5118 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась 5136 fastcgi_pass, и доступ к нему запрещался, а ошибка перенаправлялась
5119 на статическую страницу, то происходил segmentation fault. 5137 на статическую страницу, то происходил segmentation fault.
5120 5138
5121 *) Исправление: если в проксированном ответе в заголовке "Location" 5139 *) Исправление: если в проксированном ответе в заголовке "Location"
5122 передавался относительный URL, то к нему добавлялось имя хоста и 5140 передавался относительный URL, то к нему добавлялось имя хоста и
5123 слэш; ошибка появилась в 0.1.14. 5141 слэш; ошибка появилась в 0.1.14.
5124 5142
5125 *) Исправление: на Linux в лог не записывался текст системной ошибки. 5143 *) Исправление: на Linux в лог не записывался текст системной ошибки.
5126 5144
5127 5145
5128 Изменения в nginx 0.1.16 25.01.2005 5146 Изменения в nginx 0.1.16 25.01.2005
5129 5147
5130 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD 5148 *) Исправление: если ответ передавался chunk'ами, то при запросе HEAD
5131 выдавался завершающий chunk. 5149 выдавался завершающий chunk.
5132 5150
5133 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если 5151 *) Исправление: заголовок "Connection: keep-alive" выдавался, даже если
5134 директива keepalive_timeout запрещала использование keep-alive. 5152 директива keepalive_timeout запрещала использование keep-alive.
5135 5153
5136 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали 5154 *) Исправление: ошибки в модуле ngx_http_fastcgi_module вызывали
5137 segmentation fault. 5155 segmentation fault.
5138 5156
5139 *) Исправление: при использовании SSL сжатый ответ мог передаваться не 5157 *) Исправление: при использовании SSL сжатый ответ мог передаваться не
5140 до конца. 5158 до конца.
5141 5159
5142 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные 5160 *) Исправление: опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные
5143 для TCP сокетов, не используются для unix domain сокетов. 5161 для TCP сокетов, не используются для unix domain сокетов.
5144 5162
5145 *) Добавление: директива rewrite поддерживает перезаписывание 5163 *) Добавление: директива rewrite поддерживает перезаписывание
5146 аргументов. 5164 аргументов.
5147 5165
5148 *) Исправление: на запрос POST с заголовком "Content-Length: 0" 5166 *) Исправление: на запрос POST с заголовком "Content-Length: 0"
5149 возвращался ответ 400; ошибка появилась в 0.1.14. 5167 возвращался ответ 400; ошибка появилась в 0.1.14.
5150 5168
5151 5169
5152 Изменения в nginx 0.1.15 19.01.2005 5170 Изменения в nginx 0.1.15 19.01.2005
5153 5171
5154 *) Исправление: ошибка соединения с FastCGI-сервером вызывала 5172 *) Исправление: ошибка соединения с FastCGI-сервером вызывала
5155 segmentation fault. 5173 segmentation fault.
5156 5174
5157 *) Исправление: корректная обработка регулярного выражения, в котором 5175 *) Исправление: корректная обработка регулярного выражения, в котором
5158 число выделенных частей не совпадает с числом подстановок. 5176 число выделенных частей не совпадает с числом подстановок.
5159 5177
5160 *) Добавление: location, который передаётся FastCGI-серверу, может быть 5178 *) Добавление: location, который передаётся FastCGI-серверу, может быть
5161 задан с помощью регулярного выражения. 5179 задан с помощью регулярного выражения.
5162 5180
5163 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с 5181 *) Исправление: параметр FastCGI REQUEST_URI теперь передаётся вместе с
5164 аргументами и в том виде, в котором был получен от клиента. 5182 аргументами и в том виде, в котором был получен от клиента.
5165 5183
5166 *) Исправление: для использования регулярных выражений в location нужно 5184 *) Исправление: для использования регулярных выражений в location нужно
5167 было собирать nginx вместе с ngx_http_rewrite_module. 5185 было собирать nginx вместе с ngx_http_rewrite_module.
5168 5186
5169 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании 5187 *) Исправление: если бэкенд слушал на 80-ом порту, то при использовании
5170 директивы "proxy_preserve_host on" в заголовке "Host" указывался 5188 директивы "proxy_preserve_host on" в заголовке "Host" указывался
5171 также порт 80; ошибка появилась в 0.1.14. 5189 также порт 80; ошибка появилась в 0.1.14.
5172 5190
5173 *) Исправление: если задать одинаковые пути в параметрах 5191 *) Исправление: если задать одинаковые пути в параметрах
5174 автоконфигурации --http-client-body-temp-path=PATH и 5192 автоконфигурации --http-client-body-temp-path=PATH и
5175 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и 5193 --http-proxy-temp-path=PATH или --http-client-body-temp-path=PATH и
5176 --http-fastcgi-temp-path=PATH, то происходил segmentation fault. 5194 --http-fastcgi-temp-path=PATH, то происходил segmentation fault.
5177 5195
5178 5196
5179 Изменения в nginx 0.1.14 18.01.2005 5197 Изменения в nginx 0.1.14 18.01.2005
5180 5198
5181 *) Добавление: параметры автоконфигурации 5199 *) Добавление: параметры автоконфигурации
5182 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и 5200 --http-client-body-temp-path=PATH, --http-proxy-temp-path=PATH и
5183 --http-fastcgi-temp-path=PATH 5201 --http-fastcgi-temp-path=PATH
5184 5202
5185 *) Изменение: имя каталога с временными файлами, содержащие тело 5203 *) Изменение: имя каталога с временными файлами, содержащие тело запроса
5186 запроса клиента, задаётся директивой client_body_temp_path, по 5204 клиента, задаётся директивой client_body_temp_path, по умолчанию
5187 умолчанию <prefix>/client_body_temp. 5205 <prefix>/client_body_temp.
5188 5206
5189 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass, 5207 *) Добавление: модуль ngx_http_fastcgi_module и директивы fastcgi_pass,
5190 fastcgi_root, fastcgi_index, fastcgi_params, 5208 fastcgi_root, fastcgi_index, fastcgi_params, fastcgi_connect_timeout,
5191 fastcgi_connect_timeout, fastcgi_send_timeout, fastcgi_read_timeout, 5209 fastcgi_send_timeout, fastcgi_read_timeout, fastcgi_send_lowat,
5192 fastcgi_send_lowat, fastcgi_header_buffer_size, fastcgi_buffers, 5210 fastcgi_header_buffer_size, fastcgi_buffers,
5193 fastcgi_busy_buffers_size, fastcgi_temp_path, 5211 fastcgi_busy_buffers_size, fastcgi_temp_path,
5194 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size, 5212 fastcgi_max_temp_file_size, fastcgi_temp_file_write_size,
5195 fastcgi_next_upstream и fastcgi_x_powered_by. 5213 fastcgi_next_upstream и fastcgi_x_powered_by.
5196 5214
5197 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в 5215 *) Исправление: ошибка "[alert] zero size buf"; ошибка появилась в
5198 0.1.3. 5216 0.1.3.
5199 5217
5200 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI 5218 *) Изменение: в директиве proxy_pass нужно обязательно указывать URI
5201 после имени хоста. 5219 после имени хоста.
5202 5220
5203 *) Изменение: если в URI встречался символ %3F, то он считался началом 5221 *) Изменение: если в URI встречался символ %3F, то он считался началом
5204 строки аргументов. 5222 строки аргументов.
5205 5223
5206 *) Добавление: поддержка unix domain сoкетов в модуле 5224 *) Добавление: поддержка unix domain сoкетов в модуле
5207 ngx_http_proxy_module. 5225 ngx_http_proxy_module.
5208 5226
5209 *) Добавление: директивы ssl_engine и ssl_ciphers. 5227 *) Добавление: директивы ssl_engine и ssl_ciphers.
5210 Спасибо Сергею Скворцову за SSL-акселератор. 5228 Спасибо Сергею Скворцову за SSL-акселератор.
5211 5229
5212 5230
5213 Изменения в nginx 0.1.13 21.12.2004 5231 Изменения в nginx 0.1.13 21.12.2004
5214 5232
5215 *) Добавление: директивы server_names_hash и 5233 *) Добавление: директивы server_names_hash и
5216 server_names_hash_threshold. 5234 server_names_hash_threshold.
5217 5235
5218 *) Исправление: имена *.domain.tld в директиве server_name не работали. 5236 *) Исправление: имена *.domain.tld в директиве server_name не работали.
5219 5237
5220 *) Исправление: параметр лога %request_length записывал неверную длину. 5238 *) Исправление: параметр лога %request_length записывал неверную длину.
5222 5240
5223 Изменения в nginx 0.1.12 06.12.2004 5241 Изменения в nginx 0.1.12 06.12.2004
5224 5242
5225 *) Добавление: параметр лога %request_length. 5243 *) Добавление: параметр лога %request_length.
5226 5244
5227 *) Исправление: при использовании /dev/poll, select и poll на 5245 *) Исправление: при использовании /dev/poll, select и poll на
5228 платформах, где возможны ложные срабатывания указанных методов, 5246 платформах, где возможны ложные срабатывания указанных методов, могли
5229 могли быть длительные задержки при обработке запроса по keep-alive 5247 быть длительные задержки при обработке запроса по keep-alive
5230 соединению. Наблюдалось по крайней мере на Solaris с использованием 5248 соединению. Наблюдалось по крайней мере на Solaris с использованием
5231 /dev/poll. 5249 /dev/poll.
5232 5250
5233 *) Исправление: директива send_lowat игнорируется на Linux, так как 5251 *) Исправление: директива send_lowat игнорируется на Linux, так как
5234 Linux не поддерживает опцию SO_SNDLOWAT. 5252 Linux не поддерживает опцию SO_SNDLOWAT.
5235 5253
5236 5254
5237 Изменения в nginx 0.1.11 02.12.2004 5255 Изменения в nginx 0.1.11 02.12.2004
5238 5256
5239 *) Добавление: директива worker_priority. 5257 *) Добавление: директива worker_priority.
5240 5258
5241 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе 5259 *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
5242 влияют на передачу ответа. 5260 влияют на передачу ответа.
5243 5261
5244 *) Исправление: nginx не вызывал initgroups(). 5262 *) Исправление: nginx не вызывал initgroups().
5245 Спасибо Андрею Ситникову и Андрею Нигматулину. 5263 Спасибо Андрею Ситникову и Андрею Нигматулину.
5246 5264
5247 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в 5265 *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
5248 байтах. 5266 байтах.
5249 5267
5250 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в 5268 *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
5251 каталоге есть битый symlink. 5269 каталоге есть битый symlink.
5252 5270
5253 *) Исправление: файлы больше 4G не передавались с использованием 5271 *) Исправление: файлы больше 4G не передавались с использованием
5254 sendfile. 5272 sendfile.
5255 5273
5256 *) Исправление: если бэкенд резолвился в несколько адресов и при 5274 *) Исправление: если бэкенд резолвился в несколько адресов и при
5257 ожидании от него ответа происходила ошибка, то процесс зацикливался. 5275 ожидании от него ответа происходила ошибка, то процесс зацикливался.
5258 5276
5259 *) Исправление: при использовании метода /dev/poll рабочий процесс мог 5277 *) Исправление: при использовании метода /dev/poll рабочий процесс мог
5260 завершиться с сообщением "unknown cycle". 5278 завершиться с сообщением "unknown cycle".
5261 5279
5262 *) Исправление: ошибки "close() channel failed". 5280 *) Исправление: ошибки "close() channel failed".
5263 5281
5264 *) Исправление: автоматическое определение групп nobody и nogroup. 5282 *) Исправление: автоматическое определение групп nobody и nogroup.
5265 5283
5266 *) Исправление: директива send_lowat не работала на Linux. 5284 *) Исправление: директива send_lowat не работала на Linux.
5267 5285
5268 *) Исправление: если в конфигурации не было раздела events, то 5286 *) Исправление: если в конфигурации не было раздела events, то
5269 происходил segmentation fault. 5287 происходил segmentation fault.
5270 5288
5271 *) Исправление: nginx не собирался под OpenBSD. 5289 *) Исправление: nginx не собирался под OpenBSD.
5272 5290
5273 *) Исправление: двойные слэшы в "://" в URI превращались в ":/". 5291 *) Исправление: двойные слэшы в "://" в URI превращались в ":/".
5274 5292
5275 5293
5276 Изменения в nginx 0.1.10 26.11.2004 5294 Изменения в nginx 0.1.10 26.11.2004
5277 5295
5278 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../" 5296 *) Исправление: если в запросе без аргументов есть "//", "/./", "/../"
5279 или "%XX", то терялся последний символ в строке запроса; ошибка 5297 или "%XX", то терялся последний символ в строке запроса; ошибка
5280 появилась в 0.1.9. 5298 появилась в 0.1.9.
5281 5299
5282 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на 5300 *) Исправление: исправление в версии 0.1.9 для файлов больше 2G на Linux
5283 Linux не работало. 5301 не работало.
5284 5302
5285 5303
5286 Изменения в nginx 0.1.9 25.11.2004 5304 Изменения в nginx 0.1.9 25.11.2004
5287 5305
5288 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то 5306 *) Исправление: если в запросе есть "//", "/./", "/../" или "%XX", то
5289 проксируемый запрос передавался без аргументов. 5307 проксируемый запрос передавался без аргументов.
5290 5308
5291 *) Исправление: при сжатии больших ответов иногда они передавались не 5309 *) Исправление: при сжатии больших ответов иногда они передавались не
5292 полностью. 5310 полностью.
5293 5311
5294 *) Исправление: не передавались файлы больше 2G на Linux, 5312 *) Исправление: не передавались файлы больше 2G на Linux,
5295 неподдерживающем sendfile64(). 5313 неподдерживающем sendfile64().
5296 5314
5297 *) Исправление: на Linux при конфигурации сборки нужно было обязательно 5315 *) Исправление: на Linux при конфигурации сборки нужно было обязательно
5298 использовать параметр --with-poll_module; ошибка появилась в 0.1.8. 5316 использовать параметр --with-poll_module; ошибка появилась в 0.1.8.
5299 5317
5300 5318
5301 Изменения в nginx 0.1.8 20.11.2004 5319 Изменения в nginx 0.1.8 20.11.2004
5302 5320
5303 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе 5321 *) Исправление: ошибка в модуле ngx_http_autoindex_module при показе
5304 длинных имён файлов. 5322 длинных имён файлов.
5305 5323
5306 *) Добавление: модификатор "^~" в директиве location. 5324 *) Добавление: модификатор "^~" в директиве location.
5307 5325
5308 *) Добавление: директива proxy_max_temp_file_size. 5326 *) Добавление: директива proxy_max_temp_file_size.
5309 5327
5310 5328
5311 Изменения в nginx 0.1.7 12.11.2004 5329 Изменения в nginx 0.1.7 12.11.2004
5312 5330
5313 *) Исправление: при использовании sendfile, если передаваемый файл 5331 *) Исправление: при использовании sendfile, если передаваемый файл
5314 менялся, то мог произойти segmentation fault на FreeBSD; ошибка 5332 менялся, то мог произойти segmentation fault на FreeBSD; ошибка
5315 появилась в 0.1.5. 5333 появилась в 0.1.5.
5316 5334
5317 5335
5318 Изменения в nginx 0.1.6 11.11.2004 5336 Изменения в nginx 0.1.6 11.11.2004
5319 5337
5320 *) Исправление: при некоторых комбинациях директив location c 5338 *) Исправление: при некоторых комбинациях директив location c
5321 регулярными выражениями использовалась конфигурация не из того 5339 регулярными выражениями использовалась конфигурация не из того
5322 location. 5340 location.
5323 5341
5324 5342
5325 Изменения в nginx 0.1.5 11.11.2004 5343 Изменения в nginx 0.1.5 11.11.2004
5326 5344
5327 *) Исправление: на Solaris и Linux могло быть очень много сообщений 5345 *) Исправление: на Solaris и Linux могло быть очень много сообщений
5328 "recvmsg() returned not enough data". 5346 "recvmsg() returned not enough data".
5329 5347
5330 *) Исправление: в режиме прокси без использования sendfile на Solaris 5348 *) Исправление: в режиме прокси без использования sendfile на Solaris
5331 возникала ошибка "writev() failed (22: Invalid argument)". На других 5349 возникала ошибка "writev() failed (22: Invalid argument)". На других
5332 платформах, не поддерживающих sendfile, процесс зацикливался. 5350 платформах, не поддерживающих sendfile, процесс зацикливался.
5333 5351
5334 *) Исправление: при использовании sendfile в режиме прокси на Solaris 5352 *) Исправление: при использовании sendfile в режиме прокси на Solaris
5335 возникал segmentation fault. 5353 возникал segmentation fault.
5336 5354
5337 *) Исправление: segmentation fault на Solaris. 5355 *) Исправление: segmentation fault на Solaris.
5338 5356
5339 *) Исправление: обновление исполняемого файла на лету не работало на 5357 *) Исправление: обновление исполняемого файла на лету не работало на
5340 Linux. 5358 Linux.
5341 5359
5342 *) Исправление: в списке файлов, выдаваемом модулем 5360 *) Исправление: в списке файлов, выдаваемом модулем
5343 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и 5361 ngx_http_autoindex_module, не перекодировались пробелы, кавычки и
5344 знаки процента. 5362 знаки процента.
5345 5363
5346 *) Изменение: уменьшение операций копирования. 5364 *) Изменение: уменьшение операций копирования.
5347 5365
5348 *) Добавление: директива userid_p3p. 5366 *) Добавление: директива userid_p3p.
5357 5375
5358 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex. 5376 *) Добавление: модуль ngx_http_autoindex_module и директива autoindex.
5359 5377
5360 *) Добавление: директива proxy_set_x_url. 5378 *) Добавление: директива proxy_set_x_url.
5361 5379
5362 *) Исправление: модуль проксировании мог привести к зацикливанию, если 5380 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5363 не использовался sendfile. 5381 не использовался sendfile.
5364 5382
5365 5383
5366 Изменения в nginx 0.1.2 21.10.2004 5384 Изменения в nginx 0.1.2 21.10.2004
5367 5385
5368 *) Добавление: параметры --user=USER, --group=GROUP и 5386 *) Добавление: параметры --user=USER, --group=GROUP и
5369 --with-ld-opt=OPTIONS в configure. 5387 --with-ld-opt=OPTIONS в configure.
5370 5388
5371 *) Добавление: директива server_name поддерживает *.domain.tld. 5389 *) Добавление: директива server_name поддерживает *.domain.tld.
5372 5390
5373 *) Исправление: улучшена переносимость на неизвестные платформы. 5391 *) Исправление: улучшена переносимость на неизвестные платформы.
5374 5392
5375 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный 5393 *) Исправление: нельзя переконфигурировать nginx, если конфигурационный
5376 файл указан в командной строке; ошибка появилась в 0.1.1. 5394 файл указан в командной строке; ошибка появилась в 0.1.1.
5377 5395
5378 *) Исправление: модуль проксировании мог привести к зацикливанию, если 5396 *) Исправление: модуль проксировании мог привести к зацикливанию, если
5379 не использовался sendfile. 5397 не использовался sendfile.
5380 5398
5381 *) Исправление: при использовании sendfile текст ответа не 5399 *) Исправление: при использовании sendfile текст ответа не
5382 перекодировался согласно директивам модуля charset; ошибка появилась 5400 перекодировался согласно директивам модуля charset; ошибка появилась
5383 в 0.1.1. 5401 в 0.1.1.
5384 5402
5385 *) Исправление: очень редкая ошибка при обработке kqueue. 5403 *) Исправление: очень редкая ошибка при обработке kqueue.
5386 5404
5387 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при 5405 *) Исправление: модуль сжатия сжимал уже сжатые ответы, полученные при
5388 проксировании. 5406 проксировании.
5389 5407
5390 5408
5391 Изменения в nginx 0.1.1 11.10.2004 5409 Изменения в nginx 0.1.1 11.10.2004
5392 5410
5393 *) Добавление: директива gzip_types. 5411 *) Добавление: директива gzip_types.
5394 5412
5395 *) Добавление: директива tcp_nodelay. 5413 *) Добавление: директива tcp_nodelay.
5396 5414
5397 *) Добавление: директива send_lowat работает не только на платформах, 5415 *) Добавление: директива send_lowat работает не только на платформах,
5398 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих 5416 поддерживающих kqueue NOTE_LOWAT, но и на всех, поддерживающих
5399 SO_SNDLOWAT. 5417 SO_SNDLOWAT.
5400 5418
5401 *) Добавление: эмуляция setproctitle() для Linux и Solaris. 5419 *) Добавление: эмуляция setproctitle() для Linux и Solaris.
5402 5420
5403 *) Исправление: ошибка при переписывании заголовка "Location" при 5421 *) Исправление: ошибка при переписывании заголовка "Location" при
5404 проксировании. 5422 проксировании.
5405 5423
5406 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к 5424 *) Исправление: ошибка в модуле ngx_http_chunked_module, приводившая к
5407 зацикливанию. 5425 зацикливанию.
5408 5426
5409 *) Исправление: ошибки в модуле /dev/poll. 5427 *) Исправление: ошибки в модуле /dev/poll.
5410 5428
5411 *) Исправление: при проксировании и использовании временных файлов 5429 *) Исправление: при проксировании и использовании временных файлов
5412 ответы портились. 5430 ответы портились.
5413 5431
5414 *) Исправление: бэкенду передавались запросы с неперекодированными 5432 *) Исправление: бэкенду передавались запросы с неперекодированными
5415 символами. 5433 символами.
5416 5434
5417 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было 5435 *) Исправление: на Linux 2.4 при конфигурации сборки нужно было
5418 обязательно использовать параметр --with-poll_module. 5436 обязательно использовать параметр --with-poll_module.
5419 5437
5420 5438
5421 Изменения в nginx 0.1.0 04.10.2004 5439 Изменения в nginx 0.1.0 04.10.2004
5422 5440