comparison docs/xml/nginx/changes.xml @ 4028:76bc29f06168

CHANGES conversion from KOI8-R to UTF-8.
author Igor Sysoev <igor@sysoev.ru>
date Tue, 23 Aug 2011 12:50:54 +0000
parents 73c7ffd6275e
children 181ad4460b05
comparison
equal deleted inserted replaced
4027:73c7ffd6275e 4028:76bc29f06168
1 <?xml version="1.0" encoding="koi8-r" ?> 1 <?xml version="1.0" ?>
2 <!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" > 2 <!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" >
3 3
4 4
5 <change_log link="/nginx/changes.html" path="/nginx/" root=".." 5 <change_log link="/nginx/changes.html" path="/nginx/" root=".."
6 title="nginx"> 6 title="nginx">
7 7
8 <title lang="ru">Изменения в nginx</title> 8 <title lang="ru">п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ nginx</title>
9 <title lang="en">nginx changelog</title> 9 <title lang="en">nginx changelog</title>
10 10
11 11
12 <changes ver="1.1.1" date="22.08.2011"> 12 <changes ver="1.1.1" date="22.08.2011">
13 13
14 <change type="change"> 14 <change type="change">
15 <para lang="ru"> 15 <para lang="ru">
16 теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов, 16 я┌п╣п©п╣я─я▄ п╥п╟пЁя─я┐п╥я┤п╦п╨ п╨я█я┬п╟ п╥п╟ п╨п╟п╤п╢я┐я▌ п╦я┌п╣я─п╟я├п╦я▌ п╩п╦п╠п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╣я┌ я┤п╦я│п╩п╬ я└п╟п╧п╩п╬п╡,
17 указанное в параметре load_files, либо работает не дольше времени, 17 я┐п╨п╟п╥п╟п╫п╫п╬п╣ п╡ п©п╟я─п╟п╪п╣я┌я─п╣ load_files, п╩п╦п╠п╬ я─п╟п╠п╬я┌п╟п╣я┌ п╫п╣ п╢п╬п╩я▄я┬п╣ п╡я─п╣п╪п╣п╫п╦,
18 указанного в параметре loader_threshold. 18 я┐п╨п╟п╥п╟п╫п╫п╬пЁп╬ п╡ п©п╟я─п╟п╪п╣я┌я─п╣ loader_threshold.
19 </para> 19 </para>
20 <para lang="en"> 20 <para lang="en">
21 now cache loader processes either as many files as specified by "loader_files" 21 now cache loader processes either as many files as specified by "loader_files"
22 parameter or works no longer than time specified by "loader_threshold" 22 parameter or works no longer than time specified by "loader_threshold"
23 parameter during each iteration. 23 parameter during each iteration.
24 </para> 24 </para>
25 </change> 25 </change>
26 26
27 <change type="change"> 27 <change type="change">
28 <para lang="ru"> 28 <para lang="ru">
29 SIGWINCH сигнал теперь работает только в режиме демона. 29 SIGWINCH я│п╦пЁп╫п╟п╩ я┌п╣п©п╣я─я▄ я─п╟п╠п╬я┌п╟п╣я┌ я┌п╬п╩я▄п╨п╬ п╡ я─п╣п╤п╦п╪п╣ п╢п╣п╪п╬п╫п╟.
30 </para> 30 </para>
31 <para lang="en"> 31 <para lang="en">
32 now SIGWINCH signal works only in daemon mode. 32 now SIGWINCH signal works only in daemon mode.
33 </para> 33 </para>
34 </change> 34 </change>
35 35
36 <change type="feature"> 36 <change type="feature">
37 <para lang="ru"> 37 <para lang="ru">
38 теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/> 38 я┌п╣п©п╣я─я▄ я─п╟п╥п╢п╣п╩я▐п╣п╪я▀п╣ п╥п╬п╫я▀ п╦ п╨я█я┬п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я│п╣п╪п╟я└п╬я─я▀ POSIX п╫п╟ Solaris.<br/>
39 Спасибо Денису Иванову. 39 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п≤п╡п╟п╫п╬п╡я┐.
40 </para> 40 </para>
41 <para lang="en"> 41 <para lang="en">
42 now shared zones and caches use POSIX semaphores on Solaris.<br/> 42 now shared zones and caches use POSIX semaphores on Solaris.<br/>
43 Thanks to Den Ivanov. 43 Thanks to Den Ivanov.
44 </para> 44 </para>
45 </change> 45 </change>
46 46
47 <change type="feature"> 47 <change type="feature">
48 <para lang="ru"> 48 <para lang="ru">
49 теперь на NetBSD поддерживаются accept фильтры. 49 я┌п╣п©п╣я─я▄ п╫п╟ NetBSD п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐ accept я└п╦п╩я▄я┌я─я▀.
50 </para> 50 </para>
51 <para lang="en"> 51 <para lang="en">
52 accept filters are now supported on NetBSD. 52 accept filters are now supported on NetBSD.
53 </para> 53 </para>
54 </change> 54 </change>
55 55
56 <change type="bugfix"> 56 <change type="bugfix">
57 <para lang="ru"> 57 <para lang="ru">
58 nginx не собирался на Linux 3.0. 58 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux 3.0.
59 </para> 59 </para>
60 <para lang="en"> 60 <para lang="en">
61 nginx could not be built on Linux 3.0. 61 nginx could not be built on Linux 3.0.
62 </para> 62 </para>
63 </change> 63 </change>
64 64
65 <change type="bugfix"> 65 <change type="bugfix">
66 <para lang="ru"> 66 <para lang="ru">
67 в некоторых случаях nginx не использовал сжатие; 67 п╡ п╫п╣п╨п╬я┌п╬я─я▀я┘ я│п╩я┐я┤п╟я▐я┘ nginx п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ я│п╤п╟я┌п╦п╣;
68 ошибка появилась в 1.1.0. 68 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 1.1.0.
69 </para> 69 </para>
70 <para lang="en"> 70 <para lang="en">
71 nginx did not use gzipping in some cases; 71 nginx did not use gzipping in some cases;
72 the bug had appeared in 1.1.0. 72 the bug had appeared in 1.1.0.
73 </para> 73 </para>
74 </change> 74 </change>
75 75
76 <change type="bugfix"> 76 <change type="bugfix">
77 <para lang="ru"> 77 <para lang="ru">
78 обработка тела запроса могло быть неверной, если клиент использовал pipelining. 78 п╬п╠я─п╟п╠п╬я┌п╨п╟ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟ п╪п╬пЁп╩п╬ п╠я▀я┌я▄ п╫п╣п╡п╣я─п╫п╬п╧, п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ pipelining.
79 </para> 79 </para>
80 <para lang="en"> 80 <para lang="en">
81 request body might be incorrectly processed if client used pipelining. 81 request body might be incorrectly processed if client used pipelining.
82 </para> 82 </para>
83 </change> 83 </change>
84 84
85 <change type="bugfix"> 85 <change type="bugfix">
86 <para lang="ru"> 86 <para lang="ru">
87 в директиве request_body_in_single_buf. 87 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ request_body_in_single_buf.
88 </para> 88 </para>
89 <para lang="en"> 89 <para lang="en">
90 in the "request_body_in_single_buf" directive. 90 in the "request_body_in_single_buf" directive.
91 </para> 91 </para>
92 </change> 92 </change>
93 93
94 <change type="bugfix"> 94 <change type="bugfix">
95 <para lang="ru"> 95 <para lang="ru">
96 в директивах proxy_set_body и proxy_pass_request_body 96 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_set_body п╦ proxy_pass_request_body
97 при использовании SSL соединения с бэкендом. 97 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ п╠я█п╨п╣п╫п╢п╬п╪.
98 </para> 98 </para>
99 <para lang="en"> 99 <para lang="en">
100 in "proxy_set_body" and "proxy_pass_request_body" directives 100 in "proxy_set_body" and "proxy_pass_request_body" directives
101 if SSL connection to backend was used. 101 if SSL connection to backend was used.
102 </para> 102 </para>
103 </change> 103 </change>
104 104
105 <change type="bugfix"> 105 <change type="bugfix">
106 <para lang="ru"> 106 <para lang="ru">
107 nginx нагружал процессор, если все сервера в upstream'е были помечены 107 nginx п╫п╟пЁя─я┐п╤п╟п╩ п©я─п╬я├п╣я│я│п╬я─, п╣я│п╩п╦ п╡я│п╣ я│п╣я─п╡п╣я─п╟ п╡ upstream'п╣ п╠я▀п╩п╦ п©п╬п╪п╣я┤п╣п╫я▀
108 флагом down. 108 я└п╩п╟пЁп╬п╪ down.
109 </para> 109 </para>
110 <para lang="en"> 110 <para lang="en">
111 nginx hogged CPU if all servers in an upstream were marked as "down". 111 nginx hogged CPU if all servers in an upstream were marked as "down".
112 </para> 112 </para>
113 </change> 113 </change>
114 114
115 <change type="bugfix"> 115 <change type="bugfix">
116 <para lang="ru"> 116 <para lang="ru">
117 при переконфигурации мог произойти segmentation fault, 117 п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
118 если ssl_session_cache был определён, но не использовался в предыдущей 118 п╣я│п╩п╦ ssl_session_cache п╠я▀п╩ п╬п©я─п╣п╢п╣п╩я▒п╫, п╫п╬ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╡ п©я─п╣п╢я▀п╢я┐я┴п╣п╧
119 конфигурации. 119 п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
120 </para> 120 </para>
121 <para lang="en"> 121 <para lang="en">
122 a segmentation fault might occur during reconfiguration 122 a segmentation fault might occur during reconfiguration
123 if ssl_session_cache was defined but not used in previous configuration. 123 if ssl_session_cache was defined but not used in previous configuration.
124 </para> 124 </para>
125 </change> 125 </change>
126 126
127 <change type="bugfix"> 127 <change type="bugfix">
128 <para lang="ru"> 128 <para lang="ru">
129 при использовании большого количества backup-серверов 129 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╟ backup-я│п╣я─п╡п╣я─п╬п╡
130 в рабочем процессе мог произойти segmentation fault. 130 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
131 </para> 131 </para>
132 <para lang="en"> 132 <para lang="en">
133 a segmentation fault might occur in a worker process 133 a segmentation fault might occur in a worker process
134 if many backup servers were used in an upstream. 134 if many backup servers were used in an upstream.
135 </para> 135 </para>
136 </change> 136 </change>
137 137
138 <change type="bugfix"> 138 <change type="bugfix">
139 <para lang="ru"> 139 <para lang="ru">
140 при использовании директив fastcgi/scgi/uwsgi_param 140 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ fastcgi/scgi/uwsgi_param
141 со значением, начинающимся со строки "HTTP_", 141 я│п╬ п╥п╫п╟я┤п╣п╫п╦п╣п╪, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╪я│я▐ я│п╬ я│я┌я─п╬п╨п╦ "HTTP_",
142 в рабочем процессе мог произойти segmentation fault; 142 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
143 ошибка появилась в 0.8.40. 143 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.40.
144 </para> 144 </para>
145 <para lang="en"> 145 <para lang="en">
146 a segmentation fault might occur in a worker process 146 a segmentation fault might occur in a worker process
147 if "fastcgi/scgi/uwsgi_param" directives were used 147 if "fastcgi/scgi/uwsgi_param" directives were used
148 with values starting with "HTTP_"; 148 with values starting with "HTTP_";
155 155
156 <changes ver="1.1.0" date="01.08.2011"> 156 <changes ver="1.1.0" date="01.08.2011">
157 157
158 <change type="feature"> 158 <change type="feature">
159 <para lang="ru"> 159 <para lang="ru">
160 уменьшение времени работы загрузчика кэша. 160 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╦ я─п╟п╠п╬я┌я▀ п╥п╟пЁя─я┐п╥я┤п╦п╨п╟ п╨я█я┬п╟.
161 </para> 161 </para>
162 <para lang="en"> 162 <para lang="en">
163 cache loader run time decrease. 163 cache loader run time decrease.
164 </para> 164 </para>
165 </change> 165 </change>
166 166
167 <change type="feature"> 167 <change type="feature">
168 <para lang="ru"> 168 <para lang="ru">
169 параметры loader_files, loader_sleep и loader_threshold 169 п©п╟я─п╟п╪п╣я┌я─я▀ loader_files, loader_sleep п╦ loader_threshold
170 директив proxy/fastcgi/scgi/uwsgi_cache_path. 170 п╢п╦я─п╣п╨я┌п╦п╡ proxy/fastcgi/scgi/uwsgi_cache_path.
171 </para> 171 </para>
172 <para lang="en"> 172 <para lang="en">
173 "loader_files", "loader_sleep", and "loader_threshold" options 173 "loader_files", "loader_sleep", and "loader_threshold" options
174 of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. 174 of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives.
175 </para> 175 </para>
176 </change> 176 </change>
177 177
178 <change type="feature"> 178 <change type="feature">
179 <para lang="ru"> 179 <para lang="ru">
180 уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов. 180 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╦ п╥п╟пЁя─я┐п╥п╨п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╧ я│ п╠п╬п╩я▄я┬п╦п╪ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬п╪ HTTPS я│п╣я─п╡п╣я─п╬п╡.
181 </para> 181 </para>
182 <para lang="en"> 182 <para lang="en">
183 loading time decrease of configuration with large number of HTTPS sites. 183 loading time decrease of configuration with large number of HTTPS sites.
184 </para> 184 </para>
185 </change> 185 </change>
186 186
187 <change type="feature"> 187 <change type="feature">
188 <para lang="ru"> 188 <para lang="ru">
189 теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/> 189 я┌п╣п©п╣я─я▄ nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─я▀ я│ п╬п╠п╪п╣п╫п╬п╪ ECDHE-п╨п╩я▌я┤п╟п╪п╦.<br/>
190 Спасибо Adrian Kotelba. 190 п║п©п╟я│п╦п╠п╬ Adrian Kotelba.
191 </para> 191 </para>
192 <para lang="en"> 192 <para lang="en">
193 now nginx supports ECDHE key exchange ciphers.<br/> 193 now nginx supports ECDHE key exchange ciphers.<br/>
194 Thanks to Adrian Kotelba. 194 Thanks to Adrian Kotelba.
195 </para> 195 </para>
196 </change> 196 </change>
197 197
198 <change type="feature"> 198 <change type="feature">
199 <para lang="ru"> 199 <para lang="ru">
200 директива lingering_close.<br/> 200 п╢п╦я─п╣п╨я┌п╦п╡п╟ lingering_close.<br/>
201 Спасибо Максиму Дунину. 201 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
202 </para> 202 </para>
203 <para lang="en"> 203 <para lang="en">
204 the "lingering_close" directive.<br/> 204 the "lingering_close" directive.<br/>
205 Thanks to Maxim Dounin. 205 Thanks to Maxim Dounin.
206 </para> 206 </para>
207 </change> 207 </change>
208 208
209 <change type="bugfix"> 209 <change type="bugfix">
210 <para lang="ru"> 210 <para lang="ru">
211 закрытия соединения для pipelined-запросов.<br/> 211 п╥п╟п╨я─я▀я┌п╦я▐ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╢п╩я▐ pipelined-п╥п╟п©я─п╬я│п╬п╡.<br/>
212 Спасибо Максиму Дунину. 212 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
213 </para> 213 </para>
214 <para lang="en"> 214 <para lang="en">
215 in closing connection for pipelined requests.<br/> 215 in closing connection for pipelined requests.<br/>
216 Thanks to Maxim Dounin. 216 Thanks to Maxim Dounin.
217 </para> 217 </para>
218 </change> 218 </change>
219 219
220 <change type="bugfix"> 220 <change type="bugfix">
221 <para lang="ru"> 221 <para lang="ru">
222 nginx не запрещал сжатие при получении значения "gzip;q=0" 222 nginx п╫п╣ п╥п╟п©я─п╣я┴п╟п╩ я│п╤п╟я┌п╦п╣ п©я─п╦ п©п╬п╩я┐я┤п╣п╫п╦п╦ п╥п╫п╟я┤п╣п╫п╦я▐ "gzip;q=0"
223 в строке "Accept-Encoding" в заголовке запроса клиента. 223 п╡ я│я┌я─п╬п╨п╣ "Accept-Encoding" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟.
224 </para> 224 </para>
225 <para lang="en"> 225 <para lang="en">
226 nginx did not disable gzipping if client sent "gzip;q=0" in 226 nginx did not disable gzipping if client sent "gzip;q=0" in
227 "Accept-Encoding" request header line. 227 "Accept-Encoding" request header line.
228 </para> 228 </para>
229 </change> 229 </change>
230 230
231 <change type="bugfix"> 231 <change type="bugfix">
232 <para lang="ru"> 232 <para lang="ru">
233 таймаута при небуферизированном проксировании.<br/> 233 я┌п╟п╧п╪п╟я┐я┌п╟ п©я─п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫п╬п╪ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦.<br/>
234 Спасибо Максиму Дунину. 234 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
235 </para> 235 </para>
236 <para lang="en"> 236 <para lang="en">
237 in timeout in unbuffered proxied mode.<br/> 237 in timeout in unbuffered proxied mode.<br/>
238 Thanks to Maxim Dounin. 238 Thanks to Maxim Dounin.
239 </para> 239 </para>
240 </change> 240 </change>
241 241
242 <change type="bugfix"> 242 <change type="bugfix">
243 <para lang="ru"> 243 <para lang="ru">
244 утечки памяти при использовании переменных в директиве proxy_pass 244 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass
245 при работе с бэкендом по HTTPS.<br/> 245 п©я─п╦ я─п╟п╠п╬я┌п╣ я│ п╠я█п╨п╣п╫п╢п╬п╪ п©п╬ HTTPS.<br/>
246 Спасибо Максиму Дунину. 246 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
247 </para> 247 </para>
248 <para lang="en"> 248 <para lang="en">
249 memory leaks when a "proxy_pass" directive contains variables and proxies 249 memory leaks when a "proxy_pass" directive contains variables and proxies
250 to an HTTPS backend.<br/> 250 to an HTTPS backend.<br/>
251 Thanks to Maxim Dounin. 251 Thanks to Maxim Dounin.
252 </para> 252 </para>
253 </change> 253 </change>
254 254
255 <change type="bugfix"> 255 <change type="bugfix">
256 <para lang="ru"> 256 <para lang="ru">
257 в проверке параметра директивы proxy_pass, заданного переменными.<br/> 257 п╡ п©я─п╬п╡п╣я─п╨п╣ п©п╟я─п╟п╪п╣я┌я─п╟ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass, п╥п╟п╢п╟п╫п╫п╬пЁп╬ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦.<br/>
258 Спасибо Lanshun Zhou. 258 п║п©п╟я│п╦п╠п╬ Lanshun Zhou.
259 </para> 259 </para>
260 <para lang="en"> 260 <para lang="en">
261 in parameter validaiton of a "proxy_pass" directive with variables.<br/> 261 in parameter validaiton of a "proxy_pass" directive with variables.<br/>
262 Thanks to Lanshun Zhou. 262 Thanks to Lanshun Zhou.
263 </para> 263 </para>
264 </change> 264 </change>
265 265
266 <change type="bugfix"> 266 <change type="bugfix">
267 <para lang="ru"> 267 <para lang="ru">
268 SSL не работал на QNX.<br/> 268 SSL п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ QNX.<br/>
269 Спасибо Максиму Дунину. 269 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
270 </para> 270 </para>
271 <para lang="en"> 271 <para lang="en">
272 SSL did not work on QNX.<br/> 272 SSL did not work on QNX.<br/>
273 Thanks to Maxim Dounin. 273 Thanks to Maxim Dounin.
274 </para> 274 </para>
275 </change> 275 </change>
276 276
277 <change type="bugfix"> 277 <change type="bugfix">
278 <para lang="ru"> 278 <para lang="ru">
279 SSL модули не собирались gcc 4.6 без параметра --with-debug. 279 SSL п╪п╬п╢я┐п╩п╦ п╫п╣ я│п╬п╠п╦я─п╟п╩п╦я│я▄ gcc 4.6 п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug.
280 </para> 280 </para>
281 <para lang="en"> 281 <para lang="en">
282 SSL modules could not be built by gcc 4.6 without --with-debug option. 282 SSL modules could not be built by gcc 4.6 without --with-debug option.
283 </para> 283 </para>
284 </change> 284 </change>
288 288
289 <changes ver="1.0.5" date="19.07.2011"> 289 <changes ver="1.0.5" date="19.07.2011">
290 290
291 <change type="change"> 291 <change type="change">
292 <para lang="ru"> 292 <para lang="ru">
293 теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/> 293 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL: "HIGH:!aNULL:!MD5".<br/>
294 Спасибо Rob Stradling. 294 п║п©п╟я│п╦п╠п╬ Rob Stradling.
295 </para> 295 </para>
296 <para lang="en"> 296 <para lang="en">
297 now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/> 297 now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/>
298 Thanks to Rob Stradling. 298 Thanks to Rob Stradling.
299 </para> 299 </para>
300 </change> 300 </change>
301 301
302 <change type="feature"> 302 <change type="feature">
303 <para lang="ru"> 303 <para lang="ru">
304 директивы referer_hash_max_size и referer_hash_bucket_size.<br/> 304 п╢п╦я─п╣п╨я┌п╦п╡я▀ referer_hash_max_size п╦ referer_hash_bucket_size.<br/>
305 Спасибо Witold Filipczyk. 305 п║п©п╟я│п╦п╠п╬ Witold Filipczyk.
306 </para> 306 </para>
307 <para lang="en"> 307 <para lang="en">
308 the "referer_hash_max_size" and "referer_hash_bucket_size" 308 the "referer_hash_max_size" and "referer_hash_bucket_size"
309 directives.<br/> 309 directives.<br/>
310 Thanks to Witold Filipczyk. 310 Thanks to Witold Filipczyk.
311 </para> 311 </para>
312 </change> 312 </change>
313 313
314 <change type="feature"> 314 <change type="feature">
315 <para lang="ru"> 315 <para lang="ru">
316 переменная $uid_reset. 316 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $uid_reset.
317 </para> 317 </para>
318 <para lang="en"> 318 <para lang="en">
319 $uid_reset variable. 319 $uid_reset variable.
320 </para> 320 </para>
321 </change> 321 </change>
322 322
323 <change type="bugfix"> 323 <change type="bugfix">
324 <para lang="ru"> 324 <para lang="ru">
325 при использовании кэширования 325 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐
326 в рабочем процессе мог произойти segmentation fault.<br/> 326 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
327 Спасибо Lanshun Zhou. 327 п║п©п╟я│п╦п╠п╬ Lanshun Zhou.
328 </para> 328 </para>
329 <para lang="en"> 329 <para lang="en">
330 a segmentation fault might occur in a worker process, 330 a segmentation fault might occur in a worker process,
331 if a caching was used.<br/> 331 if a caching was used.<br/>
332 Thanks to Lanshun Zhou. 332 Thanks to Lanshun Zhou.
333 </para> 333 </para>
334 </change> 334 </change>
335 335
336 <change type="bugfix"> 336 <change type="bugfix">
337 <para lang="ru"> 337 <para lang="ru">
338 при использовании кэширования рабочие процессы 338 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀
339 могли зациклиться во время переконфигурации; 339 п╪п╬пЁп╩п╦ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
340 ошибка появилась в 0.8.48.<br/> 340 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.<br/>
341 Спасибо Максиму Дунину. 341 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
342 </para> 342 </para>
343 <para lang="en"> 343 <para lang="en">
344 worker processes may got caught in an endless loop during reconfiguration, 344 worker processes may got caught in an endless loop during reconfiguration,
345 if a caching was used; 345 if a caching was used;
346 the bug had appeared in 0.8.48.<br/> 346 the bug had appeared in 0.8.48.<br/>
348 </para> 348 </para>
349 </change> 349 </change>
350 350
351 <change type="bugfix"> 351 <change type="bugfix">
352 <para lang="ru"> 352 <para lang="ru">
353 сообщения "stalled cache updating".<br/> 353 я│п╬п╬п╠я┴п╣п╫п╦я▐ "stalled cache updating".<br/>
354 Спасибо Максиму Дунину. 354 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
355 </para> 355 </para>
356 <para lang="en"> 356 <para lang="en">
357 "stalled cache updating" alert.<br/> 357 "stalled cache updating" alert.<br/>
358 Thanks to Maxim Dounin. 358 Thanks to Maxim Dounin.
359 </para> 359 </para>
364 364
365 <changes ver="1.0.4" date="01.06.2011"> 365 <changes ver="1.0.4" date="01.06.2011">
366 366
367 <change type="change"> 367 <change type="change">
368 <para lang="ru"> 368 <para lang="ru">
369 теперь в регулярных выражениях в директиве map можно задать 369 я┌п╣п©п╣я─я▄ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ map п╪п╬п╤п╫п╬ п╥п╟п╢п╟я┌я▄
370 чувствительность к регистру с помощью префиксов "~" и "~*". 370 я┤я┐п╡я│я┌п╡п╦я┌п╣п╩я▄п╫п╬я│я┌я▄ п╨ я─п╣пЁп╦я│я┌я─я┐ я│ п©п╬п╪п╬я┴я▄я▌ п©я─п╣я└п╦п╨я│п╬п╡ "~" п╦ "~*".
371 </para> 371 </para>
372 <para lang="en"> 372 <para lang="en">
373 now regular expressions case sensitivity in the "map" directive 373 now regular expressions case sensitivity in the "map" directive
374 is given by prefixes "~" or "~*". 374 is given by prefixes "~" or "~*".
375 </para> 375 </para>
376 </change> 376 </change>
377 377
378 <change type="feature"> 378 <change type="feature">
379 <para lang="ru"> 379 <para lang="ru">
380 теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/> 380 я┌п╣п©п╣я─я▄ я─п╟п╥п╢п╣п╩я▐п╣п╪я▀п╣ п╥п╬п╫я▀ п╦ п╨я█я┬п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я│п╣п╪п╟я└п╬я─я▀ POSIX п╫п╟ Linux.<br/>
381 Спасибо Денису Латыпову. 381 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
382 </para> 382 </para>
383 <para lang="en"> 383 <para lang="en">
384 now shared zones and caches use POSIX semaphores on Linux.<br/> 384 now shared zones and caches use POSIX semaphores on Linux.<br/>
385 Thanks to Denis F. Latypoff. 385 Thanks to Denis F. Latypoff.
386 </para> 386 </para>
387 </change> 387 </change>
388 388
389 <change type="bugfix"> 389 <change type="bugfix">
390 <para lang="ru"> 390 <para lang="ru">
391 сообщения "stalled cache updating". 391 я│п╬п╬п╠я┴п╣п╫п╦я▐ "stalled cache updating".
392 </para> 392 </para>
393 <para lang="en"> 393 <para lang="en">
394 "stalled cache updating" alert. 394 "stalled cache updating" alert.
395 </para> 395 </para>
396 </change> 396 </change>
397 397
398 <change type="bugfix"> 398 <change type="bugfix">
399 <para lang="ru"> 399 <para lang="ru">
400 nginx не собирался с параметром --without-http_auth_basic_module; 400 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_auth_basic_module;
401 ошибка появилась в 1.0.3. 401 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 1.0.3.
402 </para> 402 </para>
403 <para lang="en"> 403 <para lang="en">
404 nginx could not be built --without-http_auth_basic_module; 404 nginx could not be built --without-http_auth_basic_module;
405 the bug had appeared in 1.0.3. 405 the bug had appeared in 1.0.3.
406 </para> 406 </para>
411 411
412 <changes ver="1.0.3" date="25.05.2011"> 412 <changes ver="1.0.3" date="25.05.2011">
413 413
414 <change type="feature"> 414 <change type="feature">
415 <para lang="ru"> 415 <para lang="ru">
416 директива auth_basic_user_file поддерживает шифрование пароля 416 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic_user_file п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─п╬п╡п╟п╫п╦п╣ п©п╟я─п╬п╩я▐
417 методами "$apr1", "{PLAIN}" и "{SSHA}".<br/> 417 п╪п╣я┌п╬п╢п╟п╪п╦ "$apr1", "{PLAIN}" п╦ "{SSHA}".<br/>
418 Спасибо Максиму Дунину. 418 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
419 </para> 419 </para>
420 <para lang="en"> 420 <para lang="en">
421 the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", 421 the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}",
422 and "{SSHA}" password encryption methods.<br/> 422 and "{SSHA}" password encryption methods.<br/>
423 Thanks to Maxim Dounin. 423 Thanks to Maxim Dounin.
424 </para> 424 </para>
425 </change> 425 </change>
426 426
427 <change type="feature"> 427 <change type="feature">
428 <para lang="ru"> 428 <para lang="ru">
429 директива geoip_org и переменная $geoip_org.<br/> 429 п╢п╦я─п╣п╨я┌п╦п╡п╟ geoip_org п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $geoip_org.<br/>
430 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 430 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ пёя│п╨п╬п╡я┐, Arnaud Granal п╦ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
431 </para> 431 </para>
432 <para lang="en"> 432 <para lang="en">
433 the "geoip_org" directive and $geoip_org variable.<br/> 433 the "geoip_org" directive and $geoip_org variable.<br/>
434 Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. 434 Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
435 </para> 435 </para>
436 </change> 436 </change>
437 437
438 <change type="feature"> 438 <change type="feature">
439 <para lang="ru"> 439 <para lang="ru">
440 модули ngx_http_geo_module и ngx_http_geoip_module поддерживают 440 п╪п╬п╢я┐п╩п╦ ngx_http_geo_module п╦ ngx_http_geoip_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌
441 адреса IPv4, отображённые на IPv6 адреса. 441 п╟п╢я─п╣я│п╟ IPv4, п╬я┌п╬п╠я─п╟п╤я▒п╫п╫я▀п╣ п╫п╟ IPv6 п╟п╢я─п╣я│п╟.
442 </para> 442 </para>
443 <para lang="en"> 443 <para lang="en">
444 ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses 444 ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses
445 mapped to IPv6 addresses. 445 mapped to IPv6 addresses.
446 </para> 446 </para>
447 </change> 447 </change>
448 448
449 <change type="bugfix"> 449 <change type="bugfix">
450 <para lang="ru"> 450 <para lang="ru">
451 при проверке адреса IPv4, отображённого на адрес IPv6, 451 п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╟п╢я─п╣я│п╟ IPv4, п╬я┌п╬п╠я─п╟п╤я▒п╫п╫п╬пЁп╬ п╫п╟ п╟п╢я─п╣я│ IPv6,
452 в рабочем процессе происходил segmentation fault, 452 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
453 если директивы access или deny были определены только для адресов IPv6; 453 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ access п╦п╩п╦ deny п╠я▀п╩п╦ п╬п©я─п╣п╢п╣п╩п╣п╫я▀ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п╟п╢я─п╣я│п╬п╡ IPv6;
454 ошибка появилась в 0.8.22. 454 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.
455 </para> 455 </para>
456 <para lang="en"> 456 <para lang="en">
457 a segmentation fault occurred in a worker process 457 a segmentation fault occurred in a worker process
458 during testing IPv4 address mapped to IPv6 address, 458 during testing IPv4 address mapped to IPv6 address,
459 if access or deny rules were defined only for IPv6; 459 if access or deny rules were defined only for IPv6;
461 </para> 461 </para>
462 </change> 462 </change>
463 463
464 <change type="bugfix"> 464 <change type="bugfix">
465 <para lang="ru"> 465 <para lang="ru">
466 закэшированный ответ мог быть испорчен, если значения директив 466 п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╧ п╬я┌п╡п╣я┌ п╪п╬пЁ п╠я▀я┌я▄ п╦я│п©п╬я─я┤п╣п╫, п╣я│п╩п╦ п╥п╫п╟я┤п╣п╫п╦я▐ п╢п╦я─п╣п╨я┌п╦п╡
467 proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache 467 proxy/fastcgi/scgi/uwsgi_cache_bypass п╦ proxy/fastcgi/scgi/ uwsgi_no_cache
468 были разными; 468 п╠я▀п╩п╦ я─п╟п╥п╫я▀п╪п╦;
469 ошибка появилась в 0.8.46. 469 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
470 </para> 470 </para>
471 <para lang="en"> 471 <para lang="en">
472 a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass" 472 a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass"
473 and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different; 473 and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different;
474 the bug had appeared in 0.8.46. 474 the bug had appeared in 0.8.46.
480 480
481 <changes ver="1.0.2" date="10.05.2011"> 481 <changes ver="1.0.2" date="10.05.2011">
482 482
483 <change type="feature"> 483 <change type="feature">
484 <para lang="ru"> 484 <para lang="ru">
485 теперь разделяемые зоны и кэши используют семафоры POSIX. 485 я┌п╣п©п╣я─я▄ я─п╟п╥п╢п╣п╩я▐п╣п╪я▀п╣ п╥п╬п╫я▀ п╦ п╨я█я┬п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я│п╣п╪п╟я└п╬я─я▀ POSIX.
486 </para> 486 </para>
487 <para lang="en"> 487 <para lang="en">
488 now shared zones and caches use POSIX semaphores. 488 now shared zones and caches use POSIX semaphores.
489 </para> 489 </para>
490 </change> 490 </change>
491 491
492 <change type="bugfix"> 492 <change type="bugfix">
493 <para lang="ru"> 493 <para lang="ru">
494 в работе параметра rotate директивы image_filter.<br/> 494 п╡ я─п╟п╠п╬я┌п╣ п©п╟я─п╟п╪п╣я┌я─п╟ rotate п╢п╦я─п╣п╨я┌п╦п╡я▀ image_filter.<br/>
495 Спасибо Adam Bocim. 495 п║п©п╟я│п╦п╠п╬ Adam Bocim.
496 </para> 496 </para>
497 <para lang="en"> 497 <para lang="en">
498 in the "rotate" parameter of the "image_filter" directive.<br/> 498 in the "rotate" parameter of the "image_filter" directive.<br/>
499 Thanks to Adam Bocim. 499 Thanks to Adam Bocim.
500 </para> 500 </para>
501 </change> 501 </change>
502 502
503 <change type="bugfix"> 503 <change type="bugfix">
504 <para lang="ru"> 504 <para lang="ru">
505 nginx не собирался на Solaris; 505 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris;
506 ошибка появилась в 1.0.1. 506 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 1.0.1.
507 </para> 507 </para>
508 <para lang="en"> 508 <para lang="en">
509 nginx could not be built on Solaris; 509 nginx could not be built on Solaris;
510 the bug had appeared in 1.0.1. 510 the bug had appeared in 1.0.1.
511 </para> 511 </para>
516 516
517 <changes ver="1.0.1" date="03.05.2011"> 517 <changes ver="1.0.1" date="03.05.2011">
518 518
519 <change type="change"> 519 <change type="change">
520 <para lang="ru"> 520 <para lang="ru">
521 теперь директива split_clients использует алгоритм MurmurHash2 из-за 521 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ split_clients п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╟п╩пЁп╬я─п╦я┌п╪ MurmurHash2 п╦п╥-п╥п╟
522 лучшего распределения.<br/> 522 п╩я┐я┤я┬п╣пЁп╬ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦я▐.<br/>
523 Спасибо Олегу Мамонтову. 523 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╟п╪п╬п╫я┌п╬п╡я┐.
524 </para> 524 </para>
525 <para lang="en"> 525 <para lang="en">
526 now the "split_clients" directive uses MurmurHash2 algorithm because 526 now the "split_clients" directive uses MurmurHash2 algorithm because
527 of better distribution.<br/> 527 of better distribution.<br/>
528 Thanks to Oleg Mamontov. 528 Thanks to Oleg Mamontov.
529 </para> 529 </para>
530 </change> 530 </change>
531 531
532 <change type="change"> 532 <change type="change">
533 <para lang="ru"> 533 <para lang="ru">
534 теперь длинные строки, начинающиеся с нуля, не считаются ложными 534 я┌п╣п©п╣я─я▄ п╢п╩п╦п╫п╫я▀п╣ я│я┌я─п╬п╨п╦, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ я│ п╫я┐п╩я▐, п╫п╣ я│я┤п╦я┌п╟я▌я┌я│я▐ п╩п╬п╤п╫я▀п╪п╦
535 значениями.<br/> 535 п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦.<br/>
536 Спасибо Максиму Дунину. 536 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
537 </para> 537 </para>
538 <para lang="en"> 538 <para lang="en">
539 now long strings starting with zero are not considered as false values.<br/> 539 now long strings starting with zero are not considered as false values.<br/>
540 Thanks to Maxim Dounin. 540 Thanks to Maxim Dounin.
541 </para> 541 </para>
542 </change> 542 </change>
543 543
544 <change type="change"> 544 <change type="change">
545 <para lang="ru"> 545 <para lang="ru">
546 теперь по умолчанию nginx использует значение 511 для listen backlog на Linux. 546 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ 511 п╢п╩я▐ listen backlog п╫п╟ Linux.
547 </para> 547 </para>
548 <para lang="en"> 548 <para lang="en">
549 now nginx uses a default listen backlog value 511 on Linux. 549 now nginx uses a default listen backlog value 511 on Linux.
550 </para> 550 </para>
551 </change> 551 </change>
552 552
553 <change type="feature"> 553 <change type="feature">
554 <para lang="ru"> 554 <para lang="ru">
555 переменные $upstream_... можно использовать в SSI и перловом модулях. 555 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $upstream_... п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡ SSI п╦ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩я▐я┘.
556 </para> 556 </para>
557 <para lang="en"> 557 <para lang="en">
558 the $upstream_... variables may be used in the SSI and perl modules. 558 the $upstream_... variables may be used in the SSI and perl modules.
559 </para> 559 </para>
560 </change> 560 </change>
561 561
562 <change type="bugfix"> 562 <change type="bugfix">
563 <para lang="ru"> 563 <para lang="ru">
564 теперь nginx лучше ограничивает размер кэша на диске.<br/> 564 я┌п╣п©п╣я─я▄ nginx п╩я┐я┤я┬п╣ п╬пЁя─п╟п╫п╦я┤п╦п╡п╟п╣я┌ я─п╟п╥п╪п╣я─ п╨я█я┬п╟ п╫п╟ п╢п╦я│п╨п╣.<br/>
565 Спасибо Олегу Мамонтову. 565 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╟п╪п╬п╫я┌п╬п╡я┐.
566 </para> 566 </para>
567 <para lang="en"> 567 <para lang="en">
568 now nginx limits better disk cache size.<br/> 568 now nginx limits better disk cache size.<br/>
569 Thanks to Oleg Mamontov. 569 Thanks to Oleg Mamontov.
570 </para> 570 </para>
571 </change> 571 </change>
572 572
573 <change type="bugfix"> 573 <change type="bugfix">
574 <para lang="ru"> 574 <para lang="ru">
575 при парсинге неправильного IPv4 адреса мог произойти segmentation fault; 575 п©я─п╦ п©п╟я─я│п╦п╫пЁп╣ п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ IPv4 п╟п╢я─п╣я│п╟ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
576 ошибка появилась в 0.8.22.<br/> 576 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.<br/>
577 Спасибо Максиму Дунину. 577 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
578 </para> 578 </para>
579 <para lang="en"> 579 <para lang="en">
580 a segmentation fault might occur while parsing incorrect IPv4 address; 580 a segmentation fault might occur while parsing incorrect IPv4 address;
581 the bug had appeared in 0.9.3.<br/> 581 the bug had appeared in 0.9.3.<br/>
582 Thanks to Maxim Dounin. 582 Thanks to Maxim Dounin.
583 </para> 583 </para>
584 </change> 584 </change>
585 585
586 <change type="bugfix"> 586 <change type="bugfix">
587 <para lang="ru"> 587 <para lang="ru">
588 nginx не собирался gcc 4.6 без параметра --with-debug. 588 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ gcc 4.6 п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug.
589 </para> 589 </para>
590 <para lang="en"> 590 <para lang="en">
591 nginx could not be built by gcc 4.6 without --with-debug option. 591 nginx could not be built by gcc 4.6 without --with-debug option.
592 </para> 592 </para>
593 </change> 593 </change>
594 594
595 <change type="bugfix"> 595 <change type="bugfix">
596 <para lang="ru"> 596 <para lang="ru">
597 nginx не собирался на Solaris 9 и более ранних; 597 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris 9 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
598 ошибка появилась в 0.9.3.<br/> 598 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.3.<br/>
599 Спасибо Dagobert Michelsen. 599 п║п©п╟я│п╦п╠п╬ Dagobert Michelsen.
600 </para> 600 </para>
601 <para lang="en"> 601 <para lang="en">
602 nginx could not be built on Solaris 9 and earlier; 602 nginx could not be built on Solaris 9 and earlier;
603 the bug had appeared in 0.9.3.<br/> 603 the bug had appeared in 0.9.3.<br/>
604 Thanks to Dagobert Michelsen. 604 Thanks to Dagobert Michelsen.
605 </para> 605 </para>
606 </change> 606 </change>
607 607
608 <change type="bugfix"> 608 <change type="bugfix">
609 <para lang="ru"> 609 <para lang="ru">
610 переменная $request_time имела неверные значения, если использовались 610 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_time п╦п╪п╣п╩п╟ п╫п╣п╡п╣я─п╫я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄
611 подзапросы; 611 п©п╬п╢п╥п╟п©я─п╬я│я▀;
612 ошибка появилась в 0.8.47.<br/> 612 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.47.<br/>
613 Спасибо Игорю А. Валькову. 613 п║п©п╟я│п╦п╠п╬ п≤пЁп╬я─я▌ п░. п▓п╟п╩я▄п╨п╬п╡я┐.
614 </para> 614 </para>
615 <para lang="en"> 615 <para lang="en">
616 $request_time variable had invalid values if subrequests were used; 616 $request_time variable had invalid values if subrequests were used;
617 the bug had appeared in 0.8.47.<br/> 617 the bug had appeared in 0.8.47.<br/>
618 Thanks to Igor A. Valcov. 618 Thanks to Igor A. Valcov.
624 624
625 <changes ver="1.0.0" date="12.04.2011"> 625 <changes ver="1.0.0" date="12.04.2011">
626 626
627 <change type="bugfix"> 627 <change type="bugfix">
628 <para lang="ru"> 628 <para lang="ru">
629 cache manager мог нагружать процессор после переконфигурации.<br/> 629 cache manager п╪п╬пЁ п╫п╟пЁя─я┐п╤п╟я┌я▄ п©я─п╬я├п╣я│я│п╬я─ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
630 Спасибо Максиму Дунину. 630 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
631 </para> 631 </para>
632 <para lang="en"> 632 <para lang="en">
633 a cache manager might hog CPU after reload.<br/> 633 a cache manager might hog CPU after reload.<br/>
634 Thanks to Maxim Dounin. 634 Thanks to Maxim Dounin.
635 </para> 635 </para>
636 </change> 636 </change>
637 637
638 <change type="bugfix"> 638 <change type="bugfix">
639 <para lang="ru"> 639 <para lang="ru">
640 директива "image_filter crop" неправильно работала в сочетании с 640 п╢п╦я─п╣п╨я┌п╦п╡п╟ "image_filter crop" п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟ п╡ я│п╬я┤п╣я┌п╟п╫п╦п╦ я│
641 "image_filter rotate 180". 641 "image_filter rotate 180".
642 </para> 642 </para>
643 <para lang="en"> 643 <para lang="en">
644 an "image_filter crop" directive worked incorrectly coupled with 644 an "image_filter crop" directive worked incorrectly coupled with
645 an "image_filter rotate 180" directive. 645 an "image_filter rotate 180" directive.
646 </para> 646 </para>
647 </change> 647 </change>
648 648
649 <change type="bugfix"> 649 <change type="bugfix">
650 <para lang="ru"> 650 <para lang="ru">
651 директива "satisfy any" запрещала выдачу пользовательской страницы 651 п╢п╦я─п╣п╨я┌п╦п╡п╟ "satisfy any" п╥п╟п©я─п╣я┴п╟п╩п╟ п╡я▀п╢п╟я┤я┐ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄я│п╨п╬п╧ я│я┌я─п╟п╫п╦я├я▀
652 для 401 кода. 652 п╢п╩я▐ 401 п╨п╬п╢п╟.
653 </para> 653 </para>
654 <para lang="en"> 654 <para lang="en">
655 a "satisfy any" directive disabled custom 401 error page. 655 a "satisfy any" directive disabled custom 401 error page.
656 </para> 656 </para>
657 </change> 657 </change>
661 661
662 <changes ver="0.9.7" date="04.04.2011"> 662 <changes ver="0.9.7" date="04.04.2011">
663 663
664 <change type="feature"> 664 <change type="feature">
665 <para lang="ru"> 665 <para lang="ru">
666 теперь соединения в состоянии keepalive могут быть закрыты преждевременно, 666 я┌п╣п©п╣я─я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ keepalive п╪п╬пЁя┐я┌ п╠я▀я┌я▄ п╥п╟п╨я─я▀я┌я▀ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬,
667 если у воркера нет свободных соединений.<br/> 667 п╣я│п╩п╦ я┐ п╡п╬я─п╨п╣я─п╟ п╫п╣я┌ я│п╡п╬п╠п╬п╢п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧.<br/>
668 Спасибо Максиму Дунину. 668 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
669 </para> 669 </para>
670 <para lang="en"> 670 <para lang="en">
671 now keepalive connections may be closed premature, 671 now keepalive connections may be closed premature,
672 if there are no free worker connections.<br/> 672 if there are no free worker connections.<br/>
673 Thanks to Maxim Dounin. 673 Thanks to Maxim Dounin.
674 </para> 674 </para>
675 </change> 675 </change>
676 676
677 <change type="feature"> 677 <change type="feature">
678 <para lang="ru"> 678 <para lang="ru">
679 параметр rotate директивы image_filter.<br/> 679 п©п╟я─п╟п╪п╣я┌я─ rotate п╢п╦я─п╣п╨я┌п╦п╡я▀ image_filter.<br/>
680 Спасибо Adam Bocim. 680 п║п©п╟я│п╦п╠п╬ Adam Bocim.
681 </para> 681 </para>
682 <para lang="en"> 682 <para lang="en">
683 the "rotate" parameter of the "image_filter" directive.<br/> 683 the "rotate" parameter of the "image_filter" directive.<br/>
684 Thanks to Adam Bocim. 684 Thanks to Adam Bocim.
685 </para> 685 </para>
686 </change> 686 </change>
687 687
688 <change type="bugfix"> 688 <change type="bugfix">
689 <para lang="ru"> 689 <para lang="ru">
690 ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass 690 я│п╦я┌я┐п╟я├п╦п╦, п╨п╬пЁп╢п╟ п╠я█п╨п╣п╫п╢ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ fastcgi_pass, scgi_pass п╦п╩п╦ uwsgi_pass
691 задан выражением и ссылается на описанный upstream. 691 п╥п╟п╢п╟п╫ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪ п╦ я│я│я▀п╩п╟п╣я┌я│я▐ п╫п╟ п╬п©п╦я│п╟п╫п╫я▀п╧ upstream.
692 </para> 692 </para>
693 <para lang="en"> 693 <para lang="en">
694 a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass" 694 a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass"
695 directives is given by expression and refers to a defined upstream. 695 directives is given by expression and refers to a defined upstream.
696 </para> 696 </para>
701 701
702 <changes ver="0.9.6" date="21.03.2011"> 702 <changes ver="0.9.6" date="21.03.2011">
703 703
704 <change type="feature"> 704 <change type="feature">
705 <para lang="ru"> 705 <para lang="ru">
706 директива map поддерживает регулярные выражения в качестве значения 706 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐
707 первого параметра. 707 п©п╣я─п╡п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟.
708 </para> 708 </para>
709 <para lang="en"> 709 <para lang="en">
710 the "map" directive supports regular expressions as value of the first 710 the "map" directive supports regular expressions as value of the first
711 parameter. 711 parameter.
712 </para> 712 </para>
713 </change> 713 </change>
714 714
715 <change type="feature"> 715 <change type="feature">
716 <para lang="ru"> 716 <para lang="ru">
717 переменная $time_iso8601 для access_log.<br/> 717 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $time_iso8601 п╢п╩я▐ access_log.<br/>
718 Спасибо Michael Lustfield. 718 п║п©п╟я│п╦п╠п╬ Michael Lustfield.
719 </para> 719 </para>
720 <para lang="en"> 720 <para lang="en">
721 $time_iso8601 access_log variable.<br/> 721 $time_iso8601 access_log variable.<br/>
722 Thanks to Michael Lustfield. 722 Thanks to Michael Lustfield.
723 </para> 723 </para>
728 728
729 <changes ver="0.9.5" date="21.02.2011"> 729 <changes ver="0.9.5" date="21.02.2011">
730 730
731 <change type="change"> 731 <change type="change">
732 <para lang="ru"> 732 <para lang="ru">
733 теперь по умолчанию nginx использует значение -1 для listen backlog 733 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ -1 п╢п╩я▐ listen backlog
734 на Linux.<br/> 734 п╫п╟ Linux.<br/>
735 Спасибо Андрею Нигматулину. 735 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
736 </para> 736 </para>
737 <para lang="en"> 737 <para lang="en">
738 now nginx uses a default listen backlog value -1 on Linux.<br/> 738 now nginx uses a default listen backlog value -1 on Linux.<br/>
739 Thanks to Andrei Nigmatulin. 739 Thanks to Andrei Nigmatulin.
740 </para> 740 </para>
741 </change> 741 </change>
742 742
743 <change type="feature"> 743 <change type="feature">
744 <para lang="ru"> 744 <para lang="ru">
745 параметр utf8 в директивах geoip_country и geoip_city.<br/> 745 п©п╟я─п╟п╪п╣я┌я─ utf8 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ geoip_country п╦ geoip_city.<br/>
746 Спасибо Денису Латыпову. 746 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
747 </para> 747 </para>
748 <para lang="en"> 748 <para lang="en">
749 the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/> 749 the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/>
750 Thanks to Denis F. Latypoff. 750 Thanks to Denis F. Latypoff.
751 </para> 751 </para>
752 </change> 752 </change>
753 753
754 <change type="bugfix"> 754 <change type="bugfix">
755 <para lang="ru"> 755 <para lang="ru">
756 исправление в умолчательной директиве proxy_redirect, если в директиве 756 п╦я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╡ я┐п╪п╬п╩я┤п╟я┌п╣п╩я▄п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_redirect, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣
757 proxy_pass не был описан URI.<br/> 757 proxy_pass п╫п╣ п╠я▀п╩ п╬п©п╦я│п╟п╫ URI.<br/>
758 Спасибо Максиму Дунину. 758 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
759 </para> 759 </para>
760 <para lang="en"> 760 <para lang="en">
761 in a default "proxy_redirect" directive if "proxy_pass" directive has no 761 in a default "proxy_redirect" directive if "proxy_pass" directive has no
762 URI part.<br/> 762 URI part.<br/>
763 Thanks to Maxim Dounin. 763 Thanks to Maxim Dounin.
764 </para> 764 </para>
765 </change> 765 </change>
766 766
767 <change type="bugfix"> 767 <change type="bugfix">
768 <para lang="ru"> 768 <para lang="ru">
769 директива error_page не работала с нестандартными кодами ошибок; 769 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п╫п╣я│я┌п╟п╫п╢п╟я─я┌п╫я▀п╪п╦ п╨п╬п╢п╟п╪п╦ п╬я┬п╦п╠п╬п╨;
770 ошибка появилась в 0.8.53.<br/> 770 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.53.<br/>
771 Спасибо Максиму Дунину. 771 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
772 </para> 772 </para>
773 <para lang="en"> 773 <para lang="en">
774 an "error_page" directive did not work with nonstandard error codes; 774 an "error_page" directive did not work with nonstandard error codes;
775 the bug had appeared in 0.8.53.<br/> 775 the bug had appeared in 0.8.53.<br/>
776 Thanks to Maxim Dounin. 776 Thanks to Maxim Dounin.
782 782
783 <changes ver="0.9.4" date="21.01.2011"> 783 <changes ver="0.9.4" date="21.01.2011">
784 784
785 <change type="feature"> 785 <change type="feature">
786 <para lang="ru"> 786 <para lang="ru">
787 директива server_name поддерживает переменную $hostname. 787 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $hostname.
788 </para> 788 </para>
789 <para lang="en"> 789 <para lang="en">
790 the "server_name" directive supports the $hostname variable. 790 the "server_name" directive supports the $hostname variable.
791 </para> 791 </para>
792 </change> 792 </change>
793 793
794 <change type="feature"> 794 <change type="feature">
795 <para lang="ru"> 795 <para lang="ru">
796 494 код для ошибки "Request Header Too Large". 796 494 п╨п╬п╢ п╢п╩я▐ п╬я┬п╦п╠п╨п╦ "Request Header Too Large".
797 </para> 797 </para>
798 <para lang="en"> 798 <para lang="en">
799 494 code for "Request Header Too Large" error. 799 494 code for "Request Header Too Large" error.
800 </para> 800 </para>
801 </change> 801 </change>
805 805
806 <changes ver="0.9.3" date="13.12.2010"> 806 <changes ver="0.9.3" date="13.12.2010">
807 807
808 <change type="bugfix"> 808 <change type="bugfix">
809 <para lang="ru"> 809 <para lang="ru">
810 если для пары IPv6-адрес:порт описан только один сервер, то выделения 810 п╣я│п╩п╦ п╢п╩я▐ п©п╟я─я▀ IPv6-п╟п╢я─п╣я│:п©п╬я─я┌ п╬п©п╦я│п╟п╫ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я│п╣я─п╡п╣я─, я┌п╬ п╡я▀п╢п╣п╩п╣п╫п╦я▐
811 в регулярных выражениях в директиве server_name не работали. 811 п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
812 </para> 812 </para>
813 <para lang="en"> 813 <para lang="en">
814 if there was a single server for given IPv6 address:port pair, 814 if there was a single server for given IPv6 address:port pair,
815 then captures in regular expressions in a "server_name" directive did not work. 815 then captures in regular expressions in a "server_name" directive did not work.
816 </para> 816 </para>
817 </change> 817 </change>
818 818
819 <change type="bugfix"> 819 <change type="bugfix">
820 <para lang="ru"> 820 <para lang="ru">
821 nginx не собирался под Solaris; 821 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ Solaris;
822 ошибка появилась в 0.9.0. 822 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
823 </para> 823 </para>
824 <para lang="en"> 824 <para lang="en">
825 nginx could not be built on Solaris; 825 nginx could not be built on Solaris;
826 the bug had appeared in 0.9.0. 826 the bug had appeared in 0.9.0.
827 </para> 827 </para>
832 832
833 <changes ver="0.9.2" date="06.12.2010"> 833 <changes ver="0.9.2" date="06.12.2010">
834 834
835 <change type="feature"> 835 <change type="feature">
836 <para lang="ru"> 836 <para lang="ru">
837 поддержка строки "If-Unmodified-Since" в заголовке запросе клиента. 837 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "If-Unmodified-Since" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╣ п╨п╩п╦п╣п╫я┌п╟.
838 </para> 838 </para>
839 <para lang="en"> 839 <para lang="en">
840 the "If-Unmodified-Since" client request header line support. 840 the "If-Unmodified-Since" client request header line support.
841 </para> 841 </para>
842 </change> 842 </change>
843 843
844 <change type="workaround"> 844 <change type="workaround">
845 <para lang="ru"> 845 <para lang="ru">
846 использование accept(), если accept4() не реализован; 846 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ accept(), п╣я│п╩п╦ accept4() п╫п╣ я─п╣п╟п╩п╦п╥п╬п╡п╟п╫;
847 ошибка появилась в 0.9.0. 847 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
848 </para> 848 </para>
849 <para lang="en"> 849 <para lang="en">
850 fallback to accept() syscall if accept4() was not implemented; 850 fallback to accept() syscall if accept4() was not implemented;
851 the issue had appeared in 0.9.0. 851 the issue had appeared in 0.9.0.
852 </para> 852 </para>
853 </change> 853 </change>
854 854
855 <change type="bugfix"> 855 <change type="bugfix">
856 <para lang="ru"> 856 <para lang="ru">
857 nginx не собирался под Cygwin; 857 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ Cygwin;
858 ошибка появилась в 0.9.0. 858 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
859 </para> 859 </para>
860 <para lang="en"> 860 <para lang="en">
861 nginx could not be built on Cygwin; 861 nginx could not be built on Cygwin;
862 the bug had appeared in 0.9.0. 862 the bug had appeared in 0.9.0.
863 </para> 863 </para>
864 </change> 864 </change>
865 865
866 <change type="bugfix"> 866 <change type="bugfix">
867 <para lang="ru"> 867 <para lang="ru">
868 уязвимости в OpenSSL CVE-2010-4180.<br/> 868 я┐я▐п╥п╡п╦п╪п╬я│я┌п╦ п╡ OpenSSL CVE-2010-4180.<br/>
869 Спасибо Максиму Дунину. 869 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
870 </para> 870 </para>
871 <para lang="en"> 871 <para lang="en">
872 for OpenSSL vulnerability CVE-2010-4180.<br/> 872 for OpenSSL vulnerability CVE-2010-4180.<br/>
873 Thanks to Maxim Dounin. 873 Thanks to Maxim Dounin.
874 </para> 874 </para>
879 879
880 <changes ver="0.9.1" date="30.11.2010"> 880 <changes ver="0.9.1" date="30.11.2010">
881 881
882 <change type="bugfix"> 882 <change type="bugfix">
883 <para lang="ru"> 883 <para lang="ru">
884 директивы вида "return CODE message" не работали; 884 п╢п╦я─п╣п╨я┌п╦п╡я▀ п╡п╦п╢п╟ "return CODE message" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
885 ошибка появилась в 0.9.0. 885 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
886 </para> 886 </para>
887 <para lang="en"> 887 <para lang="en">
888 "return CODE message" directives did not work; 888 "return CODE message" directives did not work;
889 the bug had appeared in 0.9.0. 889 the bug had appeared in 0.9.0.
890 </para> 890 </para>
895 895
896 <changes ver="0.9.0" date="29.11.2010"> 896 <changes ver="0.9.0" date="29.11.2010">
897 897
898 <change type="feature"> 898 <change type="feature">
899 <para lang="ru"> 899 <para lang="ru">
900 директива keepalive_disable. 900 п╢п╦я─п╣п╨я┌п╦п╡п╟ keepalive_disable.
901 </para> 901 </para>
902 <para lang="en"> 902 <para lang="en">
903 the "keepalive_disable" directive. 903 the "keepalive_disable" directive.
904 </para> 904 </para>
905 </change> 905 </change>
906 906
907 <change type="feature"> 907 <change type="feature">
908 <para lang="ru"> 908 <para lang="ru">
909 директива map поддерживает переменные в качестве значения определяемой 909 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╬п©я─п╣п╢п╣п╩я▐п╣п╪п╬п╧
910 переменной. 910 п©п╣я─п╣п╪п╣п╫п╫п╬п╧.
911 </para> 911 </para>
912 <para lang="en"> 912 <para lang="en">
913 the "map" directive supports variables as value of a defined variable. 913 the "map" directive supports variables as value of a defined variable.
914 </para> 914 </para>
915 </change> 915 </change>
916 916
917 <change type="feature"> 917 <change type="feature">
918 <para lang="ru"> 918 <para lang="ru">
919 директива map поддерживает пустые строки в качестве значения первого параметра. 919 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я┐я│я┌я▀п╣ я│я┌я─п╬п╨п╦ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п©п╣я─п╡п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟.
920 </para> 920 </para>
921 <para lang="en"> 921 <para lang="en">
922 the "map" directive supports empty strings as value of the first parameter. 922 the "map" directive supports empty strings as value of the first parameter.
923 </para> 923 </para>
924 </change> 924 </change>
925 925
926 <change type="feature"> 926 <change type="feature">
927 <para lang="ru"> 927 <para lang="ru">
928 директива map поддерживает выражения в первом параметре. 928 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ п©п╣я─п╡п╬п╪ п©п╟я─п╟п╪п╣я┌я─п╣.
929 </para> 929 </para>
930 <para lang="en"> 930 <para lang="en">
931 the "map" directive supports expressions as the first parameter. 931 the "map" directive supports expressions as the first parameter.
932 </para> 932 </para>
933 </change> 933 </change>
934 934
935 <change type="feature"> 935 <change type="feature">
936 <para lang="ru"> 936 <para lang="ru">
937 страница руководства nginx(8).<br/> 937 я│я┌я─п╟п╫п╦я├п╟ я─я┐п╨п╬п╡п╬п╢я│я┌п╡п╟ nginx(8).<br/>
938 Спасибо Сергею Осокину. 938 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п·я│п╬п╨п╦п╫я┐.
939 </para> 939 </para>
940 <para lang="en"> 940 <para lang="en">
941 nginx(8) manual page.<br/> 941 nginx(8) manual page.<br/>
942 Thanks to Sergey Osokin. 942 Thanks to Sergey Osokin.
943 </para> 943 </para>
944 </change> 944 </change>
945 945
946 <change type="feature"> 946 <change type="feature">
947 <para lang="ru"> 947 <para lang="ru">
948 поддержка accept4() в Linux.<br/> 948 п©п╬п╢п╢п╣я─п╤п╨п╟ accept4() п╡ Linux.<br/>
949 Спасибо Simon Liu. 949 п║п©п╟я│п╦п╠п╬ Simon Liu.
950 </para> 950 </para>
951 <para lang="en"> 951 <para lang="en">
952 Linux accept4() support.<br/> 952 Linux accept4() support.<br/>
953 Thanks to Simon Liu. 953 Thanks to Simon Liu.
954 </para> 954 </para>
955 </change> 955 </change>
956 956
957 <change type="workaround"> 957 <change type="workaround">
958 <para lang="ru"> 958 <para lang="ru">
959 устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux; 959 я┐я│я┌я─п╟п╫п╣п╫п╦п╣ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦я▐ п╩п╦п╫п╨п╣я─п╟ п╬ "sys_errlist" п╦ "sys_nerr" п©п╬п╢ Linux;
960 предупреждение появилось в 0.8.35. 960 п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╣ п©п╬я▐п╡п╦п╩п╬я│я▄ п╡ 0.8.35.
961 </para> 961 </para>
962 <para lang="en"> 962 <para lang="en">
963 elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; 963 elimination of Linux linker warning about "sys_errlist" and "sys_nerr";
964 the warning had appeared in 0.8.35. 964 the warning had appeared in 0.8.35.
965 </para> 965 </para>
966 </change> 966 </change>
967 967
968 <change type="bugfix"> 968 <change type="bugfix">
969 <para lang="ru"> 969 <para lang="ru">
970 при использовании директивы auth_basic 970 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic
971 в рабочем процессе мог произойти segmentation fault.<br/> 971 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
972 Спасибо Михаилу Лалетину. 972 п║п©п╟я│п╦п╠п╬ п°п╦я┘п╟п╦п╩я┐ п⌡п╟п╩п╣я┌п╦п╫я┐.
973 </para> 973 </para>
974 <para lang="en"> 974 <para lang="en">
975 a segmentation fault might occur in a worker process, 975 a segmentation fault might occur in a worker process,
976 if the "auth_basic" directive was used.<br/> 976 if the "auth_basic" directive was used.<br/>
977 Thanks to Michail Laletin. 977 Thanks to Michail Laletin.
978 </para> 978 </para>
979 </change> 979 </change>
980 980
981 <change type="bugfix"> 981 <change type="bugfix">
982 <para lang="ru"> 982 <para lang="ru">
983 совместимость с модулем ngx_http_eval_module; 983 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_eval_module;
984 ошибка появилась в 0.8.42. 984 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.42.
985 </para> 985 </para>
986 <para lang="en"> 986 <para lang="en">
987 compatibility with ngx_http_eval_module; 987 compatibility with ngx_http_eval_module;
988 the bug had appeared in 0.8.42. 988 the bug had appeared in 0.8.42.
989 </para> 989 </para>
994 994
995 <changes ver="0.8.53" date="18.10.2010"> 995 <changes ver="0.8.53" date="18.10.2010">
996 996
997 <change type="feature"> 997 <change type="feature">
998 <para lang="ru"> 998 <para lang="ru">
999 теперь директива error_page позволяет менять код статуса у редиректа. 999 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╥п╡п╬п╩я▐п╣я┌ п╪п╣п╫я▐я┌я▄ п╨п╬п╢ я│я┌п╟я┌я┐я│п╟ я┐ я─п╣п╢п╦я─п╣п╨я┌п╟.
1000 </para> 1000 </para>
1001 <para lang="en"> 1001 <para lang="en">
1002 now the "error_page" directive allows to change a status code in a redirect. 1002 now the "error_page" directive allows to change a status code in a redirect.
1003 </para> 1003 </para>
1004 </change> 1004 </change>
1005 1005
1006 <change type="feature"> 1006 <change type="feature">
1007 <para lang="ru"> 1007 <para lang="ru">
1008 директива gzip_disable поддерживает специальную маску degradation. 1008 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п©п╣я├п╦п╟п╩я▄п╫я┐я▌ п╪п╟я│п╨я┐ degradation.
1009 </para> 1009 </para>
1010 <para lang="en"> 1010 <para lang="en">
1011 the "gzip_disable" directive supports special "degradation" mask. 1011 the "gzip_disable" directive supports special "degradation" mask.
1012 </para> 1012 </para>
1013 </change> 1013 </change>
1014 1014
1015 <change type="bugfix"> 1015 <change type="bugfix">
1016 <para lang="ru"> 1016 <para lang="ru">
1017 при использовании файлового AIO могла происходить утечка сокетов.<br/> 1017 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я└п╟п╧п╩п╬п╡п╬пЁп╬ AIO п╪п╬пЁп╩п╟ п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄ я┐я┌п╣я┤п╨п╟ я│п╬п╨п╣я┌п╬п╡.<br/>
1018 Спасибо Максиму Дунину. 1018 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1019 </para> 1019 </para>
1020 <para lang="en"> 1020 <para lang="en">
1021 a socket leak might occurred if file AIO was used.<br/> 1021 a socket leak might occurred if file AIO was used.<br/>
1022 Thanks to Maxim Dounin. 1022 Thanks to Maxim Dounin.
1023 </para> 1023 </para>
1024 </change> 1024 </change>
1025 1025
1026 <change type="bugfix"> 1026 <change type="bugfix">
1027 <para lang="ru"> 1027 <para lang="ru">
1028 если в первом сервере не была описана директива listen и нигде явно 1028 п╣я│п╩п╦ п╡ п©п╣я─п╡п╬п╪ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩п╟ п╬п©п╦я│п╟п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╦ п╫п╦пЁп╢п╣ я▐п╡п╫п╬
1029 не описан сервер по умолчанию, то сервером по умолчанию становился 1029 п╫п╣ п╬п©п╦я│п╟п╫ я│п╣я─п╡п╣я─ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌, я┌п╬ я│п╣я─п╡п╣я─п╬п╪ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я│я┌п╟п╫п╬п╡п╦п╩я│я▐
1030 следующий сервер с директивой listen; 1030 я│п╩п╣п╢я┐я▌я┴п╦п╧ я│п╣я─п╡п╣я─ я│ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ listen;
1031 ошибка появилась в 0.8.21. 1031 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.21.
1032 </para> 1032 </para>
1033 <para lang="en"> 1033 <para lang="en">
1034 if the first server had no "listen" directive and there was no explicit 1034 if the first server had no "listen" directive and there was no explicit
1035 default server, then a next server with a "listen" directive became 1035 default server, then a next server with a "listen" directive became
1036 the default server; 1036 the default server;
1043 1043
1044 <changes ver="0.8.52" date="28.09.2010"> 1044 <changes ver="0.8.52" date="28.09.2010">
1045 1045
1046 <change type="bugfix"> 1046 <change type="bugfix">
1047 <para lang="ru"> 1047 <para lang="ru">
1048 nginx использовал режим SSL для listen сокета, если для него был 1048 nginx п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ я─п╣п╤п╦п╪ SSL п╢п╩я▐ listen я│п╬п╨п╣я┌п╟, п╣я│п╩п╦ п╢п╩я▐ п╫п╣пЁп╬ п╠я▀п╩
1049 установлен любой listen-параметр; 1049 я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╩я▌п╠п╬п╧ listen-п©п╟я─п╟п╪п╣я┌я─;
1050 ошибка появилась в 0.8.51. 1050 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.51.
1051 </para> 1051 </para>
1052 <para lang="en"> 1052 <para lang="en">
1053 nginx used SSL mode for a listen socket if any listen option was set; 1053 nginx used SSL mode for a listen socket if any listen option was set;
1054 the bug had appeared in 0.8.51. 1054 the bug had appeared in 0.8.51.
1055 </para> 1055 </para>
1060 1060
1061 <changes ver="0.8.51" date="27.09.2010"> 1061 <changes ver="0.8.51" date="27.09.2010">
1062 1062
1063 <change type="change"> 1063 <change type="change">
1064 <para lang="ru"> 1064 <para lang="ru">
1065 директива secure_link_expires упразднена. 1065 п╢п╦я─п╣п╨я┌п╦п╡п╟ secure_link_expires я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
1066 </para> 1066 </para>
1067 <para lang="en"> 1067 <para lang="en">
1068 the "secure_link_expires" directive has been canceled. 1068 the "secure_link_expires" directive has been canceled.
1069 </para> 1069 </para>
1070 </change> 1070 </change>
1071 1071
1072 <change type="change"> 1072 <change type="change">
1073 <para lang="ru"> 1073 <para lang="ru">
1074 уровень логгирования ошибок resolver'а понижен с уровня alert на error. 1074 я┐я─п╬п╡п╣п╫я▄ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ п╬я┬п╦п╠п╬п╨ resolver'п╟ п©п╬п╫п╦п╤п╣п╫ я│ я┐я─п╬п╡п╫я▐ alert п╫п╟ error.
1075 </para> 1075 </para>
1076 <para lang="en"> 1076 <para lang="en">
1077 a logging level of resolver errors has been lowered from "alert" to "error". 1077 a logging level of resolver errors has been lowered from "alert" to "error".
1078 </para> 1078 </para>
1079 </change> 1079 </change>
1080 1080
1081 <change type="feature"> 1081 <change type="feature">
1082 <para lang="ru"> 1082 <para lang="ru">
1083 теперь параметр "ssl" listen-сокета можно устанавливать несколько раз. 1083 я┌п╣п©п╣я─я▄ п©п╟я─п╟п╪п╣я┌я─ "ssl" listen-я│п╬п╨п╣я┌п╟ п╪п╬п╤п╫п╬ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ я─п╟п╥.
1084 </para> 1084 </para>
1085 <para lang="en"> 1085 <para lang="en">
1086 now a listen socket "ssl" parameter may be set several times. 1086 now a listen socket "ssl" parameter may be set several times.
1087 </para> 1087 </para>
1088 </change> 1088 </change>
1092 1092
1093 <changes ver="0.8.50" date="02.09.2010"> 1093 <changes ver="0.8.50" date="02.09.2010">
1094 1094
1095 <change type="feature"> 1095 <change type="feature">
1096 <para lang="ru"> 1096 <para lang="ru">
1097 директивы secure_link, secure_link_md5 и secure_link_expires 1097 п╢п╦я─п╣п╨я┌п╦п╡я▀ secure_link, secure_link_md5 п╦ secure_link_expires
1098 модуля ngx_http_secure_link_module. 1098 п╪п╬п╢я┐п╩я▐ ngx_http_secure_link_module.
1099 </para> 1099 </para>
1100 <para lang="en"> 1100 <para lang="en">
1101 the "secure_link", "secure_link_md5", and "secure_link_expires" directives of 1101 the "secure_link", "secure_link_md5", and "secure_link_expires" directives of
1102 the ngx_http_secure_link_module. 1102 the ngx_http_secure_link_module.
1103 </para> 1103 </para>
1104 </change> 1104 </change>
1105 1105
1106 <change type="feature"> 1106 <change type="feature">
1107 <para lang="ru"> 1107 <para lang="ru">
1108 ключ -q.<br/> 1108 п╨п╩я▌я┤ -q.<br/>
1109 Спасибо Геннадию Махомеду. 1109 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
1110 </para> 1110 </para>
1111 <para lang="en"> 1111 <para lang="en">
1112 the -q switch.<br/> 1112 the -q switch.<br/>
1113 Thanks to Gena Makhomed. 1113 Thanks to Gena Makhomed.
1114 </para> 1114 </para>
1115 </change> 1115 </change>
1116 1116
1117 <change type="bugfix"> 1117 <change type="bugfix">
1118 <para lang="ru"> 1118 <para lang="ru">
1119 при использовании кэширования рабочие процессы и могли зациклиться 1119 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╦ п╪п╬пЁп╩п╦ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐
1120 во время переконфигурации; 1120 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
1121 ошибка появилась в 0.8.48. 1121 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
1122 </para> 1122 </para>
1123 <para lang="en"> 1123 <para lang="en">
1124 worker processes may got caught in an endless loop during reconfiguration, 1124 worker processes may got caught in an endless loop during reconfiguration,
1125 if a caching was used; 1125 if a caching was used;
1126 the bug had appeared in 0.8.48. 1126 the bug had appeared in 0.8.48.
1127 </para> 1127 </para>
1128 </change> 1128 </change>
1129 1129
1130 <change type="bugfix"> 1130 <change type="bugfix">
1131 <para lang="ru"> 1131 <para lang="ru">
1132 в директиве gzip_disable.<br/> 1132 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ gzip_disable.<br/>
1133 Спасибо Derrick Petzold. 1133 п║п©п╟я│п╦п╠п╬ Derrick Petzold.
1134 </para> 1134 </para>
1135 <para lang="en"> 1135 <para lang="en">
1136 in the "gzip_disable" directive.<br/> 1136 in the "gzip_disable" directive.<br/>
1137 Thanks to Derrick Petzold. 1137 Thanks to Derrick Petzold.
1138 </para> 1138 </para>
1139 </change> 1139 </change>
1140 1140
1141 <change type="bugfix"> 1141 <change type="bugfix">
1142 <para lang="ru"> 1142 <para lang="ru">
1143 nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу, 1143 nginx/Windows п╫п╣ п╪п╬пЁ п©п╬я│я▀п╩п╟я┌я▄ я│п╦пЁп╫п╟п╩я▀ stop, quit, reopen, reload п©я─п╬я├п╣я│я│я┐,
1144 запущенному в другой сессии. 1144 п╥п╟п©я┐я┴п╣п╫п╫п╬п╪я┐ п╡ п╢я─я┐пЁп╬п╧ я│п╣я│я│п╦п╦.
1145 </para> 1145 </para>
1146 <para lang="en"> 1146 <para lang="en">
1147 nginx/Windows could not send stop, quit, reopen, and reload signals 1147 nginx/Windows could not send stop, quit, reopen, and reload signals
1148 to a process run in other session. 1148 to a process run in other session.
1149 </para> 1149 </para>
1154 1154
1155 <changes ver="0.8.49" date="09.08.2010"> 1155 <changes ver="0.8.49" date="09.08.2010">
1156 1156
1157 <change type="feature"> 1157 <change type="feature">
1158 <para lang="ru"> 1158 <para lang="ru">
1159 директива image_filter_jpeg_quality поддерживает переменные. 1159 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_jpeg_quality п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
1160 </para> 1160 </para>
1161 <para lang="en"> 1161 <para lang="en">
1162 the "image_filter_jpeg_quality" directive supports variables. 1162 the "image_filter_jpeg_quality" directive supports variables.
1163 </para> 1163 </para>
1164 </change> 1164 </change>
1165 1165
1166 <change type="bugfix"> 1166 <change type="bugfix">
1167 <para lang="ru"> 1167 <para lang="ru">
1168 при использовании переменной $geoip_region_name 1168 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $geoip_region_name
1169 в рабочем процессе мог произойти segmentation fault; 1169 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
1170 ошибка появилась в 0.8.48. 1170 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
1171 </para> 1171 </para>
1172 <para lang="en"> 1172 <para lang="en">
1173 a segmentation fault might occur in a worker process, 1173 a segmentation fault might occur in a worker process,
1174 if the $geoip_region_name variables was used; 1174 if the $geoip_region_name variables was used;
1175 the bug had appeared in 0.8.48. 1175 the bug had appeared in 0.8.48.
1176 </para> 1176 </para>
1177 </change> 1177 </change>
1178 1178
1179 <change type="bugfix"> 1179 <change type="bugfix">
1180 <para lang="ru"> 1180 <para lang="ru">
1181 ошибки, перехваченные error_page, кэшировались только до следующего запроса; 1181 п╬я┬п╦п╠п╨п╦, п©п╣я─п╣я┘п╡п╟я┤п╣п╫п╫я▀п╣ error_page, п╨я█я┬п╦я─п╬п╡п╟п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬ п╢п╬ я│п╩п╣п╢я┐я▌я┴п╣пЁп╬ п╥п╟п©я─п╬я│п╟;
1182 ошибка появилась в 0.8.48. 1182 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
1183 </para> 1183 </para>
1184 <para lang="en"> 1184 <para lang="en">
1185 errors intercepted by error_page were cached only for next request; 1185 errors intercepted by error_page were cached only for next request;
1186 the bug had appeared in 0.8.48. 1186 the bug had appeared in 0.8.48.
1187 </para> 1187 </para>
1192 1192
1193 <changes ver="0.8.48" date="03.08.2010"> 1193 <changes ver="0.8.48" date="03.08.2010">
1194 1194
1195 <change type="change"> 1195 <change type="change">
1196 <para lang="ru"> 1196 <para lang="ru">
1197 теперь по умолчанию директива server_name имеет значение пустое имя "".<br/> 1197 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п╦п╪п╣п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ п©я┐я│я┌п╬п╣ п╦п╪я▐ "".<br/>
1198 Спасибо Геннадию Махомеду. 1198 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
1199 </para> 1199 </para>
1200 <para lang="en"> 1200 <para lang="en">
1201 now the "server_name" directive default value is an empty name "".<br/> 1201 now the "server_name" directive default value is an empty name "".<br/>
1202 Thanks to Gena Makhomed. 1202 Thanks to Gena Makhomed.
1203 </para> 1203 </para>
1204 </change> 1204 </change>
1205 1205
1206 <change type="change"> 1206 <change type="change">
1207 <para lang="ru"> 1207 <para lang="ru">
1208 теперь по умолчанию директива server_name_in_redirect имеет значение off. 1208 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name_in_redirect п╦п╪п╣п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ off.
1209 </para> 1209 </para>
1210 <para lang="en"> 1210 <para lang="en">
1211 now the "server_name_in_redirect" directive default value is "off". 1211 now the "server_name_in_redirect" directive default value is "off".
1212 </para> 1212 </para>
1213 </change> 1213 </change>
1214 1214
1215 <change type="feature"> 1215 <change type="feature">
1216 <para lang="ru"> 1216 <para lang="ru">
1217 переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/> 1217 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $geoip_dma_code, $geoip_area_code п╦ $geoip_region_name.<br/>
1218 Спасибо Christine McGonagle. 1218 п║п©п╟я│п╦п╠п╬ Christine McGonagle.
1219 </para> 1219 </para>
1220 <para lang="en"> 1220 <para lang="en">
1221 the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/> 1221 the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/>
1222 Thanks to Christine McGonagle. 1222 Thanks to Christine McGonagle.
1223 </para> 1223 </para>
1224 </change> 1224 </change>
1225 1225
1226 <change type="bugfix"> 1226 <change type="bugfix">
1227 <para lang="ru"> 1227 <para lang="ru">
1228 директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались 1228 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass, fastcgi_pass, uwsgi_pass п╦ scgi_pass п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄
1229 в блоки limit_except. 1229 п╡ п╠п╩п╬п╨п╦ limit_except.
1230 </para> 1230 </para>
1231 <para lang="en"> 1231 <para lang="en">
1232 the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives 1232 the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives
1233 were not inherited inside "limit_except" blocks. 1233 were not inherited inside "limit_except" blocks.
1234 </para> 1234 </para>
1235 </change> 1235 </change>
1236 1236
1237 <change type="bugfix"> 1237 <change type="bugfix">
1238 <para lang="ru"> 1238 <para lang="ru">
1239 директивы proxy_cache_min_uses, fastcgi_cache_min_uses 1239 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_min_uses, fastcgi_cache_min_uses
1240 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; 1240 uwsgi_cache_min_uses п╦ scgi_cache_min_uses п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
1241 ошибка появилась в 0.8.46. 1241 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
1242 </para> 1242 </para>
1243 <para lang="en"> 1243 <para lang="en">
1244 the "proxy_cache_min_uses", "fastcgi_cache_min_uses" 1244 the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
1245 "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; 1245 "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work;
1246 the bug had appeared in 0.8.46. 1246 the bug had appeared in 0.8.46.
1247 </para> 1247 </para>
1248 </change> 1248 </change>
1249 1249
1250 <change type="bugfix"> 1250 <change type="bugfix">
1251 <para lang="ru"> 1251 <para lang="ru">
1252 директива fastcgi_split_path_info неверно использовала выделения, 1252 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_split_path_info п╫п╣п╡п╣я─п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐,
1253 если в выделения попадала только часть URI.<br/> 1253 п╣я│п╩п╦ п╡ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п©п╬п©п╟п╢п╟п╩п╟ я┌п╬п╩я▄п╨п╬ я┤п╟я│я┌я▄ URI.<br/>
1254 Спасибо Юрию Тарадаю и Frank Enderle. 1254 п║п©п╟я│п╦п╠п╬ п╝я─п╦я▌ п╒п╟я─п╟п╢п╟я▌ п╦ Frank Enderle.
1255 </para> 1255 </para>
1256 <para lang="en"> 1256 <para lang="en">
1257 the "fastcgi_split_path_info" directive used incorrectly captures, 1257 the "fastcgi_split_path_info" directive used incorrectly captures,
1258 if only parts of an URI were captured.<br/> 1258 if only parts of an URI were captured.<br/>
1259 Thanks to Yuriy Taraday and Frank Enderle. 1259 Thanks to Yuriy Taraday and Frank Enderle.
1260 </para> 1260 </para>
1261 </change> 1261 </change>
1262 1262
1263 <change type="bugfix"> 1263 <change type="bugfix">
1264 <para lang="ru"> 1264 <para lang="ru">
1265 директива rewrite не экранировала символ ";" при копировании из URI 1265 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╟ я│п╦п╪п╡п╬п╩ ";" п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╦п╥ URI
1266 в аргументы.<br/> 1266 п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀.<br/>
1267 Спасибо Daisuke Murase. 1267 п║п©п╟я│п╦п╠п╬ Daisuke Murase.
1268 </para> 1268 </para>
1269 <para lang="en"> 1269 <para lang="en">
1270 the "rewrite" directive did not escape a ";" character during copying 1270 the "rewrite" directive did not escape a ";" character during copying
1271 from URI to query string.<br/> 1271 from URI to query string.<br/>
1272 Thanks to Daisuke Murase. 1272 Thanks to Daisuke Murase.
1273 </para> 1273 </para>
1274 </change> 1274 </change>
1275 1275
1276 <change type="bugfix"> 1276 <change type="bugfix">
1277 <para lang="ru"> 1277 <para lang="ru">
1278 модуль ngx_http_image_filter_module закрывал соединение, 1278 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣,
1279 если изображение было больше размера image_filter_buffer. 1279 п╣я│п╩п╦ п╦п╥п╬п╠я─п╟п╤п╣п╫п╦п╣ п╠я▀п╩п╬ п╠п╬п╩я▄я┬п╣ я─п╟п╥п╪п╣я─п╟ image_filter_buffer.
1280 </para> 1280 </para>
1281 <para lang="en"> 1281 <para lang="en">
1282 the ngx_http_image_filter_module closed a connection, 1282 the ngx_http_image_filter_module closed a connection,
1283 if an image was larger than "image_filter_buffer" size. 1283 if an image was larger than "image_filter_buffer" size.
1284 </para> 1284 </para>
1289 1289
1290 <changes ver="0.8.47" date="28.07.2010"> 1290 <changes ver="0.8.47" date="28.07.2010">
1291 1291
1292 <change type="bugfix"> 1292 <change type="bugfix">
1293 <para lang="ru"> 1293 <para lang="ru">
1294 переменная $request_time имела неверные значения для подзапросов. 1294 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_time п╦п╪п╣п╩п╟ п╫п╣п╡п╣я─п╫я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
1295 </para> 1295 </para>
1296 <para lang="en"> 1296 <para lang="en">
1297 $request_time variable had invalid values for subrequests. 1297 $request_time variable had invalid values for subrequests.
1298 </para> 1298 </para>
1299 </change> 1299 </change>
1300 1300
1301 <change type="bugfix"> 1301 <change type="bugfix">
1302 <para lang="ru"> 1302 <para lang="ru">
1303 ошибки, перехваченные error_page, не кэшировались. 1303 п╬я┬п╦п╠п╨п╦, п©п╣я─п╣я┘п╡п╟я┤п╣п╫п╫я▀п╣ error_page, п╫п╣ п╨я█я┬п╦я─п╬п╡п╟п╩п╦я│я▄.
1304 </para> 1304 </para>
1305 <para lang="en"> 1305 <para lang="en">
1306 errors intercepted by error_page could not be cached. 1306 errors intercepted by error_page could not be cached.
1307 </para> 1307 </para>
1308 </change> 1308 </change>
1309 1309
1310 <change type="bugfix"> 1310 <change type="bugfix">
1311 <para lang="ru"> 1311 <para lang="ru">
1312 если использовался параметр max_size, то cache manager мог зациклиться; 1312 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ max_size, я┌п╬ cache manager п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
1313 ошибка появилась в 0.8.46. 1313 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
1314 </para> 1314 </para>
1315 <para lang="en"> 1315 <para lang="en">
1316 a cache manager process may got caught in an endless loop, 1316 a cache manager process may got caught in an endless loop,
1317 if max_size parameter was used; 1317 if max_size parameter was used;
1318 the bug had appeared in 0.8.46. 1318 the bug had appeared in 0.8.46.
1324 1324
1325 <changes ver="0.8.46" date="19.07.2010"> 1325 <changes ver="0.8.46" date="19.07.2010">
1326 1326
1327 <change type="change"> 1327 <change type="change">
1328 <para lang="ru"> 1328 <para lang="ru">
1329 директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache 1329 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1330 и scgi_no_cache теперь влияют только на сохранение закэшированного ответа. 1330 п╦ scgi_no_cache я┌п╣п©п╣я─я▄ п╡п╩п╦я▐я▌я┌ я┌п╬п╩я▄п╨п╬ п╫п╟ я│п╬я┘я─п╟п╫п╣п╫п╦п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟.
1331 </para> 1331 </para>
1332 <para lang="en"> 1332 <para lang="en">
1333 now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and 1333 now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and
1334 "scgi_no_cache" directives affect on a cached response saving only. 1334 "scgi_no_cache" directives affect on a cached response saving only.
1335 </para> 1335 </para>
1336 </change> 1336 </change>
1337 1337
1338 <change type="feature"> 1338 <change type="feature">
1339 <para lang="ru"> 1339 <para lang="ru">
1340 директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass 1340 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass
1341 и scgi_cache_bypass. 1341 п╦ scgi_cache_bypass.
1342 </para> 1342 </para>
1343 <para lang="en"> 1343 <para lang="en">
1344 the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", 1344 the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass",
1345 and "scgi_cache_bypass" directives. 1345 and "scgi_cache_bypass" directives.
1346 </para> 1346 </para>
1347 </change> 1347 </change>
1348 1348
1349 <change type="bugfix"> 1349 <change type="bugfix">
1350 <para lang="ru"> 1350 <para lang="ru">
1351 nginx не освобождал память в keys_zone кэшей в случае ошибки работы с 1351 nginx п╫п╣ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩ п©п╟п╪я▐я┌я▄ п╡ keys_zone п╨я█я┬п╣п╧ п╡ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ я─п╟п╠п╬я┌я▀ я│
1352 бэкендом: память освобождалась только по истечении времени неактивности 1352 п╠я█п╨п╣п╫п╢п╬п╪: п©п╟п╪я▐я┌я▄ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩п╟я│я▄ я┌п╬п╩я▄п╨п╬ п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ п╡я─п╣п╪п╣п╫п╦ п╫п╣п╟п╨я┌п╦п╡п╫п╬я│я┌п╦
1353 или при недостатке памяти. 1353 п╦п╩п╦ п©я─п╦ п╫п╣п╢п╬я│я┌п╟я┌п╨п╣ п©п╟п╪я▐я┌п╦.
1354 </para> 1354 </para>
1355 <para lang="en"> 1355 <para lang="en">
1356 nginx did not free memory in cache keys zones if there was an error 1356 nginx did not free memory in cache keys zones if there was an error
1357 during working with backend: the memory was freed only after inactivity 1357 during working with backend: the memory was freed only after inactivity
1358 time or on memory low condition. 1358 time or on memory low condition.
1364 1364
1365 <changes ver="0.8.45" date="13.07.2010"> 1365 <changes ver="0.8.45" date="13.07.2010">
1366 1366
1367 <change type="feature"> 1367 <change type="feature">
1368 <para lang="ru"> 1368 <para lang="ru">
1369 улучшения в модуле ngx_http_xslt_filter.<br/> 1369 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_filter.<br/>
1370 Спасибо Laurence Rowe. 1370 п║п©п╟я│п╦п╠п╬ Laurence Rowe.
1371 </para> 1371 </para>
1372 <para lang="en"> 1372 <para lang="en">
1373 ngx_http_xslt_filter improvements.<br/> 1373 ngx_http_xslt_filter improvements.<br/>
1374 Thanks to Laurence Rowe. 1374 Thanks to Laurence Rowe.
1375 </para> 1375 </para>
1376 </change> 1376 </change>
1377 1377
1378 <change type="bugfix"> 1378 <change type="bugfix">
1379 <para lang="ru"> 1379 <para lang="ru">
1380 ответ SSI модуля мог передаваться не полностью после команды include 1380 п╬я┌п╡п╣я┌ SSI п╪п╬п╢я┐п╩я▐ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╬я│п╩п╣ п╨п╬п╪п╟п╫п╢я▀ include
1381 с параметром wait="yes"; 1381 я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait="yes";
1382 ошибка появилась в 0.7.25.<br/> 1382 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.<br/>
1383 Спасибо Максиму Дунину. 1383 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1384 </para> 1384 </para>
1385 <para lang="en"> 1385 <para lang="en">
1386 SSI response might be truncated after include with wait="yes"; 1386 SSI response might be truncated after include with wait="yes";
1387 the bug had appeared in 0.7.25.<br/> 1387 the bug had appeared in 0.7.25.<br/>
1388 Thanks to Maxim Dounin. 1388 Thanks to Maxim Dounin.
1389 </para> 1389 </para>
1390 </change> 1390 </change>
1391 1391
1392 <change type="bugfix"> 1392 <change type="bugfix">
1393 <para lang="ru"> 1393 <para lang="ru">
1394 директива listen не поддерживала параметр setfib=0. 1394 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ п©п╟я─п╟п╪п╣я┌я─ setfib=0.
1395 </para> 1395 </para>
1396 <para lang="en"> 1396 <para lang="en">
1397 the "listen" directive did not support the "setfib=0" parameter. 1397 the "listen" directive did not support the "setfib=0" parameter.
1398 </para> 1398 </para>
1399 </change> 1399 </change>
1403 1403
1404 <changes ver="0.8.44" date="05.07.2010"> 1404 <changes ver="0.8.44" date="05.07.2010">
1405 1405
1406 <change type="change"> 1406 <change type="change">
1407 <para lang="ru"> 1407 <para lang="ru">
1408 теперь nginx по умолчанию не кэширует ответы бэкендов, 1408 я┌п╣п©п╣я─я▄ nginx п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ п╨я█я┬п╦я─я┐п╣я┌ п╬я┌п╡п╣я┌я▀ п╠я█п╨п╣п╫п╢п╬п╡,
1409 в заголовке которых есть строка "Set-Cookie". 1409 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╨п╬я┌п╬я─я▀я┘ п╣я│я┌я▄ я│я┌я─п╬п╨п╟ "Set-Cookie".
1410 </para> 1410 </para>
1411 <para lang="en"> 1411 <para lang="en">
1412 now nginx does not cache by default backend responses, 1412 now nginx does not cache by default backend responses,
1413 if they have a "Set-Cookie" header line. 1413 if they have a "Set-Cookie" header line.
1414 </para> 1414 </para>
1415 </change> 1415 </change>
1416 1416
1417 <change type="feature"> 1417 <change type="feature">
1418 <para lang="ru"> 1418 <para lang="ru">
1419 директива listen поддерживает параметр setfib.<br/> 1419 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ setfib.<br/>
1420 Спасибо Андрею Филонову. 1420 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п╓п╦п╩п╬п╫п╬п╡я┐.
1421 </para> 1421 </para>
1422 <para lang="en"> 1422 <para lang="en">
1423 the "listen" directive supports the "setfib" parameter.<br/> 1423 the "listen" directive supports the "setfib" parameter.<br/>
1424 Thanks to Andrew Filonov. 1424 Thanks to Andrew Filonov.
1425 </para> 1425 </para>
1426 </change> 1426 </change>
1427 1427
1428 <change type="bugfix"> 1428 <change type="bugfix">
1429 <para lang="ru"> 1429 <para lang="ru">
1430 директива sub_filter могла изменять регистр букв при частичном совпадении. 1430 п╢п╦я─п╣п╨я┌п╦п╡п╟ sub_filter п╪п╬пЁп╩п╟ п╦п╥п╪п╣п╫я▐я┌я▄ я─п╣пЁп╦я│я┌я─ п╠я┐п╨п╡ п©я─п╦ я┤п╟я│я┌п╦я┤п╫п╬п╪ я│п╬п╡п©п╟п╢п╣п╫п╦п╦.
1431 </para> 1431 </para>
1432 <para lang="en"> 1432 <para lang="en">
1433 the "sub_filter" directive might change character case on partial match. 1433 the "sub_filter" directive might change character case on partial match.
1434 </para> 1434 </para>
1435 </change> 1435 </change>
1436 1436
1437 <change type="bugfix"> 1437 <change type="bugfix">
1438 <para lang="ru"> 1438 <para lang="ru">
1439 совместимость с HP/UX. 1439 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ HP/UX.
1440 </para> 1440 </para>
1441 <para lang="en"> 1441 <para lang="en">
1442 compatibility with HP/UX. 1442 compatibility with HP/UX.
1443 </para> 1443 </para>
1444 </change> 1444 </change>
1445 1445
1446 <change type="bugfix"> 1446 <change type="bugfix">
1447 <para lang="ru"> 1447 <para lang="ru">
1448 совместимость с компилятором AIX xlC_r. 1448 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ AIX xlC_r.
1449 </para> 1449 </para>
1450 <para lang="en"> 1450 <para lang="en">
1451 compatibility with AIX xlC_r compiler. 1451 compatibility with AIX xlC_r compiler.
1452 </para> 1452 </para>
1453 </change> 1453 </change>
1454 1454
1455 <change type="bugfix"> 1455 <change type="bugfix">
1456 <para lang="ru"> 1456 <para lang="ru">
1457 nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/> 1457 nginx я│я┤п╦я┌п╟п╩ п╠п╬п╩я▄я┬п╦п╣ п©п╟п╨п╣я┌я▀ SSLv2 п╨п╟п╨ п╬п╠я▀я┤п╫я▀п╣ я┌п╣п╨я│я┌п╬п╡я▀п╣ п╥п╟п©я─п╬я│я▀.<br/>
1458 Спасибо Miroslaw Jaworski. 1458 п║п©п╟я│п╦п╠п╬ Miroslaw Jaworski.
1459 </para> 1459 </para>
1460 <para lang="en"> 1460 <para lang="en">
1461 nginx treated large SSLv2 packets as plain requests.<br/> 1461 nginx treated large SSLv2 packets as plain requests.<br/>
1462 Thanks to Miroslaw Jaworski. 1462 Thanks to Miroslaw Jaworski.
1463 </para> 1463 </para>
1468 1468
1469 <changes ver="0.8.43" date="30.06.2010"> 1469 <changes ver="0.8.43" date="30.06.2010">
1470 1470
1471 <change type="feature"> 1471 <change type="feature">
1472 <para lang="ru"> 1472 <para lang="ru">
1473 ускорение загрузки больших баз geo-диапазонов. 1473 я┐я│п╨п╬я─п╣п╫п╦п╣ п╥п╟пЁя─я┐п╥п╨п╦ п╠п╬п╩я▄я┬п╦я┘ п╠п╟п╥ geo-п╢п╦п╟п©п╟п╥п╬п╫п╬п╡.
1474 </para> 1474 </para>
1475 <para lang="en"> 1475 <para lang="en">
1476 large geo ranges base loading speed-up. 1476 large geo ranges base loading speed-up.
1477 </para> 1477 </para>
1478 </change> 1478 </change>
1479 1479
1480 <change type="bugfix"> 1480 <change type="bugfix">
1481 <para lang="ru"> 1481 <para lang="ru">
1482 перенаправление ошибки в "location /zero {return 204;}" без изменения 1482 п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╨п╦ п╡ "location /zero {return 204;}" п╠п╣п╥ п╦п╥п╪п╣п╫п╣п╫п╦я▐
1483 кода ответа оставляло тело ошибки; 1483 п╨п╬п╢п╟ п╬я┌п╡п╣я┌п╟ п╬я│я┌п╟п╡п╩я▐п╩п╬ я┌п╣п╩п╬ п╬я┬п╦п╠п╨п╦;
1484 ошибка появилась в 0.8.42. 1484 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.42.
1485 </para> 1485 </para>
1486 <para lang="en"> 1486 <para lang="en">
1487 an error_page redirection to "location /zero {return 204;}" without 1487 an error_page redirection to "location /zero {return 204;}" without
1488 changing status code kept the error body; 1488 changing status code kept the error body;
1489 the bug had appeared in 0.8.42. 1489 the bug had appeared in 0.8.42.
1490 </para> 1490 </para>
1491 </change> 1491 </change>
1492 1492
1493 <change type="bugfix"> 1493 <change type="bugfix">
1494 <para lang="ru"> 1494 <para lang="ru">
1495 nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/> 1495 nginx п╪п╬пЁ п╥п╟п╨я─я▀п╡п╟я┌я▄ IPv6 listen я│п╬п╨п╣я┌ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
1496 Спасибо Максиму Дунину. 1496 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1497 </para> 1497 </para>
1498 <para lang="en"> 1498 <para lang="en">
1499 nginx might close IPv6 listen socket during reconfiguration.<br/> 1499 nginx might close IPv6 listen socket during reconfiguration.<br/>
1500 Thanks to Maxim Dounin. 1500 Thanks to Maxim Dounin.
1501 </para> 1501 </para>
1502 </change> 1502 </change>
1503 1503
1504 <change type="bugfix"> 1504 <change type="bugfix">
1505 <para lang="ru"> 1505 <para lang="ru">
1506 переменную $uid_set можно использовать на любой стадии обработки запроса. 1506 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $uid_set п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╟ п╩я▌п╠п╬п╧ я│я┌п╟п╢п╦п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╥п╟п©я─п╬я│п╟.
1507 </para> 1507 </para>
1508 <para lang="en"> 1508 <para lang="en">
1509 the $uid_set variable may be used at any request processing stage. 1509 the $uid_set variable may be used at any request processing stage.
1510 </para> 1510 </para>
1511 </change> 1511 </change>
1515 1515
1516 <changes ver="0.8.42" date="21.06.2010"> 1516 <changes ver="0.8.42" date="21.06.2010">
1517 1517
1518 <change type="change"> 1518 <change type="change">
1519 <para lang="ru"> 1519 <para lang="ru">
1520 теперь nginx проверяет location'ы, заданные регулярными выражениями, 1520 я┌п╣п©п╣я─я▄ nginx п©я─п╬п╡п╣я─я▐п╣я┌ location'я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦,
1521 если запрос полностью совпал с location'ом, заданным строкой префикса. 1521 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п©п╬п╩п╫п╬я│я┌я▄я▌ я│п╬п╡п©п╟п╩ я│ location'п╬п╪, п╥п╟п╢п╟п╫п╫я▀п╪ я│я┌я─п╬п╨п╬п╧ п©я─п╣я└п╦п╨я│п╟.
1522 Предыдущее поведение появилось в 0.7.1. 1522 п÷я─п╣п╢я▀п╢я┐я┴п╣п╣ п©п╬п╡п╣п╢п╣п╫п╦п╣ п©п╬я▐п╡п╦п╩п╬я│я▄ п╡ 0.7.1.
1523 </para> 1523 </para>
1524 <para lang="en"> 1524 <para lang="en">
1525 now nginx tests locations given by regular expressions, 1525 now nginx tests locations given by regular expressions,
1526 if request was matched exactly by a location given by a prefix string. 1526 if request was matched exactly by a location given by a prefix string.
1527 The previous behavior has been introduced in 0.7.1. 1527 The previous behavior has been introduced in 0.7.1.
1528 </para> 1528 </para>
1529 </change> 1529 </change>
1530 1530
1531 <change type="feature"> 1531 <change type="feature">
1532 <para lang="ru"> 1532 <para lang="ru">
1533 модуль ngx_http_scgi_module.<br/> 1533 п╪п╬п╢я┐п╩я▄ ngx_http_scgi_module.<br/>
1534 Спасибо Manlio Perillo. 1534 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
1535 </para> 1535 </para>
1536 <para lang="en"> 1536 <para lang="en">
1537 the ngx_http_scgi_module.<br/> 1537 the ngx_http_scgi_module.<br/>
1538 Thanks to Manlio Perillo. 1538 Thanks to Manlio Perillo.
1539 </para> 1539 </para>
1540 </change> 1540 </change>
1541 1541
1542 <change type="feature"> 1542 <change type="feature">
1543 <para lang="ru"> 1543 <para lang="ru">
1544 в директиве return можно добавлять текст ответа. 1544 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╪п╬п╤п╫п╬ п╢п╬п╠п╟п╡п╩я▐я┌я▄ я┌п╣п╨я│я┌ п╬я┌п╡п╣я┌п╟.
1545 </para> 1545 </para>
1546 <para lang="en"> 1546 <para lang="en">
1547 a text answer may be added to a "return" directive. 1547 a text answer may be added to a "return" directive.
1548 </para> 1548 </para>
1549 </change> 1549 </change>
1553 1553
1554 <changes ver="0.8.41" date="15.06.2010"> 1554 <changes ver="0.8.41" date="15.06.2010">
1555 1555
1556 <change type="security"> 1556 <change type="security">
1557 <para lang="ru"> 1557 <para lang="ru">
1558 рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла 1558 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ nginx/Windows п╪п╬пЁ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ п╟п╡п╟я─п╦п╧п╫п╬ п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟
1559 с неверной кодировкой UTF-8. 1559 я│ п╫п╣п╡п╣я─п╫п╬п╧ п╨п╬п╢п╦я─п╬п╡п╨п╬п╧ UTF-8.
1560 </para> 1560 </para>
1561 <para lang="en"> 1561 <para lang="en">
1562 nginx/Windows worker might be terminated abnormally if a requested file name 1562 nginx/Windows worker might be terminated abnormally if a requested file name
1563 has invalid UTF-8 encoding. 1563 has invalid UTF-8 encoding.
1564 </para> 1564 </para>
1565 </change> 1565 </change>
1566 1566
1567 <change type="change"> 1567 <change type="change">
1568 <para lang="ru"> 1568 <para lang="ru">
1569 теперь nginx разрешает использовать пробелы в строке запроса. 1569 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п©я─п╬п╠п╣п╩я▀ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟.
1570 </para> 1570 </para>
1571 <para lang="en"> 1571 <para lang="en">
1572 now nginx allows to use spaces in a request line. 1572 now nginx allows to use spaces in a request line.
1573 </para> 1573 </para>
1574 </change> 1574 </change>
1575 1575
1576 <change type="bugfix"> 1576 <change type="bugfix">
1577 <para lang="ru"> 1577 <para lang="ru">
1578 директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке 1578 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_redirect п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╦п╥п╪п╣п╫я▐п╩п╟ я│я┌я─п╬п╨я┐ "Refresh" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣
1579 ответа бэкенда.<br/> 1579 п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.<br/>
1580 Спасибо Андрею Андрееву и Максиму Согину. 1580 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п░п╫п╢я─п╣п╣п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п║п╬пЁп╦п╫я┐.
1581 </para> 1581 </para>
1582 <para lang="en"> 1582 <para lang="en">
1583 the "proxy_redirect" directive changed incorrectly a backend "Refresh" 1583 the "proxy_redirect" directive changed incorrectly a backend "Refresh"
1584 response header line.<br/> 1584 response header line.<br/>
1585 Thanks to Andrey Andreew and Max Sogin. 1585 Thanks to Andrey Andreew and Max Sogin.
1586 </para> 1586 </para>
1587 </change> 1587 </change>
1588 1588
1589 <change type="bugfix"> 1589 <change type="bugfix">
1590 <para lang="ru"> 1590 <para lang="ru">
1591 nginx не поддерживал путь без имени хоста в 1591 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©я┐я┌я▄ п╠п╣п╥ п╦п╪п╣п╫п╦ я┘п╬я│я┌п╟ п╡
1592 строке "Destination" в заголовке запроса. 1592 я│я┌я─п╬п╨п╣ "Destination" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
1593 </para> 1593 </para>
1594 <para lang="en"> 1594 <para lang="en">
1595 nginx did not support path without host name 1595 nginx did not support path without host name
1596 in "Destination" request header line. 1596 in "Destination" request header line.
1597 </para> 1597 </para>
1602 1602
1603 <changes ver="0.8.40" date="07.06.2010"> 1603 <changes ver="0.8.40" date="07.06.2010">
1604 1604
1605 <change type="security"> 1605 <change type="security">
1606 <para lang="ru"> 1606 <para lang="ru">
1607 теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/> 1607 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╦п╪я▐ п©п╬я┌п╬п╨п╟ я└п╟п╧п╩п╟ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.<br/>
1608 Спасибо Jose Antonio Vazquez Gonzalez. 1608 п║п©п╟я│п╦п╠п╬ Jose Antonio Vazquez Gonzalez.
1609 </para> 1609 </para>
1610 <para lang="en"> 1610 <para lang="en">
1611 now nginx/Windows ignores default file stream name.<br/> 1611 now nginx/Windows ignores default file stream name.<br/>
1612 Thanks to Jose Antonio Vazquez Gonzalez. 1612 Thanks to Jose Antonio Vazquez Gonzalez.
1613 </para> 1613 </para>
1614 </change> 1614 </change>
1615 1615
1616 <change type="feature"> 1616 <change type="feature">
1617 <para lang="ru"> 1617 <para lang="ru">
1618 модуль ngx_http_uwsgi_module.<br/> 1618 п╪п╬п╢я┐п╩я▄ ngx_http_uwsgi_module.<br/>
1619 Спасибо Roberto De Ioris. 1619 п║п©п╟я│п╦п╠п╬ Roberto De Ioris.
1620 </para> 1620 </para>
1621 <para lang="en"> 1621 <para lang="en">
1622 the ngx_http_uwsgi_module.<br/> 1622 the ngx_http_uwsgi_module.<br/>
1623 Thanks to Roberto De Ioris. 1623 Thanks to Roberto De Ioris.
1624 </para> 1624 </para>
1625 </change> 1625 </change>
1626 1626
1627 <change type="feature"> 1627 <change type="feature">
1628 <para lang="ru"> 1628 <para lang="ru">
1629 директива fastcgi_param со значением, начинающимся со строки "HTTP_", 1629 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_param я│п╬ п╥п╫п╟я┤п╣п╫п╦п╣п╪, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╪я│я▐ я│п╬ я│я┌я─п╬п╨п╦ "HTTP_",
1630 изменяет строку заголовка в запросе клиента. 1630 п╦п╥п╪п╣п╫я▐п╣я┌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╡ п╥п╟п©я─п╬я│п╣ п╨п╩п╦п╣п╫я┌п╟.
1631 </para> 1631 </para>
1632 <para lang="en"> 1632 <para lang="en">
1633 a "fastcgi_param" directive with value starting with "HTTP_" overrides 1633 a "fastcgi_param" directive with value starting with "HTTP_" overrides
1634 a client request header line. 1634 a client request header line.
1635 </para> 1635 </para>
1636 </change> 1636 </change>
1637 1637
1638 <change type="bugfix"> 1638 <change type="bugfix">
1639 <para lang="ru"> 1639 <para lang="ru">
1640 строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 1640 я│я┌я─п╬п╨п╦ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
1641 клиента передавались FastCGI-серверу при кэшировании. 1641 п╨п╩п╦п╣п╫я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ FastCGI-я│п╣я─п╡п╣я─я┐ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
1642 </para> 1642 </para>
1643 <para lang="en"> 1643 <para lang="en">
1644 the "If-Modified-Since", "If-Range", etc. client request header lines 1644 the "If-Modified-Since", "If-Range", etc. client request header lines
1645 were passed to FastCGI-server while caching. 1645 were passed to FastCGI-server while caching.
1646 </para> 1646 </para>
1647 </change> 1647 </change>
1648 1648
1649 <change type="bugfix"> 1649 <change type="bugfix">
1650 <para lang="ru"> 1650 <para lang="ru">
1651 listen unix domain сокет нельзя было изменить во время переконфигурации.<br/> 1651 listen unix domain я│п╬п╨п╣я┌ п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п╦п╥п╪п╣п╫п╦я┌я▄ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
1652 Спасибо Максиму Дунину. 1652 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1653 </para> 1653 </para>
1654 <para lang="en"> 1654 <para lang="en">
1655 listen unix domain socket could not be changed during reconfiguration.<br/> 1655 listen unix domain socket could not be changed during reconfiguration.<br/>
1656 Thanks to Maxim Dounin. 1656 Thanks to Maxim Dounin.
1657 </para> 1657 </para>
1662 1662
1663 <changes ver="0.8.39" date="31.05.2010"> 1663 <changes ver="0.8.39" date="31.05.2010">
1664 1664
1665 <change type="bugfix"> 1665 <change type="bugfix">
1666 <para lang="ru"> 1666 <para lang="ru">
1667 наследуемая директива alias неправильно работала во вложенном location'е. 1667 п╫п╟я│п╩п╣п╢я┐п╣п╪п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ alias п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟ п╡п╬ п╡п╩п╬п╤п╣п╫п╫п╬п╪ location'п╣.
1668 </para> 1668 </para>
1669 <para lang="en"> 1669 <para lang="en">
1670 an inherited "alias" directive worked incorrectly in inclusive location. 1670 an inherited "alias" directive worked incorrectly in inclusive location.
1671 </para> 1671 </para>
1672 </change> 1672 </change>
1673 1673
1674 <change type="bugfix"> 1674 <change type="bugfix">
1675 <para lang="ru"> 1675 <para lang="ru">
1676 в комбинации директив alias с переменными и try_files; 1676 п╡ п╨п╬п╪п╠п╦п╫п╟я├п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ alias я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╦ try_files;
1677 </para> 1677 </para>
1678 <para lang="en"> 1678 <para lang="en">
1679 in "alias" with variables and "try_files" directives combination. 1679 in "alias" with variables and "try_files" directives combination.
1680 </para> 1680 </para>
1681 </change> 1681 </change>
1682 1682
1683 <change type="bugfix"> 1683 <change type="bugfix">
1684 <para lang="ru"> 1684 <para lang="ru">
1685 listen unix domain и IPv6 сокеты не наследовались во время обновления 1685 listen unix domain п╦ IPv6 я│п╬п╨п╣я┌я▀ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐
1686 без перерыва.<br/> 1686 п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.<br/>
1687 Спасибо Максиму Дунину. 1687 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1688 </para> 1688 </para>
1689 <para lang="en"> 1689 <para lang="en">
1690 listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/> 1690 listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/>
1691 Thanks to Maxim Dounin. 1691 Thanks to Maxim Dounin.
1692 </para> 1692 </para>
1697 1697
1698 <changes ver="0.8.38" date="24.05.2010"> 1698 <changes ver="0.8.38" date="24.05.2010">
1699 1699
1700 <change type="feature"> 1700 <change type="feature">
1701 <para lang="ru"> 1701 <para lang="ru">
1702 директивы proxy_no_cache и fastcgi_no_cache. 1702 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_no_cache п╦ fastcgi_no_cache.
1703 </para> 1703 </para>
1704 <para lang="en"> 1704 <para lang="en">
1705 the "proxy_no_cache" and "fastcgi_no_cache" directives. 1705 the "proxy_no_cache" and "fastcgi_no_cache" directives.
1706 </para> 1706 </para>
1707 </change> 1707 </change>
1708 1708
1709 <change type="feature"> 1709 <change type="feature">
1710 <para lang="ru"> 1710 <para lang="ru">
1711 теперь при использовании переменной $scheme в директиве rewrite 1711 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $scheme п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite
1712 автоматически делается редирект.<br/> 1712 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╦ п╢п╣п╩п╟п╣я┌я│я▐ я─п╣п╢п╦я─п╣п╨я┌.<br/>
1713 Спасибо Piotr Sikora. 1713 п║п©п╟я│п╦п╠п╬ Piotr Sikora.
1714 </para> 1714 </para>
1715 <para lang="en"> 1715 <para lang="en">
1716 now the "rewrite" directive does a redirect automatically 1716 now the "rewrite" directive does a redirect automatically
1717 if the $scheme variable is used.<br/> 1717 if the $scheme variable is used.<br/>
1718 Thanks to Piotr Sikora. 1718 Thanks to Piotr Sikora.
1719 </para> 1719 </para>
1720 </change> 1720 </change>
1721 1721
1722 <change type="bugfix"> 1722 <change type="bugfix">
1723 <para lang="ru"> 1723 <para lang="ru">
1724 теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/> 1724 я┌п╣п©п╣я─я▄ п╥п╟п╢п╣я─п╤п╨п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ limit_req я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌ п╬п©п╦я│п╟п╫п╫п╬п╪я┐ п╟п╩пЁп╬я─п╦я┌п╪я┐.<br/>
1725 Спасибо Максиму Дунину. 1725 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1726 </para> 1726 </para>
1727 <para lang="en"> 1727 <para lang="en">
1728 now "limit_req" delay directive conforms to the described algorithm.<br/> 1728 now "limit_req" delay directive conforms to the described algorithm.<br/>
1729 Thanks to Maxim Dounin. 1729 Thanks to Maxim Dounin.
1730 </para> 1730 </para>
1731 </change> 1731 </change>
1732 1732
1733 <change type="bugfix"> 1733 <change type="bugfix">
1734 <para lang="ru"> 1734 <para lang="ru">
1735 переменную $uid_got нельзя было использовать в SSI и перловом модулях. 1735 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $uid_got п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡ SSI п╦ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩я▐я┘.
1736 </para> 1736 </para>
1737 <para lang="en"> 1737 <para lang="en">
1738 the $uid_got variable might not be used in the SSI and perl modules. 1738 the $uid_got variable might not be used in the SSI and perl modules.
1739 </para> 1739 </para>
1740 </change> 1740 </change>
1744 1744
1745 <changes ver="0.8.37" date="17.05.2010"> 1745 <changes ver="0.8.37" date="17.05.2010">
1746 1746
1747 <change type="feature"> 1747 <change type="feature">
1748 <para lang="ru"> 1748 <para lang="ru">
1749 модуль ngx_http_split_clients_module. 1749 п╪п╬п╢я┐п╩я▄ ngx_http_split_clients_module.
1750 </para> 1750 </para>
1751 <para lang="en"> 1751 <para lang="en">
1752 the ngx_http_split_clients_module. 1752 the ngx_http_split_clients_module.
1753 </para> 1753 </para>
1754 </change> 1754 </change>
1755 1755
1756 <change type="feature"> 1756 <change type="feature">
1757 <para lang="ru"> 1757 <para lang="ru">
1758 директива map поддерживает ключи больше 255 символов. 1758 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╩я▌я┤п╦ п╠п╬п╩я▄я┬п╣ 255 я│п╦п╪п╡п╬п╩п╬п╡.
1759 </para> 1759 </para>
1760 <para lang="en"> 1760 <para lang="en">
1761 the "map" directive supports keys more than 255 characters. 1761 the "map" directive supports keys more than 255 characters.
1762 </para> 1762 </para>
1763 </change> 1763 </change>
1764 1764
1765 <change type="bugfix"> 1765 <change type="bugfix">
1766 <para lang="ru"> 1766 <para lang="ru">
1767 nginx игнорировал значения "private" и "no-store" в строке "Cache-Control" 1767 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╥п╫п╟я┤п╣п╫п╦я▐ "private" п╦ "no-store" п╡ я│я┌я─п╬п╨п╣ "Cache-Control"
1768 в заголовке ответа бэкенда. 1768 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
1769 </para> 1769 </para>
1770 <para lang="en"> 1770 <para lang="en">
1771 nginx ignored the "private" and "no-store" values 1771 nginx ignored the "private" and "no-store" values
1772 in the "Cache-Control" backend response header line. 1772 in the "Cache-Control" backend response header line.
1773 </para> 1773 </para>
1774 </change> 1774 </change>
1775 1775
1776 <change type="bugfix"> 1776 <change type="bugfix">
1777 <para lang="ru"> 1777 <para lang="ru">
1778 параметр stub в SSI-директиве include не использовался, 1778 п©п╟я─п╟п╪п╣я┌я─ stub п╡ SSI-п╢п╦я─п╣п╨я┌п╦п╡п╣ include п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐,
1779 если пустой ответ имел код 200. 1779 п╣я│п╩п╦ п©я┐я│я┌п╬п╧ п╬я┌п╡п╣я┌ п╦п╪п╣п╩ п╨п╬п╢ 200.
1780 </para> 1780 </para>
1781 <para lang="en"> 1781 <para lang="en">
1782 a "stub" parameter of an "include" SSI directive was not used, 1782 a "stub" parameter of an "include" SSI directive was not used,
1783 if empty response has 200 status code. 1783 if empty response has 200 status code.
1784 </para> 1784 </para>
1785 </change> 1785 </change>
1786 1786
1787 <change type="bugfix"> 1787 <change type="bugfix">
1788 <para lang="ru"> 1788 <para lang="ru">
1789 если проксированный или FastCGI запрос внутренне перенаправлялся 1789 п╣я│п╩п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI п╥п╟п©я─п╬я│ п╡п╫я┐я┌я─п╣п╫п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩я│я▐
1790 в другой проксированный или FastCGI location, 1790 п╡ п╢я─я┐пЁп╬п╧ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI location,
1791 то в рабочем процессе мог произойти segmentation fault; 1791 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
1792 ошибка появилась в 0.8.33.<br/> 1792 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.33.<br/>
1793 Спасибо Yichun Zhang. 1793 п║п©п╟я│п╦п╠п╬ Yichun Zhang.
1794 </para> 1794 </para>
1795 <para lang="en"> 1795 <para lang="en">
1796 if a proxied or FastCGI request was internally redirected 1796 if a proxied or FastCGI request was internally redirected
1797 to another proxied or FastCGI location, 1797 to another proxied or FastCGI location,
1798 then a segmentation fault might occur in a worker process; 1798 then a segmentation fault might occur in a worker process;
1801 </para> 1801 </para>
1802 </change> 1802 </change>
1803 1803
1804 <change type="bugfix"> 1804 <change type="bugfix">
1805 <para lang="ru"> 1805 <para lang="ru">
1806 соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/> 1806 я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ IMAP п╨ я│п╣я─п╡п╣я─я┐ Zimbra п╪п╬пЁп╩п╬ п╥п╟п╡п╦я│п╫я┐я┌я▄ п╢п╬ я┌п╟п╧п╪п╟я┐я┌п╟.<br/>
1807 Спасибо Alan Batie. 1807 п║п©п╟я│п╦п╠п╬ Alan Batie.
1808 </para> 1808 </para>
1809 <para lang="en"> 1809 <para lang="en">
1810 IMAP connections may hang until they timed out 1810 IMAP connections may hang until they timed out
1811 while talking to Zimbra server.<br/> 1811 while talking to Zimbra server.<br/>
1812 Thanks to Alan Batie. 1812 Thanks to Alan Batie.
1818 1818
1819 <changes ver="0.8.36" date="22.04.2010"> 1819 <changes ver="0.8.36" date="22.04.2010">
1820 1820
1821 <change type="bugfix"> 1821 <change type="bugfix">
1822 <para lang="ru"> 1822 <para lang="ru">
1823 модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE 1823 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╪п╣я┌п╬п╢я▀ DELETE, COPY п╦ MOVE
1824 для симлинков. 1824 п╢п╩я▐ я│п╦п╪п╩п╦п╫п╨п╬п╡.
1825 </para> 1825 </para>
1826 <para lang="en"> 1826 <para lang="en">
1827 the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods 1827 the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods
1828 for symlinks. 1828 for symlinks.
1829 </para> 1829 </para>
1830 </change> 1830 </change>
1831 1831
1832 <change type="bugfix"> 1832 <change type="bugfix">
1833 <para lang="ru"> 1833 <para lang="ru">
1834 модуль SSI в подзапросах использовал закэшированные в основном запросе 1834 п╪п╬п╢я┐п╩я▄ SSI п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╣ п╡ п╬я│п╫п╬п╡п╫п╬п╪ п╥п╟п©я─п╬я│п╣
1835 значения переменных $query_string, $arg_... и им подобных. 1835 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $query_string, $arg_... п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀я┘.
1836 </para> 1836 </para>
1837 <para lang="en"> 1837 <para lang="en">
1838 values of the $query_string, $arg_..., etc. variables cached in main 1838 values of the $query_string, $arg_..., etc. variables cached in main
1839 request were used by the SSI module in subrequests. 1839 request were used by the SSI module in subrequests.
1840 </para> 1840 </para>
1841 </change> 1841 </change>
1842 1842
1843 <change type="bugfix"> 1843 <change type="bugfix">
1844 <para lang="ru"> 1844 <para lang="ru">
1845 значение переменной повторно экранировалось после каждого вывода 1845 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п©п╬п╡я┌п╬я─п╫п╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╬я│я▄ п©п╬я│п╩п╣ п╨п╟п╤п╢п╬пЁп╬ п╡я▀п╡п╬п╢п╟
1846 SSI-команды echo; 1846 SSI-п╨п╬п╪п╟п╫п╢я▀ echo;
1847 ошибка появилась в 0.6.14. 1847 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.14.
1848 </para> 1848 </para>
1849 <para lang="en"> 1849 <para lang="en">
1850 a variable value was repeatedly encoded after each 1850 a variable value was repeatedly encoded after each
1851 an "echo" SSI-command output; 1851 an "echo" SSI-command output;
1852 the bug had appeared in 0.6.14. 1852 the bug had appeared in 0.6.14.
1853 </para> 1853 </para>
1854 </change> 1854 </change>
1855 1855
1856 <change type="bugfix"> 1856 <change type="bugfix">
1857 <para lang="ru"> 1857 <para lang="ru">
1858 рабочий процесс зависал при запросе файла FIFO.<br/> 1858 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╥п╟п╡п╦я│п╟п╩ п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟ FIFO.<br/>
1859 Спасибо Vicente Aguilar и Максиму Дунину. 1859 п║п©п╟я│п╦п╠п╬ Vicente Aguilar п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1860 </para> 1860 </para>
1861 <para lang="en"> 1861 <para lang="en">
1862 a worker process hung if a FIFO file was requested.<br/> 1862 a worker process hung if a FIFO file was requested.<br/>
1863 Thanks to Vicente Aguilar and Maxim Dounin. 1863 Thanks to Vicente Aguilar and Maxim Dounin.
1864 </para> 1864 </para>
1865 </change> 1865 </change>
1866 1866
1867 <change type="bugfix"> 1867 <change type="bugfix">
1868 <para lang="ru"> 1868 <para lang="ru">
1869 совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/> 1869 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ OpenSSL-1.0.0 п╫п╟ 64-п╠п╦я┌п╫п╬п╪ Linux.<br/>
1870 Спасибо Максиму Дунину. 1870 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1871 </para> 1871 </para>
1872 <para lang="en"> 1872 <para lang="en">
1873 OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/> 1873 OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
1874 Thanks to Maxim Dounin. 1874 Thanks to Maxim Dounin.
1875 </para> 1875 </para>
1876 </change> 1876 </change>
1877 1877
1878 <change type="bugfix"> 1878 <change type="bugfix">
1879 <para lang="ru"> 1879 <para lang="ru">
1880 nginx не собирался с параметром --without-http-cache; 1880 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
1881 ошибка появилась в 0.8.35. 1881 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.35.
1882 </para> 1882 </para>
1883 <para lang="en"> 1883 <para lang="en">
1884 nginx could not be built --without-http-cache; 1884 nginx could not be built --without-http-cache;
1885 the bug had appeared in 0.8.35. 1885 the bug had appeared in 0.8.35.
1886 </para> 1886 </para>
1891 1891
1892 <changes ver="0.8.35" date="01.04.2010"> 1892 <changes ver="0.8.35" date="01.04.2010">
1893 1893
1894 <change type="change"> 1894 <change type="change">
1895 <para lang="ru"> 1895 <para lang="ru">
1896 теперь charset-фильтр работает до SSI-фильтра. 1896 я┌п╣п©п╣я─я▄ charset-я└п╦п╩я▄я┌я─ я─п╟п╠п╬я┌п╟п╣я┌ п╢п╬ SSI-я└п╦п╩я▄я┌я─п╟.
1897 </para> 1897 </para>
1898 <para lang="en"> 1898 <para lang="en">
1899 now the charset filter runs before the SSI filter. 1899 now the charset filter runs before the SSI filter.
1900 </para> 1900 </para>
1901 </change> 1901 </change>
1902 1902
1903 <change type="feature"> 1903 <change type="feature">
1904 <para lang="ru"> 1904 <para lang="ru">
1905 директива chunked_transfer_encoding. 1905 п╢п╦я─п╣п╨я┌п╦п╡п╟ chunked_transfer_encoding.
1906 </para> 1906 </para>
1907 <para lang="en"> 1907 <para lang="en">
1908 the "chunked_transfer_encoding" directive. 1908 the "chunked_transfer_encoding" directive.
1909 </para> 1909 </para>
1910 </change> 1910 </change>
1911 1911
1912 <change type="bugfix"> 1912 <change type="bugfix">
1913 <para lang="ru"> 1913 <para lang="ru">
1914 символ "&amp;" при копировании в аргументы в правилах rewrite не экранировался. 1914 я│п╦п╪п╡п╬п╩ "&amp;" п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╡ п©я─п╟п╡п╦п╩п╟я┘ rewrite п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩я│я▐.
1915 </para> 1915 </para>
1916 <para lang="en"> 1916 <para lang="en">
1917 an "&amp;" character was not escaped when it was copied in arguments part 1917 an "&amp;" character was not escaped when it was copied in arguments part
1918 in a rewrite rule. 1918 in a rewrite rule.
1919 </para> 1919 </para>
1920 </change> 1920 </change>
1921 1921
1922 <change type="bugfix"> 1922 <change type="bugfix">
1923 <para lang="ru"> 1923 <para lang="ru">
1924 nginx мог завершаться аварийно во время обработки сигнала или 1924 nginx п╪п╬пЁ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ п╟п╡п╟я─п╦п╧п╫п╬ п╡п╬ п╡я─п╣п╪я▐ п╬п╠я─п╟п╠п╬я┌п╨п╦ я│п╦пЁп╫п╟п╩п╟ п╦п╩п╦
1925 при использовании директивы timer_resolution на платформах, 1925 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ timer_resolution п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘,
1926 не поддерживающих методы kqueue или eventport.<br/> 1926 п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ п╪п╣я┌п╬п╢я▀ kqueue п╦п╩п╦ eventport.<br/>
1927 Спасибо George Xie и Максиму Дунину. 1927 п║п©п╟я│п╦п╠п╬ George Xie п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1928 </para> 1928 </para>
1929 <para lang="en"> 1929 <para lang="en">
1930 nginx might be terminated abnormally 1930 nginx might be terminated abnormally
1931 while a signal processing or if the directive "timer_resolution" was used 1931 while a signal processing or if the directive "timer_resolution" was used
1932 on platforms which do not support kqueue or eventport notification methods.<br/> 1932 on platforms which do not support kqueue or eventport notification methods.<br/>
1934 </para> 1934 </para>
1935 </change> 1935 </change>
1936 1936
1937 <change type="bugfix"> 1937 <change type="bugfix">
1938 <para lang="ru"> 1938 <para lang="ru">
1939 если временные файлы и постоянное место хранения располагались на разных 1939 п╣я│п╩п╦ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╦ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐ я─п╟я│п©п╬п╩п╟пЁп╟п╩п╦я│я▄ п╫п╟ я─п╟п╥п╫я▀я┘
1940 файловых системах, то у постоянных файлов время изменения было неверным.<br/> 1940 я└п╟п╧п╩п╬п╡я▀я┘ я│п╦я│я┌п╣п╪п╟я┘, я┌п╬ я┐ п©п╬я│я┌п╬я▐п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡я─п╣п╪я▐ п╦п╥п╪п╣п╫п╣п╫п╦я▐ п╠я▀п╩п╬ п╫п╣п╡п╣я─п╫я▀п╪.<br/>
1941 Спасибо Максиму Дунину. 1941 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1942 </para> 1942 </para>
1943 <para lang="en"> 1943 <para lang="en">
1944 if temporary files and permanent storage area resided at different 1944 if temporary files and permanent storage area resided at different
1945 file systems, then permanent file modification times were incorrect.<br/> 1945 file systems, then permanent file modification times were incorrect.<br/>
1946 Thanks to Maxim Dounin. 1946 Thanks to Maxim Dounin.
1947 </para> 1947 </para>
1948 </change> 1948 </change>
1949 1949
1950 <change type="bugfix"> 1950 <change type="bugfix">
1951 <para lang="ru"> 1951 <para lang="ru">
1952 модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid 1952 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┬п╦п╠п╨я┐ "memcached sent invalid
1953 trailer".<br/> 1953 trailer".<br/>
1954 Спасибо Максиму Дунину. 1954 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1955 </para> 1955 </para>
1956 <para lang="en"> 1956 <para lang="en">
1957 ngx_http_memcached_module might issue the error message "memcached sent invalid 1957 ngx_http_memcached_module might issue the error message "memcached sent invalid
1958 trailer".<br/> 1958 trailer".<br/>
1959 Thanks to Maxim Dounin. 1959 Thanks to Maxim Dounin.
1960 </para> 1960 </para>
1961 </change> 1961 </change>
1962 1962
1963 <change type="bugfix"> 1963 <change type="bugfix">
1964 <para lang="ru"> 1964 <para lang="ru">
1965 nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/> 1965 nginx п╫п╣ п╪п╬пЁ я│п╬п╠я─п╟я┌я▄ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ zlib-1.2.4 п╦п╥ п╦я│я┘п╬п╢п╫я▀я┘ я┌п╣п╨я│я┌п╬п╡.<br/>
1966 Спасибо Максиму Дунину. 1966 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1967 </para> 1967 </para>
1968 <para lang="en"> 1968 <para lang="en">
1969 nginx could not built zlib-1.2.4 library using the library sources.<br/> 1969 nginx could not built zlib-1.2.4 library using the library sources.<br/>
1970 Thanks to Maxim Dounin. 1970 Thanks to Maxim Dounin.
1971 </para> 1971 </para>
1972 </change> 1972 </change>
1973 1973
1974 <change type="bugfix"> 1974 <change type="bugfix">
1975 <para lang="ru"> 1975 <para lang="ru">
1976 в рабочем процессе происходил segmentation fault, 1976 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
1977 если перед ответом FastCGI-сервера было много вывода в stderr; 1977 п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ FastCGI-я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╬ п╪п╫п╬пЁп╬ п╡я▀п╡п╬п╢п╟ п╡ stderr;
1978 ошибка появилась в 0.8.34.<br/> 1978 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.34.<br/>
1979 Спасибо Максиму Дунину. 1979 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1980 </para> 1980 </para>
1981 <para lang="en"> 1981 <para lang="en">
1982 a segmentation fault occurred in a worker process, 1982 a segmentation fault occurred in a worker process,
1983 if there was large stderr output before FastCGI response; 1983 if there was large stderr output before FastCGI response;
1984 the bug had appeared in 0.8.34.<br/> 1984 the bug had appeared in 0.8.34.<br/>
1991 1991
1992 <changes ver="0.8.34" date="03.03.2010"> 1992 <changes ver="0.8.34" date="03.03.2010">
1993 1993
1994 <change type="bugfix"> 1994 <change type="bugfix">
1995 <para lang="ru"> 1995 <para lang="ru">
1996 nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/> 1996 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╡я│п╣ я┬п╦я└я─я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╡ п╨п╩п╦п╣п╫я┌я│п╨п╦я┘ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟я┘.<br/>
1997 Спасибо Иннокентию Еникееву. 1997 п║п©п╟я│п╦п╠п╬ п≤п╫п╫п╬п╨п╣п╫я┌п╦я▌ п∙п╫п╦п╨п╣п╣п╡я┐.
1998 </para> 1998 </para>
1999 <para lang="en"> 1999 <para lang="en">
2000 nginx did not support all ciphers and digests used in client certificates.<br/> 2000 nginx did not support all ciphers and digests used in client certificates.<br/>
2001 Thanks to Innocenty Enikeew. 2001 Thanks to Innocenty Enikeew.
2002 </para> 2002 </para>
2003 </change> 2003 </change>
2004 2004
2005 <change type="bugfix"> 2005 <change type="bugfix">
2006 <para lang="ru"> 2006 <para lang="ru">
2007 nginx неправильно кэшировал FastCGI-ответы, если перед ответом было 2007 nginx п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╨я█я┬п╦я─п╬п╡п╟п╩ FastCGI-п╬я┌п╡п╣я┌я▀, п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ п╠я▀п╩п╬
2008 много вывода в stderr. 2008 п╪п╫п╬пЁп╬ п╡я▀п╡п╬п╢п╟ п╡ stderr.
2009 </para> 2009 </para>
2010 <para lang="en"> 2010 <para lang="en">
2011 nginx cached incorrectly FastCGI responses if there was large stderr output 2011 nginx cached incorrectly FastCGI responses if there was large stderr output
2012 before response. 2012 before response.
2013 </para> 2013 </para>
2014 </change> 2014 </change>
2015 2015
2016 <change type="bugfix"> 2016 <change type="bugfix">
2017 <para lang="ru"> 2017 <para lang="ru">
2018 nginx не поддерживал HTTPS-рефереры. 2018 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ HTTPS-я─п╣я└п╣я─п╣я─я▀.
2019 </para> 2019 </para>
2020 <para lang="en"> 2020 <para lang="en">
2021 nginx did not support HTTPS referrers. 2021 nginx did not support HTTPS referrers.
2022 </para> 2022 </para>
2023 </change> 2023 </change>
2024 2024
2025 <change type="bugfix"> 2025 <change type="bugfix">
2026 <para lang="ru"> 2026 <para lang="ru">
2027 nginx/Windows мог не находить файлы, если путь в конфигурации был задан 2027 nginx/Windows п╪п╬пЁ п╫п╣ п╫п╟я┘п╬п╢п╦я┌я▄ я└п╟п╧п╩я▀, п╣я│п╩п╦ п©я┐я┌я▄ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╠я▀п╩ п╥п╟п╢п╟п╫
2028 в другом регистре; 2028 п╡ п╢я─я┐пЁп╬п╪ я─п╣пЁп╦я│я┌я─п╣;
2029 ошибка появилась в 0.8.33. 2029 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.33.
2030 </para> 2030 </para>
2031 <para lang="en"> 2031 <para lang="en">
2032 nginx/Windows might not find file if path in configuration was given 2032 nginx/Windows might not find file if path in configuration was given
2033 in other character case; 2033 in other character case;
2034 the bug had appeared in 0.8.33. 2034 the bug had appeared in 0.8.33.
2035 </para> 2035 </para>
2036 </change> 2036 </change>
2037 2037
2038 <change type="bugfix"> 2038 <change type="bugfix">
2039 <para lang="ru"> 2039 <para lang="ru">
2040 переменная $date_local выдавала неверное время, 2040 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $date_local п╡я▀п╢п╟п╡п╟п╩п╟ п╫п╣п╡п╣я─п╫п╬п╣ п╡я─п╣п╪я▐,
2041 если использовался формат "%s".<br/> 2041 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я└п╬я─п╪п╟я┌ "%s".<br/>
2042 Спасибо Максиму Дунину. 2042 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2043 </para> 2043 </para>
2044 <para lang="en"> 2044 <para lang="en">
2045 the $date_local variable has an incorrect value, 2045 the $date_local variable has an incorrect value,
2046 if the "%s" format was used.<br/> 2046 if the "%s" format was used.<br/>
2047 Thanks to Maxim Dounin. 2047 Thanks to Maxim Dounin.
2048 </para> 2048 </para>
2049 </change> 2049 </change>
2050 2050
2051 <change type="bugfix"> 2051 <change type="bugfix">
2052 <para lang="ru"> 2052 <para lang="ru">
2053 если ssl_session_cache не был установлен или установлен в none, 2053 п╣я│п╩п╦ ssl_session_cache п╫п╣ п╠я▀п╩ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╦п╩п╦ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╡ none,
2054 то при проверке клиентского сертификаты могла происходить 2054 я┌п╬ п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌я▀ п╪п╬пЁп╩п╟ п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄
2055 ошибка "session id context uninitialized"; 2055 п╬я┬п╦п╠п╨п╟ "session id context uninitialized";
2056 ошибка появилась в 0.7.1. 2056 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.
2057 </para> 2057 </para>
2058 <para lang="en"> 2058 <para lang="en">
2059 if ssl_session_cache was not set or was set to "none", 2059 if ssl_session_cache was not set or was set to "none",
2060 then during client certificate verify 2060 then during client certificate verify
2061 the error "session id context uninitialized" might occur; 2061 the error "session id context uninitialized" might occur;
2063 </para> 2063 </para>
2064 </change> 2064 </change>
2065 2065
2066 <change type="bugfix"> 2066 <change type="bugfix">
2067 <para lang="ru"> 2067 <para lang="ru">
2068 geo-диапазон возвращал значение по умолчанию, если диапазон включал 2068 geo-п╢п╦п╟п©п╟п╥п╬п╫ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌, п╣я│п╩п╦ п╢п╦п╟п©п╟п╥п╬п╫ п╡п╨п╩я▌я┤п╟п╩
2069 в себя одну и более сетей размером /16 и не начинался на границе сети 2069 п╡ я│п╣п╠я▐ п╬п╢п╫я┐ п╦ п╠п╬п╩п╣п╣ я│п╣я┌п╣п╧ я─п╟п╥п╪п╣я─п╬п╪ /16 п╦ п╫п╣ п╫п╟я┤п╦п╫п╟п╩я│я▐ п╫п╟ пЁя─п╟п╫п╦я├п╣ я│п╣я┌п╦
2070 размером /16. 2070 я─п╟п╥п╪п╣я─п╬п╪ /16.
2071 </para> 2071 </para>
2072 <para lang="en"> 2072 <para lang="en">
2073 a geo range returned default value if the range included two or more 2073 a geo range returned default value if the range included two or more
2074 /16 networks and did not begin at /16 network boundary. 2074 /16 networks and did not begin at /16 network boundary.
2075 </para> 2075 </para>
2076 </change> 2076 </change>
2077 2077
2078 <change type="bugfix"> 2078 <change type="bugfix">
2079 <para lang="ru"> 2079 <para lang="ru">
2080 блок, используемый в параметре stub в SSI-директиве include, 2080 п╠п╩п╬п╨, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╧ п╡ п©п╟я─п╟п╪п╣я┌я─п╣ stub п╡ SSI-п╢п╦я─п╣п╨я┌п╦п╡п╣ include,
2081 выводился с MIME-типом "text/plain". 2081 п╡я▀п╡п╬п╢п╦п╩я│я▐ я│ MIME-я┌п╦п©п╬п╪ "text/plain".
2082 </para> 2082 </para>
2083 <para lang="en"> 2083 <para lang="en">
2084 a block used in a "stub" parameter of an "include" SSI directive 2084 a block used in a "stub" parameter of an "include" SSI directive
2085 was output with "text/plain" MIME type. 2085 was output with "text/plain" MIME type.
2086 </para> 2086 </para>
2087 </change> 2087 </change>
2088 2088
2089 <change type="bugfix"> 2089 <change type="bugfix">
2090 <para lang="ru"> 2090 <para lang="ru">
2091 $r->sleep() не работал; 2091 $r->sleep() п╫п╣ я─п╟п╠п╬я┌п╟п╩;
2092 ошибка появилась в 0.8.11. 2092 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2093 </para> 2093 </para>
2094 <para lang="en"> 2094 <para lang="en">
2095 $r->sleep() did not work; 2095 $r->sleep() did not work;
2096 the bug had appeared in 0.8.11. 2096 the bug had appeared in 0.8.11.
2097 </para> 2097 </para>
2102 2102
2103 <changes ver="0.8.33" date="01.02.2010"> 2103 <changes ver="0.8.33" date="01.02.2010">
2104 2104
2105 <change type="security"> 2105 <change type="security">
2106 <para lang="ru"> 2106 <para lang="ru">
2107 теперь nginx/Windows игнорирует пробелы в конце URI.<br/> 2107 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п©я─п╬п╠п╣п╩я▀ п╡ п╨п╬п╫я├п╣ URI.<br/>
2108 Спасибо Dan Crowley, Core Security Technologies. 2108 п║п©п╟я│п╦п╠п╬ Dan Crowley, Core Security Technologies.
2109 </para> 2109 </para>
2110 <para lang="en"> 2110 <para lang="en">
2111 now nginx/Windows ignores trailing spaces in URI.<br/> 2111 now nginx/Windows ignores trailing spaces in URI.<br/>
2112 Thanks to Dan Crowley, Core Security Technologies. 2112 Thanks to Dan Crowley, Core Security Technologies.
2113 </para> 2113 </para>
2114 </change> 2114 </change>
2115 2115
2116 <change type="security"> 2116 <change type="security">
2117 <para lang="ru"> 2117 <para lang="ru">
2118 теперь nginx/Windows игнорирует короткие имена файлов.<br/> 2118 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╨п╬я─п╬я┌п╨п╦п╣ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡.<br/>
2119 Спасибо Dan Crowley, Core Security Technologies. 2119 п║п©п╟я│п╦п╠п╬ Dan Crowley, Core Security Technologies.
2120 </para> 2120 </para>
2121 <para lang="en"> 2121 <para lang="en">
2122 now nginx/Windows ignores short files names.<br/> 2122 now nginx/Windows ignores short files names.<br/>
2123 Thanks to Dan Crowley, Core Security Technologies. 2123 Thanks to Dan Crowley, Core Security Technologies.
2124 </para> 2124 </para>
2125 </change> 2125 </change>
2126 2126
2127 <change type="change"> 2127 <change type="change">
2128 <para lang="ru"> 2128 <para lang="ru">
2129 теперь keepalive соединения после запросов POST не запрещаются для 2129 я┌п╣п©п╣я─я▄ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п©п╬я│п╩п╣ п╥п╟п©я─п╬я│п╬п╡ POST п╫п╣ п╥п╟п©я─п╣я┴п╟я▌я┌я│я▐ п╢п╩я▐
2130 MSIE 7.0+.<br/> 2130 MSIE 7.0+.<br/>
2131 Спасибо Adam Lounds. 2131 п║п©п╟я│п╦п╠п╬ Adam Lounds.
2132 </para> 2132 </para>
2133 <para lang="en"> 2133 <para lang="en">
2134 now keepalive connections after POST requests are not disabled for 2134 now keepalive connections after POST requests are not disabled for
2135 MSIE 7.0+.<br/> 2135 MSIE 7.0+.<br/>
2136 Thanks to Adam Lounds. 2136 Thanks to Adam Lounds.
2137 </para> 2137 </para>
2138 </change> 2138 </change>
2139 2139
2140 <change type="workaround"> 2140 <change type="workaround">
2141 <para lang="ru"> 2141 <para lang="ru">
2142 теперь keepalive соединения запрещены для Safari.<br/> 2142 я┌п╣п©п╣я─я▄ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╥п╟п©я─п╣я┴п╣п╫я▀ п╢п╩я▐ Safari.<br/>
2143 Спасибо Joshua Sierles. 2143 п║п©п╟я│п╦п╠п╬ Joshua Sierles.
2144 </para> 2144 </para>
2145 <para lang="en"> 2145 <para lang="en">
2146 now keepalive connections are disabled for Safari.<br/> 2146 now keepalive connections are disabled for Safari.<br/>
2147 Thanks to Joshua Sierles. 2147 Thanks to Joshua Sierles.
2148 </para> 2148 </para>
2149 </change> 2149 </change>
2150 2150
2151 <change type="bugfix"> 2151 <change type="bugfix">
2152 <para lang="ru"> 2152 <para lang="ru">
2153 если проксированный или FastCGI запрос внутренне перенаправлялся 2153 п╣я│п╩п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI п╥п╟п©я─п╬я│ п╡п╫я┐я┌я─п╣п╫п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩я│я▐
2154 в другой проксированный или FastCGI location, то переменная 2154 п╡ п╢я─я┐пЁп╬п╧ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI location, я┌п╬ п©п╣я─п╣п╪п╣п╫п╫п╟я▐
2155 $upstream_response_time могла иметь ненормально большое значение; 2155 $upstream_response_time п╪п╬пЁп╩п╟ п╦п╪п╣я┌я▄ п╫п╣п╫п╬я─п╪п╟п╩я▄п╫п╬ п╠п╬п╩я▄я┬п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣;
2156 ошибка появилась в 0.8.7. 2156 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.7.
2157 </para> 2157 </para>
2158 <para lang="en"> 2158 <para lang="en">
2159 if a proxied or FastCGI request was internally redirected 2159 if a proxied or FastCGI request was internally redirected
2160 to another proxied or FastCGI location, 2160 to another proxied or FastCGI location,
2161 then $upstream_response_time variable may have abnormally large value; 2161 then $upstream_response_time variable may have abnormally large value;
2163 </para> 2163 </para>
2164 </change> 2164 </change>
2165 2165
2166 <change type="bugfix"> 2166 <change type="bugfix">
2167 <para lang="ru"> 2167 <para lang="ru">
2168 в рабочем процессе мог произойти segmentation fault 2168 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
2169 при отбрасывания тела запроса; 2169 п©я─п╦ п╬я┌п╠я─п╟я│я▀п╡п╟п╫п╦я▐ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟;
2170 ошибка появилась в 0.8.11. 2170 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2171 </para> 2171 </para>
2172 <para lang="en"> 2172 <para lang="en">
2173 a segmentation fault might occur in a worker process, 2173 a segmentation fault might occur in a worker process,
2174 while discarding a request body; 2174 while discarding a request body;
2175 the bug had appeared in 0.8.11. 2175 the bug had appeared in 0.8.11.
2181 2181
2182 <changes ver="0.8.32" date="11.01.2010"> 2182 <changes ver="0.8.32" date="11.01.2010">
2183 2183
2184 <change type="bugfix"> 2184 <change type="bugfix">
2185 <para lang="ru"> 2185 <para lang="ru">
2186 ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/> 2186 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╡ ngx_http_autoindex_module.<br/>
2187 Спасибо Максиму Дунину. 2187 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2188 </para> 2188 </para>
2189 <para lang="en"> 2189 <para lang="en">
2190 UTF-8 encoding usage in the ngx_http_autoindex_module.<br/> 2190 UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
2191 Thanks to Maxim Dounin. 2191 Thanks to Maxim Dounin.
2192 </para> 2192 </para>
2193 </change> 2193 </change>
2194 2194
2195 <change type="bugfix"> 2195 <change type="bugfix">
2196 <para lang="ru"> 2196 <para lang="ru">
2197 именованные выделения в регулярных выражениях работали только для 2197 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ я─п╟п╠п╬я┌п╟п╩п╦ я┌п╬п╩я▄п╨п╬ п╢п╩я▐
2198 двух переменных.<br/> 2198 п╢п╡я┐я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘.<br/>
2199 Спасибо Максиму Дунину. 2199 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2200 </para> 2200 </para>
2201 <para lang="en"> 2201 <para lang="en">
2202 regular expression named captures worked for two names only.<br/> 2202 regular expression named captures worked for two names only.<br/>
2203 Thanks to Maxim Dounin. 2203 Thanks to Maxim Dounin.
2204 </para> 2204 </para>
2205 </change> 2205 </change>
2206 2206
2207 <change type="bugfix"> 2207 <change type="bugfix">
2208 <para lang="ru"> 2208 <para lang="ru">
2209 теперь в строке заголовка запроса "Host" используется имя "localhost", 2209 я┌п╣п©п╣я─я▄ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host" п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╦п╪я▐ "localhost",
2210 если в директиве auth_http указан unix domain сокет.<br/> 2210 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_http я┐п╨п╟п╥п╟п╫ unix domain я│п╬п╨п╣я┌.<br/>
2211 Спасибо Максиму Дунину. 2211 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2212 </para> 2212 </para>
2213 <para lang="en"> 2213 <para lang="en">
2214 now the "localhost" name is used in the "Host" request header line, 2214 now the "localhost" name is used in the "Host" request header line,
2215 if an unix domain socket is defined in the "auth_http" directive.<br/> 2215 if an unix domain socket is defined in the "auth_http" directive.<br/>
2216 Thanks to Maxim Dounin. 2216 Thanks to Maxim Dounin.
2217 </para> 2217 </para>
2218 </change> 2218 </change>
2219 2219
2220 <change type="bugfix"> 2220 <change type="bugfix">
2221 <para lang="ru"> 2221 <para lang="ru">
2222 nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/> 2222 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╣я─п╣п╢п╟я┤я┐ chunk'п╟п╪п╦ п╢п╩я▐ 201-я▀я┘ п╬я┌п╡п╣я┌п╬п╡.<br/>
2223 Спасибо Julian Reich. 2223 п║п©п╟я│п╦п╠п╬ Julian Reich.
2224 </para> 2224 </para>
2225 <para lang="en"> 2225 <para lang="en">
2226 nginx did not support chunked transfer encoding for 201 responses.<br/> 2226 nginx did not support chunked transfer encoding for 201 responses.<br/>
2227 Thanks to Julian Reich. 2227 Thanks to Julian Reich.
2228 </para> 2228 </para>
2229 </change> 2229 </change>
2230 2230
2231 <change type="bugfix"> 2231 <change type="bugfix">
2232 <para lang="ru"> 2232 <para lang="ru">
2233 если директива "expires modified" выставляла дату в прошлом, то в строке 2233 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ "expires modified" п╡я▀я│я┌п╟п╡п╩я▐п╩п╟ п╢п╟я┌я┐ п╡ п©я─п╬я┬п╩п╬п╪, я┌п╬ п╡ я│я┌я─п╬п╨п╣
2234 заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/> 2234 п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Cache-Control" п╡я▀п╢п╟п╡п╟п╩п╬я│я▄ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫п╬п╣ я┤п╦я│п╩п╬.<br/>
2235 Спасибо Алексею Капранову. 2235 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╣я▌ п п╟п©я─п╟п╫п╬п╡я┐.
2236 </para> 2236 </para>
2237 <para lang="en"> 2237 <para lang="en">
2238 if the "expires modified" set date in the past, then a negative number 2238 if the "expires modified" set date in the past, then a negative number
2239 was set in the "Cache-Control" response header line.<br/> 2239 was set in the "Cache-Control" response header line.<br/>
2240 Thanks to Alex Kapranoff. 2240 Thanks to Alex Kapranoff.
2246 2246
2247 <changes ver="0.8.31" date="23.12.2009"> 2247 <changes ver="0.8.31" date="23.12.2009">
2248 2248
2249 <change type="feature"> 2249 <change type="feature">
2250 <para lang="ru"> 2250 <para lang="ru">
2251 теперь директива error_page может перенаправлять ответы со статусом 301 и 302. 2251 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╪п╬п╤п╣я┌ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐я┌я▄ п╬я┌п╡п╣я┌я▀ я│п╬ я│я┌п╟я┌я┐я│п╬п╪ 301 п╦ 302.
2252 </para> 2252 </para>
2253 <para lang="en"> 2253 <para lang="en">
2254 now the "error_page" directive may redirect the 301 and 302 responses. 2254 now the "error_page" directive may redirect the 301 and 302 responses.
2255 </para> 2255 </para>
2256 </change> 2256 </change>
2257 2257
2258 <change type="feature"> 2258 <change type="feature">
2259 <para lang="ru"> 2259 <para lang="ru">
2260 переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/> 2260 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $geoip_city_continent_code, $geoip_latitude п╦ $geoip_longitude.<br/>
2261 Спасибо Arvind Sundararajan. 2261 п║п©п╟я│п╦п╠п╬ Arvind Sundararajan.
2262 </para> 2262 </para>
2263 <para lang="en"> 2263 <para lang="en">
2264 the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude 2264 the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
2265 variables.<br/> 2265 variables.<br/>
2266 Thanks to Arvind Sundararajan. 2266 Thanks to Arvind Sundararajan.
2267 </para> 2267 </para>
2268 </change> 2268 </change>
2269 2269
2270 <change type="feature"> 2270 <change type="feature">
2271 <para lang="ru"> 2271 <para lang="ru">
2272 модуль ngx_http_image_filter_module теперь всегда удаляет 2272 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ я┐п╢п╟п╩я▐п╣я┌
2273 EXIF и другие данные, если они занимают больше 5% в JPEG-файле. 2273 EXIF п╦ п╢я─я┐пЁп╦п╣ п╢п╟п╫п╫я▀п╣, п╣я│п╩п╦ п╬п╫п╦ п╥п╟п╫п╦п╪п╟я▌я┌ п╠п╬п╩я▄я┬п╣ 5% п╡ JPEG-я└п╟п╧п╩п╣.
2274 </para> 2274 </para>
2275 <para lang="en"> 2275 <para lang="en">
2276 now the ngx_http_image_filter_module deletes always EXIF and other 2276 now the ngx_http_image_filter_module deletes always EXIF and other
2277 application specific data if the data consume more than 5% of a JPEG file. 2277 application specific data if the data consume more than 5% of a JPEG file.
2278 </para> 2278 </para>
2279 </change> 2279 </change>
2280 2280
2281 <change type="bugfix"> 2281 <change type="bugfix">
2282 <para lang="ru"> 2282 <para lang="ru">
2283 nginx закрывал соединение при запросе закэшированного 2283 nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п©я─п╦ п╥п╟п©я─п╬я│п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬пЁп╬
2284 ответа с пустым телом.<br/> 2284 п╬я┌п╡п╣я┌п╟ я│ п©я┐я│я┌я▀п╪ я┌п╣п╩п╬п╪.<br/>
2285 Спасибо Piotr Sikora. 2285 п║п©п╟я│п╦п╠п╬ Piotr Sikora.
2286 </para> 2286 </para>
2287 <para lang="en"> 2287 <para lang="en">
2288 nginx closed a connection if a cached response had an empty body.<br/> 2288 nginx closed a connection if a cached response had an empty body.<br/>
2289 Thanks to Piotr Sikora. 2289 Thanks to Piotr Sikora.
2290 </para> 2290 </para>
2291 </change> 2291 </change>
2292 2292
2293 <change type="bugfix"> 2293 <change type="bugfix">
2294 <para lang="ru"> 2294 <para lang="ru">
2295 nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/> 2295 nginx п╪п╬пЁ п╫п╣ я│п╬п╠п╦я─п╟я┌я▄я│я▐ gcc 4.x п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╦ -O2 п╦ п╡я▀я┬п╣.<br/>
2296 Спасибо Максиму Дунину и Денису Латыпову. 2296 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐ п╦ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
2297 </para> 2297 </para>
2298 <para lang="en"> 2298 <para lang="en">
2299 nginx might not be built by gcc 4.x if the -O2 or higher optimization option 2299 nginx might not be built by gcc 4.x if the -O2 or higher optimization option
2300 was used.<br/> 2300 was used.<br/>
2301 Thanks to Maxim Dounin and Denis F. Latypoff. 2301 Thanks to Maxim Dounin and Denis F. Latypoff.
2302 </para> 2302 </para>
2303 </change> 2303 </change>
2304 2304
2305 <change type="bugfix"> 2305 <change type="bugfix">
2306 <para lang="ru"> 2306 <para lang="ru">
2307 регулярные выражения в location всегда тестировались с учётом регистра; 2307 я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ location п╡я│п╣пЁп╢п╟ я┌п╣я│я┌п╦я─п╬п╡п╟п╩п╦я│я▄ я│ я┐я┤я▒я┌п╬п╪ я─п╣пЁп╦я│я┌я─п╟;
2308 ошибка появилась в 0.8.25. 2308 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2309 </para> 2309 </para>
2310 <para lang="en"> 2310 <para lang="en">
2311 regular expressions in location were always tested in case-sensitive mode; 2311 regular expressions in location were always tested in case-sensitive mode;
2312 the bug had appeared in 0.8.25. 2312 the bug had appeared in 0.8.25.
2313 </para> 2313 </para>
2314 </change> 2314 </change>
2315 2315
2316 <change type="bugfix"> 2316 <change type="bugfix">
2317 <para lang="ru"> 2317 <para lang="ru">
2318 nginx кэшировал 304 ответ, если в заголовке проксируемого запроса 2318 nginx п╨я█я┬п╦я─п╬п╡п╟п╩ 304 п╬я┌п╡п╣я┌, п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п©я─п╬п╨я│п╦я─я┐п╣п╪п╬пЁп╬ п╥п╟п©я─п╬я│п╟
2319 была строка "If-None-Match".<br/> 2319 п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ "If-None-Match".<br/>
2320 Спасибо Tim Dettrick и David Kostal. 2320 п║п©п╟я│п╦п╠п╬ Tim Dettrick п╦ David Kostal.
2321 </para> 2321 </para>
2322 <para lang="en"> 2322 <para lang="en">
2323 nginx cached a 304 response if there was the "If-None-Match" header line 2323 nginx cached a 304 response if there was the "If-None-Match" header line
2324 in a proxied request.<br/> 2324 in a proxied request.<br/>
2325 Thanks to Tim Dettrick and David Kostal. 2325 Thanks to Tim Dettrick and David Kostal.
2326 </para> 2326 </para>
2327 </change> 2327 </change>
2328 2328
2329 <change type="bugfix"> 2329 <change type="bugfix">
2330 <para lang="ru"> 2330 <para lang="ru">
2331 nginx/Windows пытался дважды удалить временный файл 2331 nginx/Windows п©я▀я┌п╟п╩я│я▐ п╢п╡п╟п╤п╢я▀ я┐п╢п╟п╩п╦я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
2332 при перезаписи уже существующего файла. 2332 п©я─п╦ п©п╣я─п╣п╥п╟п©п╦я│п╦ я┐п╤п╣ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╣пЁп╬ я└п╟п╧п╩п╟.
2333 </para> 2333 </para>
2334 <para lang="en"> 2334 <para lang="en">
2335 nginx/Windows tried to delete a temporary file twice 2335 nginx/Windows tried to delete a temporary file twice
2336 if the file should replace an already existent file. 2336 if the file should replace an already existent file.
2337 </para> 2337 </para>
2342 2342
2343 <changes ver="0.8.30" date="15.12.2009"> 2343 <changes ver="0.8.30" date="15.12.2009">
2344 2344
2345 <change type="change"> 2345 <change type="change">
2346 <para lang="ru"> 2346 <para lang="ru">
2347 теперь по умолчанию размер буфера директивы large_client_header_buffers 2347 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я─п╟п╥п╪п╣я─ п╠я┐я└п╣я─п╟ п╢п╦я─п╣п╨я┌п╦п╡я▀ large_client_header_buffers
2348 равен 8K.<br/> 2348 я─п╟п╡п╣п╫ 8K.<br/>
2349 Спасибо Andrew Cholakian. 2349 п║п©п╟я│п╦п╠п╬ Andrew Cholakian.
2350 </para> 2350 </para>
2351 <para lang="en"> 2351 <para lang="en">
2352 now the default buffer size of the "large_client_header_buffers" 2352 now the default buffer size of the "large_client_header_buffers"
2353 directive is 8K.<br/> 2353 directive is 8K.<br/>
2354 Thanks to Andrew Cholakian. 2354 Thanks to Andrew Cholakian.
2355 </para> 2355 </para>
2356 </change> 2356 </change>
2357 2357
2358 <change type="feature"> 2358 <change type="feature">
2359 <para lang="ru"> 2359 <para lang="ru">
2360 файл conf/fastcgi.conf для простых конфигураций FastCGI. 2360 я└п╟п╧п╩ conf/fastcgi.conf п╢п╩я▐ п©я─п╬я│я┌я▀я┘ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╧ FastCGI.
2361 </para> 2361 </para>
2362 <para lang="en"> 2362 <para lang="en">
2363 the conf/fastcgi.conf for simple FastCGI configurations. 2363 the conf/fastcgi.conf for simple FastCGI configurations.
2364 </para> 2364 </para>
2365 </change> 2365 </change>
2366 2366
2367 <change type="bugfix"> 2367 <change type="bugfix">
2368 <para lang="ru"> 2368 <para lang="ru">
2369 nginx/Windows пытался дважды переименовать временный файл 2369 nginx/Windows п©я▀я┌п╟п╩я│я▐ п╢п╡п╟п╤п╢я▀ п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
2370 при перезаписи уже существующего файла. 2370 п©я─п╦ п©п╣я─п╣п╥п╟п©п╦я│п╦ я┐п╤п╣ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╣пЁп╬ я└п╟п╧п╩п╟.
2371 </para> 2371 </para>
2372 <para lang="en"> 2372 <para lang="en">
2373 nginx/Windows tried to rename a temporary file twice if the file 2373 nginx/Windows tried to rename a temporary file twice if the file
2374 should replace an already existent file. 2374 should replace an already existent file.
2375 </para> 2375 </para>
2376 </change> 2376 </change>
2377 2377
2378 <change type="bugfix"> 2378 <change type="bugfix">
2379 <para lang="ru"> 2379 <para lang="ru">
2380 ошибки double free or corruption, возникающей, если имя хоста не было найдено; 2380 п╬я┬п╦п╠п╨п╦ double free or corruption, п╡п╬п╥п╫п╦п╨п╟я▌я┴п╣п╧, п╣я│п╩п╦ п╦п╪я▐ я┘п╬я│я┌п╟ п╫п╣ п╠я▀п╩п╬ п╫п╟п╧п╢п╣п╫п╬;
2381 ошибка появилась в 0.8.22.<br/> 2381 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.<br/>
2382 Спасибо Константину Свисту. 2382 п║п©п╟я│п╦п╠п╬ п п╬п╫я│я┌п╟п╫я┌п╦п╫я┐ п║п╡п╦я│я┌я┐.
2383 </para> 2383 </para>
2384 <para lang="en"> 2384 <para lang="en">
2385 of "double free or corruption" error issued if host could not be resolved; 2385 of "double free or corruption" error issued if host could not be resolved;
2386 the bug had appeared in 0.8.22.<br/> 2386 the bug had appeared in 0.8.22.<br/>
2387 Thanks to Konstantin Svist. 2387 Thanks to Konstantin Svist.
2388 </para> 2388 </para>
2389 </change> 2389 </change>
2390 2390
2391 <change type="bugfix"> 2391 <change type="bugfix">
2392 <para lang="ru"> 2392 <para lang="ru">
2393 в использовании libatomic на некоторых платформах.<br/> 2393 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ libatomic п╫п╟ п╫п╣п╨п╬я┌п╬я─я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘.<br/>
2394 Спасибо W-Mark Kubacki. 2394 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2395 </para> 2395 </para>
2396 <para lang="en"> 2396 <para lang="en">
2397 in libatomic usage on some platforms.<br/> 2397 in libatomic usage on some platforms.<br/>
2398 Thanks to W-Mark Kubacki. 2398 Thanks to W-Mark Kubacki.
2399 </para> 2399 </para>
2404 2404
2405 <changes ver="0.8.29" date="30.11.2009"> 2405 <changes ver="0.8.29" date="30.11.2009">
2406 2406
2407 <change type="change"> 2407 <change type="change">
2408 <para lang="ru"> 2408 <para lang="ru">
2409 теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009". 2409 я┌п╣п©п╣я─я▄ п╢п╩я▐ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀я┘ п╬я┌п╡п╣я┌п╬п╡ HTTP/0.9 п╡ п╩п╬пЁ п©п╦я┬п╣я┌я│я▐ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ "009".
2410 </para> 2410 </para>
2411 <para lang="en"> 2411 <para lang="en">
2412 now the "009" status code is written to an access log for proxied HTTP/0.9 2412 now the "009" status code is written to an access log for proxied HTTP/0.9
2413 responses. 2413 responses.
2414 </para> 2414 </para>
2415 </change> 2415 </change>
2416 2416
2417 <change type="feature"> 2417 <change type="feature">
2418 <para lang="ru"> 2418 <para lang="ru">
2419 директивы addition_types, charset_types, gzip_types, ssi_types, 2419 п╢п╦я─п╣п╨я┌п╦п╡я▀ addition_types, charset_types, gzip_types, ssi_types,
2420 sub_filter_types и xslt_types поддерживают параметр "*". 2420 sub_filter_types п╦ xslt_types п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╟я─п╟п╪п╣я┌я─ "*".
2421 </para> 2421 </para>
2422 <para lang="en"> 2422 <para lang="en">
2423 the "addition_types", "charset_types", "gzip_types", "ssi_types", 2423 the "addition_types", "charset_types", "gzip_types", "ssi_types",
2424 "sub_filter_types", and "xslt_types" directives support an "*" parameter. 2424 "sub_filter_types", and "xslt_types" directives support an "*" parameter.
2425 </para> 2425 </para>
2426 </change> 2426 </change>
2427 2427
2428 <change type="feature"> 2428 <change type="feature">
2429 <para lang="ru"> 2429 <para lang="ru">
2430 использование встроенных атомарных операций GCC 4.1+.<br/> 2430 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п╡я│я┌я─п╬п╣п╫п╫я▀я┘ п╟я┌п╬п╪п╟я─п╫я▀я┘ п╬п©п╣я─п╟я├п╦п╧ GCC 4.1+.<br/>
2431 Спасибо W-Mark Kubacki. 2431 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2432 </para> 2432 </para>
2433 <para lang="en"> 2433 <para lang="en">
2434 GCC 4.1+ built-in atomic operations usage.<br/> 2434 GCC 4.1+ built-in atomic operations usage.<br/>
2435 Thanks to W-Mark Kubacki. 2435 Thanks to W-Mark Kubacki.
2436 </para> 2436 </para>
2437 </change> 2437 </change>
2438 2438
2439 <change type="feature"> 2439 <change type="feature">
2440 <para lang="ru"> 2440 <para lang="ru">
2441 параметр --with-libatomic[=DIR] в configure.<br/> 2441 п©п╟я─п╟п╪п╣я┌я─ --with-libatomic[=DIR] п╡ configure.<br/>
2442 Спасибо W-Mark Kubacki. 2442 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2443 </para> 2443 </para>
2444 <para lang="en"> 2444 <para lang="en">
2445 the --with-libatomic[=DIR] option in the configure.<br/> 2445 the --with-libatomic[=DIR] option in the configure.<br/>
2446 Thanks to W-Mark Kubacki. 2446 Thanks to W-Mark Kubacki.
2447 </para> 2447 </para>
2448 </change> 2448 </change>
2449 2449
2450 <change type="bugfix"> 2450 <change type="bugfix">
2451 <para lang="ru"> 2451 <para lang="ru">
2452 listen unix domain сокет имели ограниченные права доступа. 2452 listen unix domain я│п╬п╨п╣я┌ п╦п╪п╣п╩п╦ п╬пЁя─п╟п╫п╦я┤п╣п╫п╫я▀п╣ п©я─п╟п╡п╟ п╢п╬я│я┌я┐п©п╟.
2453 </para> 2453 </para>
2454 <para lang="en"> 2454 <para lang="en">
2455 listen unix domain socket had limited access rights. 2455 listen unix domain socket had limited access rights.
2456 </para> 2456 </para>
2457 </change> 2457 </change>
2458 2458
2459 <change type="bugfix"> 2459 <change type="bugfix">
2460 <para lang="ru"> 2460 <para lang="ru">
2461 закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались. 2461 п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╣ п╬я┌п╡п╣я┌я▀ п╬я┌п╡п╣я┌п╬п╡ HTTP/0.9 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄.
2462 </para> 2462 </para>
2463 <para lang="en"> 2463 <para lang="en">
2464 cached HTTP/0.9 responses were handled incorrectly. 2464 cached HTTP/0.9 responses were handled incorrectly.
2465 </para> 2465 </para>
2466 </change> 2466 </change>
2467 2467
2468 <change type="bugfix"> 2468 <change type="bugfix">
2469 <para lang="ru"> 2469 <para lang="ru">
2470 именованные выделения в регулярных выражениях, заданные как "?P&lt;...&gt;", 2470 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘, п╥п╟п╢п╟п╫п╫я▀п╣ п╨п╟п╨ "?P&lt;...&gt;",
2471 не работали в директиве server_name.<br/> 2471 п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name.<br/>
2472 Спасибо Максиму Дунину. 2472 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2473 </para> 2473 </para>
2474 <para lang="en"> 2474 <para lang="en">
2475 regular expression named captures given by "?P&lt;...&gt;" did not work 2475 regular expression named captures given by "?P&lt;...&gt;" did not work
2476 in a "server_name" directive.<br/> 2476 in a "server_name" directive.<br/>
2477 Thanks to Maxim Dounin. 2477 Thanks to Maxim Dounin.
2483 2483
2484 <changes ver="0.8.28" date="23.11.2009"> 2484 <changes ver="0.8.28" date="23.11.2009">
2485 2485
2486 <change type="bugfix"> 2486 <change type="bugfix">
2487 <para lang="ru"> 2487 <para lang="ru">
2488 nginx не собирался с параметром --without-pcre; 2488 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-pcre;
2489 ошибка появилась в 0.8.25. 2489 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2490 </para> 2490 </para>
2491 <para lang="en"> 2491 <para lang="en">
2492 nginx could not be built with the --without-pcre parameter; 2492 nginx could not be built with the --without-pcre parameter;
2493 the bug had appeared in 0.8.25. 2493 the bug had appeared in 0.8.25.
2494 </para> 2494 </para>
2499 2499
2500 <changes ver="0.8.27" date="17.11.2009"> 2500 <changes ver="0.8.27" date="17.11.2009">
2501 2501
2502 <change type="bugfix"> 2502 <change type="bugfix">
2503 <para lang="ru"> 2503 <para lang="ru">
2504 регулярные выражения не работали в nginx/Windows; 2504 я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ nginx/Windows;
2505 ошибка появилась в 0.8.25. 2505 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2506 </para> 2506 </para>
2507 <para lang="en"> 2507 <para lang="en">
2508 regular expressions did not work in nginx/Windows; 2508 regular expressions did not work in nginx/Windows;
2509 the bug had appeared in 0.8.25. 2509 the bug had appeared in 0.8.25.
2510 </para> 2510 </para>
2515 2515
2516 <changes ver="0.8.26" date="16.11.2009"> 2516 <changes ver="0.8.26" date="16.11.2009">
2517 2517
2518 <change type="bugfix"> 2518 <change type="bugfix">
2519 <para lang="ru"> 2519 <para lang="ru">
2520 ошибки при использовании выделений в директиве rewrite; 2520 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я▀п╢п╣п╩п╣п╫п╦п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite;
2521 ошибка появилась в 0.8.25. 2521 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2522 </para> 2522 </para>
2523 <para lang="en"> 2523 <para lang="en">
2524 in captures usage in "rewrite" directive; 2524 in captures usage in "rewrite" directive;
2525 the bug had appeared in 0.8.25. 2525 the bug had appeared in 0.8.25.
2526 </para> 2526 </para>
2527 </change> 2527 </change>
2528 2528
2529 <change type="bugfix"> 2529 <change type="bugfix">
2530 <para lang="ru"> 2530 <para lang="ru">
2531 nginx не собирался без параметра --with-debug; 2531 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
2532 ошибка появилась в 0.8.25. 2532 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2533 </para> 2533 </para>
2534 <para lang="en"> 2534 <para lang="en">
2535 nginx could not be built without the --with-debug option; 2535 nginx could not be built without the --with-debug option;
2536 the bug had appeared in 0.8.25. 2536 the bug had appeared in 0.8.25.
2537 </para> 2537 </para>
2542 2542
2543 <changes ver="0.8.25" date="16.11.2009"> 2543 <changes ver="0.8.25" date="16.11.2009">
2544 2544
2545 <change type="change"> 2545 <change type="change">
2546 <para lang="ru"> 2546 <para lang="ru">
2547 теперь в лог ошибок не пишется сообщение, если переменная не найдена 2547 я┌п╣п©п╣я─я▄ п╡ п╩п╬пЁ п╬я┬п╦п╠п╬п╨ п╫п╣ п©п╦я┬п╣я┌я│я▐ я│п╬п╬п╠я┴п╣п╫п╦п╣, п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╫п╣ п╫п╟п╧п╢п╣п╫п╟
2548 с помощью метода $r->variable(). 2548 я│ п©п╬п╪п╬я┴я▄я▌ п╪п╣я┌п╬п╢п╟ $r->variable().
2549 </para> 2549 </para>
2550 <para lang="en"> 2550 <para lang="en">
2551 now no message is written in an error log if a variable is not found by 2551 now no message is written in an error log if a variable is not found by
2552 $r->variable() method. 2552 $r->variable() method.
2553 </para> 2553 </para>
2554 </change> 2554 </change>
2555 2555
2556 <change type="feature"> 2556 <change type="feature">
2557 <para lang="ru"> 2557 <para lang="ru">
2558 модуль ngx_http_degradation_module. 2558 п╪п╬п╢я┐п╩я▄ ngx_http_degradation_module.
2559 </para> 2559 </para>
2560 <para lang="en"> 2560 <para lang="en">
2561 the ngx_http_degradation_module. 2561 the ngx_http_degradation_module.
2562 </para> 2562 </para>
2563 </change> 2563 </change>
2564 2564
2565 <change type="feature"> 2565 <change type="feature">
2566 <para lang="ru"> 2566 <para lang="ru">
2567 именованные выделения в регулярных выражениях. 2567 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
2568 </para> 2568 </para>
2569 <para lang="en"> 2569 <para lang="en">
2570 regular expression named captures. 2570 regular expression named captures.
2571 </para> 2571 </para>
2572 </change> 2572 </change>
2573 2573
2574 <change type="feature"> 2574 <change type="feature">
2575 <para lang="ru"> 2575 <para lang="ru">
2576 теперь при использовании переменных в директиве proxy_pass не требуется 2576 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ я┌я─п╣п╠я┐п╣я┌я│я▐
2577 задавать URI. 2577 п╥п╟п╢п╟п╡п╟я┌я▄ URI.
2578 </para> 2578 </para>
2579 <para lang="en"> 2579 <para lang="en">
2580 now URI part is not required a "proxy_pass" directive if variables are used. 2580 now URI part is not required a "proxy_pass" directive if variables are used.
2581 </para> 2581 </para>
2582 </change> 2582 </change>
2583 2583
2584 <change type="feature"> 2584 <change type="feature">
2585 <para lang="ru"> 2585 <para lang="ru">
2586 теперь директива msie_padding работает и для Chrome. 2586 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ msie_padding я─п╟п╠п╬я┌п╟п╣я┌ п╦ п╢п╩я▐ Chrome.
2587 </para> 2587 </para>
2588 <para lang="en"> 2588 <para lang="en">
2589 now the "msie_padding" directive works for Chrome too. 2589 now the "msie_padding" directive works for Chrome too.
2590 </para> 2590 </para>
2591 </change> 2591 </change>
2592 2592
2593 <change type="bugfix"> 2593 <change type="bugfix">
2594 <para lang="ru"> 2594 <para lang="ru">
2595 в рабочем процессе происходил segmentation fault при недостатке памяти; 2595 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault п©я─п╦ п╫п╣п╢п╬я│я┌п╟я┌п╨п╣ п©п╟п╪я▐я┌п╦;
2596 ошибка появилась в 0.8.18. 2596 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.18.
2597 </para> 2597 </para>
2598 <para lang="en"> 2598 <para lang="en">
2599 a segmentation fault occurred in a worker process on low memory condition; 2599 a segmentation fault occurred in a worker process on low memory condition;
2600 the bug had appeared in 0.8.18. 2600 the bug had appeared in 0.8.18.
2601 </para> 2601 </para>
2602 </change> 2602 </change>
2603 2603
2604 <change type="bugfix"> 2604 <change type="bugfix">
2605 <para lang="ru"> 2605 <para lang="ru">
2606 nginx передавал сжатые ответы клиентам, не поддерживающим сжатие, 2606 nginx п©п╣я─п╣п╢п╟п╡п╟п╩ я│п╤п╟я┌я▀п╣ п╬я┌п╡п╣я┌я▀ п╨п╩п╦п╣п╫я┌п╟п╪, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦п╪ я│п╤п╟я┌п╦п╣,
2607 при настройках gzip_static on и gzip_vary off; 2607 п©я─п╦ п╫п╟я│я┌я─п╬п╧п╨п╟я┘ gzip_static on п╦ gzip_vary off;
2608 ошибка появилась в 0.8.16. 2608 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.16.
2609 </para> 2609 </para>
2610 <para lang="en"> 2610 <para lang="en">
2611 nginx sent gzipped responses to clients those do not support gzip, 2611 nginx sent gzipped responses to clients those do not support gzip,
2612 if "gzip_static on" and "gzip_vary off"; 2612 if "gzip_static on" and "gzip_vary off";
2613 the bug had appeared in 0.8.16. 2613 the bug had appeared in 0.8.16.
2619 2619
2620 <changes ver="0.8.24" date="11.11.2009"> 2620 <changes ver="0.8.24" date="11.11.2009">
2621 2621
2622 <change type="bugfix"> 2622 <change type="bugfix">
2623 <para lang="ru"> 2623 <para lang="ru">
2624 nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок 2624 nginx п╡я│п╣пЁп╢п╟ п╢п╬п╠п╟п╡п╩я▐п╩ я│я┌я─п╬п╨я┐ "Content-Encoding: gzip" п╡ п╥п╟пЁп╬п╩п╬п╡п╬п╨
2625 304-ых ответов модуля ngx_http_gzip_static_module. 2625 304-я▀я┘ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐ ngx_http_gzip_static_module.
2626 </para> 2626 </para>
2627 <para lang="en"> 2627 <para lang="en">
2628 nginx always added "Content-Encoding: gzip" response header line 2628 nginx always added "Content-Encoding: gzip" response header line
2629 in 304 responses sent by ngx_http_gzip_static_module. 2629 in 304 responses sent by ngx_http_gzip_static_module.
2630 </para> 2630 </para>
2631 </change> 2631 </change>
2632 2632
2633 <change type="bugfix"> 2633 <change type="bugfix">
2634 <para lang="ru"> 2634 <para lang="ru">
2635 nginx не собирался без параметра --with-debug; 2635 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
2636 ошибка появилась в 0.8.23. 2636 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.23.
2637 </para> 2637 </para>
2638 <para lang="en"> 2638 <para lang="en">
2639 nginx could not be built without the --with-debug option; 2639 nginx could not be built without the --with-debug option;
2640 the bug had appeared in 0.8.23. 2640 the bug had appeared in 0.8.23.
2641 </para> 2641 </para>
2642 </change> 2642 </change>
2643 2643
2644 <change type="bugfix"> 2644 <change type="bugfix">
2645 <para lang="ru"> 2645 <para lang="ru">
2646 параметр "unix:" в директиве set_real_ip_from неправильно наследовался 2646 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩я│я▐
2647 с предыдущего уровня. 2647 я│ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я┐я─п╬п╡п╫я▐.
2648 </para> 2648 </para>
2649 <para lang="en"> 2649 <para lang="en">
2650 the "unix:" parameter of the "set_real_ip_from" directive inherited 2650 the "unix:" parameter of the "set_real_ip_from" directive inherited
2651 incorrectly from previous level. 2651 incorrectly from previous level.
2652 </para> 2652 </para>
2653 </change> 2653 </change>
2654 2654
2655 <change type="bugfix"> 2655 <change type="bugfix">
2656 <para lang="ru"> 2656 <para lang="ru">
2657 в resolver'е при определении пустого имени. 2657 п╡ resolver'п╣ п©я─п╦ п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╦ п©я┐я│я┌п╬пЁп╬ п╦п╪п╣п╫п╦.
2658 </para> 2658 </para>
2659 <para lang="en"> 2659 <para lang="en">
2660 in resolving empty name. 2660 in resolving empty name.
2661 </para> 2661 </para>
2662 </change> 2662 </change>
2666 2666
2667 <changes ver="0.8.23" date="11.11.2009"> 2667 <changes ver="0.8.23" date="11.11.2009">
2668 2668
2669 <change type="security"> 2669 <change type="security">
2670 <para lang="ru"> 2670 <para lang="ru">
2671 теперь SSL/TLS renegotiation запрещён.<br/> 2671 я┌п╣п©п╣я─я▄ SSL/TLS renegotiation п╥п╟п©я─п╣я┴я▒п╫.<br/>
2672 Спасибо Максиму Дунину. 2672 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2673 </para> 2673 </para>
2674 <para lang="en"> 2674 <para lang="en">
2675 now SSL/TLS renegotiation is disabled.<br/> 2675 now SSL/TLS renegotiation is disabled.<br/>
2676 Thanks to Maxim Dounin. 2676 Thanks to Maxim Dounin.
2677 </para> 2677 </para>
2678 </change> 2678 </change>
2679 2679
2680 <change type="bugfix"> 2680 <change type="bugfix">
2681 <para lang="ru"> 2681 <para lang="ru">
2682 listen unix domain сокет не наследовался во время обновления без перерыва. 2682 listen unix domain я│п╬п╨п╣я┌ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩я│я▐ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.
2683 </para> 2683 </para>
2684 <para lang="en"> 2684 <para lang="en">
2685 listen unix domain socket did not inherit while online upgrade. 2685 listen unix domain socket did not inherit while online upgrade.
2686 </para> 2686 </para>
2687 </change> 2687 </change>
2688 2688
2689 <change type="bugfix"> 2689 <change type="bugfix">
2690 <para lang="ru"> 2690 <para lang="ru">
2691 параметр "unix:" в директиве set_real_ip_from не работал без ещё 2691 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╠п╣п╥ п╣я┴я▒
2692 одной директивы с любым IP-адресом. 2692 п╬п╢п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡я▀ я│ п╩я▌п╠я▀п╪ IP-п╟п╢я─п╣я│п╬п╪.
2693 </para> 2693 </para>
2694 <para lang="en"> 2694 <para lang="en">
2695 the "unix:" parameter of the "set_real_ip_from" directive did not without 2695 the "unix:" parameter of the "set_real_ip_from" directive did not without
2696 yet another directive with any IP address. 2696 yet another directive with any IP address.
2697 </para> 2697 </para>
2698 </change> 2698 </change>
2699 2699
2700 <change type="bugfix"> 2700 <change type="bugfix">
2701 <para lang="ru"> 2701 <para lang="ru">
2702 segmentation fault и зацикливания в resolver'е. 2702 segmentation fault п╦ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▐ п╡ resolver'п╣.
2703 </para> 2703 </para>
2704 <para lang="en"> 2704 <para lang="en">
2705 segmentation fault and infinite looping in resolver. 2705 segmentation fault and infinite looping in resolver.
2706 </para> 2706 </para>
2707 </change> 2707 </change>
2708 2708
2709 <change type="bugfix"> 2709 <change type="bugfix">
2710 <para lang="ru"> 2710 <para lang="ru">
2711 в resolver'е.<br/> 2711 п╡ resolver'п╣.<br/>
2712 Спасибо Артёму Бохану. 2712 п║п©п╟я│п╦п╠п╬ п░я─я┌я▒п╪я┐ п▒п╬я┘п╟п╫я┐.
2713 </para> 2713 </para>
2714 <para lang="en"> 2714 <para lang="en">
2715 in resolver.<br/> 2715 in resolver.<br/>
2716 Thanks to Artem Bokhan. 2716 Thanks to Artem Bokhan.
2717 </para> 2717 </para>
2722 2722
2723 <changes ver="0.8.22" date="03.11.2009"> 2723 <changes ver="0.8.22" date="03.11.2009">
2724 2724
2725 <change type="feature"> 2725 <change type="feature">
2726 <para lang="ru"> 2726 <para lang="ru">
2727 директивы proxy_bind, fastcgi_bind и memcached_bind. 2727 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_bind, fastcgi_bind п╦ memcached_bind.
2728 </para> 2728 </para>
2729 <para lang="en"> 2729 <para lang="en">
2730 the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. 2730 the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives.
2731 </para> 2731 </para>
2732 </change> 2732 </change>
2733 2733
2734 <change type="feature"> 2734 <change type="feature">
2735 <para lang="ru"> 2735 <para lang="ru">
2736 директивы access и deny поддерживают IPv6. 2736 п╢п╦я─п╣п╨я┌п╦п╡я▀ access п╦ deny п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ IPv6.
2737 </para> 2737 </para>
2738 <para lang="en"> 2738 <para lang="en">
2739 the "access" and the "deny" directives support IPv6. 2739 the "access" and the "deny" directives support IPv6.
2740 </para> 2740 </para>
2741 </change> 2741 </change>
2742 2742
2743 <change type="feature"> 2743 <change type="feature">
2744 <para lang="ru"> 2744 <para lang="ru">
2745 директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса. 2745 п╢п╦я─п╣п╨я┌п╦п╡п╟ set_real_ip_from п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6 п╟п╢я─п╣я│п╟ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘ п╥п╟п©я─п╬я│п╟.
2746 </para> 2746 </para>
2747 <para lang="en"> 2747 <para lang="en">
2748 the "set_real_ip_from" directive supports IPv6 addresses in request headers. 2748 the "set_real_ip_from" directive supports IPv6 addresses in request headers.
2749 </para> 2749 </para>
2750 </change> 2750 </change>
2751 2751
2752 <change type="feature"> 2752 <change type="feature">
2753 <para lang="ru"> 2753 <para lang="ru">
2754 параметр "unix:" в директиве set_real_ip_from. 2754 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from.
2755 </para> 2755 </para>
2756 <para lang="en"> 2756 <para lang="en">
2757 the "unix:" parameter of the "set_real_ip_from" directive. 2757 the "unix:" parameter of the "set_real_ip_from" directive.
2758 </para> 2758 </para>
2759 </change> 2759 </change>
2760 2760
2761 <change type="bugfix"> 2761 <change type="bugfix">
2762 <para lang="ru"> 2762 <para lang="ru">
2763 nginx не удалял unix domain сокет после тестирования конфигурации. 2763 nginx п╫п╣ я┐п╢п╟п╩я▐п╩ unix domain я│п╬п╨п╣я┌ п©п╬я│п╩п╣ я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦я▐ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
2764 </para> 2764 </para>
2765 <para lang="en"> 2765 <para lang="en">
2766 nginx did not delete unix domain socket after configuration testing. 2766 nginx did not delete unix domain socket after configuration testing.
2767 </para> 2767 </para>
2768 </change> 2768 </change>
2769 2769
2770 <change type="bugfix"> 2770 <change type="bugfix">
2771 <para lang="ru"> 2771 <para lang="ru">
2772 nginx удалял unix domain сокет во время обновления без перерыва. 2772 nginx я┐п╢п╟п╩я▐п╩ unix domain я│п╬п╨п╣я┌ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.
2773 </para> 2773 </para>
2774 <para lang="en"> 2774 <para lang="en">
2775 nginx deleted unix domain socket while online upgrade. 2775 nginx deleted unix domain socket while online upgrade.
2776 </para> 2776 </para>
2777 </change> 2777 </change>
2778 2778
2779 <change type="bugfix"> 2779 <change type="bugfix">
2780 <para lang="ru"> 2780 <para lang="ru">
2781 оператор "!-x" не работал.<br/> 2781 п╬п©п╣я─п╟я┌п╬я─ "!-x" п╫п╣ я─п╟п╠п╬я┌п╟п╩.<br/>
2782 Спасибо Максиму Дунину. 2782 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2783 </para> 2783 </para>
2784 <para lang="en"> 2784 <para lang="en">
2785 the "!-x" operator did not work.<br/> 2785 the "!-x" operator did not work.<br/>
2786 Thanks to Maxim Dounin. 2786 Thanks to Maxim Dounin.
2787 </para> 2787 </para>
2788 </change> 2788 </change>
2789 2789
2790 <change type="bugfix"> 2790 <change type="bugfix">
2791 <para lang="ru"> 2791 <para lang="ru">
2792 в рабочем процессе мог произойти segmentation fault 2792 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
2793 при использовании limit_rate в HTTPS сервере.<br/> 2793 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ limit_rate п╡ HTTPS я│п╣я─п╡п╣я─п╣.<br/>
2794 Спасибо Максиму Дунину. 2794 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2795 </para> 2795 </para>
2796 <para lang="en"> 2796 <para lang="en">
2797 a segmentation fault might occur in a worker process, 2797 a segmentation fault might occur in a worker process,
2798 if limit_rate was used in HTTPS server.<br/> 2798 if limit_rate was used in HTTPS server.<br/>
2799 Thanks to Maxim Dounin. 2799 Thanks to Maxim Dounin.
2800 </para> 2800 </para>
2801 </change> 2801 </change>
2802 2802
2803 <change type="bugfix"> 2803 <change type="bugfix">
2804 <para lang="ru"> 2804 <para lang="ru">
2805 при записи в лог переменной $limit_rate 2805 п©я─п╦ п╥п╟п©п╦я│п╦ п╡ п╩п╬пЁ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $limit_rate
2806 в рабочем процессе происходил segmentation fault.<br/> 2806 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
2807 Спасибо Максиму Дунину. 2807 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2808 </para> 2808 </para>
2809 <para lang="en"> 2809 <para lang="en">
2810 a segmentation fault might occur in a worker process 2810 a segmentation fault might occur in a worker process
2811 while $limit_rate logging.<br/> 2811 while $limit_rate logging.<br/>
2812 Thanks to Maxim Dounin. 2812 Thanks to Maxim Dounin.
2813 </para> 2813 </para>
2814 </change> 2814 </change>
2815 2815
2816 <change type="bugfix"> 2816 <change type="bugfix">
2817 <para lang="ru"> 2817 <para lang="ru">
2818 в рабочем процессе мог произойти segmentation fault, 2818 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
2819 если внутри блока server не было директивы listen; 2819 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ server п╫п╣ п╠я▀п╩п╬ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen;
2820 ошибка появилась в 0.8.21. 2820 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.21.
2821 </para> 2821 </para>
2822 <para lang="en"> 2822 <para lang="en">
2823 a segmentation fault might occur in a worker process, 2823 a segmentation fault might occur in a worker process,
2824 if there was no "listen" directive in "server" block; 2824 if there was no "listen" directive in "server" block;
2825 the bug had appeared in 0.8.21. 2825 the bug had appeared in 0.8.21.
2831 2831
2832 <changes ver="0.8.21" date="26.10.2009"> 2832 <changes ver="0.8.21" date="26.10.2009">
2833 2833
2834 <change type="feature"> 2834 <change type="feature">
2835 <para lang="ru"> 2835 <para lang="ru">
2836 теперь ключ -V показывает статус поддержки TLS SNI. 2836 я┌п╣п©п╣я─я▄ п╨п╩я▌я┤ -V п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ я│я┌п╟я┌я┐я│ п©п╬п╢п╢п╣я─п╤п╨п╦ TLS SNI.
2837 </para> 2837 </para>
2838 <para lang="en"> 2838 <para lang="en">
2839 now the "-V" switch shows TLS SNI support. 2839 now the "-V" switch shows TLS SNI support.
2840 </para> 2840 </para>
2841 </change> 2841 </change>
2842 2842
2843 <change type="feature"> 2843 <change type="feature">
2844 <para lang="ru"> 2844 <para lang="ru">
2845 директива listen модуля HTTP поддерживает unix domain сокеты.<br/> 2845 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╪п╬п╢я┐п╩я▐ HTTP п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ unix domain я│п╬п╨п╣я┌я▀.<br/>
2846 Спасибо Hongli Lai. 2846 п║п©п╟я│п╦п╠п╬ Hongli Lai.
2847 </para> 2847 </para>
2848 <para lang="en"> 2848 <para lang="en">
2849 the "listen" directive of the HTTP module supports unix domain sockets.<br/> 2849 the "listen" directive of the HTTP module supports unix domain sockets.<br/>
2850 Thanks to Hongli Lai. 2850 Thanks to Hongli Lai.
2851 </para> 2851 </para>
2852 </change> 2852 </change>
2853 2853
2854 <change type="feature"> 2854 <change type="feature">
2855 <para lang="ru"> 2855 <para lang="ru">
2856 параметр "default_server" в директиве listen. 2856 п©п╟я─п╟п╪п╣я┌я─ "default_server" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
2857 </para> 2857 </para>
2858 <para lang="en"> 2858 <para lang="en">
2859 the "default_server" parameter of the "listen" directive. 2859 the "default_server" parameter of the "listen" directive.
2860 </para> 2860 </para>
2861 </change> 2861 </change>
2862 2862
2863 <change type="feature"> 2863 <change type="feature">
2864 <para lang="ru"> 2864 <para lang="ru">
2865 теперь параметр "default" не обязателен для установки параметров listen-сокета. 2865 я┌п╣п©п╣я─я▄ п©п╟я─п╟п╪п╣я┌я─ "default" п╫п╣ п╬п╠я▐п╥п╟я┌п╣п╩п╣п╫ п╢п╩я▐ я┐я│я┌п╟п╫п╬п╡п╨п╦ п©п╟я─п╟п╪п╣я┌я─п╬п╡ listen-я│п╬п╨п╣я┌п╟.
2866 </para> 2866 </para>
2867 <para lang="en"> 2867 <para lang="en">
2868 now a "default" parameter is not required to set listen socket options. 2868 now a "default" parameter is not required to set listen socket options.
2869 </para> 2869 </para>
2870 </change> 2870 </change>
2871 2871
2872 <change type="bugfix"> 2872 <change type="bugfix">
2873 <para lang="ru"> 2873 <para lang="ru">
2874 nginx не поддерживал даты в 2038 году на 32-битных платформах; 2874 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╢п╟я┌я▀ п╡ 2038 пЁп╬п╢я┐ п╫п╟ 32-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
2875 </para> 2875 </para>
2876 <para lang="en"> 2876 <para lang="en">
2877 nginx did not support dates in 2038 year on 32-bit platforms; 2877 nginx did not support dates in 2038 year on 32-bit platforms;
2878 </para> 2878 </para>
2879 </change> 2879 </change>
2880 2880
2881 <change type="bugfix"> 2881 <change type="bugfix">
2882 <para lang="ru"> 2882 <para lang="ru">
2883 утечки сокетов; 2883 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
2884 ошибка появилась в 0.8.11. 2884 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2885 </para> 2885 </para>
2886 <para lang="en"> 2886 <para lang="en">
2887 socket leak; 2887 socket leak;
2888 the bug had appeared in 0.8.11. 2888 the bug had appeared in 0.8.11.
2889 </para> 2889 </para>
2894 2894
2895 <changes ver="0.8.20" date="14.10.2009"> 2895 <changes ver="0.8.20" date="14.10.2009">
2896 2896
2897 <change type="change"> 2897 <change type="change">
2898 <para lang="ru"> 2898 <para lang="ru">
2899 теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5". 2899 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL: "HIGH:!ADH:!MD5".
2900 </para> 2900 </para>
2901 <para lang="en"> 2901 <para lang="en">
2902 now default SSL ciphers are "HIGH:!ADH:!MD5". 2902 now default SSL ciphers are "HIGH:!ADH:!MD5".
2903 </para> 2903 </para>
2904 </change> 2904 </change>
2905 2905
2906 <change type="bugfix"> 2906 <change type="bugfix">
2907 <para lang="ru"> 2907 <para lang="ru">
2908 модуль ngx_http_autoindex_module не показывал последний слэш для линков 2908 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╩ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╩я█я┬ п╢п╩я▐ п╩п╦п╫п╨п╬п╡
2909 на каталоги; 2909 п╫п╟ п╨п╟я┌п╟п╩п╬пЁп╦;
2910 ошибка появилась в 0.7.15. 2910 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.
2911 </para> 2911 </para>
2912 <para lang="en"> 2912 <para lang="en">
2913 the ngx_http_autoindex_module did not show the trailing slash in links to 2913 the ngx_http_autoindex_module did not show the trailing slash in links to
2914 a directory; 2914 a directory;
2915 the bug had appeared in 0.7.15. 2915 the bug had appeared in 0.7.15.
2916 </para> 2916 </para>
2917 </change> 2917 </change>
2918 2918
2919 <change type="bugfix"> 2919 <change type="bugfix">
2920 <para lang="ru"> 2920 <para lang="ru">
2921 nginx не закрывал лог, заданный параметром конфигурации --error-log-path; 2921 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ п╩п╬пЁ, п╥п╟п╢п╟п╫п╫я▀п╧ п©п╟я─п╟п╪п╣я┌я─п╬п╪ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --error-log-path;
2922 ошибка появилась в 0.7.53. 2922 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
2923 </para> 2923 </para>
2924 <para lang="en"> 2924 <para lang="en">
2925 nginx did not close a log file set by the --error-log-path configuration option; 2925 nginx did not close a log file set by the --error-log-path configuration option;
2926 the bug had appeared in 0.7.53. 2926 the bug had appeared in 0.7.53.
2927 </para> 2927 </para>
2928 </change> 2928 </change>
2929 2929
2930 <change type="bugfix"> 2930 <change type="bugfix">
2931 <para lang="ru"> 2931 <para lang="ru">
2932 nginx не считал запятую разделителем в строке "Cache-Control" в 2932 nginx п╫п╣ я│я┤п╦я┌п╟п╩ п╥п╟п©я▐я┌я┐я▌ я─п╟п╥п╢п╣п╩п╦я┌п╣п╩п╣п╪ п╡ я│я┌я─п╬п╨п╣ "Cache-Control" п╡
2933 заголовке ответа бэкенда. 2933 п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
2934 </para> 2934 </para>
2935 <para lang="en"> 2935 <para lang="en">
2936 nginx did not treat a comma as separator in the "Cache-Control" backend response 2936 nginx did not treat a comma as separator in the "Cache-Control" backend response
2937 header line. 2937 header line.
2938 </para> 2938 </para>
2939 </change> 2939 </change>
2940 2940
2941 <change type="bugfix"> 2941 <change type="bugfix">
2942 <para lang="ru"> 2942 <para lang="ru">
2943 nginx/Windows мог не создать временный файл, файл в кэше или файл 2943 nginx/Windows п╪п╬пЁ п╫п╣ я│п╬п╥п╢п╟я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩, я└п╟п╧п╩ п╡ п╨я█я┬п╣ п╦п╩п╦ я└п╟п╧п╩
2944 с помощью директив proxy/fastcgi_store, если рабочий процесс не имел 2944 я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡ proxy/fastcgi_store, п╣я│п╩п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╦п╪п╣п╩
2945 достаточно прав для работы с каталогами верхнего уровня. 2945 п╢п╬я│я┌п╟я┌п╬я┤п╫п╬ п©я─п╟п╡ п╢п╩я▐ я─п╟п╠п╬я┌я▀ я│ п╨п╟я┌п╟п╩п╬пЁп╟п╪п╦ п╡п╣я─я┘п╫п╣пЁп╬ я┐я─п╬п╡п╫я▐.
2946 </para> 2946 </para>
2947 <para lang="en"> 2947 <para lang="en">
2948 nginx/Windows might not create temporary file, a cache file, or 2948 nginx/Windows might not create temporary file, a cache file, or
2949 "proxy/fastcgi_store"d file if a worker had no enough access rights 2949 "proxy/fastcgi_store"d file if a worker had no enough access rights
2950 for top level directories. 2950 for top level directories.
2951 </para> 2951 </para>
2952 </change> 2952 </change>
2953 2953
2954 <change type="bugfix"> 2954 <change type="bugfix">
2955 <para lang="ru"> 2955 <para lang="ru">
2956 строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались 2956 я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ FastCGI-я│п╣я─п╡п╣я─п╟ п╫п╣ я│п╨я─я▀п╡п╟п╩п╦я│я▄
2957 при кэшировании, если не использовались директивы fastcgi_hide_header 2957 п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_hide_header
2958 с любыми параметрами. 2958 я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
2959 </para> 2959 </para>
2960 <para lang="en"> 2960 <para lang="en">
2961 the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden 2961 the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden
2962 while caching if no "fastcgi_hide_header" directives were used with 2962 while caching if no "fastcgi_hide_header" directives were used with
2963 any parameters. 2963 any parameters.
2964 </para> 2964 </para>
2965 </change> 2965 </change>
2966 2966
2967 <change type="bugfix"> 2967 <change type="bugfix">
2968 <para lang="ru"> 2968 <para lang="ru">
2969 nginx неверно считал размер кэша на диске. 2969 nginx п╫п╣п╡п╣я─п╫п╬ я│я┤п╦я┌п╟п╩ я─п╟п╥п╪п╣я─ п╨я█я┬п╟ п╫п╟ п╢п╦я│п╨п╣.
2970 </para> 2970 </para>
2971 <para lang="en"> 2971 <para lang="en">
2972 nginx counted incorrectly disk cache size. 2972 nginx counted incorrectly disk cache size.
2973 </para> 2973 </para>
2974 </change> 2974 </change>
2978 2978
2979 <changes ver="0.8.19" date="06.10.2009"> 2979 <changes ver="0.8.19" date="06.10.2009">
2980 2980
2981 <change type="change"> 2981 <change type="change">
2982 <para lang="ru"> 2982 <para lang="ru">
2983 теперь протокол SSLv2 по умолчанию запрещён. 2983 я┌п╣п©п╣я─я▄ п©я─п╬я┌п╬п╨п╬п╩ SSLv2 п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╥п╟п©я─п╣я┴я▒п╫.
2984 </para> 2984 </para>
2985 <para lang="en"> 2985 <para lang="en">
2986 now SSLv2 protocol is disabled by default. 2986 now SSLv2 protocol is disabled by default.
2987 </para> 2987 </para>
2988 </change> 2988 </change>
2989 2989
2990 <change type="change"> 2990 <change type="change">
2991 <para lang="ru"> 2991 <para lang="ru">
2992 теперь по умолчанию используются следующие шифры SSL: 2992 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL:
2993 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 2993 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2994 </para> 2994 </para>
2995 <para lang="en"> 2995 <para lang="en">
2996 now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 2996 now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2997 </para> 2997 </para>
2998 </change> 2998 </change>
2999 2999
3000 <change type="bugfix"> 3000 <change type="bugfix">
3001 <para lang="ru"> 3001 <para lang="ru">
3002 директива limit_req не работала; 3002 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_req п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
3003 ошибка появилась в 0.8.18. 3003 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.18.
3004 </para> 3004 </para>
3005 <para lang="en"> 3005 <para lang="en">
3006 a "limit_req" directive did not work; 3006 a "limit_req" directive did not work;
3007 the bug had appeared in 0.8.18. 3007 the bug had appeared in 0.8.18.
3008 </para> 3008 </para>
3013 3013
3014 <changes ver="0.8.18" date="06.10.2009"> 3014 <changes ver="0.8.18" date="06.10.2009">
3015 3015
3016 <change type="feature"> 3016 <change type="feature">
3017 <para lang="ru"> 3017 <para lang="ru">
3018 директива read_ahead. 3018 п╢п╦я─п╣п╨я┌п╦п╡п╟ read_ahead.
3019 </para> 3019 </para>
3020 <para lang="en"> 3020 <para lang="en">
3021 the "read_ahead" directive. 3021 the "read_ahead" directive.
3022 </para> 3022 </para>
3023 </change> 3023 </change>
3024 3024
3025 <change type="feature"> 3025 <change type="feature">
3026 <para lang="ru"> 3026 <para lang="ru">
3027 теперь можно использовать несколько директив perl_modules. 3027 я┌п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦я─п╣п╨я┌п╦п╡ perl_modules.
3028 </para> 3028 </para>
3029 <para lang="en"> 3029 <para lang="en">
3030 now several "perl_modules" directives may be used. 3030 now several "perl_modules" directives may be used.
3031 </para> 3031 </para>
3032 </change> 3032 </change>
3033 3033
3034 <change type="feature"> 3034 <change type="feature">
3035 <para lang="ru"> 3035 <para lang="ru">
3036 директивы limit_req_log_level и limit_conn_log_level. 3036 п╢п╦я─п╣п╨я┌п╦п╡я▀ limit_req_log_level п╦ limit_conn_log_level.
3037 </para> 3037 </para>
3038 <para lang="en"> 3038 <para lang="en">
3039 the "limit_req_log_level" and "limit_conn_log_level" directives. 3039 the "limit_req_log_level" and "limit_conn_log_level" directives.
3040 </para> 3040 </para>
3041 </change> 3041 </change>
3042 3042
3043 <change type="bugfix"> 3043 <change type="bugfix">
3044 <para lang="ru"> 3044 <para lang="ru">
3045 теперь директива limit_req соответствует алгоритму leaky bucket.<br/> 3045 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_req я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌ п╟п╩пЁп╬я─п╦я┌п╪я┐ leaky bucket.<br/>
3046 Спасибо Максиму Дунину. 3046 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3047 </para> 3047 </para>
3048 <para lang="en"> 3048 <para lang="en">
3049 now "limit_req" directive conforms to the leaky bucket algorithm.<br/> 3049 now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
3050 Thanks to Maxim Dounin. 3050 Thanks to Maxim Dounin.
3051 </para> 3051 </para>
3052 </change> 3052 </change>
3053 3053
3054 <change type="bugfix"> 3054 <change type="bugfix">
3055 <para lang="ru"> 3055 <para lang="ru">
3056 nginx не работал на Linux/sparc.<br/> 3056 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux/sparc.<br/>
3057 Спасибо Marcus Ramberg. 3057 п║п©п╟я│п╦п╠п╬ Marcus Ramberg.
3058 </para> 3058 </para>
3059 <para lang="en"> 3059 <para lang="en">
3060 nginx did not work on Linux/sparc.<br/> 3060 nginx did not work on Linux/sparc.<br/>
3061 Thanks to Marcus Ramberg. 3061 Thanks to Marcus Ramberg.
3062 </para> 3062 </para>
3063 </change> 3063 </change>
3064 3064
3065 <change type="bugfix"> 3065 <change type="bugfix">
3066 <para lang="ru"> 3066 <para lang="ru">
3067 nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос 3067 nginx я│п╩п╟п╩ я│п╦п╪п╡п╬п╩ '\0' п╡ я│я┌я─п╬п╨п╣ "Location" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╡ п╬я┌п╡п╣я┌п╣ п╫п╟ п╥п╟п©я─п╬я│
3068 MKCOL.<br/> 3068 MKCOL.<br/>
3069 Спасибо Xie Zhenye. 3069 п║п©п╟я│п╦п╠п╬ Xie Zhenye.
3070 </para> 3070 </para>
3071 <para lang="en"> 3071 <para lang="en">
3072 nginx sent '\0' in a "Location" response header line on MKCOL request.<br/> 3072 nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
3073 Thanks to Xie Zhenye. 3073 Thanks to Xie Zhenye.
3074 </para> 3074 </para>
3075 </change> 3075 </change>
3076 3076
3077 <change type="bugfix"> 3077 <change type="bugfix">
3078 <para lang="ru"> 3078 <para lang="ru">
3079 вместо кода ответа 499 в лог записывался код 0; 3079 п╡п╪п╣я│я┌п╬ п╨п╬п╢п╟ п╬я┌п╡п╣я┌п╟ 499 п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ п╨п╬п╢ 0;
3080 ошибка появилась в 0.8.11. 3080 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3081 </para> 3081 </para>
3082 <para lang="en"> 3082 <para lang="en">
3083 zero status code was logged instead of 499 status code; 3083 zero status code was logged instead of 499 status code;
3084 the bug had appeared in 0.8.11. 3084 the bug had appeared in 0.8.11.
3085 </para> 3085 </para>
3086 </change> 3086 </change>
3087 3087
3088 <change type="bugfix"> 3088 <change type="bugfix">
3089 <para lang="ru"> 3089 <para lang="ru">
3090 утечки сокетов; 3090 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
3091 ошибка появилась в 0.8.11. 3091 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3092 </para> 3092 </para>
3093 <para lang="en"> 3093 <para lang="en">
3094 socket leak; 3094 socket leak;
3095 the bug had appeared in 0.8.11. 3095 the bug had appeared in 0.8.11.
3096 </para> 3096 </para>
3101 3101
3102 <changes ver="0.8.17" date="28.09.2009"> 3102 <changes ver="0.8.17" date="28.09.2009">
3103 3103
3104 <change type="security"> 3104 <change type="security">
3105 <para lang="ru"> 3105 <para lang="ru">
3106 теперь символы "/../" запрещены в строке "Destination" в заголовке запроса. 3106 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ "/../" п╥п╟п©я─п╣я┴п╣п╫я▀ п╡ я│я┌я─п╬п╨п╣ "Destination" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
3107 </para> 3107 </para>
3108 <para lang="en"> 3108 <para lang="en">
3109 now "/../" are disabled in "Destination" request header line. 3109 now "/../" are disabled in "Destination" request header line.
3110 </para> 3110 </para>
3111 </change> 3111 </change>
3112 3112
3113 <change type="change"> 3113 <change type="change">
3114 <para lang="ru"> 3114 <para lang="ru">
3115 теперь значение переменной $host всегда в нижнем регистре. 3115 я┌п╣п©п╣я─я▄ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $host п╡я│п╣пЁп╢п╟ п╡ п╫п╦п╤п╫п╣п╪ я─п╣пЁп╦я│я┌я─п╣.
3116 </para> 3116 </para>
3117 <para lang="en"> 3117 <para lang="en">
3118 now $host variable value is always low case. 3118 now $host variable value is always low case.
3119 </para> 3119 </para>
3120 </change> 3120 </change>
3121 3121
3122 <change type="feature"> 3122 <change type="feature">
3123 <para lang="ru"> 3123 <para lang="ru">
3124 переменная $ssl_session_id. 3124 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_session_id.
3125 </para> 3125 </para>
3126 <para lang="en"> 3126 <para lang="en">
3127 the $ssl_session_id variable. 3127 the $ssl_session_id variable.
3128 </para> 3128 </para>
3129 </change> 3129 </change>
3130 3130
3131 <change type="bugfix"> 3131 <change type="bugfix">
3132 <para lang="ru"> 3132 <para lang="ru">
3133 утечки сокетов; 3133 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
3134 ошибка появилась в 0.8.11. 3134 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3135 </para> 3135 </para>
3136 <para lang="en"> 3136 <para lang="en">
3137 socket leak; 3137 socket leak;
3138 the bug had appeared in 0.8.11. 3138 the bug had appeared in 0.8.11.
3139 </para> 3139 </para>
3144 3144
3145 <changes ver="0.8.16" date="22.09.2009"> 3145 <changes ver="0.8.16" date="22.09.2009">
3146 3146
3147 <change type="feature"> 3147 <change type="feature">
3148 <para lang="ru"> 3148 <para lang="ru">
3149 директива image_filter_transparency. 3149 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_transparency.
3150 </para> 3150 </para>
3151 <para lang="en"> 3151 <para lang="en">
3152 the "image_filter_transparency" directive. 3152 the "image_filter_transparency" directive.
3153 </para> 3153 </para>
3154 </change> 3154 </change>
3155 3155
3156 <change type="bugfix"> 3156 <change type="bugfix">
3157 <para lang="ru"> 3157 <para lang="ru">
3158 директива "addition_types" была неверно названа "addtion_types". 3158 п╢п╦я─п╣п╨я┌п╦п╡п╟ "addition_types" п╠я▀п╩п╟ п╫п╣п╡п╣я─п╫п╬ п╫п╟п╥п╡п╟п╫п╟ "addtion_types".
3159 </para> 3159 </para>
3160 <para lang="en"> 3160 <para lang="en">
3161 "addition_types" directive was incorrectly named "addtion_types". 3161 "addition_types" directive was incorrectly named "addtion_types".
3162 </para> 3162 </para>
3163 </change> 3163 </change>
3164 3164
3165 <change type="bugfix"> 3165 <change type="bugfix">
3166 <para lang="ru"> 3166 <para lang="ru">
3167 порчи кэша resolver'а.<br/> 3167 п©п╬я─я┤п╦ п╨я█я┬п╟ resolver'п╟.<br/>
3168 Спасибо Matthew Dempsky. 3168 п║п©п╟я│п╦п╠п╬ Matthew Dempsky.
3169 </para> 3169 </para>
3170 <para lang="en"> 3170 <para lang="en">
3171 resolver cache poisoning.<br/> 3171 resolver cache poisoning.<br/>
3172 Thanks to Matthew Dempsky. 3172 Thanks to Matthew Dempsky.
3173 </para> 3173 </para>
3174 </change> 3174 </change>
3175 3175
3176 <change type="bugfix"> 3176 <change type="bugfix">
3177 <para lang="ru"> 3177 <para lang="ru">
3178 утечки памяти в resolver'е.<br/> 3178 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ resolver'п╣.<br/>
3179 Спасибо Matthew Dempsky. 3179 п║п©п╟я│п╦п╠п╬ Matthew Dempsky.
3180 </para> 3180 </para>
3181 <para lang="en"> 3181 <para lang="en">
3182 memory leak in resolver.<br/> 3182 memory leak in resolver.<br/>
3183 Thanks to Matthew Dempsky. 3183 Thanks to Matthew Dempsky.
3184 </para> 3184 </para>
3185 </change> 3185 </change>
3186 3186
3187 <change type="bugfix"> 3187 <change type="bugfix">
3188 <para lang="ru"> 3188 <para lang="ru">
3189 неверная строка запроса в переменной $request записывалась в access_log 3189 п╫п╣п╡п╣я─п╫п╟я▐ я│я┌я─п╬п╨п╟ п╥п╟п©я─п╬я│п╟ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request п╥п╟п©п╦я│я▀п╡п╟п╩п╟я│я▄ п╡ access_log
3190 только при использовании error_log на уровне info или debug. 3190 я┌п╬п╩я▄п╨п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info п╦п╩п╦ debug.
3191 </para> 3191 </para>
3192 <para lang="en"> 3192 <para lang="en">
3193 invalid request line in $request variable was written in access_log 3193 invalid request line in $request variable was written in access_log
3194 only if error_log was set to "info" or "debug" level. 3194 only if error_log was set to "info" or "debug" level.
3195 </para> 3195 </para>
3196 </change> 3196 </change>
3197 3197
3198 <change type="bugfix"> 3198 <change type="bugfix">
3199 <para lang="ru"> 3199 <para lang="ru">
3200 в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. 3200 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п╟п╩я▄я└п╟-п╨п╟п╫п╟п╩п╟ PNG п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
3201 </para> 3201 </para>
3202 <para lang="en"> 3202 <para lang="en">
3203 in PNG alpha-channel support in the ngx_http_image_filter_module. 3203 in PNG alpha-channel support in the ngx_http_image_filter_module.
3204 </para> 3204 </para>
3205 </change> 3205 </change>
3206 3206
3207 <change type="bugfix"> 3207 <change type="bugfix">
3208 <para lang="ru"> 3208 <para lang="ru">
3209 nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа, 3209 nginx п╡я│п╣пЁп╢п╟ п╢п╬п╠п╟п╡п╩я▐п╩ я│я┌я─п╬п╨я┐ "Vary: Accept-Encoding" п╡ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟,
3210 если обе директивы gzip_static и gzip_vary были включены. 3210 п╣я│п╩п╦ п╬п╠п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_static п╦ gzip_vary п╠я▀п╩п╦ п╡п╨п╩я▌я┤п╣п╫я▀.
3211 </para> 3211 </para>
3212 <para lang="en"> 3212 <para lang="en">
3213 nginx always added "Vary: Accept-Encoding" response header line, 3213 nginx always added "Vary: Accept-Encoding" response header line,
3214 if both "gzip_static" and "gzip_vary" were on. 3214 if both "gzip_static" and "gzip_vary" were on.
3215 </para> 3215 </para>
3216 </change> 3216 </change>
3217 3217
3218 <change type="bugfix"> 3218 <change type="bugfix">
3219 <para lang="ru"> 3219 <para lang="ru">
3220 в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. 3220 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ try_files п╡ nginx/Windows.
3221 </para> 3221 </para>
3222 <para lang="en"> 3222 <para lang="en">
3223 in UTF-8 encoding support by "try_files" directive in nginx/Windows. 3223 in UTF-8 encoding support by "try_files" directive in nginx/Windows.
3224 </para> 3224 </para>
3225 </change> 3225 </change>
3226 3226
3227 <change type="bugfix"> 3227 <change type="bugfix">
3228 <para lang="ru"> 3228 <para lang="ru">
3229 ошибки при использовании post_action; 3229 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ post_action;
3230 ошибка появилась в 0.8.11.<br/> 3230 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.<br/>
3231 Спасибо Игорю Артемьеву. 3231 п║п©п╟я│п╦п╠п╬ п≤пЁп╬я─я▌ п░я─я┌п╣п╪я▄п╣п╡я┐.
3232 </para> 3232 </para>
3233 <para lang="en"> 3233 <para lang="en">
3234 in "post_action" directive usage; 3234 in "post_action" directive usage;
3235 the bug had appeared in 0.8.11.<br/> 3235 the bug had appeared in 0.8.11.<br/>
3236 Thanks to Igor Artemiev. 3236 Thanks to Igor Artemiev.
3242 3242
3243 <changes ver="0.8.15" date="14.09.2009"> 3243 <changes ver="0.8.15" date="14.09.2009">
3244 3244
3245 <change type="security"> 3245 <change type="security">
3246 <para lang="ru"> 3246 <para lang="ru">
3247 при обработке специально созданного запроса 3247 п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ я│п©п╣я├п╦п╟п╩я▄п╫п╬ я│п╬п╥п╢п╟п╫п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟
3248 в рабочем процессе мог произойти segmentation fault.<br/> 3248 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
3249 Спасибо Chris Ries. 3249 п║п©п╟я│п╦п╠п╬ Chris Ries.
3250 </para> 3250 </para>
3251 <para lang="en"> 3251 <para lang="en">
3252 a segmentation fault might occur in worker process 3252 a segmentation fault might occur in worker process
3253 while specially crafted request handling.<br/> 3253 while specially crafted request handling.<br/>
3254 Thanks to Chris Ries. 3254 Thanks to Chris Ries.
3255 </para> 3255 </para>
3256 </change> 3256 </change>
3257 3257
3258 <change type="bugfix"> 3258 <change type="bugfix">
3259 <para lang="ru"> 3259 <para lang="ru">
3260 если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld, 3260 п╣я│п╩п╦ п╠я▀п╩п╦ п╬п©п╦я│п╟п╫я▀ п╦п╪п╣п╫п╟ .domain.tld, .sub.domain.tld п╦ .domain-some.tld,
3261 то имя .sub.domain.tld попадало под маску .domain.tld. 3261 я┌п╬ п╦п╪я▐ .sub.domain.tld п©п╬п©п╟п╢п╟п╩п╬ п©п╬п╢ п╪п╟я│п╨я┐ .domain.tld.
3262 </para> 3262 </para>
3263 <para lang="en"> 3263 <para lang="en">
3264 if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, 3264 if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
3265 then the name .sub.domain.tld was matched by .domain.tld. 3265 then the name .sub.domain.tld was matched by .domain.tld.
3266 </para> 3266 </para>
3267 </change> 3267 </change>
3268 3268
3269 <change type="bugfix"> 3269 <change type="bugfix">
3270 <para lang="ru"> 3270 <para lang="ru">
3271 в поддержке прозрачности в модуле ngx_http_image_filter_module. 3271 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п©я─п╬п╥я─п╟я┤п╫п╬я│я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
3272 </para> 3272 </para>
3273 <para lang="en"> 3273 <para lang="en">
3274 in transparency support in the ngx_http_image_filter_module. 3274 in transparency support in the ngx_http_image_filter_module.
3275 </para> 3275 </para>
3276 </change> 3276 </change>
3277 3277
3278 <change type="bugfix"> 3278 <change type="bugfix">
3279 <para lang="ru"> 3279 <para lang="ru">
3280 в файловом AIO. 3280 п╡ я└п╟п╧п╩п╬п╡п╬п╪ AIO.
3281 </para> 3281 </para>
3282 <para lang="en"> 3282 <para lang="en">
3283 in file AIO. 3283 in file AIO.
3284 </para> 3284 </para>
3285 </change> 3285 </change>
3286 3286
3287 <change type="bugfix"> 3287 <change type="bugfix">
3288 <para lang="ru"> 3288 <para lang="ru">
3289 ошибки при использовании X-Accel-Redirect; 3289 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ X-Accel-Redirect;
3290 ошибка появилась в 0.8.11. 3290 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3291 </para> 3291 </para>
3292 <para lang="en"> 3292 <para lang="en">
3293 in X-Accel-Redirect usage; 3293 in X-Accel-Redirect usage;
3294 the bug had appeared in 0.8.11. 3294 the bug had appeared in 0.8.11.
3295 </para> 3295 </para>
3296 </change> 3296 </change>
3297 3297
3298 <change type="bugfix"> 3298 <change type="bugfix">
3299 <para lang="ru"> 3299 <para lang="ru">
3300 ошибки при использовании встроенного перла; 3300 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я│я┌я─п╬п╣п╫п╫п╬пЁп╬ п©п╣я─п╩п╟;
3301 ошибка появилась в 0.8.11. 3301 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3302 </para> 3302 </para>
3303 <para lang="en"> 3303 <para lang="en">
3304 in embedded perl module; 3304 in embedded perl module;
3305 the bug had appeared in 0.8.11. 3305 the bug had appeared in 0.8.11.
3306 </para> 3306 </para>
3311 3311
3312 <changes ver="0.8.14" date="07.09.2009"> 3312 <changes ver="0.8.14" date="07.09.2009">
3313 3313
3314 <change type="bugfix"> 3314 <change type="bugfix">
3315 <para lang="ru"> 3315 <para lang="ru">
3316 устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING". 3316 я┐я│я┌п╟я─п╣п╡я┬п╦п╧ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╧ п╥п╟п©я─п╬я│ п╪п╬пЁ п╥п╟п╩п╦п©п╫я┐я┌я▄ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ "UPDATING".
3317 </para> 3317 </para>
3318 <para lang="en"> 3318 <para lang="en">
3319 an expired cached response might stick in the "UPDATING" state. 3319 an expired cached response might stick in the "UPDATING" state.
3320 </para> 3320 </para>
3321 </change> 3321 </change>
3322 3322
3323 <change type="bugfix"> 3323 <change type="bugfix">
3324 <para lang="ru"> 3324 <para lang="ru">
3325 при использовании error_log на уровне info или debug 3325 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info п╦п╩п╦ debug
3326 в рабочем процессе мог произойти segmentation fault.<br/> 3326 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
3327 Спасибо Сергею Боченкову. 3327 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
3328 </para> 3328 </para>
3329 <para lang="en"> 3329 <para lang="en">
3330 a segmentation fault might occur in worker process, 3330 a segmentation fault might occur in worker process,
3331 if error_log was set to info or debug level.<br/> 3331 if error_log was set to info or debug level.<br/>
3332 Thanks to Sergey Bochenkov. 3332 Thanks to Sergey Bochenkov.
3333 </para> 3333 </para>
3334 </change> 3334 </change>
3335 3335
3336 <change type="bugfix"> 3336 <change type="bugfix">
3337 <para lang="ru"> 3337 <para lang="ru">
3338 ошибки при использовании встроенного перла; 3338 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я│я┌я─п╬п╣п╫п╫п╬пЁп╬ п©п╣я─п╩п╟;
3339 ошибка появилась в 0.8.11. 3339 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3340 </para> 3340 </para>
3341 <para lang="en"> 3341 <para lang="en">
3342 in embedded perl module; 3342 in embedded perl module;
3343 the bug had appeared in 0.8.11. 3343 the bug had appeared in 0.8.11.
3344 </para> 3344 </para>
3345 </change> 3345 </change>
3346 3346
3347 <change type="bugfix"> 3347 <change type="bugfix">
3348 <para lang="ru"> 3348 <para lang="ru">
3349 директива error_page не перенаправляла ошибку 413; 3349 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟ п╬я┬п╦п╠п╨я┐ 413;
3350 ошибка появилась в 0.6.10. 3350 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.10.
3351 </para> 3351 </para>
3352 <para lang="en"> 3352 <para lang="en">
3353 an "error_page" directive did not redirect a 413 error; 3353 an "error_page" directive did not redirect a 413 error;
3354 the bug had appeared in 0.6.10. 3354 the bug had appeared in 0.6.10.
3355 </para> 3355 </para>
3360 3360
3361 <changes ver="0.8.13" date="31.08.2009"> 3361 <changes ver="0.8.13" date="31.08.2009">
3362 3362
3363 <change type="bugfix"> 3363 <change type="bugfix">
3364 <para lang="ru"> 3364 <para lang="ru">
3365 в директиве "aio sendfile"; 3365 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ "aio sendfile";
3366 ошибка появилась в 0.8.12. 3366 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.12.
3367 </para> 3367 </para>
3368 <para lang="en"> 3368 <para lang="en">
3369 in the "aio sendfile" directive; 3369 in the "aio sendfile" directive;
3370 the bug had appeared in 0.8.12. 3370 the bug had appeared in 0.8.12.
3371 </para> 3371 </para>
3372 </change> 3372 </change>
3373 3373
3374 <change type="bugfix"> 3374 <change type="bugfix">
3375 <para lang="ru"> 3375 <para lang="ru">
3376 nginx не собирался без параметра --with-file-aio на FreeBSD; 3376 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-file-aio п╫п╟ FreeBSD;
3377 ошибка появилась в 0.8.12. 3377 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.12.
3378 </para> 3378 </para>
3379 <para lang="en"> 3379 <para lang="en">
3380 nginx could not be built without the --with-file-aio option on FreeBSD; 3380 nginx could not be built without the --with-file-aio option on FreeBSD;
3381 the bug had appeared in 0.8.12. 3381 the bug had appeared in 0.8.12.
3382 </para> 3382 </para>
3387 3387
3388 <changes ver="0.8.12" date="31.08.2009"> 3388 <changes ver="0.8.12" date="31.08.2009">
3389 3389
3390 <change type="feature"> 3390 <change type="feature">
3391 <para lang="ru"> 3391 <para lang="ru">
3392 параметр sendfile в директиве aio во FreeBSD. 3392 п©п╟я─п╟п╪п╣я┌я─ sendfile п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ aio п╡п╬ FreeBSD.
3393 </para> 3393 </para>
3394 <para lang="en"> 3394 <para lang="en">
3395 the "sendfile" parameter in the "aio" directive on FreeBSD. 3395 the "sendfile" parameter in the "aio" directive on FreeBSD.
3396 </para> 3396 </para>
3397 </change> 3397 </change>
3398 3398
3399 <change type="bugfix"> 3399 <change type="bugfix">
3400 <para lang="ru"> 3400 <para lang="ru">
3401 ошибки при использовании try_files; 3401 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ try_files;
3402 ошибка появилась в 0.8.11. 3402 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3403 </para> 3403 </para>
3404 <para lang="en"> 3404 <para lang="en">
3405 in try_files; 3405 in try_files;
3406 the bug had appeared in 0.8.11. 3406 the bug had appeared in 0.8.11.
3407 </para> 3407 </para>
3408 </change> 3408 </change>
3409 3409
3410 <change type="bugfix"> 3410 <change type="bugfix">
3411 <para lang="ru"> 3411 <para lang="ru">
3412 ошибки при использовании memcached; 3412 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ memcached;
3413 ошибка появилась в 0.8.11. 3413 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3414 </para> 3414 </para>
3415 <para lang="en"> 3415 <para lang="en">
3416 in memcached; 3416 in memcached;
3417 the bug had appeared in 0.8.11. 3417 the bug had appeared in 0.8.11.
3418 </para> 3418 </para>
3422 3422
3423 <changes ver="0.8.11" date="28.08.2009"> 3423 <changes ver="0.8.11" date="28.08.2009">
3424 3424
3425 <change type="change"> 3425 <change type="change">
3426 <para lang="ru"> 3426 <para lang="ru">
3427 теперь директива "gzip_disable msie6" не запрещает сжатие для 3427 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "gzip_disable msie6" п╫п╣ п╥п╟п©я─п╣я┴п╟п╣я┌ я│п╤п╟я┌п╦п╣ п╢п╩я▐
3428 <nobr>MSIE 6.0 SV1.</nobr> 3428 <nobr>MSIE 6.0 SV1.</nobr>
3429 </para> 3429 </para>
3430 <para lang="en"> 3430 <para lang="en">
3431 now directive "gzip_disable msie6" does not disable gzipping for 3431 now directive "gzip_disable msie6" does not disable gzipping for
3432 <nobr>MSIE 6.0 SV1.</nobr> 3432 <nobr>MSIE 6.0 SV1.</nobr>
3433 </para> 3433 </para>
3434 </change> 3434 </change>
3435 3435
3436 <change type="feature"> 3436 <change type="feature">
3437 <para lang="ru"> 3437 <para lang="ru">
3438 поддержка файлового AIO во FreeBSD и Linux. 3438 п©п╬п╢п╢п╣я─п╤п╨п╟ я└п╟п╧п╩п╬п╡п╬пЁп╬ AIO п╡п╬ FreeBSD п╦ Linux.
3439 </para> 3439 </para>
3440 <para lang="en"> 3440 <para lang="en">
3441 file AIO support on FreeBSD and Linux. 3441 file AIO support on FreeBSD and Linux.
3442 </para> 3442 </para>
3443 </change> 3443 </change>
3444 3444
3445 <change type="feature"> 3445 <change type="feature">
3446 <para lang="ru"> 3446 <para lang="ru">
3447 директива directio_alignment. 3447 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio_alignment.
3448 </para> 3448 </para>
3449 <para lang="en"> 3449 <para lang="en">
3450 the "directio_alignment" directive. 3450 the "directio_alignment" directive.
3451 </para> 3451 </para>
3452 </change> 3452 </change>
3456 3456
3457 <changes ver="0.8.10" date="24.08.2009"> 3457 <changes ver="0.8.10" date="24.08.2009">
3458 3458
3459 <change type="bugfix"> 3459 <change type="bugfix">
3460 <para lang="ru"> 3460 <para lang="ru">
3461 утечек памяти при использовании базы GeoIP City. 3461 я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╟п╥я▀ GeoIP City.
3462 </para> 3462 </para>
3463 <para lang="en"> 3463 <para lang="en">
3464 memory leaks if GeoIP City database was used. 3464 memory leaks if GeoIP City database was used.
3465 </para> 3465 </para>
3466 </change> 3466 </change>
3467 3467
3468 <change type="bugfix"> 3468 <change type="bugfix">
3469 <para lang="ru"> 3469 <para lang="ru">
3470 ошибки при копировании временных файлов в постоянное место хранения; 3470 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐;
3471 ошибка появилась в 0.8.9. 3471 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.9.
3472 </para> 3472 </para>
3473 <para lang="en"> 3473 <para lang="en">
3474 in copying temporary files to permanent storage area; 3474 in copying temporary files to permanent storage area;
3475 the bug had appeared in 0.8.9. 3475 the bug had appeared in 0.8.9.
3476 </para> 3476 </para>
3481 3481
3482 <changes ver="0.8.9" date="17.08.2009"> 3482 <changes ver="0.8.9" date="17.08.2009">
3483 3483
3484 <change type="feature"> 3484 <change type="feature">
3485 <para lang="ru"> 3485 <para lang="ru">
3486 теперь стартовый загрузчик кэша работает в отдельном процесс; 3486 я┌п╣п©п╣я─я▄ я│я┌п╟я─я┌п╬п╡я▀п╧ п╥п╟пЁя─я┐п╥я┤п╦п╨ п╨я█я┬п╟ я─п╟п╠п╬я┌п╟п╣я┌ п╡ п╬я┌п╢п╣п╩я▄п╫п╬п╪ п©я─п╬я├п╣я│я│;
3487 это должно улучшить обработку больших кэшей. 3487 я█я┌п╬ п╢п╬п╩п╤п╫п╬ я┐п╩я┐я┤я┬п╦я┌я▄ п╬п╠я─п╟п╠п╬я┌п╨я┐ п╠п╬п╩я▄я┬п╦я┘ п╨я█я┬п╣п╧.
3488 </para> 3488 </para>
3489 <para lang="en"> 3489 <para lang="en">
3490 now the start cache loader runs in a separate process; 3490 now the start cache loader runs in a separate process;
3491 this should improve large caches handling. 3491 this should improve large caches handling.
3492 </para> 3492 </para>
3493 </change> 3493 </change>
3494 3494
3495 <change type="feature"> 3495 <change type="feature">
3496 <para lang="ru"> 3496 <para lang="ru">
3497 теперь временные файлы и постоянное место хранения могут располагаться 3497 я┌п╣п©п╣я─я▄ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╦ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐ п╪п╬пЁя┐я┌ я─п╟я│п©п╬п╩п╟пЁп╟я┌я▄я│я▐
3498 на разных файловых системах. 3498 п╫п╟ я─п╟п╥п╫я▀я┘ я└п╟п╧п╩п╬п╡я▀я┘ я│п╦я│я┌п╣п╪п╟я┘.
3499 </para> 3499 </para>
3500 <para lang="en"> 3500 <para lang="en">
3501 now temporary files and permanent storage area may reside at 3501 now temporary files and permanent storage area may reside at
3502 different file systems. 3502 different file systems.
3503 </para> 3503 </para>
3508 3508
3509 <changes ver="0.8.8" date="10.08.2009"> 3509 <changes ver="0.8.8" date="10.08.2009">
3510 3510
3511 <change type="bugfix"> 3511 <change type="bugfix">
3512 <para lang="ru"> 3512 <para lang="ru">
3513 в обработке заголовков ответа, разделённых в FastCGI-записях. 3513 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╡ п╬я┌п╡п╣я┌п╟, я─п╟п╥п╢п╣п╩я▒п╫п╫я▀я┘ п╡ FastCGI-п╥п╟п©п╦я│я▐я┘.
3514 </para> 3514 </para>
3515 <para lang="en"> 3515 <para lang="en">
3516 in handling FastCGI headers split in records. 3516 in handling FastCGI headers split in records.
3517 </para> 3517 </para>
3518 </change> 3518 </change>
3519 3519
3520 <change type="bugfix"> 3520 <change type="bugfix">
3521 <para lang="ru"> 3521 <para lang="ru">
3522 если запрос обрабатывался в двух проксированных или FastCGI location'ах 3522 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п╡ п╢п╡я┐я┘ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п╦п╩п╦ FastCGI location'п╟я┘
3523 и в первом из них использовалось кэширование, 3523 п╦ п╡ п©п╣я─п╡п╬п╪ п╦п╥ п╫п╦я┘ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╣,
3524 то в рабочем процессе происходил segmentation fault; 3524 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
3525 ошибка появилась в 0.8.7. 3525 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.7.
3526 </para> 3526 </para>
3527 <para lang="en"> 3527 <para lang="en">
3528 a segmentation fault occurred in worker process, 3528 a segmentation fault occurred in worker process,
3529 if a request was handled in two proxied or FastCGIed locations 3529 if a request was handled in two proxied or FastCGIed locations
3530 and a caching was enabled in the first location; 3530 and a caching was enabled in the first location;
3537 3537
3538 <changes ver="0.8.7" date="27.07.2009"> 3538 <changes ver="0.8.7" date="27.07.2009">
3539 3539
3540 <change type="change"> 3540 <change type="change">
3541 <para lang="ru"> 3541 <para lang="ru">
3542 минимальная поддерживаемая версия OpenSSL&mdash;0.9.7. 3542 п╪п╦п╫п╦п╪п╟п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣п╪п╟я▐ п╡п╣я─я│п╦я▐ OpenSSL&mdash;0.9.7.
3543 </para> 3543 </para>
3544 <para lang="en"> 3544 <para lang="en">
3545 minimum supported OpenSSL version is 0.9.7. 3545 minimum supported OpenSSL version is 0.9.7.
3546 </para> 3546 </para>
3547 </change> 3547 </change>
3548 3548
3549 <change type="change"> 3549 <change type="change">
3550 <para lang="ru"> 3550 <para lang="ru">
3551 параметр ask директивы ssl_verify_client изменён на параметр optional 3551 п©п╟я─п╟п╪п╣я┌я─ ask п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client п╦п╥п╪п╣п╫я▒п╫ п╫п╟ п©п╟я─п╟п╪п╣я┌я─ optional
3552 и теперь он проверяет клиентский сертификат, если он был предложен.<br/> 3552 п╦ я┌п╣п©п╣я─я▄ п╬п╫ п©я─п╬п╡п╣я─я▐п╣я┌ п╨п╩п╦п╣п╫я┌я│п╨п╦п╧ я│п╣я─я┌п╦я└п╦п╨п╟я┌, п╣я│п╩п╦ п╬п╫ п╠я▀п╩ п©я─п╣п╢п╩п╬п╤п╣п╫.<br/>
3553 Спасибо Brice Figureau. 3553 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3554 </para> 3554 </para>
3555 <para lang="en"> 3555 <para lang="en">
3556 the "ask" parameter of the "ssl_verify_client" directive was changed 3556 the "ask" parameter of the "ssl_verify_client" directive was changed
3557 to the "optional" parameter and now it checks a client certificate if it was 3557 to the "optional" parameter and now it checks a client certificate if it was
3558 offered.<br/> 3558 offered.<br/>
3560 </para> 3560 </para>
3561 </change> 3561 </change>
3562 3562
3563 <change type="feature"> 3563 <change type="feature">
3564 <para lang="ru"> 3564 <para lang="ru">
3565 переменная $ssl_client_verify.<br/> 3565 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_verify.<br/>
3566 Спасибо Brice Figureau. 3566 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3567 </para> 3567 </para>
3568 <para lang="en"> 3568 <para lang="en">
3569 the $ssl_client_verify variable.<br/> 3569 the $ssl_client_verify variable.<br/>
3570 Thanks to Brice Figureau. 3570 Thanks to Brice Figureau.
3571 </para> 3571 </para>
3572 </change> 3572 </change>
3573 3573
3574 <change type="feature"> 3574 <change type="feature">
3575 <para lang="ru"> 3575 <para lang="ru">
3576 директива ssl_crl.<br/> 3576 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_crl.<br/>
3577 Спасибо Brice Figureau. 3577 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3578 </para> 3578 </para>
3579 <para lang="en"> 3579 <para lang="en">
3580 the "ssl_crl" directive.<br/> 3580 the "ssl_crl" directive.<br/>
3581 Thanks to Brice Figureau. 3581 Thanks to Brice Figureau.
3582 </para> 3582 </para>
3583 </change> 3583 </change>
3584 3584
3585 <change type="feature"> 3585 <change type="feature">
3586 <para lang="ru"> 3586 <para lang="ru">
3587 параметр proxy директивы geo. 3587 п©п╟я─п╟п╪п╣я┌я─ proxy п╢п╦я─п╣п╨я┌п╦п╡я▀ geo.
3588 </para> 3588 </para>
3589 <para lang="en"> 3589 <para lang="en">
3590 the "proxy" parameter of the "geo" directive. 3590 the "proxy" parameter of the "geo" directive.
3591 </para> 3591 </para>
3592 </change> 3592 </change>
3593 3593
3594 <change type="feature"> 3594 <change type="feature">
3595 <para lang="ru"> 3595 <para lang="ru">
3596 директива image_filter поддерживает переменные для задания размеров. 3596 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╢п╩я▐ п╥п╟п╢п╟п╫п╦я▐ я─п╟п╥п╪п╣я─п╬п╡.
3597 </para> 3597 </para>
3598 <para lang="en"> 3598 <para lang="en">
3599 the "image_filter" directive supports variables for setting size. 3599 the "image_filter" directive supports variables for setting size.
3600 </para> 3600 </para>
3601 </change> 3601 </change>
3602 3602
3603 <change type="bugfix"> 3603 <change type="bugfix">
3604 <para lang="ru"> 3604 <para lang="ru">
3605 использование переменной $ssl_client_cert портило память; 3605 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $ssl_client_cert п©п╬я─я┌п╦п╩п╬ п©п╟п╪я▐я┌я▄;
3606 ошибка появилась в 0.7.7.<br/> 3606 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.<br/>
3607 Спасибо Сергею Журавлёву. 3607 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п√я┐я─п╟п╡п╩я▒п╡я┐.
3608 </para> 3608 </para>
3609 <para lang="en"> 3609 <para lang="en">
3610 the $ssl_client_cert variable usage corrupted memory; 3610 the $ssl_client_cert variable usage corrupted memory;
3611 the bug had appeared in 0.7.7.<br/> 3611 the bug had appeared in 0.7.7.<br/>
3612 Thanks to Sergey Zhuravlev. 3612 Thanks to Sergey Zhuravlev.
3613 </para> 3613 </para>
3614 </change> 3614 </change>
3615 3615
3616 <change type="bugfix"> 3616 <change type="bugfix">
3617 <para lang="ru"> 3617 <para lang="ru">
3618 директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту 3618 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass_header п╦ fastcgi_pass_header" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦ п╨п╩п╦п╣п╫я┌я┐
3619 строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и 3619 я│я┌я─п╬п╨п╦ "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" п╦
3620 "X-Accel-Charset" из заголовка ответа бэкенда.<br/> 3620 "X-Accel-Charset" п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.<br/>
3621 Спасибо Максиму Дунину. 3621 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3622 </para> 3622 </para>
3623 <para lang="en"> 3623 <para lang="en">
3624 "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to 3624 "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
3625 a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", 3625 a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
3626 and "X-Accel-Charset" lines from backend response header.<br/> 3626 and "X-Accel-Charset" lines from backend response header.<br/>
3628 </para> 3628 </para>
3629 </change> 3629 </change>
3630 3630
3631 <change type="bugfix"> 3631 <change type="bugfix">
3632 <para lang="ru"> 3632 <para lang="ru">
3633 в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда; 3633 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ я│я┌я─п╬п╨ "Last-Modified" п╦ "Accept-Ranges" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟;
3634 ошибка появилась в 0.7.44.<br/> 3634 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.<br/>
3635 Спасибо Максиму Дунину. 3635 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3636 </para> 3636 </para>
3637 <para lang="en"> 3637 <para lang="en">
3638 in handling "Last-Modified" and "Accept-Ranges" backend response header lines; 3638 in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
3639 the bug had appeared in 0.7.44.<br/> 3639 the bug had appeared in 0.7.44.<br/>
3640 Thanks to Maxim Dounin. 3640 Thanks to Maxim Dounin.
3641 </para> 3641 </para>
3642 </change> 3642 </change>
3643 3643
3644 <change type="bugfix"> 3644 <change type="bugfix">
3645 <para lang="ru"> 3645 <para lang="ru">
3646 ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах; 3646 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ п©п╬п╩я┐я┤п╣п╫п╦п╦ п©я┐я│я┌я▀я┘ п╬я┌п╡п╣я┌я▀ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘;
3647 ошибка появилась в 0.8.5. 3647 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.5.
3648 </para> 3648 </para>
3649 <para lang="en"> 3649 <para lang="en">
3650 the "[alert] zero size buf" error if subrequest returns an empty response; 3650 the "[alert] zero size buf" error if subrequest returns an empty response;
3651 the bug had appeared in 0.8.5. 3651 the bug had appeared in 0.8.5.
3652 </para> 3652 </para>
3657 3657
3658 <changes ver="0.8.6" date="20.07.2009"> 3658 <changes ver="0.8.6" date="20.07.2009">
3659 3659
3660 <change type="feature"> 3660 <change type="feature">
3661 <para lang="ru"> 3661 <para lang="ru">
3662 модуль ngx_http_geoip_module. 3662 п╪п╬п╢я┐п╩я▄ ngx_http_geoip_module.
3663 </para> 3663 </para>
3664 <para lang="en"> 3664 <para lang="en">
3665 the ngx_http_geoip_module. 3665 the ngx_http_geoip_module.
3666 </para> 3666 </para>
3667 </change> 3667 </change>
3668 3668
3669 <change type="bugfix"> 3669 <change type="bugfix">
3670 <para lang="ru"> 3670 <para lang="ru">
3671 XSLT-фильтр мог выдавать ошибку "not well formed XML document" для 3671 XSLT-я└п╦п╩я▄я┌я─ п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┬п╦п╠п╨я┐ "not well formed XML document" п╢п╩я▐
3672 правильного документа.<br/> 3672 п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ п╢п╬п╨я┐п╪п╣п╫я┌п╟.<br/>
3673 Спасибо Kuramoto Eiji. 3673 п║п©п╟я│п╦п╠п╬ Kuramoto Eiji.
3674 </para> 3674 </para>
3675 <para lang="en"> 3675 <para lang="en">
3676 XSLT filter may fail with message "not well formed XML document" 3676 XSLT filter may fail with message "not well formed XML document"
3677 for valid XML document.<br/> 3677 for valid XML document.<br/>
3678 Thanks to Kuramoto Eiji. 3678 Thanks to Kuramoto Eiji.
3679 </para> 3679 </para>
3680 </change> 3680 </change>
3681 3681
3682 <change type="bugfix"> 3682 <change type="bugfix">
3683 <para lang="ru"> 3683 <para lang="ru">
3684 в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных 3684 п╡ MacOSX, Cygwin п╦ nginx/Windows п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ location'п╬п╡, п╥п╟п╢п╟п╫п╫я▀я┘
3685 регулярным выражением, теперь всегда делается сравнение без учёта 3685 я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪, я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ п╢п╣п╩п╟п╣я┌я│я▐ я│я─п╟п╡п╫п╣п╫п╦п╣ п╠п╣п╥ я┐я┤я▒я┌п╟
3686 регистра символов. 3686 я─п╣пЁп╦я│я┌я─п╟ я│п╦п╪п╡п╬п╩п╬п╡.
3687 </para> 3687 </para>
3688 <para lang="en"> 3688 <para lang="en">
3689 now in MacOSX, Cygwin, and nginx/Windows locations given by a regular 3689 now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
3690 expression are always tested in case insensitive mode. 3690 expression are always tested in case insensitive mode.
3691 </para> 3691 </para>
3692 </change> 3692 </change>
3693 3693
3694 <change type="bugfix"> 3694 <change type="bugfix">
3695 <para lang="ru"> 3695 <para lang="ru">
3696 теперь nginx/Windows игнорирует точки в конце URI.<br/> 3696 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ я┌п╬я┤п╨п╦ п╡ п╨п╬п╫я├п╣ URI.<br/>
3697 Спасибо Hugo Leisink. 3697 п║п©п╟я│п╦п╠п╬ Hugo Leisink.
3698 </para> 3698 </para>
3699 <para lang="en"> 3699 <para lang="en">
3700 now nginx/Windows ignores trailing dots in URI.<br/> 3700 now nginx/Windows ignores trailing dots in URI.<br/>
3701 Thanks to Hugo Leisink. 3701 Thanks to Hugo Leisink.
3702 </para> 3702 </para>
3703 </change> 3703 </change>
3704 3704
3705 <change type="bugfix"> 3705 <change type="bugfix">
3706 <para lang="ru"> 3706 <para lang="ru">
3707 имя файла указанного в --conf-path игнорировалось при установке; 3707 п╦п╪я▐ я└п╟п╧п╩п╟ я┐п╨п╟п╥п╟п╫п╫п╬пЁп╬ п╡ --conf-path п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╬я│я▄ п©я─п╦ я┐я│я┌п╟п╫п╬п╡п╨п╣;
3708 ошибка появилась в 0.6.6.<br/> 3708 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.<br/>
3709 Спасибо Максиму Дунину. 3709 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3710 </para> 3710 </para>
3711 <para lang="en"> 3711 <para lang="en">
3712 name of file specified in --conf-path was not honored during installation; 3712 name of file specified in --conf-path was not honored during installation;
3713 the bug had appeared in 0.6.6.<br/> 3713 the bug had appeared in 0.6.6.<br/>
3714 Thanks to Maxim Dounin. 3714 Thanks to Maxim Dounin.
3720 3720
3721 <changes ver="0.8.5" date="13.07.2009"> 3721 <changes ver="0.8.5" date="13.07.2009">
3722 3722
3723 <change type="bugfix"> 3723 <change type="bugfix">
3724 <para lang="ru"> 3724 <para lang="ru">
3725 теперь nginx разрешает подчёркивания в методе запроса. 3725 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╪п╣я┌п╬п╢п╣ п╥п╟п©я─п╬я│п╟.
3726 </para> 3726 </para>
3727 <para lang="en"> 3727 <para lang="en">
3728 now nginx allows underscores in a request method. 3728 now nginx allows underscores in a request method.
3729 </para> 3729 </para>
3730 </change> 3730 </change>
3731 3731
3732 <change type="bugfix"> 3732 <change type="bugfix">
3733 <para lang="ru"> 3733 <para lang="ru">
3734 при использовании HTTP Basic-аутентификации на Windows 3734 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTP Basic-п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п╫п╟ Windows
3735 для неверных имени/пароля возвращалась 500-ая ошибка. 3735 п╢п╩я▐ п╫п╣п╡п╣я─п╫я▀я┘ п╦п╪п╣п╫п╦/п©п╟я─п╬п╩я▐ п╡п╬п╥п╡я─п╟я┴п╟п╩п╟я│я▄ 500-п╟я▐ п╬я┬п╦п╠п╨п╟.
3736 </para> 3736 </para>
3737 <para lang="en"> 3737 <para lang="en">
3738 a 500 error code was returned for invalid login/password while HTTP 3738 a 500 error code was returned for invalid login/password while HTTP
3739 Basic authentication on Windows. 3739 Basic authentication on Windows.
3740 </para> 3740 </para>
3741 </change> 3741 </change>
3742 3742
3743 <change type="bugfix"> 3743 <change type="bugfix">
3744 <para lang="ru"> 3744 <para lang="ru">
3745 ответы модуля ngx_http_perl_module не работали в подзапросах. 3745 п╬я┌п╡п╣я┌я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
3746 </para> 3746 </para>
3747 <para lang="en"> 3747 <para lang="en">
3748 ngx_http_perl_module responses did not work in subrequests. 3748 ngx_http_perl_module responses did not work in subrequests.
3749 </para> 3749 </para>
3750 </change> 3750 </change>
3751 3751
3752 <change type="bugfix"> 3752 <change type="bugfix">
3753 <para lang="ru"> 3753 <para lang="ru">
3754 в модуле ngx_http_limit_req_module.<br/> 3754 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_limit_req_module.<br/>
3755 Спасибо Максиму Дунину. 3755 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3756 </para> 3756 </para>
3757 <para lang="en"> 3757 <para lang="en">
3758 in ngx_http_limit_req_module.<br/> 3758 in ngx_http_limit_req_module.<br/>
3759 Thanks to Maxim Dounin. 3759 Thanks to Maxim Dounin.
3760 </para> 3760 </para>
3765 3765
3766 <changes ver="0.8.4" date="22.06.2009"> 3766 <changes ver="0.8.4" date="22.06.2009">
3767 3767
3768 <change type="bugfix"> 3768 <change type="bugfix">
3769 <para lang="ru"> 3769 <para lang="ru">
3770 nginx не собирался с параметром --without-http-cache; 3770 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
3771 ошибка появилась в 0.8.3. 3771 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.3.
3772 </para> 3772 </para>
3773 <para lang="en"> 3773 <para lang="en">
3774 nginx could not be built --without-http-cache; 3774 nginx could not be built --without-http-cache;
3775 the bug had appeared in 0.8.3. 3775 the bug had appeared in 0.8.3.
3776 </para> 3776 </para>
3781 3781
3782 <changes ver="0.8.3" date="19.06.2009"> 3782 <changes ver="0.8.3" date="19.06.2009">
3783 3783
3784 <change type="feature"> 3784 <change type="feature">
3785 <para lang="ru"> 3785 <para lang="ru">
3786 переменная $upstream_cache_status. 3786 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_cache_status.
3787 </para> 3787 </para>
3788 <para lang="en"> 3788 <para lang="en">
3789 the $upstream_cache_status variable. 3789 the $upstream_cache_status variable.
3790 </para> 3790 </para>
3791 </change> 3791 </change>
3792 3792
3793 <change type="bugfix"> 3793 <change type="bugfix">
3794 <para lang="ru"> 3794 <para lang="ru">
3795 nginx не собирался на MacOSX 10.6. 3795 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOSX 10.6.
3796 </para> 3796 </para>
3797 <para lang="en"> 3797 <para lang="en">
3798 nginx could not be built on MacOSX 10.6. 3798 nginx could not be built on MacOSX 10.6.
3799 </para> 3799 </para>
3800 </change> 3800 </change>
3801 3801
3802 <change type="bugfix"> 3802 <change type="bugfix">
3803 <para lang="ru"> 3803 <para lang="ru">
3804 nginx не собирался с параметром --without-http-cache; 3804 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
3805 ошибка появилась в 0.8.2. 3805 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.2.
3806 </para> 3806 </para>
3807 <para lang="en"> 3807 <para lang="en">
3808 nginx could not be built --without-http-cache; 3808 nginx could not be built --without-http-cache;
3809 the bug had appeared in 0.8.2. 3809 the bug had appeared in 0.8.2.
3810 </para> 3810 </para>
3811 </change> 3811 </change>
3812 3812
3813 <change type="bugfix"> 3813 <change type="bugfix">
3814 <para lang="ru"> 3814 <para lang="ru">
3815 если использовался перехват 401 ошибки от бэкенда и бэкенд 3815 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╣я─п╣я┘п╡п╟я┌ 401 п╬я┬п╦п╠п╨п╦ п╬я┌ п╠я█п╨п╣п╫п╢п╟ п╦ п╠я█п╨п╣п╫п╢
3816 не возвращал строку "WWW-Authenticate" в заголовке ответа, 3816 п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩ я│я┌я─п╬п╨я┐ "WWW-Authenticate" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟,
3817 то в рабочем процессе происходил segmentation fault.<br/> 3817 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
3818 Спасибо Евгению Мычло. 3818 п║п©п╟я│п╦п╠п╬ п∙п╡пЁп╣п╫п╦я▌ п°я▀я┤п╩п╬.
3819 </para> 3819 </para>
3820 <para lang="en"> 3820 <para lang="en">
3821 a segmentation fault occurred in worker process, 3821 a segmentation fault occurred in worker process,
3822 if a backend 401 error was intercepted and the backend did not set 3822 if a backend 401 error was intercepted and the backend did not set
3823 the "WWW-Authenticate" response header line.<br/> 3823 the "WWW-Authenticate" response header line.<br/>
3830 3830
3831 <changes ver="0.8.2" date="15.06.2009"> 3831 <changes ver="0.8.2" date="15.06.2009">
3832 3832
3833 <change type="bugfix"> 3833 <change type="bugfix">
3834 <para lang="ru"> 3834 <para lang="ru">
3835 во взаимодействии open_file_cache и proxy/fastcgi кэша на старте. 3835 п╡п╬ п╡п╥п╟п╦п╪п╬п╢п╣п╧я│я┌п╡п╦п╦ open_file_cache п╦ proxy/fastcgi п╨я█я┬п╟ п╫п╟ я│я┌п╟я─я┌п╣.
3836 </para> 3836 </para>
3837 <para lang="en"> 3837 <para lang="en">
3838 in open_file_cache and proxy/fastcgi cache interaction on start up. 3838 in open_file_cache and proxy/fastcgi cache interaction on start up.
3839 </para> 3839 </para>
3840 </change> 3840 </change>
3841 3841
3842 <change type="bugfix"> 3842 <change type="bugfix">
3843 <para lang="ru"> 3843 <para lang="ru">
3844 open_file_cache мог кэшировать открытые файлы очень долго; 3844 open_file_cache п╪п╬пЁ п╨я█я┬п╦я─п╬п╡п╟я┌я▄ п╬я┌п╨я─я▀я┌я▀п╣ я└п╟п╧п╩я▀ п╬я┤п╣п╫я▄ п╢п╬п╩пЁп╬;
3845 ошибка появилась в 0.7.4. 3845 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.4.
3846 </para> 3846 </para>
3847 <para lang="en"> 3847 <para lang="en">
3848 open_file_cache might cache open file descriptors too long; 3848 open_file_cache might cache open file descriptors too long;
3849 the bug had appeared in 0.7.4. 3849 the bug had appeared in 0.7.4.
3850 </para> 3850 </para>
3855 3855
3856 <changes ver="0.8.1" date="08.06.2009"> 3856 <changes ver="0.8.1" date="08.06.2009">
3857 3857
3858 <change type="feature"> 3858 <change type="feature">
3859 <para lang="ru"> 3859 <para lang="ru">
3860 параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. 3860 п©п╟я─п╟п╪п╣я┌я─ updating п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_cache_use_stale п╦ fastcgi_cache_use_stale.
3861 </para> 3861 </para>
3862 <para lang="en"> 3862 <para lang="en">
3863 the "updating" parameter in "proxy_cache_use_stale" and 3863 the "updating" parameter in "proxy_cache_use_stale" and
3864 "fastcgi_cache_use_stale" directives. 3864 "fastcgi_cache_use_stale" directives.
3865 </para> 3865 </para>
3866 </change> 3866 </change>
3867 3867
3868 <change type="bugfix"> 3868 <change type="bugfix">
3869 <para lang="ru"> 3869 <para lang="ru">
3870 строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 3870 я│я┌я─п╬п╨п╦ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
3871 клиента передавались бэкенду при кэшировании, если не использовалась 3871 п╨п╩п╦п╣п╫я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╠я█п╨п╣п╫п╢я┐ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄
3872 директива proxy_set_header с любыми параметрами. 3872 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_header я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
3873 </para> 3873 </para>
3874 <para lang="en"> 3874 <para lang="en">
3875 the "If-Modified-Since", "If-Range", etc. client request header lines 3875 the "If-Modified-Since", "If-Range", etc. client request header lines
3876 were passed to backend while caching if no "proxy_set_header" directive 3876 were passed to backend while caching if no "proxy_set_header" directive
3877 was used with any parameters. 3877 was used with any parameters.
3878 </para> 3878 </para>
3879 </change> 3879 </change>
3880 3880
3881 <change type="bugfix"> 3881 <change type="bugfix">
3882 <para lang="ru"> 3882 <para lang="ru">
3883 строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались 3883 я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╫п╣ я│п╨я─я▀п╡п╟п╩п╦я│я▄
3884 при кэшировании, если не использовались директивы 3884 п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀
3885 proxy_hide_header/fastcgi_hide_header с любыми параметрами. 3885 proxy_hide_header/fastcgi_hide_header я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
3886 </para> 3886 </para>
3887 <para lang="en"> 3887 <para lang="en">
3888 the "Set-Cookie" and "P3P" response header lines were not hidden while caching 3888 the "Set-Cookie" and "P3P" response header lines were not hidden while caching
3889 if no "proxy_hide_header/fastcgi_hide_header" directives were used with 3889 if no "proxy_hide_header/fastcgi_hide_header" directives were used with
3890 any parameters. 3890 any parameters.
3891 </para> 3891 </para>
3892 </change> 3892 </change>
3893 3893
3894 <change type="bugfix"> 3894 <change type="bugfix">
3895 <para lang="ru"> 3895 <para lang="ru">
3896 модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/> 3896 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module п╫п╣ п©п╬п╫п╦п╪п╟п╩ я└п╬я─п╪п╟я┌ GIF87a.<br/>
3897 Спасибо Денису Ильиных. 3897 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п≤п╩я▄п╦п╫я▀я┘.
3898 </para> 3898 </para>
3899 <para lang="en"> 3899 <para lang="en">
3900 the ngx_http_image_filter_module did not support GIF87a format.<br/> 3900 the ngx_http_image_filter_module did not support GIF87a format.<br/>
3901 Thanks to Denis Ilyinyh. 3901 Thanks to Denis Ilyinyh.
3902 </para> 3902 </para>
3903 </change> 3903 </change>
3904 3904
3905 <change type="bugfix"> 3905 <change type="bugfix">
3906 <para lang="ru"> 3906 <para lang="ru">
3907 nginx не собирался на Solaris 10 и более ранних; 3907 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris 10 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
3908 ошибка появилась в 0.7.56. 3908 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
3909 </para> 3909 </para>
3910 <para lang="en"> 3910 <para lang="en">
3911 nginx could not be built modules on Solaris 10 and early; 3911 nginx could not be built modules on Solaris 10 and early;
3912 the bug had appeared in 0.7.56. 3912 the bug had appeared in 0.7.56.
3913 </para> 3913 </para>
3918 3918
3919 <changes ver="0.8.0" date="02.06.2009"> 3919 <changes ver="0.8.0" date="02.06.2009">
3920 3920
3921 <change type="feature"> 3921 <change type="feature">
3922 <para lang="ru"> 3922 <para lang="ru">
3923 директива keepalive_requests. 3923 п╢п╦я─п╣п╨я┌п╦п╡п╟ keepalive_requests.
3924 </para> 3924 </para>
3925 <para lang="en"> 3925 <para lang="en">
3926 the "keepalive_requests" directive. 3926 the "keepalive_requests" directive.
3927 </para> 3927 </para>
3928 </change> 3928 </change>
3929 3929
3930 <change type="feature"> 3930 <change type="feature">
3931 <para lang="ru"> 3931 <para lang="ru">
3932 директива limit_rate_after.<br/> 3932 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate_after.<br/>
3933 Спасибо Ivan Debnar. 3933 п║п©п╟я│п╦п╠п╬ Ivan Debnar.
3934 </para> 3934 </para>
3935 <para lang="en"> 3935 <para lang="en">
3936 the "limit_rate_after" directive.<br/> 3936 the "limit_rate_after" directive.<br/>
3937 Thanks to Ivan Debnar. 3937 Thanks to Ivan Debnar.
3938 </para> 3938 </para>
3939 </change> 3939 </change>
3940 3940
3941 <change type="bugfix"> 3941 <change type="bugfix">
3942 <para lang="ru"> 3942 <para lang="ru">
3943 XSLT-фильтр не работал в подзапросах. 3943 XSLT-я└п╦п╩я▄я┌я─ п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
3944 </para> 3944 </para>
3945 <para lang="en"> 3945 <para lang="en">
3946 XLST filter did not work in subrequests. 3946 XLST filter did not work in subrequests.
3947 </para> 3947 </para>
3948 </change> 3948 </change>
3949 3949
3950 <change type="bugfix"> 3950 <change type="bugfix">
3951 <para lang="ru"> 3951 <para lang="ru">
3952 обработке относительных путей в nginx/Windows. 3952 п╬п╠я─п╟п╠п╬я┌п╨п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀я┘ п©я┐я┌п╣п╧ п╡ nginx/Windows.
3953 </para> 3953 </para>
3954 <para lang="en"> 3954 <para lang="en">
3955 in relative paths handling in nginx/Windows. 3955 in relative paths handling in nginx/Windows.
3956 </para> 3956 </para>
3957 </change> 3957 </change>
3958 3958
3959 <change type="bugfix"> 3959 <change type="bugfix">
3960 <para lang="ru"> 3960 <para lang="ru">
3961 в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows. 3961 п╡ proxy_store, fastcgi_store, proxy_cache п╦ fastcgi_cache п╡ nginx/Windows.
3962 </para> 3962 </para>
3963 <para lang="en"> 3963 <para lang="en">
3964 in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows. 3964 in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
3965 </para> 3965 </para>
3966 </change> 3966 </change>
3967 3967
3968 <change type="bugfix"> 3968 <change type="bugfix">
3969 <para lang="ru"> 3969 <para lang="ru">
3970 в обработке ошибок выделения памяти.<br/> 3970 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╬я┬п╦п╠п╬п╨ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п©п╟п╪я▐я┌п╦.<br/>
3971 Спасибо Максиму Дунину и Кириллу Коринскому. 3971 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐ п╦ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
3972 </para> 3972 </para>
3973 <para lang="en"> 3973 <para lang="en">
3974 in memory allocation error handling.<br/> 3974 in memory allocation error handling.<br/>
3975 Thanks to Maxim Dounin and Kirill A. Korinskiy. 3975 Thanks to Maxim Dounin and Kirill A. Korinskiy.
3976 </para> 3976 </para>
3981 3981
3982 <changes ver="0.7.59" date="25.05.2009"> 3982 <changes ver="0.7.59" date="25.05.2009">
3983 3983
3984 <change type="feature"> 3984 <change type="feature">
3985 <para lang="ru"> 3985 <para lang="ru">
3986 директивы proxy_cache_methods и fastcgi_cache_methods. 3986 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_methods п╦ fastcgi_cache_methods.
3987 </para> 3987 </para>
3988 <para lang="en"> 3988 <para lang="en">
3989 the "proxy_cache_methods" and "fastcgi_cache_methods" directives. 3989 the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
3990 </para> 3990 </para>
3991 </change> 3991 </change>
3992 3992
3993 <change type="bugfix"> 3993 <change type="bugfix">
3994 <para lang="ru"> 3994 <para lang="ru">
3995 утечки сокетов; 3995 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
3996 ошибка появилась в 0.7.25.<br/> 3996 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.<br/>
3997 Спасибо Максиму Дунину. 3997 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3998 </para> 3998 </para>
3999 <para lang="en"> 3999 <para lang="en">
4000 socket leak; 4000 socket leak;
4001 the bug had appeared in 0.7.25.<br/> 4001 the bug had appeared in 0.7.25.<br/>
4002 Thanks to Maxim Dounin. 4002 Thanks to Maxim Dounin.
4003 </para> 4003 </para>
4004 </change> 4004 </change>
4005 4005
4006 <change type="bugfix"> 4006 <change type="bugfix">
4007 <para lang="ru"> 4007 <para lang="ru">
4008 при использовании переменной $request_body 4008 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request_body
4009 в рабочем процессе происходил segmentation fault, 4009 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
4010 если в запросе не было тела; 4010 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╫п╣ п╠я▀п╩п╬ я┌п╣п╩п╟;
4011 ошибка появилась в 0.7.58. 4011 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.58.
4012 </para> 4012 </para>
4013 <para lang="en"> 4013 <para lang="en">
4014 a segmentation fault occurred in worker process, 4014 a segmentation fault occurred in worker process,
4015 <nobr>if a request</nobr> had no body and the $request_body 4015 <nobr>if a request</nobr> had no body and the $request_body
4016 variable was used;<br/> 4016 variable was used;<br/>
4018 </para> 4018 </para>
4019 </change> 4019 </change>
4020 4020
4021 <change type="bugfix"> 4021 <change type="bugfix">
4022 <para lang="ru"> 4022 <para lang="ru">
4023 SSL-модули могли не собираться на Solaris и Linux; 4023 SSL-п╪п╬п╢я┐п╩п╦ п╪п╬пЁп╩п╦ п╫п╣ я│п╬п╠п╦я─п╟я┌я▄я│я▐ п╫п╟ Solaris п╦ Linux;
4024 ошибка появилась в 0.7.56. 4024 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
4025 </para> 4025 </para>
4026 <para lang="en"> 4026 <para lang="en">
4027 the SSL modules might not built on Solaris and Linux;<br/> 4027 the SSL modules might not built on Solaris and Linux;<br/>
4028 the bug had appeared in 0.7.56. 4028 the bug had appeared in 0.7.56.
4029 </para> 4029 </para>
4030 </change> 4030 </change>
4031 4031
4032 <change type="bugfix"> 4032 <change type="bugfix">
4033 <para lang="ru"> 4033 <para lang="ru">
4034 ответы модуля ngx_http_xslt_filter_module не обрабатывались 4034 п╬я┌п╡п╣я┌я▀ п╪п╬п╢я┐п╩я▐ ngx_http_xslt_filter_module п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄
4035 SSI-, charset- и gzip-фильтрами. 4035 SSI-, charset- п╦ gzip-я└п╦п╩я▄я┌я─п╟п╪п╦.
4036 </para> 4036 </para>
4037 <para lang="en"> 4037 <para lang="en">
4038 ngx_http_xslt_filter_module responses were not handled by SSI, charset, 4038 ngx_http_xslt_filter_module responses were not handled by SSI, charset,
4039 and gzip filters. 4039 and gzip filters.
4040 </para> 4040 </para>
4041 </change> 4041 </change>
4042 4042
4043 <change type="bugfix"> 4043 <change type="bugfix">
4044 <para lang="ru"> 4044 <para lang="ru">
4045 директива charset не ставила кодировку для ответов модуля 4045 п╢п╦я─п╣п╨я┌п╦п╡п╟ charset п╫п╣ я│я┌п╟п╡п╦п╩п╟ п╨п╬п╢п╦я─п╬п╡п╨я┐ п╢п╩я▐ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐
4046 ngx_http_gzip_static_module. 4046 ngx_http_gzip_static_module.
4047 </para> 4047 </para>
4048 <para lang="en"> 4048 <para lang="en">
4049 a "charset" directive did not set a charset to ngx_http_gzip_static_module 4049 a "charset" directive did not set a charset to ngx_http_gzip_static_module
4050 responses. 4050 responses.
4056 4056
4057 <changes ver="0.7.58" date="18.05.2009"> 4057 <changes ver="0.7.58" date="18.05.2009">
4058 4058
4059 <change type="feature"> 4059 <change type="feature">
4060 <para lang="ru"> 4060 <para lang="ru">
4061 директива listen почтового прокси-сервера поддерживает IPv6. 4061 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6.
4062 </para> 4062 </para>
4063 <para lang="en"> 4063 <para lang="en">
4064 a "listen" directive of the mail proxy module supports IPv6. 4064 a "listen" directive of the mail proxy module supports IPv6.
4065 </para> 4065 </para>
4066 </change> 4066 </change>
4067 4067
4068 <change type="feature"> 4068 <change type="feature">
4069 <para lang="ru"> 4069 <para lang="ru">
4070 директива image_filter_jpeg_quality. 4070 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_jpeg_quality.
4071 </para> 4071 </para>
4072 <para lang="en"> 4072 <para lang="en">
4073 the "image_filter_jpeg_quality" directive. 4073 the "image_filter_jpeg_quality" directive.
4074 </para> 4074 </para>
4075 </change> 4075 </change>
4076 4076
4077 <change type="feature"> 4077 <change type="feature">
4078 <para lang="ru"> 4078 <para lang="ru">
4079 директива client_body_in_single_buffer. 4079 п╢п╦я─п╣п╨я┌п╦п╡п╟ client_body_in_single_buffer.
4080 </para> 4080 </para>
4081 <para lang="en"> 4081 <para lang="en">
4082 the "client_body_in_single_buffer" directive. 4082 the "client_body_in_single_buffer" directive.
4083 </para> 4083 </para>
4084 </change> 4084 </change>
4085 4085
4086 <change type="feature"> 4086 <change type="feature">
4087 <para lang="ru"> 4087 <para lang="ru">
4088 переменная $request_body. 4088 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_body.
4089 </para> 4089 </para>
4090 <para lang="en"> 4090 <para lang="en">
4091 the $request_body variable. 4091 the $request_body variable.
4092 </para> 4092 </para>
4093 </change> 4093 </change>
4094 4094
4095 <change type="bugfix"> 4095 <change type="bugfix">
4096 <para lang="ru"> 4096 <para lang="ru">
4097 в модуле ngx_http_autoindex_module в ссылках на имена файлов, 4097 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п╡ я│я│я▀п╩п╨п╟я┘ п╫п╟ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡,
4098 содержащих символ ":". 4098 я│п╬п╢п╣я─п╤п╟я┴п╦я┘ я│п╦п╪п╡п╬п╩ ":".
4099 </para> 4099 </para>
4100 <para lang="en"> 4100 <para lang="en">
4101 in ngx_http_autoindex_module in file name links 4101 in ngx_http_autoindex_module in file name links
4102 having a ":" symbol in the name. 4102 having a ":" symbol in the name.
4103 </para> 4103 </para>
4104 </change> 4104 </change>
4105 4105
4106 <change type="bugfix"> 4106 <change type="bugfix">
4107 <para lang="ru"> 4107 <para lang="ru">
4108 процедура "make upgrade" не работала; 4108 п©я─п╬я├п╣п╢я┐я─п╟ "make upgrade" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
4109 ошибка появилась в 0.7.53.<br/> 4109 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.<br/>
4110 Спасибо Денису Латыпову. 4110 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
4111 </para> 4111 </para>
4112 <para lang="en"> 4112 <para lang="en">
4113 "make upgrade" procedure did not work; 4113 "make upgrade" procedure did not work;
4114 the bug had appeared in 0.7.53.<br/> 4114 the bug had appeared in 0.7.53.<br/>
4115 Thanks to Denis F. Latypoff. 4115 Thanks to Denis F. Latypoff.
4121 4121
4122 <changes ver="0.7.57" date="12.05.2009"> 4122 <changes ver="0.7.57" date="12.05.2009">
4123 4123
4124 <change type="bugfix"> 4124 <change type="bugfix">
4125 <para lang="ru"> 4125 <para lang="ru">
4126 при перенаправлении ошибок модуля ngx_http_image_filter_module 4126 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╬п╨ п╪п╬п╢я┐п╩я▐ ngx_http_image_filter_module
4127 в именованный location в рабочем процессе происходил floating-point fault; 4127 п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ floating-point fault;
4128 ошибка появилась в 0.7.56. 4128 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
4129 </para> 4129 </para>
4130 <para lang="en"> 4130 <para lang="en">
4131 a floating-point fault occurred in worker process, 4131 a floating-point fault occurred in worker process,
4132 if the ngx_http_image_filter_module errors were redirected to named location; 4132 if the ngx_http_image_filter_module errors were redirected to named location;
4133 the bug had appeared in 0.7.56. 4133 the bug had appeared in 0.7.56.
4139 4139
4140 <changes ver="0.7.56" date="11.05.2009"> 4140 <changes ver="0.7.56" date="11.05.2009">
4141 4141
4142 <change type="feature"> 4142 <change type="feature">
4143 <para lang="ru"> 4143 <para lang="ru">
4144 nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP. 4144 nginx/Windows п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╪п╬п╢я┐п╩я▐ HTTP.
4145 </para> 4145 </para>
4146 <para lang="en"> 4146 <para lang="en">
4147 nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. 4147 nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
4148 </para> 4148 </para>
4149 </change> 4149 </change>
4150 4150
4151 <change type="bugfix"> 4151 <change type="bugfix">
4152 <para lang="ru"> 4152 <para lang="ru">
4153 в модуле ngx_http_image_filter_module. 4153 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
4154 </para> 4154 </para>
4155 <para lang="en"> 4155 <para lang="en">
4156 in ngx_http_image_filter_module. 4156 in ngx_http_image_filter_module.
4157 </para> 4157 </para>
4158 </change> 4158 </change>
4162 4162
4163 <changes ver="0.7.55" date="06.05.2009"> 4163 <changes ver="0.7.55" date="06.05.2009">
4164 4164
4165 <change type="bugfix"> 4165 <change type="bugfix">
4166 <para lang="ru"> 4166 <para lang="ru">
4167 параметры http_XXX в директивах proxy_cache_use_stale 4167 п©п╟я─п╟п╪п╣я┌я─я▀ http_XXX п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_cache_use_stale
4168 и fastcgi_cache_use_stale не работали. 4168 п╦ fastcgi_cache_use_stale п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
4169 </para> 4169 </para>
4170 <para lang="en"> 4170 <para lang="en">
4171 the http_XXX parameters in "proxy_cache_use_stale" and 4171 the http_XXX parameters in "proxy_cache_use_stale" and
4172 "fastcgi_cache_use_stale" directives did not work. 4172 "fastcgi_cache_use_stale" directives did not work.
4173 </para> 4173 </para>
4174 </change> 4174 </change>
4175 4175
4176 <change type="bugfix"> 4176 <change type="bugfix">
4177 <para lang="ru"> 4177 <para lang="ru">
4178 fastcgi кэш не кэшировал ответы, состоящие только из заголовка. 4178 fastcgi п╨я█я┬ п╫п╣ п╨я█я┬п╦я─п╬п╡п╟п╩ п╬я┌п╡п╣я┌я▀, я│п╬я│я┌п╬я▐я┴п╦п╣ я┌п╬п╩я▄п╨п╬ п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟.
4179 </para> 4179 </para>
4180 <para lang="en"> 4180 <para lang="en">
4181 fastcgi cache did not cache header only responses. 4181 fastcgi cache did not cache header only responses.
4182 </para> 4182 </para>
4183 </change> 4183 </change>
4184 4184
4185 <change type="bugfix"> 4185 <change type="bugfix">
4186 <para lang="ru"> 4186 <para lang="ru">
4187 ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix 4187 п╬я┬п╦п╠п╨п╦ "select() failed (9: Bad file descriptor)" п╡ nginx/Unix
4188 и "select() failed (10038: ...)" в nginx/Windows. 4188 п╦ "select() failed (10038: ...)" п╡ nginx/Windows.
4189 </para> 4189 </para>
4190 <para lang="en"> 4190 <para lang="en">
4191 of "select() failed (9: Bad file descriptor)" error in nginx/Unix 4191 of "select() failed (9: Bad file descriptor)" error in nginx/Unix
4192 and "select() failed (10038: ...)" error in nginx/Windows. 4192 and "select() failed (10038: ...)" error in nginx/Windows.
4193 </para> 4193 </para>
4194 </change> 4194 </change>
4195 4195
4196 <change type="bugfix"> 4196 <change type="bugfix">
4197 <para lang="ru"> 4197 <para lang="ru">
4198 при использовании директивы debug_connection 4198 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ debug_connection
4199 в рабочем процессе мог произойти segmentation fault; 4199 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
4200 ошибка появилась в 0.7.54. 4200 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.54.
4201 </para> 4201 </para>
4202 <para lang="en"> 4202 <para lang="en">
4203 a segmentation fault might occur in worker process, 4203 a segmentation fault might occur in worker process,
4204 if an "debug_connection" directive was used; 4204 if an "debug_connection" directive was used;
4205 the bug had appeared in 0.7.54. 4205 the bug had appeared in 0.7.54.
4206 </para> 4206 </para>
4207 </change> 4207 </change>
4208 4208
4209 <change type="bugfix"> 4209 <change type="bugfix">
4210 <para lang="ru"> 4210 <para lang="ru">
4211 в сборке модуля ngx_http_image_filter_module. 4211 п╡ я│п╠п╬я─п╨п╣ п╪п╬п╢я┐п╩я▐ ngx_http_image_filter_module.
4212 </para> 4212 </para>
4213 <para lang="en"> 4213 <para lang="en">
4214 fix ngx_http_image_filter_module building errors. 4214 fix ngx_http_image_filter_module building errors.
4215 </para> 4215 </para>
4216 </change> 4216 </change>
4217 4217
4218 <change type="bugfix"> 4218 <change type="bugfix">
4219 <para lang="ru"> 4219 <para lang="ru">
4220 файлы больше 2G не передавались с использованием $r->sendfile.<br/> 4220 я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ $r->sendfile.<br/>
4221 Спасибо Максиму Дунину. 4221 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4222 </para> 4222 </para>
4223 <para lang="en"> 4223 <para lang="en">
4224 the files bigger than 2G could not be transferred using $r->sendfile.<br/> 4224 the files bigger than 2G could not be transferred using $r->sendfile.<br/>
4225 Thanks to Maxim Dounin. 4225 Thanks to Maxim Dounin.
4226 </para> 4226 </para>
4231 4231
4232 <changes ver="0.7.54" date="01.05.2009"> 4232 <changes ver="0.7.54" date="01.05.2009">
4233 4233
4234 <change type="feature"> 4234 <change type="feature">
4235 <para lang="ru"> 4235 <para lang="ru">
4236 модуль ngx_http_image_filter_module. 4236 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module.
4237 </para> 4237 </para>
4238 <para lang="en"> 4238 <para lang="en">
4239 the ngx_http_image_filter_module. 4239 the ngx_http_image_filter_module.
4240 </para> 4240 </para>
4241 </change> 4241 </change>
4242 4242
4243 <change type="feature"> 4243 <change type="feature">
4244 <para lang="ru"> 4244 <para lang="ru">
4245 директивы proxy_ignore_headers и fastcgi_ignore_headers. 4245 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_headers п╦ fastcgi_ignore_headers.
4246 </para> 4246 </para>
4247 <para lang="en"> 4247 <para lang="en">
4248 the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. 4248 the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
4249 </para> 4249 </para>
4250 </change> 4250 </change>
4251 4251
4252 <change type="bugfix"> 4252 <change type="bugfix">
4253 <para lang="ru"> 4253 <para lang="ru">
4254 при использовании переменных "open_file_cache_errors on" 4254 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ "open_file_cache_errors on"
4255 в рабочем процессе мог произойти segmentation fault; 4255 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
4256 ошибка появилась в 0.7.53. 4256 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
4257 </para> 4257 </para>
4258 <para lang="en"> 4258 <para lang="en">
4259 a segmentation fault might occur in worker process, 4259 a segmentation fault might occur in worker process,
4260 if an "open_file_cache_errors off" directive was used; 4260 if an "open_file_cache_errors off" directive was used;
4261 the bug had appeared in 0.7.53. 4261 the bug had appeared in 0.7.53.
4262 </para> 4262 </para>
4263 </change> 4263 </change>
4264 4264
4265 <change type="bugfix"> 4265 <change type="bugfix">
4266 <para lang="ru"> 4266 <para lang="ru">
4267 директива "port_in_redirect off" не работала; 4267 п╢п╦я─п╣п╨я┌п╦п╡п╟ "port_in_redirect off" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
4268 ошибка появилась в 0.7.39. 4268 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.39.
4269 </para> 4269 </para>
4270 <para lang="en"> 4270 <para lang="en">
4271 the "port_in_redirect off" directive did not work; 4271 the "port_in_redirect off" directive did not work;
4272 the bug had appeared in 0.7.39. 4272 the bug had appeared in 0.7.39.
4273 </para> 4273 </para>
4274 </change> 4274 </change>
4275 4275
4276 <change type="bugfix"> 4276 <change type="bugfix">
4277 <para lang="ru"> 4277 <para lang="ru">
4278 улучшение обработки ошибок метода select. 4278 я┐п╩я┐я┤я┬п╣п╫п╦п╣ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╬я┬п╦п╠п╬п╨ п╪п╣я┌п╬п╢п╟ select.
4279 </para> 4279 </para>
4280 <para lang="en"> 4280 <para lang="en">
4281 improve handling of "select" method errors. 4281 improve handling of "select" method errors.
4282 </para> 4282 </para>
4283 </change> 4283 </change>
4284 4284
4285 <change type="bugfix"> 4285 <change type="bugfix">
4286 <para lang="ru"> 4286 <para lang="ru">
4287 ошибки "select() failed (10022: ...)" в nginx/Windows. 4287 п╬я┬п╦п╠п╨п╦ "select() failed (10022: ...)" п╡ nginx/Windows.
4288 </para> 4288 </para>
4289 <para lang="en"> 4289 <para lang="en">
4290 of "select() failed (10022: ...)" error in nginx/Windows. 4290 of "select() failed (10022: ...)" error in nginx/Windows.
4291 </para> 4291 </para>
4292 </change> 4292 </change>
4293 4293
4294 <change type="bugfix"> 4294 <change type="bugfix">
4295 <para lang="ru"> 4295 <para lang="ru">
4296 в текстовых сообщениях об ошибках в nginx/Windows; 4296 п╡ я┌п╣п╨я│я┌п╬п╡я▀я┘ я│п╬п╬п╠я┴п╣п╫п╦я▐я┘ п╬п╠ п╬я┬п╦п╠п╨п╟я┘ п╡ nginx/Windows;
4297 ошибка появилась в 0.7.53. 4297 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
4298 </para> 4298 </para>
4299 <para lang="en"> 4299 <para lang="en">
4300 in error text descriptions in nginx/Windows; 4300 in error text descriptions in nginx/Windows;
4301 the bug had appeared in 0.7.53. 4301 the bug had appeared in 0.7.53.
4302 </para> 4302 </para>
4307 4307
4308 <changes ver="0.7.53" date="27.04.2009"> 4308 <changes ver="0.7.53" date="27.04.2009">
4309 4309
4310 <change type="change"> 4310 <change type="change">
4311 <para lang="ru"> 4311 <para lang="ru">
4312 теперь лог, указанный в --error-log-path, создаётся с самого начала работы. 4312 я┌п╣п©п╣я─я▄ п╩п╬пЁ, я┐п╨п╟п╥п╟п╫п╫я▀п╧ п╡ --error-log-path, я│п╬п╥п╢п╟я▒я┌я│я▐ я│ я│п╟п╪п╬пЁп╬ п╫п╟я┤п╟п╩п╟ я─п╟п╠п╬я┌я▀.
4313 </para> 4313 </para>
4314 <para lang="en"> 4314 <para lang="en">
4315 now a log set by --error-log-path is created from the very start-up. 4315 now a log set by --error-log-path is created from the very start-up.
4316 </para> 4316 </para>
4317 </change> 4317 </change>
4318 4318
4319 <change type="feature"> 4319 <change type="feature">
4320 <para lang="ru"> 4320 <para lang="ru">
4321 теперь ошибки и предупреждения при старте записываются в error_log 4321 я┌п╣п©п╣я─я▄ п╬я┬п╦п╠п╨п╦ п╦ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦я▐ п©я─п╦ я│я┌п╟я─я┌п╣ п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ error_log
4322 и выводятся на stderr. 4322 п╦ п╡я▀п╡п╬п╢я▐я┌я│я▐ п╫п╟ stderr.
4323 </para> 4323 </para>
4324 <para lang="en"> 4324 <para lang="en">
4325 now the start up errors and warnings are outputted to an error_log and stderr. 4325 now the start up errors and warnings are outputted to an error_log and stderr.
4326 </para> 4326 </para>
4327 </change> 4327 </change>
4328 4328
4329 <change type="feature"> 4329 <change type="feature">
4330 <para lang="ru"> 4330 <para lang="ru">
4331 при сборке с пустым параметром --prefix= nginx использует как префикс каталог, 4331 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п©я┐я│я┌я▀п╪ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --prefix= nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╟п╨ п©я─п╣я└п╦п╨я│ п╨п╟я┌п╟п╩п╬пЁ,
4332 в котором он был запущен. 4332 п╡ п╨п╬я┌п╬я─п╬п╪ п╬п╫ п╠я▀п╩ п╥п╟п©я┐я┴п╣п╫.
4333 </para> 4333 </para>
4334 <para lang="en"> 4334 <para lang="en">
4335 the empty --prefix= configure parameter forces nginx to use a directory 4335 the empty --prefix= configure parameter forces nginx to use a directory
4336 where it was run as prefix. 4336 where it was run as prefix.
4337 </para> 4337 </para>
4338 </change> 4338 </change>
4339 4339
4340 <change type="feature"> 4340 <change type="feature">
4341 <para lang="ru"> 4341 <para lang="ru">
4342 ключ -p. 4342 п╨п╩я▌я┤ -p.
4343 </para> 4343 </para>
4344 <para lang="en"> 4344 <para lang="en">
4345 the -p switch. 4345 the -p switch.
4346 </para> 4346 </para>
4347 </change> 4347 </change>
4348 4348
4349 <change type="feature"> 4349 <change type="feature">
4350 <para lang="ru"> 4350 <para lang="ru">
4351 ключ -s на Unix-платформах. 4351 п╨п╩я▌я┤ -s п╫п╟ Unix-п©п╩п╟я┌я└п╬я─п╪п╟я┘.
4352 </para> 4352 </para>
4353 <para lang="en"> 4353 <para lang="en">
4354 the -s switch on Unix platforms. 4354 the -s switch on Unix platforms.
4355 </para> 4355 </para>
4356 </change> 4356 </change>
4357 4357
4358 <change type="feature"> 4358 <change type="feature">
4359 <para lang="ru"> 4359 <para lang="ru">
4360 ключи -? и -h.<br/> 4360 п╨п╩я▌я┤п╦ -? п╦ -h.<br/>
4361 Спасибо Jerome Loyet. 4361 п║п©п╟я│п╦п╠п╬ Jerome Loyet.
4362 </para> 4362 </para>
4363 <para lang="en"> 4363 <para lang="en">
4364 the -? and -h switches.<br/> 4364 the -? and -h switches.<br/>
4365 Thanks to Jerome Loyet. 4365 Thanks to Jerome Loyet.
4366 </para> 4366 </para>
4367 </change> 4367 </change>
4368 4368
4369 <change type="feature"> 4369 <change type="feature">
4370 <para lang="ru"> 4370 <para lang="ru">
4371 теперь ключи можно задавать в сжатой форме. 4371 я┌п╣п©п╣я─я▄ п╨п╩я▌я┤п╦ п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄ п╡ я│п╤п╟я┌п╬п╧ я└п╬я─п╪п╣.
4372 </para> 4372 </para>
4373 <para lang="en"> 4373 <para lang="en">
4374 now switches may be set in condensed form. 4374 now switches may be set in condensed form.
4375 </para> 4375 </para>
4376 </change> 4376 </change>
4377 4377
4378 <change type="bugfix"> 4378 <change type="bugfix">
4379 <para lang="ru"> 4379 <para lang="ru">
4380 nginx/Windows не работал, если файл конфигурации был задан ключом -c. 4380 nginx/Windows п╫п╣ я─п╟п╠п╬я┌п╟п╩, п╣я│п╩п╦ я└п╟п╧п╩ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╠я▀п╩ п╥п╟п╢п╟п╫ п╨п╩я▌я┤п╬п╪ -c.
4381 </para> 4381 </para>
4382 <para lang="en"> 4382 <para lang="en">
4383 nginx/Windows did not work if configuration file was given by the -c switch. 4383 nginx/Windows did not work if configuration file was given by the -c switch.
4384 </para> 4384 </para>
4385 </change> 4385 </change>
4386 4386
4387 <change type="bugfix"> 4387 <change type="bugfix">
4388 <para lang="ru"> 4388 <para lang="ru">
4389 при использовании директив proxy_store, fastcgi_store, 4389 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ proxy_store, fastcgi_store,
4390 proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/> 4390 proxy_cache п╦п╩п╦ fastcgi_cache п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╪п╬пЁп╩п╦ п╫п╣ я┐п╢п╟п╩я▐я┌я▄я│я▐.<br/>
4391 Спасибо Максиму Дунину. 4391 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4392 </para> 4392 </para>
4393 <para lang="en"> 4393 <para lang="en">
4394 temporary files might be not removed if the "proxy_store", "fastcgi_store", 4394 temporary files might be not removed if the "proxy_store", "fastcgi_store",
4395 "proxy_cache", or "fastcgi_cache" were used.<br/> 4395 "proxy_cache", or "fastcgi_cache" were used.<br/>
4396 Thanks to Maxim Dounin. 4396 Thanks to Maxim Dounin.
4397 </para> 4397 </para>
4398 </change> 4398 </change>
4399 4399
4400 <change type="bugfix"> 4400 <change type="bugfix">
4401 <para lang="ru"> 4401 <para lang="ru">
4402 в заголовке Auth-Method запроса серверу аутентификации почтового 4402 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ Auth-Method п╥п╟п©я─п╬я│п╟ я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬
4403 прокси-сервера передавалось неверное значение; 4403 п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ п╫п╣п╡п╣я─п╫п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣;
4404 ошибка появилась в 0.7.34.<br/> 4404 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.34.<br/>
4405 Спасибо Simon Lecaille. 4405 п║п©п╟я│п╦п╠п╬ Simon Lecaille.
4406 </para> 4406 </para>
4407 <para lang="en"> 4407 <para lang="en">
4408 an incorrect value was passed to mail proxy authentication server 4408 an incorrect value was passed to mail proxy authentication server
4409 in "Auth-Method" header line; 4409 in "Auth-Method" header line;
4410 the bug had appeared<br/> 4410 the bug had appeared<br/>
4413 </para> 4413 </para>
4414 </change> 4414 </change>
4415 4415
4416 <change type="bugfix"> 4416 <change type="bugfix">
4417 <para lang="ru"> 4417 <para lang="ru">
4418 при логгировании на Linux не писались текстовые описания системных ошибок; 4418 п©я─п╦ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦п╦ п╫п╟ Linux п╫п╣ п©п╦я│п╟п╩п╦я│я▄ я┌п╣п╨я│я┌п╬п╡я▀п╣ п╬п©п╦я│п╟п╫п╦я▐ я│п╦я│я┌п╣п╪п╫я▀я┘ п╬я┬п╦п╠п╬п╨;
4419 ошибка появилась в 0.7.45. 4419 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.45.
4420 </para> 4420 </para>
4421 <para lang="en"> 4421 <para lang="en">
4422 system error text descriptions were not logged on Linux;<br/> 4422 system error text descriptions were not logged on Linux;<br/>
4423 the bug had appeared in 0.7.45. 4423 the bug had appeared in 0.7.45.
4424 </para> 4424 </para>
4425 </change> 4425 </change>
4426 4426
4427 <change type="bugfix"> 4427 <change type="bugfix">
4428 <para lang="ru"> 4428 <para lang="ru">
4429 директива fastcgi_cache_min_uses не работала.<br/> 4429 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_cache_min_uses п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟.<br/>
4430 Спасибо Андрею Воробьёву. 4430 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п▓п╬я─п╬п╠я▄я▒п╡я┐.
4431 </para> 4431 </para>
4432 <para lang="en"> 4432 <para lang="en">
4433 the "fastcgi_cache_min_uses" directive did not work.<br/> 4433 the "fastcgi_cache_min_uses" directive did not work.<br/>
4434 Thanks to Andrew Vorobyoff. 4434 Thanks to Andrew Vorobyoff.
4435 </para> 4435 </para>
4440 4440
4441 <changes ver="0.7.52" date="20.04.2009"> 4441 <changes ver="0.7.52" date="20.04.2009">
4442 4442
4443 <change type="feature"> 4443 <change type="feature">
4444 <para lang="ru"> 4444 <para lang="ru">
4445 первая бинарная версия под Windows. 4445 п©п╣я─п╡п╟я▐ п╠п╦п╫п╟я─п╫п╟я▐ п╡п╣я─я│п╦я▐ п©п╬п╢ Windows.
4446 </para> 4446 </para>
4447 <para lang="en"> 4447 <para lang="en">
4448 the first native Windows binary release. 4448 the first native Windows binary release.
4449 </para> 4449 </para>
4450 </change> 4450 </change>
4451 4451
4452 <change type="bugfix"> 4452 <change type="bugfix">
4453 <para lang="ru"> 4453 <para lang="ru">
4454 корректная обработка метода HEAD при кэшировании. 4454 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ п╪п╣я┌п╬п╢п╟ HEAD п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
4455 </para> 4455 </para>
4456 <para lang="en"> 4456 <para lang="en">
4457 in processing HEAD method while caching. 4457 in processing HEAD method while caching.
4458 </para> 4458 </para>
4459 </change> 4459 </change>
4460 4460
4461 <change type="bugfix"> 4461 <change type="bugfix">
4462 <para lang="ru"> 4462 <para lang="ru">
4463 корректная обработка строк "If-Modified-Since", "If-Range" и им подобных 4463 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я│я┌я─п╬п╨ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀я┘
4464 в заголовке запроса клиента при кэшировании. 4464 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
4465 </para> 4465 </para>
4466 <para lang="en"> 4466 <para lang="en">
4467 in processing the "If-Modified-Since", "If-Range", etc. client request 4467 in processing the "If-Modified-Since", "If-Range", etc. client request
4468 header lines while caching. 4468 header lines while caching.
4469 </para> 4469 </para>
4470 </change> 4470 </change>
4471 4471
4472 <change type="bugfix"> 4472 <change type="bugfix">
4473 <para lang="ru"> 4473 <para lang="ru">
4474 теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа 4474 я┌п╣п©п╣я─я▄ я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" я│п╨я─я▀п╡п╟я▌я┌я│я▐ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
4475 для закэшированных ответов. 4475 п╢п╩я▐ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡.
4476 </para> 4476 </para>
4477 <para lang="en"> 4477 <para lang="en">
4478 now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. 4478 now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
4479 </para> 4479 </para>
4480 </change> 4480 </change>
4481 4481
4482 <change type="bugfix"> 4482 <change type="bugfix">
4483 <para lang="ru"> 4483 <para lang="ru">
4484 если nginx был собран с модулем ngx_http_perl_module и perl 4484 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
4485 поддерживал потоки, то при выходе основного процесса 4485 п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦, я┌п╬ п©я─п╦ п╡я▀я┘п╬п╢п╣ п╬я│п╫п╬п╡п╫п╬пЁп╬ п©я─п╬я├п╣я│я│п╟
4486 могла выдаваться ошибка "panic: MUTEX_LOCK". 4486 п╪п╬пЁп╩п╟ п╡я▀п╢п╟п╡п╟я┌я▄я│я▐ п╬я┬п╦п╠п╨п╟ "panic: MUTEX_LOCK".
4487 </para> 4487 </para>
4488 <para lang="en"> 4488 <para lang="en">
4489 if nginx was built with the ngx_http_perl_module and with a perl which 4489 if nginx was built with the ngx_http_perl_module and with a perl which
4490 supports threads, then during a master process exit 4490 supports threads, then during a master process exit
4491 the message "panic: MUTEX_LOCK" might be issued. 4491 the message "panic: MUTEX_LOCK" might be issued.
4492 </para> 4492 </para>
4493 </change> 4493 </change>
4494 4494
4495 <change type="bugfix"> 4495 <change type="bugfix">
4496 <para lang="ru"> 4496 <para lang="ru">
4497 nginx не собирался с параметром --without-http-cache; 4497 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
4498 ошибка появилась в 0.7.48. 4498 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.48.
4499 </para> 4499 </para>
4500 <para lang="en"> 4500 <para lang="en">
4501 nginx could not be built --without-http-cache; 4501 nginx could not be built --without-http-cache;
4502 the bug had appeared in 0.7.48. 4502 the bug had appeared in 0.7.48.
4503 </para> 4503 </para>
4504 </change> 4504 </change>
4505 4505
4506 <change type="bugfix"> 4506 <change type="bugfix">
4507 <para lang="ru"> 4507 <para lang="ru">
4508 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 4508 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
4509 ошибка появилась в 0.7.42. 4509 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4510 </para> 4510 </para>
4511 <para lang="en"> 4511 <para lang="en">
4512 nginx could not be built on platforms different from i386, amd64, sparc, 4512 nginx could not be built on platforms different from i386, amd64, sparc,
4513 and ppc; 4513 and ppc;
4514 the bug had appeared in 0.7.42. 4514 the bug had appeared in 0.7.42.
4520 4520
4521 <changes ver="0.7.51" date="12.04.2009"> 4521 <changes ver="0.7.51" date="12.04.2009">
4522 4522
4523 <change type="feature"> 4523 <change type="feature">
4524 <para lang="ru"> 4524 <para lang="ru">
4525 директива try_files поддерживает код ответа в последнем параметре. 4525 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ п╡ п©п╬я│п╩п╣п╢п╫п╣п╪ п©п╟я─п╟п╪п╣я┌я─п╣.
4526 </para> 4526 </para>
4527 <para lang="en"> 4527 <para lang="en">
4528 the "try_files" directive supports a response code in the fallback parameter. 4528 the "try_files" directive supports a response code in the fallback parameter.
4529 </para> 4529 </para>
4530 </change> 4530 </change>
4531 4531
4532 <change type="feature"> 4532 <change type="feature">
4533 <para lang="ru"> 4533 <para lang="ru">
4534 теперь в директиве return можно использовать любой код ответа. 4534 я┌п╣п©п╣я─я▄ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╩я▌п╠п╬п╧ п╨п╬п╢ п╬я┌п╡п╣я┌п╟.
4535 </para> 4535 </para>
4536 <para lang="en"> 4536 <para lang="en">
4537 now any response code can be used in the "return" directive. 4537 now any response code can be used in the "return" directive.
4538 </para> 4538 </para>
4539 </change> 4539 </change>
4540 4540
4541 <change type="bugfix"> 4541 <change type="bugfix">
4542 <para lang="ru"> 4542 <para lang="ru">
4543 директива error_page делала внешний редирект без строки запроса; 4543 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╢п╣п╩п╟п╩п╟ п╡п╫п╣я┬п╫п╦п╧ я─п╣п╢п╦я─п╣п╨я┌ п╠п╣п╥ я│я┌я─п╬п╨п╦ п╥п╟п©я─п╬я│п╟;
4544 ошибка появилась в 0.7.44. 4544 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4545 </para> 4545 </para>
4546 <para lang="en"> 4546 <para lang="en">
4547 the "error_page" directive made an external redirect without query string; 4547 the "error_page" directive made an external redirect without query string;
4548 the bug had appeared in 0.7.44. 4548 the bug had appeared in 0.7.44.
4549 </para> 4549 </para>
4550 </change> 4550 </change>
4551 4551
4552 <change type="bugfix"> 4552 <change type="bugfix">
4553 <para lang="ru"> 4553 <para lang="ru">
4554 если сервера слушали на нескольких явно описанных адресах, 4554 п╣я│п╩п╦ я│п╣я─п╡п╣я─п╟ я│п╩я┐я┬п╟п╩п╦ п╫п╟ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ я▐п╡п╫п╬ п╬п©п╦я│п╟п╫п╫я▀я┘ п╟п╢я─п╣я│п╟я┘,
4555 то виртуальные сервера могли не работать; 4555 я┌п╬ п╡п╦я─я┌я┐п╟п╩я▄п╫я▀п╣ я│п╣я─п╡п╣я─п╟ п╪п╬пЁп╩п╦ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄;
4556 ошибка появилась в 0.7.39. 4556 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.39.
4557 </para> 4557 </para>
4558 <para lang="en"> 4558 <para lang="en">
4559 if servers listened on several defined explicitly addresses, 4559 if servers listened on several defined explicitly addresses,
4560 then virtual servers might not work; 4560 then virtual servers might not work;
4561 the bug had appeared in 0.7.39. 4561 the bug had appeared in 0.7.39.
4567 4567
4568 <changes ver="0.7.50" date="06.04.2009"> 4568 <changes ver="0.7.50" date="06.04.2009">
4569 4569
4570 <change type="bugfix"> 4570 <change type="bugfix">
4571 <para lang="ru"> 4571 <para lang="ru">
4572 переменные $arg_... не работали; 4572 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $arg_... п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
4573 ошибка появилась в 0.7.49. 4573 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.49.
4574 </para> 4574 </para>
4575 <para lang="en"> 4575 <para lang="en">
4576 the $arg_... variables did not work; 4576 the $arg_... variables did not work;
4577 the bug had appeared in 0.7.49. 4577 the bug had appeared in 0.7.49.
4578 </para> 4578 </para>
4583 4583
4584 <changes ver="0.7.49" date="06.04.2009"> 4584 <changes ver="0.7.49" date="06.04.2009">
4585 4585
4586 <change type="bugfix"> 4586 <change type="bugfix">
4587 <para lang="ru"> 4587 <para lang="ru">
4588 при использовании переменных $arg_... 4588 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $arg_...
4589 в рабочем процессе мог произойти segmentation fault; 4589 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
4590 ошибка появилась в 0.7.48. 4590 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.48.
4591 </para> 4591 </para>
4592 <para lang="en"> 4592 <para lang="en">
4593 a segmentation fault might occur in worker process, 4593 a segmentation fault might occur in worker process,
4594 if the $arg_... variables were used; 4594 if the $arg_... variables were used;
4595 the bug had appeared in 0.7.48. 4595 the bug had appeared in 0.7.48.
4601 4601
4602 <changes ver="0.7.48" date="06.04.2009"> 4602 <changes ver="0.7.48" date="06.04.2009">
4603 4603
4604 <change type="feature"> 4604 <change type="feature">
4605 <para lang="ru"> 4605 <para lang="ru">
4606 директива proxy_cache_key. 4606 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_cache_key.
4607 </para> 4607 </para>
4608 <para lang="en"> 4608 <para lang="en">
4609 the "proxy_cache_key" directive. 4609 the "proxy_cache_key" directive.
4610 </para> 4610 </para>
4611 </change> 4611 </change>
4612 4612
4613 <change type="bugfix"> 4613 <change type="bugfix">
4614 <para lang="ru"> 4614 <para lang="ru">
4615 теперь nginx учитывает при кэшировании строки "X-Accel-Expires", 4615 я┌п╣п©п╣я─я▄ nginx я┐я┤п╦я┌я▀п╡п╟п╣я┌ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦ я│я┌я─п╬п╨п╦ "X-Accel-Expires",
4616 "Expires" и "Cache-Control" в заголовке ответа бэкенда. 4616 "Expires" п╦ "Cache-Control" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
4617 </para> 4617 </para>
4618 <para lang="en"> 4618 <para lang="en">
4619 now nginx takes into account the "X-Accel-Expires", "Expires", and 4619 now nginx takes into account the "X-Accel-Expires", "Expires", and
4620 "Cache-Control" header lines in a backend response. 4620 "Cache-Control" header lines in a backend response.
4621 </para> 4621 </para>
4622 </change> 4622 </change>
4623 4623
4624 <change type="bugfix"> 4624 <change type="bugfix">
4625 <para lang="ru"> 4625 <para lang="ru">
4626 теперь nginx кэширует только ответы на запросы GET. 4626 я┌п╣п©п╣я─я▄ nginx п╨я█я┬п╦я─я┐п╣я┌ я┌п╬п╩я▄п╨п╬ п╬я┌п╡п╣я┌я▀ п╫п╟ п╥п╟п©я─п╬я│я▀ GET.
4627 </para> 4627 </para>
4628 <para lang="en"> 4628 <para lang="en">
4629 now nginx caches responses for the GET requests only. 4629 now nginx caches responses for the GET requests only.
4630 </para> 4630 </para>
4631 </change> 4631 </change>
4632 4632
4633 <change type="bugfix"> 4633 <change type="bugfix">
4634 <para lang="ru"> 4634 <para lang="ru">
4635 директива fastcgi_cache_key не наследовалась. 4635 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_cache_key п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╟я│я▄.
4636 </para> 4636 </para>
4637 <para lang="en"> 4637 <para lang="en">
4638 the "fastcgi_cache_key" directive was not inherited. 4638 the "fastcgi_cache_key" directive was not inherited.
4639 </para> 4639 </para>
4640 </change> 4640 </change>
4641 4641
4642 <change type="bugfix"> 4642 <change type="bugfix">
4643 <para lang="ru"> 4643 <para lang="ru">
4644 переменные $arg_... не работали с SSI-подзапросами.<br/> 4644 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $arg_... п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я│ SSI-п©п╬п╢п╥п╟п©я─п╬я│п╟п╪п╦.<br/>
4645 Спасибо Максиму Дунину. 4645 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4646 </para> 4646 </para>
4647 <para lang="en"> 4647 <para lang="en">
4648 the $arg_... variables did not work with SSI subrequests.<br/> 4648 the $arg_... variables did not work with SSI subrequests.<br/>
4649 Thanks to Maxim Dounin. 4649 Thanks to Maxim Dounin.
4650 </para> 4650 </para>
4651 </change> 4651 </change>
4652 4652
4653 <change type="bugfix"> 4653 <change type="bugfix">
4654 <para lang="ru"> 4654 <para lang="ru">
4655 nginx не собирался с библиотекой uclibc.<br/> 4655 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╬п╧ uclibc.<br/>
4656 Спасибо Timothy Redaelli. 4656 п║п©п╟я│п╦п╠п╬ Timothy Redaelli.
4657 </para> 4657 </para>
4658 <para lang="en"> 4658 <para lang="en">
4659 nginx could not be built with uclibc library.<br/> 4659 nginx could not be built with uclibc library.<br/>
4660 Thanks to Timothy Redaelli. 4660 Thanks to Timothy Redaelli.
4661 </para> 4661 </para>
4662 </change> 4662 </change>
4663 4663
4664 <change type="bugfix"> 4664 <change type="bugfix">
4665 <para lang="ru"> 4665 <para lang="ru">
4666 nginx не собирался на OpenBSD; 4666 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ OpenBSD;
4667 ошибка появилась <nobr>в 0.7.46.</nobr> 4667 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ <nobr>п╡ 0.7.46.</nobr>
4668 </para> 4668 </para>
4669 <para lang="en"> 4669 <para lang="en">
4670 nginx could not be built on OpenBSD; 4670 nginx could not be built on OpenBSD;
4671 the bug had <nobr>appeared in 0.7.46.</nobr> 4671 the bug had <nobr>appeared in 0.7.46.</nobr>
4672 </para> 4672 </para>
4677 4677
4678 <changes ver="0.7.47" date="01.04.2009"> 4678 <changes ver="0.7.47" date="01.04.2009">
4679 4679
4680 <change type="bugfix"> 4680 <change type="bugfix">
4681 <para lang="ru"> 4681 <para lang="ru">
4682 nginx не собирался на FreeBSD 6 и более ранних версиях; 4682 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ FreeBSD 6 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘ п╡п╣я─я│п╦я▐я┘;
4683 ошибка появилась в 0.7.46. 4683 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4684 </para> 4684 </para>
4685 <para lang="en"> 4685 <para lang="en">
4686 nginx could not be built on FreeBSD 6 and early versions; 4686 nginx could not be built on FreeBSD 6 and early versions;
4687 the bug had appeared in 0.7.46. 4687 the bug had appeared in 0.7.46.
4688 </para> 4688 </para>
4689 </change> 4689 </change>
4690 4690
4691 <change type="bugfix"> 4691 <change type="bugfix">
4692 <para lang="ru"> 4692 <para lang="ru">
4693 nginx не собирался на MacOSX; 4693 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOSX;
4694 ошибка появилась в 0.7.46. 4694 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4695 </para> 4695 </para>
4696 <para lang="en"> 4696 <para lang="en">
4697 nginx could not be built on MacOSX; 4697 nginx could not be built on MacOSX;
4698 the bug had <nobr>appeared in 0.7.46.</nobr> 4698 the bug had <nobr>appeared in 0.7.46.</nobr>
4699 </para> 4699 </para>
4700 </change> 4700 </change>
4701 4701
4702 <change type="bugfix"> 4702 <change type="bugfix">
4703 <para lang="ru"> 4703 <para lang="ru">
4704 если использовался параметр max_size, то cache manager мог удалить весь кэш; 4704 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ max_size, я┌п╬ cache manager п╪п╬пЁ я┐п╢п╟п╩п╦я┌я▄ п╡п╣я│я▄ п╨я█я┬;
4705 ошибка появилась в 0.7.46. 4705 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4706 </para> 4706 </para>
4707 <para lang="en"> 4707 <para lang="en">
4708 if the "max_size" parameter was set, then the cache manager might purge 4708 if the "max_size" parameter was set, then the cache manager might purge
4709 a whole cache; 4709 a whole cache;
4710 the bug had appeared in 0.7.46. 4710 the bug had appeared in 0.7.46.
4711 </para> 4711 </para>
4712 </change> 4712 </change>
4713 4713
4714 <change type="change"> 4714 <change type="change">
4715 <para lang="ru"> 4715 <para lang="ru">
4716 в рабочем процессе мог произойти segmentation fault, 4716 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
4717 если директивы proxy_cache/fastcgi_cache 4717 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache/fastcgi_cache
4718 и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне; 4718 п╦ proxy_cache_valid/ fastcgi_cache_valid п╫п╣ п╠я▀п╩п╦ п╥п╟п╢п╟п╫я▀ п╫п╟ п╬п╢п╫п╬п╪ я┐я─п╬п╡п╫п╣;
4719 ошибка появилась в 0.7.46. 4719 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4720 </para> 4720 </para>
4721 <para lang="en"> 4721 <para lang="en">
4722 a segmentation fault might occur in worker process, 4722 a segmentation fault might occur in worker process,
4723 if the "proxy_cache"/"fastcgi_cache" and 4723 if the "proxy_cache"/"fastcgi_cache" and
4724 the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels; 4724 the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
4726 </para> 4726 </para>
4727 </change> 4727 </change>
4728 4728
4729 <change type="bugfix"> 4729 <change type="bugfix">
4730 <para lang="ru"> 4730 <para lang="ru">
4731 в рабочем процессе мог произойти segmentation fault 4731 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
4732 при перенаправлении запроса проксированному или FastCGI-серверу 4732 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪я┐ п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─я┐
4733 с помощью error_page или try_files; 4733 я│ п©п╬п╪п╬я┴я▄я▌ error_page п╦п╩п╦ try_files;
4734 ошибка появилась в 0.7.44. 4734 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4735 </para> 4735 </para>
4736 <para lang="en"> 4736 <para lang="en">
4737 a segmentation fault might occur in worker process, 4737 a segmentation fault might occur in worker process,
4738 if a request was redirected to a proxied or FastCGI server via 4738 if a request was redirected to a proxied or FastCGI server via
4739 error_page or try_files; 4739 error_page or try_files;
4746 4746
4747 <changes ver="0.7.46" date="30.03.2009"> 4747 <changes ver="0.7.46" date="30.03.2009">
4748 4748
4749 <change type="bugfix"> 4749 <change type="bugfix">
4750 <para lang="ru"> 4750 <para lang="ru">
4751 архив предыдущего релиза был неверным. 4751 п╟я─я┘п╦п╡ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я─п╣п╩п╦п╥п╟ п╠я▀п╩ п╫п╣п╡п╣я─п╫я▀п╪.
4752 </para> 4752 </para>
4753 <para lang="en"> 4753 <para lang="en">
4754 the previous release tarball was incorrect. 4754 the previous release tarball was incorrect.
4755 </para> 4755 </para>
4756 </change> 4756 </change>
4760 4760
4761 <changes ver="0.7.45" date="30.03.2009"> 4761 <changes ver="0.7.45" date="30.03.2009">
4762 4762
4763 <change type="change"> 4763 <change type="change">
4764 <para lang="ru"> 4764 <para lang="ru">
4765 теперь директивы proxy_cache и proxy_cache_valid можно задавать 4765 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache п╦ proxy_cache_valid п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄
4766 на разных уровнях. 4766 п╫п╟ я─п╟п╥п╫я▀я┘ я┐я─п╬п╡п╫я▐я┘.
4767 </para> 4767 </para>
4768 <para lang="en"> 4768 <para lang="en">
4769 now the "proxy_cache" and the "proxy_cache_valid" directives can be set on 4769 now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
4770 different levels. 4770 different levels.
4771 </para> 4771 </para>
4772 </change> 4772 </change>
4773 4773
4774 <change type="change"> 4774 <change type="change">
4775 <para lang="ru"> 4775 <para lang="ru">
4776 параметр clean_time в директиве proxy_cache_path удалён. 4776 п©п╟я─п╟п╪п╣я┌я─ clean_time п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_cache_path я┐п╢п╟п╩я▒п╫.
4777 </para> 4777 </para>
4778 <para lang="en"> 4778 <para lang="en">
4779 the "clean_time" parameter of the "proxy_cache_path" directive is canceled. 4779 the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
4780 </para> 4780 </para>
4781 </change> 4781 </change>
4782 4782
4783 <change type="feature"> 4783 <change type="feature">
4784 <para lang="ru"> 4784 <para lang="ru">
4785 параметр max_size в директиве proxy_cache_path. 4785 п©п╟я─п╟п╪п╣я┌я─ max_size п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_cache_path.
4786 </para> 4786 </para>
4787 <para lang="en"> 4787 <para lang="en">
4788 the "max_size" parameter of the "proxy_cache_path" directive. 4788 the "max_size" parameter of the "proxy_cache_path" directive.
4789 </para> 4789 </para>
4790 </change> 4790 </change>
4791 4791
4792 <change type="feature"> 4792 <change type="feature">
4793 <para lang="ru"> 4793 <para lang="ru">
4794 предварительная поддержка кэширования в модуле ngx_http_fastcgi_module. 4794 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_fastcgi_module.
4795 </para> 4795 </para>
4796 <para lang="en"> 4796 <para lang="en">
4797 the ngx_http_fastcgi_module preliminary cache support. 4797 the ngx_http_fastcgi_module preliminary cache support.
4798 </para> 4798 </para>
4799 </change> 4799 </change>
4800 4800
4801 <change type="feature"> 4801 <change type="feature">
4802 <para lang="ru"> 4802 <para lang="ru">
4803 теперь при ошибках выделения в разделяемой памяти в логе указываются 4803 я┌п╣п©п╣я─я▄ п©я─п╦ п╬я┬п╦п╠п╨п╟я┘ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п©п╟п╪я▐я┌п╦ п╡ п╩п╬пЁп╣ я┐п╨п╟п╥я▀п╡п╟я▌я┌я│я▐
4804 названия директивы и зоны. 4804 п╫п╟п╥п╡п╟п╫п╦я▐ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦ п╥п╬п╫я▀.
4805 </para> 4805 </para>
4806 <para lang="en"> 4806 <para lang="en">
4807 now on shared memory allocation errors directive and zone names are logged. 4807 now on shared memory allocation errors directive and zone names are logged.
4808 </para> 4808 </para>
4809 </change> 4809 </change>
4810 4810
4811 <change type="bugfix"> 4811 <change type="bugfix">
4812 <para lang="ru"> 4812 <para lang="ru">
4813 директива "add_header last-modified ''" не удаляла в заголовке ответа 4813 п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header last-modified ''" п╫п╣ я┐п╢п╟п╩я▐п╩п╟ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
4814 строку "Last-Modified"; 4814 я│я┌я─п╬п╨я┐ "Last-Modified";
4815 ошибка появилась в 0.7.44. 4815 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4816 </para> 4816 </para>
4817 <para lang="en"> 4817 <para lang="en">
4818 the directive "add_header last-modified ''" did not delete a "Last-Modified" 4818 the directive "add_header last-modified ''" did not delete a "Last-Modified"
4819 response header line; 4819 response header line;
4820 the bug had appeared in 0.7.44. 4820 the bug had appeared in 0.7.44.
4821 </para> 4821 </para>
4822 </change> 4822 </change>
4823 4823
4824 <change type="bugfix"> 4824 <change type="bugfix">
4825 <para lang="ru"> 4825 <para lang="ru">
4826 в директиве auth_basic_user_file не работал относительный путь, 4826 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_basic_user_file п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╧ п©я┐я┌я▄,
4827 заданный строкой без переменных; 4827 п╥п╟п╢п╟п╫п╫я▀п╧ я│я┌я─п╬п╨п╬п╧ п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘;
4828 ошибка появилась в 0.7.44.<br/> 4828 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.<br/>
4829 Спасибо Jerome Loyet. 4829 п║п©п╟я│п╦п╠п╬ Jerome Loyet.
4830 </para> 4830 </para>
4831 <para lang="en"> 4831 <para lang="en">
4832 a relative path in the "auth_basic_user_file" directive given without variables 4832 a relative path in the "auth_basic_user_file" directive given without variables
4833 did not work; 4833 did not work;
4834 the bug had appeared in 0.7.44.<br/> 4834 the bug had appeared in 0.7.44.<br/>
4836 </para> 4836 </para>
4837 </change> 4837 </change>
4838 4838
4839 <change type="bugfix"> 4839 <change type="bugfix">
4840 <para lang="ru"> 4840 <para lang="ru">
4841 в директиве alias, заданной переменными 4841 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ alias, п╥п╟п╢п╟п╫п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦
4842 без ссылок на выделения в регулярных выражениях; 4842 п╠п╣п╥ я│я│я▀п╩п╬п╨ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
4843 ошибка появилась в 0.7.42. 4843 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4844 </para> 4844 </para>
4845 <para lang="en"> 4845 <para lang="en">
4846 in an "alias" directive given using variables 4846 in an "alias" directive given using variables
4847 without references to captures of regular expressions; 4847 without references to captures of regular expressions;
4848 the bug had appeared in 0.7.42. 4848 the bug had appeared in 0.7.42.
4854 4854
4855 <changes ver="0.7.44" date="23.03.2009"> 4855 <changes ver="0.7.44" date="23.03.2009">
4856 4856
4857 <change type="feature"> 4857 <change type="feature">
4858 <para lang="ru"> 4858 <para lang="ru">
4859 предварительная поддержка кэширования в модуле ngx_http_proxy_module. 4859 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module.
4860 </para> 4860 </para>
4861 <para lang="en"> 4861 <para lang="en">
4862 the ngx_http_proxy_module preliminary cache support. 4862 the ngx_http_proxy_module preliminary cache support.
4863 </para> 4863 </para>
4864 </change> 4864 </change>
4865 4865
4866 <change type="feature"> 4866 <change type="feature">
4867 <para lang="ru"> 4867 <para lang="ru">
4868 параметр --with-pcre в configure. 4868 п©п╟я─п╟п╪п╣я┌я─ --with-pcre п╡ configure.
4869 </para> 4869 </para>
4870 <para lang="en"> 4870 <para lang="en">
4871 the --with-pcre option in the configure. 4871 the --with-pcre option in the configure.
4872 </para> 4872 </para>
4873 </change> 4873 </change>
4874 4874
4875 <change type="feature"> 4875 <change type="feature">
4876 <para lang="ru"> 4876 <para lang="ru">
4877 теперь директива try_files может быть использована на уровне server. 4877 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╟ п╫п╟ я┐я─п╬п╡п╫п╣ server.
4878 </para> 4878 </para>
4879 <para lang="en"> 4879 <para lang="en">
4880 the "try_files" directive is now allowed on the server block level. 4880 the "try_files" directive is now allowed on the server block level.
4881 </para> 4881 </para>
4882 </change> 4882 </change>
4883 4883
4884 <change type="bugfix"> 4884 <change type="bugfix">
4885 <para lang="ru"> 4885 <para lang="ru">
4886 директива try_files неправильно обрабатывала строку запроса в последнем 4886 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╟ я│я┌я─п╬п╨я┐ п╥п╟п©я─п╬я│п╟ п╡ п©п╬я│п╩п╣п╢п╫п╣п╪
4887 параметре. 4887 п©п╟я─п╟п╪п╣я┌я─п╣.
4888 </para> 4888 </para>
4889 <para lang="en"> 4889 <para lang="en">
4890 the "try_files" directive handled incorrectly a query string 4890 the "try_files" directive handled incorrectly a query string
4891 in a fallback parameter. 4891 in a fallback parameter.
4892 </para> 4892 </para>
4893 </change> 4893 </change>
4894 4894
4895 <change type="bugfix"> 4895 <change type="bugfix">
4896 <para lang="ru"> 4896 <para lang="ru">
4897 директива try_files могла неверно тестировать каталоги. 4897 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╪п╬пЁп╩п╟ п╫п╣п╡п╣я─п╫п╬ я┌п╣я│я┌п╦я─п╬п╡п╟я┌я▄ п╨п╟я┌п╟п╩п╬пЁп╦.
4898 </para> 4898 </para>
4899 <para lang="en"> 4899 <para lang="en">
4900 the "try_files" directive might test incorrectly directories. 4900 the "try_files" directive might test incorrectly directories.
4901 </para> 4901 </para>
4902 </change> 4902 </change>
4903 4903
4904 <change type="bugfix"> 4904 <change type="bugfix">
4905 <para lang="ru"> 4905 <para lang="ru">
4906 если для пары адрес:порт описан только один сервер, то выделения 4906 п╣я│п╩п╦ п╢п╩я▐ п©п╟я─я▀ п╟п╢я─п╣я│:п©п╬я─я┌ п╬п©п╦я│п╟п╫ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я│п╣я─п╡п╣я─, я┌п╬ п╡я▀п╢п╣п╩п╣п╫п╦я▐
4907 в регулярных выражениях в директиве server_name не работали. 4907 п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
4908 </para> 4908 </para>
4909 <para lang="en"> 4909 <para lang="en">
4910 if there was a single server for given address:port pair, 4910 if there was a single server for given address:port pair,
4911 then captures in regular expressions in a "server_name" directive did not work. 4911 then captures in regular expressions in a "server_name" directive did not work.
4912 </para> 4912 </para>
4917 4917
4918 <changes ver="0.7.43" date="18.03.2009"> 4918 <changes ver="0.7.43" date="18.03.2009">
4919 4919
4920 <change type="bugfix"> 4920 <change type="bugfix">
4921 <para lang="ru"> 4921 <para lang="ru">
4922 запрос обрабатывался неверно, если директива root использовала переменные; 4922 п╥п╟п©я─п╬я│ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п╫п╣п╡п╣я─п╫п╬, п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ root п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я▀п╣;
4923 ошибка появилась в 0.7.42. 4923 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4924 </para> 4924 </para>
4925 <para lang="en"> 4925 <para lang="en">
4926 a request was handled incorrectly, if a "root" directive used variables; 4926 a request was handled incorrectly, if a "root" directive used variables;
4927 the bug had appeared in 0.7.42. 4927 the bug had appeared in 0.7.42.
4928 </para> 4928 </para>
4929 </change> 4929 </change>
4930 4930
4931 <change type="bugfix"> 4931 <change type="bugfix">
4932 <para lang="ru"> 4932 <para lang="ru">
4933 если сервер слушал на адресах типа "*", то значение переменной $server_addr 4933 п╣я│п╩п╦ я│п╣я─п╡п╣я─ я│п╩я┐я┬п╟п╩ п╫п╟ п╟п╢я─п╣я│п╟я┘ я┌п╦п©п╟ "*", я┌п╬ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_addr
4934 было "0.0.0.0"; 4934 п╠я▀п╩п╬ "0.0.0.0";
4935 ошибка появилась в 0.7.36. 4935 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
4936 </para> 4936 </para>
4937 <para lang="en"> 4937 <para lang="en">
4938 if a server listened on wildcard address, then the $server_addr variable 4938 if a server listened on wildcard address, then the $server_addr variable
4939 value was "0.0.0.0"; 4939 value was "0.0.0.0";
4940 the bug had appeared in 0.7.36. 4940 the bug had appeared in 0.7.36.
4946 4946
4947 <changes ver="0.7.42" date="16.03.2009"> 4947 <changes ver="0.7.42" date="16.03.2009">
4948 4948
4949 <change type="change"> 4949 <change type="change">
4950 <para lang="ru"> 4950 <para lang="ru">
4951 ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris, 4951 п╬я┬п╦п╠п╨п╟ "Invalid argument", п╡п╬п╥п╡я─п╟я┴п╟п╣п╪п╟я▐ setsockopt(TCP_NODELAY) п╫п╟ Solaris,
4952 теперь игнорируется. 4952 я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐.
4953 </para> 4953 </para>
4954 <para lang="en"> 4954 <para lang="en">
4955 now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, 4955 now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
4956 is ignored. 4956 is ignored.
4957 </para> 4957 </para>
4958 </change> 4958 </change>
4959 4959
4960 <change type="change"> 4960 <change type="change">
4961 <para lang="ru"> 4961 <para lang="ru">
4962 при отсутствии файла, указанного в директиве auth_basic_user_file, 4962 п©я─п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╦ я└п╟п╧п╩п╟, я┐п╨п╟п╥п╟п╫п╫п╬пЁп╬ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_basic_user_file,
4963 теперь возвращается ошибка 403 вместо 500. 4963 я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ п╬я┬п╦п╠п╨п╟ 403 п╡п╪п╣я│я┌п╬ 500.
4964 </para> 4964 </para>
4965 <para lang="en"> 4965 <para lang="en">
4966 now if a file specified in a "auth_basic_user_file" directive is absent, 4966 now if a file specified in a "auth_basic_user_file" directive is absent,
4967 then the 403 error is returned instead of the 500 one. 4967 then the 403 error is returned instead of the 500 one.
4968 </para> 4968 </para>
4969 </change> 4969 </change>
4970 4970
4971 <change type="feature"> 4971 <change type="feature">
4972 <para lang="ru"> 4972 <para lang="ru">
4973 директива auth_basic_user_file поддерживает переменные. 4973 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic_user_file п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
4974 <br/> 4974 <br/>
4975 Спасибо Кириллу Коринскому. 4975 п║п©п╟я│п╦п╠п╬ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
4976 </para> 4976 </para>
4977 <para lang="en"> 4977 <para lang="en">
4978 the "auth_basic_user_file" directive supports variables.<br/> 4978 the "auth_basic_user_file" directive supports variables.<br/>
4979 Thanks to Kirill A. Korinskiy. 4979 Thanks to Kirill A. Korinskiy.
4980 </para> 4980 </para>
4981 </change> 4981 </change>
4982 4982
4983 <change type="feature"> 4983 <change type="feature">
4984 <para lang="ru"> 4984 <para lang="ru">
4985 директива listen поддерживает параметр ipv6only.<br/> 4985 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ ipv6only.<br/>
4986 Спасибо Zhang Hua. 4986 п║п©п╟я│п╦п╠п╬ Zhang Hua.
4987 </para> 4987 </para>
4988 <para lang="en"> 4988 <para lang="en">
4989 the "listen" directive supports the "ipv6only" parameter. 4989 the "listen" directive supports the "ipv6only" parameter.
4990 <br/> 4990 <br/>
4991 Thanks to Zhang Hua. 4991 Thanks to Zhang Hua.
4992 </para> 4992 </para>
4993 </change> 4993 </change>
4994 4994
4995 <change type="bugfix"> 4995 <change type="bugfix">
4996 <para lang="ru"> 4996 <para lang="ru">
4997 в директиве alias со ссылками на выделения в регулярных выражениях; 4997 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ alias я│п╬ я│я│я▀п╩п╨п╟п╪п╦ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
4998 ошибка появилась в 0.7.40. 4998 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.40.
4999 </para> 4999 </para>
5000 <para lang="en"> 5000 <para lang="en">
5001 in an "alias" directive with references to captures of regular expressions; 5001 in an "alias" directive with references to captures of regular expressions;
5002 the bug had appeared in 0.7.40. 5002 the bug had appeared in 0.7.40.
5003 </para> 5003 </para>
5004 </change> 5004 </change>
5005 5005
5006 <change type="bugfix"> 5006 <change type="bugfix">
5007 <para lang="ru"> 5007 <para lang="ru">
5008 совместимость с Tru64 UNIX.<br/> 5008 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ Tru64 UNIX.<br/>
5009 Спасибо Dustin Marquess. 5009 п║п©п╟я│п╦п╠п╬ Dustin Marquess.
5010 </para> 5010 </para>
5011 <para lang="en"> 5011 <para lang="en">
5012 compatibility with Tru64 UNIX.<br/> 5012 compatibility with Tru64 UNIX.<br/>
5013 Thanks to Dustin Marquess. 5013 Thanks to Dustin Marquess.
5014 </para> 5014 </para>
5015 </change> 5015 </change>
5016 5016
5017 <change type="bugfix"> 5017 <change type="bugfix">
5018 <para lang="ru"> 5018 <para lang="ru">
5019 nginx не собирался без библиотеки PCRE; 5019 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
5020 ошибка появилась в 0.7.41. 5020 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.41.
5021 </para> 5021 </para>
5022 <para lang="en"> 5022 <para lang="en">
5023 nginx could not be built without PCRE library; 5023 nginx could not be built without PCRE library;
5024 the bug had appeared in 0.7.41. 5024 the bug had appeared in 0.7.41.
5025 </para> 5025 </para>
5030 5030
5031 <changes ver="0.7.41" date="11.03.2009"> 5031 <changes ver="0.7.41" date="11.03.2009">
5032 5032
5033 <change type="bugfix"> 5033 <change type="bugfix">
5034 <para lang="ru"> 5034 <para lang="ru">
5035 в рабочем процессе мог произойти segmentation fault, 5035 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
5036 если в server_name или location были выделения в регулярных выражениях; 5036 п╣я│п╩п╦ п╡ server_name п╦п╩п╦ location п╠я▀п╩п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
5037 ошибка появилась в 0.7.40.<br/> 5037 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.40.<br/>
5038 Спасибо Владимиру Сопоту. 5038 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п║п╬п©п╬я┌я┐.
5039 </para> 5039 </para>
5040 <para lang="en"> 5040 <para lang="en">
5041 a segmentation fault might occur in worker process, 5041 a segmentation fault might occur in worker process,
5042 if a "server_name" or a "location" directives had captures 5042 if a "server_name" or a "location" directives had captures
5043 in regular expressions; 5043 in regular expressions;
5051 5051
5052 <changes ver="0.7.40" date="09.03.2009"> 5052 <changes ver="0.7.40" date="09.03.2009">
5053 5053
5054 <change type="feature"> 5054 <change type="feature">
5055 <para lang="ru"> 5055 <para lang="ru">
5056 директива location поддерживает выделения в регулярных выражениях. 5056 п╢п╦я─п╣п╨я┌п╦п╡п╟ location п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
5057 </para> 5057 </para>
5058 <para lang="en"> 5058 <para lang="en">
5059 the "location" directive supports captures in regular expressions. 5059 the "location" directive supports captures in regular expressions.
5060 </para> 5060 </para>
5061 </change> 5061 </change>
5062 5062
5063 <change type="feature"> 5063 <change type="feature">
5064 <para lang="ru"> 5064 <para lang="ru">
5065 директиву alias с ссылками на выделения в регулярных выражениях 5065 п╢п╦я─п╣п╨я┌п╦п╡я┐ alias я│ я│я│я▀п╩п╨п╟п╪п╦ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘
5066 можно использовать внутри location'а, заданного регулярным выражением 5066 п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ location'п╟, п╥п╟п╢п╟п╫п╫п╬пЁп╬ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪
5067 с выделениями. 5067 я│ п╡я▀п╢п╣п╩п╣п╫п╦я▐п╪п╦.
5068 </para> 5068 </para>
5069 <para lang="en"> 5069 <para lang="en">
5070 an "alias" directive with capture references may be used inside 5070 an "alias" directive with capture references may be used inside
5071 a location given by a regular expression with captures. 5071 a location given by a regular expression with captures.
5072 </para> 5072 </para>
5073 </change> 5073 </change>
5074 5074
5075 <change type="feature"> 5075 <change type="feature">
5076 <para lang="ru"> 5076 <para lang="ru">
5077 директива server_name поддерживает выделения в регулярных выражениях. 5077 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
5078 </para> 5078 </para>
5079 <para lang="en"> 5079 <para lang="en">
5080 the "server_name" directive supports captures in regular expressions. 5080 the "server_name" directive supports captures in regular expressions.
5081 </para> 5081 </para>
5082 </change> 5082 </change>
5083 5083
5084 <change type="workaround"> 5084 <change type="workaround">
5085 <para lang="ru"> 5085 <para lang="ru">
5086 модуль ngx_http_autoindex_module не показывал последний слэш для каталогов 5086 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╩ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╩я█я┬ п╢п╩я▐ п╨п╟я┌п╟п╩п╬пЁп╬п╡
5087 на файловой системе XFS; 5087 п╫п╟ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪п╣ XFS;
5088 ошибка появилась в 0.7.15.<br/> 5088 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.<br/>
5089 Спасибо Дмитрию Кузьменко. 5089 п║п©п╟я│п╦п╠п╬ п■п╪п╦я┌я─п╦я▌ п я┐п╥я▄п╪п╣п╫п╨п╬.
5090 </para> 5090 </para>
5091 <para lang="en"> 5091 <para lang="en">
5092 the ngx_http_autoindex_module did not show the trailing slash in directories 5092 the ngx_http_autoindex_module did not show the trailing slash in directories
5093 on XFS filesystem; 5093 on XFS filesystem;
5094 the issue had appeared in 0.7.15.<br/> 5094 the issue had appeared in 0.7.15.<br/>
5101 5101
5102 <changes ver="0.7.39" date="02.03.2009"> 5102 <changes ver="0.7.39" date="02.03.2009">
5103 5103
5104 <change type="bugfix"> 5104 <change type="bugfix">
5105 <para lang="ru"> 5105 <para lang="ru">
5106 при включённом сжатии большие ответы с использованием SSI могли зависать; 5106 п©я─п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ я│п╤п╟я┌п╦п╦ п╠п╬п╩я▄я┬п╦п╣ п╬я┌п╡п╣я┌я▀ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ SSI п╪п╬пЁп╩п╦ п╥п╟п╡п╦я│п╟я┌я▄;
5107 ошибка появилась в 0.7.28.<br/> 5107 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.28.<br/>
5108 Спасибо Артёму Бохану. 5108 п║п©п╟я│п╦п╠п╬ п░я─я┌я▒п╪я┐ п▒п╬я┘п╟п╫я┐.
5109 </para> 5109 </para>
5110 <para lang="en"> 5110 <para lang="en">
5111 large response with SSI might hang, if gzipping was enabled; 5111 large response with SSI might hang, if gzipping was enabled;
5112 the bug had appeared in 0.7.28.<br/> 5112 the bug had appeared in 0.7.28.<br/>
5113 Thanks to Artem Bokhan. 5113 Thanks to Artem Bokhan.
5114 </para> 5114 </para>
5115 </change> 5115 </change>
5116 5116
5117 <change type="bugfix"> 5117 <change type="bugfix">
5118 <para lang="ru"> 5118 <para lang="ru">
5119 при использовании коротких статических вариантов в директиве try_files 5119 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬я─п╬я┌п╨п╦я┘ я│я┌п╟я┌п╦я┤п╣я│п╨п╦я┘ п╡п╟я─п╦п╟п╫я┌п╬п╡ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ try_files
5120 в рабочем процессе мог произойти segmentation fault. 5120 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
5121 </para> 5121 </para>
5122 <para lang="en"> 5122 <para lang="en">
5123 a segmentation fault might occur in worker process, 5123 a segmentation fault might occur in worker process,
5124 if short static variants are used in a "try_files" directive. 5124 if short static variants are used in a "try_files" directive.
5125 </para> 5125 </para>
5130 5130
5131 <changes ver="0.7.38" date="23.02.2009"> 5131 <changes ver="0.7.38" date="23.02.2009">
5132 5132
5133 <change type="feature"> 5133 <change type="feature">
5134 <para lang="ru"> 5134 <para lang="ru">
5135 логгирование ошибок аутентификации. 5135 п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦.
5136 </para> 5136 </para>
5137 <para lang="en"> 5137 <para lang="en">
5138 authentication failures logging. 5138 authentication failures logging.
5139 </para> 5139 </para>
5140 </change> 5140 </change>
5141 5141
5142 <change type="bugfix"> 5142 <change type="bugfix">
5143 <para lang="ru"> 5143 <para lang="ru">
5144 имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного 5144 п╦п╪я▐/п©п╟я─п╬п╩я▄, п╥п╟п╢п╟п╫п╫я▀п╣ п╡ auth_basic_user_file, п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╦я│я▄ п©п╬я│п╩п╣ п╫п╣я┤я▒я┌п╫п╬пЁп╬
5145 числа пустых строк.<br/> 5145 я┤п╦я│п╩п╟ п©я┐я│я┌я▀я┘ я│я┌я─п╬п╨.<br/>
5146 Спасибо Александру Загребину. 5146 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≈п╟пЁя─п╣п╠п╦п╫я┐.
5147 </para> 5147 </para>
5148 <para lang="en"> 5148 <para lang="en">
5149 name/password in auth_basic_user_file were ignored after odd number 5149 name/password in auth_basic_user_file were ignored after odd number
5150 of empty lines.<br/> 5150 of empty lines.<br/>
5151 Thanks to Alexander Zagrebin. 5151 Thanks to Alexander Zagrebin.
5152 </para> 5152 </para>
5153 </change> 5153 </change>
5154 5154
5155 <change type="bugfix"> 5155 <change type="bugfix">
5156 <para lang="ru"> 5156 <para lang="ru">
5157 при использовании длинного пути в unix domain сокете 5157 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╩п╦п╫п╫п╬пЁп╬ п©я┐я┌п╦ п╡ unix domain я│п╬п╨п╣я┌п╣
5158 в главном процессе происходил segmentation fault; 5158 п╡ пЁп╩п╟п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
5159 ошибка появилась в 0.7.36. 5159 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
5160 </para> 5160 </para>
5161 <para lang="en"> 5161 <para lang="en">
5162 a segmentation fault occurred in a master process, 5162 a segmentation fault occurred in a master process,
5163 if long path was used in unix domain socket; 5163 if long path was used in unix domain socket;
5164 the bug had appeared in 0.7.36. 5164 the bug had appeared in 0.7.36.
5170 5170
5171 <changes ver="0.7.37" date="21.02.2009"> 5171 <changes ver="0.7.37" date="21.02.2009">
5172 5172
5173 <change type="bugfix"> 5173 <change type="bugfix">
5174 <para lang="ru"> 5174 <para lang="ru">
5175 директивы, использующие upstream'ы, не работали; 5175 п╢п╦я─п╣п╨я┌п╦п╡я▀, п╦я│п©п╬п╩я▄п╥я┐я▌я┴п╦п╣ upstream'я▀, п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
5176 ошибка появилась в 0.7.36. 5176 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
5177 </para> 5177 </para>
5178 <para lang="en"> 5178 <para lang="en">
5179 directives using upstreams did not work; 5179 directives using upstreams did not work;
5180 the bug had appeared in 0.7.36. 5180 the bug had appeared in 0.7.36.
5181 </para> 5181 </para>
5186 5186
5187 <changes ver="0.7.36" date="21.02.2009"> 5187 <changes ver="0.7.36" date="21.02.2009">
5188 5188
5189 <change type="feature"> 5189 <change type="feature">
5190 <para lang="ru"> 5190 <para lang="ru">
5191 предварительная поддержка IPv6; 5191 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ IPv6;
5192 директива listen модуля HTTP поддерживает IPv6. 5192 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╪п╬п╢я┐п╩я▐ HTTP п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6.
5193 </para> 5193 </para>
5194 <para lang="en"> 5194 <para lang="en">
5195 a preliminary IPv6 support; 5195 a preliminary IPv6 support;
5196 the "listen" directive of the HTTP module supports IPv6. 5196 the "listen" directive of the HTTP module supports IPv6.
5197 </para> 5197 </para>
5198 </change> 5198 </change>
5199 5199
5200 <change type="bugfix"> 5200 <change type="bugfix">
5201 <para lang="ru"> 5201 <para lang="ru">
5202 переменная $ancient_browser не работала для браузеров, заданных 5202 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ancient_browser п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╢п╩я▐ п╠я─п╟я┐п╥п╣я─п╬п╡, п╥п╟п╢п╟п╫п╫я▀я┘
5203 директивами modern_browser. 5203 п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ modern_browser.
5204 </para> 5204 </para>
5205 <para lang="en"> 5205 <para lang="en">
5206 the $ancient_browser variable did not work for browsers 5206 the $ancient_browser variable did not work for browsers
5207 preset by a "modern_browser" directives. 5207 preset by a "modern_browser" directives.
5208 </para> 5208 </para>
5213 5213
5214 <changes ver="0.7.35" date="16.02.2009"> 5214 <changes ver="0.7.35" date="16.02.2009">
5215 5215
5216 <change type="bugfix"> 5216 <change type="bugfix">
5217 <para lang="ru"> 5217 <para lang="ru">
5218 директива ssl_engine не использовала SSL-акселератор 5218 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_engine п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ SSL-п╟п╨я│п╣п╩п╣я─п╟я┌п╬я─
5219 для асимметричных шифров.<br/> 5219 п╢п╩я▐ п╟я│п╦п╪п╪п╣я┌я─п╦я┤п╫я▀я┘ я┬п╦я└я─п╬п╡.<br/>
5220 Спасибо Marcin Gozdalik. 5220 п║п©п╟я│п╦п╠п╬ Marcin Gozdalik.
5221 </para> 5221 </para>
5222 <para lang="en"> 5222 <para lang="en">
5223 a "ssl_engine" directive did not use a SSL-accelerator 5223 a "ssl_engine" directive did not use a SSL-accelerator
5224 for asymmetric ciphers.<br/> 5224 for asymmetric ciphers.<br/>
5225 Thanks to Marcin Gozdalik. 5225 Thanks to Marcin Gozdalik.
5226 </para> 5226 </para>
5227 </change> 5227 </change>
5228 5228
5229 <change type="bugfix"> 5229 <change type="bugfix">
5230 <para lang="ru"> 5230 <para lang="ru">
5231 директива try_files выставляла MIME-type, исходя из расширения 5231 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╡я▀я│я┌п╟п╡п╩я▐п╩п╟ MIME-type, п╦я│я┘п╬п╢я▐ п╦п╥ я─п╟я│я┬п╦я─п╣п╫п╦я▐
5232 первоначального запроса. 5232 п©п╣я─п╡п╬п╫п╟я┤п╟п╩я▄п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
5233 </para> 5233 </para>
5234 <para lang="en"> 5234 <para lang="en">
5235 a "try_files" directive set MIME type depending on an 5235 a "try_files" directive set MIME type depending on an
5236 original request extension. 5236 original request extension.
5237 </para> 5237 </para>
5238 </change> 5238 </change>
5239 5239
5240 <change type="bugfix"> 5240 <change type="bugfix">
5241 <para lang="ru"> 5241 <para lang="ru">
5242 в директивах server_name, valid_referers и map 5242 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name, valid_referers п╦ map
5243 неправильно обрабатывались имена вида "*domain.tld", 5243 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ "*domain.tld",
5244 если использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 5244 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╟я│п╨п╦ п╡п╦п╢п╟ ".domain.tld" п╦ ".subdomain.domain.tld";
5245 ошибка появилась в 0.7.9. 5245 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.9.
5246 </para> 5246 </para>
5247 <para lang="en"> 5247 <para lang="en">
5248 "*domain.tld" names were handled incorrectly in 5248 "*domain.tld" names were handled incorrectly in
5249 "server_name", "valid_referers", and "map" directives, 5249 "server_name", "valid_referers", and "map" directives,
5250 if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; 5250 if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
5257 5257
5258 <changes ver="0.7.34" date="10.02.2009"> 5258 <changes ver="0.7.34" date="10.02.2009">
5259 5259
5260 <change type="feature"> 5260 <change type="feature">
5261 <para lang="ru"> 5261 <para lang="ru">
5262 параметр off в директиве if_modified_since. 5262 п©п╟я─п╟п╪п╣я┌я─ off п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if_modified_since.
5263 </para> 5263 </para>
5264 <para lang="en"> 5264 <para lang="en">
5265 the "off" parameter of the "if_modified_since" directive. 5265 the "off" parameter of the "if_modified_since" directive.
5266 </para> 5266 </para>
5267 </change> 5267 </change>
5268 5268
5269 <change type="feature"> 5269 <change type="feature">
5270 <para lang="ru"> 5270 <para lang="ru">
5271 теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/> 5271 я┌п╣п©п╣я─я▄ п©п╬я│п╩п╣ п╨п╬п╪п╟п╫п╢я▀ XCLIENT nginx п©п╬я│я▀п╩п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ HELO/EHLO.<br/>
5272 Спасибо Максиму Дунину. 5272 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5273 </para> 5273 </para>
5274 <para lang="en"> 5274 <para lang="en">
5275 now nginx sends an HELO/EHLO command after a XCLIENT command.<br/> 5275 now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
5276 Thanks to Maxim Dounin. 5276 Thanks to Maxim Dounin.
5277 </para> 5277 </para>
5278 </change> 5278 </change>
5279 5279
5280 <change type="feature"> 5280 <change type="feature">
5281 <para lang="ru"> 5281 <para lang="ru">
5282 поддержка Microsoft-специфичного режима 5282 п©п╬п╢п╢п╣я─п╤п╨п╟ Microsoft-я│п©п╣я├п╦я└п╦я┤п╫п╬пЁп╬ я─п╣п╤п╦п╪п╟
5283 <nobr>"AUTH LOGIN with User Name"</nobr> 5283 <nobr>"AUTH LOGIN with User Name"</nobr>
5284 в почтовом прокси-сервере.<br/> 5284 п╡ п©п╬я┤я┌п╬п╡п╬п╪ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣.<br/>
5285 Спасибо Максиму Дунину. 5285 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5286 </para> 5286 </para>
5287 <para lang="en"> 5287 <para lang="en">
5288 Microsoft specific "AUTH LOGIN with User Name" mode support 5288 Microsoft specific "AUTH LOGIN with User Name" mode support
5289 in mail proxy server.<br/> 5289 in mail proxy server.<br/>
5290 Thanks to Maxim Dounin. 5290 Thanks to Maxim Dounin.
5291 </para> 5291 </para>
5292 </change> 5292 </change>
5293 5293
5294 <change type="bugfix"> 5294 <change type="bugfix">
5295 <para lang="ru"> 5295 <para lang="ru">
5296 в директиве rewrite, возвращающей редирект, старые аргументы присоединялись 5296 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite, п╡п╬п╥п╡я─п╟я┴п╟я▌я┴п╣п╧ я─п╣п╢п╦я─п╣п╨я┌, я│я┌п╟я─я▀п╣ п╟я─пЁя┐п╪п╣п╫я┌я▀ п©я─п╦я│п╬п╣п╢п╦п╫я▐п╩п╦я│я▄
5297 к новым через символ "?" вместо "&amp;";<br/> 5297 п╨ п╫п╬п╡я▀п╪ я┤п╣я─п╣п╥ я│п╦п╪п╡п╬п╩ "?" п╡п╪п╣я│я┌п╬ "&amp;";<br/>
5298 ошибка появилась в 0.1.18.<br/> 5298 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.18.<br/>
5299 Спасибо Максиму Дунину. 5299 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5300 </para> 5300 </para>
5301 <para lang="en"> 5301 <para lang="en">
5302 in a redirect rewrite directive original arguments were concatenated with 5302 in a redirect rewrite directive original arguments were concatenated with
5303 new arguments by a "?" rather than an "&amp;";<br/> 5303 new arguments by a "?" rather than an "&amp;";<br/>
5304 the bug had appeared in 0.1.18.<br/> 5304 the bug had appeared in 0.1.18.<br/>
5306 </para> 5306 </para>
5307 </change> 5307 </change>
5308 5308
5309 <change type="bugfix"> 5309 <change type="bugfix">
5310 <para lang="ru"> 5310 <para lang="ru">
5311 nginx не собирался на AIX. 5311 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ AIX.
5312 </para> 5312 </para>
5313 <para lang="en"> 5313 <para lang="en">
5314 nginx could not be built on AIX. 5314 nginx could not be built on AIX.
5315 </para> 5315 </para>
5316 </change> 5316 </change>
5320 5320
5321 <changes ver="0.7.33" date="02.02.2009"> 5321 <changes ver="0.7.33" date="02.02.2009">
5322 5322
5323 <change type="bugfix"> 5323 <change type="bugfix">
5324 <para lang="ru"> 5324 <para lang="ru">
5325 если на запрос с телом возвращался редирект, то ответ мог быть двойным 5325 п╣я│п╩п╦ п╫п╟ п╥п╟п©я─п╬я│ я│ я┌п╣п╩п╬п╪ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ я─п╣п╢п╦я─п╣п╨я┌, я┌п╬ п╬я┌п╡п╣я┌ п╪п╬пЁ п╠я▀я┌я▄ п╢п╡п╬п╧п╫я▀п╪
5326 при использовании методов epoll или rtsig.<br/> 5326 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ epoll п╦п╩п╦ rtsig.<br/>
5327 Спасибо Eden Li. 5327 п║п©п╟я│п╦п╠п╬ Eden Li.
5328 </para> 5328 </para>
5329 <para lang="en"> 5329 <para lang="en">
5330 a double response might be returned if the epoll or rtsig methods are used 5330 a double response might be returned if the epoll or rtsig methods are used
5331 and a redirect was returned to a request with body.<br/> 5331 and a redirect was returned to a request with body.<br/>
5332 Thanks to Eden Li. 5332 Thanks to Eden Li.
5333 </para> 5333 </para>
5334 </change> 5334 </change>
5335 5335
5336 <change type="bugfix"> 5336 <change type="bugfix">
5337 <para lang="ru"> 5337 <para lang="ru">
5338 для некоторых типов редиректов в переменной $sent_http_location 5338 п╢п╩я▐ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┌п╦п©п╬п╡ я─п╣п╢п╦я─п╣п╨я┌п╬п╡ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $sent_http_location
5339 было пустое значение. 5339 п╠я▀п╩п╬ п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
5340 </para> 5340 </para>
5341 <para lang="en"> 5341 <para lang="en">
5342 the $sent_http_location variable was empty for some redirects types. 5342 the $sent_http_location variable was empty for some redirects types.
5343 </para> 5343 </para>
5344 </change> 5344 </change>
5345 5345
5346 <change type="bugfix"> 5346 <change type="bugfix">
5347 <para lang="ru"> 5347 <para lang="ru">
5348 при использовании директивы resolver в SMTP прокси-сервере 5348 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╡ SMTP п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣
5349 в рабочем процессе мог произойти segmentation fault. 5349 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
5350 </para> 5350 </para>
5351 <para lang="en"> 5351 <para lang="en">
5352 a segmentation fault might occur in worker process 5352 a segmentation fault might occur in worker process
5353 if "resolver" directive was used in SMTP proxy. 5353 if "resolver" directive was used in SMTP proxy.
5354 </para> 5354 </para>
5359 5359
5360 <changes ver="0.7.32" date="26.01.2009"> 5360 <changes ver="0.7.32" date="26.01.2009">
5361 5361
5362 <change type="feature"> 5362 <change type="feature">
5363 <para lang="ru"> 5363 <para lang="ru">
5364 теперь в директиве try_files можно явно указать проверку каталога. 5364 я┌п╣п©п╣я─я▄ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ try_files п╪п╬п╤п╫п╬ я▐п╡п╫п╬ я┐п╨п╟п╥п╟я┌я▄ п©я─п╬п╡п╣я─п╨я┐ п╨п╟я┌п╟п╩п╬пЁп╟.
5365 </para> 5365 </para>
5366 <para lang="en"> 5366 <para lang="en">
5367 now a directory existence testing can be set explicitly 5367 now a directory existence testing can be set explicitly
5368 in the "try_files" directive. 5368 in the "try_files" directive.
5369 </para> 5369 </para>
5370 </change> 5370 </change>
5371 5371
5372 <change type="bugfix"> 5372 <change type="bugfix">
5373 <para lang="ru"> 5373 <para lang="ru">
5374 fastcgi_store не всегда сохранял файлы. 5374 fastcgi_store п╫п╣ п╡я│п╣пЁп╢п╟ я│п╬я┘я─п╟п╫я▐п╩ я└п╟п╧п╩я▀.
5375 </para> 5375 </para>
5376 <para lang="en"> 5376 <para lang="en">
5377 fastcgi_store stored files not always. 5377 fastcgi_store stored files not always.
5378 </para> 5378 </para>
5379 </change> 5379 </change>
5380 5380
5381 <change type="bugfix"> 5381 <change type="bugfix">
5382 <para lang="ru"> 5382 <para lang="ru">
5383 в гео-диапазонах. 5383 п╡ пЁп╣п╬-п╢п╦п╟п©п╟п╥п╬п╫п╟я┘.
5384 </para> 5384 </para>
5385 <para lang="en"> 5385 <para lang="en">
5386 in geo ranges. 5386 in geo ranges.
5387 </para> 5387 </para>
5388 </change> 5388 </change>
5389 5389
5390 <change type="bugfix"> 5390 <change type="bugfix">
5391 <para lang="ru"> 5391 <para lang="ru">
5392 ошибки выделения больших блоков в разделяемой памяти, 5392 п╬я┬п╦п╠п╨п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╠п╬п╩я▄я┬п╦я┘ п╠п╩п╬п╨п╬п╡ п╡ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п©п╟п╪я▐я┌п╦,
5393 если nginx был собран без отладки.<br/> 5393 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ п╠п╣п╥ п╬я┌п╩п╟п╢п╨п╦.<br/>
5394 Спасибо Андрею Квасову. 5394 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п п╡п╟я│п╬п╡я┐.
5395 </para> 5395 </para>
5396 <para lang="en"> 5396 <para lang="en">
5397 in shared memory allocations if nginx was built without debugging.<br/> 5397 in shared memory allocations if nginx was built without debugging.<br/>
5398 Thanks to Andrey Kvasov. 5398 Thanks to Andrey Kvasov.
5399 </para> 5399 </para>
5404 5404
5405 <changes ver="0.7.31" date="19.01.2009"> 5405 <changes ver="0.7.31" date="19.01.2009">
5406 5406
5407 <change type="change"> 5407 <change type="change">
5408 <para lang="ru"> 5408 <para lang="ru">
5409 теперь директива try_files проверяет только файлы, игнорируя каталоги. 5409 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п©я─п╬п╡п╣я─я▐п╣я┌ я┌п╬п╩я▄п╨п╬ я└п╟п╧п╩я▀, п╦пЁп╫п╬я─п╦я─я┐я▐ п╨п╟я┌п╟п╩п╬пЁп╦.
5410 </para> 5410 </para>
5411 <para lang="en"> 5411 <para lang="en">
5412 now the "try_files" directive tests files only and ignores directories. 5412 now the "try_files" directive tests files only and ignores directories.
5413 </para> 5413 </para>
5414 </change> 5414 </change>
5415 5415
5416 <change type="feature"> 5416 <change type="feature">
5417 <para lang="ru"> 5417 <para lang="ru">
5418 директива fastcgi_split_path_info. 5418 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_split_path_info.
5419 </para> 5419 </para>
5420 <para lang="en"> 5420 <para lang="en">
5421 the "fastcgi_split_path_info" directive. 5421 the "fastcgi_split_path_info" directive.
5422 </para> 5422 </para>
5423 </change> 5423 </change>
5424 5424
5425 <change> 5425 <change>
5426 <para lang="ru"> 5426 <para lang="ru">
5427 Исправления в поддержке строки "Expect" в заголовке запроса. 5427 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ я│я┌я─п╬п╨п╦ "Expect" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
5428 </para> 5428 </para>
5429 <para lang="en"> 5429 <para lang="en">
5430 Bugfixes in an "Expect" request header line support. 5430 Bugfixes in an "Expect" request header line support.
5431 </para> 5431 </para>
5432 </change> 5432 </change>
5433 5433
5434 <change> 5434 <change>
5435 <para lang="ru"> 5435 <para lang="ru">
5436 Исправления в гео-диапазонах. 5436 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ пЁп╣п╬-п╢п╦п╟п©п╟п╥п╬п╫п╟я┘.
5437 </para> 5437 </para>
5438 <para lang="en"> 5438 <para lang="en">
5439 Bugfixes in geo ranges. 5439 Bugfixes in geo ranges.
5440 </para> 5440 </para>
5441 </change> 5441 </change>
5442 5442
5443 <change type="bugfix"> 5443 <change type="bugfix">
5444 <para lang="ru"> 5444 <para lang="ru">
5445 при отсутствии ответа ngx_http_memcached_module возвращал 5445 п©я─п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╦ п╬я┌п╡п╣я┌п╟ ngx_http_memcached_module п╡п╬п╥п╡я─п╟я┴п╟п╩
5446 в теле ответа строку "END" вместо 404-ой страницы по умолчанию; 5446 п╡ я┌п╣п╩п╣ п╬я┌п╡п╣я┌п╟ я│я┌я─п╬п╨я┐ "END" п╡п╪п╣я│я┌п╬ 404-п╬п╧ я│я┌я─п╟п╫п╦я├я▀ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌;
5447 ошибка появилась в 0.7.18.<br/> 5447 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.18.<br/>
5448 Спасибо Максиму Дунину. 5448 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5449 </para> 5449 </para>
5450 <para lang="en"> 5450 <para lang="en">
5451 in a miss case ngx_http_memcached_module returned the "END" line 5451 in a miss case ngx_http_memcached_module returned the "END" line
5452 as response body instead of default 404 page body; 5452 as response body instead of default 404 page body;
5453 the bug had appeared in 0.7.18.<br/> 5453 the bug had appeared in 0.7.18.<br/>
5455 </para> 5455 </para>
5456 </change> 5456 </change>
5457 5457
5458 <change type="bugfix"> 5458 <change type="bugfix">
5459 <para lang="ru"> 5459 <para lang="ru">
5460 при проксировании SMPT nginx выдавал сообщение 5460 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ SMPT nginx п╡я▀п╢п╟п╡п╟п╩ я│п╬п╬п╠я┴п╣п╫п╦п╣
5461 <nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK"; 5461 <nobr>"250 2.0.0 OK"</nobr> п╡п╪п╣я│я┌п╬ "235 2.0.0 OK";
5462 ошибка появилась в 0.7.22.<br/> 5462 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.22.<br/>
5463 Спасибо Максиму Дунину. 5463 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5464 </para> 5464 </para>
5465 <para lang="en"> 5465 <para lang="en">
5466 while SMTP proxying nginx issued message 5466 while SMTP proxying nginx issued message
5467 "250 2.0.0 OK" instead of "235 2.0.0 OK"; 5467 "250 2.0.0 OK" instead of "235 2.0.0 OK";
5468 the bug had appeared in 0.7.22.<br/> 5468 the bug had appeared in 0.7.22.<br/>
5476 5476
5477 <changes ver="0.7.30" date="24.12.2008"> 5477 <changes ver="0.7.30" date="24.12.2008">
5478 5478
5479 <change type="bugfix"> 5479 <change type="bugfix">
5480 <para lang="ru"> 5480 <para lang="ru">
5481 в рабочем процессе происходил segmentation fault, 5481 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
5482 если в директивах fastcgi_pass или proxy_pass 5482 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ fastcgi_pass п╦п╩п╦ proxy_pass
5483 использовались переменные и имя хоста должно было резолвиться; 5483 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п╦п╪я▐ я┘п╬я│я┌п╟ п╢п╬п╩п╤п╫п╬ п╠я▀п╩п╬ я─п╣п╥п╬п╩п╡п╦я┌я▄я│я▐;
5484 ошибка появилась в 0.7.29. 5484 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.29.
5485 </para> 5485 </para>
5486 <para lang="en"> 5486 <para lang="en">
5487 a segmentation fault occurred in worker process, 5487 a segmentation fault occurred in worker process,
5488 if variables were used in the "fastcgi_pass" or "proxy_pass" directives 5488 if variables were used in the "fastcgi_pass" or "proxy_pass" directives
5489 and host name must be resolved; 5489 and host name must be resolved;
5496 5496
5497 <changes ver="0.7.29" date="24.12.2008"> 5497 <changes ver="0.7.29" date="24.12.2008">
5498 5498
5499 <change type="bugfix"> 5499 <change type="bugfix">
5500 <para lang="ru"> 5500 <para lang="ru">
5501 директивы fastcgi_pass и proxy_pass не поддерживали переменные 5501 п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_pass п╦ proxy_pass п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╦ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
5502 при использовании unix domain сокетов. 5502 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ unix domain я│п╬п╨п╣я┌п╬п╡.
5503 </para> 5503 </para>
5504 <para lang="en"> 5504 <para lang="en">
5505 the "fastcgi_pass" and "proxy_pass" directives did not support 5505 the "fastcgi_pass" and "proxy_pass" directives did not support
5506 variables if unix domain sockets were used. 5506 variables if unix domain sockets were used.
5507 </para> 5507 </para>
5508 </change> 5508 </change>
5509 5509
5510 <change> 5510 <change>
5511 <para lang="ru"> 5511 <para lang="ru">
5512 Исправления в обработке подзапросов; 5512 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡;
5513 ошибки появились в 0.7.25. 5513 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.25.
5514 </para> 5514 </para>
5515 <para lang="en"> 5515 <para lang="en">
5516 Bugfixes in subrequest processing; 5516 Bugfixes in subrequest processing;
5517 the bugs had appeared in 0.7.25. 5517 the bugs had appeared in 0.7.25.
5518 </para> 5518 </para>
5519 </change> 5519 </change>
5520 5520
5521 <change type="bugfix"> 5521 <change type="bugfix">
5522 <para lang="ru"> 5522 <para lang="ru">
5523 ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/> 5523 п╬я┌п╡п╣я┌ "100 Continue" п╡я▀п╢п╟п╡п╟п╩я│я▐ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ п╡п╣я─я│п╦п╦ HTTP/1.0;<br/>
5524 Спасибо Максиму Дунину. 5524 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5525 </para> 5525 </para>
5526 <para lang="en"> 5526 <para lang="en">
5527 a "100 Continue" response was issued for HTTP/1.0 requests;<br/> 5527 a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
5528 Thanks to Maxim Dounin. 5528 Thanks to Maxim Dounin.
5529 </para> 5529 </para>
5530 </change> 5530 </change>
5531 5531
5532 <change type="bugfix"> 5532 <change type="bugfix">
5533 <para lang="ru"> 5533 <para lang="ru">
5534 в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin. 5534 п╡ п╡я▀п╢п╣п╩п╣п╫п╦п╦ п©п╟п╪я▐я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module п©п╬п╢ Cygwin.
5535 </para> 5535 </para>
5536 <para lang="en"> 5536 <para lang="en">
5537 in memory allocation in the ngx_http_gzip_filter_module on Cygwin. 5537 in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
5538 </para> 5538 </para>
5539 </change> 5539 </change>
5543 5543
5544 <changes ver="0.7.28" date="22.12.2008"> 5544 <changes ver="0.7.28" date="22.12.2008">
5545 5545
5546 <change type="change"> 5546 <change type="change">
5547 <para lang="ru"> 5547 <para lang="ru">
5548 в выделении памяти в модуле ngx_http_gzip_filter_module. 5548 п╡ п╡я▀п╢п╣п╩п╣п╫п╦п╦ п©п╟п╪я▐я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module.
5549 </para> 5549 </para>
5550 <para lang="en"> 5550 <para lang="en">
5551 in memory allocation in the ngx_http_gzip_filter_module. 5551 in memory allocation in the ngx_http_gzip_filter_module.
5552 </para> 5552 </para>
5553 </change> 5553 </change>
5554 5554
5555 <change type="change"> 5555 <change type="change">
5556 <para lang="ru"> 5556 <para lang="ru">
5557 значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k 5557 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╩я▐ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_buffers п╦п╥п╪п╣п╫п╣п╫я▀ я│ 4 4k/8k
5558 на 32 4k или 16 8k. 5558 п╫п╟ 32 4k п╦п╩п╦ 16 8k.
5559 </para> 5559 </para>
5560 <para lang="en"> 5560 <para lang="en">
5561 the default "gzip_buffers" directive values have been changed 5561 the default "gzip_buffers" directive values have been changed
5562 to 32 4k or 16 8k from 4 4k/8k. 5562 to 32 4k or 16 8k from 4 4k/8k.
5563 </para> 5563 </para>
5568 5568
5569 <changes ver="0.7.27" date="15.12.2008"> 5569 <changes ver="0.7.27" date="15.12.2008">
5570 5570
5571 <change type="feature"> 5571 <change type="feature">
5572 <para lang="ru"> 5572 <para lang="ru">
5573 директива try_files. 5573 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files.
5574 </para> 5574 </para>
5575 <para lang="en"> 5575 <para lang="en">
5576 the "try_files" directive. 5576 the "try_files" directive.
5577 </para> 5577 </para>
5578 </change> 5578 </change>
5579 5579
5580 <change type="feature"> 5580 <change type="feature">
5581 <para lang="ru"> 5581 <para lang="ru">
5582 директива fastcgi_pass поддерживает переменные. 5582 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
5583 </para> 5583 </para>
5584 <para lang="en"> 5584 <para lang="en">
5585 variables support in the "fastcgi_pass" directive. 5585 variables support in the "fastcgi_pass" directive.
5586 </para> 5586 </para>
5587 </change> 5587 </change>
5588 5588
5589 <change type="feature"> 5589 <change type="feature">
5590 <para lang="ru"> 5590 <para lang="ru">
5591 теперь директива geo может брать адрес из переменной.<br/> 5591 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ geo п╪п╬п╤п╣я┌ п╠я─п╟я┌я▄ п╟п╢я─п╣я│ п╦п╥ п©п╣я─п╣п╪п╣п╫п╫п╬п╧.<br/>
5592 Спасибо Андрею Нигматулину. 5592 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
5593 </para> 5593 </para>
5594 <para lang="en"> 5594 <para lang="en">
5595 now the $geo variable may get an address from a variable.<br/> 5595 now the $geo variable may get an address from a variable.<br/>
5596 Thanks to Andrei Nigmatulin. 5596 Thanks to Andrei Nigmatulin.
5597 </para> 5597 </para>
5598 </change> 5598 </change>
5599 5599
5600 <change type="feature"> 5600 <change type="feature">
5601 <para lang="ru"> 5601 <para lang="ru">
5602 теперь модификатор location'а можно указывать без пробела перед названием. 5602 я┌п╣п©п╣я─я▄ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ location'п╟ п╪п╬п╤п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ п╠п╣п╥ п©я─п╬п╠п╣п╩п╟ п©п╣я─п╣п╢ п╫п╟п╥п╡п╟п╫п╦п╣п╪.
5603 </para> 5603 </para>
5604 <para lang="en"> 5604 <para lang="en">
5605 now a location's modifier may be used without space before name. 5605 now a location's modifier may be used without space before name.
5606 </para> 5606 </para>
5607 </change> 5607 </change>
5608 5608
5609 <change type="feature"> 5609 <change type="feature">
5610 <para lang="ru"> 5610 <para lang="ru">
5611 переменная $upstream_response_length. 5611 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_length.
5612 </para> 5612 </para>
5613 <para lang="en"> 5613 <para lang="en">
5614 the $upstream_response_length variable. 5614 the $upstream_response_length variable.
5615 </para> 5615 </para>
5616 </change> 5616 </change>
5617 5617
5618 <change type="bugfix"> 5618 <change type="bugfix">
5619 <para lang="ru"> 5619 <para lang="ru">
5620 теперь директива add_header не добавляет пустое значение. 5620 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╣я┌ п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
5621 </para> 5621 </para>
5622 <para lang="en"> 5622 <para lang="en">
5623 now a "add_header" directive does not add an empty value. 5623 now a "add_header" directive does not add an empty value.
5624 </para> 5624 </para>
5625 </change> 5625 </change>
5626 5626
5627 <change type="bugfix"> 5627 <change type="bugfix">
5628 <para lang="ru"> 5628 <para lang="ru">
5629 при запросе файла нулевой длины nginx закрывал соединение, ничего не передав; 5629 п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀ nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣, п╫п╦я┤п╣пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡;
5630 ошибка появилась в 0.7.25. 5630 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.
5631 </para> 5631 </para>
5632 <para lang="en"> 5632 <para lang="en">
5633 if zero length static file was requested, then nginx just closed connection; 5633 if zero length static file was requested, then nginx just closed connection;
5634 the bug had appeared in 0.7.25. 5634 the bug had appeared in 0.7.25.
5635 </para> 5635 </para>
5636 </change> 5636 </change>
5637 5637
5638 <change type="bugfix"> 5638 <change type="bugfix">
5639 <para lang="ru"> 5639 <para lang="ru">
5640 метод MOVE не мог перемещать файл в несуществующий каталог. 5640 п╪п╣я┌п╬п╢ MOVE п╫п╣ п╪п╬пЁ п©п╣я─п╣п╪п╣я┴п╟я┌я▄ я└п╟п╧п╩ п╡ п╫п╣я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦п╧ п╨п╟я┌п╟п╩п╬пЁ.
5641 </para> 5641 </para>
5642 <para lang="en"> 5642 <para lang="en">
5643 a MOVE method could not move file in non-existent directory. 5643 a MOVE method could not move file in non-existent directory.
5644 </para> 5644 </para>
5645 </change> 5645 </change>
5646 5646
5647 <change type="bugfix"> 5647 <change type="bugfix">
5648 <para lang="ru"> 5648 <para lang="ru">
5649 если в сервере не был описан ни один именованный location, 5649 п╣я│п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩ п╬п©п╦я│п╟п╫ п╫п╦ п╬п╢п╦п╫ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location,
5650 но такой location использовался в директиве error_page, 5650 п╫п╬ я┌п╟п╨п╬п╧ location п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ error_page,
5651 то в рабочем процессе происходил segmentation fault.<br/> 5651 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
5652 Спасибо Сергею Боченкову. 5652 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
5653 </para> 5653 </para>
5654 <para lang="en"> 5654 <para lang="en">
5655 a segmentation fault occurred in worker process, 5655 a segmentation fault occurred in worker process,
5656 if no one named location was defined in server, 5656 if no one named location was defined in server,
5657 but some one was used in an error_page directive.<br/> 5657 but some one was used in an error_page directive.<br/>
5664 5664
5665 <changes ver="0.7.26" date="08.12.2008"> 5665 <changes ver="0.7.26" date="08.12.2008">
5666 5666
5667 <change type="bugfix"> 5667 <change type="bugfix">
5668 <para lang="ru"> 5668 <para lang="ru">
5669 в обработке подзапросов; 5669 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡;
5670 ошибка появилась в 0.7.25. 5670 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.
5671 </para> 5671 </para>
5672 <para lang="en"> 5672 <para lang="en">
5673 in subrequest processing; 5673 in subrequest processing;
5674 the bug had appeared in 0.7.25. 5674 the bug had appeared in 0.7.25.
5675 </para> 5675 </para>
5680 5680
5681 <changes ver="0.7.25" date="08.12.2008"> 5681 <changes ver="0.7.25" date="08.12.2008">
5682 5682
5683 <change type="change"> 5683 <change type="change">
5684 <para lang="ru"> 5684 <para lang="ru">
5685 в обработке подзапросов. 5685 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
5686 </para> 5686 </para>
5687 <para lang="en"> 5687 <para lang="en">
5688 in subrequest processing. 5688 in subrequest processing.
5689 </para> 5689 </para>
5690 </change> 5690 </change>
5691 5691
5692 <change type="change"> 5692 <change type="change">
5693 <para lang="ru"> 5693 <para lang="ru">
5694 теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса. 5694 я┌п╣п©п╣я─я▄ я─п╟п╥я─п╣я┬п╟я▌я┌я│я▐ POST'я▀ п╠п╣п╥ я│я┌я─п╬п╨п╦ "Content-Length" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
5695 </para> 5695 </para>
5696 <para lang="en"> 5696 <para lang="en">
5697 now POSTs without "Content-Length" header line are allowed. 5697 now POSTs without "Content-Length" header line are allowed.
5698 </para> 5698 </para>
5699 </change> 5699 </change>
5700 5700
5701 <change type="bugfix"> 5701 <change type="bugfix">
5702 <para lang="ru"> 5702 <para lang="ru">
5703 теперь директивы limit_req и limit_conn указывают причину запрета запроса. 5703 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ limit_req п╦ limit_conn я┐п╨п╟п╥я▀п╡п╟я▌я┌ п©я─п╦я┤п╦п╫я┐ п╥п╟п©я─п╣я┌п╟ п╥п╟п©я─п╬я│п╟.
5704 </para> 5704 </para>
5705 <para lang="en"> 5705 <para lang="en">
5706 now the "limit_req" and "limit_conn" directives log a prohibition reason. 5706 now the "limit_req" and "limit_conn" directives log a prohibition reason.
5707 </para> 5707 </para>
5708 </change> 5708 </change>
5709 5709
5710 <change type="bugfix"> 5710 <change type="bugfix">
5711 <para lang="ru"> 5711 <para lang="ru">
5712 в параметре delete директивы geo. 5712 п╡ п©п╟я─п╟п╪п╣я┌я─п╣ delete п╢п╦я─п╣п╨я┌п╦п╡я▀ geo.
5713 </para> 5713 </para>
5714 <para lang="en"> 5714 <para lang="en">
5715 in the "delete" parameter of the "geo" directive. 5715 in the "delete" parameter of the "geo" directive.
5716 </para> 5716 </para>
5717 </change> 5717 </change>
5721 5721
5722 <changes ver="0.7.24" date="01.12.2008"> 5722 <changes ver="0.7.24" date="01.12.2008">
5723 5723
5724 <change type="feature"> 5724 <change type="feature">
5725 <para lang="ru"> 5725 <para lang="ru">
5726 директива if_modified_since. 5726 п╢п╦я─п╣п╨я┌п╦п╡п╟ if_modified_since.
5727 </para> 5727 </para>
5728 <para lang="en"> 5728 <para lang="en">
5729 the "if_modified_since" directive. 5729 the "if_modified_since" directive.
5730 </para> 5730 </para>
5731 </change> 5731 </change>
5732 5732
5733 <change type="bugfix"> 5733 <change type="bugfix">
5734 <para lang="ru"> 5734 <para lang="ru">
5735 nginx не обрабатывал ответ FastCGI-сервера, 5735 nginx п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╬я┌п╡п╣я┌ FastCGI-я│п╣я─п╡п╣я─п╟,
5736 если перед ответом сервер передавал много сообщений в stderr. 5736 п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п╪п╫п╬пЁп╬ я│п╬п╬п╠я┴п╣п╫п╦п╧ п╡ stderr.
5737 </para> 5737 </para>
5738 <para lang="en"> 5738 <para lang="en">
5739 nginx did not process a FastCGI server response, 5739 nginx did not process a FastCGI server response,
5740 if the server send too many messages to stderr before response. 5740 if the server send too many messages to stderr before response.
5741 </para> 5741 </para>
5742 </change> 5742 </change>
5743 5743
5744 <change type="bugfix"> 5744 <change type="bugfix">
5745 <para lang="ru"> 5745 <para lang="ru">
5746 переменные "$cookie_..." не работали в SSI and в перловом модуле. 5746 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$cookie_..." п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ SSI and п╡ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩п╣.
5747 </para> 5747 </para>
5748 <para lang="en"> 5748 <para lang="en">
5749 the "$cookie_..." variables did not work in the SSI and the perl module. 5749 the "$cookie_..." variables did not work in the SSI and the perl module.
5750 </para> 5750 </para>
5751 </change> 5751 </change>
5755 5755
5756 <changes ver="0.7.23" date="27.11.2008"> 5756 <changes ver="0.7.23" date="27.11.2008">
5757 5757
5758 <change type="feature"> 5758 <change type="feature">
5759 <para lang="ru"> 5759 <para lang="ru">
5760 параметры delete и ranges в директиве geo. 5760 п©п╟я─п╟п╪п╣я┌я─я▀ delete п╦ ranges п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo.
5761 </para> 5761 </para>
5762 <para lang="en"> 5762 <para lang="en">
5763 the "delete" and "ranges" parameters in the "geo" directive. 5763 the "delete" and "ranges" parameters in the "geo" directive.
5764 </para> 5764 </para>
5765 </change> 5765 </change>
5766 5766
5767 <change type="feature"> 5767 <change type="feature">
5768 <para lang="ru"> 5768 <para lang="ru">
5769 ускорение загрузки geo-базы с большим числом значений. 5769 я┐я│п╨п╬я─п╣п╫п╦п╣ п╥п╟пЁя─я┐п╥п╨п╦ geo-п╠п╟п╥я▀ я│ п╠п╬п╩я▄я┬п╦п╪ я┤п╦я│п╩п╬п╪ п╥п╫п╟я┤п╣п╫п╦п╧.
5770 </para> 5770 </para>
5771 <para lang="en"> 5771 <para lang="en">
5772 speeding up loading of geo base with large number of values. 5772 speeding up loading of geo base with large number of values.
5773 </para> 5773 </para>
5774 </change> 5774 </change>
5775 5775
5776 <change type="feature"> 5776 <change type="feature">
5777 <para lang="ru"> 5777 <para lang="ru">
5778 уменьшение памяти, необходимой для загрузки geo-базы. 5778 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п©п╟п╪я▐я┌п╦, п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬п╧ п╢п╩я▐ п╥п╟пЁя─я┐п╥п╨п╦ geo-п╠п╟п╥я▀.
5779 </para> 5779 </para>
5780 <para lang="en"> 5780 <para lang="en">
5781 decrease of memory required for geo base load. 5781 decrease of memory required for geo base load.
5782 </para> 5782 </para>
5783 </change> 5783 </change>
5787 5787
5788 <changes ver="0.7.22" date="20.11.2008"> 5788 <changes ver="0.7.22" date="20.11.2008">
5789 5789
5790 <change type="feature"> 5790 <change type="feature">
5791 <para lang="ru"> 5791 <para lang="ru">
5792 параметр none в директиве smtp_auth.<br/> 5792 п©п╟я─п╟п╪п╣я┌я─ none п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ smtp_auth.<br/>
5793 Спасибо Максиму Дунину. 5793 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5794 </para> 5794 </para>
5795 <para lang="en"> 5795 <para lang="en">
5796 the "none" parameter in the "smtp_auth" directive.<br/> 5796 the "none" parameter in the "smtp_auth" directive.<br/>
5797 Thanks to Maxim Dounin. 5797 Thanks to Maxim Dounin.
5798 </para> 5798 </para>
5799 </change> 5799 </change>
5800 5800
5801 <change type="feature"> 5801 <change type="feature">
5802 <para lang="ru"> 5802 <para lang="ru">
5803 переменные "$cookie_...". 5803 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$cookie_...".
5804 </para> 5804 </para>
5805 <para lang="en"> 5805 <para lang="en">
5806 the "$cookie_..." variables. 5806 the "$cookie_..." variables.
5807 </para> 5807 </para>
5808 </change> 5808 </change>
5809 5809
5810 <change type="bugfix"> 5810 <change type="bugfix">
5811 <para lang="ru"> 5811 <para lang="ru">
5812 директива directio не работала с файловой системой XFS. 5812 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪п╬п╧ XFS.
5813 </para> 5813 </para>
5814 <para lang="en"> 5814 <para lang="en">
5815 the "directio" directive did not work in XFS filesystem. 5815 the "directio" directive did not work in XFS filesystem.
5816 </para> 5816 </para>
5817 </change> 5817 </change>
5818 5818
5819 <change type="bugfix"> 5819 <change type="bugfix">
5820 <para lang="ru"> 5820 <para lang="ru">
5821 resolver не понимал большие DNS-ответы.<br/> 5821 resolver п╫п╣ п©п╬п╫п╦п╪п╟п╩ п╠п╬п╩я▄я┬п╦п╣ DNS-п╬я┌п╡п╣я┌я▀.<br/>
5822 Спасибо Zyb. 5822 п║п©п╟я│п╦п╠п╬ Zyb.
5823 </para> 5823 </para>
5824 <para lang="en"> 5824 <para lang="en">
5825 the resolver did not understand big DNS responses.<br/> 5825 the resolver did not understand big DNS responses.<br/>
5826 Thanks to Zyb. 5826 Thanks to Zyb.
5827 </para> 5827 </para>
5832 5832
5833 <changes ver="0.7.21" date="11.11.2008"> 5833 <changes ver="0.7.21" date="11.11.2008">
5834 5834
5835 <change> 5835 <change>
5836 <para lang="ru"> 5836 <para lang="ru">
5837 Изменения в модуле ngx_http_limit_req_module. 5837 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_limit_req_module.
5838 </para> 5838 </para>
5839 <para lang="en"> 5839 <para lang="en">
5840 Changes in the ngx_http_limit_req_module. 5840 Changes in the ngx_http_limit_req_module.
5841 </para> 5841 </para>
5842 </change> 5842 </change>
5843 5843
5844 <change type="feature"> 5844 <change type="feature">
5845 <para lang="ru"> 5845 <para lang="ru">
5846 поддержка EXSLT в модуле ngx_http_xslt_module.<br/> 5846 п©п╬п╢п╢п╣я─п╤п╨п╟ EXSLT п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_module.<br/>
5847 Спасибо Денису Латыпову. 5847 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
5848 </para> 5848 </para>
5849 <para lang="en"> 5849 <para lang="en">
5850 the EXSLT support in the ngx_http_xslt_module.<br/> 5850 the EXSLT support in the ngx_http_xslt_module.<br/>
5851 Thanks to Denis F. Latypoff. 5851 Thanks to Denis F. Latypoff.
5852 </para> 5852 </para>
5853 </change> 5853 </change>
5854 5854
5855 <change type="workaround"> 5855 <change type="workaround">
5856 <para lang="ru"> 5856 <para lang="ru">
5857 совместимость с glibc 2.3.<br/> 5857 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ glibc 2.3.<br/>
5858 Спасибо Eric Benson и Максиму Дунину. 5858 п║п©п╟я│п╦п╠п╬ Eric Benson п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5859 </para> 5859 </para>
5860 <para lang="en"> 5860 <para lang="en">
5861 compatibility with glibc 2.3.<br/> 5861 compatibility with glibc 2.3.<br/>
5862 Thanks to Eric Benson and Maxim Dounin. 5862 Thanks to Eric Benson and Maxim Dounin.
5863 </para> 5863 </para>
5864 </change> 5864 </change>
5865 5865
5866 <change type="bugfix"> 5866 <change type="bugfix">
5867 <para lang="ru"> 5867 <para lang="ru">
5868 nginx не запускался на MacOSX 10.4 и более ранних; 5868 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ MacOSX 10.4 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
5869 ошибка появилась в 0.7.6. 5869 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.6.
5870 </para> 5870 </para>
5871 <para lang="en"> 5871 <para lang="en">
5872 nginx could not run on MacOSX 10.4 and earlier; 5872 nginx could not run on MacOSX 10.4 and earlier;
5873 the bug had appeared in 0.7.6. 5873 the bug had appeared in 0.7.6.
5874 </para> 5874 </para>
5879 5879
5880 <changes ver="0.7.20" date="10.11.2008"> 5880 <changes ver="0.7.20" date="10.11.2008">
5881 5881
5882 <change> 5882 <change>
5883 <para lang="ru"> 5883 <para lang="ru">
5884 Изменения в модуле ngx_http_gzip_filter_module. 5884 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module.
5885 </para> 5885 </para>
5886 <para lang="en"> 5886 <para lang="en">
5887 Changes in the ngx_http_gzip_filter_module. 5887 Changes in the ngx_http_gzip_filter_module.
5888 </para> 5888 </para>
5889 </change> 5889 </change>
5890 5890
5891 <change type="feature"> 5891 <change type="feature">
5892 <para lang="ru"> 5892 <para lang="ru">
5893 модуль ngx_http_limit_req_module. 5893 п╪п╬п╢я┐п╩я▄ ngx_http_limit_req_module.
5894 </para> 5894 </para>
5895 <para lang="en"> 5895 <para lang="en">
5896 the ngx_http_limit_req_module. 5896 the ngx_http_limit_req_module.
5897 </para> 5897 </para>
5898 </change> 5898 </change>
5899 5899
5900 <change type="bugfix"> 5900 <change type="bugfix">
5901 <para lang="ru"> 5901 <para lang="ru">
5902 на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS; 5902 п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘ sparc п╦ ppc я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╪п╬пЁп╩п╦ п╡я▀я┘п╬п╢п╦я┌я▄ п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGBUS;
5903 ошибка появилась в 0.7.3.<br/> 5903 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.3.<br/>
5904 Спасибо Максиму Дунину. 5904 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5905 </para> 5905 </para>
5906 <para lang="en"> 5906 <para lang="en">
5907 worker processes might exit on a SIGBUS signal on sparc and ppc platforms; 5907 worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
5908 the bug had appeared in 0.7.3.<br/> 5908 the bug had appeared in 0.7.3.<br/>
5909 Thanks to Maxim Dounin. 5909 Thanks to Maxim Dounin.
5910 </para> 5910 </para>
5911 </change> 5911 </change>
5912 5912
5913 <change type="bugfix"> 5913 <change type="bugfix">
5914 <para lang="ru"> 5914 <para lang="ru">
5915 директивы вида "proxy_pass http://host/some:uri" не работали; 5915 п╢п╦я─п╣п╨я┌п╦п╡я▀ п╡п╦п╢п╟ "proxy_pass http://host/some:uri" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
5916 ошибка появилась в 0.7.12. 5916 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.12.
5917 </para> 5917 </para>
5918 <para lang="en"> 5918 <para lang="en">
5919 the "proxy_pass http://host/some:uri" directives did not work; 5919 the "proxy_pass http://host/some:uri" directives did not work;
5920 the bug had appeared in 0.7.12. 5920 the bug had appeared in 0.7.12.
5921 </para> 5921 </para>
5922 </change> 5922 </change>
5923 5923
5924 <change type="bugfix"> 5924 <change type="bugfix">
5925 <para lang="ru"> 5925 <para lang="ru">
5926 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry". 5926 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry".
5927 </para> 5927 </para>
5928 <para lang="en"> 5928 <para lang="en">
5929 in HTTPS mode requests might fail with the "bad write retry" error. 5929 in HTTPS mode requests might fail with the "bad write retry" error.
5930 </para> 5930 </para>
5931 </change> 5931 </change>
5932 5932
5933 <change type="bugfix"> 5933 <change type="bugfix">
5934 <para lang="ru"> 5934 <para lang="ru">
5935 модуль ngx_http_secure_link_module не работал внутри location'ов 5935 п╪п╬п╢я┐п╩я▄ ngx_http_secure_link_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╡п╫я┐я┌я─п╦ location'п╬п╡
5936 с именами меньше 3 символов. 5936 я│ п╦п╪п╣п╫п╟п╪п╦ п╪п╣п╫я▄я┬п╣ 3 я│п╦п╪п╡п╬п╩п╬п╡.
5937 </para> 5937 </para>
5938 <para lang="en"> 5938 <para lang="en">
5939 the ngx_http_secure_link_module did not work inside locations, 5939 the ngx_http_secure_link_module did not work inside locations,
5940 whose names are less than 3 characters. 5940 whose names are less than 3 characters.
5941 </para> 5941 </para>
5942 </change> 5942 </change>
5943 5943
5944 <change type="bugfix"> 5944 <change type="bugfix">
5945 <para lang="ru"> 5945 <para lang="ru">
5946 переменная $server_addr могла не иметь значения. 5946 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $server_addr п╪п╬пЁп╩п╟ п╫п╣ п╦п╪п╣я┌я▄ п╥п╫п╟я┤п╣п╫п╦я▐.
5947 </para> 5947 </para>
5948 <para lang="en"> 5948 <para lang="en">
5949 $server_addr variable might have no value. 5949 $server_addr variable might have no value.
5950 </para> 5950 </para>
5951 </change> 5951 </change>
5955 5955
5956 <changes ver="0.7.19" date="13.10.2008"> 5956 <changes ver="0.7.19" date="13.10.2008">
5957 5957
5958 <change type="bugfix"> 5958 <change type="bugfix">
5959 <para lang="ru"> 5959 <para lang="ru">
5960 обновление номера версии. 5960 п╬п╠п╫п╬п╡п╩п╣п╫п╦п╣ п╫п╬п╪п╣я─п╟ п╡п╣я─я│п╦п╦.
5961 </para> 5961 </para>
5962 <para lang="en"> 5962 <para lang="en">
5963 version number update. 5963 version number update.
5964 </para> 5964 </para>
5965 </change> 5965 </change>
5969 5969
5970 <changes ver="0.7.18" date="13.10.2008"> 5970 <changes ver="0.7.18" date="13.10.2008">
5971 5971
5972 <change type="change"> 5972 <change type="change">
5973 <para lang="ru"> 5973 <para lang="ru">
5974 директива underscores_in_headers; 5974 п╢п╦я─п╣п╨я┌п╦п╡п╟ underscores_in_headers;
5975 теперь nginx по умолчанию не разрешает подчёркивания в именах строк 5975 я┌п╣п©п╣я─я▄ nginx п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╦п╪п╣п╫п╟я┘ я│я┌я─п╬п╨
5976 в заголовке запроса клиента. 5976 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟.
5977 </para> 5977 </para>
5978 <para lang="en"> 5978 <para lang="en">
5979 the "underscores_in_headers" directive; 5979 the "underscores_in_headers" directive;
5980 now nginx does not allows underscores in a client request header line names. 5980 now nginx does not allows underscores in a client request header line names.
5981 </para> 5981 </para>
5982 </change> 5982 </change>
5983 5983
5984 <change type="feature"> 5984 <change type="feature">
5985 <para lang="ru"> 5985 <para lang="ru">
5986 модуль ngx_http_secure_link_module. 5986 п╪п╬п╢я┐п╩я▄ ngx_http_secure_link_module.
5987 </para> 5987 </para>
5988 <para lang="en"> 5988 <para lang="en">
5989 the ngx_http_secure_link_module. 5989 the ngx_http_secure_link_module.
5990 </para> 5990 </para>
5991 </change> 5991 </change>
5992 5992
5993 <change type="feature"> 5993 <change type="feature">
5994 <para lang="ru"> 5994 <para lang="ru">
5995 директива real_ip_header поддерживает любой заголовок. 5995 п╢п╦я─п╣п╨я┌п╦п╡п╟ real_ip_header п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╩я▌п╠п╬п╧ п╥п╟пЁп╬п╩п╬п╡п╬п╨.
5996 </para> 5996 </para>
5997 <para lang="en"> 5997 <para lang="en">
5998 the "real_ip_header" directive supports any header. 5998 the "real_ip_header" directive supports any header.
5999 </para> 5999 </para>
6000 </change> 6000 </change>
6001 6001
6002 <change type="feature"> 6002 <change type="feature">
6003 <para lang="ru"> 6003 <para lang="ru">
6004 директива log_subrequest. 6004 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_subrequest.
6005 </para> 6005 </para>
6006 <para lang="en"> 6006 <para lang="en">
6007 the "log_subrequest" directive. 6007 the "log_subrequest" directive.
6008 </para> 6008 </para>
6009 </change> 6009 </change>
6010 6010
6011 <change type="feature"> 6011 <change type="feature">
6012 <para lang="ru"> 6012 <para lang="ru">
6013 переменная $realpath_root. 6013 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $realpath_root.
6014 </para> 6014 </para>
6015 <para lang="en"> 6015 <para lang="en">
6016 the $realpath_root variable. 6016 the $realpath_root variable.
6017 </para> 6017 </para>
6018 </change> 6018 </change>
6019 6019
6020 <change type="feature"> 6020 <change type="feature">
6021 <para lang="ru"> 6021 <para lang="ru">
6022 параметры http_502 и http_504 в директиве proxy_next_upstream. 6022 п©п╟я─п╟п╪п╣я┌я─я▀ http_502 п╦ http_504 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_next_upstream.
6023 </para> 6023 </para>
6024 <para lang="en"> 6024 <para lang="en">
6025 the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. 6025 the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
6026 </para> 6026 </para>
6027 </change> 6027 </change>
6028 6028
6029 <change type="bugfix"> 6029 <change type="bugfix">
6030 <para lang="ru"> 6030 <para lang="ru">
6031 параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream 6031 п©п╟я─п╟п╪п╣я┌я─ http_503 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream
6032 не работал. 6032 п╫п╣ я─п╟п╠п╬я┌п╟п╩.
6033 </para> 6033 </para>
6034 <para lang="en"> 6034 <para lang="en">
6035 the "http_503" parameter of the "proxy_next_upstream" or 6035 the "http_503" parameter of the "proxy_next_upstream" or
6036 "fastcgi_next_upstream" directives did not work. 6036 "fastcgi_next_upstream" directives did not work.
6037 </para> 6037 </para>
6038 </change> 6038 </change>
6039 6039
6040 <change type="bugfix"> 6040 <change type="bugfix">
6041 <para lang="ru"> 6041 <para lang="ru">
6042 nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD. 6042 nginx п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ я│я┌я─п╬п╨я┐ "Transfer-Encoding: chunked" п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ HEAD.
6043 </para> 6043 </para>
6044 <para lang="en"> 6044 <para lang="en">
6045 nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. 6045 nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
6046 </para> 6046 </para>
6047 </change> 6047 </change>
6048 6048
6049 <change type="bugfix"> 6049 <change type="bugfix">
6050 <para lang="ru"> 6050 <para lang="ru">
6051 теперь accept-лимит зависит от числа worker_connections. 6051 я┌п╣п©п╣я─я▄ accept-п╩п╦п╪п╦я┌ п╥п╟п╡п╦я│п╦я┌ п╬я┌ я┤п╦я│п╩п╟ worker_connections.
6052 </para> 6052 </para>
6053 <para lang="en"> 6053 <para lang="en">
6054 now accept threshold depends on worker_connections. 6054 now accept threshold depends on worker_connections.
6055 </para> 6055 </para>
6056 </change> 6056 </change>
6060 6060
6061 <changes ver="0.7.17" date="15.09.2008"> 6061 <changes ver="0.7.17" date="15.09.2008">
6062 6062
6063 <change type="feature"> 6063 <change type="feature">
6064 <para lang="ru"> 6064 <para lang="ru">
6065 директива directio теперь работает на Linux. 6065 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio я┌п╣п©п╣я─я▄ я─п╟п╠п╬я┌п╟п╣я┌ п╫п╟ Linux.
6066 </para> 6066 </para>
6067 <para lang="en"> 6067 <para lang="en">
6068 now the "directio" directive works on Linux. 6068 now the "directio" directive works on Linux.
6069 </para> 6069 </para>
6070 </change> 6070 </change>
6071 6071
6072 <change type="feature"> 6072 <change type="feature">
6073 <para lang="ru"> 6073 <para lang="ru">
6074 переменная $pid. 6074 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $pid.
6075 </para> 6075 </para>
6076 <para lang="en"> 6076 <para lang="en">
6077 the $pid variable. 6077 the $pid variable.
6078 </para> 6078 </para>
6079 </change> 6079 </change>
6080 6080
6081 <change type="bugfix"> 6081 <change type="bugfix">
6082 <para lang="ru"> 6082 <para lang="ru">
6083 оптимизация directio, появившаяся в 0.7.15, не работала при использовании 6083 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ directio, п©п╬я▐п╡п╦п╡я┬п╟я▐я│я▐ п╡ 0.7.15, п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
6084 open_file_cache. 6084 open_file_cache.
6085 </para> 6085 </para>
6086 <para lang="en"> 6086 <para lang="en">
6087 the "directio" optimization that had appeared in 0.7.15 did not work with 6087 the "directio" optimization that had appeared in 0.7.15 did not work with
6088 open_file_cache. 6088 open_file_cache.
6089 </para> 6089 </para>
6090 </change> 6090 </change>
6091 6091
6092 <change type="bugfix"> 6092 <change type="bugfix">
6093 <para lang="ru"> 6093 <para lang="ru">
6094 access_log с переменными не работал на Linux; 6094 access_log я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux;
6095 ошибка появилась в 0.7.7. 6095 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.
6096 </para> 6096 </para>
6097 <para lang="en"> 6097 <para lang="en">
6098 the "access_log" with variables did not work on Linux; 6098 the "access_log" with variables did not work on Linux;
6099 the bug had appeared in 0.7.7. 6099 the bug had appeared in 0.7.7.
6100 </para> 6100 </para>
6101 </change> 6101 </change>
6102 6102
6103 <change type="bugfix"> 6103 <change type="bugfix">
6104 <para lang="ru"> 6104 <para lang="ru">
6105 модуль ngx_http_charset_module не понимал название кодировки в кавычках, 6105 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п╫п╣ п©п╬п╫п╦п╪п╟п╩ п╫п╟п╥п╡п╟п╫п╦п╣ п╨п╬п╢п╦я─п╬п╡п╨п╦ п╡ п╨п╟п╡я▀я┤п╨п╟я┘,
6106 полученное от бэкенда. 6106 п©п╬п╩я┐я┤п╣п╫п╫п╬п╣ п╬я┌ п╠я█п╨п╣п╫п╢п╟.
6107 </para> 6107 </para>
6108 <para lang="en"> 6108 <para lang="en">
6109 the ngx_http_charset_module did not understand quoted charset name 6109 the ngx_http_charset_module did not understand quoted charset name
6110 received from backend. 6110 received from backend.
6111 </para> 6111 </para>
6116 6116
6117 <changes ver="0.7.16" date="08.09.2008"> 6117 <changes ver="0.7.16" date="08.09.2008">
6118 6118
6119 <change type="bugfix"> 6119 <change type="bugfix">
6120 <para lang="ru"> 6120 <para lang="ru">
6121 nginx не собирался на 64-битных платформах; 6121 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
6122 ошибка появилась в 0.7.15. 6122 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.
6123 </para> 6123 </para>
6124 <para lang="en"> 6124 <para lang="en">
6125 nginx could not be built on 64-bit platforms; 6125 nginx could not be built on 64-bit platforms;
6126 the bug had appeared in 0.7.15. 6126 the bug had appeared in 0.7.15.
6127 </para> 6127 </para>
6132 6132
6133 <changes ver="0.7.15" date="08.09.2008"> 6133 <changes ver="0.7.15" date="08.09.2008">
6134 6134
6135 <change type="feature"> 6135 <change type="feature">
6136 <para lang="ru"> 6136 <para lang="ru">
6137 модуль ngx_http_random_index_module. 6137 п╪п╬п╢я┐п╩я▄ ngx_http_random_index_module.
6138 </para> 6138 </para>
6139 <para lang="en"> 6139 <para lang="en">
6140 the ngx_http_random_index_module. 6140 the ngx_http_random_index_module.
6141 </para> 6141 </para>
6142 </change> 6142 </change>
6143 6143
6144 <change type="feature"> 6144 <change type="feature">
6145 <para lang="ru"> 6145 <para lang="ru">
6146 директива directio оптимизирована для запросов файлов, начинающихся 6146 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п╬п©я┌п╦п╪п╦п╥п╦я─п╬п╡п╟п╫п╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ я└п╟п╧п╩п╬п╡, п╫п╟я┤п╦п╫п╟я▌я┴п╦я┘я│я▐
6147 с произвольной позиции. 6147 я│ п©я─п╬п╦п╥п╡п╬п╩я▄п╫п╬п╧ п©п╬п╥п╦я├п╦п╦.
6148 </para> 6148 </para>
6149 <para lang="en"> 6149 <para lang="en">
6150 the "directio" directive has been optimized for file requests starting 6150 the "directio" directive has been optimized for file requests starting
6151 from arbitrary position. 6151 from arbitrary position.
6152 </para> 6152 </para>
6153 </change> 6153 </change>
6154 6154
6155 <change type="feature"> 6155 <change type="feature">
6156 <para lang="ru"> 6156 <para lang="ru">
6157 директива directio при необходимости запрещает использование sendfile. 6157 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п©я─п╦ п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬я│я┌п╦ п╥п╟п©я─п╣я┴п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ sendfile.
6158 </para> 6158 </para>
6159 <para lang="en"> 6159 <para lang="en">
6160 the "directio" directive turns off sendfile if it is necessary. 6160 the "directio" directive turns off sendfile if it is necessary.
6161 </para> 6161 </para>
6162 </change> 6162 </change>
6163 6163
6164 <change type="feature"> 6164 <change type="feature">
6165 <para lang="ru"> 6165 <para lang="ru">
6166 теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента. 6166 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╦п╪п╣п╫п╟я┘ я│я┌я─п╬п╨ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟.
6167 </para> 6167 </para>
6168 <para lang="en"> 6168 <para lang="en">
6169 now nginx allows underscores in a client request header line names. 6169 now nginx allows underscores in a client request header line names.
6170 </para> 6170 </para>
6171 </change> 6171 </change>
6175 6175
6176 <changes ver="0.7.14" date="01.09.2008"> 6176 <changes ver="0.7.14" date="01.09.2008">
6177 6177
6178 <change type="change"> 6178 <change type="change">
6179 <para lang="ru"> 6179 <para lang="ru">
6180 теперь директивы ssl_certificate и ssl_certificate_key не имеют 6180 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_certificate п╦ ssl_certificate_key п╫п╣ п╦п╪п╣я▌я┌
6181 значений по умолчанию. 6181 п╥п╫п╟я┤п╣п╫п╦п╧ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
6182 </para> 6182 </para>
6183 <para lang="en"> 6183 <para lang="en">
6184 now the ssl_certificate and ssl_certificate_key directives have no 6184 now the ssl_certificate and ssl_certificate_key directives have no
6185 default values. 6185 default values.
6186 </para> 6186 </para>
6187 </change> 6187 </change>
6188 6188
6189 <change type="feature"> 6189 <change type="feature">
6190 <para lang="ru"> 6190 <para lang="ru">
6191 директива listen поддерживает параметр ssl. 6191 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ ssl.
6192 </para> 6192 </para>
6193 <para lang="en"> 6193 <para lang="en">
6194 the "listen" directive supports the "ssl" parameter. 6194 the "listen" directive supports the "ssl" parameter.
6195 </para> 6195 </para>
6196 </change> 6196 </change>
6197 6197
6198 <change type="feature"> 6198 <change type="feature">
6199 <para lang="ru"> 6199 <para lang="ru">
6200 теперь при переконфигурации nginx учитывает изменение временной зоны 6200 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ nginx я┐я┤п╦я┌я▀п╡п╟п╣я┌ п╦п╥п╪п╣п╫п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╫п╬п╧ п╥п╬п╫я▀
6201 на FreeBSD и Linux. 6201 п╫п╟ FreeBSD п╦ Linux.
6202 </para> 6202 </para>
6203 <para lang="en"> 6203 <para lang="en">
6204 now nginx takes into account a time zone change while reconfiguration 6204 now nginx takes into account a time zone change while reconfiguration
6205 on FreeBSD and Linux. 6205 on FreeBSD and Linux.
6206 </para> 6206 </para>
6207 </change> 6207 </change>
6208 6208
6209 <change type="bugfix"> 6209 <change type="bugfix">
6210 <para lang="ru"> 6210 <para lang="ru">
6211 параметры директивы listen, такие как backlog, rcvbuf и прочие, 6211 п©п╟я─п╟п╪п╣я┌я─я▀ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen, я┌п╟п╨п╦п╣ п╨п╟п╨ backlog, rcvbuf п╦ п©я─п╬я┤п╦п╣,
6212 не устанавливались, если сервером по умолчанию был не первый сервер. 6212 п╫п╣ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╦я│я▄, п╣я│п╩п╦ я│п╣я─п╡п╣я─п╬п╪ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╠я▀п╩ п╫п╣ п©п╣я─п╡я▀п╧ я│п╣я─п╡п╣я─.
6213 </para> 6213 </para>
6214 <para lang="en"> 6214 <para lang="en">
6215 the "listen" directive parameters such as "backlog", "rcvbuf", etc. 6215 the "listen" directive parameters such as "backlog", "rcvbuf", etc.
6216 were not set, if a default server was not the first one. 6216 were not set, if a default server was not the first one.
6217 </para> 6217 </para>
6218 </change> 6218 </change>
6219 6219
6220 <change type="bugfix"> 6220 <change type="bugfix">
6221 <para lang="ru"> 6221 <para lang="ru">
6222 при использовании в качестве аргументов части URI, выделенного с помощью 6222 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ я┤п╟я│я┌п╦ URI, п╡я▀п╢п╣п╩п╣п╫п╫п╬пЁп╬ я│ п©п╬п╪п╬я┴я▄я▌
6223 директивы rewrite, эти аргументы не экранировались. 6223 п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite, я█я┌п╦ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╦я│я▄.
6224 </para> 6224 </para>
6225 <para lang="en"> 6225 <para lang="en">
6226 if URI part captured by a "rewrite" directive was used as a query string, 6226 if URI part captured by a "rewrite" directive was used as a query string,
6227 then the query string was not escaped. 6227 then the query string was not escaped.
6228 </para> 6228 </para>
6229 </change> 6229 </change>
6230 6230
6231 <change type="bugfix"> 6231 <change type="bugfix">
6232 <para lang="ru"> 6232 <para lang="ru">
6233 улучшения тестирования правильности конфигурационного файла. 6233 я┐п╩я┐я┤я┬п╣п╫п╦я▐ я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦я▐ п©я─п╟п╡п╦п╩я▄п╫п╬я│я┌п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟.
6234 </para> 6234 </para>
6235 <para lang="en"> 6235 <para lang="en">
6236 configuration file validity test improvements. 6236 configuration file validity test improvements.
6237 </para> 6237 </para>
6238 </change> 6238 </change>
6243 6243
6244 <changes ver="0.7.13" date="26.08.2008"> 6244 <changes ver="0.7.13" date="26.08.2008">
6245 6245
6246 <change type="bugfix"> 6246 <change type="bugfix">
6247 <para lang="ru"> 6247 <para lang="ru">
6248 nginx не собирался на Linux и Solaris; 6248 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris;
6249 ошибка появилась в 0.7.12. 6249 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.12.
6250 </para> 6250 </para>
6251 <para lang="en"> 6251 <para lang="en">
6252 nginx could not be built on Linux and Solaris; 6252 nginx could not be built on Linux and Solaris;
6253 the bug had appeared in 0.7.12. 6253 the bug had appeared in 0.7.12.
6254 </para> 6254 </para>
6259 6259
6260 <changes ver="0.7.12" date="26.08.2008"> 6260 <changes ver="0.7.12" date="26.08.2008">
6261 6261
6262 <change type="feature"> 6262 <change type="feature">
6263 <para lang="ru"> 6263 <para lang="ru">
6264 директива server_name поддерживает пустое имя "". 6264 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я┐я│я┌п╬п╣ п╦п╪я▐ "".
6265 </para> 6265 </para>
6266 <para lang="en"> 6266 <para lang="en">
6267 the "server_name" directive supports empty name "". 6267 the "server_name" directive supports empty name "".
6268 </para> 6268 </para>
6269 </change> 6269 </change>
6270 6270
6271 <change type="feature"> 6271 <change type="feature">
6272 <para lang="ru"> 6272 <para lang="ru">
6273 директива gzip_disable поддерживает специальную маску msie6. 6273 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п©п╣я├п╦п╟п╩я▄п╫я┐я▌ п╪п╟я│п╨я┐ msie6.
6274 </para> 6274 </para>
6275 <para lang="en"> 6275 <para lang="en">
6276 the "gzip_disable" directive supports special "msie6" mask. 6276 the "gzip_disable" directive supports special "msie6" mask.
6277 </para> 6277 </para>
6278 </change> 6278 </change>
6279 6279
6280 <change type="bugfix"> 6280 <change type="bugfix">
6281 <para lang="ru"> 6281 <para lang="ru">
6282 при использовании параметра max_fails=0 в upstream'е с несколькими 6282 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╟я─п╟п╪п╣я┌я─п╟ max_fails=0 п╡ upstream'п╣ я│ п╫п╣я│п╨п╬п╩я▄п╨п╦п╪п╦
6283 серверами рабочий процесс выходил по сигналу SIGFPE.<br/> 6283 я│п╣я─п╡п╣я─п╟п╪п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╡я▀я┘п╬п╢п╦п╩ п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGFPE.<br/>
6284 Спасибо Максиму Дунину. 6284 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6285 </para> 6285 </para>
6286 <para lang="en"> 6286 <para lang="en">
6287 if the "max_fails=0" parameter was used in upstream with several servers, 6287 if the "max_fails=0" parameter was used in upstream with several servers,
6288 then a worker process exited on a SIGFPE signal.<br/> 6288 then a worker process exited on a SIGFPE signal.<br/>
6289 Thanks to Maxim Dounin. 6289 Thanks to Maxim Dounin.
6290 </para> 6290 </para>
6291 </change> 6291 </change>
6292 6292
6293 <change type="bugfix"> 6293 <change type="bugfix">
6294 <para lang="ru"> 6294 <para lang="ru">
6295 при перенаправлении запроса с помощью директивы error_page 6295 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
6296 терялось тело запроса. 6296 я┌п╣я─я▐п╩п╬я│я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟.
6297 </para> 6297 </para>
6298 <para lang="en"> 6298 <para lang="en">
6299 a request body was dropped while redirection via an "error_page" directive. 6299 a request body was dropped while redirection via an "error_page" directive.
6300 </para> 6300 </para>
6301 </change> 6301 </change>
6302 6302
6303 <change type="bugfix"> 6303 <change type="bugfix">
6304 <para lang="ru"> 6304 <para lang="ru">
6305 при перенаправлении запроса с методом HEAD с помощью директивы error_page 6305 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п╪п╣я┌п╬п╢п╬п╪ HEAD я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
6306 возвращался полный ответ. 6306 п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п©п╬п╩п╫я▀п╧ п╬я┌п╡п╣я┌.
6307 </para> 6307 </para>
6308 <para lang="en"> 6308 <para lang="en">
6309 a full response was returned for request method HEAD 6309 a full response was returned for request method HEAD
6310 while redirection via an "error_page" directive. 6310 while redirection via an "error_page" directive.
6311 </para> 6311 </para>
6312 </change> 6312 </change>
6313 6313
6314 <change type="bugfix"> 6314 <change type="bugfix">
6315 <para lang="ru"> 6315 <para lang="ru">
6316 метод $r->header_in() не возвращал значения строк "Host", "User-Agent", 6316 п╪п╣я┌п╬п╢ $r->header_in() п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╥п╫п╟я┤п╣п╫п╦я▐ я│я┌я─п╬п╨ "Host", "User-Agent",
6317 и "Connection" из заголовка запроса; 6317 п╦ "Connection" п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟;
6318 ошибка появилась в 0.7.0. 6318 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.0.
6319 </para> 6319 </para>
6320 <para lang="en"> 6320 <para lang="en">
6321 the $r->header_in() method did not return value of the "Host", 6321 the $r->header_in() method did not return value of the "Host",
6322 "User-Agent", and "Connection" request header lines; 6322 "User-Agent", and "Connection" request header lines;
6323 the bug had appeared in 0.7.0. 6323 the bug had appeared in 0.7.0.
6329 6329
6330 <changes ver="0.7.11" date="18.08.2008"> 6330 <changes ver="0.7.11" date="18.08.2008">
6331 6331
6332 <change type="change"> 6332 <change type="change">
6333 <para lang="ru"> 6333 <para lang="ru">
6334 теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css. 6334 я┌п╣п©п╣я─я▄ ngx_http_charset_module п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я─п╟п╠п╬я┌п╟п╣я┌ MIME-я┌п╦п©п╬п╪ text/css.
6335 </para> 6335 </para>
6336 <para lang="en"> 6336 <para lang="en">
6337 now ngx_http_charset_module does not work by default with text/css MIME type. 6337 now ngx_http_charset_module does not work by default with text/css MIME type.
6338 </para> 6338 </para>
6339 </change> 6339 </change>
6340 6340
6341 <change type="feature"> 6341 <change type="feature">
6342 <para lang="ru"> 6342 <para lang="ru">
6343 теперь nginx возвращает код 405 для метода POST при запросе статического 6343 я┌п╣п©п╣я─я▄ nginx п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╨п╬п╢ 405 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ POST п©я─п╦ п╥п╟п©я─п╬я│п╣ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬
6344 файла, только если файл существует. 6344 я└п╟п╧п╩п╟, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦ я└п╟п╧п╩ я│я┐я┴п╣я│я┌п╡я┐п╣я┌.
6345 </para> 6345 </para>
6346 <para lang="en"> 6346 <para lang="en">
6347 now nginx returns the 405 status code for POST method requesting a static file 6347 now nginx returns the 405 status code for POST method requesting a static file
6348 only if the file exists. 6348 only if the file exists.
6349 </para> 6349 </para>
6350 </change> 6350 </change>
6351 6351
6352 <change type="feature"> 6352 <change type="feature">
6353 <para lang="ru"> 6353 <para lang="ru">
6354 директива proxy_ssl_session_reuse. 6354 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_ssl_session_reuse.
6355 </para> 6355 </para>
6356 <para lang="en"> 6356 <para lang="en">
6357 the "proxy_ssl_session_reuse" directive. 6357 the "proxy_ssl_session_reuse" directive.
6358 </para> 6358 </para>
6359 </change> 6359 </change>
6360 6360
6361 <change type="bugfix"> 6361 <change type="bugfix">
6362 <para lang="ru"> 6362 <para lang="ru">
6363 после перенаправления запроса с помощью "X-Accel-Redirect" 6363 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ "X-Accel-Redirect"
6364 директива proxy_pass без URI могла использовать оригинальный запрос. 6364 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╠п╣п╥ URI п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╥п╟п©я─п╬я│.
6365 </para> 6365 </para>
6366 <para lang="en"> 6366 <para lang="en">
6367 a "proxy_pass" directive without URI part might use original request 6367 a "proxy_pass" directive without URI part might use original request
6368 after the "X-Accel-Redirect" redirection was used; 6368 after the "X-Accel-Redirect" redirection was used;
6369 </para> 6369 </para>
6370 </change> 6370 </change>
6371 6371
6372 <change type="bugfix"> 6372 <change type="bugfix">
6373 <para lang="ru"> 6373 <para lang="ru">
6374 если у каталога были права доступа только на поиск файлов 6374 п╣я│п╩п╦ я┐ п╨п╟я┌п╟п╩п╬пЁп╟ п╠я▀п╩п╦ п©я─п╟п╡п╟ п╢п╬я│я┌я┐п©п╟ я┌п╬п╩я▄п╨п╬ п╫п╟ п©п╬п╦я│п╨ я└п╟п╧п╩п╬п╡
6375 и первый индексный файл отсутствовал, то nginx возвращал ошибку 500. 6375 п╦ п©п╣я─п╡я▀п╧ п╦п╫п╢п╣п╨я│п╫я▀п╧ я└п╟п╧п╩ п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩, я┌п╬ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 500.
6376 </para> 6376 </para>
6377 <para lang="en"> 6377 <para lang="en">
6378 if a directory has search only rights and the first index file was absent, 6378 if a directory has search only rights and the first index file was absent,
6379 then nginx returned the 500 status code. 6379 then nginx returned the 500 status code.
6380 </para> 6380 </para>
6381 </change> 6381 </change>
6382 6382
6383 <change type="bugfix"> 6383 <change type="bugfix">
6384 <para lang="ru"> 6384 <para lang="ru">
6385 ошибок во вложенных location'ах; 6385 п╬я┬п╦п╠п╬п╨ п╡п╬ п╡п╩п╬п╤п╣п╫п╫я▀я┘ location'п╟я┘;
6386 ошибки появились в 0.7.1. 6386 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.1.
6387 </para> 6387 </para>
6388 <para lang="en"> 6388 <para lang="en">
6389 in inclusive locations; 6389 in inclusive locations;
6390 the bugs had appeared in 0.7.1. 6390 the bugs had appeared in 0.7.1.
6391 </para> 6391 </para>
6396 6396
6397 <changes ver="0.7.10" date="13.08.2008"> 6397 <changes ver="0.7.10" date="13.08.2008">
6398 6398
6399 <change type="bugfix"> 6399 <change type="bugfix">
6400 <para lang="ru"> 6400 <para lang="ru">
6401 ошибок в директивах addition_types, charset_types, 6401 п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ addition_types, charset_types,
6402 gzip_types, ssi_types, sub_filter_types и xslt_types; 6402 gzip_types, ssi_types, sub_filter_types п╦ xslt_types;
6403 ошибки появились в 0.7.9. 6403 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.9.
6404 </para> 6404 </para>
6405 <para lang="en"> 6405 <para lang="en">
6406 in the "addition_types", "charset_types", 6406 in the "addition_types", "charset_types",
6407 "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives; 6407 "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
6408 the bugs had appeared in 0.7.9. 6408 the bugs had appeared in 0.7.9.
6409 </para> 6409 </para>
6410 </change> 6410 </change>
6411 6411
6412 <change type="bugfix"> 6412 <change type="bugfix">
6413 <para lang="ru"> 6413 <para lang="ru">
6414 рекурсивной error_page для 500 ошибки. 6414 я─п╣п╨я┐я─я│п╦п╡п╫п╬п╧ error_page п╢п╩я▐ 500 п╬я┬п╦п╠п╨п╦.
6415 </para> 6415 </para>
6416 <para lang="en"> 6416 <para lang="en">
6417 of recursive error_page for 500 status code. 6417 of recursive error_page for 500 status code.
6418 </para> 6418 </para>
6419 </change> 6419 </change>
6420 6420
6421 <change type="bugfix"> 6421 <change type="bugfix">
6422 <para lang="ru"> 6422 <para lang="ru">
6423 теперь модуль ngx_http_realip_module устанавливает адрес не для 6423 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_realip_module я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ п╟п╢я─п╣я│ п╫п╣ п╢п╩я▐
6424 всего keepalive соединения, а для каждого запроса по этому соединению. 6424 п╡я│п╣пЁп╬ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐, п╟ п╢п╩я▐ п╨п╟п╤п╢п╬пЁп╬ п╥п╟п©я─п╬я│п╟ п©п╬ я█я┌п╬п╪я┐ я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
6425 </para> 6425 </para>
6426 <para lang="en"> 6426 <para lang="en">
6427 now the ngx_http_realip_module sets address not for whole keepalive connection, 6427 now the ngx_http_realip_module sets address not for whole keepalive connection,
6428 but for each request passed via the connection. 6428 but for each request passed via the connection.
6429 </para> 6429 </para>
6434 6434
6435 <changes ver="0.7.9" date="12.08.2008"> 6435 <changes ver="0.7.9" date="12.08.2008">
6436 6436
6437 <change type="change"> 6437 <change type="change">
6438 <para lang="ru"> 6438 <para lang="ru">
6439 теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами: 6439 я┌п╣п©п╣я─я▄ ngx_http_charset_module п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я─п╟п╠п╬я┌п╟п╣я┌ я│п╬ я│п╩п╣п╢я┐я▌я┴п╦п╪п╦ MIME-я┌п╦п©п╟п╪п╦:
6440 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 6440 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
6441 application/x-javascript и application/rss+xml. 6441 application/x-javascript п╦ application/rss+xml.
6442 </para> 6442 </para>
6443 <para lang="en"> 6443 <para lang="en">
6444 now ngx_http_charset_module works by default with following MIME types: 6444 now ngx_http_charset_module works by default with following MIME types:
6445 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 6445 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
6446 application/x-javascript, and application/rss+xml. 6446 application/x-javascript, and application/rss+xml.
6447 </para> 6447 </para>
6448 </change> 6448 </change>
6449 6449
6450 <change type="feature"> 6450 <change type="feature">
6451 <para lang="ru"> 6451 <para lang="ru">
6452 директивы charset_types и addition_types. 6452 п╢п╦я─п╣п╨я┌п╦п╡я▀ charset_types п╦ addition_types.
6453 </para> 6453 </para>
6454 <para lang="en"> 6454 <para lang="en">
6455 the "charset_types" and "addition_types" directives. 6455 the "charset_types" and "addition_types" directives.
6456 </para> 6456 </para>
6457 </change> 6457 </change>
6458 6458
6459 <change type="feature"> 6459 <change type="feature">
6460 <para lang="ru"> 6460 <para lang="ru">
6461 теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш. 6461 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_types, ssi_types п╦ sub_filter_types п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я┘я█я┬.
6462 </para> 6462 </para>
6463 <para lang="en"> 6463 <para lang="en">
6464 now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. 6464 now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
6465 </para> 6465 </para>
6466 </change> 6466 </change>
6467 6467
6468 <change type="feature"> 6468 <change type="feature">
6469 <para lang="ru"> 6469 <para lang="ru">
6470 модуль ngx_cpp_test_module. 6470 п╪п╬п╢я┐п╩я▄ ngx_cpp_test_module.
6471 </para> 6471 </para>
6472 <para lang="en"> 6472 <para lang="en">
6473 the ngx_cpp_test_module. 6473 the ngx_cpp_test_module.
6474 </para> 6474 </para>
6475 </change> 6475 </change>
6476 6476
6477 <change type="feature"> 6477 <change type="feature">
6478 <para lang="ru"> 6478 <para lang="ru">
6479 директива expires поддерживает суточное время. 6479 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│я┐я┌п╬я┤п╫п╬п╣ п╡я─п╣п╪я▐.
6480 </para> 6480 </para>
6481 <para lang="en"> 6481 <para lang="en">
6482 the "expires" directive supports daily time. 6482 the "expires" directive supports daily time.
6483 </para> 6483 </para>
6484 </change> 6484 </change>
6485 6485
6486 <change type="feature"> 6486 <change type="feature">
6487 <para lang="ru"> 6487 <para lang="ru">
6488 улучшения и исправления в модуле ngx_http_xslt_module.<br/> 6488 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╦ п╦я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_module.<br/>
6489 Спасибо Денису Латыпову и Максиму Дунину. 6489 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6490 </para> 6490 </para>
6491 <para lang="en"> 6491 <para lang="en">
6492 the ngx_http_xslt_module improvements and bug fixing.<br/> 6492 the ngx_http_xslt_module improvements and bug fixing.<br/>
6493 Thanks to Denis F. Latypoff and Maxim Dounin. 6493 Thanks to Denis F. Latypoff and Maxim Dounin.
6494 </para> 6494 </para>
6495 </change> 6495 </change>
6496 6496
6497 <change type="bugfix"> 6497 <change type="bugfix">
6498 <para lang="ru"> 6498 <para lang="ru">
6499 директива log_not_found не работала при поиске индексных файлов. 6499 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_not_found п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п©п╬п╦я│п╨п╣ п╦п╫п╢п╣п╨я│п╫я▀я┘ я└п╟п╧п╩п╬п╡.
6500 </para> 6500 </para>
6501 <para lang="en"> 6501 <para lang="en">
6502 the "log_not_found" directive did not work for index files tests. 6502 the "log_not_found" directive did not work for index files tests.
6503 </para> 6503 </para>
6504 </change> 6504 </change>
6505 6505
6506 <change type="bugfix"> 6506 <change type="bugfix">
6507 <para lang="ru"> 6507 <para lang="ru">
6508 HTTPS-соединения могли зависнуть, 6508 HTTPS-я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╦ п╥п╟п╡п╦я│п╫я┐я┌я▄,
6509 если использовались методы kqueue, epoll, rtsig или eventport; 6509 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢я▀ kqueue, epoll, rtsig п╦п╩п╦ eventport;
6510 ошибка появилась в 0.7.7. 6510 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.
6511 </para> 6511 </para>
6512 <para lang="en"> 6512 <para lang="en">
6513 HTTPS connections might hang, 6513 HTTPS connections might hang,
6514 if kqueue, epoll, rtsig, or eventport methods were used; 6514 if kqueue, epoll, rtsig, or eventport methods were used;
6515 the bug had appeared in 0.7.7. 6515 the bug had appeared in 0.7.7.
6516 </para> 6516 </para>
6517 </change> 6517 </change>
6518 6518
6519 <change type="bugfix"> 6519 <change type="bugfix">
6520 <para lang="ru"> 6520 <para lang="ru">
6521 если в директивах server_name, valid_referers и map 6521 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name, valid_referers п╦ map
6522 использовалась маска вида "*.domain.tld" и при этом полное имя 6522 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╪п╟я│п╨п╟ п╡п╦п╢п╟ "*.domain.tld" п╦ п©я─п╦ я█я┌п╬п╪ п©п╬п╩п╫п╬п╣ п╦п╪я▐
6523 вида "domain.tld" не было описано, то это имя попадало под маску; 6523 п╡п╦п╢п╟ "domain.tld" п╫п╣ п╠я▀п╩п╬ п╬п©п╦я│п╟п╫п╬, я┌п╬ я█я┌п╬ п╦п╪я▐ п©п╬п©п╟п╢п╟п╩п╬ п©п╬п╢ п╪п╟я│п╨я┐;
6524 ошибка появилась в 0.3.18. 6524 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
6525 </para> 6525 </para>
6526 <para lang="en"> 6526 <para lang="en">
6527 if the "server_name", "valid_referers", and "map" directives used 6527 if the "server_name", "valid_referers", and "map" directives used
6528 an "*.domain.tld" wildcard and exact name "domain.tld" was not set, 6528 an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
6529 then the exact name was matched by the wildcard; 6529 then the exact name was matched by the wildcard;
6536 6536
6537 <changes ver="0.7.8" date="04.08.2008"> 6537 <changes ver="0.7.8" date="04.08.2008">
6538 6538
6539 <change type="feature"> 6539 <change type="feature">
6540 <para lang="ru"> 6540 <para lang="ru">
6541 модуль ngx_http_xslt_module. 6541 п╪п╬п╢я┐п╩я▄ ngx_http_xslt_module.
6542 </para> 6542 </para>
6543 <para lang="en"> 6543 <para lang="en">
6544 the ngx_http_xslt_module. 6544 the ngx_http_xslt_module.
6545 </para> 6545 </para>
6546 </change> 6546 </change>
6547 6547
6548 <change type="feature"> 6548 <change type="feature">
6549 <para lang="ru"> 6549 <para lang="ru">
6550 переменные "$arg_...". 6550 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$arg_...".
6551 </para> 6551 </para>
6552 <para lang="en"> 6552 <para lang="en">
6553 the "$arg_..." variables. 6553 the "$arg_..." variables.
6554 </para> 6554 </para>
6555 </change> 6555 </change>
6556 6556
6557 <change type="feature"> 6557 <change type="feature">
6558 <para lang="ru"> 6558 <para lang="ru">
6559 поддержка directio в Solaris.<br/> 6559 п©п╬п╢п╢п╣я─п╤п╨п╟ directio п╡ Solaris.<br/>
6560 Спасибо Ivan Debnar. 6560 п║п©п╟я│п╦п╠п╬ Ivan Debnar.
6561 </para> 6561 </para>
6562 <para lang="en"> 6562 <para lang="en">
6563 Solaris directio support.<br/> 6563 Solaris directio support.<br/>
6564 Thanks to Ivan Debnar. 6564 Thanks to Ivan Debnar.
6565 </para> 6565 </para>
6566 </change> 6566 </change>
6567 6567
6568 <change type="bugfix"> 6568 <change type="bugfix">
6569 <para lang="ru"> 6569 <para lang="ru">
6570 теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа 6570 я┌п╣п©п╣я─я▄, п╣я│п╩п╦ FastCGI-я│п╣я─п╡п╣я─ п©я─п╦я│я▀п╩п╟п╣я┌ я│я┌я─п╬п╨я┐ "Location" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
6571 без строки статуса, то nginx использует код статуса 302.<br/> 6571 п╠п╣п╥ я│я┌я─п╬п╨п╦ я│я┌п╟я┌я┐я│п╟, я┌п╬ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╬п╢ я│я┌п╟я┌я┐я│п╟ 302.<br/>
6572 Спасибо Максиму Дунину. 6572 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6573 </para> 6573 </para>
6574 <para lang="en"> 6574 <para lang="en">
6575 now if FastCGI server sends a "Location" header line without status line, 6575 now if FastCGI server sends a "Location" header line without status line,
6576 then nginx uses 302 status code.<br/> 6576 then nginx uses 302 status code.<br/>
6577 Thanks to Maxim Dounin. 6577 Thanks to Maxim Dounin.
6583 6583
6584 <changes ver="0.7.7" date="30.07.2008"> 6584 <changes ver="0.7.7" date="30.07.2008">
6585 6585
6586 <change type="change"> 6586 <change type="change">
6587 <para lang="ru"> 6587 <para lang="ru">
6588 теперь ошибка EAGAIN при вызове connect() не считается временной. 6588 я┌п╣п©п╣я─я▄ п╬я┬п╦п╠п╨п╟ EAGAIN п©я─п╦ п╡я▀п╥п╬п╡п╣ connect() п╫п╣ я│я┤п╦я┌п╟п╣я┌я│я▐ п╡я─п╣п╪п╣п╫п╫п╬п╧.
6589 </para> 6589 </para>
6590 <para lang="en"> 6590 <para lang="en">
6591 now the EAGAIN error returned by connect() is not considered as temporary error. 6591 now the EAGAIN error returned by connect() is not considered as temporary error.
6592 </para> 6592 </para>
6593 </change> 6593 </change>
6594 6594
6595 <change type="change"> 6595 <change type="change">
6596 <para lang="ru"> 6596 <para lang="ru">
6597 значением переменной $ssl_client_cert теперь является сертификат, 6597 п╥п╫п╟я┤п╣п╫п╦п╣п╪ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $ssl_client_cert я┌п╣п©п╣я─я▄ я▐п╡п╩я▐п╣я┌я│я▐ я│п╣я─я┌п╦я└п╦п╨п╟я┌,
6598 перед каждой строкой которого, кроме первой, вставляется символ табуляции; 6598 п©п╣я─п╣п╢ п╨п╟п╤п╢п╬п╧ я│я┌я─п╬п╨п╬п╧ п╨п╬я┌п╬я─п╬пЁп╬, п╨я─п╬п╪п╣ п©п╣я─п╡п╬п╧, п╡я│я┌п╟п╡п╩я▐п╣я┌я│я▐ я│п╦п╪п╡п╬п╩ я┌п╟п╠я┐п╩я▐я├п╦п╦;
6599 неизменённый сертификат доступен через переменную $ssl_client_raw_cert. 6599 п╫п╣п╦п╥п╪п╣п╫я▒п╫п╫я▀п╧ я│п╣я─я┌п╦я└п╦п╨п╟я┌ п╢п╬я│я┌я┐п©п╣п╫ я┤п╣я─п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $ssl_client_raw_cert.
6600 </para> 6600 </para>
6601 <para lang="en"> 6601 <para lang="en">
6602 now the $ssl_client_cert variable value is a certificate with TAB character 6602 now the $ssl_client_cert variable value is a certificate with TAB character
6603 intended before each line except first one; 6603 intended before each line except first one;
6604 an unchanged certificate is available in the $ssl_client_raw_cert variable. 6604 an unchanged certificate is available in the $ssl_client_raw_cert variable.
6605 </para> 6605 </para>
6606 </change> 6606 </change>
6607 6607
6608 <change type="feature"> 6608 <change type="feature">
6609 <para lang="ru"> 6609 <para lang="ru">
6610 параметр ask директивы ssl_verify_client. 6610 п©п╟я─п╟п╪п╣я┌я─ ask п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client.
6611 </para> 6611 </para>
6612 <para lang="en"> 6612 <para lang="en">
6613 the "ask" parameter in the "ssl_verify_client" directive. 6613 the "ask" parameter in the "ssl_verify_client" directive.
6614 </para> 6614 </para>
6615 </change> 6615 </change>
6616 6616
6617 <change type="feature"> 6617 <change type="feature">
6618 <para lang="ru"> 6618 <para lang="ru">
6619 улучшения в обработке byte-range.<br/> 6619 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ byte-range.<br/>
6620 Спасибо Максиму Дунину. 6620 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6621 </para> 6621 </para>
6622 <para lang="en"> 6622 <para lang="en">
6623 byte-range processing improvements.<br/> 6623 byte-range processing improvements.<br/>
6624 Thanks to Maxim Dounin. 6624 Thanks to Maxim Dounin.
6625 </para> 6625 </para>
6626 </change> 6626 </change>
6627 6627
6628 <change type="feature"> 6628 <change type="feature">
6629 <para lang="ru"> 6629 <para lang="ru">
6630 директива directio.<br/> 6630 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio.<br/>
6631 Спасибо Jiang Hong. 6631 п║п©п╟я│п╦п╠п╬ Jiang Hong.
6632 </para> 6632 </para>
6633 <para lang="en"> 6633 <para lang="en">
6634 the "directio" directive.<br/> 6634 the "directio" directive.<br/>
6635 Thanks to Jiang Hong. 6635 Thanks to Jiang Hong.
6636 </para> 6636 </para>
6637 </change> 6637 </change>
6638 6638
6639 <change type="feature"> 6639 <change type="feature">
6640 <para lang="ru"> 6640 <para lang="ru">
6641 поддержка sendfile() в MacOSX 10.5. 6641 п©п╬п╢п╢п╣я─п╤п╨п╟ sendfile() п╡ MacOSX 10.5.
6642 </para> 6642 </para>
6643 <para lang="en"> 6643 <para lang="en">
6644 MacOSX 10.5 sendfile() support. 6644 MacOSX 10.5 sendfile() support.
6645 </para> 6645 </para>
6646 </change> 6646 </change>
6647 6647
6648 <change type="bugfix"> 6648 <change type="bugfix">
6649 <para lang="ru"> 6649 <para lang="ru">
6650 в MacOSX и Cygwin при проверке location'ов теперь делается сравнение 6650 п╡ MacOSX п╦ Cygwin п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ location'п╬п╡ я┌п╣п©п╣я─я▄ п╢п╣п╩п╟п╣я┌я│я▐ я│я─п╟п╡п╫п╣п╫п╦п╣
6651 без учёта регистра символов; 6651 п╠п╣п╥ я┐я┤я▒я┌п╟ я─п╣пЁп╦я│я┌я─п╟ я│п╦п╪п╡п╬п╩п╬п╡;
6652 однако, сравнение ограничено только однобайтными locale'ями. 6652 п╬п╢п╫п╟п╨п╬, я│я─п╟п╡п╫п╣п╫п╦п╣ п╬пЁя─п╟п╫п╦я┤п╣п╫п╬ я┌п╬п╩я▄п╨п╬ п╬п╢п╫п╬п╠п╟п╧я┌п╫я▀п╪п╦ locale'я▐п╪п╦.
6653 </para> 6653 </para>
6654 <para lang="en"> 6654 <para lang="en">
6655 now in MacOSX and Cygwin locations are tested in case insensitive mode; 6655 now in MacOSX and Cygwin locations are tested in case insensitive mode;
6656 however, the compare is provided by single-byte locales only. 6656 however, the compare is provided by single-byte locales only.
6657 </para> 6657 </para>
6658 </change> 6658 </change>
6659 6659
6660 <change type="bugfix"> 6660 <change type="bugfix">
6661 <para lang="ru"> 6661 <para lang="ru">
6662 соединения почтового прокси-сервера зависали в режиме SSL, 6662 я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п╥п╟п╡п╦я│п╟п╩п╦ п╡ я─п╣п╤п╦п╪п╣ SSL,
6663 если использовались методы select, poll или /dev/poll. 6663 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢я▀ select, poll п╦п╩п╦ /dev/poll.
6664 </para> 6664 </para>
6665 <para lang="en"> 6665 <para lang="en">
6666 mail proxy SSL connections hanged, 6666 mail proxy SSL connections hanged,
6667 if select, poll, or /dev/poll methods were used. 6667 if select, poll, or /dev/poll methods were used.
6668 </para> 6668 </para>
6669 </change> 6669 </change>
6670 6670
6671 <change type="bugfix"> 6671 <change type="bugfix">
6672 <para lang="ru"> 6672 <para lang="ru">
6673 ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module. 6673 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╡ ngx_http_autoindex_module.
6674 </para> 6674 </para>
6675 <para lang="en"> 6675 <para lang="en">
6676 UTF-8 encoding usage in the ngx_http_autoindex_module. 6676 UTF-8 encoding usage in the ngx_http_autoindex_module.
6677 </para> 6677 </para>
6678 </change> 6678 </change>
6682 6682
6683 <changes ver="0.7.6" date="07.07.2008"> 6683 <changes ver="0.7.6" date="07.07.2008">
6684 6684
6685 <change type="bugfix"> 6685 <change type="bugfix">
6686 <para lang="ru"> 6686 <para lang="ru">
6687 теперь при использовании переменных в директиве access_log 6687 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log
6688 всегда проверяется существовании root'а для запроса. 6688 п╡я│п╣пЁп╢п╟ п©я─п╬п╡п╣я─я▐п╣я┌я│я▐ я│я┐я┴п╣я│я┌п╡п╬п╡п╟п╫п╦п╦ root'п╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╟.
6689 </para> 6689 </para>
6690 <para lang="en"> 6690 <para lang="en">
6691 now if variables are used in the "access_log" directive 6691 now if variables are used in the "access_log" directive
6692 a request root existence is always tested. 6692 a request root existence is always tested.
6693 </para> 6693 </para>
6694 </change> 6694 </change>
6695 6695
6696 <change type="bugfix"> 6696 <change type="bugfix">
6697 <para lang="ru"> 6697 <para lang="ru">
6698 модуль ngx_http_flv_module не поддерживал несколько значений в 6698 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╥п╫п╟я┤п╣п╫п╦п╧ п╡
6699 аргументах запроса. 6699 п╟я─пЁя┐п╪п╣п╫я┌п╟я┘ п╥п╟п©я─п╬я│п╟.
6700 </para> 6700 </para>
6701 <para lang="en"> 6701 <para lang="en">
6702 the ngx_http_flv_module did not support several values in a query string. 6702 the ngx_http_flv_module did not support several values in a query string.
6703 </para> 6703 </para>
6704 </change> 6704 </change>
6708 6708
6709 <changes ver="0.7.5" date="01.07.2008"> 6709 <changes ver="0.7.5" date="01.07.2008">
6710 6710
6711 <change> 6711 <change>
6712 <para lang="ru"> 6712 <para lang="ru">
6713 Исправления в поддержке переменных в директиве access_log; 6713 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log;
6714 ошибки появились в 0.7.4. 6714 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.4.
6715 </para> 6715 </para>
6716 <para lang="en"> 6716 <para lang="en">
6717 Bugfixes in variables support in the "access_log" directive; 6717 Bugfixes in variables support in the "access_log" directive;
6718 the bugs had appeared in 0.7.4. 6718 the bugs had appeared in 0.7.4.
6719 </para> 6719 </para>
6720 </change> 6720 </change>
6721 6721
6722 <change type="bugfix"> 6722 <change type="bugfix">
6723 <para lang="ru"> 6723 <para lang="ru">
6724 nginx не собирался с параметром --without-http_gzip_module; 6724 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_gzip_module;
6725 ошибка появилась в 0.7.3.<br/> 6725 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.3.<br/>
6726 Спасибо Кириллу Коринскому. 6726 п║п©п╟я│п╦п╠п╬ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
6727 </para> 6727 </para>
6728 <para lang="en"> 6728 <para lang="en">
6729 nginx could not be built --without-http_gzip_module; 6729 nginx could not be built --without-http_gzip_module;
6730 the bug had appeared in 0.7.3.<br/> 6730 the bug had appeared in 0.7.3.<br/>
6731 Thanks to Kirill A. Korinskiy. 6731 Thanks to Kirill A. Korinskiy.
6732 </para> 6732 </para>
6733 </change> 6733 </change>
6734 6734
6735 <change type="bugfix"> 6735 <change type="bugfix">
6736 <para lang="ru"> 6736 <para lang="ru">
6737 при совместном использовании sub_filter и SSI 6737 п©я─п╦ я│п╬п╡п╪п╣я│я┌п╫п╬п╪ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sub_filter п╦ SSI
6738 ответы могли передаваться неверно. 6738 п╬я┌п╡п╣я┌я▀ п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫п╬.
6739 </para> 6739 </para>
6740 <para lang="en"> 6740 <para lang="en">
6741 if sub_filter and SSI were used together, then responses might 6741 if sub_filter and SSI were used together, then responses might
6742 were transferred incorrectly. 6742 were transferred incorrectly.
6743 </para> 6743 </para>
6748 6748
6749 <changes ver="0.7.4" date="30.06.2008"> 6749 <changes ver="0.7.4" date="30.06.2008">
6750 6750
6751 <change type="feature"> 6751 <change type="feature">
6752 <para lang="ru"> 6752 <para lang="ru">
6753 директива access_log поддерживает переменные. 6753 п╢п╦я─п╣п╨я┌п╦п╡п╟ access_log п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
6754 </para> 6754 </para>
6755 <para lang="en"> 6755 <para lang="en">
6756 variables support in the "access_log" directive. 6756 variables support in the "access_log" directive.
6757 </para> 6757 </para>
6758 </change> 6758 </change>
6759 6759
6760 <change type="feature"> 6760 <change type="feature">
6761 <para lang="ru"> 6761 <para lang="ru">
6762 директива open_log_file_cache. 6762 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_log_file_cache.
6763 </para> 6763 </para>
6764 <para lang="en"> 6764 <para lang="en">
6765 the "open_log_file_cache" directive. 6765 the "open_log_file_cache" directive.
6766 </para> 6766 </para>
6767 </change> 6767 </change>
6768 6768
6769 <change type="feature"> 6769 <change type="feature">
6770 <para lang="ru"> 6770 <para lang="ru">
6771 ключ -g. 6771 п╨п╩я▌я┤ -g.
6772 </para> 6772 </para>
6773 <para lang="en"> 6773 <para lang="en">
6774 the -g switch. 6774 the -g switch.
6775 </para> 6775 </para>
6776 </change> 6776 </change>
6777 6777
6778 <change type="feature"> 6778 <change type="feature">
6779 <para lang="ru"> 6779 <para lang="ru">
6780 поддержка строки "Expect" в заголовке запроса. 6780 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "Expect" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
6781 </para> 6781 </para>
6782 <para lang="en"> 6782 <para lang="en">
6783 the "Expect" request header line support. 6783 the "Expect" request header line support.
6784 </para> 6784 </para>
6785 </change> 6785 </change>
6786 6786
6787 <change type="bugfix"> 6787 <change type="bugfix">
6788 <para lang="ru"> 6788 <para lang="ru">
6789 большие включения в SSI могли передавались не полностью. 6789 п╠п╬п╩я▄я┬п╦п╣ п╡п╨п╩я▌я┤п╣п╫п╦я▐ п╡ SSI п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
6790 </para> 6790 </para>
6791 <para lang="en"> 6791 <para lang="en">
6792 large SSI inclusions might be truncated. 6792 large SSI inclusions might be truncated.
6793 </para> 6793 </para>
6794 </change> 6794 </change>
6798 6798
6799 <changes ver="0.7.3" date="23.06.2008"> 6799 <changes ver="0.7.3" date="23.06.2008">
6800 6800
6801 <change type="change"> 6801 <change type="change">
6802 <para lang="ru"> 6802 <para lang="ru">
6803 MIME-тип для расширения rss изменён на "application/rss+xml". 6803 MIME-я┌п╦п© п╢п╩я▐ я─п╟я│я┬п╦я─п╣п╫п╦я▐ rss п╦п╥п╪п╣п╫я▒п╫ п╫п╟ "application/rss+xml".
6804 </para> 6804 </para>
6805 <para lang="en"> 6805 <para lang="en">
6806 the "rss" extension MIME type has been changed to "application/rss+xml". 6806 the "rss" extension MIME type has been changed to "application/rss+xml".
6807 </para> 6807 </para>
6808 </change> 6808 </change>
6809 6809
6810 <change type="change"> 6810 <change type="change">
6811 <para lang="ru"> 6811 <para lang="ru">
6812 теперь директива "gzip_vary on" выдаёт строку 6812 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "gzip_vary on" п╡я▀п╢п╟я▒я┌ я│я┌я─п╬п╨я┐
6813 <nobr>"Vary: Accept-Encoding"</nobr> 6813 <nobr>"Vary: Accept-Encoding"</nobr>
6814 в заголовке ответа и для несжатых ответов. 6814 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╦ п╢п╩я▐ п╫п╣я│п╤п╟я┌я▀я┘ п╬я┌п╡п╣я┌п╬п╡.
6815 </para> 6815 </para>
6816 <para lang="en"> 6816 <para lang="en">
6817 now the "gzip_vary" directive turned on issues 6817 now the "gzip_vary" directive turned on issues
6818 a <nobr>"Vary: Accept-Encoding"</nobr> 6818 a <nobr>"Vary: Accept-Encoding"</nobr>
6819 header line for uncompressed responses too. 6819 header line for uncompressed responses too.
6820 </para> 6820 </para>
6821 </change> 6821 </change>
6822 6822
6823 <change type="feature"> 6823 <change type="feature">
6824 <para lang="ru"> 6824 <para lang="ru">
6825 теперь при использовании протокола "https://" в директиве rewrite 6825 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ "https://" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite
6826 автоматически делается редирект. 6826 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╦ п╢п╣п╩п╟п╣я┌я│я▐ я─п╣п╢п╦я─п╣п╨я┌.
6827 </para> 6827 </para>
6828 <para lang="en"> 6828 <para lang="en">
6829 now the "rewrite" directive does a redirect automatically 6829 now the "rewrite" directive does a redirect automatically
6830 if the "https://" protocol is used. 6830 if the "https://" protocol is used.
6831 </para> 6831 </para>
6832 </change> 6832 </change>
6833 6833
6834 <change type="bugfix"> 6834 <change type="bugfix">
6835 <para lang="ru"> 6835 <para lang="ru">
6836 директива proxy_pass не работала с протоколом HTTPS; 6836 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п©я─п╬я┌п╬п╨п╬п╩п╬п╪ HTTPS;
6837 ошибка появилась в 0.6.9. 6837 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.9.
6838 </para> 6838 </para>
6839 <para lang="en"> 6839 <para lang="en">
6840 the "proxy_pass" directive did not work with the HTTPS protocol; 6840 the "proxy_pass" directive did not work with the HTTPS protocol;
6841 the bug had appeared in 0.6.9. 6841 the bug had appeared in 0.6.9.
6842 </para> 6842 </para>
6847 6847
6848 <changes ver="0.7.2" date="16.06.2008"> 6848 <changes ver="0.7.2" date="16.06.2008">
6849 6849
6850 <change type="feature"> 6850 <change type="feature">
6851 <para lang="ru"> 6851 <para lang="ru">
6852 теперь nginx поддерживает шифры с обменом EDH-ключами. 6852 я┌п╣п©п╣я─я▄ nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─я▀ я│ п╬п╠п╪п╣п╫п╬п╪ EDH-п╨п╩я▌я┤п╟п╪п╦.
6853 </para> 6853 </para>
6854 <para lang="en"> 6854 <para lang="en">
6855 now nginx supports EDH key exchange ciphers. 6855 now nginx supports EDH key exchange ciphers.
6856 </para> 6856 </para>
6857 </change> 6857 </change>
6858 6858
6859 <change type="feature"> 6859 <change type="feature">
6860 <para lang="ru"> 6860 <para lang="ru">
6861 директива ssl_dhparam. 6861 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_dhparam.
6862 </para> 6862 </para>
6863 <para lang="en"> 6863 <para lang="en">
6864 the "ssl_dhparam" directive. 6864 the "ssl_dhparam" directive.
6865 </para> 6865 </para>
6866 </change> 6866 </change>
6867 6867
6868 <change type="feature"> 6868 <change type="feature">
6869 <para lang="ru"> 6869 <para lang="ru">
6870 переменная $ssl_client_cert.<br/> 6870 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_cert.<br/>
6871 Спасибо Manlio Perillo. 6871 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
6872 </para> 6872 </para>
6873 <para lang="en"> 6873 <para lang="en">
6874 the $ssl_client_cert variable.<br/> 6874 the $ssl_client_cert variable.<br/>
6875 Thanks to Manlio Perillo. 6875 Thanks to Manlio Perillo.
6876 </para> 6876 </para>
6877 </change> 6877 </change>
6878 6878
6879 <change type="bugfix"> 6879 <change type="bugfix">
6880 <para lang="ru"> 6880 <para lang="ru">
6881 после изменения URI с помощью директивы rewrite nginx не искал новый location; 6881 п©п╬я│п╩п╣ п╦п╥п╪п╣п╫п╣п╫п╦я▐ URI я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite nginx п╫п╣ п╦я│п╨п╟п╩ п╫п╬п╡я▀п╧ location;
6882 ошибка появилась в 0.7.1.<br/> 6882 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.<br/>
6883 Спасибо Максиму Дунину. 6883 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6884 </para> 6884 </para>
6885 <para lang="en"> 6885 <para lang="en">
6886 after changing URI via a "rewrite" directive nginx did not search 6886 after changing URI via a "rewrite" directive nginx did not search
6887 a new location; 6887 a new location;
6888 the bug had appeared in 0.7.1.<br/> 6888 the bug had appeared in 0.7.1.<br/>
6890 </para> 6890 </para>
6891 </change> 6891 </change>
6892 6892
6893 <change type="bugfix"> 6893 <change type="bugfix">
6894 <para lang="ru"> 6894 <para lang="ru">
6895 nginx не собирался без библиотеки PCRE; 6895 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
6896 ошибка появилась в 0.7.1. 6896 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.
6897 </para> 6897 </para>
6898 <para lang="en"> 6898 <para lang="en">
6899 nginx could not be built without PCRE library; 6899 nginx could not be built without PCRE library;
6900 the bug had appeared in 0.7.1. 6900 the bug had appeared in 0.7.1.
6901 </para> 6901 </para>
6902 </change> 6902 </change>
6903 6903
6904 <change type="bugfix"> 6904 <change type="bugfix">
6905 <para lang="ru"> 6905 <para lang="ru">
6906 при редиректе запроса к каталогу с добавлением слэша nginx 6906 п©я─п╦ я─п╣п╢п╦я─п╣п╨я┌п╣ п╥п╟п©я─п╬я│п╟ п╨ п╨п╟я┌п╟п╩п╬пЁя┐ я│ п╢п╬п╠п╟п╡п╩п╣п╫п╦п╣п╪ я│п╩я█я┬п╟ nginx
6907 не добавлял аргументы из оригинального запроса. 6907 п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╦п╥ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
6908 </para> 6908 </para>
6909 <para lang="en"> 6909 <para lang="en">
6910 when a request to a directory was redirected with the slash added, 6910 when a request to a directory was redirected with the slash added,
6911 nginx dropped a query string from the original request. 6911 nginx dropped a query string from the original request.
6912 </para> 6912 </para>
6917 6917
6918 <changes ver="0.7.1" date="26.05.2008"> 6918 <changes ver="0.7.1" date="26.05.2008">
6919 6919
6920 <change type="change"> 6920 <change type="change">
6921 <para lang="ru"> 6921 <para lang="ru">
6922 теперь поиск location'а делается с помощью дерева. 6922 я┌п╣п©п╣я─я▄ п©п╬п╦я│п╨ location'п╟ п╢п╣п╩п╟п╣я┌я│я▐ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╣я─п╣п╡п╟.
6923 </para> 6923 </para>
6924 <para lang="en"> 6924 <para lang="en">
6925 now locations are searched in a tree. 6925 now locations are searched in a tree.
6926 </para> 6926 </para>
6927 </change> 6927 </change>
6928 6928
6929 <change type="change"> 6929 <change type="change">
6930 <para lang="ru"> 6930 <para lang="ru">
6931 директива optimize_server_names упразднена в связи с появлением 6931 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_server_names я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╡ я│п╡я▐п╥п╦ я│ п©п╬я▐п╡п╩п╣п╫п╦п╣п╪
6932 директивы server_name_in_redirect. 6932 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name_in_redirect.
6933 </para> 6933 </para>
6934 <para lang="en"> 6934 <para lang="en">
6935 the "optimize_server_names" directive was canceled 6935 the "optimize_server_names" directive was canceled
6936 due to the "server_name_in_redirect" directive introduction. 6936 due to the "server_name_in_redirect" directive introduction.
6937 </para> 6937 </para>
6938 </change> 6938 </change>
6939 6939
6940 <change type="change"> 6940 <change type="change">
6941 <para lang="ru"> 6941 <para lang="ru">
6942 некоторые давно устаревшие директивы больше не поддерживаются. 6942 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╢п╟п╡п╫п╬ я┐я│я┌п╟я─п╣п╡я┬п╦п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
6943 </para> 6943 </para>
6944 <para lang="en"> 6944 <para lang="en">
6945 some long deprecated directives are not supported anymore. 6945 some long deprecated directives are not supported anymore.
6946 </para> 6946 </para>
6947 </change> 6947 </change>
6948 6948
6949 <change type="change"> 6949 <change type="change">
6950 <para lang="ru"> 6950 <para lang="ru">
6951 параметр "none" в директиве ssl_session_cache; 6951 п©п╟я─п╟п╪п╣я┌я─ "none" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ssl_session_cache;
6952 теперь этот параметр используется по умолчанию.<br/> 6952 я┌п╣п©п╣я─я▄ я█я┌п╬я┌ п©п╟я─п╟п╪п╣я┌я─ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.<br/>
6953 Спасибо Rob Mueller. 6953 п║п©п╟я│п╦п╠п╬ Rob Mueller.
6954 </para> 6954 </para>
6955 <para lang="en"> 6955 <para lang="en">
6956 the "none" parameter in the "ssl_session_cache" directive; 6956 the "none" parameter in the "ssl_session_cache" directive;
6957 now this is default parameter.<br/> 6957 now this is default parameter.<br/>
6958 Thanks to Rob Mueller. 6958 Thanks to Rob Mueller.
6959 </para> 6959 </para>
6960 </change> 6960 </change>
6961 6961
6962 <change type="bugfix"> 6962 <change type="bugfix">
6963 <para lang="ru"> 6963 <para lang="ru">
6964 рабочие процессы могли не реагировать на сигналы переконфигурации 6964 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╪п╬пЁп╩п╦ п╫п╣ я─п╣п╟пЁп╦я─п╬п╡п╟я┌я▄ п╫п╟ я│п╦пЁп╫п╟п╩я▀ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
6965 и ротации логов. 6965 п╦ я─п╬я┌п╟я├п╦п╦ п╩п╬пЁп╬п╡.
6966 </para> 6966 </para>
6967 <para lang="en"> 6967 <para lang="en">
6968 worker processes might not catch reconfiguration and log rotation signals. 6968 worker processes might not catch reconfiguration and log rotation signals.
6969 </para> 6969 </para>
6970 </change> 6970 </change>
6971 6971
6972 <change type="bugfix"> 6972 <change type="bugfix">
6973 <para lang="ru"> 6973 <para lang="ru">
6974 nginx не собирался на последних Fedora 9 Linux.<br/> 6974 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╬я│п╩п╣п╢п╫п╦я┘ Fedora 9 Linux.<br/>
6975 Спасибо Roxis. 6975 п║п©п╟я│п╦п╠п╬ Roxis.
6976 </para> 6976 </para>
6977 <para lang="en"> 6977 <para lang="en">
6978 nginx could not be built on latest Fedora 9 Linux.<br/> 6978 nginx could not be built on latest Fedora 9 Linux.<br/>
6979 Thanks to Roxis. 6979 Thanks to Roxis.
6980 </para> 6980 </para>
6985 6985
6986 <changes ver="0.7.0" date="19.05.2008"> 6986 <changes ver="0.7.0" date="19.05.2008">
6987 6987
6988 <change type="change"> 6988 <change type="change">
6989 <para lang="ru"> 6989 <para lang="ru">
6990 теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/> 6990 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ 0x00-0x1F, '"' п╦ '\' п╡ access_log п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ п╡п╦п╢п╣ \xXX.<br/>
6991 Спасибо Максиму Дунину. 6991 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6992 </para> 6992 </para>
6993 <para lang="en"> 6993 <para lang="en">
6994 now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an 6994 now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
6995 access_log.<br/> 6995 access_log.<br/>
6996 Thanks to Maxim Dounin. 6996 Thanks to Maxim Dounin.
6997 </para> 6997 </para>
6998 </change> 6998 </change>
6999 6999
7000 <change type="change"> 7000 <change type="change">
7001 <para lang="ru"> 7001 <para lang="ru">
7002 теперь nginx разрешает несколько строк "Host" в заголовке запроса. 7002 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п╫п╣я│п╨п╬п╩я▄п╨п╬ я│я┌я─п╬п╨ "Host" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
7003 </para> 7003 </para>
7004 <para lang="en"> 7004 <para lang="en">
7005 now nginx allows several "Host" request header line. 7005 now nginx allows several "Host" request header line.
7006 </para> 7006 </para>
7007 </change> 7007 </change>
7008 7008
7009 <change type="feature"> 7009 <change type="feature">
7010 <para lang="ru"> 7010 <para lang="ru">
7011 директива expires поддерживает флаг modified. 7011 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я└п╩п╟пЁ modified.
7012 </para> 7012 </para>
7013 <para lang="en"> 7013 <para lang="en">
7014 the "modified" flag in the "expires" directive. 7014 the "modified" flag in the "expires" directive.
7015 </para> 7015 </para>
7016 </change> 7016 </change>
7017 7017
7018 <change type="feature"> 7018 <change type="feature">
7019 <para lang="ru"> 7019 <para lang="ru">
7020 переменные $uid_got и $uid_set можно использовать на любой стадии обработки 7020 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $uid_got п╦ $uid_set п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╟ п╩я▌п╠п╬п╧ я│я┌п╟п╢п╦п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦
7021 запроса. 7021 п╥п╟п©я─п╬я│п╟.
7022 </para> 7022 </para>
7023 <para lang="en"> 7023 <para lang="en">
7024 the $uid_got and $uid_set variables may be used at any request processing stage. 7024 the $uid_got and $uid_set variables may be used at any request processing stage.
7025 </para> 7025 </para>
7026 </change> 7026 </change>
7027 7027
7028 <change type="feature"> 7028 <change type="feature">
7029 <para lang="ru"> 7029 <para lang="ru">
7030 переменная $hostname.<br/> 7030 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $hostname.<br/>
7031 Спасибо Андрею Нигматулину. 7031 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
7032 </para> 7032 </para>
7033 <para lang="en"> 7033 <para lang="en">
7034 the $hostname variable.<br/> 7034 the $hostname variable.<br/>
7035 Thanks to Andrei Nigmatulin. 7035 Thanks to Andrei Nigmatulin.
7036 </para> 7036 </para>
7037 </change> 7037 </change>
7038 7038
7039 <change type="feature"> 7039 <change type="feature">
7040 <para lang="ru"> 7040 <para lang="ru">
7041 поддержка DESTDIR.<br/> 7041 п©п╬п╢п╢п╣я─п╤п╨п╟ DESTDIR.<br/>
7042 Спасибо Todd A. Fisher и Andras Voroskoi. 7042 п║п©п╟я│п╦п╠п╬ Todd A. Fisher п╦ Andras Voroskoi.
7043 </para> 7043 </para>
7044 <para lang="en"> 7044 <para lang="en">
7045 DESTDIR support.<br/> 7045 DESTDIR support.<br/>
7046 Thanks to Todd A. Fisher and Andras Voroskoi. 7046 Thanks to Todd A. Fisher and Andras Voroskoi.
7047 </para> 7047 </para>
7048 </change> 7048 </change>
7049 7049
7050 <change type="bugfix"> 7050 <change type="bugfix">
7051 <para lang="ru"> 7051 <para lang="ru">
7052 при использовании keepalive на Linux 7052 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ keepalive п╫п╟ Linux
7053 в рабочем процессе мог произойти segmentation fault. 7053 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
7054 </para> 7054 </para>
7055 <para lang="en"> 7055 <para lang="en">
7056 a segmentation fault might occur in worker process on Linux, 7056 a segmentation fault might occur in worker process on Linux,
7057 if keepalive was enabled. 7057 if keepalive was enabled.
7058 </para> 7058 </para>
7063 7063
7064 <changes ver="0.6.31" date="12.05.2008"> 7064 <changes ver="0.6.31" date="12.05.2008">
7065 7065
7066 <change type="bugfix"> 7066 <change type="bugfix">
7067 <para lang="ru"> 7067 <para lang="ru">
7068 nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответ была 7068 nginx п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╬я┌п╡п╣я┌ FastCGI-я│п╣я─п╡п╣я─п╟, п╣я│п╩п╦ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌ п╠я▀п╩п╟
7069 в конце записи FastCGI; 7069 п╡ п╨п╬п╫я├п╣ п╥п╟п©п╦я│п╦ FastCGI;
7070 ошибка появилась в 0.6.2.<br/> 7070 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.2.<br/>
7071 Спасибо Сергею Серову. 7071 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╣я─п╬п╡я┐.
7072 </para> 7072 </para>
7073 <para lang="en"> 7073 <para lang="en">
7074 nginx did not process FastCGI response 7074 nginx did not process FastCGI response
7075 if header was at the end of FastCGI record; 7075 if header was at the end of FastCGI record;
7076 the bug had appeared in 0.6.2.<br/> 7076 the bug had appeared in 0.6.2.<br/>
7078 </para> 7078 </para>
7079 </change> 7079 </change>
7080 7080
7081 <change type="bugfix"> 7081 <change type="bugfix">
7082 <para lang="ru"> 7082 <para lang="ru">
7083 при удалении файла и использовании директивы open_file_cache_errors off 7083 п©я─п╦ я┐п╢п╟п╩п╣п╫п╦п╦ я└п╟п╧п╩п╟ п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ open_file_cache_errors off
7084 в рабочем процессе мог произойти segmentation fault. 7084 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
7085 </para> 7085 </para>
7086 <para lang="en"> 7086 <para lang="en">
7087 a segmentation fault might occur in worker process if a file was deleted 7087 a segmentation fault might occur in worker process if a file was deleted
7088 and the "open_file_cache_errors" directive was off. 7088 and the "open_file_cache_errors" directive was off.
7089 </para> 7089 </para>
7094 7094
7095 <changes ver="0.6.30" date="29.04.2008"> 7095 <changes ver="0.6.30" date="29.04.2008">
7096 7096
7097 <change type="change"> 7097 <change type="change">
7098 <para lang="ru"> 7098 <para lang="ru">
7099 теперь, если маске, заданной в директиве include, не соответствует 7099 я┌п╣п©п╣я─я▄, п╣я│п╩п╦ п╪п╟я│п╨п╣, п╥п╟п╢п╟п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ include, п╫п╣ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌
7100 ни один файл, то nginx не выдаёт ошибку. 7100 п╫п╦ п╬п╢п╦п╫ я└п╟п╧п╩, я┌п╬ nginx п╫п╣ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐.
7101 </para> 7101 </para>
7102 <para lang="en"> 7102 <para lang="en">
7103 now if an "include" directive pattern does not match any file, 7103 now if an "include" directive pattern does not match any file,
7104 then nginx does not issue an error. 7104 then nginx does not issue an error.
7105 </para> 7105 </para>
7106 </change> 7106 </change>
7107 7107
7108 <change type="feature"> 7108 <change type="feature">
7109 <para lang="ru"> 7109 <para lang="ru">
7110 теперь время в директивах можно задавать без пробела, например, "1h50m". 7110 я┌п╣п©п╣я─я▄ п╡я─п╣п╪я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄ п╠п╣п╥ п©я─п╬п╠п╣п╩п╟, п╫п╟п©я─п╦п╪п╣я─, "1h50m".
7111 </para> 7111 </para>
7112 <para lang="en"> 7112 <para lang="en">
7113 now the time in directives may be specified without spaces, 7113 now the time in directives may be specified without spaces,
7114 for example, "1h50m". 7114 for example, "1h50m".
7115 </para> 7115 </para>
7116 </change> 7116 </change>
7117 7117
7118 <change type="bugfix"> 7118 <change type="bugfix">
7119 <para lang="ru"> 7119 <para lang="ru">
7120 утечек памяти, если директива ssl_verify_client имела значение on.<br/> 7120 я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦, п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_verify_client п╦п╪п╣п╩п╟ п╥п╫п╟я┤п╣п╫п╦п╣ on.<br/>
7121 Спасибо Chavelle Vincent. 7121 п║п©п╟я│п╦п╠п╬ Chavelle Vincent.
7122 </para> 7122 </para>
7123 <para lang="en"> 7123 <para lang="en">
7124 memory leaks if the "ssl_verify_client" directive was on.<br/> 7124 memory leaks if the "ssl_verify_client" directive was on.<br/>
7125 Thanks to Chavelle Vincent. 7125 Thanks to Chavelle Vincent.
7126 </para> 7126 </para>
7127 </change> 7127 </change>
7128 7128
7129 <change type="bugfix"> 7129 <change type="bugfix">
7130 <para lang="ru"> 7130 <para lang="ru">
7131 директива sub_filter могла вставлять заменяемый текст в вывод. 7131 п╢п╦я─п╣п╨я┌п╦п╡п╟ sub_filter п╪п╬пЁп╩п╟ п╡я│я┌п╟п╡п╩я▐я┌я▄ п╥п╟п╪п╣п╫я▐п╣п╪я▀п╧ я┌п╣п╨я│я┌ п╡ п╡я▀п╡п╬п╢.
7132 </para> 7132 </para>
7133 <para lang="en"> 7133 <para lang="en">
7134 the "sub_filter" directive might set text to change into output. 7134 the "sub_filter" directive might set text to change into output.
7135 </para> 7135 </para>
7136 </change> 7136 </change>
7137 7137
7138 <change type="bugfix"> 7138 <change type="bugfix">
7139 <para lang="ru"> 7139 <para lang="ru">
7140 директива error_page не воспринимала параметры в перенаправляемом URI. 7140 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п╡п╬я│п©я─п╦п╫п╦п╪п╟п╩п╟ п©п╟я─п╟п╪п╣я┌я─я▀ п╡ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╣п╪п╬п╪ URI.
7141 </para> 7141 </para>
7142 <para lang="en"> 7142 <para lang="en">
7143 the "error_page" directive did not take into account arguments in 7143 the "error_page" directive did not take into account arguments in
7144 redirected URI. 7144 redirected URI.
7145 </para> 7145 </para>
7146 </change> 7146 </change>
7147 7147
7148 <change type="bugfix"> 7148 <change type="bugfix">
7149 <para lang="ru"> 7149 <para lang="ru">
7150 теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме. 7150 я┌п╣п©п╣я─я▄ п©я─п╦ я│п╠п╬я─п╨п╣ я│ Cygwin nginx п╡я│п╣пЁп╢п╟ п╬я┌п╨я─я▀п╡п╟п╣я┌ я└п╟п╧п╩я▀ п╡ п╠п╦п╫п╟я─п╫п╬п╪ я─п╣п╤п╦п╪п╣.
7151 </para> 7151 </para>
7152 <para lang="en"> 7152 <para lang="en">
7153 now nginx always opens files in binary mode under Cygwin. 7153 now nginx always opens files in binary mode under Cygwin.
7154 </para> 7154 </para>
7155 </change> 7155 </change>
7156 7156
7157 <change type="bugfix"> 7157 <change type="bugfix">
7158 <para lang="ru"> 7158 <para lang="ru">
7159 nginx не собирался под OpenBSD; 7159 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ OpenBSD;
7160 ошибка появилась в 0.6.15. 7160 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.15.
7161 </para> 7161 </para>
7162 <para lang="en"> 7162 <para lang="en">
7163 nginx could not be built on OpenBSD; 7163 nginx could not be built on OpenBSD;
7164 the bug had appeared in 0.6.15. 7164 the bug had appeared in 0.6.15.
7165 </para> 7165 </para>
7170 7170
7171 <changes ver="0.6.29" date="18.03.2008"> 7171 <changes ver="0.6.29" date="18.03.2008">
7172 7172
7173 <change type="feature"> 7173 <change type="feature">
7174 <para lang="ru"> 7174 <para lang="ru">
7175 модуль ngx_google_perftools_module. 7175 п╪п╬п╢я┐п╩я▄ ngx_google_perftools_module.
7176 </para> 7176 </para>
7177 <para lang="en"> 7177 <para lang="en">
7178 the ngx_google_perftools_module. 7178 the ngx_google_perftools_module.
7179 </para> 7179 </para>
7180 </change> 7180 </change>
7181 7181
7182 <change type="bugfix"> 7182 <change type="bugfix">
7183 <para lang="ru"> 7183 <para lang="ru">
7184 модуль ngx_http_perl_module не собирался на 64-битных платформах; 7184 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
7185 ошибка появилась в 0.6.27. 7185 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.27.
7186 </para> 7186 </para>
7187 <para lang="en"> 7187 <para lang="en">
7188 the ngx_http_perl_module could not be built on 64-bit platforms; 7188 the ngx_http_perl_module could not be built on 64-bit platforms;
7189 the bug had appeared in 0.6.27. 7189 the bug had appeared in 0.6.27.
7190 </para> 7190 </para>
7195 7195
7196 <changes ver="0.6.28" date="13.03.2008"> 7196 <changes ver="0.6.28" date="13.03.2008">
7197 7197
7198 <change type="bugfix"> 7198 <change type="bugfix">
7199 <para lang="ru"> 7199 <para lang="ru">
7200 метод rtsig не собирался; 7200 п╪п╣я┌п╬п╢ rtsig п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐;
7201 ошибка появилась в 0.6.27. 7201 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.27.
7202 </para> 7202 </para>
7203 <para lang="en"> 7203 <para lang="en">
7204 the rtsig method could not be built; 7204 the rtsig method could not be built;
7205 the bug had appeared in 0.6.27. 7205 the bug had appeared in 0.6.27.
7206 </para> 7206 </para>
7211 7211
7212 <changes ver="0.6.27" date="12.03.2008"> 7212 <changes ver="0.6.27" date="12.03.2008">
7213 7213
7214 <change type="change"> 7214 <change type="change">
7215 <para lang="ru"> 7215 <para lang="ru">
7216 теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig. 7216 я┌п╣п©п╣я─я▄ п╫п╟ Linux 2.6.18+ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я│п╬п╠п╦я─п╟п╣я┌я│я▐ п╪п╣я┌п╬п╢ rtsig.
7217 </para> 7217 </para>
7218 <para lang="en"> 7218 <para lang="en">
7219 now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr> 7219 now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
7220 </para> 7220 </para>
7221 </change> 7221 </change>
7222 7222
7223 <change type="change"> 7223 <change type="change">
7224 <para lang="ru"> 7224 <para lang="ru">
7225 теперь при перенаправлении запроса в именованный location с помощью 7225 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location я│ п©п╬п╪п╬я┴я▄я▌
7226 директивы error_page метод запроса не изменяется. 7226 п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╪п╣я┌п╬п╢ п╥п╟п©я─п╬я│п╟ п╫п╣ п╦п╥п╪п╣п╫я▐п╣я┌я│я▐.
7227 </para> 7227 </para>
7228 <para lang="en"> 7228 <para lang="en">
7229 now a request method is not changed while redirection to a named location 7229 now a request method is not changed while redirection to a named location
7230 via an "error_page" directive. 7230 via an "error_page" directive.
7231 </para> 7231 </para>
7232 </change> 7232 </change>
7233 7233
7234 <change type="feature"> 7234 <change type="feature">
7235 <para lang="ru"> 7235 <para lang="ru">
7236 директивы resolver и resolver_timeout в SMTP прокси-сервере. 7236 п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╦ resolver_timeout п╡ SMTP п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣.
7237 </para> 7237 </para>
7238 <para lang="en"> 7238 <para lang="en">
7239 the "resolver" and "resolver_timeout" directives in SMTP proxy. 7239 the "resolver" and "resolver_timeout" directives in SMTP proxy.
7240 </para> 7240 </para>
7241 </change> 7241 </change>
7242 7242
7243 <change type="feature"> 7243 <change type="feature">
7244 <para lang="ru"> 7244 <para lang="ru">
7245 директива post_action поддерживает именованные location'ы. 7245 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ location'я▀.
7246 </para> 7246 </para>
7247 <para lang="en"> 7247 <para lang="en">
7248 the "post_action" directive supports named locations. 7248 the "post_action" directive supports named locations.
7249 </para> 7249 </para>
7250 </change> 7250 </change>
7251 7251
7252 <change type="bugfix"> 7252 <change type="bugfix">
7253 <para lang="ru"> 7253 <para lang="ru">
7254 при перенаправлении запроса из location'а c обработчиком proxy, FastCGI 7254 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╦п╥ location'п╟ c п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy, FastCGI
7255 или memcached в именованный location со статическим обработчиком 7255 п╦п╩п╦ memcached п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location я│п╬ я│я┌п╟я┌п╦я┤п╣я│п╨п╦п╪ п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪
7256 в рабочем процессе происходил segmentation fault. 7256 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7257 </para> 7257 </para>
7258 <para lang="en"> 7258 <para lang="en">
7259 a segmentation fault occurred in worker process, 7259 a segmentation fault occurred in worker process,
7260 if a request was redirected from proxy, FastCGI, or memcached location 7260 if a request was redirected from proxy, FastCGI, or memcached location
7261 to static named locations. 7261 to static named locations.
7262 </para> 7262 </para>
7263 </change> 7263 </change>
7264 7264
7265 <change type="bugfix"> 7265 <change type="bugfix">
7266 <para lang="ru"> 7266 <para lang="ru">
7267 браузеры не повторяли SSL handshake, если при первом handshake 7267 п╠я─п╟я┐п╥п╣я─я▀ п╫п╣ п©п╬п╡я┌п╬я─я▐п╩п╦ SSL handshake, п╣я│п╩п╦ п©я─п╦ п©п╣я─п╡п╬п╪ handshake
7268 не оказалось правильного клиентского сертификата. 7268 п╫п╣ п╬п╨п╟п╥п╟п╩п╬я│я▄ п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟.
7269 <br/> 7269 <br/>
7270 Спасибо Александру Инюхину. 7270 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≤п╫я▌я┘п╦п╫я┐.
7271 </para> 7271 </para>
7272 <para lang="en"> 7272 <para lang="en">
7273 browsers did not repeat SSL handshake if there is no valid client certificate 7273 browsers did not repeat SSL handshake if there is no valid client certificate
7274 in first handshake. 7274 in first handshake.
7275 <br/> 7275 <br/>
7277 </para> 7277 </para>
7278 </change> 7278 </change>
7279 7279
7280 <change type="bugfix"> 7280 <change type="bugfix">
7281 <para lang="ru"> 7281 <para lang="ru">
7282 при перенаправлении ошибок 495-497 с помощью директивы error_page 7282 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╬п╨ 495-497 я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
7283 без изменения кода ошибки nginx пытался выделить очень много памяти. 7283 п╠п╣п╥ п╦п╥п╪п╣п╫п╣п╫п╦я▐ п╨п╬п╢п╟ п╬я┬п╦п╠п╨п╦ nginx п©я▀я┌п╟п╩я│я▐ п╡я▀п╢п╣п╩п╦я┌я▄ п╬я┤п╣п╫я▄ п╪п╫п╬пЁп╬ п©п╟п╪я▐я┌п╦.
7284 </para> 7284 </para>
7285 <para lang="en"> 7285 <para lang="en">
7286 if response code 495-497 was redirected via an "error_page" directive 7286 if response code 495-497 was redirected via an "error_page" directive
7287 without code change, then nginx tried to allocate too many memory. 7287 without code change, then nginx tried to allocate too many memory.
7288 </para> 7288 </para>
7289 </change> 7289 </change>
7290 7290
7291 <change type="bugfix"> 7291 <change type="bugfix">
7292 <para lang="ru"> 7292 <para lang="ru">
7293 утечки памяти в долгоживущих небуфферизированных соединениях. 7293 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ п╢п╬п╩пЁп╬п╤п╦п╡я┐я┴п╦я┘ п╫п╣п╠я┐я└я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐я┘.
7294 </para> 7294 </para>
7295 <para lang="en"> 7295 <para lang="en">
7296 memory leak in long-lived non buffered connections. 7296 memory leak in long-lived non buffered connections.
7297 </para> 7297 </para>
7298 </change> 7298 </change>
7299 7299
7300 <change type="bugfix"> 7300 <change type="bugfix">
7301 <para lang="ru"> 7301 <para lang="ru">
7302 утечки памяти в resolver'е. 7302 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ resolver'п╣.
7303 </para> 7303 </para>
7304 <para lang="en"> 7304 <para lang="en">
7305 memory leak in resolver. 7305 memory leak in resolver.
7306 </para> 7306 </para>
7307 </change> 7307 </change>
7308 7308
7309 <change type="bugfix"> 7309 <change type="bugfix">
7310 <para lang="ru"> 7310 <para lang="ru">
7311 при перенаправлении запроса из location'а c обработчиком proxy 7311 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╦п╥ location'п╟ c п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy
7312 в другой location с обработчиком proxy 7312 п╡ п╢я─я┐пЁп╬п╧ location я│ п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy
7313 в рабочем процессе происходил segmentation fault. 7313 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7314 </para> 7314 </para>
7315 <para lang="en"> 7315 <para lang="en">
7316 a segmentation fault occurred in worker process, 7316 a segmentation fault occurred in worker process,
7317 if a request was redirected from proxy, FastCGI, or memcached location 7317 if a request was redirected from proxy, FastCGI, or memcached location
7318 to static named locations. 7318 to static named locations.
7319 </para> 7319 </para>
7320 </change> 7320 </change>
7321 7321
7322 <change type="bugfix"> 7322 <change type="bugfix">
7323 <para lang="ru"> 7323 <para lang="ru">
7324 ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/> 7324 п╬я┬п╦п╠п╨п╦ п╡ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $proxy_host п╦ $proxy_port.<br/>
7325 Спасибо Сергею Боченкову. 7325 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
7326 </para> 7326 </para>
7327 <para lang="en"> 7327 <para lang="en">
7328 in the $proxy_host and $proxy_port variables caching.<br/> 7328 in the $proxy_host and $proxy_port variables caching.<br/>
7329 Thanks to Sergey Bochenkov. 7329 Thanks to Sergey Bochenkov.
7330 </para> 7330 </para>
7331 </change> 7331 </change>
7332 7332
7333 <change type="bugfix"> 7333 <change type="bugfix">
7334 <para lang="ru"> 7334 <para lang="ru">
7335 директива proxy_pass с переменными использовала порт, описанной в другой 7335 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п©п╬я─я┌, п╬п©п╦я│п╟п╫п╫п╬п╧ п╡ п╢я─я┐пЁп╬п╧
7336 директиве proxy_pass без переменных, но с таким же именем хоста.<br/> 7336 п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, п╫п╬ я│ я┌п╟п╨п╦п╪ п╤п╣ п╦п╪п╣п╫п╣п╪ я┘п╬я│я┌п╟.<br/>
7337 Спасибо Сергею Боченкову. 7337 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
7338 </para> 7338 </para>
7339 <para lang="en"> 7339 <para lang="en">
7340 a "proxy_pass" directive with variables used incorrectly the same port 7340 a "proxy_pass" directive with variables used incorrectly the same port
7341 as in another "proxy_pass" directive with the same host name 7341 as in another "proxy_pass" directive with the same host name
7342 and without variables.<br/> 7342 and without variables.<br/>
7344 </para> 7344 </para>
7345 </change> 7345 </change>
7346 7346
7347 <change type="bugfix"> 7347 <change type="bugfix">
7348 <para lang="ru"> 7348 <para lang="ru">
7349 во время переконфигурации на некоторых 64-битном платформах в лог 7349 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╟ п╫п╣п╨п╬я┌п╬я─я▀я┘ 64-п╠п╦я┌п╫п╬п╪ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п╡ п╩п╬пЁ
7350 записывался alert "sendmsg() failed (9: Bad file descriptor)". 7350 п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ alert "sendmsg() failed (9: Bad file descriptor)".
7351 </para> 7351 </para>
7352 <para lang="en"> 7352 <para lang="en">
7353 an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms 7353 an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
7354 while reconfiguration. 7354 while reconfiguration.
7355 </para> 7355 </para>
7356 </change> 7356 </change>
7357 7357
7358 <change type="bugfix"> 7358 <change type="bugfix">
7359 <para lang="ru"> 7359 <para lang="ru">
7360 при повторном использовании в SSI пустого block'а в качестве заглушки 7360 п©я─п╦ п©п╬п╡я┌п╬я─п╫п╬п╪ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ SSI п©я┐я│я┌п╬пЁп╬ block'п╟ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╟пЁп╩я┐я┬п╨п╦
7361 в рабочем процессе происходил segmentation fault. 7361 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7362 </para> 7362 </para>
7363 <para lang="en"> 7363 <para lang="en">
7364 a segmentation fault occurred in worker process, 7364 a segmentation fault occurred in worker process,
7365 if empty stub block was used second time in SSI. 7365 if empty stub block was used second time in SSI.
7366 </para> 7366 </para>
7367 </change> 7367 </change>
7368 7368
7369 <change type="bugfix"> 7369 <change type="bugfix">
7370 <para lang="ru"> 7370 <para lang="ru">
7371 ошибки при копировании части URI, содержащего экранированные символы, 7371 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ я┤п╟я│я┌п╦ URI, я│п╬п╢п╣я─п╤п╟я┴п╣пЁп╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀,
7372 в аргументы. 7372 п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀.
7373 </para> 7373 </para>
7374 <para lang="en"> 7374 <para lang="en">
7375 in copying URI part contained escaped symbols into arguments. 7375 in copying URI part contained escaped symbols into arguments.
7376 </para> 7376 </para>
7377 </change> 7377 </change>
7381 7381
7382 <changes ver="0.6.26" date="11.02.2008"> 7382 <changes ver="0.6.26" date="11.02.2008">
7383 7383
7384 <change type="bugfix"> 7384 <change type="bugfix">
7385 <para lang="ru"> 7385 <para lang="ru">
7386 директивы proxy_store и fastcgi_store не проверяли длину ответа. 7386 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store п╫п╣ п©я─п╬п╡п╣я─я▐п╩п╦ п╢п╩п╦п╫я┐ п╬я┌п╡п╣я┌п╟.
7387 </para> 7387 </para>
7388 <para lang="en"> 7388 <para lang="en">
7389 the "proxy_store" and "fastcgi_store" directives did not check 7389 the "proxy_store" and "fastcgi_store" directives did not check
7390 a response length. 7390 a response length.
7391 </para> 7391 </para>
7392 </change> 7392 </change>
7393 7393
7394 <change type="bugfix"> 7394 <change type="bugfix">
7395 <para lang="ru"> 7395 <para lang="ru">
7396 при использовании большого значения в директиве expires 7396 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╥п╫п╟я┤п╣п╫п╦я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ expires
7397 в рабочем процессе происходил segmentation fault.<br/> 7397 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
7398 Спасибо Joaquin Cuenca Abela. 7398 п║п©п╟я│п╦п╠п╬ Joaquin Cuenca Abela.
7399 </para> 7399 </para>
7400 <para lang="en"> 7400 <para lang="en">
7401 a segmentation fault occurred in worker process, 7401 a segmentation fault occurred in worker process,
7402 if big value was used in a "expires" directive.<br/> 7402 if big value was used in a "expires" directive.<br/>
7403 Thanks to Joaquin Cuenca Abela. 7403 Thanks to Joaquin Cuenca Abela.
7404 </para> 7404 </para>
7405 </change> 7405 </change>
7406 7406
7407 <change type="bugfix"> 7407 <change type="bugfix">
7408 <para lang="ru"> 7408 <para lang="ru">
7409 nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/> 7409 nginx п╫п╣п╡п╣я─п╫п╬ п╬п©я─п╣п╢п╣п╩я▐п╩ п╢п╩п╦п╫я┐ я│я┌я─п╬п╨п╦ п╨я█я┬п╟ п╫п╟ <nobr>Pentium 4.</nobr><br/>
7410 Спасибо Геннадию Махомеду. 7410 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
7411 </para> 7411 </para>
7412 <para lang="en"> 7412 <para lang="en">
7413 nginx incorrectly detected cache line size on Pentium 4.<br/> 7413 nginx incorrectly detected cache line size on Pentium 4.<br/>
7414 Thanks to Gena Makhomed. 7414 Thanks to Gena Makhomed.
7415 </para> 7415 </para>
7416 </change> 7416 </change>
7417 7417
7418 <change type="bugfix"> 7418 <change type="bugfix">
7419 <para lang="ru"> 7419 <para lang="ru">
7420 в проксированных подзапросах и подзапросах к FastCGI-серверу 7420 п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╦ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╨ FastCGI-я│п╣я─п╡п╣я─я┐
7421 вместо метода GET использовался оригинальный метод клиента. 7421 п╡п╪п╣я│я┌п╬ п╪п╣я┌п╬п╢п╟ GET п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╪п╣я┌п╬п╢ п╨п╩п╦п╣п╫я┌п╟.
7422 </para> 7422 </para>
7423 <para lang="en"> 7423 <para lang="en">
7424 in proxied or FastCGI subrequests a client original method was used 7424 in proxied or FastCGI subrequests a client original method was used
7425 instead of the GET method. 7425 instead of the GET method.
7426 </para> 7426 </para>
7427 </change> 7427 </change>
7428 7428
7429 <change type="bugfix"> 7429 <change type="bugfix">
7430 <para lang="ru"> 7430 <para lang="ru">
7431 утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 7431 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡ п╡ я─п╣п╤п╦п╪п╣ HTTPS п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╩п╬п╤п╣п╫п╫п╬пЁп╬ accept'п╟.<br/>
7432 Спасибо Ben Maurer. 7432 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7433 </para> 7433 </para>
7434 <para lang="en"> 7434 <para lang="en">
7435 socket leak in HTTPS mode if deferred accept was used.<br/> 7435 socket leak in HTTPS mode if deferred accept was used.<br/>
7436 Thanks to Ben Maurer. 7436 Thanks to Ben Maurer.
7437 </para> 7437 </para>
7438 </change> 7438 </change>
7439 7439
7440 <change type="bugfix"> 7440 <change type="bugfix">
7441 <para lang="ru"> 7441 <para lang="ru">
7442 nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; 7442 nginx п╡я▀п╢п╟п╡п╟п╩ п╬я┬п╦п╠п╬я┤п╫п╬п╣ я│п╬п╬п╠я┴п╣п╫п╦п╣ "SSL_shutdown() failed (SSL: )";
7443 ошибка появилась в 0.6.23. 7443 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7444 </para> 7444 </para>
7445 <para lang="en"> 7445 <para lang="en">
7446 nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; 7446 nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
7447 the bug had appeared in 0.6.23. 7447 the bug had appeared in 0.6.23.
7448 </para> 7448 </para>
7449 </change> 7449 </change>
7450 7450
7451 <change type="bugfix"> 7451 <change type="bugfix">
7452 <para lang="ru"> 7452 <para lang="ru">
7453 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 7453 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry";
7454 ошибка появилась в 0.6.23. 7454 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7455 </para> 7455 </para>
7456 <para lang="en"> 7456 <para lang="en">
7457 in HTTPS mode requests might fail with the "bad write retry" error; 7457 in HTTPS mode requests might fail with the "bad write retry" error;
7458 the bug had appeared in 0.6.23. 7458 the bug had appeared in 0.6.23.
7459 </para> 7459 </para>
7464 7464
7465 <changes ver="0.6.25" date="08.01.2008"> 7465 <changes ver="0.6.25" date="08.01.2008">
7466 7466
7467 <change type="change"> 7467 <change type="change">
7468 <para lang="ru"> 7468 <para lang="ru">
7469 вместо специального параметра "*" в директиве server_name теперь 7469 п╡п╪п╣я│я┌п╬ я│п©п╣я├п╦п╟п╩я▄п╫п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟ "*" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name я┌п╣п©п╣я─я▄
7470 используется директива server_name_in_redirect. 7470 п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name_in_redirect.
7471 </para> 7471 </para>
7472 <para lang="en"> 7472 <para lang="en">
7473 now the "server_name_in_redirect" directive is used instead of 7473 now the "server_name_in_redirect" directive is used instead of
7474 the "server_name" directive's special "*" parameter. 7474 the "server_name" directive's special "*" parameter.
7475 </para> 7475 </para>
7476 </change> 7476 </change>
7477 7477
7478 <change type="change"> 7478 <change type="change">
7479 <para lang="ru"> 7479 <para lang="ru">
7480 в качестве основного имени в директиве server_name теперь 7480 п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╬я│п╫п╬п╡п╫п╬пЁп╬ п╦п╪п╣п╫п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name я┌п╣п©п╣я─я▄
7481 можно использовать имена с масками и регулярными выражениями. 7481 п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╦п╪п╣п╫п╟ я│ п╪п╟я│п╨п╟п╪п╦ п╦ я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦.
7482 </para> 7482 </para>
7483 <para lang="en"> 7483 <para lang="en">
7484 now wildcard and regex names can be used as main name in 7484 now wildcard and regex names can be used as main name in
7485 a "server_name" directive. 7485 a "server_name" directive.
7486 </para> 7486 </para>
7487 </change> 7487 </change>
7488 7488
7489 <change type="change"> 7489 <change type="change">
7490 <para lang="ru"> 7490 <para lang="ru">
7491 директива satisfy_any заменена директивой satisfy. 7491 п╢п╦я─п╣п╨я┌п╦п╡п╟ satisfy_any п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ satisfy.
7492 </para> 7492 </para>
7493 <para lang="en"> 7493 <para lang="en">
7494 the "satisfy_any" directive was replaced by the "satisfy" directive. 7494 the "satisfy_any" directive was replaced by the "satisfy" directive.
7495 </para> 7495 </para>
7496 </change> 7496 </change>
7497 7497
7498 <change type="workaround"> 7498 <change type="workaround">
7499 <para lang="ru"> 7499 <para lang="ru">
7500 после переконфигурации старые рабочие процесс могли сильно нагружать процессор 7500 п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│я┌п╟я─я▀п╣ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│ п╪п╬пЁп╩п╦ я│п╦п╩я▄п╫п╬ п╫п╟пЁя─я┐п╤п╟я┌я▄ п©я─п╬я├п╣я│я│п╬я─
7501 при запуске под Linux OpenVZ. 7501 п©я─п╦ п╥п╟п©я┐я│п╨п╣ п©п╬п╢ Linux OpenVZ.
7502 </para> 7502 </para>
7503 <para lang="en"> 7503 <para lang="en">
7504 old worker processes might hog CPU after reconfiguration if they was run 7504 old worker processes might hog CPU after reconfiguration if they was run
7505 under Linux OpenVZ. 7505 under Linux OpenVZ.
7506 </para> 7506 </para>
7507 </change> 7507 </change>
7508 7508
7509 <change type="feature"> 7509 <change type="feature">
7510 <para lang="ru"> 7510 <para lang="ru">
7511 директива min_delete_depth. 7511 п╢п╦я─п╣п╨я┌п╦п╡п╟ min_delete_depth.
7512 </para> 7512 </para>
7513 <para lang="en"> 7513 <para lang="en">
7514 the "min_delete_depth" directive. 7514 the "min_delete_depth" directive.
7515 </para> 7515 </para>
7516 </change> 7516 </change>
7517 7517
7518 <change type="bugfix"> 7518 <change type="bugfix">
7519 <para lang="ru"> 7519 <para lang="ru">
7520 методы COPY и MOVE не работали с одиночными файлами. 7520 п╪п╣я┌п╬п╢я▀ COPY п╦ MOVE п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я│ п╬п╢п╦п╫п╬я┤п╫я▀п╪п╦ я└п╟п╧п╩п╟п╪п╦.
7521 </para> 7521 </para>
7522 <para lang="en"> 7522 <para lang="en">
7523 the COPY and MOVE methods did not work with single files. 7523 the COPY and MOVE methods did not work with single files.
7524 </para> 7524 </para>
7525 </change> 7525 </change>
7526 7526
7527 <change type="bugfix"> 7527 <change type="bugfix">
7528 <para lang="ru"> 7528 <para lang="ru">
7529 модуль ngx_http_gzip_static_module не позволял работать модулю 7529 п╪п╬п╢я┐п╩я▄ ngx_http_gzip_static_module п╫п╣ п©п╬п╥п╡п╬п╩я▐п╩ я─п╟п╠п╬я┌п╟я┌я▄ п╪п╬п╢я┐п╩я▌
7530 ngx_http_dav_module; 7530 ngx_http_dav_module;
7531 ошибка появилась в 0.6.23. 7531 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7532 </para> 7532 </para>
7533 <para lang="en"> 7533 <para lang="en">
7534 the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; 7534 the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
7535 the bug had appeared in 0.6.23. 7535 the bug had appeared in 0.6.23.
7536 </para> 7536 </para>
7537 </change> 7537 </change>
7538 7538
7539 <change type="bugfix"> 7539 <change type="bugfix">
7540 <para lang="ru"> 7540 <para lang="ru">
7541 утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 7541 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡ п╡ я─п╣п╤п╦п╪п╣ HTTPS п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╩п╬п╤п╣п╫п╫п╬пЁп╬ accept'п╟.<br/>
7542 Спасибо Ben Maurer. 7542 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7543 </para> 7543 </para>
7544 <para lang="en"> 7544 <para lang="en">
7545 socket leak in HTTPS mode if deferred accept was used.<br/> 7545 socket leak in HTTPS mode if deferred accept was used.<br/>
7546 Thanks to Ben Maurer. 7546 Thanks to Ben Maurer.
7547 </para> 7547 </para>
7548 </change> 7548 </change>
7549 7549
7550 <change type="bugfix"> 7550 <change type="bugfix">
7551 <para lang="ru"> 7551 <para lang="ru">
7552 nginx не собирался без библиотеки PCRE; 7552 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
7553 ошибка появилась в 0.6.23. 7553 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7554 </para> 7554 </para>
7555 <para lang="en"> 7555 <para lang="en">
7556 nginx could not be built without PCRE library; 7556 nginx could not be built without PCRE library;
7557 the bug had appeared in 0.6.23. 7557 the bug had appeared in 0.6.23.
7558 </para> 7558 </para>
7562 7562
7563 <changes ver="0.6.24" date="27.12.2007"> 7563 <changes ver="0.6.24" date="27.12.2007">
7564 7564
7565 <change type="bugfix"> 7565 <change type="bugfix">
7566 <para lang="ru"> 7566 <para lang="ru">
7567 при использовании HTTPS в рабочем процессе мог произойти segmentation fault; 7567 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7568 ошибка появилась в 0.6.23. 7568 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7569 </para> 7569 </para>
7570 <para lang="en"> 7570 <para lang="en">
7571 a segmentation fault might occur in worker process if HTTPS was used; 7571 a segmentation fault might occur in worker process if HTTPS was used;
7572 the bug had appeared in 0.6.23. 7572 the bug had appeared in 0.6.23.
7573 </para> 7573 </para>
7578 7578
7579 <changes ver="0.6.23" date="27.12.2007"> 7579 <changes ver="0.6.23" date="27.12.2007">
7580 7580
7581 <change type="change"> 7581 <change type="change">
7582 <para lang="ru"> 7582 <para lang="ru">
7583 параметр "off" в директиве ssl_session_cache; 7583 п©п╟я─п╟п╪п╣я┌я─ "off" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ssl_session_cache;
7584 теперь этот параметр используется по умолчанию. 7584 я┌п╣п©п╣я─я▄ я█я┌п╬я┌ п©п╟я─п╟п╪п╣я┌я─ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
7585 </para> 7585 </para>
7586 <para lang="en"> 7586 <para lang="en">
7587 the "off" parameter in the "ssl_session_cache" directive; 7587 the "off" parameter in the "ssl_session_cache" directive;
7588 now this is default parameter. 7588 now this is default parameter.
7589 </para> 7589 </para>
7590 </change> 7590 </change>
7591 7591
7592 <change type="change"> 7592 <change type="change">
7593 <para lang="ru"> 7593 <para lang="ru">
7594 директива open_file_cache_retest переименована в open_file_cache_valid. 7594 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_file_cache_retest п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╟ п╡ open_file_cache_valid.
7595 </para> 7595 </para>
7596 <para lang="en"> 7596 <para lang="en">
7597 the "open_file_cache_retest" directive was renamed 7597 the "open_file_cache_retest" directive was renamed
7598 to the "open_file_cache_valid". 7598 to the "open_file_cache_valid".
7599 </para> 7599 </para>
7600 </change> 7600 </change>
7601 7601
7602 <change type="feature"> 7602 <change type="feature">
7603 <para lang="ru"> 7603 <para lang="ru">
7604 директива open_file_cache_min_uses. 7604 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_file_cache_min_uses.
7605 </para> 7605 </para>
7606 <para lang="en"> 7606 <para lang="en">
7607 the "open_file_cache_min_uses" directive. 7607 the "open_file_cache_min_uses" directive.
7608 </para> 7608 </para>
7609 </change> 7609 </change>
7610 7610
7611 <change type="feature"> 7611 <change type="feature">
7612 <para lang="ru"> 7612 <para lang="ru">
7613 модуль ngx_http_gzip_static_module. 7613 п╪п╬п╢я┐п╩я▄ ngx_http_gzip_static_module.
7614 </para> 7614 </para>
7615 <para lang="en"> 7615 <para lang="en">
7616 the ngx_http_gzip_static_module. 7616 the ngx_http_gzip_static_module.
7617 </para> 7617 </para>
7618 </change> 7618 </change>
7619 7619
7620 <change type="feature"> 7620 <change type="feature">
7621 <para lang="ru"> 7621 <para lang="ru">
7622 директива gzip_disable. 7622 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable.
7623 </para> 7623 </para>
7624 <para lang="en"> 7624 <para lang="en">
7625 the "gzip_disable" directive. 7625 the "gzip_disable" directive.
7626 </para> 7626 </para>
7627 </change> 7627 </change>
7628 7628
7629 <change type="feature"> 7629 <change type="feature">
7630 <para lang="ru"> 7630 <para lang="ru">
7631 директиву memcached_pass можно использовать внутри блока if. 7631 п╢п╦я─п╣п╨я┌п╦п╡я┐ memcached_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
7632 </para> 7632 </para>
7633 <para lang="en"> 7633 <para lang="en">
7634 the "memcached_pass" directive may be used inside the "if" block. 7634 the "memcached_pass" directive may be used inside the "if" block.
7635 </para> 7635 </para>
7636 </change> 7636 </change>
7637 7637
7638 <change type="bugfix"> 7638 <change type="bugfix">
7639 <para lang="ru"> 7639 <para lang="ru">
7640 если внутри одного location'а использовались директивы "memcached_pass" и "if", 7640 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ location'п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ "memcached_pass" п╦ "if",
7641 то в рабочем процессе происходил segmentation fault. 7641 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7642 </para> 7642 </para>
7643 <para lang="en"> 7643 <para lang="en">
7644 a segmentation fault occurred in worker process, 7644 a segmentation fault occurred in worker process,
7645 if the "memcached_pass" and "if" directives were used in the same location. 7645 if the "memcached_pass" and "if" directives were used in the same location.
7646 </para> 7646 </para>
7647 </change> 7647 </change>
7648 7648
7649 <change type="bugfix"> 7649 <change type="bugfix">
7650 <para lang="ru"> 7650 <para lang="ru">
7651 если при использовании директивы satisfy_any on" были заданы директивы 7651 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ satisfy_any on" п╠я▀п╩п╦ п╥п╟п╢п╟п╫я▀ п╢п╦я─п╣п╨я┌п╦п╡я▀
7652 не всех модулей доступа, то заданные директивы не проверялись. 7652 п╫п╣ п╡я│п╣я┘ п╪п╬п╢я┐п╩п╣п╧ п╢п╬я│я┌я┐п©п╟, я┌п╬ п╥п╟п╢п╟п╫п╫я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╫п╣ п©я─п╬п╡п╣я─я▐п╩п╦я│я▄.
7653 </para> 7653 </para>
7654 <para lang="en"> 7654 <para lang="en">
7655 if a "satisfy_any on" directive was used and not all access and auth modules 7655 if a "satisfy_any on" directive was used and not all access and auth modules
7656 directives were set, then other given access and auth directives 7656 directives were set, then other given access and auth directives
7657 were not tested; 7657 were not tested;
7658 </para> 7658 </para>
7659 </change> 7659 </change>
7660 7660
7661 <change type="bugfix"> 7661 <change type="bugfix">
7662 <para lang="ru"> 7662 <para lang="ru">
7663 параметры, заданные регулярным выражением в директиве valid_referers, 7663 п©п╟я─п╟п╪п╣я┌я─я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers,
7664 не наследовалась с предыдущего уровня. 7664 п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╟я│я▄ я│ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я┐я─п╬п╡п╫я▐.
7665 </para> 7665 </para>
7666 <para lang="en"> 7666 <para lang="en">
7667 regex parameters in a "valid_referers" directive were not inherited 7667 regex parameters in a "valid_referers" directive were not inherited
7668 from previous level. 7668 from previous level.
7669 </para> 7669 </para>
7670 </change> 7670 </change>
7671 7671
7672 <change type="bugfix"> 7672 <change type="bugfix">
7673 <para lang="ru"> 7673 <para lang="ru">
7674 директива post_action не работала, если запрос завершался с кодом 499. 7674 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╥п╟п╡п╣я─я┬п╟п╩я│я▐ я│ п╨п╬п╢п╬п╪ 499.
7675 </para> 7675 </para>
7676 <para lang="en"> 7676 <para lang="en">
7677 a "post_action" directive did run if a request was completed 7677 a "post_action" directive did run if a request was completed
7678 with 499 status code. 7678 with 499 status code.
7679 </para> 7679 </para>
7680 </change> 7680 </change>
7681 7681
7682 <change type="bugfix"> 7682 <change type="bugfix">
7683 <para lang="ru"> 7683 <para lang="ru">
7684 оптимизация использования 16K буфера для SSL-соединения.<br/> 7684 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ 16K п╠я┐я└п╣я─п╟ п╢п╩я▐ SSL-я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.<br/>
7685 Спасибо Ben Maurer. 7685 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7686 </para> 7686 </para>
7687 <para lang="en"> 7687 <para lang="en">
7688 optimization of 16K buffer usage in a SSL connection.<br/> 7688 optimization of 16K buffer usage in a SSL connection.<br/>
7689 Thanks to Ben Maurer. 7689 Thanks to Ben Maurer.
7690 </para> 7690 </para>
7691 </change> 7691 </change>
7692 7692
7693 <change type="bugfix"> 7693 <change type="bugfix">
7694 <para lang="ru"> 7694 <para lang="ru">
7695 STARTTLS в режиме SMTP не работал.<br/> 7695 STARTTLS п╡ я─п╣п╤п╦п╪п╣ SMTP п╫п╣ я─п╟п╠п╬я┌п╟п╩.<br/>
7696 Спасибо Олегу Мотиенко. 7696 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╬я┌п╦п╣п╫п╨п╬.
7697 </para> 7697 </para>
7698 <para lang="en"> 7698 <para lang="en">
7699 the STARTTLS in SMTP mode did not work.<br/> 7699 the STARTTLS in SMTP mode did not work.<br/>
7700 Thanks to Oleg Motienko. 7700 Thanks to Oleg Motienko.
7701 </para> 7701 </para>
7702 </change> 7702 </change>
7703 7703
7704 <change type="bugfix"> 7704 <change type="bugfix">
7705 <para lang="ru"> 7705 <para lang="ru">
7706 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 7706 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry";
7707 ошибка появилась в 0.5.13. 7707 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.13.
7708 </para> 7708 </para>
7709 <para lang="en"> 7709 <para lang="en">
7710 in HTTPS mode requests might fail with the "bad write retry" error; 7710 in HTTPS mode requests might fail with the "bad write retry" error;
7711 the bug had appeared in 0.5.13. 7711 the bug had appeared in 0.5.13.
7712 </para> 7712 </para>
7717 7717
7718 <changes ver="0.6.22" date="19.12.2007"> 7718 <changes ver="0.6.22" date="19.12.2007">
7719 7719
7720 <change type="change"> 7720 <change type="change">
7721 <para lang="ru"> 7721 <para lang="ru">
7722 теперь все методы модуля ngx_http_perl_module 7722 я┌п╣п©п╣я─я▄ п╡я│п╣ п╪п╣я┌п╬п╢я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module
7723 возвращают значения, скопированные в память, выделенную perl'ом. 7723 п╡п╬п╥п╡я─п╟я┴п╟я▌я┌ п╥п╫п╟я┤п╣п╫п╦я▐, я│п╨п╬п©п╦я─п╬п╡п╟п╫п╫я▀п╣ п╡ п©п╟п╪я▐я┌я▄, п╡я▀п╢п╣п╩п╣п╫п╫я┐я▌ perl'п╬п╪.
7724 </para> 7724 </para>
7725 <para lang="en"> 7725 <para lang="en">
7726 now all ngx_http_perl_module methods return values copied to perl's 7726 now all ngx_http_perl_module methods return values copied to perl's
7727 allocated memory. 7727 allocated memory.
7728 </para> 7728 </para>
7729 </change> 7729 </change>
7730 7730
7731 <change type="bugfix"> 7731 <change type="bugfix">
7732 <para lang="ru"> 7732 <para lang="ru">
7733 если nginx был собран с модулем ngx_http_perl_module, 7733 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module,
7734 использовался perl до версии 5.8.6 и perl поддерживал потоки, 7734 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ perl п╢п╬ п╡п╣я─я│п╦п╦ 5.8.6 п╦ perl п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦,
7735 то во время переконфигурации основной процесс аварийно выходил; 7735 я┌п╬ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╟п╡п╟я─п╦п╧п╫п╬ п╡я▀я┘п╬п╢п╦п╩;
7736 ошибка появилась в 0.5.9.<br/> 7736 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.<br/>
7737 Спасибо Борису Жмурову. 7737 п║п©п╟я│п╦п╠п╬ п▒п╬я─п╦я│я┐ п√п╪я┐я─п╬п╡я┐.
7738 </para> 7738 </para>
7739 <para lang="en"> 7739 <para lang="en">
7740 if nginx was built with ngx_http_perl_module, 7740 if nginx was built with ngx_http_perl_module,
7741 the perl before 5.8.6 was used, and perl supported threads, 7741 the perl before 5.8.6 was used, and perl supported threads,
7742 then during reconfiguration the master process aborted; 7742 then during reconfiguration the master process aborted;
7745 </para> 7745 </para>
7746 </change> 7746 </change>
7747 7747
7748 <change type="bugfix"> 7748 <change type="bugfix">
7749 <para lang="ru"> 7749 <para lang="ru">
7750 в методы модуля ngx_http_perl_module 7750 п╡ п╪п╣я┌п╬п╢я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module
7751 могли передаваться неверные результаты выделения в регулярных выражениях. 7751 п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫я▀п╣ я─п╣п╥я┐п╩я▄я┌п╟я┌я▀ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
7752 </para> 7752 </para>
7753 <para lang="en"> 7753 <para lang="en">
7754 the ngx_http_perl_module methods may get invalid values of the regex captures. 7754 the ngx_http_perl_module methods may get invalid values of the regex captures.
7755 </para> 7755 </para>
7756 </change> 7756 </change>
7757 7757
7758 <change type="bugfix"> 7758 <change type="bugfix">
7759 <para lang="ru"> 7759 <para lang="ru">
7760 если метод $r->has_request_body() вызывался для запроса, 7760 п╣я│п╩п╦ п╪п╣я┌п╬п╢ $r->has_request_body() п╡я▀п╥я▀п╡п╟п╩я│я▐ п╢п╩я▐ п╥п╟п©я─п╬я│п╟,
7761 у которого небольшое тело запроса было уже полностью получено, 7761 я┐ п╨п╬я┌п╬я─п╬пЁп╬ п╫п╣п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠я▀п╩п╬ я┐п╤п╣ п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╬п╩я┐я┤п╣п╫п╬,
7762 то в рабочем процессе происходил segmentation fault. 7762 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7763 </para> 7763 </para>
7764 <para lang="en"> 7764 <para lang="en">
7765 a segmentation fault occurred in worker process, 7765 a segmentation fault occurred in worker process,
7766 if the $r->has_request_body() method was called for a request 7766 if the $r->has_request_body() method was called for a request
7767 whose small request body was already received. 7767 whose small request body was already received.
7768 </para> 7768 </para>
7769 </change> 7769 </change>
7770 7770
7771 <change type="bugfix"> 7771 <change type="bugfix">
7772 <para lang="ru"> 7772 <para lang="ru">
7773 large_client_header_buffers не освобождались перед переходом в состояние 7773 large_client_header_buffers п╫п╣ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩п╦я│я▄ п©п╣я─п╣п╢ п©п╣я─п╣я┘п╬п╢п╬п╪ п╡ я│п╬я│я┌п╬я▐п╫п╦п╣
7774 keep-alive.<br/> 7774 keep-alive.<br/>
7775 Спасибо Олександру Штепе. 7775 п║п©п╟я│п╦п╠п╬ п·п╩п╣п╨я│п╟п╫п╢я─я┐ п╗я┌п╣п©п╣.
7776 </para> 7776 </para>
7777 <para lang="en"> 7777 <para lang="en">
7778 large_client_header_buffers did not freed before going to keep-alive state.<br/> 7778 large_client_header_buffers did not freed before going to keep-alive state.<br/>
7779 Thanks to Olexander Shtepa. 7779 Thanks to Olexander Shtepa.
7780 </para> 7780 </para>
7781 </change> 7781 </change>
7782 7782
7783 <change type="bugfix"> 7783 <change type="bugfix">
7784 <para lang="ru"> 7784 <para lang="ru">
7785 в переменной $upstream_addr не записывался последний адрес; 7785 п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $upstream_addr п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ п©п╬я│п╩п╣п╢п╫п╦п╧ п╟п╢я─п╣я│;
7786 ошибка появилась в 0.6.18. 7786 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.18.
7787 </para> 7787 </para>
7788 <para lang="en"> 7788 <para lang="en">
7789 the last address was missed in the $upstream_addr variable; 7789 the last address was missed in the $upstream_addr variable;
7790 the bug had appeared in 0.6.18. 7790 the bug had appeared in 0.6.18.
7791 </para> 7791 </para>
7792 </change> 7792 </change>
7793 7793
7794 <change type="bugfix"> 7794 <change type="bugfix">
7795 <para lang="ru"> 7795 <para lang="ru">
7796 директива fastcgi_catch_stderr не возвращала ошибку; 7796 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_catch_stderr п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ п╬я┬п╦п╠п╨я┐;
7797 теперь она возвращает ошибку 502, которую можно направить на следующий сервер 7797 я┌п╣п©п╣я─я▄ п╬п╫п╟ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╬я┬п╦п╠п╨я┐ 502, п╨п╬я┌п╬я─я┐я▌ п╪п╬п╤п╫п╬ п╫п╟п©я─п╟п╡п╦я┌я▄ п╫п╟ я│п╩п╣п╢я┐я▌я┴п╦п╧ я│п╣я─п╡п╣я─
7798 с помощью "fastcgi_next_upstream invalid_header". 7798 я│ п©п╬п╪п╬я┴я▄я▌ "fastcgi_next_upstream invalid_header".
7799 </para> 7799 </para>
7800 <para lang="en"> 7800 <para lang="en">
7801 the "fastcgi_catch_stderr" directive did return error code; 7801 the "fastcgi_catch_stderr" directive did return error code;
7802 now it returns 502 code, that can be rerouted to a next server using 7802 now it returns 502 code, that can be rerouted to a next server using
7803 the "fastcgi_next_upstream invalid_header" directive. 7803 the "fastcgi_next_upstream invalid_header" directive.
7804 </para> 7804 </para>
7805 </change> 7805 </change>
7806 7806
7807 <change type="bugfix"> 7807 <change type="bugfix">
7808 <para lang="ru"> 7808 <para lang="ru">
7809 при использовании директивы fastcgi_catch_stderr 7809 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_catch_stderr
7810 в основном процессе происходил segmentation fault; 7810 п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
7811 ошибка появилась в 0.6.10.<br/> 7811 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.10.<br/>
7812 Спасибо Manlio Perillo. 7812 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
7813 </para> 7813 </para>
7814 <para lang="en"> 7814 <para lang="en">
7815 a segmentation fault occurred in master process 7815 a segmentation fault occurred in master process
7816 if the "fastcgi_catch_stderr" directive was used; 7816 if the "fastcgi_catch_stderr" directive was used;
7817 the bug had appeared in 0.6.10.<br/> 7817 the bug had appeared in 0.6.10.<br/>
7824 7824
7825 <changes ver="0.6.21" date="03.12.2007"> 7825 <changes ver="0.6.21" date="03.12.2007">
7826 7826
7827 <change type="change"> 7827 <change type="change">
7828 <para lang="ru"> 7828 <para lang="ru">
7829 если в значениях переменных директивы proxy_pass используются 7829 п╣я│п╩п╦ п╡ п╥п╫п╟я┤п╣п╫п╦я▐я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐
7830 только IP-адреса, то указывать resolver не нужно. 7830 я┌п╬п╩я▄п╨п╬ IP-п╟п╢я─п╣я│п╟, я┌п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ resolver п╫п╣ п╫я┐п╤п╫п╬.
7831 </para> 7831 </para>
7832 <para lang="en"> 7832 <para lang="en">
7833 if variable values used in a "proxy_pass" directive contain IP-addresses only, 7833 if variable values used in a "proxy_pass" directive contain IP-addresses only,
7834 then a "resolver" directive is not mandatory. 7834 then a "resolver" directive is not mandatory.
7835 </para> 7835 </para>
7836 </change> 7836 </change>
7837 7837
7838 <change type="bugfix"> 7838 <change type="bugfix">
7839 <para lang="ru"> 7839 <para lang="ru">
7840 при использовании директивы proxy_pass c URI-частью 7840 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass c URI-я┤п╟я│я┌я▄я▌
7841 в рабочем процессе мог произойти segmentation fault; 7841 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7842 ошибка появилась в 0.6.19. 7842 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.19.
7843 </para> 7843 </para>
7844 <para lang="en"> 7844 <para lang="en">
7845 a segmentation fault might occur in worker process 7845 a segmentation fault might occur in worker process
7846 if a "proxy_pass" directive with URI-part was used; 7846 if a "proxy_pass" directive with URI-part was used;
7847 the bug had appeared in 0.6.19. 7847 the bug had appeared in 0.6.19.
7848 </para> 7848 </para>
7849 </change> 7849 </change>
7850 7850
7851 <change type="bugfix"> 7851 <change type="bugfix">
7852 <para lang="ru"> 7852 <para lang="ru">
7853 если resolver использовался на платформах, не поддерживающих метод kqueue, 7853 п╣я│п╩п╦ resolver п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ п╪п╣я┌п╬п╢ kqueue,
7854 то nginx выдавал alert "name is out of response".<br/> 7854 я┌п╬ nginx п╡я▀п╢п╟п╡п╟п╩ alert "name is out of response".<br/>
7855 Спасибо Андрею Нигматулину. 7855 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
7856 </para> 7856 </para>
7857 <para lang="en"> 7857 <para lang="en">
7858 if resolver was used on platform that does not support kqueue, 7858 if resolver was used on platform that does not support kqueue,
7859 then nginx issued an alert "name is out of response".<br/> 7859 then nginx issued an alert "name is out of response".<br/>
7860 Thanks to Andrei Nigmatulin. 7860 Thanks to Andrei Nigmatulin.
7861 </para> 7861 </para>
7862 </change> 7862 </change>
7863 7863
7864 <change type="bugfix"> 7864 <change type="bugfix">
7865 <para lang="ru"> 7865 <para lang="ru">
7866 При использовании переменной $server_protocol в FastCGI-параметрах 7866 п÷я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_protocol п╡ FastCGI-п©п╟я─п╟п╪п╣я┌я─п╟я┘
7867 и запросе, длина которого была близка к значению директивы 7867 п╦ п╥п╟п©я─п╬я│п╣, п╢п╩п╦п╫п╟ п╨п╬я┌п╬я─п╬пЁп╬ п╠я▀п╩п╟ п╠п╩п╦п╥п╨п╟ п╨ п╥п╫п╟я┤п╣п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀
7868 client_header_buffer_size, 7868 client_header_buffer_size,
7869 nginx выдавал alert "fastcgi: the request record is too big". 7869 nginx п╡я▀п╢п╟п╡п╟п╩ alert "fastcgi: the request record is too big".
7870 </para> 7870 </para>
7871 <para lang="en"> 7871 <para lang="en">
7872 if the $server_protocol was used in FastCGI parameters 7872 if the $server_protocol was used in FastCGI parameters
7873 and a request line length was near to the "client_header_buffer_size" 7873 and a request line length was near to the "client_header_buffer_size"
7874 directive value, 7874 directive value,
7876 </para> 7876 </para>
7877 </change> 7877 </change>
7878 7878
7879 <change type="bugfix"> 7879 <change type="bugfix">
7880 <para lang="ru"> 7880 <para lang="ru">
7881 при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал 7881 п©я─п╦ п╬п╠я▀я┤п╫п╬п╪ п╥п╟п©я─п╬я│п╣ п╡п╣я─я│п╦п╦ HTTP/0.9 п╨ HTTPS я│п╣я─п╡п╣я─я┐ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩
7882 обычный ответ. 7882 п╬п╠я▀я┤п╫я▀п╧ п╬я┌п╡п╣я┌.
7883 </para> 7883 </para>
7884 <para lang="en"> 7884 <para lang="en">
7885 if a plain text HTTP/0.9 version request was made to HTTPS server, 7885 if a plain text HTTP/0.9 version request was made to HTTPS server,
7886 then nginx returned usual response. 7886 then nginx returned usual response.
7887 </para> 7887 </para>
7892 7892
7893 <changes ver="0.6.20" date="28.11.2007"> 7893 <changes ver="0.6.20" date="28.11.2007">
7894 7894
7895 <change type="bugfix"> 7895 <change type="bugfix">
7896 <para lang="ru"> 7896 <para lang="ru">
7897 при использовании директивы proxy_pass c URI-частью 7897 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass c URI-я┤п╟я│я┌я▄я▌
7898 в рабочем процессе мог произойти segmentation fault; 7898 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7899 ошибка появилась в 0.6.19. 7899 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.19.
7900 </para> 7900 </para>
7901 <para lang="en"> 7901 <para lang="en">
7902 a segmentation fault might occur in worker process 7902 a segmentation fault might occur in worker process
7903 if a "proxy_pass" directive with URI-part was used; 7903 if a "proxy_pass" directive with URI-part was used;
7904 the bug had appeared in 0.6.19. 7904 the bug had appeared in 0.6.19.
7910 7910
7911 <changes ver="0.6.19" date="27.11.2007"> 7911 <changes ver="0.6.19" date="27.11.2007">
7912 7912
7913 <change type="bugfix"> 7913 <change type="bugfix">
7914 <para lang="ru"> 7914 <para lang="ru">
7915 версия 0.6.18 не собиралась. 7915 п╡п╣я─я│п╦я▐ 0.6.18 п╫п╣ я│п╬п╠п╦я─п╟п╩п╟я│я▄.
7916 </para> 7916 </para>
7917 <para lang="en"> 7917 <para lang="en">
7918 the 0.6.18 version could not be built. 7918 the 0.6.18 version could not be built.
7919 </para> 7919 </para>
7920 </change> 7920 </change>
7923 7923
7924 <changes ver="0.6.18" date="27.11.2007"> 7924 <changes ver="0.6.18" date="27.11.2007">
7925 7925
7926 <change type="change"> 7926 <change type="change">
7927 <para lang="ru"> 7927 <para lang="ru">
7928 теперь модуль ngx_http_userid_module в поле куки с номером процесса 7928 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_userid_module п╡ п©п╬п╩п╣ п╨я┐п╨п╦ я│ п╫п╬п╪п╣я─п╬п╪ п©я─п╬я├п╣я│я│п╟
7929 добавляет микросекунды на время старта. 7929 п╢п╬п╠п╟п╡п╩я▐п╣я┌ п╪п╦п╨я─п╬я│п╣п╨я┐п╫п╢я▀ п╫п╟ п╡я─п╣п╪я▐ я│я┌п╟я─я┌п╟.
7930 </para> 7930 </para>
7931 <para lang="en"> 7931 <para lang="en">
7932 now the ngx_http_userid_module adds start time microseconds 7932 now the ngx_http_userid_module adds start time microseconds
7933 to the cookie field contains a pid value. 7933 to the cookie field contains a pid value.
7934 </para> 7934 </para>
7935 </change> 7935 </change>
7936 7936
7937 <change type="change"> 7937 <change type="change">
7938 <para lang="ru"> 7938 <para lang="ru">
7939 в error_log теперь записывается полная строка запроса вместо только URI. 7939 п╡ error_log я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п©п╬п╩п╫п╟я▐ я│я┌я─п╬п╨п╟ п╥п╟п©я─п╬я│п╟ п╡п╪п╣я│я┌п╬ я┌п╬п╩я▄п╨п╬ URI.
7940 </para> 7940 </para>
7941 <para lang="en"> 7941 <para lang="en">
7942 now the full request line instead of URI only is written to error_log. 7942 now the full request line instead of URI only is written to error_log.
7943 </para> 7943 </para>
7944 </change> 7944 </change>
7945 7945
7946 <change type="feature"> 7946 <change type="feature">
7947 <para lang="ru"> 7947 <para lang="ru">
7948 директива proxy_pass поддерживает переменные. 7948 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
7949 </para> 7949 </para>
7950 <para lang="en"> 7950 <para lang="en">
7951 variables support in the "proxy_pass" directive. 7951 variables support in the "proxy_pass" directive.
7952 </para> 7952 </para>
7953 </change> 7953 </change>
7954 7954
7955 <change type="feature"> 7955 <change type="feature">
7956 <para lang="ru"> 7956 <para lang="ru">
7957 директивы resolver и resolver_timeout. 7957 п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╦ resolver_timeout.
7958 </para> 7958 </para>
7959 <para lang="en"> 7959 <para lang="en">
7960 the "resolver" and "resolver_timeout" directives. 7960 the "resolver" and "resolver_timeout" directives.
7961 </para> 7961 </para>
7962 </change> 7962 </change>
7963 7963
7964 <change type="feature"> 7964 <change type="feature">
7965 <para lang="ru"> 7965 <para lang="ru">
7966 теперь директива "add_header last-modified ''" удаляет в заголовке ответа 7966 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header last-modified ''" я┐п╢п╟п╩я▐п╣я┌ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
7967 строку "Last-Modified". 7967 я│я┌я─п╬п╨я┐ "Last-Modified".
7968 </para> 7968 </para>
7969 <para lang="en"> 7969 <para lang="en">
7970 now the directive "add_header last-modified ''" deletes a "Last-Modified" 7970 now the directive "add_header last-modified ''" deletes a "Last-Modified"
7971 response header line. 7971 response header line.
7972 </para> 7972 </para>
7973 </change> 7973 </change>
7974 7974
7975 <change type="bugfix"> 7975 <change type="bugfix">
7976 <para lang="ru"> 7976 <para lang="ru">
7977 директива limit_rate не позволяла передавать на полной скорости, 7977 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п╫п╣ п©п╬п╥п╡п╬п╩я▐п╩п╟ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ п╫п╟ п©п╬п╩п╫п╬п╧ я│п╨п╬я─п╬я│я┌п╦,
7978 даже если был указан очень большой лимит. 7978 п╢п╟п╤п╣ п╣я│п╩п╦ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╬я┤п╣п╫я▄ п╠п╬п╩я▄я┬п╬п╧ п╩п╦п╪п╦я┌.
7979 </para> 7979 </para>
7980 <para lang="en"> 7980 <para lang="en">
7981 the "limit_rate" directive did not allow to use full throughput, 7981 the "limit_rate" directive did not allow to use full throughput,
7982 even if limit value was very high. 7982 even if limit value was very high.
7983 </para> 7983 </para>
7988 7988
7989 <changes ver="0.6.17" date="15.11.2007"> 7989 <changes ver="0.6.17" date="15.11.2007">
7990 7990
7991 <change type="feature"> 7991 <change type="feature">
7992 <para lang="ru"> 7992 <para lang="ru">
7993 поддержка строки "If-Range" в заголовке запроса.<br/> 7993 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "If-Range" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.<br/>
7994 Спасибо Александру Инюхину. 7994 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≤п╫я▌я┘п╦п╫я┐.
7995 </para> 7995 </para>
7996 <para lang="en"> 7996 <para lang="en">
7997 the "If-Range" request header line support.<br/> 7997 the "If-Range" request header line support.<br/>
7998 Thanks to Alexander V. Inyukhin. 7998 Thanks to Alexander V. Inyukhin.
7999 </para> 7999 </para>
8000 </change> 8000 </change>
8001 8001
8002 <change type="bugfix"> 8002 <change type="bugfix">
8003 <para lang="ru"> 8003 <para lang="ru">
8004 при использовании директивы msie_refresh повторно экранировались 8004 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ msie_refresh п©п╬п╡я┌п╬я─п╫п╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╦я│я▄
8005 уже экранированные символы; 8005 я┐п╤п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀;
8006 ошибка появилась в 0.6.4. 8006 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.4.
8007 </para> 8007 </para>
8008 <para lang="en"> 8008 <para lang="en">
8009 URL double escaping in a redirect of the "msie_refresh" directive; 8009 URL double escaping in a redirect of the "msie_refresh" directive;
8010 the bug had appeared in 0.6.4. 8010 the bug had appeared in 0.6.4.
8011 </para> 8011 </para>
8012 </change> 8012 </change>
8013 8013
8014 <change type="bugfix"> 8014 <change type="bugfix">
8015 <para lang="ru"> 8015 <para lang="ru">
8016 директива autoindex не работала при использовании "alias /". 8016 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "alias /".
8017 </para> 8017 </para>
8018 <para lang="en"> 8018 <para lang="en">
8019 the "autoindex" directive did not work with the "alias /" directive. 8019 the "autoindex" directive did not work with the "alias /" directive.
8020 </para> 8020 </para>
8021 </change> 8021 </change>
8022 8022
8023 <change type="bugfix"> 8023 <change type="bugfix">
8024 <para lang="ru"> 8024 <para lang="ru">
8025 при использовании подзапросов 8025 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡
8026 в рабочем процессе мог произойти segmentation fault. 8026 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
8027 </para> 8027 </para>
8028 <para lang="en"> 8028 <para lang="en">
8029 a segmentation fault might occur in worker process if subrequests were used. 8029 a segmentation fault might occur in worker process if subrequests were used.
8030 </para> 8030 </para>
8031 </change> 8031 </change>
8032 8032
8033 <change type="bugfix"> 8033 <change type="bugfix">
8034 <para lang="ru"> 8034 <para lang="ru">
8035 при использовании SSL и gzip большие ответы могли передаваться не полностью. 8035 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╦ gzip п╠п╬п╩я▄я┬п╦п╣ п╬я┌п╡п╣я┌я▀ п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
8036 </para> 8036 </para>
8037 <para lang="en"> 8037 <para lang="en">
8038 the big responses may be transferred truncated if SSL and gzip were used. 8038 the big responses may be transferred truncated if SSL and gzip were used.
8039 </para> 8039 </para>
8040 </change> 8040 </change>
8041 8041
8042 <change type="bugfix"> 8042 <change type="bugfix">
8043 <para lang="ru"> 8043 <para lang="ru">
8044 если ответ проксированного сервера был версии HTTP/0.9, 8044 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╠я▀п╩ п╡п╣я─я│п╦п╦ HTTP/0.9,
8045 то переменная $status была равна 0. 8045 я┌п╬ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $status п╠я▀п╩п╟ я─п╟п╡п╫п╟ 0.
8046 </para> 8046 </para>
8047 <para lang="en"> 8047 <para lang="en">
8048 the $status variable was equal to 0 if a proxied server returned response 8048 the $status variable was equal to 0 if a proxied server returned response
8049 in HTTP/0.9 version. 8049 in HTTP/0.9 version.
8050 </para> 8050 </para>
8055 8055
8056 <changes ver="0.6.16" date="29.10.2007"> 8056 <changes ver="0.6.16" date="29.10.2007">
8057 8057
8058 <change type="change"> 8058 <change type="change">
8059 <para lang="ru"> 8059 <para lang="ru">
8060 теперь на Linux используется uname(2) вместо procfs.<br/> 8060 я┌п╣п©п╣я─я▄ п╫п╟ Linux п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ uname(2) п╡п╪п╣я│я┌п╬ procfs.<br/>
8061 Спасибо Илье Новикову. 8061 п║п©п╟я│п╦п╠п╬ п≤п╩я▄п╣ п²п╬п╡п╦п╨п╬п╡я┐.
8062 </para> 8062 </para>
8063 <para lang="en"> 8063 <para lang="en">
8064 now the uname(2) is used on Linux instead of procfs.<br/> 8064 now the uname(2) is used on Linux instead of procfs.<br/>
8065 Thanks to Ilya Novikov. 8065 Thanks to Ilya Novikov.
8066 </para> 8066 </para>
8067 </change> 8067 </change>
8068 8068
8069 <change type="bugfix"> 8069 <change type="bugfix">
8070 <para lang="ru"> 8070 <para lang="ru">
8071 если в директиве error_page использовался символ "?", то он экранировался 8071 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ error_page п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ "?", я┌п╬ п╬п╫ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩я│я▐
8072 при проксировании запроса; 8072 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╥п╟п©я─п╬я│п╟;
8073 ошибка появилась в 0.6.11. 8073 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.11.
8074 </para> 8074 </para>
8075 <para lang="en"> 8075 <para lang="en">
8076 if the "?" character was in a "error_page" directive, then it was escaped 8076 if the "?" character was in a "error_page" directive, then it was escaped
8077 in a proxied request; 8077 in a proxied request;
8078 the bug had appeared in 0.6.11. 8078 the bug had appeared in 0.6.11.
8079 </para> 8079 </para>
8080 </change> 8080 </change>
8081 8081
8082 <change type="bugfix"> 8082 <change type="bugfix">
8083 <para lang="ru"> 8083 <para lang="ru">
8084 совместимость с mget. 8084 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ mget.
8085 </para> 8085 </para>
8086 <para lang="en"> 8086 <para lang="en">
8087 compatibility with mget. 8087 compatibility with mget.
8088 </para> 8088 </para>
8089 </change> 8089 </change>
8093 8093
8094 <changes ver="0.6.15" date="22.10.2007"> 8094 <changes ver="0.6.15" date="22.10.2007">
8095 8095
8096 <change type="feature"> 8096 <change type="feature">
8097 <para lang="ru"> 8097 <para lang="ru">
8098 совместимость с Cygwin.<br/> 8098 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ Cygwin.<br/>
8099 Спасибо Владимиру Кутакову. 8099 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п я┐я┌п╟п╨п╬п╡я┐.
8100 </para> 8100 </para>
8101 <para lang="en"> 8101 <para lang="en">
8102 Cygwin compatibility.<br/> 8102 Cygwin compatibility.<br/>
8103 Thanks to Vladimir Kutakov. 8103 Thanks to Vladimir Kutakov.
8104 </para> 8104 </para>
8105 </change> 8105 </change>
8106 8106
8107 <change type="feature"> 8107 <change type="feature">
8108 <para lang="ru"> 8108 <para lang="ru">
8109 директива merge_slashes. 8109 п╢п╦я─п╣п╨я┌п╦п╡п╟ merge_slashes.
8110 </para> 8110 </para>
8111 <para lang="en"> 8111 <para lang="en">
8112 the "merge_slashes" directive. 8112 the "merge_slashes" directive.
8113 </para> 8113 </para>
8114 </change> 8114 </change>
8115 8115
8116 <change type="feature"> 8116 <change type="feature">
8117 <para lang="ru"> 8117 <para lang="ru">
8118 директива gzip_vary. 8118 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_vary.
8119 </para> 8119 </para>
8120 <para lang="en"> 8120 <para lang="en">
8121 the "gzip_vary" directive. 8121 the "gzip_vary" directive.
8122 </para> 8122 </para>
8123 </change> 8123 </change>
8124 8124
8125 <change type="feature"> 8125 <change type="feature">
8126 <para lang="ru"> 8126 <para lang="ru">
8127 директива server_tokens. 8127 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_tokens.
8128 </para> 8128 </para>
8129 <para lang="en"> 8129 <para lang="en">
8130 the "server_tokens" directive. 8130 the "server_tokens" directive.
8131 </para> 8131 </para>
8132 </change> 8132 </change>
8133 8133
8134 <change type="bugfix"> 8134 <change type="bugfix">
8135 <para lang="ru"> 8135 <para lang="ru">
8136 nginx не раскодировал URI в команде SSI include. 8136 nginx п╫п╣ я─п╟я│п╨п╬п╢п╦я─п╬п╡п╟п╩ URI п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
8137 </para> 8137 </para>
8138 <para lang="en"> 8138 <para lang="en">
8139 nginx did not unescape URI in the "include" SSI command. 8139 nginx did not unescape URI in the "include" SSI command.
8140 </para> 8140 </para>
8141 </change> 8141 </change>
8142 8142
8143 <change type="bugfix"> 8143 <change type="bugfix">
8144 <para lang="ru"> 8144 <para lang="ru">
8145 при использовании переменной в директивах charset или source_charset 8145 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ charset п╦п╩п╦ source_charset
8146 на старте или во время переконфигурации происходил segmentation fault, 8146 п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
8147 </para> 8147 </para>
8148 <para lang="en"> 8148 <para lang="en">
8149 the segmentation fault was occurred on start or while reconfiguration 8149 the segmentation fault was occurred on start or while reconfiguration
8150 if variable was used in the "charset" or "source_charset" directives. 8150 if variable was used in the "charset" or "source_charset" directives.
8151 </para> 8151 </para>
8152 </change> 8152 </change>
8153 8153
8154 <change type="bugfix"> 8154 <change type="bugfix">
8155 <para lang="ru"> 8155 <para lang="ru">
8156 nginx возвращал ошибку 400 на запросы вида 8156 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 400 п╫п╟ п╥п╟п©я─п╬я│я▀ п╡п╦п╢п╟
8157 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 8157 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
8158 Спасибо James Oakley. 8158 п║п©п╟я│п╦п╠п╬ James Oakley.
8159 </para> 8159 </para>
8160 <para lang="en"> 8160 <para lang="en">
8161 nginx returned the 400 response on requests like 8161 nginx returned the 400 response on requests like
8162 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 8162 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
8163 Thanks to James Oakley. 8163 Thanks to James Oakley.
8164 </para> 8164 </para>
8165 </change> 8165 </change>
8166 8166
8167 <change type="bugfix"> 8167 <change type="bugfix">
8168 <para lang="ru"> 8168 <para lang="ru">
8169 после перенаправления запроса с телом запроса с помощью директивы 8169 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟ я│ я┌п╣п╩п╬п╪ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀
8170 error_page nginx пытался снова прочитать тело запроса; 8170 error_page nginx п©я▀я┌п╟п╩я│я▐ я│п╫п╬п╡п╟ п©я─п╬я┤п╦я┌п╟я┌я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟;
8171 ошибка появилась в 0.6.7. 8171 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8172 </para> 8172 </para>
8173 <para lang="en"> 8173 <para lang="en">
8174 if request with request body was redirected using the "error_page" directive, 8174 if request with request body was redirected using the "error_page" directive,
8175 then nginx tried to read the request body again; 8175 then nginx tried to read the request body again;
8176 the bug had appeared in 0.6.7. 8176 the bug had appeared in 0.6.7.
8177 </para> 8177 </para>
8178 </change> 8178 </change>
8179 8179
8180 <change type="bugfix"> 8180 <change type="bugfix">
8181 <para lang="ru"> 8181 <para lang="ru">
8182 в рабочем процессе происходил segmentation fault, если у сервера, 8182 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ я┐ я│п╣я─п╡п╣я─п╟,
8183 обрабатывающему запрос, не был явно определён server_name; 8183 п╬п╠я─п╟п╠п╟я┌я▀п╡п╟я▌я┴п╣п╪я┐ п╥п╟п©я─п╬я│, п╫п╣ п╠я▀п╩ я▐п╡п╫п╬ п╬п©я─п╣п╢п╣п╩я▒п╫ server_name;
8184 ошибка появилась в 0.6.7. 8184 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8185 </para> 8185 </para>
8186 <para lang="en"> 8186 <para lang="en">
8187 a segmentation fault occurred in worker process 8187 a segmentation fault occurred in worker process
8188 if no server_name was explicitly defined for server processing request; 8188 if no server_name was explicitly defined for server processing request;
8189 the bug had appeared in 0.6.7. 8189 the bug had appeared in 0.6.7.
8195 8195
8196 <changes ver="0.6.14" date="15.10.2007"> 8196 <changes ver="0.6.14" date="15.10.2007">
8197 8197
8198 <change type="change"> 8198 <change type="change">
8199 <para lang="ru"> 8199 <para lang="ru">
8200 теперь по умолчанию команда SSI echo использует кодирование entity. 8200 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╨п╬п╪п╟п╫п╢п╟ SSI echo п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╣ entity.
8201 </para> 8201 </para>
8202 <para lang="en"> 8202 <para lang="en">
8203 now by default the "echo" SSI command uses entity encoding. 8203 now by default the "echo" SSI command uses entity encoding.
8204 </para> 8204 </para>
8205 </change> 8205 </change>
8206 8206
8207 <change type="feature"> 8207 <change type="feature">
8208 <para lang="ru"> 8208 <para lang="ru">
8209 параметр encoding в команде SSI echo. 8209 п©п╟я─п╟п╪п╣я┌я─ encoding п╡ п╨п╬п╪п╟п╫п╢п╣ SSI echo.
8210 </para> 8210 </para>
8211 <para lang="en"> 8211 <para lang="en">
8212 the "encoding" parameter in the "echo" SSI command. 8212 the "encoding" parameter in the "echo" SSI command.
8213 </para> 8213 </para>
8214 </change> 8214 </change>
8215 8215
8216 <change type="feature"> 8216 <change type="feature">
8217 <para lang="ru"> 8217 <para lang="ru">
8218 директиву access_log можно использовать внутри блока limit_except. 8218 п╢п╦я─п╣п╨я┌п╦п╡я┐ access_log п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
8219 </para> 8219 </para>
8220 <para lang="en"> 8220 <para lang="en">
8221 the "access_log" directive may be used inside the "limit_except" block. 8221 the "access_log" directive may be used inside the "limit_except" block.
8222 </para> 8222 </para>
8223 </change> 8223 </change>
8224 8224
8225 <change type="bugfix"> 8225 <change type="bugfix">
8226 <para lang="ru"> 8226 <para lang="ru">
8227 если все сервера апстрима оказывались недоступными, 8227 п╣я│п╩п╦ п╡я│п╣ я│п╣я─п╡п╣я─п╟ п╟п©я│я┌я─п╦п╪п╟ п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄ п╫п╣п╢п╬я│я┌я┐п©п╫я▀п╪п╦,
8228 то до восстановления работоспособности 8228 я┌п╬ п╢п╬ п╡п╬я│я│я┌п╟п╫п╬п╡п╩п╣п╫п╦я▐ я─п╟п╠п╬я┌п╬я│п©п╬я│п╬п╠п╫п╬я│я┌п╦
8229 у всех серверов вес становился равным одному; 8229 я┐ п╡я│п╣я┘ я│п╣я─п╡п╣я─п╬п╡ п╡п╣я│ я│я┌п╟п╫п╬п╡п╦п╩я│я▐ я─п╟п╡п╫я▀п╪ п╬п╢п╫п╬п╪я┐;
8230 ошибка появилась в 0.6.6. 8230 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8231 </para> 8231 </para>
8232 <para lang="en"> 8232 <para lang="en">
8233 if all upstream servers were failed, then all servers had got weight 8233 if all upstream servers were failed, then all servers had got weight
8234 the was equal one until servers became alive; 8234 the was equal one until servers became alive;
8235 the bug had appeared in 0.6.6. 8235 the bug had appeared in 0.6.6.
8236 </para> 8236 </para>
8237 </change> 8237 </change>
8238 8238
8239 <change type="bugfix"> 8239 <change type="bugfix">
8240 <para lang="ru"> 8240 <para lang="ru">
8241 при использовании переменных $date_local и $date_gmt вне модуля 8241 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $date_local п╦ $date_gmt п╡п╫п╣ п╪п╬п╢я┐п╩я▐
8242 ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault. 8242 ngx_http_ssi_filter_module п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
8243 </para> 8243 </para>
8244 <para lang="en"> 8244 <para lang="en">
8245 a segmentation fault occurred in worker process 8245 a segmentation fault occurred in worker process
8246 if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. 8246 if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
8247 </para> 8247 </para>
8248 </change> 8248 </change>
8249 8249
8250 <change type="bugfix"> 8250 <change type="bugfix">
8251 <para lang="ru"> 8251 <para lang="ru">
8252 при использовании включённом отладочном логе 8252 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ п╬я┌п╩п╟п╢п╬я┤п╫п╬п╪ п╩п╬пЁп╣
8253 в рабочем процессе мог произойти segmentation fault.<br/> 8253 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
8254 Спасибо Андрею Нигматулину. 8254 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
8255 </para> 8255 </para>
8256 <para lang="en"> 8256 <para lang="en">
8257 a segmentation fault might occur in worker process 8257 a segmentation fault might occur in worker process
8258 if debug log was enabled.<br/> 8258 if debug log was enabled.<br/>
8259 Thanks to Andrei Nigmatulin. 8259 Thanks to Andrei Nigmatulin.
8260 </para> 8260 </para>
8261 </change> 8261 </change>
8262 8262
8263 <change type="bugfix"> 8263 <change type="bugfix">
8264 <para lang="ru"> 8264 <para lang="ru">
8265 ngx_http_memcached_module не устанавливал $upstream_response_time.<br/> 8265 ngx_http_memcached_module п╫п╣ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩ $upstream_response_time.<br/>
8266 Спасибо Максиму Дунину. 8266 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8267 </para> 8267 </para>
8268 <para lang="en"> 8268 <para lang="en">
8269 ngx_http_memcached_module did not set $upstream_response_time.<br/> 8269 ngx_http_memcached_module did not set $upstream_response_time.<br/>
8270 Thanks to Maxim Dounin. 8270 Thanks to Maxim Dounin.
8271 </para> 8271 </para>
8272 </change> 8272 </change>
8273 8273
8274 <change type="bugfix"> 8274 <change type="bugfix">
8275 <para lang="ru"> 8275 <para lang="ru">
8276 рабочий процесс мог зациклиться при использовании memcached. 8276 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ memcached.
8277 </para> 8277 </para>
8278 <para lang="en"> 8278 <para lang="en">
8279 a worker process may got caught in an endless loop, if the memcached was used. 8279 a worker process may got caught in an endless loop, if the memcached was used.
8280 </para> 8280 </para>
8281 </change> 8281 </change>
8282 8282
8283 <change type="bugfix"> 8283 <change type="bugfix">
8284 <para lang="ru"> 8284 <para lang="ru">
8285 nginx распознавал параметры "close" и "keep-alive" в строке "Connection" 8285 nginx я─п╟я│п©п╬п╥п╫п╟п╡п╟п╩ п©п╟я─п╟п╪п╣я┌я─я▀ "close" п╦ "keep-alive" п╡ я│я┌я─п╬п╨п╣ "Connection"
8286 в заголовке запроса только, если они были в нижнем регистре; 8286 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ я┌п╬п╩я▄п╨п╬, п╣я│п╩п╦ п╬п╫п╦ п╠я▀п╩п╦ п╡ п╫п╦п╤п╫п╣п╪ я─п╣пЁп╦я│я┌я─п╣;
8287 ошибка появилась в 0.6.11. 8287 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.11.
8288 </para> 8288 </para>
8289 <para lang="en"> 8289 <para lang="en">
8290 nginx supported low case only "close" and "keep-alive" values 8290 nginx supported low case only "close" and "keep-alive" values
8291 in the "Connection" request header line; 8291 in the "Connection" request header line;
8292 the bug had appeared in 0.6.11. 8292 the bug had appeared in 0.6.11.
8293 </para> 8293 </para>
8294 </change> 8294 </change>
8295 8295
8296 <change type="bugfix"> 8296 <change type="bugfix">
8297 <para lang="ru"> 8297 <para lang="ru">
8298 sub_filter не работал с пустой строкой замены. 8298 sub_filter п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п©я┐я│я┌п╬п╧ я│я┌я─п╬п╨п╬п╧ п╥п╟п╪п╣п╫я▀.
8299 </para> 8299 </para>
8300 <para lang="en"> 8300 <para lang="en">
8301 sub_filter did not work with empty substitution. 8301 sub_filter did not work with empty substitution.
8302 </para> 8302 </para>
8303 </change> 8303 </change>
8304 8304
8305 <change type="bugfix"> 8305 <change type="bugfix">
8306 <para lang="ru"> 8306 <para lang="ru">
8307 в парсинге sub_filter. 8307 п╡ п©п╟я─я│п╦п╫пЁп╣ sub_filter.
8308 </para> 8308 </para>
8309 <para lang="en"> 8309 <para lang="en">
8310 in sub_filter parsing. 8310 in sub_filter parsing.
8311 </para> 8311 </para>
8312 </change> 8312 </change>
8316 8316
8317 <changes ver="0.6.13" date="24.09.2007"> 8317 <changes ver="0.6.13" date="24.09.2007">
8318 8318
8319 <change type="bugfix"> 8319 <change type="bugfix">
8320 <para lang="ru"> 8320 <para lang="ru">
8321 nginx не закрывал файл каталога для запроса HEAD, 8321 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я└п╟п╧п╩ п╨п╟я┌п╟п╩п╬пЁп╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╟ HEAD,
8322 если использовался autoindex<br/> 8322 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ autoindex<br/>
8323 Спасибо Arkadiusz Patyk. 8323 п║п©п╟я│п╦п╠п╬ Arkadiusz Patyk.
8324 </para> 8324 </para>
8325 <para lang="en"> 8325 <para lang="en">
8326 nginx did not close directory file on HEAD request if autoindex was used.<br/> 8326 nginx did not close directory file on HEAD request if autoindex was used.<br/>
8327 Thanks to Arkadiusz Patyk. 8327 Thanks to Arkadiusz Patyk.
8328 </para> 8328 </para>
8333 8333
8334 <changes ver="0.6.12" date="21.09.2007"> 8334 <changes ver="0.6.12" date="21.09.2007">
8335 8335
8336 <change type="change"> 8336 <change type="change">
8337 <para lang="ru"> 8337 <para lang="ru">
8338 почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp. 8338 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ я─п╟п╥п╢п╣п╩я▒п╫ п╫п╟ я┌я─п╦ п╪п╬п╢я┐п╩я▐: pop3, imap п╦ smtp.
8339 </para> 8339 </para>
8340 <para lang="en"> 8340 <para lang="en">
8341 mail proxy was split on three modules: pop3, imap and smtp. 8341 mail proxy was split on three modules: pop3, imap and smtp.
8342 </para> 8342 </para>
8343 </change> 8343 </change>
8344 8344
8345 <change type="feature"> 8345 <change type="feature">
8346 <para lang="ru"> 8346 <para lang="ru">
8347 параметры конфигурации --without-mail_pop3_module, 8347 п©п╟я─п╟п╪п╣я┌я─я▀ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --without-mail_pop3_module,
8348 --without-mail_imap_module и --without-mail_smtp_module. 8348 --without-mail_imap_module п╦ --without-mail_smtp_module.
8349 </para> 8349 </para>
8350 <para lang="en"> 8350 <para lang="en">
8351 the --without-mail_pop3_module, --without-mail_imap_module, 8351 the --without-mail_pop3_module, --without-mail_imap_module,
8352 and --without-mail_smtp_module configuration parameters. 8352 and --without-mail_smtp_module configuration parameters.
8353 </para> 8353 </para>
8354 </change> 8354 </change>
8355 8355
8356 <change type="feature"> 8356 <change type="feature">
8357 <para lang="ru"> 8357 <para lang="ru">
8358 директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module. 8358 п╢п╦я─п╣п╨я┌п╦п╡я▀ smtp_greeting_delay п╦ smtp_client_buffer п╪п╬п╢я┐п╩я▐ ngx_mail_smtp_module.
8359 </para> 8359 </para>
8360 <para lang="en"> 8360 <para lang="en">
8361 the "smtp_greeting_delay" and "smtp_client_buffer" directives 8361 the "smtp_greeting_delay" and "smtp_client_buffer" directives
8362 of the ngx_mail_smtp_module. 8362 of the ngx_mail_smtp_module.
8363 </para> 8363 </para>
8364 </change> 8364 </change>
8365 8365
8366 <change type="bugfix"> 8366 <change type="bugfix">
8367 <para lang="ru"> 8367 <para lang="ru">
8368 wildcard в конце имени сервера не работали; 8368 wildcard п╡ п╨п╬п╫я├п╣ п╦п╪п╣п╫п╦ я│п╣я─п╡п╣я─п╟ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
8369 ошибка появилась в 0.6.9. 8369 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.9.
8370 </para> 8370 </para>
8371 <para lang="en"> 8371 <para lang="en">
8372 the trailing wildcards did not work; 8372 the trailing wildcards did not work;
8373 the bug had appeared in 0.6.9. 8373 the bug had appeared in 0.6.9.
8374 </para> 8374 </para>
8375 </change> 8375 </change>
8376 8376
8377 <change type="bugfix"> 8377 <change type="bugfix">
8378 <para lang="ru"> 8378 <para lang="ru">
8379 при использовании разделяемой библиотеки PCRE, 8379 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE,
8380 расположенной в нестандартном месте, nginx не запускался на Solaris. 8380 я─п╟я│п©п╬п╩п╬п╤п╣п╫п╫п╬п╧ п╡ п╫п╣я│я┌п╟п╫п╢п╟я─я┌п╫п╬п╪ п╪п╣я│я┌п╣, nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ Solaris.
8381 </para> 8381 </para>
8382 <para lang="en"> 8382 <para lang="en">
8383 nginx could not start on Solaris if the shared PCRE library located 8383 nginx could not start on Solaris if the shared PCRE library located
8384 in non-standard place was used. 8384 in non-standard place was used.
8385 </para> 8385 </para>
8386 </change> 8386 </change>
8387 8387
8388 <change type="bugfix"> 8388 <change type="bugfix">
8389 <para lang="ru"> 8389 <para lang="ru">
8390 директивы proxy_hide_header и fastcgi_hide_header не скрывали 8390 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_hide_header п╦ fastcgi_hide_header п╫п╣ я│п╨я─я▀п╡п╟п╩п╦
8391 строки заголовка ответа с именем больше 32 символов.<br/> 8391 я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ я│ п╦п╪п╣п╫п╣п╪ п╠п╬п╩я▄я┬п╣ 32 я│п╦п╪п╡п╬п╩п╬п╡.<br/>
8392 Спасибо Manlio Perillo. 8392 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
8393 </para> 8393 </para>
8394 <para lang="en"> 8394 <para lang="en">
8395 the "proxy_hide_header" and "fastcgi_hide_header" directives did not 8395 the "proxy_hide_header" and "fastcgi_hide_header" directives did not
8396 hide response header lines whose name was longer than 32 characters.<br/> 8396 hide response header lines whose name was longer than 32 characters.<br/>
8397 Thanks to Manlio Perillo. 8397 Thanks to Manlio Perillo.
8403 8403
8404 <changes ver="0.6.11" date="11.09.2007"> 8404 <changes ver="0.6.11" date="11.09.2007">
8405 8405
8406 <change type="bugfix"> 8406 <change type="bugfix">
8407 <para lang="ru"> 8407 <para lang="ru">
8408 счётчик активных соединений всегда рос при использовании почтового 8408 я│я┤я▒я┌я┤п╦п╨ п╟п╨я┌п╦п╡п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧ п╡я│п╣пЁп╢п╟ я─п╬я│ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬
8409 прокси-сервера. 8409 п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟.
8410 </para> 8410 </para>
8411 <para lang="en"> 8411 <para lang="en">
8412 active connection counter always increased if mail proxy was used. 8412 active connection counter always increased if mail proxy was used.
8413 </para> 8413 </para>
8414 </change> 8414 </change>
8415 8415
8416 <change type="bugfix"> 8416 <change type="bugfix">
8417 <para lang="ru"> 8417 <para lang="ru">
8418 если бэкенд возвращал только заголовок ответа при небуферизированном 8418 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п╡п╬п╥п╡я─п╟я┴п╟п╩ я┌п╬п╩я▄п╨п╬ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п©я─п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫п╬п╪
8419 проксировании, то nginx закрывал соединение с бэкендом по таймауту. 8419 п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╠я█п╨п╣п╫п╢п╬п╪ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
8420 </para> 8420 </para>
8421 <para lang="en"> 8421 <para lang="en">
8422 if backend returned response header only using non-buffered proxy, 8422 if backend returned response header only using non-buffered proxy,
8423 then nginx closed backend connection on timeout. 8423 then nginx closed backend connection on timeout.
8424 </para> 8424 </para>
8425 </change> 8425 </change>
8426 8426
8427 <change type="bugfix"> 8427 <change type="bugfix">
8428 <para lang="ru"> 8428 <para lang="ru">
8429 nginx не поддерживал несколько строк "Connection" в заголовке запроса. 8429 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╫п╣я│п╨п╬п╩я▄п╨п╬ я│я┌я─п╬п╨ "Connection" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
8430 </para> 8430 </para>
8431 <para lang="en"> 8431 <para lang="en">
8432 nginx did not support several "Connection" request header lines. 8432 nginx did not support several "Connection" request header lines.
8433 </para> 8433 </para>
8434 </change> 8434 </change>
8435 8435
8436 <change type="bugfix"> 8436 <change type="bugfix">
8437 <para lang="ru"> 8437 <para lang="ru">
8438 если в сервере апстрима был задан max_fails, то после первой же неудачной 8438 п╣я│п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╟п©я│я┌я─п╦п╪п╟ п╠я▀п╩ п╥п╟п╢п╟п╫ max_fails, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╡п╬п╧ п╤п╣ п╫п╣я┐п╢п╟я┤п╫п╬п╧
8439 попытки вес сервера навсегда становился равным одному; 8439 п©п╬п©я▀я┌п╨п╦ п╡п╣я│ я│п╣я─п╡п╣я─п╟ п╫п╟п╡я│п╣пЁп╢п╟ я│я┌п╟п╫п╬п╡п╦п╩я│я▐ я─п╟п╡п╫я▀п╪ п╬п╢п╫п╬п╪я┐;
8440 ошибка появилась в 0.6.6. 8440 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8441 </para> 8441 </para>
8442 <para lang="en"> 8442 <para lang="en">
8443 if the "max_fails" was set for upstream server, then after first 8443 if the "max_fails" was set for upstream server, then after first
8444 failure server weight was always one; 8444 failure server weight was always one;
8445 the bug had appeared in 0.6.6. 8445 the bug had appeared in 0.6.6.
8451 8451
8452 <changes ver="0.6.10" date="03.09.2007"> 8452 <changes ver="0.6.10" date="03.09.2007">
8453 8453
8454 <change type="feature"> 8454 <change type="feature">
8455 <para lang="ru"> 8455 <para lang="ru">
8456 директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. 8456 п╢п╦я─п╣п╨я┌п╦п╡я▀ open_file_cache, open_file_cache_retest п╦ open_file_cache_errors.
8457 </para> 8457 </para>
8458 <para lang="en"> 8458 <para lang="en">
8459 the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" 8459 the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
8460 directives. 8460 directives.
8461 </para> 8461 </para>
8462 </change> 8462 </change>
8463 8463
8464 <change type="bugfix"> 8464 <change type="bugfix">
8465 <para lang="ru"> 8465 <para lang="ru">
8466 утечки сокетов; 8466 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
8467 ошибка появилась в 0.6.7. 8467 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8468 </para> 8468 </para>
8469 <para lang="en"> 8469 <para lang="en">
8470 socket leak; 8470 socket leak;
8471 the bug had appeared in 0.6.7. 8471 the bug had appeared in 0.6.7.
8472 </para> 8472 </para>
8473 </change> 8473 </change>
8474 8474
8475 <change type="bugfix"> 8475 <change type="bugfix">
8476 <para lang="ru"> 8476 <para lang="ru">
8477 В строку заголовка ответа "Content-Type", указанную в методе 8477 п▓ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Content-Type", я┐п╨п╟п╥п╟п╫п╫я┐я▌ п╡ п╪п╣я┌п╬п╢п╣
8478 $r->send_http_header(), не добавлялась кодировка, указанная в директиве charset. 8478 $r->send_http_header(), п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩п╟я│я▄ п╨п╬п╢п╦я─п╬п╡п╨п╟, я┐п╨п╟п╥п╟п╫п╫п╟я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ charset.
8479 </para> 8479 </para>
8480 <para lang="en"> 8480 <para lang="en">
8481 a charset set by the "charset" directive was not appended 8481 a charset set by the "charset" directive was not appended
8482 to the "Content-Type" header set by $r->send_http_header(). 8482 to the "Content-Type" header set by $r->send_http_header().
8483 </para> 8483 </para>
8484 </change> 8484 </change>
8485 8485
8486 <change type="bugfix"> 8486 <change type="bugfix">
8487 <para lang="ru"> 8487 <para lang="ru">
8488 при использовании метода /dev/poll 8488 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ /dev/poll
8489 в рабочем процессе мог произойти segmentation fault. 8489 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
8490 </para> 8490 </para>
8491 <para lang="en"> 8491 <para lang="en">
8492 a segmentation fault might occur in worker process 8492 a segmentation fault might occur in worker process
8493 if /dev/poll method was used. 8493 if /dev/poll method was used.
8494 </para> 8494 </para>
8499 8499
8500 <changes ver="0.6.9" date="28.08.2007"> 8500 <changes ver="0.6.9" date="28.08.2007">
8501 8501
8502 <change type="bugfix"> 8502 <change type="bugfix">
8503 <para lang="ru"> 8503 <para lang="ru">
8504 рабочий процесс мог зациклиться при использовании протокола HTTPS; 8504 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS;
8505 ошибка появилась в 0.6.7. 8505 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8506 </para> 8506 </para>
8507 <para lang="en"> 8507 <para lang="en">
8508 a worker process may got caught in an endless loop, 8508 a worker process may got caught in an endless loop,
8509 if the HTTPS protocol was used; 8509 if the HTTPS protocol was used;
8510 the bug had appeared in 0.6.7. 8510 the bug had appeared in 0.6.7.
8511 </para> 8511 </para>
8512 </change> 8512 </change>
8513 8513
8514 <change type="bugfix"> 8514 <change type="bugfix">
8515 <para lang="ru"> 8515 <para lang="ru">
8516 если сервер слушал на двух адресах или портах, то nginx не запускался 8516 п╣я│п╩п╦ я│п╣я─п╡п╣я─ я│п╩я┐я┬п╟п╩ п╫п╟ п╢п╡я┐я┘ п╟п╢я─п╣я│п╟я┘ п╦п╩п╦ п©п╬я─я┌п╟я┘, я┌п╬ nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐
8517 при использовании wildcard в конце имени сервера. 8517 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ wildcard п╡ п╨п╬п╫я├п╣ п╦п╪п╣п╫п╦ я│п╣я─п╡п╣я─п╟.
8518 </para> 8518 </para>
8519 <para lang="en"> 8519 <para lang="en">
8520 if server listened on two addresses or ports and trailing wildcard was used, 8520 if server listened on two addresses or ports and trailing wildcard was used,
8521 then nginx did not run. 8521 then nginx did not run.
8522 </para> 8522 </para>
8523 </change> 8523 </change>
8524 8524
8525 <change type="bugfix"> 8525 <change type="bugfix">
8526 <para lang="ru"> 8526 <para lang="ru">
8527 директива ip_hash могла неверно помечать сервера как нерабочие. 8527 п╢п╦я─п╣п╨я┌п╦п╡п╟ ip_hash п╪п╬пЁп╩п╟ п╫п╣п╡п╣я─п╫п╬ п©п╬п╪п╣я┤п╟я┌я▄ я│п╣я─п╡п╣я─п╟ п╨п╟п╨ п╫п╣я─п╟п╠п╬я┤п╦п╣.
8528 </para> 8528 </para>
8529 <para lang="en"> 8529 <para lang="en">
8530 the "ip_hash" directive might incorrectly mark servers as down. 8530 the "ip_hash" directive might incorrectly mark servers as down.
8531 </para> 8531 </para>
8532 </change> 8532 </change>
8533 8533
8534 <change type="bugfix"> 8534 <change type="bugfix">
8535 <para lang="ru"> 8535 <para lang="ru">
8536 nginx не собирался на amd64; 8536 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ amd64;
8537 ошибка появилась в 0.6.8. 8537 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.8.
8538 </para> 8538 </para>
8539 <para lang="en"> 8539 <para lang="en">
8540 nginx could not be built on amd64; 8540 nginx could not be built on amd64;
8541 the bug had appeared in 0.6.8. 8541 the bug had appeared in 0.6.8.
8542 </para> 8542 </para>
8547 8547
8548 <changes ver="0.6.8" date="20.08.2007"> 8548 <changes ver="0.6.8" date="20.08.2007">
8549 8549
8550 <change type="change"> 8550 <change type="change">
8551 <para lang="ru"> 8551 <para lang="ru">
8552 теперь nginx пытается установить директивы worker_priority, 8552 я┌п╣п©п╣я─я▄ nginx п©я▀я┌п╟п╣я┌я│я▐ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ worker_priority,
8553 worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending 8553 worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
8554 без привилегий root'а. 8554 п╠п╣п╥ п©я─п╦п╡п╦п╩п╣пЁп╦п╧ root'п╟.
8555 </para> 8555 </para>
8556 <para lang="en"> 8556 <para lang="en">
8557 now nginx tries to set the "worker_priority", "worker_rlimit_nofile", 8557 now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
8558 "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user 8558 "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
8559 privileges. 8559 privileges.
8560 </para> 8560 </para>
8561 </change> 8561 </change>
8562 8562
8563 <change type="change"> 8563 <change type="change">
8564 <para lang="ru"> 8564 <para lang="ru">
8565 теперь nginx экранирует символы пробела и "%" при передаче запроса 8565 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ я│п╦п╪п╡п╬п╩я▀ п©я─п╬п╠п╣п╩п╟ п╦ "%" п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ п╥п╟п©я─п╬я│п╟
8566 серверу аутентификации почтового прокси-сервера. 8566 я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟.
8567 </para> 8567 </para>
8568 <para lang="en"> 8568 <para lang="en">
8569 now nginx escapes space and "%" in request to a mail proxy authentication 8569 now nginx escapes space and "%" in request to a mail proxy authentication
8570 server. 8570 server.
8571 </para> 8571 </para>
8572 </change> 8572 </change>
8573 8573
8574 <change type="change"> 8574 <change type="change">
8575 <para lang="ru"> 8575 <para lang="ru">
8576 теперь nginx экранирует символ "%" в переменной $memcached_key. 8576 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ я│п╦п╪п╡п╬п╩ "%" п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
8577 </para> 8577 </para>
8578 <para lang="en"> 8578 <para lang="en">
8579 now nginx escapes "%" in $memcached_key variable. 8579 now nginx escapes "%" in $memcached_key variable.
8580 </para> 8580 </para>
8581 </change> 8581 </change>
8582 8582
8583 <change type="bugfix"> 8583 <change type="bugfix">
8584 <para lang="ru"> 8584 <para lang="ru">
8585 при указании относительного пути к конфигурационному файлу в качестве 8585 п©я─п╦ я┐п╨п╟п╥п╟п╫п╦п╦ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬пЁп╬ п©я┐я┌п╦ п╨ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬п╪я┐ я└п╟п╧п╩я┐ п╡ п╨п╟я┤п╣я│я┌п╡п╣
8586 параметра ключа -c nginx определял путь относительно конфигурационного префикса; 8586 п©п╟я─п╟п╪п╣я┌я─п╟ п╨п╩я▌я┤п╟ -c nginx п╬п©я─п╣п╢п╣п╩я▐п╩ п©я┐я┌я▄ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ п©я─п╣я└п╦п╨я│п╟;
8587 ошибка появилась в 0.6.6. 8587 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8588 </para> 8588 </para>
8589 <para lang="en"> 8589 <para lang="en">
8590 nginx used path relative to configuration prefix for non-absolute 8590 nginx used path relative to configuration prefix for non-absolute
8591 configuration file path specified in the "-c" key; 8591 configuration file path specified in the "-c" key;
8592 the bug had appeared in 0.6.6. 8592 the bug had appeared in 0.6.6.
8593 </para> 8593 </para>
8594 </change> 8594 </change>
8595 8595
8596 <change type="bugfix"> 8596 <change type="bugfix">
8597 <para lang="ru"> 8597 <para lang="ru">
8598 nginx не работал на FreeBSD/sparc64. 8598 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ FreeBSD/sparc64.
8599 </para> 8599 </para>
8600 <para lang="en"> 8600 <para lang="en">
8601 nginx did not work on FreeBSD/sparc64. 8601 nginx did not work on FreeBSD/sparc64.
8602 </para> 8602 </para>
8603 </change> 8603 </change>
8607 8607
8608 <changes ver="0.6.7" date="15.08.2007"> 8608 <changes ver="0.6.7" date="15.08.2007">
8609 8609
8610 <change type="change"> 8610 <change type="change">
8611 <para lang="ru"> 8611 <para lang="ru">
8612 теперь пути, указанные в директивах include, auth_basic_user_file, 8612 я┌п╣п©п╣я─я▄ п©я┐я┌п╦, я┐п╨п╟п╥п╟п╫п╫я▀п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ include, auth_basic_user_file,
8613 perl_modules, ssl_certificate, ssl_certificate_key и 8613 perl_modules, ssl_certificate, ssl_certificate_key п╦
8614 ssl_client_certificate, определяются относительно каталога конфигурационного 8614 ssl_client_certificate, п╬п©я─п╣п╢п╣п╩я▐я▌я┌я│я▐ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п╨п╟я┌п╟п╩п╬пЁп╟ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬
8615 файла nginx.conf, а не относительно префикса. 8615 я└п╟п╧п╩п╟ nginx.conf, п╟ п╫п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п©я─п╣я└п╦п╨я│п╟.
8616 </para> 8616 </para>
8617 <para lang="en"> 8617 <para lang="en">
8618 now the paths specified in the "include", "auth_basic_user_file", 8618 now the paths specified in the "include", "auth_basic_user_file",
8619 "perl_modules", "ssl_certificate", "ssl_certificate_key", and 8619 "perl_modules", "ssl_certificate", "ssl_certificate_key", and
8620 "ssl_client_certificate" directives are relative to directory of 8620 "ssl_client_certificate" directives are relative to directory of
8622 </para> 8622 </para>
8623 </change> 8623 </change>
8624 8624
8625 <change type="change"> 8625 <change type="change">
8626 <para lang="ru"> 8626 <para lang="ru">
8627 параметр --sysconfdir=PATH в configure упразднён. 8627 п©п╟я─п╟п╪п╣я┌я─ --sysconfdir=PATH п╡ configure я┐п©я─п╟п╥п╢п╫я▒п╫.
8628 </para> 8628 </para>
8629 <para lang="en"> 8629 <para lang="en">
8630 the --sysconfdir=PATH option in configure was canceled. 8630 the --sysconfdir=PATH option in configure was canceled.
8631 </para> 8631 </para>
8632 </change> 8632 </change>
8633 8633
8634 <change type="change"> 8634 <change type="change">
8635 <para lang="ru"> 8635 <para lang="ru">
8636 для обновления на лету версий 0.1.x создан специальный сценарий 8636 п╢п╩я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╫п╟ п╩п╣я┌я┐ п╡п╣я─я│п╦п╧ 0.1.x я│п╬п╥п╢п╟п╫ я│п©п╣я├п╦п╟п╩я▄п╫я▀п╧ я│я├п╣п╫п╟я─п╦п╧
8637 <nobr>make upgrade1.</nobr> 8637 <nobr>make upgrade1.</nobr>
8638 </para> 8638 </para>
8639 <para lang="en"> 8639 <para lang="en">
8640 the special make target "upgrade1" was defined for online upgrade of 8640 the special make target "upgrade1" was defined for online upgrade of
8641 0.1.x versions. 8641 0.1.x versions.
8642 </para> 8642 </para>
8643 </change> 8643 </change>
8644 8644
8645 <change type="feature"> 8645 <change type="feature">
8646 <para lang="ru"> 8646 <para lang="ru">
8647 директивы server_name и valid_referers поддерживают регулярные выражения. 8647 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name п╦ valid_referers п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐.
8648 </para> 8648 </para>
8649 <para lang="en"> 8649 <para lang="en">
8650 the "server_name" and "valid_referers" directives support regular expressions. 8650 the "server_name" and "valid_referers" directives support regular expressions.
8651 </para> 8651 </para>
8652 </change> 8652 </change>
8653 8653
8654 <change type="feature"> 8654 <change type="feature">
8655 <para lang="ru"> 8655 <para lang="ru">
8656 директива server в блоке upstream поддерживает параметр backup. 8656 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ backup.
8657 </para> 8657 </para>
8658 <para lang="en"> 8658 <para lang="en">
8659 the "server" directive in the "upstream" context supports 8659 the "server" directive in the "upstream" context supports
8660 the "backup" parameter. 8660 the "backup" parameter.
8661 </para> 8661 </para>
8662 </change> 8662 </change>
8663 8663
8664 <change type="feature"> 8664 <change type="feature">
8665 <para lang="ru"> 8665 <para lang="ru">
8666 модуль ngx_http_perl_module поддерживает метод $r->discard_request_body. 8666 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->discard_request_body.
8667 </para> 8667 </para>
8668 <para lang="en"> 8668 <para lang="en">
8669 the ngx_http_perl_module supports the $r->discard_request_body. 8669 the ngx_http_perl_module supports the $r->discard_request_body.
8670 </para> 8670 </para>
8671 </change> 8671 </change>
8672 8672
8673 <change type="feature"> 8673 <change type="feature">
8674 <para lang="ru"> 8674 <para lang="ru">
8675 директива "add_header Last-Modified ..." меняет строку "Last-Modified" 8675 п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header Last-Modified ..." п╪п╣п╫я▐п╣я┌ я│я┌я─п╬п╨я┐ "Last-Modified"
8676 в заголовке ответа. 8676 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟.
8677 </para> 8677 </para>
8678 <para lang="en"> 8678 <para lang="en">
8679 the "add_header Last-Modified ..." directive changes the "Last-Modified" 8679 the "add_header Last-Modified ..." directive changes the "Last-Modified"
8680 response header line. 8680 response header line.
8681 </para> 8681 </para>
8682 </change> 8682 </change>
8683 8683
8684 <change type="bugfix"> 8684 <change type="bugfix">
8685 <para lang="ru"> 8685 <para lang="ru">
8686 если на запрос с телом возвращался ответ с кодом HTTP отличным от 200, 8686 п╣я│п╩п╦ п╫п╟ п╥п╟п©я─п╬я│ я│ я┌п╣п╩п╬п╪ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ я│ п╨п╬п╢п╬п╪ HTTP п╬я┌п╩п╦я┤п╫я▀п╪ п╬я┌ 200,
8687 и после этого запроса соединение переходило в состояние keep-alive, 8687 п╦ п©п╬я│п╩п╣ я█я┌п╬пЁп╬ п╥п╟п©я─п╬я│п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п©п╣я─п╣я┘п╬п╢п╦п╩п╬ п╡ я│п╬я│я┌п╬я▐п╫п╦п╣ keep-alive,
8688 то на следующий запрос nginx возвращал 400. 8688 я┌п╬ п╫п╟ я│п╩п╣п╢я┐я▌я┴п╦п╧ п╥п╟п©я─п╬я│ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ 400.
8689 </para> 8689 </para>
8690 <para lang="en"> 8690 <para lang="en">
8691 if a response different than 200 was returned to a request with body 8691 if a response different than 200 was returned to a request with body
8692 and connection went to the keep-alive state after the request, then 8692 and connection went to the keep-alive state after the request, then
8693 nginx returned 400 for the next request. 8693 nginx returned 400 for the next request.
8694 </para> 8694 </para>
8695 </change> 8695 </change>
8696 8696
8697 <change type="bugfix"> 8697 <change type="bugfix">
8698 <para lang="ru"> 8698 <para lang="ru">
8699 если в директиве auth_http был задан неправильный адрес, то 8699 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_http п╠я▀п╩ п╥п╟п╢п╟п╫ п╫п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╧ п╟п╢я─п╣я│, я┌п╬
8700 в рабочем процессе происходил segmentation fault. 8700 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
8701 </para> 8701 </para>
8702 <para lang="en"> 8702 <para lang="en">
8703 a segmentation fault occurred in worker process 8703 a segmentation fault occurred in worker process
8704 if invalid address was set in the "auth_http" directive. 8704 if invalid address was set in the "auth_http" directive.
8705 </para> 8705 </para>
8706 </change> 8706 </change>
8707 8707
8708 <change type="bugfix"> 8708 <change type="bugfix">
8709 <para lang="ru"> 8709 <para lang="ru">
8710 теперь по умолчанию nginx использует значение 511 для listen backlog 8710 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ 511 п╢п╩я▐ listen backlog
8711 на всех платформах, кроме FreeBSD.<br/> 8711 п╫п╟ п╡я│п╣я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╨я─п╬п╪п╣ FreeBSD.<br/>
8712 Спасибо Jiang Hong. 8712 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8713 </para> 8713 </para>
8714 <para lang="en"> 8714 <para lang="en">
8715 now nginx uses default listen backlog value 511 on all platforms 8715 now nginx uses default listen backlog value 511 on all platforms
8716 except FreeBSD.<br/> 8716 except FreeBSD.<br/>
8717 Thanks to Jiang Hong. 8717 Thanks to Jiang Hong.
8718 </para> 8718 </para>
8719 </change> 8719 </change>
8720 8720
8721 <change type="bugfix"> 8721 <change type="bugfix">
8722 <para lang="ru"> 8722 <para lang="ru">
8723 рабочий процесс мог зациклиться, если server в блоке upstream был помечен 8723 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐, п╣я│п╩п╦ server п╡ п╠п╩п╬п╨п╣ upstream п╠я▀п╩ п©п╬п╪п╣я┤п╣п╫
8724 как down; 8724 п╨п╟п╨ down;
8725 ошибка появилась в 0.6.6. 8725 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8726 </para> 8726 </para>
8727 <para lang="en"> 8727 <para lang="en">
8728 a worker process may got caught in an endless loop, if a "server" inside 8728 a worker process may got caught in an endless loop, if a "server" inside
8729 "upstream" block was marked as "down"; 8729 "upstream" block was marked as "down";
8730 the bug had appeared in 0.6.6. 8730 the bug had appeared in 0.6.6.
8731 </para> 8731 </para>
8732 </change> 8732 </change>
8733 8733
8734 <change type="bugfix"> 8734 <change type="bugfix">
8735 <para lang="ru"> 8735 <para lang="ru">
8736 sendfilev() в Solaris теперь не используется при передаче тела запроса 8736 sendfilev() п╡ Solaris я┌п╣п©п╣я─я▄ п╫п╣ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟
8737 FastCGI-серверу через unix domain сокет. 8737 FastCGI-я│п╣я─п╡п╣я─я┐ я┤п╣я─п╣п╥ unix domain я│п╬п╨п╣я┌.
8738 </para> 8738 </para>
8739 <para lang="en"> 8739 <para lang="en">
8740 now Solaris sendfilev() is not used to transfer the client request body 8740 now Solaris sendfilev() is not used to transfer the client request body
8741 to FastCGI-server via the unix domain socket. 8741 to FastCGI-server via the unix domain socket.
8742 </para> 8742 </para>
8747 8747
8748 <changes ver="0.6.6" date="30.07.2007"> 8748 <changes ver="0.6.6" date="30.07.2007">
8749 8749
8750 <change type="feature"> 8750 <change type="feature">
8751 <para lang="ru"> 8751 <para lang="ru">
8752 параметр --sysconfdir=PATH в configure. 8752 п©п╟я─п╟п╪п╣я┌я─ --sysconfdir=PATH п╡ configure.
8753 </para> 8753 </para>
8754 <para lang="en"> 8754 <para lang="en">
8755 the --sysconfdir=PATH option in configure. 8755 the --sysconfdir=PATH option in configure.
8756 </para> 8756 </para>
8757 </change> 8757 </change>
8758 8758
8759 <change type="feature"> 8759 <change type="feature">
8760 <para lang="ru"> 8760 <para lang="ru">
8761 именованные location'ы. 8761 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ location'я▀.
8762 </para> 8762 </para>
8763 <para lang="en"> 8763 <para lang="en">
8764 named locations. 8764 named locations.
8765 </para> 8765 </para>
8766 </change> 8766 </change>
8767 8767
8768 <change type="feature"> 8768 <change type="feature">
8769 <para lang="ru"> 8769 <para lang="ru">
8770 переменную $args можно устанавливать с помощью set. 8770 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $args п╪п╬п╤п╫п╬ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄ я│ п©п╬п╪п╬я┴я▄я▌ set.
8771 </para> 8771 </para>
8772 <para lang="en"> 8772 <para lang="en">
8773 the $args variable can be set with the "set" directive. 8773 the $args variable can be set with the "set" directive.
8774 </para> 8774 </para>
8775 </change> 8775 </change>
8776 8776
8777 <change type="feature"> 8777 <change type="feature">
8778 <para lang="ru"> 8778 <para lang="ru">
8779 переменная $is_args. 8779 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $is_args.
8780 </para> 8780 </para>
8781 <para lang="en"> 8781 <para lang="en">
8782 the $is_args variable. 8782 the $is_args variable.
8783 </para> 8783 </para>
8784 </change> 8784 </change>
8785 8785
8786 <change type="bugfix"> 8786 <change type="bugfix">
8787 <para lang="ru"> 8787 <para lang="ru">
8788 равномерное распределение запросов к апстримам с большими весами. 8788 я─п╟п╡п╫п╬п╪п╣я─п╫п╬п╣ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦п╣ п╥п╟п©я─п╬я│п╬п╡ п╨ п╟п©я│я┌я─п╦п╪п╟п╪ я│ п╠п╬п╩я▄я┬п╦п╪п╦ п╡п╣я│п╟п╪п╦.
8789 </para> 8789 </para>
8790 <para lang="en"> 8790 <para lang="en">
8791 fair big weight upstream balancer. 8791 fair big weight upstream balancer.
8792 </para> 8792 </para>
8793 </change> 8793 </change>
8794 8794
8795 <change type="bugfix"> 8795 <change type="bugfix">
8796 <para lang="ru"> 8796 <para lang="ru">
8797 если клиент в почтовом прокси-сервере закрывал соединение, 8797 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ п╡ п©п╬я┤я┌п╬п╡п╬п╪ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣,
8798 то nginx мог не закрывать соединение с бэкендом. 8798 я┌п╬ nginx п╪п╬пЁ п╫п╣ п╥п╟п╨я─я▀п╡п╟я┌я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╠я█п╨п╣п╫п╢п╬п╪.
8799 </para> 8799 </para>
8800 <para lang="en"> 8800 <para lang="en">
8801 if a client has closed connection to mail proxy 8801 if a client has closed connection to mail proxy
8802 then nginx might not close connection to backend. 8802 then nginx might not close connection to backend.
8803 </para> 8803 </para>
8804 </change> 8804 </change>
8805 8805
8806 <change type="bugfix"> 8806 <change type="bugfix">
8807 <para lang="ru"> 8807 <para lang="ru">
8808 при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS 8808 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п╢п╫п╬пЁп╬ я┘п╬я│я┌п╟ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╠я█п╨п╣п╫п╢п╬п╡ п╢п╩я▐ п©я─п╬я┌п╬п╨п╬п╩п╬п╡ HTTP п╦ HTTPS
8809 без явного указания портов, nginx использовал только один порт&mdash;80 или 443. 8809 п╠п╣п╥ я▐п╡п╫п╬пЁп╬ я┐п╨п╟п╥п╟п╫п╦я▐ п©п╬я─я┌п╬п╡, nginx п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ п©п╬я─я┌&mdash;80 п╦п╩п╦ 443.
8810 </para> 8810 </para>
8811 <para lang="en"> 8811 <para lang="en">
8812 if the same host without specified port was used as backend for HTTP and HTTPS, 8812 if the same host without specified port was used as backend for HTTP and HTTPS,
8813 then nginx used only one port&mdash;80 or 443. 8813 then nginx used only one port&mdash;80 or 443.
8814 </para> 8814 </para>
8815 </change> 8815 </change>
8816 8816
8817 <change type="bugfix"> 8817 <change type="bugfix">
8818 <para lang="ru"> 8818 <para lang="ru">
8819 nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями; 8819 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris/amd64 Sun Studio 11 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦п╪п╦ п╡п╣я─я│п╦я▐п╪п╦;
8820 ошибка появилась в 0.6.4. 8820 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.4.
8821 </para> 8821 </para>
8822 <para lang="en"> 8822 <para lang="en">
8823 fix building on Solaris/amd64 by Sun Studio 11 and early versions; 8823 fix building on Solaris/amd64 by Sun Studio 11 and early versions;
8824 the bug had appeared in 0.6.4. 8824 the bug had appeared in 0.6.4.
8825 </para> 8825 </para>
8830 8830
8831 <changes ver="0.6.5" date="23.07.2007"> 8831 <changes ver="0.6.5" date="23.07.2007">
8832 8832
8833 <change type="feature"> 8833 <change type="feature">
8834 <para lang="ru"> 8834 <para lang="ru">
8835 переменная $nginx_version.<br/> 8835 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $nginx_version.<br/>
8836 Спасибо Николаю Гречуху. 8836 п║п©п╟я│п╦п╠п╬ п²п╦п╨п╬п╩п╟я▌ п⌠я─п╣я┤я┐я┘я┐.
8837 </para> 8837 </para>
8838 <para lang="en"> 8838 <para lang="en">
8839 $nginx_version variable.<br/> 8839 $nginx_version variable.<br/>
8840 Thanks to Nick S. Grechukh. 8840 Thanks to Nick S. Grechukh.
8841 </para> 8841 </para>
8842 </change> 8842 </change>
8843 8843
8844 <change type="feature"> 8844 <change type="feature">
8845 <para lang="ru"> 8845 <para lang="ru">
8846 почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/> 8846 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ AUTHENTICATE п╡ я─п╣п╤п╦п╪п╣ IMAP.<br/>
8847 Спасибо Максиму Дунину. 8847 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8848 </para> 8848 </para>
8849 <para lang="en"> 8849 <para lang="en">
8850 the mail proxy supports AUTHENTICATE in IMAP mode.<br/> 8850 the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
8851 Thanks to Maxim Dounin. 8851 Thanks to Maxim Dounin.
8852 </para> 8852 </para>
8853 </change> 8853 </change>
8854 8854
8855 <change type="feature"> 8855 <change type="feature">
8856 <para lang="ru"> 8856 <para lang="ru">
8857 почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/> 8857 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ STARTTLS п╡ я─п╣п╤п╦п╪п╣ SMTP.<br/>
8858 Спасибо Максиму Дунину. 8858 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8859 </para> 8859 </para>
8860 <para lang="en"> 8860 <para lang="en">
8861 the mail proxy supports STARTTLS in SMTP mode.<br/> 8861 the mail proxy supports STARTTLS in SMTP mode.<br/>
8862 Thanks to Maxim Dounin. 8862 Thanks to Maxim Dounin.
8863 </para> 8863 </para>
8864 </change> 8864 </change>
8865 8865
8866 <change type="bugfix"> 8866 <change type="bugfix">
8867 <para lang="ru"> 8867 <para lang="ru">
8868 теперь nginx экранирует пробел в переменной $memcached_key. 8868 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ п©я─п╬п╠п╣п╩ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
8869 </para> 8869 </para>
8870 <para lang="en"> 8870 <para lang="en">
8871 now nginx escapes space in $memcached_key variable. 8871 now nginx escapes space in $memcached_key variable.
8872 </para> 8872 </para>
8873 </change> 8873 </change>
8874 8874
8875 <change type="bugfix"> 8875 <change type="bugfix">
8876 <para lang="ru"> 8876 <para lang="ru">
8877 nginx неправильно собирался Sun Studio на Solaris/amd64.<br/> 8877 nginx п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я│п╬п╠п╦я─п╟п╩я│я▐ Sun Studio п╫п╟ Solaris/amd64.<br/>
8878 Спасибо Jiang Hong. 8878 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8879 </para> 8879 </para>
8880 <para lang="en"> 8880 <para lang="en">
8881 nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/> 8881 nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
8882 Thanks to Jiang Hong. 8882 Thanks to Jiang Hong.
8883 </para> 8883 </para>
8884 </change> 8884 </change>
8885 8885
8886 <change type="bugfix"> 8886 <change type="bugfix">
8887 <para lang="ru"> 8887 <para lang="ru">
8888 незначительных потенциальных ошибок.<br/> 8888 п╫п╣п╥п╫п╟я┤п╦я┌п╣п╩я▄п╫я▀я┘ п©п╬я┌п╣п╫я├п╦п╟п╩я▄п╫я▀я┘ п╬я┬п╦п╠п╬п╨.<br/>
8889 Спасибо Coverity's Scan. 8889 п║п©п╟я│п╦п╠п╬ Coverity's Scan.
8890 </para> 8890 </para>
8891 <para lang="en"> 8891 <para lang="en">
8892 of minor potential bugs.<br/> 8892 of minor potential bugs.<br/>
8893 Thanks to Coverity's Scan. 8893 Thanks to Coverity's Scan.
8894 </para> 8894 </para>
8899 8899
8900 <changes ver="0.6.4" date="17.07.2007"> 8900 <changes ver="0.6.4" date="17.07.2007">
8901 8901
8902 <change type="security"> 8902 <change type="security">
8903 <para lang="ru"> 8903 <para lang="ru">
8904 при использовании директивы msie_refresh был возможен XSS.<br/> 8904 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ msie_refresh п╠я▀п╩ п╡п╬п╥п╪п╬п╤п╣п╫ XSS.<br/>
8905 Спасибо Максиму Богуку. 8905 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п▒п╬пЁя┐п╨я┐.
8906 </para> 8906 </para>
8907 <para lang="en"> 8907 <para lang="en">
8908 the "msie_refresh" directive allowed XSS.<br/> 8908 the "msie_refresh" directive allowed XSS.<br/>
8909 Thanks to Maxim Boguk. 8909 Thanks to Maxim Boguk.
8910 </para> 8910 </para>
8911 </change> 8911 </change>
8912 8912
8913 <change type="change"> 8913 <change type="change">
8914 <para lang="ru"> 8914 <para lang="ru">
8915 директивы proxy_store и fastcgi_store изменены. 8915 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store п╦п╥п╪п╣п╫п╣п╫я▀.
8916 </para> 8916 </para>
8917 <para lang="en"> 8917 <para lang="en">
8918 the "proxy_store" and "fastcgi_store" directives were changed. 8918 the "proxy_store" and "fastcgi_store" directives were changed.
8919 </para> 8919 </para>
8920 </change> 8920 </change>
8921 8921
8922 <change type="feature"> 8922 <change type="feature">
8923 <para lang="ru"> 8923 <para lang="ru">
8924 директивы proxy_store_access и fastcgi_store_access. 8924 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store_access п╦ fastcgi_store_access.
8925 </para> 8925 </para>
8926 <para lang="en"> 8926 <para lang="en">
8927 the "proxy_store_access" and "fastcgi_store_access" directives. 8927 the "proxy_store_access" and "fastcgi_store_access" directives.
8928 </para> 8928 </para>
8929 </change> 8929 </change>
8930 8930
8931 <change type="bugfix"> 8931 <change type="bugfix">
8932 <para lang="ru"> 8932 <para lang="ru">
8933 nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 8933 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Solaris/sparc64, п╣я│п╩п╦ п╠я▀п╩ я│п╬п╠я─п╟п╫ Sun Studio.<br/>
8934 Спасибо Андрею Нигматулину. 8934 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
8935 </para> 8935 </para>
8936 <para lang="en"> 8936 <para lang="en">
8937 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 8937 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
8938 Thanks to Andrei Nigmatulin. 8938 Thanks to Andrei Nigmatulin.
8939 </para> 8939 </para>
8940 </change> 8940 </change>
8941 8941
8942 <change type="workaround"> 8942 <change type="workaround">
8943 <para lang="ru"> 8943 <para lang="ru">
8944 обход ошибки в Sun Studio 12.<br/> 8944 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ Sun Studio 12.<br/>
8945 Спасибо Jiang Hong. 8945 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8946 </para> 8946 </para>
8947 <para lang="en"> 8947 <para lang="en">
8948 for Sun Studio 12.<br/> 8948 for Sun Studio 12.<br/>
8949 Thanks to Jiang Hong. 8949 Thanks to Jiang Hong.
8950 </para> 8950 </para>
8955 8955
8956 <changes ver="0.6.3" date="12.07.2007"> 8956 <changes ver="0.6.3" date="12.07.2007">
8957 8957
8958 <change type="feature"> 8958 <change type="feature">
8959 <para lang="ru"> 8959 <para lang="ru">
8960 директивы proxy_store и fastcgi_store. 8960 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store.
8961 </para> 8961 </para>
8962 <para lang="en"> 8962 <para lang="en">
8963 the "proxy_store" and "fastcgi_store" directives. 8963 the "proxy_store" and "fastcgi_store" directives.
8964 </para> 8964 </para>
8965 </change> 8965 </change>
8966 8966
8967 <change type="bugfix"> 8967 <change type="bugfix">
8968 <para lang="ru"> 8968 <para lang="ru">
8969 при использовании директивы auth_http_header 8969 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_http_header
8970 в рабочем процессе мог произойти segmentation fault.<br/> 8970 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
8971 Спасибо Максиму Дунину. 8971 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8972 </para> 8972 </para>
8973 <para lang="en"> 8973 <para lang="en">
8974 a segmentation fault might occur in worker process 8974 a segmentation fault might occur in worker process
8975 if the "auth_http_header" directive was used.<br/> 8975 if the "auth_http_header" directive was used.<br/>
8976 Thanks to Maxim Dounin. 8976 Thanks to Maxim Dounin.
8977 </para> 8977 </para>
8978 </change> 8978 </change>
8979 8979
8980 <change type="bugfix"> 8980 <change type="bugfix">
8981 <para lang="ru"> 8981 <para lang="ru">
8982 если использовался метод аутентификации CRAM-MD5, но он не был разрешён, 8982 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ CRAM-MD5, п╫п╬ п╬п╫ п╫п╣ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫,
8983 то в рабочем процессе происходил segmentation fault. 8983 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
8984 </para> 8984 </para>
8985 <para lang="en"> 8985 <para lang="en">
8986 a segmentation fault occurred in worker process 8986 a segmentation fault occurred in worker process
8987 if the CRAM-MD5 authentication method was used, but it was not enabled. 8987 if the CRAM-MD5 authentication method was used, but it was not enabled.
8988 </para> 8988 </para>
8989 </change> 8989 </change>
8990 8990
8991 <change type="bugfix"> 8991 <change type="bugfix">
8992 <para lang="ru"> 8992 <para lang="ru">
8993 при использовании протокола HTTPS в директиве proxy_pass 8993 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass
8994 в рабочем процессе мог произойти segmentation fault. 8994 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
8995 </para> 8995 </para>
8996 <para lang="en"> 8996 <para lang="en">
8997 a segmentation fault might occur in worker process when 8997 a segmentation fault might occur in worker process when
8998 the HTTPS protocol was used in the "proxy_pass" directive. 8998 the HTTPS protocol was used in the "proxy_pass" directive.
8999 </para> 8999 </para>
9000 </change> 9000 </change>
9001 9001
9002 <change type="bugfix"> 9002 <change type="bugfix">
9003 <para lang="ru"> 9003 <para lang="ru">
9004 в рабочем процессе мог произойти segmentation fault, 9004 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
9005 если использовался метод eventport. 9005 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ eventport.
9006 </para> 9006 </para>
9007 <para lang="en"> 9007 <para lang="en">
9008 a segmentation fault might occur in worker process 9008 a segmentation fault might occur in worker process
9009 if the eventport method was used. 9009 if the eventport method was used.
9010 </para> 9010 </para>
9011 </change> 9011 </change>
9012 9012
9013 <change type="bugfix"> 9013 <change type="bugfix">
9014 <para lang="ru"> 9014 <para lang="ru">
9015 директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали; 9015 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_client_abort п╦ fastcgi_ignore_client_abort п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
9016 ошибка появилась в 0.5.13. 9016 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.13.
9017 </para> 9017 </para>
9018 <para lang="en"> 9018 <para lang="en">
9019 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives 9019 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
9020 did not work; 9020 did not work;
9021 the bug had appeared in 0.5.13. 9021 the bug had appeared in 0.5.13.
9027 9027
9028 <changes ver="0.6.2" date="09.07.2007"> 9028 <changes ver="0.6.2" date="09.07.2007">
9029 9029
9030 <change type="bugfix"> 9030 <change type="bugfix">
9031 <para lang="ru"> 9031 <para lang="ru">
9032 если заголовок ответа был разделён в FastCGI-записях, то nginx передавал 9032 п╣я│п╩п╦ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п╠я▀п╩ я─п╟п╥п╢п╣п╩я▒п╫ п╡ FastCGI-п╥п╟п©п╦я│я▐я┘, я┌п╬ nginx п©п╣я─п╣п╢п╟п╡п╟п╩
9033 клиенту мусор в таких заголовках. 9033 п╨п╩п╦п╣п╫я┌я┐ п╪я┐я│п╬я─ п╡ я┌п╟п╨п╦я┘ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘.
9034 </para> 9034 </para>
9035 <para lang="en"> 9035 <para lang="en">
9036 if the FastCGI header was split in records, 9036 if the FastCGI header was split in records,
9037 then nginx passed garbage in the header to a client. 9037 then nginx passed garbage in the header to a client.
9038 </para> 9038 </para>
9043 9043
9044 <changes ver="0.6.1" date="17.06.2007"> 9044 <changes ver="0.6.1" date="17.06.2007">
9045 9045
9046 <change type="bugfix"> 9046 <change type="bugfix">
9047 <para lang="ru"> 9047 <para lang="ru">
9048 в парсинге SSI. 9048 п╡ п©п╟я─я│п╦п╫пЁп╣ SSI.
9049 </para> 9049 </para>
9050 <para lang="en"> 9050 <para lang="en">
9051 in SSI parsing. 9051 in SSI parsing.
9052 </para> 9052 </para>
9053 </change> 9053 </change>
9054 9054
9055 <change type="bugfix"> 9055 <change type="bugfix">
9056 <para lang="ru"> 9056 <para lang="ru">
9057 при использовании удалённого подзапроса в SSI последующий 9057 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я┐п╢п╟п╩я▒п╫п╫п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟ п╡ SSI п©п╬я│п╩п╣п╢я┐я▌я┴п╦п╧
9058 подзапрос локального файла мог отдаваться клиенту в неверном порядке. 9058 п©п╬п╢п╥п╟п©я─п╬я│ п╩п╬п╨п╟п╩я▄п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╪п╬пЁ п╬я┌п╢п╟п╡п╟я┌я▄я│я▐ п╨п╩п╦п╣п╫я┌я┐ п╡ п╫п╣п╡п╣я─п╫п╬п╪ п©п╬я─я▐п╢п╨п╣.
9059 </para> 9059 </para>
9060 <para lang="en"> 9060 <para lang="en">
9061 if remote SSI subrequest was used, then posterior local file subrequest 9061 if remote SSI subrequest was used, then posterior local file subrequest
9062 might transferred to client in wrong order. 9062 might transferred to client in wrong order.
9063 </para> 9063 </para>
9064 </change> 9064 </change>
9065 9065
9066 <change type="bugfix"> 9066 <change type="bugfix">
9067 <para lang="ru"> 9067 <para lang="ru">
9068 большие включения в SSI, сохранённые во временные файлы, 9068 п╠п╬п╩я▄я┬п╦п╣ п╡п╨п╩я▌я┤п╣п╫п╦я▐ п╡ SSI, я│п╬я┘я─п╟п╫я▒п╫п╫я▀п╣ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀,
9069 передавались не полностью. 9069 п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
9070 </para> 9070 </para>
9071 <para lang="en"> 9071 <para lang="en">
9072 large SSI inclusions buffered in temporary files were truncated. 9072 large SSI inclusions buffered in temporary files were truncated.
9073 </para> 9073 </para>
9074 </change> 9074 </change>
9075 9075
9076 <change type="bugfix"> 9076 <change type="bugfix">
9077 <para lang="ru"> 9077 <para lang="ru">
9078 значение perl'овой переменной $$ модуля ngx_http_perl_module было равно 9078 п╥п╫п╟я┤п╣п╫п╦п╣ perl'п╬п╡п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $$ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module п╠я▀п╩п╬ я─п╟п╡п╫п╬
9079 номеру главного процесса. 9079 п╫п╬п╪п╣я─я┐ пЁп╩п╟п╡п╫п╬пЁп╬ п©я─п╬я├п╣я│я│п╟.
9080 </para> 9080 </para>
9081 <para lang="en"> 9081 <para lang="en">
9082 the perl $$ variable value in ngx_http_perl_module was equal to the master 9082 the perl $$ variable value in ngx_http_perl_module was equal to the master
9083 process identification number. 9083 process identification number.
9084 </para> 9084 </para>
9089 9089
9090 <changes ver="0.6.0" date="14.06.2007"> 9090 <changes ver="0.6.0" date="14.06.2007">
9091 9091
9092 <change type="feature"> 9092 <change type="feature">
9093 <para lang="ru"> 9093 <para lang="ru">
9094 директивы "server_name", "map", and "valid_referers" поддерживают 9094 п╢п╦я─п╣п╨я┌п╦п╡я▀ "server_name", "map", and "valid_referers" п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌
9095 маски вида "www.example.*". 9095 п╪п╟я│п╨п╦ п╡п╦п╢п╟ "www.example.*".
9096 </para> 9096 </para>
9097 <para lang="en"> 9097 <para lang="en">
9098 the "server_name", "map", and "valid_referers" directives support 9098 the "server_name", "map", and "valid_referers" directives support
9099 the "www.example.*" wildcards. 9099 the "www.example.*" wildcards.
9100 </para> 9100 </para>
9105 9105
9106 <changes ver="0.5.25" date="11.06.2007"> 9106 <changes ver="0.5.25" date="11.06.2007">
9107 9107
9108 <change type="bugfix"> 9108 <change type="bugfix">
9109 <para lang="ru"> 9109 <para lang="ru">
9110 nginx не собирался с параметром --without-http_rewrite_module; 9110 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_rewrite_module;
9111 ошибка появилась в 0.5.24. 9111 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.24.
9112 </para> 9112 </para>
9113 <para lang="en"> 9113 <para lang="en">
9114 nginx could not be built with the --without-http_rewrite_module parameter; 9114 nginx could not be built with the --without-http_rewrite_module parameter;
9115 the bug had appeared in 0.5.24. 9115 the bug had appeared in 0.5.24.
9116 </para> 9116 </para>
9121 9121
9122 <changes ver="0.5.24" date="06.06.2007"> 9122 <changes ver="0.5.24" date="06.06.2007">
9123 9123
9124 <change type="security"> 9124 <change type="security">
9125 <para lang="ru"> 9125 <para lang="ru">
9126 директива ssl_verify_client не работала, если запрос выполнялся 9126 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_verify_client п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╡я▀п©п╬п╩п╫я▐п╩я│я▐
9127 по протоколу HTTP/0.9. 9127 п©п╬ п©я─п╬я┌п╬п╨п╬п╩я┐ HTTP/0.9.
9128 </para> 9128 </para>
9129 <para lang="en"> 9129 <para lang="en">
9130 the "ssl_verify_client" directive did not work if request was made 9130 the "ssl_verify_client" directive did not work if request was made
9131 using HTTP/0.9. 9131 using HTTP/0.9.
9132 </para> 9132 </para>
9133 </change> 9133 </change>
9134 9134
9135 <change type="bugfix"> 9135 <change type="bugfix">
9136 <para lang="ru"> 9136 <para lang="ru">
9137 при использовании сжатия часть ответа могла передаваться несжатой; 9137 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я│п╤п╟я┌п╦я▐ я┤п╟я│я┌я▄ п╬я┌п╡п╣я┌п╟ п╪п╬пЁп╩п╟ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣я│п╤п╟я┌п╬п╧;
9138 ошибка появилась в 0.5.23. 9138 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.23.
9139 </para> 9139 </para>
9140 <para lang="en"> 9140 <para lang="en">
9141 a part of response body might be passed uncompressed if gzip was used; 9141 a part of response body might be passed uncompressed if gzip was used;
9142 the bug had appeared in 0.5.23. 9142 the bug had appeared in 0.5.23.
9143 </para> 9143 </para>
9148 9148
9149 <changes ver="0.5.23" date="04.06.2007"> 9149 <changes ver="0.5.23" date="04.06.2007">
9150 9150
9151 <change type="feature"> 9151 <change type="feature">
9152 <para lang="ru"> 9152 <para lang="ru">
9153 модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication. 9153 п╪п╬п╢я┐п╩я▄ ngx_http_ssl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╟я│я┬п╦я─п╣п╫п╦п╣ TLS Server Name Indication.
9154 </para> 9154 </para>
9155 <para lang="en"> 9155 <para lang="en">
9156 the ngx_http_ssl_module supports Server Name Indication TLS extension. 9156 the ngx_http_ssl_module supports Server Name Indication TLS extension.
9157 </para> 9157 </para>
9158 </change> 9158 </change>
9159 9159
9160 <change type="feature"> 9160 <change type="feature">
9161 <para lang="ru"> 9161 <para lang="ru">
9162 директива fastcgi_catch_stderr.<br/> 9162 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_catch_stderr.<br/>
9163 Спасибо Николаю Гречуху, проект OWOX. 9163 п║п©п╟я│п╦п╠п╬ п²п╦п╨п╬п╩п╟я▌ п⌠я─п╣я┤я┐я┘я┐, п©я─п╬п╣п╨я┌ OWOX.
9164 </para> 9164 </para>
9165 <para lang="en"> 9165 <para lang="en">
9166 the "fastcgi_catch_stderr" directive.<br/> 9166 the "fastcgi_catch_stderr" directive.<br/>
9167 Thanks to Nick S. Grechukh, OWOX project. 9167 Thanks to Nick S. Grechukh, OWOX project.
9168 </para> 9168 </para>
9169 </change> 9169 </change>
9170 9170
9171 <change type="bugfix"> 9171 <change type="bugfix">
9172 <para lang="ru"> 9172 <para lang="ru">
9173 на Линуксе в основном процессе происходил segmentation fault, 9173 п╫п╟ п⌡п╦п╫я┐п╨я│п╣ п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
9174 если два виртуальных сервера должны bind()ится к пересекающимся портам. 9174 п╣я│п╩п╦ п╢п╡п╟ п╡п╦я─я┌я┐п╟п╩я▄п╫я▀я┘ я│п╣я─п╡п╣я─п╟ п╢п╬п╩п╤п╫я▀ bind()п╦я┌я│я▐ п╨ п©п╣я─п╣я│п╣п╨п╟я▌я┴п╦п╪я│я▐ п©п╬я─я┌п╟п╪.
9175 </para> 9175 </para>
9176 <para lang="en"> 9176 <para lang="en">
9177 a segmentation fault occurred in master process if 9177 a segmentation fault occurred in master process if
9178 two virtual servers should bind() to the overlapping ports. 9178 two virtual servers should bind() to the overlapping ports.
9179 </para> 9179 </para>
9180 </change> 9180 </change>
9181 9181
9182 <change type="bugfix"> 9182 <change type="bugfix">
9183 <para lang="ru"> 9183 <para lang="ru">
9184 если nginx был собран с модулем ngx_http_perl_module и perl 9184 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
9185 поддерживал потоки, то во время второй переконфигурации 9185 п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦, я┌п╬ п╡п╬ п╡я─п╣п╪я▐ п╡я┌п╬я─п╬п╧ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
9186 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 9186 п╡я▀п╢п╟п╡п╟п╩п╦я│я▄ п╬я┬п╦п╠п╨п╦ "panic: MUTEX_LOCK" п╦ "perl_parse() failed".
9187 </para> 9187 </para>
9188 <para lang="en"> 9188 <para lang="en">
9189 if nginx was built with ngx_http_perl_module and perl supported threads, 9189 if nginx was built with ngx_http_perl_module and perl supported threads,
9190 then during second reconfiguration the error messages 9190 then during second reconfiguration the error messages
9191 "panic: MUTEX_LOCK" and "perl_parse() failed" were issued. 9191 "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
9192 </para> 9192 </para>
9193 </change> 9193 </change>
9194 9194
9195 <change type="bugfix"> 9195 <change type="bugfix">
9196 <para lang="ru"> 9196 <para lang="ru">
9197 в использовании протокола HTTPS в директиве proxy_pass. 9197 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
9198 </para> 9198 </para>
9199 <para lang="en"> 9199 <para lang="en">
9200 in the HTTPS protocol in the "proxy_pass" directive. 9200 in the HTTPS protocol in the "proxy_pass" directive.
9201 </para> 9201 </para>
9202 </change> 9202 </change>
9206 9206
9207 <changes ver="0.5.22" date="29.05.2007"> 9207 <changes ver="0.5.22" date="29.05.2007">
9208 9208
9209 <change type="bugfix"> 9209 <change type="bugfix">
9210 <para lang="ru"> 9210 <para lang="ru">
9211 большое тело запроса могло не передаваться бэкенду; 9211 п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╪п╬пЁп╩п╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╠я█п╨п╣п╫п╢я┐;
9212 ошибка появилась в 0.5.21. 9212 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.21.
9213 </para> 9213 </para>
9214 <para lang="en"> 9214 <para lang="en">
9215 a big request body might not be passed to backend; 9215 a big request body might not be passed to backend;
9216 the bug had appeared in 0.5.21. 9216 the bug had appeared in 0.5.21.
9217 </para> 9217 </para>
9222 9222
9223 <changes ver="0.5.21" date="28.05.2007"> 9223 <changes ver="0.5.21" date="28.05.2007">
9224 9224
9225 <change type="bugfix"> 9225 <change type="bugfix">
9226 <para lang="ru"> 9226 <para lang="ru">
9227 если внутри сервера описано больше примерно десяти location'ов, 9227 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ я│п╣я─п╡п╣я─п╟ п╬п©п╦я│п╟п╫п╬ п╠п╬п╩я▄я┬п╣ п©я─п╦п╪п╣я─п╫п╬ п╢п╣я│я▐я┌п╦ location'п╬п╡,
9228 то location'ы, заданные с помощью регулярного выражения, 9228 я┌п╬ location'я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я│ п©п╬п╪п╬я┴я▄я▌ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐,
9229 могли выполняться не в том, порядке, в каком они описаны. 9229 п╪п╬пЁп╩п╦ п╡я▀п©п╬п╩п╫я▐я┌я▄я│я▐ п╫п╣ п╡ я┌п╬п╪, п©п╬я─я▐п╢п╨п╣, п╡ п╨п╟п╨п╬п╪ п╬п╫п╦ п╬п©п╦я│п╟п╫я▀.
9230 </para> 9230 </para>
9231 <para lang="en"> 9231 <para lang="en">
9232 if server has more than about ten locations, then regex locations 9232 if server has more than about ten locations, then regex locations
9233 might be choosen not in that order as they were specified. 9233 might be choosen not in that order as they were specified.
9234 </para> 9234 </para>
9235 </change> 9235 </change>
9236 9236
9237 <change type="bugfix"> 9237 <change type="bugfix">
9238 <para lang="ru"> 9238 <para lang="ru">
9239 на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий 9239 п╫п╟ 64-п╠п╦я┌п╫п╬п╧ п©п╩п╟я┌я└п╬я─п╪п╣ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐, п╣я│п╩п╦ 33-я┌п╦п╧
9240 по счёту или последующий бэкенд упал.<br/> 9240 п©п╬ я│я┤я▒я┌я┐ п╦п╩п╦ п©п╬я│п╩п╣п╢я┐я▌я┴п╦п╧ п╠я█п╨п╣п╫п╢ я┐п©п╟п╩.<br/>
9241 Спасибо Антону Поварову. 9241 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п÷п╬п╡п╟я─п╬п╡я┐.
9242 </para> 9242 </para>
9243 <para lang="en"> 9243 <para lang="en">
9244 a worker process may got caught in an endless loop on 64-bit platform, 9244 a worker process may got caught in an endless loop on 64-bit platform,
9245 if the 33-rd or next in succession backend has failed.<br/> 9245 if the 33-rd or next in succession backend has failed.<br/>
9246 Thanks to Anton Povarov. 9246 Thanks to Anton Povarov.
9247 </para> 9247 </para>
9248 </change> 9248 </change>
9249 9249
9250 <change type="bugfix"> 9250 <change type="bugfix">
9251 <para lang="ru"> 9251 <para lang="ru">
9252 при использовании библиотеки PCRE на Solaris/sparc64 9252 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE п╫п╟ Solaris/sparc64
9253 мог произойти bus error.<br/> 9253 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ bus error.<br/>
9254 Спасибо Андрею Нигматулину. 9254 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9255 </para> 9255 </para>
9256 <para lang="en"> 9256 <para lang="en">
9257 a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/> 9257 a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
9258 Thanks to Andrei Nigmatulin. 9258 Thanks to Andrei Nigmatulin.
9259 </para> 9259 </para>
9260 </change> 9260 </change>
9261 9261
9262 <change type="bugfix"> 9262 <change type="bugfix">
9263 <para lang="ru"> 9263 <para lang="ru">
9264 в использовании протокола HTTPS в директиве proxy_pass. 9264 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
9265 </para> 9265 </para>
9266 <para lang="en"> 9266 <para lang="en">
9267 in the HTTPS protocol in the "proxy_pass" directive. 9267 in the HTTPS protocol in the "proxy_pass" directive.
9268 </para> 9268 </para>
9269 </change> 9269 </change>
9273 9273
9274 <changes ver="0.5.20" date="07.05.2007"> 9274 <changes ver="0.5.20" date="07.05.2007">
9275 9275
9276 <change type="feature"> 9276 <change type="feature">
9277 <para lang="ru"> 9277 <para lang="ru">
9278 директива sendfile_max_chunk. 9278 п╢п╦я─п╣п╨я┌п╦п╡п╟ sendfile_max_chunk.
9279 </para> 9279 </para>
9280 <para lang="en"> 9280 <para lang="en">
9281 the "sendfile_max_chunk" directive. 9281 the "sendfile_max_chunk" directive.
9282 </para> 9282 </para>
9283 </change> 9283 </change>
9284 9284
9285 <change type="feature"> 9285 <change type="feature">
9286 <para lang="ru"> 9286 <para lang="ru">
9287 переменные "$http_...", "$sent_http_..." и "$upstream_http_..." 9287 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$http_...", "$sent_http_..." п╦ "$upstream_http_..."
9288 можно менять директивой set. 9288 п╪п╬п╤п╫п╬ п╪п╣п╫я▐я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set.
9289 </para> 9289 </para>
9290 <para lang="en"> 9290 <para lang="en">
9291 the "$http_...", "$sent_http_...", and "$upstream_http_..." variables 9291 the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
9292 may be changed using the "set" directive. 9292 may be changed using the "set" directive.
9293 </para> 9293 </para>
9294 </change> 9294 </change>
9295 9295
9296 <change type="bugfix"> 9296 <change type="bugfix">
9297 <para lang="ru"> 9297 <para lang="ru">
9298 при использовании SSI-команды 'if expr="$var = /"' 9298 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI-п╨п╬п╪п╟п╫п╢я▀ 'if expr="$var = /"'
9299 в рабочем процессе мог произойти segmentation fault. 9299 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9300 </para> 9300 </para>
9301 <para lang="en"> 9301 <para lang="en">
9302 a segmentation fault might occur in worker process 9302 a segmentation fault might occur in worker process
9303 if the SSI command 'if expr="$var = /"' was used. 9303 if the SSI command 'if expr="$var = /"' was used.
9304 </para> 9304 </para>
9305 </change> 9305 </change>
9306 9306
9307 <change type="bugfix"> 9307 <change type="bugfix">
9308 <para lang="ru"> 9308 <para lang="ru">
9309 завершающая строка multipart range ответа передавалась неверно.<br/> 9309 п╥п╟п╡п╣я─я┬п╟я▌я┴п╟я▐ я│я┌я─п╬п╨п╟ multipart range п╬я┌п╡п╣я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ п╫п╣п╡п╣я─п╫п╬.<br/>
9310 Спасибо Evan Miller. 9310 п║п©п╟я│п╦п╠п╬ Evan Miller.
9311 </para> 9311 </para>
9312 <para lang="en"> 9312 <para lang="en">
9313 trailing boundary of multipart range response was transferred incorrectly.<br/> 9313 trailing boundary of multipart range response was transferred incorrectly.<br/>
9314 Thanks to Evan Miller. 9314 Thanks to Evan Miller.
9315 </para> 9315 </para>
9316 </change> 9316 </change>
9317 9317
9318 <change type="bugfix"> 9318 <change type="bugfix">
9319 <para lang="ru"> 9319 <para lang="ru">
9320 nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 9320 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Solaris/sparc64, п╣я│п╩п╦ п╠я▀п╩ я│п╬п╠я─п╟п╫ Sun Studio.<br/>
9321 Спасибо Андрею Нигматулину. 9321 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9322 </para> 9322 </para>
9323 <para lang="en"> 9323 <para lang="en">
9324 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 9324 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
9325 Thanks to Andrei Nigmatulin. 9325 Thanks to Andrei Nigmatulin.
9326 </para> 9326 </para>
9327 </change> 9327 </change>
9328 9328
9329 <change type="bugfix"> 9329 <change type="bugfix">
9330 <para lang="ru"> 9330 <para lang="ru">
9331 модуль ngx_http_perl_module не собирался make в Solaris.<br/> 9331 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ make п╡ Solaris.<br/>
9332 Спасибо Андрею Нигматулину. 9332 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9333 </para> 9333 </para>
9334 <para lang="en"> 9334 <para lang="en">
9335 the ngx_http_perl_module could not be built by Solaris make.<br/> 9335 the ngx_http_perl_module could not be built by Solaris make.<br/>
9336 Thanks to Andrei Nigmatulin. 9336 Thanks to Andrei Nigmatulin.
9337 </para> 9337 </para>
9342 9342
9343 <changes ver="0.5.19" date="24.04.2007"> 9343 <changes ver="0.5.19" date="24.04.2007">
9344 9344
9345 <change type="change"> 9345 <change type="change">
9346 <para lang="ru"> 9346 <para lang="ru">
9347 значение переменной $request_time теперь записывается с точностью 9347 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request_time я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я│ я┌п╬я┤п╫п╬я│я┌я▄я▌
9348 до миллисекунд. 9348 п╢п╬ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢.
9349 </para> 9349 </para>
9350 <para lang="en"> 9350 <para lang="en">
9351 now the $request_time variable has millisecond precision. 9351 now the $request_time variable has millisecond precision.
9352 </para> 9352 </para>
9353 </change> 9353 </change>
9354 9354
9355 <change type="change"> 9355 <change type="change">
9356 <para lang="ru"> 9356 <para lang="ru">
9357 метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush. 9357 п╪п╣я┌п╬п╢ $r->rflush п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫ п╡ $r->flush.
9358 </para> 9358 </para>
9359 <para lang="en"> 9359 <para lang="en">
9360 the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. 9360 the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
9361 </para> 9361 </para>
9362 </change> 9362 </change>
9363 9363
9364 <change type="feature"> 9364 <change type="feature">
9365 <para lang="ru"> 9365 <para lang="ru">
9366 переменная $upstream_addr. 9366 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_addr.
9367 </para> 9367 </para>
9368 <para lang="en"> 9368 <para lang="en">
9369 the $upstream_addr variable. 9369 the $upstream_addr variable.
9370 </para> 9370 </para>
9371 </change> 9371 </change>
9372 9372
9373 <change type="feature"> 9373 <change type="feature">
9374 <para lang="ru"> 9374 <para lang="ru">
9375 директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/> 9375 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_headers_hash_max_size п╦ proxy_headers_hash_bucket_size.<br/>
9376 Спасибо Володымыру Костырко. 9376 п║п©п╟я│п╦п╠п╬ п▓п╬п╩п╬п╢я▀п╪я▀я─я┐ п п╬я│я┌я▀я─п╨п╬.
9377 </para> 9377 </para>
9378 <para lang="en"> 9378 <para lang="en">
9379 the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" 9379 the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
9380 directives.<br/> 9380 directives.<br/>
9381 Thanks to Volodymyr Kostyrko. 9381 Thanks to Volodymyr Kostyrko.
9382 </para> 9382 </para>
9383 </change> 9383 </change>
9384 9384
9385 <change type="bugfix"> 9385 <change type="bugfix">
9386 <para lang="ru"> 9386 <para lang="ru">
9387 при использовании sendfile и limit_rate на 64-битных платформах 9387 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╦ limit_rate п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘
9388 нельзя было передавать файлы больше 2G. 9388 п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G.
9389 </para> 9389 </para>
9390 <para lang="en"> 9390 <para lang="en">
9391 the files more than 2G could not be transferred using sendfile and limit_rate 9391 the files more than 2G could not be transferred using sendfile and limit_rate
9392 on 64-bit platforms. 9392 on 64-bit platforms.
9393 </para> 9393 </para>
9394 </change> 9394 </change>
9395 9395
9396 <change type="bugfix"> 9396 <change type="bugfix">
9397 <para lang="ru"> 9397 <para lang="ru">
9398 при использовании sendfile на 64-битном Linux нельзя было передавать файлы 9398 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╫п╟ 64-п╠п╦я┌п╫п╬п╪ Linux п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ я└п╟п╧п╩я▀
9399 больше 2G. 9399 п╠п╬п╩я▄я┬п╣ 2G.
9400 </para> 9400 </para>
9401 <para lang="en"> 9401 <para lang="en">
9402 the files more than 2G could not be transferred using sendfile on 64-bit Linux. 9402 the files more than 2G could not be transferred using sendfile on 64-bit Linux.
9403 </para> 9403 </para>
9404 </change> 9404 </change>
9408 9408
9409 <changes ver="0.5.18" date="19.04.2007"> 9409 <changes ver="0.5.18" date="19.04.2007">
9410 9410
9411 <change type="feature"> 9411 <change type="feature">
9412 <para lang="ru"> 9412 <para lang="ru">
9413 модуль ngx_http_sub_filter_module. 9413 п╪п╬п╢я┐п╩я▄ ngx_http_sub_filter_module.
9414 </para> 9414 </para>
9415 <para lang="en"> 9415 <para lang="en">
9416 the ngx_http_sub_filter_module. 9416 the ngx_http_sub_filter_module.
9417 </para> 9417 </para>
9418 </change> 9418 </change>
9419 9419
9420 <change type="feature"> 9420 <change type="feature">
9421 <para lang="ru"> 9421 <para lang="ru">
9422 переменные "$upstream_http_...". 9422 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$upstream_http_...".
9423 </para> 9423 </para>
9424 <para lang="en"> 9424 <para lang="en">
9425 the "$upstream_http_..." variables. 9425 the "$upstream_http_..." variables.
9426 </para> 9426 </para>
9427 </change> 9427 </change>
9428 9428
9429 <change type="feature"> 9429 <change type="feature">
9430 <para lang="ru"> 9430 <para lang="ru">
9431 теперь переменные $upstream_status и $upstream_response_time 9431 я┌п╣п©п╣я─я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $upstream_status п╦ $upstream_response_time
9432 содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect. 9432 я│п╬п╢п╣я─п╤п╟я┌ п╢п╟п╫п╫я▀п╣ п╬ п╡я│п╣я┘ п╬п╠я─п╟я┴п╣п╫п╦я▐я┘ п╨ п╟п©я│я┌я─п╦п╪п╟п╪, я│п╢п╣п╩п╟п╫п╫я▀п╪ п╢п╬ X-Accel-Redirect.
9433 </para> 9433 </para>
9434 <para lang="en"> 9434 <para lang="en">
9435 now the $upstream_status and $upstream_response_time variables 9435 now the $upstream_status and $upstream_response_time variables
9436 keep data about all upstreams before X-Accel-Redirect. 9436 keep data about all upstreams before X-Accel-Redirect.
9437 </para> 9437 </para>
9438 </change> 9438 </change>
9439 9439
9440 <change type="bugfix"> 9440 <change type="bugfix">
9441 <para lang="ru"> 9441 <para lang="ru">
9442 если nginx был собран с модулем ngx_http_perl_module и perl 9442 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
9443 не поддерживал multiplicity, то после первой переконфигурации 9443 п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ multiplicity, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╡п╬п╧ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
9444 и после получения любого сигнала 9444 п╦ п©п╬я│п╩п╣ п©п╬п╩я┐я┤п╣п╫п╦я▐ п╩я▌п╠п╬пЁп╬ я│п╦пЁп╫п╟п╩п╟
9445 в основном процессе происходил segmentation fault; 9445 п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
9446 ошибка появилась в 0.5.9. 9446 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.
9447 </para> 9447 </para>
9448 <para lang="en"> 9448 <para lang="en">
9449 a segmentation fault occurred in master process 9449 a segmentation fault occurred in master process
9450 after first reconfiguration and receiving any signal 9450 after first reconfiguration and receiving any signal
9451 if nginx was built with ngx_http_perl_module and perl 9451 if nginx was built with ngx_http_perl_module and perl
9454 </para> 9454 </para>
9455 </change> 9455 </change>
9456 9456
9457 <change type="bugfix"> 9457 <change type="bugfix">
9458 <para lang="ru"> 9458 <para lang="ru">
9459 если perl не поддерживал multiplicity, то после переконфигурации 9459 п╣я│п╩п╦ perl п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ multiplicity, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
9460 перловый код не работал; 9460 п©п╣я─п╩п╬п╡я▀п╧ п╨п╬п╢ п╫п╣ я─п╟п╠п╬я┌п╟п╩;
9461 ошибка появилась в 0.3.38. 9461 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
9462 </para> 9462 </para>
9463 <para lang="en"> 9463 <para lang="en">
9464 if perl did not support multiplicity, then after reconfiguration 9464 if perl did not support multiplicity, then after reconfiguration
9465 perl code did not work; 9465 perl code did not work;
9466 the bug had appeared in 0.3.38. 9466 the bug had appeared in 0.3.38.
9472 9472
9473 <changes ver="0.5.17" date="02.04.2007"> 9473 <changes ver="0.5.17" date="02.04.2007">
9474 9474
9475 <change type="change"> 9475 <change type="change">
9476 <para lang="ru"> 9476 <para lang="ru">
9477 теперь nginx для метода TRACE всегда возвращает код 405. 9477 я┌п╣п©п╣я─я▄ nginx п╢п╩я▐ п╪п╣я┌п╬п╢п╟ TRACE п╡я│п╣пЁп╢п╟ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╨п╬п╢ 405.
9478 </para> 9478 </para>
9479 <para lang="en"> 9479 <para lang="en">
9480 now nginx always returns the 405 status for the TRACE method. 9480 now nginx always returns the 405 status for the TRACE method.
9481 </para> 9481 </para>
9482 </change> 9482 </change>
9483 9483
9484 <change type="feature"> 9484 <change type="feature">
9485 <para lang="ru"> 9485 <para lang="ru">
9486 теперь nginx поддерживает директиву include внутри блока types. 9486 я┌п╣п©п╣я─я▄ nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╦я─п╣п╨я┌п╦п╡я┐ include п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ types.
9487 </para> 9487 </para>
9488 <para lang="en"> 9488 <para lang="en">
9489 now nginx supports the "include" directive inside the "types" block. 9489 now nginx supports the "include" directive inside the "types" block.
9490 </para> 9490 </para>
9491 </change> 9491 </change>
9492 9492
9493 <change type="bugfix"> 9493 <change type="bugfix">
9494 <para lang="ru"> 9494 <para lang="ru">
9495 использование переменной $document_root в директиве root и alias 9495 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $document_root п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ root п╦ alias
9496 запрещено: оно вызывало рекурсивное переполнение стека. 9496 п╥п╟п©я─п╣я┴п╣п╫п╬: п╬п╫п╬ п╡я▀п╥я▀п╡п╟п╩п╬ я─п╣п╨я┐я─я│п╦п╡п╫п╬п╣ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦п╣ я│я┌п╣п╨п╟.
9497 </para> 9497 </para>
9498 <para lang="en"> 9498 <para lang="en">
9499 the $document_root variable usage in the "root" and "alias" directives 9499 the $document_root variable usage in the "root" and "alias" directives
9500 is disabled: this caused recursive stack overflow. 9500 is disabled: this caused recursive stack overflow.
9501 </para> 9501 </para>
9502 </change> 9502 </change>
9503 9503
9504 <change type="bugfix"> 9504 <change type="bugfix">
9505 <para lang="ru"> 9505 <para lang="ru">
9506 в использовании протокола HTTPS в директиве proxy_pass. 9506 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
9507 </para> 9507 </para>
9508 <para lang="en"> 9508 <para lang="en">
9509 in the HTTPS protocol in the "proxy_pass" directive. 9509 in the HTTPS protocol in the "proxy_pass" directive.
9510 </para> 9510 </para>
9511 </change> 9511 </change>
9512 9512
9513 <change type="bugfix"> 9513 <change type="bugfix">
9514 <para lang="ru"> 9514 <para lang="ru">
9515 в некоторых случаях некэшируемые переменные (такие, как $uri) 9515 п╡ п╫п╣п╨п╬я┌п╬я─я▀я┘ я│п╩я┐я┤п╟я▐я┘ п╫п╣п╨я█я┬п╦я─я┐п╣п╪я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ (я┌п╟п╨п╦п╣, п╨п╟п╨ $uri)
9516 возвращали старое закэшированное значение. 9516 п╡п╬п╥п╡я─п╟я┴п╟п╩п╦ я│я┌п╟я─п╬п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
9517 </para> 9517 </para>
9518 <para lang="en"> 9518 <para lang="en">
9519 in some cases non-cachable variables (such as $uri variable) 9519 in some cases non-cachable variables (such as $uri variable)
9520 returned old cached value. 9520 returned old cached value.
9521 </para> 9521 </para>
9526 9526
9527 <changes ver="0.5.16" date="26.03.2007"> 9527 <changes ver="0.5.16" date="26.03.2007">
9528 9528
9529 <change type="bugfix"> 9529 <change type="bugfix">
9530 <para lang="ru"> 9530 <para lang="ru">
9531 в качестве ключа для хэша в директиве ip_hash не использовалась сеть 9531 п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╨п╩я▌я┤п╟ п╢п╩я▐ я┘я█я┬п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ip_hash п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ я│п╣я┌я▄
9532 класса С.<br/> 9532 п╨п╩п╟я│я│п╟ п║.<br/>
9533 Спасибо Павлу Ярковому. 9533 п║п©п╟я│п╦п╠п╬ п÷п╟п╡п╩я┐ п╞я─п╨п╬п╡п╬п╪я┐.
9534 </para> 9534 </para>
9535 <para lang="en"> 9535 <para lang="en">
9536 the C-class network was not used as hash key in the "ip_hash" directive.<br/> 9536 the C-class network was not used as hash key in the "ip_hash" directive.<br/>
9537 Thanks to Pavel Yarkovoy. 9537 Thanks to Pavel Yarkovoy.
9538 </para> 9538 </para>
9539 </change> 9539 </change>
9540 9540
9541 <change type="bugfix"> 9541 <change type="bugfix">
9542 <para lang="ru"> 9542 <para lang="ru">
9543 если в строке "Content-Type" в заголовке ответа бэкенда был указан charset 9543 п╣я│п╩п╦ п╡ я│я┌я─п╬п╨п╣ "Content-Type" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ charset
9544 и строка завершалась символом ";", 9544 п╦ я│я┌я─п╬п╨п╟ п╥п╟п╡п╣я─я┬п╟п╩п╟я│я▄ я│п╦п╪п╡п╬п╩п╬п╪ ";",
9545 то в рабочем процессе мог произойти segmentation fault; 9545 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
9546 ошибка появилась в 0.3.50. 9546 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
9547 </para> 9547 </para>
9548 <para lang="en"> 9548 <para lang="en">
9549 a segmentation fault might occur in worker process 9549 a segmentation fault might occur in worker process
9550 if a charset was set in the "Content-Type" header line and the line 9550 if a charset was set in the "Content-Type" header line and the line
9551 has trailing ";"; 9551 has trailing ";";
9553 </para> 9553 </para>
9554 </change> 9554 </change>
9555 9555
9556 <change type="bugfix"> 9556 <change type="bugfix">
9557 <para lang="ru"> 9557 <para lang="ru">
9558 ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если 9558 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪, п╣я│п╩п╦
9559 тело запроса, записанное во временный файл, было кратно 32K. 9559 я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟, п╥п╟п©п╦я│п╟п╫п╫п╬п╣ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩, п╠я▀п╩п╬ п╨я─п╟я┌п╫п╬ 32K.
9560 </para> 9560 </para>
9561 <para lang="en"> 9561 <para lang="en">
9562 the "[alert] zero size buf" error when FastCGI server was used and 9562 the "[alert] zero size buf" error when FastCGI server was used and
9563 a request body written in a temporary file was multiple of 32K. 9563 a request body written in a temporary file was multiple of 32K.
9564 </para> 9564 </para>
9565 </change> 9565 </change>
9566 9566
9567 <change type="bugfix"> 9567 <change type="bugfix">
9568 <para lang="ru"> 9568 <para lang="ru">
9569 nginx не собирался на Solaris без параметра --with-debug; 9569 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
9570 ошибка появилась в 0.5.15. 9570 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.15.
9571 </para> 9571 </para>
9572 <para lang="en"> 9572 <para lang="en">
9573 nginx could not be built on Solaris without the --with-debug option; 9573 nginx could not be built on Solaris without the --with-debug option;
9574 the bug had appeared in 0.5.15. 9574 the bug had appeared in 0.5.15.
9575 </para> 9575 </para>
9580 9580
9581 <changes ver="0.5.15" date="19.03.2007"> 9581 <changes ver="0.5.15" date="19.03.2007">
9582 9582
9583 <change type="feature"> 9583 <change type="feature">
9584 <para lang="ru"> 9584 <para lang="ru">
9585 почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и 9585 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╟я┐я┌п╣п╫я┌п╦я└п╦я├п╦я─п╬п╡п╟п╫п╫п╬п╣ SMTP-п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣ п╦
9586 директивы smtp_auth, smtp_capablities и xclient.<br/> 9586 п╢п╦я─п╣п╨я┌п╦п╡я▀ smtp_auth, smtp_capablities п╦ xclient.<br/>
9587 Спасибо Антону Южанинову и Максиму Дунину. 9587 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п╝п╤п╟п╫п╦п╫п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
9588 </para> 9588 </para>
9589 <para lang="en"> 9589 <para lang="en">
9590 the mail proxy supports authenticated SMTP proxying and 9590 the mail proxy supports authenticated SMTP proxying and
9591 the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/> 9591 the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/>
9592 Thanks to Anton Yuzhaninov and Maxim Dounin. 9592 Thanks to Anton Yuzhaninov and Maxim Dounin.
9593 </para> 9593 </para>
9594 </change> 9594 </change>
9595 9595
9596 <change type="feature"> 9596 <change type="feature">
9597 <para lang="ru"> 9597 <para lang="ru">
9598 теперь keep-alive соединения закрываются сразу же по получении сигнала 9598 я┌п╣п©п╣я─я▄ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╥п╟п╨я─я▀п╡п╟я▌я┌я│я▐ я│я─п╟п╥я┐ п╤п╣ п©п╬ п©п╬п╩я┐я┤п╣п╫п╦п╦ я│п╦пЁп╫п╟п╩п╟
9599 переконфигурации. 9599 п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
9600 </para> 9600 </para>
9601 <para lang="en"> 9601 <para lang="en">
9602 now the keep-alive connections are closed just after receiving 9602 now the keep-alive connections are closed just after receiving
9603 the reconfiguration signal. 9603 the reconfiguration signal.
9604 </para> 9604 </para>
9605 </change> 9605 </change>
9606 9606
9607 <change type="change"> 9607 <change type="change">
9608 <para lang="ru"> 9608 <para lang="ru">
9609 директивы imap и auth переименованы соответственно в mail и pop3_auth. 9609 п╢п╦я─п╣п╨я┌п╦п╡я▀ imap п╦ auth п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ mail п╦ pop3_auth.
9610 </para> 9610 </para>
9611 <para lang="en"> 9611 <para lang="en">
9612 the "imap" and "auth" directives were renamed 9612 the "imap" and "auth" directives were renamed
9613 to the "mail" and "pop3_auth" directives. 9613 to the "mail" and "pop3_auth" directives.
9614 </para> 9614 </para>
9615 </change> 9615 </change>
9616 9616
9617 <change type="bugfix"> 9617 <change type="bugfix">
9618 <para lang="ru"> 9618 <para lang="ru">
9619 если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP, 9619 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ CRAM-MD5 п╦ п╫п╣ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫ п╪п╣я┌п╬п╢ APOP,
9620 то в рабочем процессе происходил segmentation fault. 9620 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
9621 </para> 9621 </para>
9622 <para lang="en"> 9622 <para lang="en">
9623 a segmentation fault occurred in worker process 9623 a segmentation fault occurred in worker process
9624 if the CRAM-MD5 authentication method was used 9624 if the CRAM-MD5 authentication method was used
9625 and the APOP method was disabled. 9625 and the APOP method was disabled.
9626 </para> 9626 </para>
9627 </change> 9627 </change>
9628 9628
9629 <change type="bugfix"> 9629 <change type="bugfix">
9630 <para lang="ru"> 9630 <para lang="ru">
9631 при использовании директивы starttls only в протоколе POP3 nginx 9631 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ starttls only п╡ п©я─п╬я┌п╬п╨п╬п╩п╣ POP3 nginx
9632 разрешал аутентификацию без перехода в режим SSL. 9632 я─п╟п╥я─п╣я┬п╟п╩ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌ п╠п╣п╥ п©п╣я─п╣я┘п╬п╢п╟ п╡ я─п╣п╤п╦п╪ SSL.
9633 </para> 9633 </para>
9634 <para lang="en"> 9634 <para lang="en">
9635 if the "starttls only" directive was used in POP3 protocol, 9635 if the "starttls only" directive was used in POP3 protocol,
9636 then nginx allowed authentication without switching to the SSL mode. 9636 then nginx allowed authentication without switching to the SSL mode.
9637 </para> 9637 </para>
9638 </change> 9638 </change>
9639 9639
9640 <change type="bugfix"> 9640 <change type="bugfix">
9641 <para lang="ru"> 9641 <para lang="ru">
9642 рабочие процессы не выходили после переконфигурации и не переоткрывали логи, 9642 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╫п╣ п╡я▀я┘п╬п╢п╦п╩п╦ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╦ п╫п╣ п©п╣я─п╣п╬я┌п╨я─я▀п╡п╟п╩п╦ п╩п╬пЁп╦,
9643 если использовался метод eventport. 9643 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ eventport.
9644 </para> 9644 </para>
9645 <para lang="en"> 9645 <para lang="en">
9646 worker processes did not exit after reconfiguration and 9646 worker processes did not exit after reconfiguration and
9647 did not rotate logs if the eventport method was used. 9647 did not rotate logs if the eventport method was used.
9648 </para> 9648 </para>
9649 </change> 9649 </change>
9650 9650
9651 <change type="bugfix"> 9651 <change type="bugfix">
9652 <para lang="ru"> 9652 <para lang="ru">
9653 при использовании директивы ip_hash рабочий процесс мог зациклиться. 9653 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ ip_hash я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
9654 </para> 9654 </para>
9655 <para lang="en"> 9655 <para lang="en">
9656 a worker process may got caught in an endless loop, 9656 a worker process may got caught in an endless loop,
9657 if the "ip_hash" directive was used. 9657 if the "ip_hash" directive was used.
9658 </para> 9658 </para>
9659 </change> 9659 </change>
9660 9660
9661 <change type="bugfix"> 9661 <change type="bugfix">
9662 <para lang="ru"> 9662 <para lang="ru">
9663 теперь nginx не пишет в лог некоторые alert'ы, 9663 я┌п╣п©п╣я─я▄ nginx п╫п╣ п©п╦я┬п╣я┌ п╡ п╩п╬пЁ п╫п╣п╨п╬я┌п╬я─я▀п╣ alert'я▀,
9664 если используются методы eventport или /dev/poll. 9664 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ п╪п╣я┌п╬п╢я▀ eventport п╦п╩п╦ /dev/poll.
9665 </para> 9665 </para>
9666 <para lang="en"> 9666 <para lang="en">
9667 now nginx does not log some alerts if eventport or /dev/poll methods are used. 9667 now nginx does not log some alerts if eventport or /dev/poll methods are used.
9668 </para> 9668 </para>
9669 </change> 9669 </change>
9673 9673
9674 <changes ver="0.5.14" date="23.02.2007"> 9674 <changes ver="0.5.14" date="23.02.2007">
9675 9675
9676 <change type="bugfix"> 9676 <change type="bugfix">
9677 <para lang="ru"> 9677 <para lang="ru">
9678 nginx игнорировал лишние закрывающие скобки "}" в конце 9678 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╩п╦я┬п╫п╦п╣ п╥п╟п╨я─я▀п╡п╟я▌я┴п╦п╣ я│п╨п╬п╠п╨п╦ "}" п╡ п╨п╬п╫я├п╣
9679 конфигурационного файла. 9679 п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟.
9680 </para> 9680 </para>
9681 <para lang="en"> 9681 <para lang="en">
9682 nginx ignored superfluous closing "}" in the end of configuration file. 9682 nginx ignored superfluous closing "}" in the end of configuration file.
9683 </para> 9683 </para>
9684 </change> 9684 </change>
9688 9688
9689 <changes ver="0.5.13" date="19.02.2007"> 9689 <changes ver="0.5.13" date="19.02.2007">
9690 9690
9691 <change type="feature"> 9691 <change type="feature">
9692 <para lang="ru"> 9692 <para lang="ru">
9693 методы COPY и MOVE. 9693 п╪п╣я┌п╬п╢я▀ COPY п╦ MOVE.
9694 </para> 9694 </para>
9695 <para lang="en"> 9695 <para lang="en">
9696 the COPY and MOVE methods. 9696 the COPY and MOVE methods.
9697 </para> 9697 </para>
9698 </change> 9698 </change>
9699 9699
9700 <change type="bugfix"> 9700 <change type="bugfix">
9701 <para lang="ru"> 9701 <para lang="ru">
9702 модуль ngx_http_realip_module устанавливал мусор для запросов, 9702 п╪п╬п╢я┐п╩я▄ ngx_http_realip_module я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩ п╪я┐я│п╬я─ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡,
9703 переданных по keep-alive соединению. 9703 п©п╣я─п╣п╢п╟п╫п╫я▀я┘ п©п╬ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
9704 </para> 9704 </para>
9705 <para lang="en"> 9705 <para lang="en">
9706 the ngx_http_realip_module set garbage for requests passed via 9706 the ngx_http_realip_module set garbage for requests passed via
9707 keep-alive connection. 9707 keep-alive connection.
9708 </para> 9708 </para>
9709 </change> 9709 </change>
9710 9710
9711 <change type="bugfix"> 9711 <change type="bugfix">
9712 <para lang="ru"> 9712 <para lang="ru">
9713 nginx не работал на 64-битном big-endian Linux.<br/> 9713 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ 64-п╠п╦я┌п╫п╬п╪ big-endian Linux.<br/>
9714 Спасибо Андрею Нигматулину. 9714 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9715 </para> 9715 </para>
9716 <para lang="en"> 9716 <para lang="en">
9717 nginx did not work on big-endian 64-bit Linux.<br/> 9717 nginx did not work on big-endian 64-bit Linux.<br/>
9718 Thanks to Andrei Nigmatulin. 9718 Thanks to Andrei Nigmatulin.
9719 </para> 9719 </para>
9720 </change> 9720 </change>
9721 9721
9722 <change type="bugfix"> 9722 <change type="bugfix">
9723 <para lang="ru"> 9723 <para lang="ru">
9724 при получении слишком длинной команды IMAP/POP3-прокси теперь сразу 9724 п©я─п╦ п©п╬п╩я┐я┤п╣п╫п╦п╦ я│п╩п╦я┬п╨п╬п╪ п╢п╩п╦п╫п╫п╬п╧ п╨п╬п╪п╟п╫п╢я▀ IMAP/POP3-п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ я│я─п╟п╥я┐
9725 закрывает соединение, а не по таймауту. 9725 п╥п╟п╨я─я▀п╡п╟п╣я┌ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣, п╟ п╫п╣ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
9726 </para> 9726 </para>
9727 <para lang="en"> 9727 <para lang="en">
9728 now when IMAP/POP3 proxy receives too long command it closes the connection 9728 now when IMAP/POP3 proxy receives too long command it closes the connection
9729 right away, but not after timeout. 9729 right away, but not after timeout.
9730 </para> 9730 </para>
9731 </change> 9731 </change>
9732 9732
9733 <change type="bugfix"> 9733 <change type="bugfix">
9734 <para lang="ru"> 9734 <para lang="ru">
9735 если при использовании метода epoll клиент закрывал преждевременно 9735 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ epoll п╨п╩п╦п╣п╫я┌ п╥п╟п╨я─я▀п╡п╟п╩ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬
9736 соединение со своей стороны, то nginx закрывал это соединение только 9736 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│п╬ я│п╡п╬п╣п╧ я│я┌п╬я─п╬п╫я▀, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я█я┌п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я┌п╬п╩я▄п╨п╬
9737 по истечении таймаута на передачу. 9737 п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ я┌п╟п╧п╪п╟я┐я┌п╟ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐.
9738 </para> 9738 </para>
9739 <para lang="en"> 9739 <para lang="en">
9740 if the "epoll" method was used and a client closed a connection prematurely, 9740 if the "epoll" method was used and a client closed a connection prematurely,
9741 then nginx closed the connection after a send timeout only. 9741 then nginx closed the connection after a send timeout only.
9742 </para> 9742 </para>
9743 </change> 9743 </change>
9744 9744
9745 <change type="bugfix"> 9745 <change type="bugfix">
9746 <para lang="ru"> 9746 <para lang="ru">
9747 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 9747 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
9748 ошибка появилась в 0.5.8. 9748 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9749 </para> 9749 </para>
9750 <para lang="en"> 9750 <para lang="en">
9751 nginx could not be built on platforms different from i386, amd64, sparc, 9751 nginx could not be built on platforms different from i386, amd64, sparc,
9752 and ppc; 9752 and ppc;
9753 the bug had appeared in 0.5.8. 9753 the bug had appeared in 0.5.8.
9759 9759
9760 <changes ver="0.5.12" date="12.02.2007"> 9760 <changes ver="0.5.12" date="12.02.2007">
9761 9761
9762 <change type="bugfix"> 9762 <change type="bugfix">
9763 <para lang="ru"> 9763 <para lang="ru">
9764 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 9764 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
9765 ошибка появилась в 0.5.8. 9765 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9766 </para> 9766 </para>
9767 <para lang="en"> 9767 <para lang="en">
9768 nginx could not be built on platforms different from i386, amd64, sparc, 9768 nginx could not be built on platforms different from i386, amd64, sparc,
9769 and ppc; 9769 and ppc;
9770 the bug had appeared in 0.5.8. 9770 the bug had appeared in 0.5.8.
9771 </para> 9771 </para>
9772 </change> 9772 </change>
9773 9773
9774 <change type="bugfix"> 9774 <change type="bugfix">
9775 <para lang="ru"> 9775 <para lang="ru">
9776 при использовании временных файлов в время работы с FastCGI-сервером 9776 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡ п╡я─п╣п╪я▐ я─п╟п╠п╬я┌я▀ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪
9777 в рабочем процессе мог произойти segmentation fault; 9777 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
9778 ошибка появилась в 0.5.8. 9778 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9779 </para> 9779 </para>
9780 <para lang="en"> 9780 <para lang="en">
9781 a segmentation fault might occur in worker process 9781 a segmentation fault might occur in worker process
9782 if the temporary files were used while working with FastCGI server; 9782 if the temporary files were used while working with FastCGI server;
9783 the bug had appeared in 0.5.8. 9783 the bug had appeared in 0.5.8.
9784 </para> 9784 </para>
9785 </change> 9785 </change>
9786 9786
9787 <change type="bugfix"> 9787 <change type="bugfix">
9788 <para lang="ru"> 9788 <para lang="ru">
9789 если переменная $fastcgi_script_name записывалась в лог, 9789 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $fastcgi_script_name п╥п╟п©п╦я│я▀п╡п╟п╩п╟я│я▄ п╡ п╩п╬пЁ,
9790 то в рабочем процессе мог произойти segmentation fault. 9790 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9791 </para> 9791 </para>
9792 <para lang="en"> 9792 <para lang="en">
9793 a segmentation fault might occur in worker process 9793 a segmentation fault might occur in worker process
9794 if the $fastcgi_script_name variable was logged. 9794 if the $fastcgi_script_name variable was logged.
9795 </para> 9795 </para>
9796 </change> 9796 </change>
9797 9797
9798 <change type="bugfix"> 9798 <change type="bugfix">
9799 <para lang="ru"> 9799 <para lang="ru">
9800 ngx_http_perl_module не собирался на Solaris. 9800 ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris.
9801 </para> 9801 </para>
9802 <para lang="en"> 9802 <para lang="en">
9803 ngx_http_perl_module could not be built on Solaris. 9803 ngx_http_perl_module could not be built on Solaris.
9804 </para> 9804 </para>
9805 </change> 9805 </change>
9809 9809
9810 <changes ver="0.5.11" date="05.02.2007"> 9810 <changes ver="0.5.11" date="05.02.2007">
9811 9811
9812 <change type="feature"> 9812 <change type="feature">
9813 <para lang="ru"> 9813 <para lang="ru">
9814 теперь configure определяет библиотеку PCRE в MacPorts.<br/> 9814 я┌п╣п©п╣я─я▄ configure п╬п©я─п╣п╢п╣п╩я▐п╣я┌ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ PCRE п╡ MacPorts.<br/>
9815 Спасибо Chris McGrath. 9815 п║п©п╟я│п╦п╠п╬ Chris McGrath.
9816 </para> 9816 </para>
9817 <para lang="en"> 9817 <para lang="en">
9818 now configure detects system PCRE library in MacPorts.<br/> 9818 now configure detects system PCRE library in MacPorts.<br/>
9819 Thanks to Chris McGrath. 9819 Thanks to Chris McGrath.
9820 </para> 9820 </para>
9821 </change> 9821 </change>
9822 9822
9823 <change type="bugfix"> 9823 <change type="bugfix">
9824 <para lang="ru"> 9824 <para lang="ru">
9825 ответ был неверным, если запрашивалось несколько диапазонов; 9825 п╬я┌п╡п╣я┌ п╠я▀п╩ п╫п╣п╡п╣я─п╫я▀п╪, п╣я│п╩п╦ п╥п╟п©я─п╟я┬п╦п╡п╟п╩п╬я│я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦п╟п©п╟п╥п╬п╫п╬п╡;
9826 ошибка появилась в 0.5.6. 9826 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.6.
9827 </para> 9827 </para>
9828 <para lang="en"> 9828 <para lang="en">
9829 the response was incorrect if several ranges were requested; 9829 the response was incorrect if several ranges were requested;
9830 the bug had appeared in 0.5.6. 9830 the bug had appeared in 0.5.6.
9831 </para> 9831 </para>
9832 </change> 9832 </change>
9833 9833
9834 <change type="bugfix"> 9834 <change type="bugfix">
9835 <para lang="ru"> 9835 <para lang="ru">
9836 директива create_full_put_path не могла создавать промежуточные каталоги, 9836 п╢п╦я─п╣п╨я┌п╦п╡п╟ create_full_put_path п╫п╣ п╪п╬пЁп╩п╟ я│п╬п╥п╢п╟п╡п╟я┌я▄ п©я─п╬п╪п╣п╤я┐я┌п╬я┤п╫я▀п╣ п╨п╟я┌п╟п╩п╬пЁп╦,
9837 если не была установлена директива dav_access.<br/> 9837 п╣я│п╩п╦ п╫п╣ п╠я▀п╩п╟ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access.<br/>
9838 Спасибо Evan Miller. 9838 п║п©п╟я│п╦п╠п╬ Evan Miller.
9839 </para> 9839 </para>
9840 <para lang="en"> 9840 <para lang="en">
9841 the "create_full_put_path" directive could not create the intermediate 9841 the "create_full_put_path" directive could not create the intermediate
9842 directories if no "dav_access" directive was set.<br/> 9842 directories if no "dav_access" directive was set.<br/>
9843 Thanks to Evan Miller. 9843 Thanks to Evan Miller.
9844 </para> 9844 </para>
9845 </change> 9845 </change>
9846 9846
9847 <change type="bugfix"> 9847 <change type="bugfix">
9848 <para lang="ru"> 9848 <para lang="ru">
9849 вместо кодов ошибок "400" и "408" в access_log мог записываться код "0". 9849 п╡п╪п╣я│я┌п╬ п╨п╬п╢п╬п╡ п╬я┬п╦п╠п╬п╨ "400" п╦ "408" п╡ access_log п╪п╬пЁ п╥п╟п©п╦я│я▀п╡п╟я┌я▄я│я▐ п╨п╬п╢ "0".
9850 </para> 9850 </para>
9851 <para lang="en"> 9851 <para lang="en">
9852 the "0" response code might be logged in the access_log instead of 9852 the "0" response code might be logged in the access_log instead of
9853 the "400" and "408" error codes. 9853 the "400" and "408" error codes.
9854 </para> 9854 </para>
9855 </change> 9855 </change>
9856 9856
9857 <change type="bugfix"> 9857 <change type="bugfix">
9858 <para lang="ru"> 9858 <para lang="ru">
9859 при сборке с оптимизацией -O2 в рабочем процессе мог произойти 9859 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ -O2 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
9860 segmentation fault. 9860 segmentation fault.
9861 </para> 9861 </para>
9862 <para lang="en"> 9862 <para lang="en">
9863 a segmentation fault might occur in worker process 9863 a segmentation fault might occur in worker process
9864 if nginx was built with -O2 optimization. 9864 if nginx was built with -O2 optimization.
9870 9870
9871 <changes ver="0.5.10" date="26.01.2007"> 9871 <changes ver="0.5.10" date="26.01.2007">
9872 9872
9873 <change type="bugfix"> 9873 <change type="bugfix">
9874 <para lang="ru"> 9874 <para lang="ru">
9875 во время обновления исполняемого файла новый процесс не наследовал 9875 п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╬п╡я▀п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩
9876 слушающие сокеты; 9876 я│п╩я┐я┬п╟я▌я┴п╦п╣ я│п╬п╨п╣я┌я▀;
9877 ошибка появилась в 0.5.9. 9877 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.
9878 </para> 9878 </para>
9879 <para lang="en"> 9879 <para lang="en">
9880 while online executable file upgrade the new master process did not 9880 while online executable file upgrade the new master process did not
9881 inherit the listening sockets; 9881 inherit the listening sockets;
9882 the bug had appeared in 0.5.9. 9882 the bug had appeared in 0.5.9.
9883 </para> 9883 </para>
9884 </change> 9884 </change>
9885 9885
9886 <change type="bugfix"> 9886 <change type="bugfix">
9887 <para lang="ru"> 9887 <para lang="ru">
9888 при сборке с оптимизацией -O2 в рабочем процессе мог произойти 9888 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ -O2 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
9889 segmentation fault; 9889 segmentation fault;
9890 ошибка появилась в 0.5.1. 9890 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.1.
9891 </para> 9891 </para>
9892 <para lang="en"> 9892 <para lang="en">
9893 a segmentation fault might occur in worker process 9893 a segmentation fault might occur in worker process
9894 if nginx was built with -O2 optimization; 9894 if nginx was built with -O2 optimization;
9895 the bug had appeared in 0.5.1. 9895 the bug had appeared in 0.5.1.
9901 9901
9902 <changes ver="0.5.9" date="25.01.2007"> 9902 <changes ver="0.5.9" date="25.01.2007">
9903 9903
9904 <change type="change"> 9904 <change type="change">
9905 <para lang="ru"> 9905 <para lang="ru">
9906 модуль ngx_http_memcached_module теперь в качестве ключа использует 9906 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module я┌п╣п©п╣я─я▄ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╨п╩я▌я┤п╟ п╦я│п©п╬п╩я▄п╥я┐п╣я┌
9907 значение переменной $memcached_key. 9907 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
9908 </para> 9908 </para>
9909 <para lang="en"> 9909 <para lang="en">
9910 now the ngx_http_memcached_module uses the $memcached_key variable value 9910 now the ngx_http_memcached_module uses the $memcached_key variable value
9911 as a key. 9911 as a key.
9912 </para> 9912 </para>
9913 </change> 9913 </change>
9914 9914
9915 <change type="feature"> 9915 <change type="feature">
9916 <para lang="ru"> 9916 <para lang="ru">
9917 переменная $memcached_key. 9917 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $memcached_key.
9918 </para> 9918 </para>
9919 <para lang="en"> 9919 <para lang="en">
9920 the $memcached_key variable. 9920 the $memcached_key variable.
9921 </para> 9921 </para>
9922 </change> 9922 </change>
9923 9923
9924 <change type="feature"> 9924 <change type="feature">
9925 <para lang="ru"> 9925 <para lang="ru">
9926 параметр clean в директиве client_body_in_file_only. 9926 п©п╟я─п╟п╪п╣я┌я─ clean п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ client_body_in_file_only.
9927 </para> 9927 </para>
9928 <para lang="en"> 9928 <para lang="en">
9929 the "clean" parameter in the "client_body_in_file_only" directive. 9929 the "clean" parameter in the "client_body_in_file_only" directive.
9930 </para> 9930 </para>
9931 </change> 9931 </change>
9932 9932
9933 <change type="feature"> 9933 <change type="feature">
9934 <para lang="ru"> 9934 <para lang="ru">
9935 директива env. 9935 п╢п╦я─п╣п╨я┌п╦п╡п╟ env.
9936 </para> 9936 </para>
9937 <para lang="en"> 9937 <para lang="en">
9938 the "env" directive. 9938 the "env" directive.
9939 </para> 9939 </para>
9940 </change> 9940 </change>
9941 9941
9942 <change type="feature"> 9942 <change type="feature">
9943 <para lang="ru"> 9943 <para lang="ru">
9944 директива sendfile работает внутри блока if. 9944 п╢п╦я─п╣п╨я┌п╦п╡п╟ sendfile я─п╟п╠п╬я┌п╟п╣я┌ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
9945 </para> 9945 </para>
9946 <para lang="en"> 9946 <para lang="en">
9947 the "sendfile" directive is available inside the "if" block. 9947 the "sendfile" directive is available inside the "if" block.
9948 </para> 9948 </para>
9949 </change> 9949 </change>
9950 9950
9951 <change type="feature"> 9951 <change type="feature">
9952 <para lang="ru"> 9952 <para lang="ru">
9953 теперь при ошибке записи в access_log nginx записывает сообщение в error_log, 9953 я┌п╣п©п╣я─я▄ п©я─п╦ п╬я┬п╦п╠п╨п╣ п╥п╟п©п╦я│п╦ п╡ access_log nginx п╥п╟п©п╦я│я▀п╡п╟п╣я┌ я│п╬п╬п╠я┴п╣п╫п╦п╣ п╡ error_log,
9954 но не чаще одного раза в минуту. 9954 п╫п╬ п╫п╣ я┤п╟я┴п╣ п╬п╢п╫п╬пЁп╬ я─п╟п╥п╟ п╡ п╪п╦п╫я┐я┌я┐.
9955 </para> 9955 </para>
9956 <para lang="en"> 9956 <para lang="en">
9957 now on failure of the writing to access nginx logs a message to error_log, 9957 now on failure of the writing to access nginx logs a message to error_log,
9958 but not more often than once a minute. 9958 but not more often than once a minute.
9959 </para> 9959 </para>
9960 </change> 9960 </change>
9961 9961
9962 <change type="bugfix"> 9962 <change type="bugfix">
9963 <para lang="ru"> 9963 <para lang="ru">
9964 директива "access_log off" не всегда запрещала запись в лог. 9964 п╢п╦я─п╣п╨я┌п╦п╡п╟ "access_log off" п╫п╣ п╡я│п╣пЁп╢п╟ п╥п╟п©я─п╣я┴п╟п╩п╟ п╥п╟п©п╦я│я▄ п╡ п╩п╬пЁ.
9965 </para> 9965 </para>
9966 <para lang="en"> 9966 <para lang="en">
9967 the "access_log off" directive did not always turn off the logging. 9967 the "access_log off" directive did not always turn off the logging.
9968 </para> 9968 </para>
9969 </change> 9969 </change>
9973 9973
9974 <changes ver="0.5.8" date="19.01.2007"> 9974 <changes ver="0.5.8" date="19.01.2007">
9975 9975
9976 <change type="bugfix"> 9976 <change type="bugfix">
9977 <para lang="ru"> 9977 <para lang="ru">
9978 если использовалась директива <nobr>"client_body_in_file_only on"</nobr> 9978 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ <nobr>"client_body_in_file_only on"</nobr>
9979 и тело запроса было небольшое, то мог произойти segmentation fault. 9979 п╦ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠я▀п╩п╬ п╫п╣п╠п╬п╩я▄я┬п╬п╣, я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9980 </para> 9980 </para>
9981 <para lang="en"> 9981 <para lang="en">
9982 a segmentation fault might occur if 9982 a segmentation fault might occur if
9983 <nobr>"client_body_in_file_only on"</nobr> was used 9983 <nobr>"client_body_in_file_only on"</nobr> was used
9984 and a request body was small. 9984 and a request body was small.
9985 </para> 9985 </para>
9986 </change> 9986 </change>
9987 9987
9988 <change type="bugfix"> 9988 <change type="bugfix">
9989 <para lang="ru"> 9989 <para lang="ru">
9990 происходил segmentation fault, если использовались директивы 9990 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀
9991 <nobr>"client_body_in_file_only on"</nobr> 9991 <nobr>"client_body_in_file_only on"</nobr>
9992 и <nobr>"proxy_pass_request_body off"</nobr> 9992 п╦ <nobr>"proxy_pass_request_body off"</nobr>
9993 или <nobr>"fastcgi_pass_request_body off"</nobr>, 9993 п╦п╩п╦ <nobr>"fastcgi_pass_request_body off"</nobr>,
9994 и делался переход к следующему бэкенду. 9994 п╦ п╢п╣п╩п╟п╩я│я▐ п©п╣я─п╣я┘п╬п╢ п╨ я│п╩п╣п╢я┐я▌я┴п╣п╪я┐ п╠я█п╨п╣п╫п╢я┐.
9995 </para> 9995 </para>
9996 <para lang="en"> 9996 <para lang="en">
9997 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 9997 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
9998 and <nobr>"proxy_pass_request_body off"</nobr> 9998 and <nobr>"proxy_pass_request_body off"</nobr>
9999 or <nobr>"fastcgi_pass_request_body off"</nobr> 9999 or <nobr>"fastcgi_pass_request_body off"</nobr>
10001 </para> 10001 </para>
10002 </change> 10002 </change>
10003 10003
10004 <change type="bugfix"> 10004 <change type="bugfix">
10005 <para lang="ru"> 10005 <para lang="ru">
10006 если при использовании директивы "proxy_buffering off" соединение с клиентом 10006 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ "proxy_buffering off" я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╨п╩п╦п╣п╫я┌п╬п╪
10007 было неактивно, то оно закрывалось по таймауту, заданному директивой 10007 п╠я▀п╩п╬ п╫п╣п╟п╨я┌п╦п╡п╫п╬, я┌п╬ п╬п╫п╬ п╥п╟п╨я─я▀п╡п╟п╩п╬я│я▄ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐, п╥п╟п╢п╟п╫п╫п╬п╪я┐ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
10008 send_timeout; 10008 send_timeout;
10009 ошибка появилась в 0.4.7. 10009 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.7.
10010 </para> 10010 </para>
10011 <para lang="en"> 10011 <para lang="en">
10012 if the "proxy_buffering off" directive was used and a client connection 10012 if the "proxy_buffering off" directive was used and a client connection
10013 was non-active, then the connection was closed after send timeout; 10013 was non-active, then the connection was closed after send timeout;
10014 the bug had appeared in 0.4.7. 10014 the bug had appeared in 0.4.7.
10015 </para> 10015 </para>
10016 </change> 10016 </change>
10017 10017
10018 <change type="bugfix"> 10018 <change type="bugfix">
10019 <para lang="ru"> 10019 <para lang="ru">
10020 если при использовании метода epoll клиент закрывал преждевременно 10020 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ epoll п╨п╩п╦п╣п╫я┌ п╥п╟п╨я─я▀п╡п╟п╩ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬
10021 соединение со своей стороны, то nginx закрывал это соединение только 10021 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│п╬ я│п╡п╬п╣п╧ я│я┌п╬я─п╬п╫я▀, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я█я┌п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я┌п╬п╩я▄п╨п╬
10022 по истечении таймаута на передачу. 10022 п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ я┌п╟п╧п╪п╟я┐я┌п╟ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐.
10023 </para> 10023 </para>
10024 <para lang="en"> 10024 <para lang="en">
10025 if the "epoll" method was used and a client closed a connection prematurely, 10025 if the "epoll" method was used and a client closed a connection prematurely,
10026 then nginx closed the connection after a send timeout only. 10026 then nginx closed the connection after a send timeout only.
10027 </para> 10027 </para>
10028 </change> 10028 </change>
10029 10029
10030 <change type="bugfix"> 10030 <change type="bugfix">
10031 <para lang="ru"> 10031 <para lang="ru">
10032 ошибки "[alert] zero size buf" при работе с FastCGI-сервером. 10032 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪.
10033 </para> 10033 </para>
10034 <para lang="en"> 10034 <para lang="en">
10035 the "[alert] zero size buf" error when FastCGI server was used. 10035 the "[alert] zero size buf" error when FastCGI server was used.
10036 </para> 10036 </para>
10037 </change> 10037 </change>
10038 10038
10039 <change> 10039 <change>
10040 <para lang="ru"> 10040 <para lang="ru">
10041 Исправление ошибок в директиве limit_zone. 10041 п≤я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ limit_zone.
10042 </para> 10042 </para>
10043 <para lang="en"> 10043 <para lang="en">
10044 Bugfixes in the "limit_zone" directive. 10044 Bugfixes in the "limit_zone" directive.
10045 </para> 10045 </para>
10046 </change> 10046 </change>
10050 10050
10051 <changes ver="0.5.7" date="15.01.2007"> 10051 <changes ver="0.5.7" date="15.01.2007">
10052 10052
10053 <change type="feature"> 10053 <change type="feature">
10054 <para lang="ru"> 10054 <para lang="ru">
10055 оптимизация использования памяти в ssl_session_cache. 10055 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п©п╟п╪я▐я┌п╦ п╡ ssl_session_cache.
10056 </para> 10056 </para>
10057 <para lang="en"> 10057 <para lang="en">
10058 the ssl_session_cache storage optimization. 10058 the ssl_session_cache storage optimization.
10059 </para> 10059 </para>
10060 </change> 10060 </change>
10061 10061
10062 <change> 10062 <change>
10063 <para lang="ru"> 10063 <para lang="ru">
10064 Исправление ошибок в директивах ssl_session_cache и limit_zone. 10064 п≤я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ ssl_session_cache п╦ limit_zone.
10065 </para> 10065 </para>
10066 <para lang="en"> 10066 <para lang="en">
10067 Bugfixes in the "ssl_session_cache" and "limit_zone" directives. 10067 Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
10068 </para> 10068 </para>
10069 </change> 10069 </change>
10070 10070
10071 <change type="bugfix"> 10071 <change type="bugfix">
10072 <para lang="ru"> 10072 <para lang="ru">
10073 на старте или во время переконфигурации происходил segmentation fault, 10073 п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
10074 если директивы ssl_session_cache или limit_zone использовались 10074 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_session_cache п╦п╩п╦ limit_zone п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄
10075 на 64-битных платформах. 10075 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘.
10076 </para> 10076 </para>
10077 <para lang="en"> 10077 <para lang="en">
10078 the segmentation fault was occurred on start or while reconfiguration 10078 the segmentation fault was occurred on start or while reconfiguration
10079 if the "ssl_session_cache" or "limit_zone" directives were used 10079 if the "ssl_session_cache" or "limit_zone" directives were used
10080 on 64-bit platforms. 10080 on 64-bit platforms.
10081 </para> 10081 </para>
10082 </change> 10082 </change>
10083 10083
10084 <change type="bugfix"> 10084 <change type="bugfix">
10085 <para lang="ru"> 10085 <para lang="ru">
10086 при использовании директив add_before_body или add_after_body происходил 10086 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ add_before_body п╦п╩п╦ add_after_body п©я─п╬п╦я│я┘п╬п╢п╦п╩
10087 segmentation fault, если в заголовке ответа нет строки "Content-Type". 10087 segmentation fault, п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╫п╣я┌ я│я┌я─п╬п╨п╦ "Content-Type".
10088 </para> 10088 </para>
10089 <para lang="en"> 10089 <para lang="en">
10090 a segmentation fault occurred if the "add_before_body" or "add_after_body" 10090 a segmentation fault occurred if the "add_before_body" or "add_after_body"
10091 directives were used and there was no "Content-Type" header line in response. 10091 directives were used and there was no "Content-Type" header line in response.
10092 </para> 10092 </para>
10093 </change> 10093 </change>
10094 10094
10095 <change type="bugfix"> 10095 <change type="bugfix">
10096 <para lang="ru"> 10096 <para lang="ru">
10097 библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/> 10097 п╠п╦п╠п╩п╦п╬я┌п╣п╨п╟ OpenSSL п╡я│п╣пЁп╢п╟ я│п╬п╠п╦я─п╟п╩п╟я│я▄ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡.<br/>
10098 Спасибо Дену Иванову. 10098 п║п©п╟я│п╦п╠п╬ п■п╣п╫я┐ п≤п╡п╟п╫п╬п╡я┐.
10099 </para> 10099 </para>
10100 <para lang="en"> 10100 <para lang="en">
10101 the OpenSSL library was always built with the threads support.<br/> 10101 the OpenSSL library was always built with the threads support.<br/>
10102 Thanks to Den Ivanov. 10102 Thanks to Den Ivanov.
10103 </para> 10103 </para>
10104 </change> 10104 </change>
10105 10105
10106 <change type="bugfix"> 10106 <change type="bugfix">
10107 <para lang="ru"> 10107 <para lang="ru">
10108 совместимость библиотеки PCRE-6.5+ и компилятора icc. 10108 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE-6.5+ п╦ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟ icc.
10109 </para> 10109 </para>
10110 <para lang="en"> 10110 <para lang="en">
10111 the PCRE-6.5+ library and the icc compiler compatibility. 10111 the PCRE-6.5+ library and the icc compiler compatibility.
10112 </para> 10112 </para>
10113 </change> 10113 </change>
10117 10117
10118 <changes ver="0.5.6" date="09.01.2007"> 10118 <changes ver="0.5.6" date="09.01.2007">
10119 10119
10120 <change type="change"> 10120 <change type="change">
10121 <para lang="ru"> 10121 <para lang="ru">
10122 теперь модуль ngx_http_index_module игнорирует все методы, 10122 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_index_module п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╡я│п╣ п╪п╣я┌п╬п╢я▀,
10123 кроме GET, HEAD и POST. 10123 п╨я─п╬п╪п╣ GET, HEAD п╦ POST.
10124 </para> 10124 </para>
10125 <para lang="en"> 10125 <para lang="en">
10126 now the ngx_http_index_module ignores all methods except the GET, HEAD, and 10126 now the ngx_http_index_module ignores all methods except the GET, HEAD, and
10127 POST methods. 10127 POST methods.
10128 </para> 10128 </para>
10129 </change> 10129 </change>
10130 10130
10131 <change type="feature"> 10131 <change type="feature">
10132 <para lang="ru"> 10132 <para lang="ru">
10133 модуль ngx_http_limit_zone_module. 10133 п╪п╬п╢я┐п╩я▄ ngx_http_limit_zone_module.
10134 </para> 10134 </para>
10135 <para lang="en"> 10135 <para lang="en">
10136 the ngx_http_limit_zone_module. 10136 the ngx_http_limit_zone_module.
10137 </para> 10137 </para>
10138 </change> 10138 </change>
10139 10139
10140 <change type="feature"> 10140 <change type="feature">
10141 <para lang="ru"> 10141 <para lang="ru">
10142 переменная $binary_remote_addr. 10142 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $binary_remote_addr.
10143 </para> 10143 </para>
10144 <para lang="en"> 10144 <para lang="en">
10145 the $binary_remote_addr variable. 10145 the $binary_remote_addr variable.
10146 </para> 10146 </para>
10147 </change> 10147 </change>
10148 10148
10149 <change type="feature"> 10149 <change type="feature">
10150 <para lang="ru"> 10150 <para lang="ru">
10151 директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module. 10151 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_session_cache п╪п╬п╢я┐п╩п╣п╧ ngx_http_ssl_module п╦ ngx_imap_ssl_module.
10152 </para> 10152 </para>
10153 <para lang="en"> 10153 <para lang="en">
10154 the "ssl_session_cache" directives 10154 the "ssl_session_cache" directives
10155 of the ngx_http_ssl_module and ngx_imap_ssl_module. 10155 of the ngx_http_ssl_module and ngx_imap_ssl_module.
10156 </para> 10156 </para>
10157 </change> 10157 </change>
10158 10158
10159 <change type="feature"> 10159 <change type="feature">
10160 <para lang="ru"> 10160 <para lang="ru">
10161 метод DELETE поддерживает рекурсивное удаление. 10161 п╪п╣я┌п╬п╢ DELETE п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣п╨я┐я─я│п╦п╡п╫п╬п╣ я┐п╢п╟п╩п╣п╫п╦п╣.
10162 </para> 10162 </para>
10163 <para lang="en"> 10163 <para lang="en">
10164 the DELETE method supports recursive removal. 10164 the DELETE method supports recursive removal.
10165 </para> 10165 </para>
10166 </change> 10166 </change>
10167 10167
10168 <change type="bugfix"> 10168 <change type="bugfix">
10169 <para lang="ru"> 10169 <para lang="ru">
10170 при использовании $r->sendfile() byte-ranges передавались неверно. 10170 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ $r->sendfile() byte-ranges п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣п╡п╣я─п╫п╬.
10171 </para> 10171 </para>
10172 <para lang="en"> 10172 <para lang="en">
10173 the byte-ranges were transferred incorrectly if the $r->sendfile() was used. 10173 the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
10174 </para> 10174 </para>
10175 </change> 10175 </change>
10179 10179
10180 <changes ver="0.5.5" date="24.12.2006"> 10180 <changes ver="0.5.5" date="24.12.2006">
10181 10181
10182 <change type="change"> 10182 <change type="change">
10183 <para lang="ru"> 10183 <para lang="ru">
10184 ключ -v больше не выводит информацию о компиляторе. 10184 п╨п╩я▌я┤ -v п╠п╬п╩я▄я┬п╣ п╫п╣ п╡я▀п╡п╬п╢п╦я┌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╣.
10185 </para> 10185 </para>
10186 <para lang="en"> 10186 <para lang="en">
10187 the -v switch does not show compiler information any more. 10187 the -v switch does not show compiler information any more.
10188 </para> 10188 </para>
10189 </change> 10189 </change>
10190 10190
10191 <change type="feature"> 10191 <change type="feature">
10192 <para lang="ru"> 10192 <para lang="ru">
10193 ключ -V. 10193 п╨п╩я▌я┤ -V.
10194 </para> 10194 </para>
10195 <para lang="en"> 10195 <para lang="en">
10196 the -V switch. 10196 the -V switch.
10197 </para> 10197 </para>
10198 </change> 10198 </change>
10199 10199
10200 <change type="feature"> 10200 <change type="feature">
10201 <para lang="ru"> 10201 <para lang="ru">
10202 директива worker_rlimit_core поддерживает указание размера в K, M и G. 10202 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_rlimit_core п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐п╨п╟п╥п╟п╫п╦п╣ я─п╟п╥п╪п╣я─п╟ п╡ K, M п╦ G.
10203 </para> 10203 </para>
10204 <para lang="en"> 10204 <para lang="en">
10205 the "worker_rlimit_core" directive supports size in K, M, and G. 10205 the "worker_rlimit_core" directive supports size in K, M, and G.
10206 </para> 10206 </para>
10207 </change> 10207 </change>
10208 10208
10209 <change type="bugfix"> 10209 <change type="bugfix">
10210 <para lang="ru"> 10210 <para lang="ru">
10211 модуль nginx.pm теперь может устанавливаться непривилегированным пользователем. 10211 п╪п╬п╢я┐п╩я▄ nginx.pm я┌п╣п©п╣я─я▄ п╪п╬п╤п╣я┌ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄я│я▐ п╫п╣п©я─п╦п╡п╦п╩п╣пЁп╦я─п╬п╡п╟п╫п╫я▀п╪ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╪.
10212 </para> 10212 </para>
10213 <para lang="en"> 10213 <para lang="en">
10214 the nginx.pm module now could be installed by an unprivileged user. 10214 the nginx.pm module now could be installed by an unprivileged user.
10215 </para> 10215 </para>
10216 </change> 10216 </change>
10217 10217
10218 <change type="bugfix"> 10218 <change type="bugfix">
10219 <para lang="ru"> 10219 <para lang="ru">
10220 при использовании методов $r->request_body или $r->request_body_file мог 10220 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ $r->request_body п╦п╩п╦ $r->request_body_file п╪п╬пЁ
10221 произойти segmentation fault. 10221 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10222 </para> 10222 </para>
10223 <para lang="en"> 10223 <para lang="en">
10224 a segmentation fault might occur if the $r->request_body or 10224 a segmentation fault might occur if the $r->request_body or
10225 $r->request_body_file methods were used. 10225 $r->request_body_file methods were used.
10226 </para> 10226 </para>
10227 </change> 10227 </change>
10228 10228
10229 <change type="bugfix"> 10229 <change type="bugfix">
10230 <para lang="ru"> 10230 <para lang="ru">
10231 ошибок, специфичных для платформы ppc. 10231 п╬я┬п╦п╠п╬п╨, я│п©п╣я├п╦я└п╦я┤п╫я▀я┘ п╢п╩я▐ п©п╩п╟я┌я└п╬я─п╪я▀ ppc.
10232 </para> 10232 </para>
10233 <para lang="en"> 10233 <para lang="en">
10234 the ppc platform specific bugs. 10234 the ppc platform specific bugs.
10235 </para> 10235 </para>
10236 </change> 10236 </change>
10240 10240
10241 <changes ver="0.5.4" date="15.12.2006"> 10241 <changes ver="0.5.4" date="15.12.2006">
10242 10242
10243 <change type="feature"> 10243 <change type="feature">
10244 <para lang="ru"> 10244 <para lang="ru">
10245 директиву perl можно использовать внутри блока limit_except. 10245 п╢п╦я─п╣п╨я┌п╦п╡я┐ perl п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
10246 </para> 10246 </para>
10247 <para lang="en"> 10247 <para lang="en">
10248 the "perl" directive may be used inside the "limit_except" block. 10248 the "perl" directive may be used inside the "limit_except" block.
10249 </para> 10249 </para>
10250 </change> 10250 </change>
10251 10251
10252 <change type="bugfix"> 10252 <change type="bugfix">
10253 <para lang="ru"> 10253 <para lang="ru">
10254 модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса 10254 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module я┌я─п╣п╠п╬п╡п╟п╩ я│я┌я─п╬п╨я┐ "Date" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
10255 для метода DELETE. 10255 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ DELETE.
10256 </para> 10256 </para>
10257 <para lang="en"> 10257 <para lang="en">
10258 the ngx_http_dav_module required the "Date" request header line 10258 the ngx_http_dav_module required the "Date" request header line
10259 for the DELETE method. 10259 for the DELETE method.
10260 </para> 10260 </para>
10261 </change> 10261 </change>
10262 10262
10263 <change type="bugfix"> 10263 <change type="bugfix">
10264 <para lang="ru"> 10264 <para lang="ru">
10265 при использовании одного параметра в директиве dav_access nginx мог 10265 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п╢п╫п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ dav_access nginx п╪п╬пЁ
10266 сообщить об ошибке в конфигурации. 10266 я│п╬п╬п╠я┴п╦я┌я▄ п╬п╠ п╬я┬п╦п╠п╨п╣ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
10267 </para> 10267 </para>
10268 <para lang="en"> 10268 <para lang="en">
10269 if one only parameter was used in the "dav_access" directive, then 10269 if one only parameter was used in the "dav_access" directive, then
10270 nginx might report about configuration error. 10270 nginx might report about configuration error.
10271 </para> 10271 </para>
10272 </change> 10272 </change>
10273 10273
10274 <change type="bugfix"> 10274 <change type="bugfix">
10275 <para lang="ru"> 10275 <para lang="ru">
10276 при использовании переменной $host мог произойти segmentation fault; 10276 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $host п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
10277 ошибка появилась в 0.4.14. 10277 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.14.
10278 </para> 10278 </para>
10279 <para lang="en"> 10279 <para lang="en">
10280 a segmentation fault might occur if the $host variable was used; 10280 a segmentation fault might occur if the $host variable was used;
10281 the bug had appeared in 0.4.14. 10281 the bug had appeared in 0.4.14.
10282 </para> 10282 </para>
10287 10287
10288 <changes ver="0.5.3" date="13.12.2006"> 10288 <changes ver="0.5.3" date="13.12.2006">
10289 10289
10290 <change type="feature"> 10290 <change type="feature">
10291 <para lang="ru"> 10291 <para lang="ru">
10292 модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error 10292 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->status, $r->log_error
10293 и $r->sleep. 10293 п╦ $r->sleep.
10294 </para> 10294 </para>
10295 <para lang="en"> 10295 <para lang="en">
10296 the ngx_http_perl_module supports the $r->status, $r->log_error, 10296 the ngx_http_perl_module supports the $r->status, $r->log_error,
10297 and $r->sleep methods. 10297 and $r->sleep methods.
10298 </para> 10298 </para>
10299 </change> 10299 </change>
10300 10300
10301 <change type="feature"> 10301 <change type="feature">
10302 <para lang="ru"> 10302 <para lang="ru">
10303 метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а. 10303 п╪п╣я┌п╬п╢ $r->variable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╫п╣п╬п©п╦я│п╟п╫п╫я▀п╣ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ nginx'п╟.
10304 </para> 10304 </para>
10305 <para lang="en"> 10305 <para lang="en">
10306 the $r->variable method supports variables that do not exist in nginx 10306 the $r->variable method supports variables that do not exist in nginx
10307 configuration. 10307 configuration.
10308 </para> 10308 </para>
10309 </change> 10309 </change>
10310 10310
10311 <change type="bugfix"> 10311 <change type="bugfix">
10312 <para lang="ru"> 10312 <para lang="ru">
10313 метод $r->has_request_body не работал. 10313 п╪п╣я┌п╬п╢ $r->has_request_body п╫п╣ я─п╟п╠п╬я┌п╟п╩.
10314 </para> 10314 </para>
10315 <para lang="en"> 10315 <para lang="en">
10316 the $r->has_request_body method did not work. 10316 the $r->has_request_body method did not work.
10317 </para> 10317 </para>
10318 </change> 10318 </change>
10322 10322
10323 <changes ver="0.5.2" date="11.12.2006"> 10323 <changes ver="0.5.2" date="11.12.2006">
10324 10324
10325 <change type="bugfix"> 10325 <change type="bugfix">
10326 <para lang="ru"> 10326 <para lang="ru">
10327 если в директивах proxy_pass использовалось имя, указанное в upstream, 10327 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╦п╪я▐, я┐п╨п╟п╥п╟п╫п╫п╬п╣ п╡ upstream,
10328 то nginx пытался найти IP-адрес этого имени; 10328 я┌п╬ nginx п©я▀я┌п╟п╩я│я▐ п╫п╟п╧я┌п╦ IP-п╟п╢я─п╣я│ я█я┌п╬пЁп╬ п╦п╪п╣п╫п╦;
10329 ошибка появилась в 0.5.1. 10329 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.1.
10330 </para> 10330 </para>
10331 <para lang="en"> 10331 <para lang="en">
10332 if the "proxy_pass" directive used the name of the "upstream" block, 10332 if the "proxy_pass" directive used the name of the "upstream" block,
10333 then nginx tried to resolve the name; 10333 then nginx tried to resolve the name;
10334 the bug had appeared in 0.5.1. 10334 the bug had appeared in 0.5.1.
10340 10340
10341 <changes ver="0.5.1" date="11.12.2006"> 10341 <changes ver="0.5.1" date="11.12.2006">
10342 10342
10343 <change type="bugfix"> 10343 <change type="bugfix">
10344 <para lang="ru"> 10344 <para lang="ru">
10345 директива post_action могла не работать после неудачного завершения запроса. 10345 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п╪п╬пЁп╩п╟ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄ п©п╬я│п╩п╣ п╫п╣я┐п╢п╟я┤п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
10346 </para> 10346 </para>
10347 <para lang="en"> 10347 <para lang="en">
10348 the "post_action" directive might not run after a unsuccessful completion 10348 the "post_action" directive might not run after a unsuccessful completion
10349 of a request. 10349 of a request.
10350 </para> 10350 </para>
10351 </change> 10351 </change>
10352 10352
10353 <change type="workaround"> 10353 <change type="workaround">
10354 <para lang="ru"> 10354 <para lang="ru">
10355 обход ошибки в Eudora для Mac; 10355 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ Eudora п╢п╩я▐ Mac;
10356 ошибка появилась в 0.4.11.<br/> 10356 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.11.<br/>
10357 Спасибо Bron Gondwana. 10357 п║п©п╟я│п╦п╠п╬ Bron Gondwana.
10358 </para> 10358 </para>
10359 <para lang="en"> 10359 <para lang="en">
10360 for Eudora for Mac; 10360 for Eudora for Mac;
10361 the bug had appeared in 0.4.11.<br/> 10361 the bug had appeared in 0.4.11.<br/>
10362 Thanks to Bron Gondwana. 10362 Thanks to Bron Gondwana.
10363 </para> 10363 </para>
10364 </change> 10364 </change>
10365 10365
10366 <change type="bugfix"> 10366 <change type="bugfix">
10367 <para lang="ru"> 10367 <para lang="ru">
10368 при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось 10368 п©я─п╦ я┐п╨п╟п╥п╟п╫п╦п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_pass п╦п╪п╣п╫п╦ п╬п©п╦я│п╟п╫п╫п╬пЁп╬ upstream'п╟ п╡я▀п╢п╟п╡п╟п╩п╬я│я▄
10369 сообщение "no port in upstream"; 10369 я│п╬п╬п╠я┴п╣п╫п╦п╣ "no port in upstream";
10370 ошибка появилась в 0.5.0. 10370 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10371 </para> 10371 </para>
10372 <para lang="en"> 10372 <para lang="en">
10373 if the "upstream" name was used in the "fastcgi_pass", then the message 10373 if the "upstream" name was used in the "fastcgi_pass", then the message
10374 "no port in upstream" was issued; 10374 "no port in upstream" was issued;
10375 the bug had appeared in 0.5.0. 10375 the bug had appeared in 0.5.0.
10376 </para> 10376 </para>
10377 </change> 10377 </change>
10378 10378
10379 <change type="bugfix"> 10379 <change type="bugfix">
10380 <para lang="ru"> 10380 <para lang="ru">
10381 если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена 10381 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦ fastcgi_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╬п╢п╦п╫п╟п╨п╬п╡я▀я┘ п╦п╪п╣п╫п╟
10382 серверов, но с разными портами, то эти директивы использовали первый 10382 я│п╣я─п╡п╣я─п╬п╡, п╫п╬ я│ я─п╟п╥п╫я▀п╪п╦ п©п╬я─я┌п╟п╪п╦, я┌п╬ я█я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦ п©п╣я─п╡я▀п╧
10383 описанный порт; 10383 п╬п©п╦я│п╟п╫п╫я▀п╧ п©п╬я─я┌;
10384 ошибка появилась в 0.5.0. 10384 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10385 </para> 10385 </para>
10386 <para lang="en"> 10386 <para lang="en">
10387 if the "proxy_pass" and "fastcgi_pass" directives used the same servers but 10387 if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
10388 different ports, then these directives uses the first described port; 10388 different ports, then these directives uses the first described port;
10389 the bug had appeared in 0.5.0. 10389 the bug had appeared in 0.5.0.
10390 </para> 10390 </para>
10391 </change> 10391 </change>
10392 10392
10393 <change type="bugfix"> 10393 <change type="bugfix">
10394 <para lang="ru"> 10394 <para lang="ru">
10395 если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты, 10395 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦ fastcgi_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ unix domain я│п╬п╨п╣я┌я▀,
10396 то эти директивы использовали первый описанный сокет; 10396 я┌п╬ я█я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦ п©п╣я─п╡я▀п╧ п╬п©п╦я│п╟п╫п╫я▀п╧ я│п╬п╨п╣я┌;
10397 ошибка появилась в 0.5.0. 10397 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10398 </para> 10398 </para>
10399 <para lang="en"> 10399 <para lang="en">
10400 if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, 10400 if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
10401 then these directives used first described socket; 10401 then these directives used first described socket;
10402 the bug had appeared in 0.5.0. 10402 the bug had appeared in 0.5.0.
10403 </para> 10403 </para>
10404 </change> 10404 </change>
10405 10405
10406 <change type="bugfix"> 10406 <change type="bugfix">
10407 <para lang="ru"> 10407 <para lang="ru">
10408 ngx_http_auth_basic_module игнорировал пользователя, если он был указан 10408 ngx_http_auth_basic_module п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐, п╣я│п╩п╦ п╬п╫ п╠я▀п╩ я┐п╨п╟п╥п╟п╫
10409 в последней строке файла паролей и после пароля не было перевода строки, 10409 п╡ п©п╬я│п╩п╣п╢п╫п╣п╧ я│я┌я─п╬п╨п╣ я└п╟п╧п╩п╟ п©п╟я─п╬п╩п╣п╧ п╦ п©п╬я│п╩п╣ п©п╟я─п╬п╩я▐ п╫п╣ п╠я▀п╩п╬ п©п╣я─п╣п╡п╬п╢п╟ я│я┌я─п╬п╨п╦,
10410 возврата каретки или символа ":". 10410 п╡п╬п╥п╡я─п╟я┌п╟ п╨п╟я─п╣я┌п╨п╦ п╦п╩п╦ я│п╦п╪п╡п╬п╩п╟ ":".
10411 </para> 10411 </para>
10412 <para lang="en"> 10412 <para lang="en">
10413 ngx_http_auth_basic_module ignored the user if it was in the last line in 10413 ngx_http_auth_basic_module ignored the user if it was in the last line in
10414 the password file and there was no the carriage return, the line feed, 10414 the password file and there was no the carriage return, the line feed,
10415 or the ":" symbol after the password. 10415 or the ":" symbol after the password.
10416 </para> 10416 </para>
10417 </change> 10417 </change>
10418 10418
10419 <change type="bugfix"> 10419 <change type="bugfix">
10420 <para lang="ru"> 10420 <para lang="ru">
10421 переменная $upstream_response_time могла быть равна "0.000", хотя время 10421 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time п╪п╬пЁп╩п╟ п╠я▀я┌я▄ я─п╟п╡п╫п╟ "0.000", я┘п╬я┌я▐ п╡я─п╣п╪я▐
10422 обработки было больше 1 миллисекунды. 10422 п╬п╠я─п╟п╠п╬я┌п╨п╦ п╠я▀п╩п╬ п╠п╬п╩я▄я┬п╣ 1 п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢я▀.
10423 </para> 10423 </para>
10424 <para lang="en"> 10424 <para lang="en">
10425 the $upstream_response_time variable might be equal to "0.000", although 10425 the $upstream_response_time variable might be equal to "0.000", although
10426 response time was more than 1 millisecond. 10426 response time was more than 1 millisecond.
10427 </para> 10427 </para>
10432 10432
10433 <changes ver="0.5.0" date="04.12.2006"> 10433 <changes ver="0.5.0" date="04.12.2006">
10434 10434
10435 <change type="change"> 10435 <change type="change">
10436 <para lang="ru"> 10436 <para lang="ru">
10437 параметры в виде "%name" в директиве log_format больше не поддерживаются. 10437 п©п╟я─п╟п╪п╣я┌я─я▀ п╡ п╡п╦п╢п╣ "%name" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
10438 </para> 10438 </para>
10439 <para lang="en"> 10439 <para lang="en">
10440 the parameters in the "%name" form in the "log_format" directive 10440 the parameters in the "%name" form in the "log_format" directive
10441 are not supported anymore. 10441 are not supported anymore.
10442 </para> 10442 </para>
10443 </change> 10443 </change>
10444 10444
10445 <change type="change"> 10445 <change type="change">
10446 <para lang="ru"> 10446 <para lang="ru">
10447 директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 10447 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_upstream_max_fails, proxy_upstream_fail_timeout,
10448 fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout, 10448 fastcgi_upstream_max_fails, п╦ fastcgi_upstream_fail_timeout,
10449 memcached_upstream_max_fails и memcached_upstream_fail_timeout 10449 memcached_upstream_max_fails п╦ memcached_upstream_fail_timeout
10450 больше не поддерживаются. 10450 п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
10451 </para> 10451 </para>
10452 <para lang="en"> 10452 <para lang="en">
10453 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 10453 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
10454 "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", 10454 "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
10455 "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" 10455 "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
10457 </para> 10457 </para>
10458 </change> 10458 </change>
10459 10459
10460 <change type="feature"> 10460 <change type="feature">
10461 <para lang="ru"> 10461 <para lang="ru">
10462 директива server в блоке upstream поддерживает параметры 10462 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─я▀
10463 max_fails, fail_timeout и down. 10463 max_fails, fail_timeout п╦ down.
10464 </para> 10464 </para>
10465 <para lang="en"> 10465 <para lang="en">
10466 the "server" directive in the "upstream" context supports 10466 the "server" directive in the "upstream" context supports
10467 the "max_fails", "fail_timeout", and "down" parameters. 10467 the "max_fails", "fail_timeout", and "down" parameters.
10468 </para> 10468 </para>
10469 </change> 10469 </change>
10470 10470
10471 <change type="feature"> 10471 <change type="feature">
10472 <para lang="ru"> 10472 <para lang="ru">
10473 директива ip_hash в блоке upstream. 10473 п╢п╦я─п╣п╨я┌п╦п╡п╟ ip_hash п╡ п╠п╩п╬п╨п╣ upstream.
10474 </para> 10474 </para>
10475 <para lang="en"> 10475 <para lang="en">
10476 the "ip_hash" directive inside the "upstream" block. 10476 the "ip_hash" directive inside the "upstream" block.
10477 </para> 10477 </para>
10478 </change> 10478 </change>
10479 10479
10480 <change type="feature"> 10480 <change type="feature">
10481 <para lang="ru"> 10481 <para lang="ru">
10482 статус WAIT в строке "Auth-Status" в заголовка ответа сервера аутентификации 10482 я│я┌п╟я┌я┐я│ WAIT п╡ я│я┌я─п╬п╨п╣ "Auth-Status" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ я│п╣я─п╡п╣я─п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦
10483 IMAP/POP3 прокси. 10483 IMAP/POP3 п©я─п╬п╨я│п╦.
10484 </para> 10484 </para>
10485 <para lang="en"> 10485 <para lang="en">
10486 the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy 10486 the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
10487 authentication server response. 10487 authentication server response.
10488 </para> 10488 </para>
10489 </change> 10489 </change>
10490 10490
10491 <change type="bugfix"> 10491 <change type="bugfix">
10492 <para lang="ru"> 10492 <para lang="ru">
10493 nginx не собирался на 64-битных платформах; 10493 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
10494 ошибка появилась в 0.4.14. 10494 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.14.
10495 </para> 10495 </para>
10496 <para lang="en"> 10496 <para lang="en">
10497 nginx could not be built on 64-bit platforms; 10497 nginx could not be built on 64-bit platforms;
10498 the bug had appeared in 0.4.14. 10498 the bug had appeared in 0.4.14.
10499 </para> 10499 </para>
10504 10504
10505 <changes ver="0.4.14" date="27.11.2006"> 10505 <changes ver="0.4.14" date="27.11.2006">
10506 10506
10507 <change type="feature"> 10507 <change type="feature">
10508 <para lang="ru"> 10508 <para lang="ru">
10509 директива proxy_pass_error_message в IMAP/POP3 прокси. 10509 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_error_message п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
10510 </para> 10510 </para>
10511 <para lang="en"> 10511 <para lang="en">
10512 the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 10512 the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
10513 </para> 10513 </para>
10514 </change> 10514 </change>
10515 10515
10516 <change type="feature"> 10516 <change type="feature">
10517 <para lang="ru"> 10517 <para lang="ru">
10518 теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD. 10518 я┌п╣п©п╣я─я▄ configure п╬п©я─п╣п╢п╣п╩я▐п╣я┌ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ PCRE п╫п╟ FreeBSD, Linux п╦ NetBSD.
10519 </para> 10519 </para>
10520 <para lang="en"> 10520 <para lang="en">
10521 now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. 10521 now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
10522 </para> 10522 </para>
10523 </change> 10523 </change>
10524 10524
10525 <change type="bugfix"> 10525 <change type="bugfix">
10526 <para lang="ru"> 10526 <para lang="ru">
10527 ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков; 10527 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п©п╣я─п╩п╬п╪, я│п╬п╠я─п╟п╫п╫я▀п╪ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡;
10528 ошибка появилась в 0.3.38. 10528 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
10529 </para> 10529 </para>
10530 <para lang="en"> 10530 <para lang="en">
10531 ngx_http_perl_module did not work with perl built with the threads support; 10531 ngx_http_perl_module did not work with perl built with the threads support;
10532 the bug had appeared in 0.3.38. 10532 the bug had appeared in 0.3.38.
10533 </para> 10533 </para>
10534 </change> 10534 </change>
10535 10535
10536 <change type="bugfix"> 10536 <change type="bugfix">
10537 <para lang="ru"> 10537 <para lang="ru">
10538 ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно. 10538 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╨п╬я─я─п╣п╨я┌п╫п╬, п╣я│п╩п╦ п©п╣я─п╩ п╡я▀п╥я▀п╡п╟п╩я│я▐ я─п╣п╨я┐я─я│п╦п╡п╫п╬.
10539 </para> 10539 </para>
10540 <para lang="en"> 10540 <para lang="en">
10541 ngx_http_perl_module did not work if perl was called recursively. 10541 ngx_http_perl_module did not work if perl was called recursively.
10542 </para> 10542 </para>
10543 </change> 10543 </change>
10544 10544
10545 <change type="bugfix"> 10545 <change type="bugfix">
10546 <para lang="ru"> 10546 <para lang="ru">
10547 nginx игнорировал имя сервера в строке запроса. 10547 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╦п╪я▐ я│п╣я─п╡п╣я─п╟ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟.
10548 </para> 10548 </para>
10549 <para lang="en"> 10549 <para lang="en">
10550 nginx ignored a host name in a request line. 10550 nginx ignored a host name in a request line.
10551 </para> 10551 </para>
10552 </change> 10552 </change>
10553 10553
10554 <change type="bugfix"> 10554 <change type="bugfix">
10555 <para lang="ru"> 10555 <para lang="ru">
10556 если FastCGI сервер передавал много в stderr, 10556 п╣я│п╩п╦ FastCGI я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п╪п╫п╬пЁп╬ п╡ stderr,
10557 то рабочий процесс мог зациклиться. 10557 я┌п╬ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
10558 </para> 10558 </para>
10559 <para lang="en"> 10559 <para lang="en">
10560 a worker process may got caught in an endless loop, 10560 a worker process may got caught in an endless loop,
10561 if a FastCGI server sent too many data to the stderr. 10561 if a FastCGI server sent too many data to the stderr.
10562 </para> 10562 </para>
10563 </change> 10563 </change>
10564 10564
10565 <change type="bugfix"> 10565 <change type="bugfix">
10566 <para lang="ru"> 10566 <para lang="ru">
10567 при изменении системного времени переменная $upstream_response_time 10567 п©я─п╦ п╦п╥п╪п╣п╫п╣п╫п╦п╦ я│п╦я│я┌п╣п╪п╫п╬пЁп╬ п╡я─п╣п╪п╣п╫п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time
10568 могла быть отрицательной. 10568 п╪п╬пЁп╩п╟ п╠я▀я┌я▄ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫п╬п╧.
10569 </para> 10569 </para>
10570 <para lang="en"> 10570 <para lang="en">
10571 the $upstream_response_time variable may be negative if the system time 10571 the $upstream_response_time variable may be negative if the system time
10572 was changed backward. 10572 was changed backward.
10573 </para> 10573 </para>
10574 </change> 10574 </change>
10575 10575
10576 <change type="bugfix"> 10576 <change type="bugfix">
10577 <para lang="ru"> 10577 <para lang="ru">
10578 при использовании POP3 серверу аутентификации IMAP/POP3 прокси 10578 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ POP3 я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦
10579 не передавался параметр Auth-Login-Attempt. 10579 п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ Auth-Login-Attempt.
10580 </para> 10580 </para>
10581 <para lang="en"> 10581 <para lang="en">
10582 the "Auth-Login-Attempt" parameter was not sent to 10582 the "Auth-Login-Attempt" parameter was not sent to
10583 IMAP/POP3 proxy authentication server when POP3 was used. 10583 IMAP/POP3 proxy authentication server when POP3 was used.
10584 </para> 10584 </para>
10585 </change> 10585 </change>
10586 10586
10587 <change type="bugfix"> 10587 <change type="bugfix">
10588 <para lang="ru"> 10588 <para lang="ru">
10589 при ошибке соединения с сервером аутентификации IMAP/POP3 прокси 10589 п©я─п╦ п╬я┬п╦п╠п╨п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ я│п╣я─п╡п╣я─п╬п╪ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦
10590 мог произойти segmentation fault. 10590 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10591 </para> 10591 </para>
10592 <para lang="en"> 10592 <para lang="en">
10593 a segmentation fault might occur if connect to IMAP/POP3 proxy 10593 a segmentation fault might occur if connect to IMAP/POP3 proxy
10594 authentication server failed. 10594 authentication server failed.
10595 </para> 10595 </para>
10600 10600
10601 <changes ver="0.4.13" date="15.11.2006"> 10601 <changes ver="0.4.13" date="15.11.2006">
10602 10602
10603 <change type="feature"> 10603 <change type="feature">
10604 <para lang="ru"> 10604 <para lang="ru">
10605 директиву proxy_pass можно использовать внутри блока limit_except. 10605 п╢п╦я─п╣п╨я┌п╦п╡я┐ proxy_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
10606 </para> 10606 </para>
10607 <para lang="en"> 10607 <para lang="en">
10608 the "proxy_pass" directive may be used inside the "limit_except" block. 10608 the "proxy_pass" directive may be used inside the "limit_except" block.
10609 </para> 10609 </para>
10610 </change> 10610 </change>
10611 10611
10612 <change type="feature"> 10612 <change type="feature">
10613 <para lang="ru"> 10613 <para lang="ru">
10614 директива limit_except поддерживает все WebDAV методы. 10614 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_except п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я│п╣ WebDAV п╪п╣я┌п╬п╢я▀.
10615 </para> 10615 </para>
10616 <para lang="en"> 10616 <para lang="en">
10617 the "limit_except" directive supports all WebDAV methods. 10617 the "limit_except" directive supports all WebDAV methods.
10618 </para> 10618 </para>
10619 </change> 10619 </change>
10620 10620
10621 <change type="bugfix"> 10621 <change type="bugfix">
10622 <para lang="ru"> 10622 <para lang="ru">
10623 при использовании директивы add_before_body без директивы add_after_body 10623 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ add_before_body п╠п╣п╥ п╢п╦я─п╣п╨я┌п╦п╡я▀ add_after_body
10624 ответ передавался не полностью. 10624 п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
10625 </para> 10625 </para>
10626 <para lang="en"> 10626 <para lang="en">
10627 if the "add_before_body" directive was used without 10627 if the "add_before_body" directive was used without
10628 the "add_after_body" directive, then a response did not transferred complete. 10628 the "add_after_body" directive, then a response did not transferred complete.
10629 </para> 10629 </para>
10630 </change> 10630 </change>
10631 10631
10632 <change type="bugfix"> 10632 <change type="bugfix">
10633 <para lang="ru"> 10633 <para lang="ru">
10634 большое тело запроса не принималось, если использовались метод epoll 10634 п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╫п╣ п©я─п╦п╫п╦п╪п╟п╩п╬я│я▄, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢ epoll
10635 и deferred accept(). 10635 п╦ deferred accept().
10636 </para> 10636 </para>
10637 <para lang="en"> 10637 <para lang="en">
10638 a large request body did not receive if the epoll method 10638 a large request body did not receive if the epoll method
10639 and the deferred accept() were used. 10639 and the deferred accept() were used.
10640 </para> 10640 </para>
10641 </change> 10641 </change>
10642 10642
10643 <change type="bugfix"> 10643 <change type="bugfix">
10644 <para lang="ru"> 10644 <para lang="ru">
10645 для ответов модуля ngx_http_autoindex_module не выставлялась кодировка; 10645 п╢п╩я▐ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐ ngx_http_autoindex_module п╫п╣ п╡я▀я│я┌п╟п╡п╩я▐п╩п╟я│я▄ п╨п╬п╢п╦я─п╬п╡п╨п╟;
10646 ошибка появилась в 0.3.50. 10646 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
10647 </para> 10647 </para>
10648 <para lang="en"> 10648 <para lang="en">
10649 a charset could not be set for ngx_http_autoindex_module responses; 10649 a charset could not be set for ngx_http_autoindex_module responses;
10650 the bug had appeared in 0.3.50. 10650 the bug had appeared in 0.3.50.
10651 </para> 10651 </para>
10652 </change> 10652 </change>
10653 10653
10654 <change type="bugfix"> 10654 <change type="bugfix">
10655 <para lang="ru"> 10655 <para lang="ru">
10656 ошибки "[alert] zero size buf" при работе с FastCGI-сервером; 10656 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪;
10657 </para> 10657 </para>
10658 <para lang="en"> 10658 <para lang="en">
10659 the "[alert] zero size buf" error when FastCGI server was used; 10659 the "[alert] zero size buf" error when FastCGI server was used;
10660 </para> 10660 </para>
10661 </change> 10661 </change>
10662 10662
10663 <change type="bugfix"> 10663 <change type="bugfix">
10664 <para lang="ru"> 10664 <para lang="ru">
10665 параметр конфигурации --group= игнорировался.<br/> 10665 п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --group= п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩я│я▐.<br/>
10666 Спасибо Thomas Moschny. 10666 п║п©п╟я│п╦п╠п╬ Thomas Moschny.
10667 </para> 10667 </para>
10668 <para lang="en"> 10668 <para lang="en">
10669 the --group= configuration parameter was ignored.<br/> 10669 the --group= configuration parameter was ignored.<br/>
10670 Thanks to Thomas Moschny. 10670 Thanks to Thomas Moschny.
10671 </para> 10671 </para>
10672 </change> 10672 </change>
10673 10673
10674 <change type="bugfix"> 10674 <change type="bugfix">
10675 <para lang="ru"> 10675 <para lang="ru">
10676 50-й подзапрос в SSI ответе не работал; 10676 50-п╧ п©п╬п╢п╥п╟п©я─п╬я│ п╡ SSI п╬я┌п╡п╣я┌п╣ п╫п╣ я─п╟п╠п╬я┌п╟п╩;
10677 ошибка появилась в 0.3.50. 10677 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
10678 </para> 10678 </para>
10679 <para lang="en"> 10679 <para lang="en">
10680 the 50th subrequest in SSI response did not work; 10680 the 50th subrequest in SSI response did not work;
10681 the bug had appeared in 0.3.50. 10681 the bug had appeared in 0.3.50.
10682 </para> 10682 </para>
10687 10687
10688 <changes ver="0.4.12" date="31.10.2006"> 10688 <changes ver="0.4.12" date="31.10.2006">
10689 10689
10690 <change type="feature"> 10690 <change type="feature">
10691 <para lang="ru"> 10691 <para lang="ru">
10692 модуль ngx_http_perl_module поддерживает метод $r->variable. 10692 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->variable.
10693 </para> 10693 </para>
10694 <para lang="en"> 10694 <para lang="en">
10695 the ngx_http_perl_module supports the $r->variable method. 10695 the ngx_http_perl_module supports the $r->variable method.
10696 </para> 10696 </para>
10697 </change> 10697 </change>
10698 10698
10699 <change type="bugfix"> 10699 <change type="bugfix">
10700 <para lang="ru"> 10700 <para lang="ru">
10701 при включении в ответ большого статического файла с помощью SSI 10701 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ п╬я┌п╡п╣я┌ п╠п╬п╩я▄я┬п╬пЁп╬ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬ я└п╟п╧п╩п╟ я│ п©п╬п╪п╬я┴я▄я▌ SSI
10702 ответ мог передаваться не полностью. 10702 п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
10703 </para> 10703 </para>
10704 <para lang="en"> 10704 <para lang="en">
10705 if a big static file was included using SSI in a response, 10705 if a big static file was included using SSI in a response,
10706 then the response may be transferred incomplete. 10706 then the response may be transferred incomplete.
10707 </para> 10707 </para>
10708 </change> 10708 </change>
10709 10709
10710 <change type="bugfix"> 10710 <change type="bugfix">
10711 <para lang="ru"> 10711 <para lang="ru">
10712 nginx не убирал "#fragment" в URI. 10712 nginx п╫п╣ я┐п╠п╦я─п╟п╩ "#fragment" п╡ URI.
10713 </para> 10713 </para>
10714 <para lang="en"> 10714 <para lang="en">
10715 nginx did not omit the "#fragment" part in URI. 10715 nginx did not omit the "#fragment" part in URI.
10716 </para> 10716 </para>
10717 </change> 10717 </change>
10721 10721
10722 <changes ver="0.4.11" date="25.10.2006"> 10722 <changes ver="0.4.11" date="25.10.2006">
10723 10723
10724 <change type="feature"> 10724 <change type="feature">
10725 <para lang="ru"> 10725 <para lang="ru">
10726 POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. 10726 POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ AUTH LOIGN PLAIN п╦ CRAM-MD5.
10727 </para> 10727 </para>
10728 <para lang="en"> 10728 <para lang="en">
10729 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. 10729 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
10730 </para> 10730 </para>
10731 </change> 10731 </change>
10732 10732
10733 <change type="feature"> 10733 <change type="feature">
10734 <para lang="ru"> 10734 <para lang="ru">
10735 модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. 10735 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->allow_ranges.
10736 </para> 10736 </para>
10737 <para lang="en"> 10737 <para lang="en">
10738 the ngx_http_perl_module supports the $r->allow_ranges method. 10738 the ngx_http_perl_module supports the $r->allow_ranges method.
10739 </para> 10739 </para>
10740 </change> 10740 </change>
10741 10741
10742 <change type="bugfix"> 10742 <change type="bugfix">
10743 <para lang="ru"> 10743 <para lang="ru">
10744 при включённой поддержке команды APOP в POP3 прокси могли 10744 п©я─п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╧ п©п╬п╢п╢п╣я─п╤п╨п╣ п╨п╬п╪п╟п╫п╢я▀ APOP п╡ POP3 п©я─п╬п╨я│п╦ п╪п╬пЁп╩п╦
10745 не работать команды USER/PASS; 10745 п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄ п╨п╬п╪п╟п╫п╢я▀ USER/PASS;
10746 ошибка появилась в 0.4.10. 10746 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.10.
10747 </para> 10747 </para>
10748 <para lang="en"> 10748 <para lang="en">
10749 if the APOP was enabled in the POP3 proxy, then the USER/PASS commands 10749 if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
10750 might not work; 10750 might not work;
10751 the bug had appeared in 0.4.10. 10751 the bug had appeared in 0.4.10.
10757 10757
10758 <changes ver="0.4.10" date="23.10.2006"> 10758 <changes ver="0.4.10" date="23.10.2006">
10759 10759
10760 <change type="feature"> 10760 <change type="feature">
10761 <para lang="ru"> 10761 <para lang="ru">
10762 POP3 прокси поддерживает APOP. 10762 POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ APOP.
10763 </para> 10763 </para>
10764 <para lang="en"> 10764 <para lang="en">
10765 the POP3 proxy supports the APOP command. 10765 the POP3 proxy supports the APOP command.
10766 </para> 10766 </para>
10767 </change> 10767 </change>
10768 10768
10769 <change type="bugfix"> 10769 <change type="bugfix">
10770 <para lang="ru"> 10770 <para lang="ru">
10771 при использовании методов select, poll и /dev/poll во время ожидания 10771 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ select, poll п╦ /dev/poll п╡п╬ п╡я─п╣п╪я▐ п╬п╤п╦п╢п╟п╫п╦я▐
10772 ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор. 10772 п╬я┌п╡п╣я┌п╟ п╬я┌ я│п╣я─п╡п╣я─п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦ п╫п╟пЁя─я┐п╤п╟п╩ п©я─п╬я├п╣я│я│п╬я─.
10773 </para> 10773 </para>
10774 <para lang="en"> 10774 <para lang="en">
10775 if the select, poll or /dev/poll methods were used, then while 10775 if the select, poll or /dev/poll methods were used, then while
10776 waiting authentication server response the IMAP/POP3 proxy hogged CPU. 10776 waiting authentication server response the IMAP/POP3 proxy hogged CPU.
10777 </para> 10777 </para>
10778 </change> 10778 </change>
10779 10779
10780 <change type="bugfix"> 10780 <change type="bugfix">
10781 <para lang="ru"> 10781 <para lang="ru">
10782 при использовании переменной $server_addr в директиве map мог 10782 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_addr п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ map п╪п╬пЁ
10783 произойти segmentation fault. 10783 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10784 </para> 10784 </para>
10785 <para lang="en"> 10785 <para lang="en">
10786 a segmentation fault might occur if the $server_addr variable was used 10786 a segmentation fault might occur if the $server_addr variable was used
10787 in the "map" directive. 10787 in the "map" directive.
10788 </para> 10788 </para>
10789 </change> 10789 </change>
10790 10790
10791 <change type="bugfix"> 10791 <change type="bugfix">
10792 <para lang="ru"> 10792 <para lang="ru">
10793 модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов; 10793 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ byte ranges п╢п╩я▐ п©п╬п╩п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡;
10794 ошибка появилась в 0.4.7. 10794 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.7.
10795 </para> 10795 </para>
10796 <para lang="en"> 10796 <para lang="en">
10797 the ngx_http_flv_module did not support the byte ranges for full responses; 10797 the ngx_http_flv_module did not support the byte ranges for full responses;
10798 the bug had appeared in 0.4.7. 10798 the bug had appeared in 0.4.7.
10799 </para> 10799 </para>
10800 </change> 10800 </change>
10801 10801
10802 <change type="bugfix"> 10802 <change type="bugfix">
10803 <para lang="ru"> 10803 <para lang="ru">
10804 nginx не собирался на Debian amd64; 10804 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Debian amd64;
10805 ошибка появилась в 0.4.9. 10805 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.9.
10806 </para> 10806 </para>
10807 <para lang="en"> 10807 <para lang="en">
10808 nginx could not be built on Debian amd64; 10808 nginx could not be built on Debian amd64;
10809 the bug had appeared in 0.4.9. 10809 the bug had appeared in 0.4.9.
10810 </para> 10810 </para>
10815 10815
10816 <changes ver="0.4.9" date="13.10.2006"> 10816 <changes ver="0.4.9" date="13.10.2006">
10817 10817
10818 <change type="feature"> 10818 <change type="feature">
10819 <para lang="ru"> 10819 <para lang="ru">
10820 параметр set в команде SSI include. 10820 п©п╟я─п╟п╪п╣я┌я─ set п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
10821 </para> 10821 </para>
10822 <para lang="en"> 10822 <para lang="en">
10823 the "set" parameter in the "include" SSI command. 10823 the "set" parameter in the "include" SSI command.
10824 </para> 10824 </para>
10825 </change> 10825 </change>
10826 10826
10827 <change type="feature"> 10827 <change type="feature">
10828 <para lang="ru"> 10828 <para lang="ru">
10829 модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm. 10829 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╡п╣я─я│п╦я▌ п╪п╬п╢я┐п╩я▐ nginx.pm.
10830 </para> 10830 </para>
10831 <para lang="en"> 10831 <para lang="en">
10832 the ngx_http_perl_module now tests the nginx.pm module version. 10832 the ngx_http_perl_module now tests the nginx.pm module version.
10833 </para> 10833 </para>
10834 </change> 10834 </change>
10838 10838
10839 <changes ver="0.4.8" date="11.10.2006"> 10839 <changes ver="0.4.8" date="11.10.2006">
10840 10840
10841 <change type="bugfix"> 10841 <change type="bugfix">
10842 <para lang="ru"> 10842 <para lang="ru">
10843 если до команды SSI include с параметром wait выполнялась ещё 10843 п╣я│п╩п╦ п╢п╬ п╨п╬п╪п╟п╫п╢я▀ SSI include я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄ п╣я┴я▒
10844 одна команда SSI include, то параметр wait мог не работать. 10844 п╬п╢п╫п╟ п╨п╬п╪п╟п╫п╢п╟ SSI include, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ wait п╪п╬пЁ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄.
10845 </para> 10845 </para>
10846 <para lang="en"> 10846 <para lang="en">
10847 if an "include" SSI command were before another "include" SSI command 10847 if an "include" SSI command were before another "include" SSI command
10848 with a "wait" parameter, then the "wait" parameter might not work. 10848 with a "wait" parameter, then the "wait" parameter might not work.
10849 </para> 10849 </para>
10850 </change> 10850 </change>
10851 10851
10852 <change type="bugfix"> 10852 <change type="bugfix">
10853 <para lang="ru"> 10853 <para lang="ru">
10854 модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/> 10854 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╢п╬п╠п╟п╡п╩я▐п╩ FLV-п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╢п╩я▐ п©п╬п╩п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡.<br/>
10855 Спасибо Алексею Ковырину. 10855 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╣я▌ п п╬п╡я▀я─п╦п╫я┐.
10856 </para> 10856 </para>
10857 <para lang="en"> 10857 <para lang="en">
10858 the ngx_http_flv_module added the FLV header to the full responses.<br/> 10858 the ngx_http_flv_module added the FLV header to the full responses.<br/>
10859 Thanks to Alexey Kovyrin. 10859 Thanks to Alexey Kovyrin.
10860 </para> 10860 </para>
10865 10865
10866 <changes ver="0.4.7" date="10.10.2006"> 10866 <changes ver="0.4.7" date="10.10.2006">
10867 10867
10868 <change type="feature"> 10868 <change type="feature">
10869 <para lang="ru"> 10869 <para lang="ru">
10870 модуль ngx_http_flv_module. 10870 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module.
10871 </para> 10871 </para>
10872 <para lang="en"> 10872 <para lang="en">
10873 the ngx_http_flv_module. 10873 the ngx_http_flv_module.
10874 </para> 10874 </para>
10875 </change> 10875 </change>
10876 10876
10877 <change type="feature"> 10877 <change type="feature">
10878 <para lang="ru"> 10878 <para lang="ru">
10879 переменная $request_body_file. 10879 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_body_file.
10880 </para> 10880 </para>
10881 <para lang="en"> 10881 <para lang="en">
10882 the $request_body_file variable. 10882 the $request_body_file variable.
10883 </para> 10883 </para>
10884 </change> 10884 </change>
10885 10885
10886 <change type="feature"> 10886 <change type="feature">
10887 <para lang="ru"> 10887 <para lang="ru">
10888 директивы charset и source_charset поддерживают переменные. 10888 п╢п╦я─п╣п╨я┌п╦п╡я▀ charset п╦ source_charset п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
10889 </para> 10889 </para>
10890 <para lang="en"> 10890 <para lang="en">
10891 the "charset" and "source_charset" directives support the variables. 10891 the "charset" and "source_charset" directives support the variables.
10892 </para> 10892 </para>
10893 </change> 10893 </change>
10894 10894
10895 <change type="bugfix"> 10895 <change type="bugfix">
10896 <para lang="ru"> 10896 <para lang="ru">
10897 если до команды SSI include с параметром wait выполнялась ещё 10897 п╣я│п╩п╦ п╢п╬ п╨п╬п╪п╟п╫п╢я▀ SSI include я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄ п╣я┴я▒
10898 одна команда SSI include, то параметр wait мог не работать. 10898 п╬п╢п╫п╟ п╨п╬п╪п╟п╫п╢п╟ SSI include, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ wait п╪п╬пЁ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄.
10899 </para> 10899 </para>
10900 <para lang="en"> 10900 <para lang="en">
10901 if an "include" SSI command were before another "include" SSI command 10901 if an "include" SSI command were before another "include" SSI command
10902 with a "wait" parameter, then the "wait" parameter might not work. 10902 with a "wait" parameter, then the "wait" parameter might not work.
10903 </para> 10903 </para>
10904 </change> 10904 </change>
10905 10905
10906 <change type="bugfix"> 10906 <change type="bugfix">
10907 <para lang="ru"> 10907 <para lang="ru">
10908 при использовании директивы "proxy_buffering off" или при работе 10908 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ "proxy_buffering off" п╦п╩п╦ п©я─п╦ я─п╟п╠п╬я┌п╣
10909 с memcached соединения могли не закрываться по таймауту. 10909 я│ memcached я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╦ п╫п╣ п╥п╟п╨я─я▀п╡п╟я┌я▄я│я▐ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
10910 </para> 10910 </para>
10911 <para lang="en"> 10911 <para lang="en">
10912 if the "proxy_buffering off" directive was used or while working with 10912 if the "proxy_buffering off" directive was used or while working with
10913 memcached the connections might not be closed on timeout. 10913 memcached the connections might not be closed on timeout.
10914 </para> 10914 </para>
10915 </change> 10915 </change>
10916 10916
10917 <change type="bugfix"> 10917 <change type="bugfix">
10918 <para lang="ru"> 10918 <para lang="ru">
10919 nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 10919 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ amd64, sparc64 п╦ ppc64.
10920 </para> 10920 </para>
10921 <para lang="en"> 10921 <para lang="en">
10922 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 10922 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
10923 </para> 10923 </para>
10924 </change> 10924 </change>
10928 10928
10929 <changes ver="0.4.6" date="06.10.2006"> 10929 <changes ver="0.4.6" date="06.10.2006">
10930 10930
10931 <change type="bugfix"> 10931 <change type="bugfix">
10932 <para lang="ru"> 10932 <para lang="ru">
10933 nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 10933 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ amd64, sparc64 п╦ ppc64.
10934 </para> 10934 </para>
10935 <para lang="en"> 10935 <para lang="en">
10936 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 10936 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
10937 </para> 10937 </para>
10938 </change> 10938 </change>
10939 10939
10940 <change type="bugfix"> 10940 <change type="bugfix">
10941 <para lang="ru"> 10941 <para lang="ru">
10942 при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами, 10942 п©я─п╦ п╥п╟п©я─п╬я│п╣ п╡п╣я─я│п╦п╦ HTTP/1.1 nginx п©п╣я─п╣п╢п╟п╡п╟п╩ п╬я┌п╡п╣я┌ chunk'п╟п╪п╦,
10943 если длина ответа в методе $r->headers_out("Content-Length", ...) 10943 п╣я│п╩п╦ п╢п╩п╦п╫п╟ п╬я┌п╡п╣я┌п╟ п╡ п╪п╣я┌п╬п╢п╣ $r->headers_out("Content-Length", ...)
10944 была задана текстовой строкой. 10944 п╠я▀п╩п╟ п╥п╟п╢п╟п╫п╟ я┌п╣п╨я│я┌п╬п╡п╬п╧ я│я┌я─п╬п╨п╬п╧.
10945 </para> 10945 </para>
10946 <para lang="en"> 10946 <para lang="en">
10947 nginx sent the chunked response for HTTP/1.1 request,<br/> 10947 nginx sent the chunked response for HTTP/1.1 request,<br/>
10948 if its length was set by text string in 10948 if its length was set by text string in
10949 the $r->headers_out("Content-Length", ...) method. 10949 the $r->headers_out("Content-Length", ...) method.
10950 </para> 10950 </para>
10951 </change> 10951 </change>
10952 10952
10953 <change type="bugfix"> 10953 <change type="bugfix">
10954 <para lang="ru"> 10954 <para lang="ru">
10955 после перенаправления ошибки с помощью директивы error_page любая директива 10955 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╬я┬п╦п╠п╨п╦ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╩я▌п╠п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟
10956 модуля ngx_http_rewrite_module возвращала эту ошибку; 10956 п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ я█я┌я┐ п╬я┬п╦п╠п╨я┐;
10957 ошибка появилась в 0.4.4. 10957 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.4.
10958 </para> 10958 </para>
10959 <para lang="en"> 10959 <para lang="en">
10960 after redirecting error by an "error_page" directive 10960 after redirecting error by an "error_page" directive
10961 any ngx_http_rewrite_module directive returned this error code; 10961 any ngx_http_rewrite_module directive returned this error code;
10962 the bug had appeared in 0.4.4. 10962 the bug had appeared in 0.4.4.
10968 10968
10969 <changes ver="0.4.5" date="02.10.2006"> 10969 <changes ver="0.4.5" date="02.10.2006">
10970 10970
10971 <change type="bugfix"> 10971 <change type="bugfix">
10972 <para lang="ru"> 10972 <para lang="ru">
10973 nginx не собирался на Linux и Solaris; 10973 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris;
10974 ошибка появилась в 0.4.4. 10974 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.4.
10975 </para> 10975 </para>
10976 <para lang="en"> 10976 <para lang="en">
10977 nginx could not be built on Linux and Solaris; 10977 nginx could not be built on Linux and Solaris;
10978 the bug had appeared in 0.4.4. 10978 the bug had appeared in 0.4.4.
10979 </para> 10979 </para>
10984 10984
10985 <changes ver="0.4.4" date="02.10.2006"> 10985 <changes ver="0.4.4" date="02.10.2006">
10986 10986
10987 <change type="feature"> 10987 <change type="feature">
10988 <para lang="ru"> 10988 <para lang="ru">
10989 переменная $scheme. 10989 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $scheme.
10990 </para> 10990 </para>
10991 <para lang="en"> 10991 <para lang="en">
10992 the $scheme variable. 10992 the $scheme variable.
10993 </para> 10993 </para>
10994 </change> 10994 </change>
10995 10995
10996 <change type="feature"> 10996 <change type="feature">
10997 <para lang="ru"> 10997 <para lang="ru">
10998 директива expires поддерживает параметр max. 10998 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ max.
10999 </para> 10999 </para>
11000 <para lang="en"> 11000 <para lang="en">
11001 the "expires" directive supports the "max" parameter. 11001 the "expires" directive supports the "max" parameter.
11002 </para> 11002 </para>
11003 </change> 11003 </change>
11004 11004
11005 <change type="feature"> 11005 <change type="feature">
11006 <para lang="ru"> 11006 <para lang="ru">
11007 директива include поддерживает маску "*".<br/> 11007 п╢п╦я─п╣п╨я┌п╦п╡п╟ include п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╟я│п╨я┐ "*".<br/>
11008 Спасибо Jonathan Dance. 11008 п║п©п╟я│п╦п╠п╬ Jonathan Dance.
11009 </para> 11009 </para>
11010 <para lang="en"> 11010 <para lang="en">
11011 the "include" directive supports the "*" mask.<br/> 11011 the "include" directive supports the "*" mask.<br/>
11012 Thanks to Jonathan Dance. 11012 Thanks to Jonathan Dance.
11013 </para> 11013 </para>
11014 </change> 11014 </change>
11015 11015
11016 <change type="bugfix"> 11016 <change type="bugfix">
11017 <para lang="ru"> 11017 <para lang="ru">
11018 директива return всегда изменяла код ответа, перенаправленного 11018 п╢п╦я─п╣п╨я┌п╦п╡п╟ return п╡я│п╣пЁп╢п╟ п╦п╥п╪п╣п╫я▐п╩п╟ п╨п╬п╢ п╬я┌п╡п╣я┌п╟, п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╫п╬пЁп╬
11019 директивой error_page. 11019 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ error_page.
11020 </para> 11020 </para>
11021 <para lang="en"> 11021 <para lang="en">
11022 the "return" directive always overrode the "error_page" response code 11022 the "return" directive always overrode the "error_page" response code
11023 redirected by the "error_page" directive. 11023 redirected by the "error_page" directive.
11024 </para> 11024 </para>
11025 </change> 11025 </change>
11026 11026
11027 <change type="bugfix"> 11027 <change type="bugfix">
11028 <para lang="ru"> 11028 <para lang="ru">
11029 происходил segmentation fault, если в методе PUT передавалось 11029 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╪п╣я┌п╬п╢п╣ PUT п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄
11030 тело нулевой длины. 11030 я┌п╣п╩п╬ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀.
11031 </para> 11031 </para>
11032 <para lang="en"> 11032 <para lang="en">
11033 a segmentation fault occurred if zero-length body was in PUT method. 11033 a segmentation fault occurred if zero-length body was in PUT method.
11034 </para> 11034 </para>
11035 </change> 11035 </change>
11036 11036
11037 <change type="bugfix"> 11037 <change type="bugfix">
11038 <para lang="ru"> 11038 <para lang="ru">
11039 при использовании переменных в директиве proxy_redirect редирект 11039 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_redirect я─п╣п╢п╦я─п╣п╨я┌
11040 изменялся неверно. 11040 п╦п╥п╪п╣п╫я▐п╩я│я▐ п╫п╣п╡п╣я─п╫п╬.
11041 </para> 11041 </para>
11042 <para lang="en"> 11042 <para lang="en">
11043 the redirect was changed incorrectly if the variables were used 11043 the redirect was changed incorrectly if the variables were used
11044 in the "proxy_redirect" directive. 11044 in the "proxy_redirect" directive.
11045 </para> 11045 </para>
11050 11050
11051 <changes ver="0.4.3" date="26.09.2006"> 11051 <changes ver="0.4.3" date="26.09.2006">
11052 11052
11053 <change type="change"> 11053 <change type="change">
11054 <para lang="ru"> 11054 <para lang="ru">
11055 ошибку 499 теперь нельзя перенаправить с помощью директивы error_page. 11055 п╬я┬п╦п╠п╨я┐ 499 я┌п╣п©п╣я─я▄ п╫п╣п╩я▄п╥я▐ п©п╣я─п╣п╫п╟п©я─п╟п╡п╦я┌я▄ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page.
11056 </para> 11056 </para>
11057 <para lang="en"> 11057 <para lang="en">
11058 now the 499 error could not be redirected using an "error_page" directive. 11058 now the 499 error could not be redirected using an "error_page" directive.
11059 </para> 11059 </para>
11060 </change> 11060 </change>
11061 11061
11062 <change type="feature"> 11062 <change type="feature">
11063 <para lang="ru"> 11063 <para lang="ru">
11064 поддержка Solaris 10 event ports. 11064 п©п╬п╢п╢п╣я─п╤п╨п╟ Solaris 10 event ports.
11065 </para> 11065 </para>
11066 <para lang="en"> 11066 <para lang="en">
11067 the Solaris 10 event ports support. 11067 the Solaris 10 event ports support.
11068 </para> 11068 </para>
11069 </change> 11069 </change>
11070 11070
11071 <change type="feature"> 11071 <change type="feature">
11072 <para lang="ru"> 11072 <para lang="ru">
11073 модуль ngx_http_browser_module. 11073 п╪п╬п╢я┐п╩я▄ ngx_http_browser_module.
11074 </para> 11074 </para>
11075 <para lang="en"> 11075 <para lang="en">
11076 the ngx_http_browser_module. 11076 the ngx_http_browser_module.
11077 </para> 11077 </para>
11078 </change> 11078 </change>
11079 11079
11080 <change type="bugfix"> 11080 <change type="bugfix">
11081 <para lang="ru"> 11081 <para lang="ru">
11082 при перенаправлении ошибки 400 проксированному серверу 11082 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╨п╦ 400 п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪я┐ я│п╣я─п╡п╣я─я┐
11083 помощью директивы error_page мог произойти segmentation fault. 11083 п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
11084 </para> 11084 </para>
11085 <para lang="en"> 11085 <para lang="en">
11086 a segmentation fault may occur while redirecting the 400 error 11086 a segmentation fault may occur while redirecting the 400 error
11087 to the proxied server using a "proxy_pass" directive. 11087 to the proxied server using a "proxy_pass" directive.
11088 </para> 11088 </para>
11089 </change> 11089 </change>
11090 11090
11091 <change type="bugfix"> 11091 <change type="bugfix">
11092 <para lang="ru"> 11092 <para lang="ru">
11093 происходил segmentation fault, если в директиве proxy_pass использовался 11093 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
11094 unix domain сокет; 11094 unix domain я│п╬п╨п╣я┌;
11095 ошибка появилась в 0.3.47. 11095 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.47.
11096 </para> 11096 </para>
11097 <para lang="en"> 11097 <para lang="en">
11098 a segmentation fault occurred if an unix domain socket was used in 11098 a segmentation fault occurred if an unix domain socket was used in
11099 a "proxy_pass" directive; 11099 a "proxy_pass" directive;
11100 the bug had appeared in 0.3.47. 11100 the bug had appeared in 0.3.47.
11101 </para> 11101 </para>
11102 </change> 11102 </change>
11103 11103
11104 <change type="bugfix"> 11104 <change type="bugfix">
11105 <para lang="ru"> 11105 <para lang="ru">
11106 SSI не работал с ответами memcached и небуферизированными проксированными 11106 SSI п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п╬я┌п╡п╣я┌п╟п╪п╦ memcached п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪п╦
11107 ответами. 11107 п╬я┌п╡п╣я┌п╟п╪п╦.
11108 </para> 11108 </para>
11109 <para lang="en"> 11109 <para lang="en">
11110 SSI did work with memcached and nonbuffered responses. 11110 SSI did work with memcached and nonbuffered responses.
11111 </para> 11111 </para>
11112 </change> 11112 </change>
11113 11113
11114 <change type="workaround"> 11114 <change type="workaround">
11115 <para lang="ru"> 11115 <para lang="ru">
11116 обход ошибки PAUSE hardware capability в Sun Studio. 11116 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ PAUSE hardware capability п╡ Sun Studio.
11117 </para> 11117 </para>
11118 <para lang="en"> 11118 <para lang="en">
11119 of the Sun Studio PAUSE hardware capability bug. 11119 of the Sun Studio PAUSE hardware capability bug.
11120 </para> 11120 </para>
11121 </change> 11121 </change>
11125 11125
11126 <changes ver="0.4.2" date="14.09.2006"> 11126 <changes ver="0.4.2" date="14.09.2006">
11127 11127
11128 <change type="bugfix"> 11128 <change type="bugfix">
11129 <para lang="ru"> 11129 <para lang="ru">
11130 убрана поддержка флага O_NOATIME на Linux; 11130 я┐п╠я─п╟п╫п╟ п©п╬п╢п╢п╣я─п╤п╨п╟ я└п╩п╟пЁп╟ O_NOATIME п╫п╟ Linux;
11131 ошибка появилась в 0.4.1. 11131 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.1.
11132 </para> 11132 </para>
11133 <para lang="en"> 11133 <para lang="en">
11134 the O_NOATIME flag support on Linux was canceled; 11134 the O_NOATIME flag support on Linux was canceled;
11135 the bug had appeared in 0.4.1. 11135 the bug had appeared in 0.4.1.
11136 </para> 11136 </para>
11141 11141
11142 <changes ver="0.4.1" date="14.09.2006"> 11142 <changes ver="0.4.1" date="14.09.2006">
11143 11143
11144 <change type="bugfix"> 11144 <change type="bugfix">
11145 <para lang="ru"> 11145 <para lang="ru">
11146 совместимость с DragonFlyBSD.<br/> 11146 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ DragonFlyBSD.<br/>
11147 Спасибо Павлу Назарову. 11147 п║п©п╟я│п╦п╠п╬ п÷п╟п╡п╩я┐ п²п╟п╥п╟я─п╬п╡я┐.
11148 </para> 11148 </para>
11149 <para lang="en"> 11149 <para lang="en">
11150 the DragonFlyBSD compatibility.<br/> 11150 the DragonFlyBSD compatibility.<br/>
11151 Thanks to Pavel Nazarov. 11151 Thanks to Pavel Nazarov.
11152 </para> 11152 </para>
11153 </change> 11153 </change>
11154 11154
11155 <change type="workaround"> 11155 <change type="workaround">
11156 <para lang="ru"> 11156 <para lang="ru">
11157 обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G. 11157 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ sendfile() п╡ 64-п╠п╦я┌п╫п╬п╪ Linux п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я└п╟п╧п╩п╬п╡ п╠п╬п╩я▄я┬п╣ 2G.
11158 </para> 11158 </para>
11159 <para lang="en"> 11159 <para lang="en">
11160 of bug in 64-bit Linux sendfile(), when file is more than 2G. 11160 of bug in 64-bit Linux sendfile(), when file is more than 2G.
11161 </para> 11161 </para>
11162 </change> 11162 </change>
11163 11163
11164 <change type="feature"> 11164 <change type="feature">
11165 <para lang="ru"> 11165 <para lang="ru">
11166 теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/> 11166 я┌п╣п©п╣я─я▄ п╫п╟ Linux nginx п╢п╩я▐ я│я┌п╟я┌п╦я┤п╣я│п╨п╦я┘ п╥п╟п©я─п╬я│п╬п╡ п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я└п╩п╟пЁ O_NOATIME.<br/>
11167 Спасибо Yusuf Goolamabbas. 11167 п║п©п╟я│п╦п╠п╬ Yusuf Goolamabbas.
11168 </para> 11168 </para>
11169 <para lang="en"> 11169 <para lang="en">
11170 now on Linux nginx uses O_NOATIME flag for static requests.<br/> 11170 now on Linux nginx uses O_NOATIME flag for static requests.<br/>
11171 Thanks to Yusuf Goolamabbas. 11171 Thanks to Yusuf Goolamabbas.
11172 </para> 11172 </para>
11177 11177
11178 <changes ver="0.4.0" date="30.08.2006"> 11178 <changes ver="0.4.0" date="30.08.2006">
11179 11179
11180 <change> 11180 <change>
11181 <para lang="ru"> 11181 <para lang="ru">
11182 Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы 11182 п≤п╥п╪п╣п╫п╣п╫п╦п╣ п╡п╬ п╡п╫я┐я┌я─п╣п╫п╫п╣п╪ API: п╦п╫п╦я├п╦п╟п╩п╦п╥п╟я├п╦я▐ п╪п╬п╢я┐п╩п╣п╧ HTTP п©п╣я─п╣п╫п╣я│п╣п╫п╟ п╦п╥ я└п╟п╥я▀
11183 init module в фазу HTTP postconfiguration. 11183 init module п╡ я└п╟п╥я┐ HTTP postconfiguration.
11184 </para> 11184 </para>
11185 <para lang="en"> 11185 <para lang="en">
11186 Change in internal API: the HTTP modules initialization was moved 11186 Change in internal API: the HTTP modules initialization was moved
11187 from the init module phase to the HTTP postconfiguration phase. 11187 from the init module phase to the HTTP postconfiguration phase.
11188 </para> 11188 </para>
11189 </change> 11189 </change>
11190 11190
11191 <change type="change"> 11191 <change type="change">
11192 <para lang="ru"> 11192 <para lang="ru">
11193 теперь тело запроса в модуле ngx_http_perl_module не считывается 11193 я┌п╣п©п╣я─я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module п╫п╣ я│я┤п╦я┌я▀п╡п╟п╣я┌я│я▐
11194 заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body. 11194 п╥п╟я─п╟п╫п╣п╣: п╫я┐п╤п╫п╬ я▐п╡п╫п╬ п╦п╫п╦я├п╦п╦я─п╬п╡п╟я┌я▄ я┤я┌п╣п╫п╦п╣ я│ п©п╬п╪п╬я┴я▄я▌ п╪п╣я┌п╬п╢п╟ $r->has_request_body.
11195 </para> 11195 </para>
11196 <para lang="en"> 11196 <para lang="en">
11197 now the request body is not read beforehand for the ngx_http_perl_module: 11197 now the request body is not read beforehand for the ngx_http_perl_module:
11198 it's required to start the reading using the $r->has_request_body method. 11198 it's required to start the reading using the $r->has_request_body method.
11199 </para> 11199 </para>
11200 </change> 11200 </change>
11201 11201
11202 <change type="feature"> 11202 <change type="feature">
11203 <para lang="ru"> 11203 <para lang="ru">
11204 модуль ngx_http_perl_module поддерживает код возврата DECLINED. 11204 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╢ п╡п╬п╥п╡я─п╟я┌п╟ DECLINED.
11205 </para> 11205 </para>
11206 <para lang="en"> 11206 <para lang="en">
11207 the ngx_http_perl_module supports the DECLINED return code. 11207 the ngx_http_perl_module supports the DECLINED return code.
11208 </para> 11208 </para>
11209 </change> 11209 </change>
11210 11210
11211 <change type="feature"> 11211 <change type="feature">
11212 <para lang="ru"> 11212 <para lang="ru">
11213 модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date" 11213 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я┘п╬п╢я▐я┴я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Date"
11214 для метода PUT. 11214 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ PUT.
11215 </para> 11215 </para>
11216 <para lang="en"> 11216 <para lang="en">
11217 the ngx_http_dav_module supports the incoming "Date" header line 11217 the ngx_http_dav_module supports the incoming "Date" header line
11218 for the PUT method. 11218 for the PUT method.
11219 </para> 11219 </para>
11220 </change> 11220 </change>
11221 11221
11222 <change type="feature"> 11222 <change type="feature">
11223 <para lang="ru"> 11223 <para lang="ru">
11224 директива ssi работает внутри блока if. 11224 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi я─п╟п╠п╬я┌п╟п╣я┌ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
11225 </para> 11225 </para>
11226 <para lang="en"> 11226 <para lang="en">
11227 the "ssi" directive is available inside the "if" block. 11227 the "ssi" directive is available inside the "if" block.
11228 </para> 11228 </para>
11229 </change> 11229 </change>
11230 11230
11231 <change type="bugfix"> 11231 <change type="bugfix">
11232 <para lang="ru"> 11232 <para lang="ru">
11233 происходил segmentation fault, если в директиве index использовалась 11233 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ index п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄
11234 переменные и при этом первое имя индексного файла было без переменных; 11234 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п©я─п╦ я█я┌п╬п╪ п©п╣я─п╡п╬п╣ п╦п╪я▐ п╦п╫п╢п╣п╨я│п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╠я▀п╩п╬ п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘;
11235 ошибка появилась в 0.1.29. 11235 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
11236 </para> 11236 </para>
11237 <para lang="en"> 11237 <para lang="en">
11238 a segmentation fault occurred if there was an "index" directive with 11238 a segmentation fault occurred if there was an "index" directive with
11239 variables and the first index name was without variables; 11239 variables and the first index name was without variables;
11240 the bug had appeared in 0.1.29. 11240 the bug had appeared in 0.1.29.
11246 11246
11247 <changes ver="0.3.61" date="28.08.2006"> 11247 <changes ver="0.3.61" date="28.08.2006">
11248 11248
11249 <change type="change"> 11249 <change type="change">
11250 <para lang="ru"> 11250 <para lang="ru">
11251 директива tcp_nodelay теперь по умолчанию включена. 11251 п╢п╦я─п╣п╨я┌п╦п╡п╟ tcp_nodelay я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╡п╨п╩я▌я┤п╣п╫п╟.
11252 </para> 11252 </para>
11253 <para lang="en"> 11253 <para lang="en">
11254 now the "tcp_nodelay" directive is turned on by default. 11254 now the "tcp_nodelay" directive is turned on by default.
11255 </para> 11255 </para>
11256 </change> 11256 </change>
11257 11257
11258 <change type="feature"> 11258 <change type="feature">
11259 <para lang="ru"> 11259 <para lang="ru">
11260 директива msie_refresh. 11260 п╢п╦я─п╣п╨я┌п╦п╡п╟ msie_refresh.
11261 </para> 11261 </para>
11262 <para lang="en"> 11262 <para lang="en">
11263 the "msie_refresh" directive. 11263 the "msie_refresh" directive.
11264 </para> 11264 </para>
11265 </change> 11265 </change>
11266 11266
11267 <change type="feature"> 11267 <change type="feature">
11268 <para lang="ru"> 11268 <para lang="ru">
11269 директива recursive_error_pages. 11269 п╢п╦я─п╣п╨я┌п╦п╡п╟ recursive_error_pages.
11270 </para> 11270 </para>
11271 <para lang="en"> 11271 <para lang="en">
11272 the "recursive_error_pages" directive. 11272 the "recursive_error_pages" directive.
11273 </para> 11273 </para>
11274 </change> 11274 </change>
11275 11275
11276 <change type="bugfix"> 11276 <change type="bugfix">
11277 <para lang="ru"> 11277 <para lang="ru">
11278 директива rewrite возвращала неправильный редирект, если редирект 11278 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ п╫п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╧ я─п╣п╢п╦я─п╣п╨я┌, п╣я│п╩п╦ я─п╣п╢п╦я─п╣п╨я┌
11279 включал в себя выделенные закодированные символы из оригинального URI. 11279 п╡п╨п╩я▌я┤п╟п╩ п╡ я│п╣п╠я▐ п╡я▀п╢п╣п╩п╣п╫п╫я▀п╣ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀ п╦п╥ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫п╬пЁп╬ URI.
11280 </para> 11280 </para>
11281 <para lang="en"> 11281 <para lang="en">
11282 the "rewrite" directive returned incorrect redirect, if the redirect 11282 the "rewrite" directive returned incorrect redirect, if the redirect
11283 had the captured escaped symbols from original URI. 11283 had the captured escaped symbols from original URI.
11284 </para> 11284 </para>
11289 11289
11290 <changes ver="0.3.60" date="18.08.2006"> 11290 <changes ver="0.3.60" date="18.08.2006">
11291 11291
11292 <change type="bugfix"> 11292 <change type="bugfix">
11293 <para lang="ru"> 11293 <para lang="ru">
11294 во время перенаправления ошибки рабочий процесс мог зациклиться; 11294 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╬я┬п╦п╠п╨п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
11295 ошибка появилась в 0.3.59. 11295 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.59.
11296 </para> 11296 </para>
11297 <para lang="en"> 11297 <para lang="en">
11298 a worker process may got caught in an endless loop 11298 a worker process may got caught in an endless loop
11299 while an error redirection; 11299 while an error redirection;
11300 the bug had appeared in 0.3.59. 11300 the bug had appeared in 0.3.59.
11306 11306
11307 <changes ver="0.3.59" date="16.08.2006"> 11307 <changes ver="0.3.59" date="16.08.2006">
11308 11308
11309 <change type="feature"> 11309 <change type="feature">
11310 <para lang="ru"> 11310 <para lang="ru">
11311 теперь можно делать несколько перенаправлений через директиву error_page. 11311 я┌п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╢п╣п╩п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╧ я┤п╣я─п╣п╥ п╢п╦я─п╣п╨я┌п╦п╡я┐ error_page.
11312 </para> 11312 </para>
11313 <para lang="en"> 11313 <para lang="en">
11314 now is possible to do several redirection using the "error_page" directive. 11314 now is possible to do several redirection using the "error_page" directive.
11315 </para> 11315 </para>
11316 </change> 11316 </change>
11317 11317
11318 <change type="bugfix"> 11318 <change type="bugfix">
11319 <para lang="ru"> 11319 <para lang="ru">
11320 директива dav_access не поддерживала три параметра. 11320 п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ я┌я─п╦ п©п╟я─п╟п╪п╣я┌я─п╟.
11321 </para> 11321 </para>
11322 <para lang="en"> 11322 <para lang="en">
11323 the "dav_access" directive did not support three parameters. 11323 the "dav_access" directive did not support three parameters.
11324 </para> 11324 </para>
11325 </change> 11325 </change>
11326 11326
11327 <change type="bugfix"> 11327 <change type="bugfix">
11328 <para lang="ru"> 11328 <para lang="ru">
11329 директива error_page не изменяла строку "Content-Type" 11329 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п╦п╥п╪п╣п╫я▐п╩п╟ я│я┌я─п╬п╨я┐ "Content-Type"
11330 после перенаправления с помощью "X-Accel-Redirect"; 11330 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ я│ п©п╬п╪п╬я┴я▄я▌ "X-Accel-Redirect";
11331 ошибка появилась в 0.3.58. 11331 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.58.
11332 </para> 11332 </para>
11333 <para lang="en"> 11333 <para lang="en">
11334 the "error_page" directive did not changes the "Content-Type" header line 11334 the "error_page" directive did not changes the "Content-Type" header line
11335 after the "X-Accel-Redirect" was used; 11335 after the "X-Accel-Redirect" was used;
11336 the bug had appeared in 0.3.58. 11336 the bug had appeared in 0.3.58.
11342 11342
11343 <changes ver="0.3.58" date="14.08.2006"> 11343 <changes ver="0.3.58" date="14.08.2006">
11344 11344
11345 <change type="feature"> 11345 <change type="feature">
11346 <para lang="ru"> 11346 <para lang="ru">
11347 директива error_page поддерживает переменные. 11347 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
11348 </para> 11348 </para>
11349 <para lang="en"> 11349 <para lang="en">
11350 the "error_page" directive supports the variables. 11350 the "error_page" directive supports the variables.
11351 </para> 11351 </para>
11352 </change> 11352 </change>
11353 11353
11354 <change type="change"> 11354 <change type="change">
11355 <para lang="ru"> 11355 <para lang="ru">
11356 теперь на Linux используется интерфейс procfs вместо sysctl. 11356 я┌п╣п©п╣я─я▄ п╫п╟ Linux п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╦п╫я┌п╣я─я└п╣п╧я│ procfs п╡п╪п╣я│я┌п╬ sysctl.
11357 </para> 11357 </para>
11358 <para lang="en"> 11358 <para lang="en">
11359 now the procfs interface instead of sysctl is used on Linux. 11359 now the procfs interface instead of sysctl is used on Linux.
11360 </para> 11360 </para>
11361 </change> 11361 </change>
11362 11362
11363 <change type="change"> 11363 <change type="change">
11364 <para lang="ru"> 11364 <para lang="ru">
11365 теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется 11365 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" я│я┌я─п╬п╨п╟ "Content-Type" п╫п╟я│п╩п╣п╢я┐п╣я┌я│я▐
11366 из первоначального ответа. 11366 п╦п╥ п©п╣я─п╡п╬п╫п╟я┤п╟п╩я▄п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟.
11367 </para> 11367 </para>
11368 <para lang="en"> 11368 <para lang="en">
11369 now the "Content-Type" header line is inherited from first response 11369 now the "Content-Type" header line is inherited from first response
11370 when the "X-Accel-Redirect" was used. 11370 when the "X-Accel-Redirect" was used.
11371 </para> 11371 </para>
11372 </change> 11372 </change>
11373 11373
11374 <change type="bugfix"> 11374 <change type="bugfix">
11375 <para lang="ru"> 11375 <para lang="ru">
11376 директива error_page не перенаправляла ошибку 413. 11376 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟ п╬я┬п╦п╠п╨я┐ 413.
11377 </para> 11377 </para>
11378 <para lang="en"> 11378 <para lang="en">
11379 the "error_page" directive did not redirect the 413 error. 11379 the "error_page" directive did not redirect the 413 error.
11380 </para> 11380 </para>
11381 </change> 11381 </change>
11382 11382
11383 <change type="bugfix"> 11383 <change type="bugfix">
11384 <para lang="ru"> 11384 <para lang="ru">
11385 завершающий "?" не удалял старые аргументы, если в переписанном URI 11385 п╥п╟п╡п╣я─я┬п╟я▌я┴п╦п╧ "?" п╫п╣ я┐п╢п╟п╩я▐п╩ я│я┌п╟я─я▀п╣ п╟я─пЁя┐п╪п╣п╫я┌я▀, п╣я│п╩п╦ п╡ п©п╣я─п╣п©п╦я│п╟п╫п╫п╬п╪ URI
11386 не было новых аргументов. 11386 п╫п╣ п╠я▀п╩п╬ п╫п╬п╡я▀я┘ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
11387 </para> 11387 </para>
11388 <para lang="en"> 11388 <para lang="en">
11389 the trailing "?" did not remove old arguments if no new arguments 11389 the trailing "?" did not remove old arguments if no new arguments
11390 were added to a rewritten URI. 11390 were added to a rewritten URI.
11391 </para> 11391 </para>
11392 </change> 11392 </change>
11393 11393
11394 <change type="bugfix"> 11394 <change type="bugfix">
11395 <para lang="ru"> 11395 <para lang="ru">
11396 nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 11396 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫п╬п╧ FreeBSD 7.0-CURRENT.
11397 </para> 11397 </para>
11398 <para lang="en"> 11398 <para lang="en">
11399 nginx could not run on 64-bit FreeBSD 7.0-CURRENT. 11399 nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
11400 </para> 11400 </para>
11401 </change> 11401 </change>
11405 11405
11406 <changes ver="0.3.57" date="09.08.2006"> 11406 <changes ver="0.3.57" date="09.08.2006">
11407 11407
11408 <change type="feature"> 11408 <change type="feature">
11409 <para lang="ru"> 11409 <para lang="ru">
11410 переменная $ssl_client_serial. 11410 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_serial.
11411 </para> 11411 </para>
11412 <para lang="en"> 11412 <para lang="en">
11413 the $ssl_client_serial variable. 11413 the $ssl_client_serial variable.
11414 </para> 11414 </para>
11415 </change> 11415 </change>
11416 11416
11417 <change type="bugfix"> 11417 <change type="bugfix">
11418 <para lang="ru"> 11418 <para lang="ru">
11419 в операторе "!-e" в директиве if.<br/> 11419 п╡ п╬п©п╣я─п╟я┌п╬я─п╣ "!-e" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if.<br/>
11420 Спасибо Андриану Буданцову. 11420 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╦п╟п╫я┐ п▒я┐п╢п╟п╫я├п╬п╡я┐.
11421 </para> 11421 </para>
11422 <para lang="en"> 11422 <para lang="en">
11423 in the "!-e" operator of the "if" directive.<br/> 11423 in the "!-e" operator of the "if" directive.<br/>
11424 Thanks to Andrian Budanstov. 11424 Thanks to Andrian Budanstov.
11425 </para> 11425 </para>
11426 </change> 11426 </change>
11427 11427
11428 <change type="bugfix"> 11428 <change type="bugfix">
11429 <para lang="ru"> 11429 <para lang="ru">
11430 при проверке клиентского сертификата nginx не передавал клиенту 11430 п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟ nginx п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п╨п╩п╦п╣п╫я┌я┐
11431 информацию о требуемых сертификатах. 11431 п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ я┌я─п╣п╠я┐п╣п╪я▀я┘ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟я┘.
11432 </para> 11432 </para>
11433 <para lang="en"> 11433 <para lang="en">
11434 while a client certificate verification nginx did not send to a client 11434 while a client certificate verification nginx did not send to a client
11435 the required certificates information. 11435 the required certificates information.
11436 </para> 11436 </para>
11437 </change> 11437 </change>
11438 11438
11439 <change type="bugfix"> 11439 <change type="bugfix">
11440 <para lang="ru"> 11440 <para lang="ru">
11441 переменная $document_root не поддерживала переменные в директиве root. 11441 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $document_root п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ root.
11442 </para> 11442 </para>
11443 <para lang="en"> 11443 <para lang="en">
11444 the $document_root variable did not support the variables in the "root" 11444 the $document_root variable did not support the variables in the "root"
11445 directive. 11445 directive.
11446 </para> 11446 </para>
11451 11451
11452 <changes ver="0.3.56" date="04.08.2006"> 11452 <changes ver="0.3.56" date="04.08.2006">
11453 11453
11454 <change type="feature"> 11454 <change type="feature">
11455 <para lang="ru"> 11455 <para lang="ru">
11456 директива dav_access. 11456 п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access.
11457 </para> 11457 </para>
11458 <para lang="en"> 11458 <para lang="en">
11459 the "dav_access" directive. 11459 the "dav_access" directive.
11460 </para> 11460 </para>
11461 </change> 11461 </change>
11462 11462
11463 <change type="feature"> 11463 <change type="feature">
11464 <para lang="ru"> 11464 <para lang="ru">
11465 директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x". 11465 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я┌п╬я─я▀ "-d", "!-d", "-e", "!-e", "-x" п╦ "!-x".
11466 </para> 11466 </para>
11467 <para lang="en"> 11467 <para lang="en">
11468 the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" 11468 the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
11469 operators. 11469 operators.
11470 </para> 11470 </para>
11471 </change> 11471 </change>
11472 11472
11473 <change type="bugfix"> 11473 <change type="bugfix">
11474 <para lang="ru"> 11474 <para lang="ru">
11475 при записи в access_log некоторых передаваемых клиенту строк заголовков 11475 п©я─п╦ п╥п╟п©п╦я│п╦ п╡ access_log п╫п╣п╨п╬я┌п╬я─я▀я┘ п©п╣я─п╣п╢п╟п╡п╟п╣п╪я▀я┘ п╨п╩п╦п╣п╫я┌я┐ я│я┌я─п╬п╨ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╡
11476 происходил segmentation fault, если запрос возвращал редирект. 11476 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╡п╬п╥п╡я─п╟я┴п╟п╩ я─п╣п╢п╦я─п╣п╨я┌.
11477 </para> 11477 </para>
11478 <para lang="en"> 11478 <para lang="en">
11479 a segmentation fault occurred if a request returned a redirect and 11479 a segmentation fault occurred if a request returned a redirect and
11480 some sent to client header lines were logged in the access log. 11480 some sent to client header lines were logged in the access log.
11481 </para> 11481 </para>
11486 11486
11487 <changes ver="0.3.55" date="28.07.2006"> 11487 <changes ver="0.3.55" date="28.07.2006">
11488 11488
11489 <change type="feature"> 11489 <change type="feature">
11490 <para lang="ru"> 11490 <para lang="ru">
11491 параметр stub в команде SSI include. 11491 п©п╟я─п╟п╪п╣я┌я─ stub п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
11492 </para> 11492 </para>
11493 <para lang="en"> 11493 <para lang="en">
11494 the "stub" parameter in the "include" SSI command. 11494 the "stub" parameter in the "include" SSI command.
11495 </para> 11495 </para>
11496 </change> 11496 </change>
11497 11497
11498 <change type="feature"> 11498 <change type="feature">
11499 <para lang="ru"> 11499 <para lang="ru">
11500 команда SSI block. 11500 п╨п╬п╪п╟п╫п╢п╟ SSI block.
11501 </para> 11501 </para>
11502 <para lang="en"> 11502 <para lang="en">
11503 the "block" SSI command. 11503 the "block" SSI command.
11504 </para> 11504 </para>
11505 </change> 11505 </change>
11506 11506
11507 <change type="feature"> 11507 <change type="feature">
11508 <para lang="ru"> 11508 <para lang="ru">
11509 скрипт unicode2nginx добавлен в contrib. 11509 я│п╨я─п╦п©я┌ unicode2nginx п╢п╬п╠п╟п╡п╩п╣п╫ п╡ contrib.
11510 </para> 11510 </para>
11511 <para lang="en"> 11511 <para lang="en">
11512 the unicode2nginx script was added to contrib. 11512 the unicode2nginx script was added to contrib.
11513 </para> 11513 </para>
11514 </change> 11514 </change>
11515 11515
11516 <change type="bugfix"> 11516 <change type="bugfix">
11517 <para lang="ru"> 11517 <para lang="ru">
11518 если root был задан только переменной, то корень задавался 11518 п╣я│п╩п╦ root п╠я▀п╩ п╥п╟п╢п╟п╫ я┌п╬п╩я▄п╨п╬ п©п╣я─п╣п╪п╣п╫п╫п╬п╧, я┌п╬ п╨п╬я─п╣п╫я▄ п╥п╟п╢п╟п╡п╟п╩я│я▐
11519 относительно префикса сервера. 11519 п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п©я─п╣я└п╦п╨я│п╟ я│п╣я─п╡п╣я─п╟.
11520 </para> 11520 </para>
11521 <para lang="en"> 11521 <para lang="en">
11522 if a "root" was specified by variable only, then the root was relative 11522 if a "root" was specified by variable only, then the root was relative
11523 to a server prefix. 11523 to a server prefix.
11524 </para> 11524 </para>
11525 </change> 11525 </change>
11526 11526
11527 <change type="bugfix"> 11527 <change type="bugfix">
11528 <para lang="ru"> 11528 <para lang="ru">
11529 если в запросе был "//" или "/.", и после этого закодированные 11529 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╠я▀п╩ "//" п╦п╩п╦ "/.", п╦ п©п╬я│п╩п╣ я█я┌п╬пЁп╬ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╣
11530 символы в виде "%XX", то проксируемый запрос передавался незакодированным. 11530 я│п╦п╪п╡п╬п╩я▀ п╡ п╡п╦п╢п╣ "%XX", я┌п╬ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧ п╥п╟п©я─п╬я│ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╪.
11531 </para> 11531 </para>
11532 <para lang="en"> 11532 <para lang="en">
11533 if the request contained "//" or "/./" and escaped symbols after them, 11533 if the request contained "//" or "/./" and escaped symbols after them,
11534 then the proxied request was sent unescaped. 11534 then the proxied request was sent unescaped.
11535 </para> 11535 </para>
11536 </change> 11536 </change>
11537 11537
11538 <change type="bugfix"> 11538 <change type="bugfix">
11539 <para lang="ru"> 11539 <para lang="ru">
11540 метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает 11540 п╪п╣я┌п╬п╢ $r->header_in("Cookie") п╪п╬п╢я┐п╩я▐ ngx_http_perl_module я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌
11541 все строки "Cookie" в заголовке запроса. 11541 п╡я│п╣ я│я┌я─п╬п╨п╦ "Cookie" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
11542 </para> 11542 </para>
11543 <para lang="en"> 11543 <para lang="en">
11544 the $r->header_in("Cookie") of the ngx_http_perl_module now returns 11544 the $r->header_in("Cookie") of the ngx_http_perl_module now returns
11545 all "Cookie" header lines. 11545 all "Cookie" header lines.
11546 </para> 11546 </para>
11547 </change> 11547 </change>
11548 11548
11549 <change type="bugfix"> 11549 <change type="bugfix">
11550 <para lang="ru"> 11550 <para lang="ru">
11551 происходил segmentation fault, если использовался 11551 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
11552 <nobr>"client_body_in_file_only on"</nobr> 11552 <nobr>"client_body_in_file_only on"</nobr>
11553 и делался переход к следующему бэкенду. 11553 п╦ п╢п╣п╩п╟п╩я│я▐ п©п╣я─п╣я┘п╬п╢ п╨ я│п╩п╣п╢я┐я▌я┴п╣п╪я┐ п╠я█п╨п╣п╫п╢я┐.
11554 </para> 11554 </para>
11555 <para lang="en"> 11555 <para lang="en">
11556 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 11556 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
11557 was used and nginx switched to a next upstream. 11557 was used and nginx switched to a next upstream.
11558 </para> 11558 </para>
11559 </change> 11559 </change>
11560 11560
11561 <change type="bugfix"> 11561 <change type="bugfix">
11562 <para lang="ru"> 11562 <para lang="ru">
11563 при некоторых условиях во время переконфигурации коды символов 11563 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╨п╬п╢я▀ я│п╦п╪п╡п╬п╩п╬п╡
11564 внутри директивы charset_map могли считаться неверными; 11564 п╡п╫я┐я┌я─п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ charset_map п╪п╬пЁп╩п╦ я│я┤п╦я┌п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫я▀п╪п╦;
11565 ошибка появилась в 0.3.50. 11565 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11566 </para> 11566 </para>
11567 <para lang="en"> 11567 <para lang="en">
11568 on some condition while reconfiguration character codes 11568 on some condition while reconfiguration character codes
11569 inside the "charset_map" may be treated invalid; 11569 inside the "charset_map" may be treated invalid;
11570 the bug had appeared in 0.3.50. 11570 the bug had appeared in 0.3.50.
11576 11576
11577 <changes ver="0.3.54" date="11.07.2006"> 11577 <changes ver="0.3.54" date="11.07.2006">
11578 11578
11579 <change type="feature"> 11579 <change type="feature">
11580 <para lang="ru"> 11580 <para lang="ru">
11581 nginx теперь записывает в лог информацию о подзапросах. 11581 nginx я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌ п╡ п╩п╬пЁ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
11582 </para> 11582 </para>
11583 <para lang="en"> 11583 <para lang="en">
11584 nginx now logs the subrequest information to the error log. 11584 nginx now logs the subrequest information to the error log.
11585 </para> 11585 </para>
11586 </change> 11586 </change>
11587 11587
11588 <change type="feature"> 11588 <change type="feature">
11589 <para lang="ru"> 11589 <para lang="ru">
11590 директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream 11590 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_next_upstream, fastcgi_next_upstream п╦ memcached_next_upstream
11591 поддерживают параметр off. 11591 п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╟я─п╟п╪п╣я┌я─ off.
11592 </para> 11592 </para>
11593 <para lang="en"> 11593 <para lang="en">
11594 the "proxy_next_upstream", "fastcgi_next_upstream", 11594 the "proxy_next_upstream", "fastcgi_next_upstream",
11595 and "memcached_next_upstream" directives support the "off" parameter. 11595 and "memcached_next_upstream" directives support the "off" parameter.
11596 </para> 11596 </para>
11597 </change> 11597 </change>
11598 11598
11599 <change type="feature"> 11599 <change type="feature">
11600 <para lang="ru"> 11600 <para lang="ru">
11601 директива debug_connection поддерживает запись адресов в формате CIDR. 11601 п╢п╦я─п╣п╨я┌п╦п╡п╟ debug_connection п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╥п╟п©п╦я│я▄ п╟п╢я─п╣я│п╬п╡ п╡ я└п╬я─п╪п╟я┌п╣ CIDR.
11602 </para> 11602 </para>
11603 <para lang="en"> 11603 <para lang="en">
11604 the "debug_connection" directive supports the CIDR address form. 11604 the "debug_connection" directive supports the CIDR address form.
11605 </para> 11605 </para>
11606 </change> 11606 </change>
11607 11607
11608 <change type="bugfix"> 11608 <change type="bugfix">
11609 <para lang="ru"> 11609 <para lang="ru">
11610 при перекодировании ответа проксированного сервера или сервера FastCGI 11610 п©я─п╦ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╦ п╬я┌п╡п╣я┌п╟ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╦п╩п╦ я│п╣я─п╡п╣я─п╟ FastCGI
11611 в UTF-8 или наоборот ответ мог передаваться не полностью. 11611 п╡ UTF-8 п╦п╩п╦ п╫п╟п╬п╠п╬я─п╬я┌ п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
11612 </para> 11612 </para>
11613 <para lang="en"> 11613 <para lang="en">
11614 if a response of proxied server or FastCGI server was converted from UTF-8 11614 if a response of proxied server or FastCGI server was converted from UTF-8
11615 or back, then it may be transferred incomplete. 11615 or back, then it may be transferred incomplete.
11616 </para> 11616 </para>
11617 </change> 11617 </change>
11618 11618
11619 <change type="bugfix"> 11619 <change type="bugfix">
11620 <para lang="ru"> 11620 <para lang="ru">
11621 переменная $upstream_response_time содержала время только первого 11621 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time я│п╬п╢п╣я─п╤п╟п╩п╟ п╡я─п╣п╪я▐ я┌п╬п╩я▄п╨п╬ п©п╣я─п╡п╬пЁп╬
11622 обращения к бэкенду. 11622 п╬п╠я─п╟я┴п╣п╫п╦я▐ п╨ п╠я█п╨п╣п╫п╢я┐.
11623 </para> 11623 </para>
11624 <para lang="en"> 11624 <para lang="en">
11625 the $upstream_response_time variable had the time of the first 11625 the $upstream_response_time variable had the time of the first
11626 request to a backend only. 11626 request to a backend only.
11627 </para> 11627 </para>
11628 </change> 11628 </change>
11629 11629
11630 <change type="bugfix"> 11630 <change type="bugfix">
11631 <para lang="ru"> 11631 <para lang="ru">
11632 nginx не собирался на платформе amd64; 11632 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╣ amd64;
11633 ошибка появилась в 0.3.53. 11633 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.53.
11634 </para> 11634 </para>
11635 <para lang="en"> 11635 <para lang="en">
11636 nginx could not be built on amd64 platform; 11636 nginx could not be built on amd64 platform;
11637 the bug had appeared in 0.3.53. 11637 the bug had appeared in 0.3.53.
11638 </para> 11638 </para>
11643 11643
11644 <changes ver="0.3.53" date="07.07.2006"> 11644 <changes ver="0.3.53" date="07.07.2006">
11645 11645
11646 <change type="change"> 11646 <change type="change">
11647 <para lang="ru"> 11647 <para lang="ru">
11648 директива add_header добавляет строки в ответы с кодом 204, 301 и 302. 11648 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п╢п╬п╠п╟п╡п╩я▐п╣я┌ я│я┌я─п╬п╨п╦ п╡ п╬я┌п╡п╣я┌я▀ я│ п╨п╬п╢п╬п╪ 204, 301 п╦ 302.
11649 </para> 11649 </para>
11650 <para lang="en"> 11650 <para lang="en">
11651 the "add_header" directive adds the string to 204, 301, and 302 responses. 11651 the "add_header" directive adds the string to 204, 301, and 302 responses.
11652 </para> 11652 </para>
11653 </change> 11653 </change>
11654 11654
11655 <change type="feature"> 11655 <change type="feature">
11656 <para lang="ru"> 11656 <para lang="ru">
11657 директива server в блоке upstream поддерживает параметр weight. 11657 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ weight.
11658 </para> 11658 </para>
11659 <para lang="en"> 11659 <para lang="en">
11660 the "server" directive in the "upstream" context supports 11660 the "server" directive in the "upstream" context supports
11661 the "weight" parameter. 11661 the "weight" parameter.
11662 </para> 11662 </para>
11663 </change> 11663 </change>
11664 11664
11665 <change type="feature"> 11665 <change type="feature">
11666 <para lang="ru"> 11666 <para lang="ru">
11667 директива server_name поддерживает маску "*". 11667 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╟я│п╨я┐ "*".
11668 </para> 11668 </para>
11669 <para lang="en"> 11669 <para lang="en">
11670 the "server_name" directive supports the "*" wildcard. 11670 the "server_name" directive supports the "*" wildcard.
11671 </para> 11671 </para>
11672 </change> 11672 </change>
11673 11673
11674 <change type="feature"> 11674 <change type="feature">
11675 <para lang="ru"> 11675 <para lang="ru">
11676 nginx поддерживает тело запроса больше 2G. 11676 nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠п╬п╩я▄я┬п╣ 2G.
11677 </para> 11677 </para>
11678 <para lang="en"> 11678 <para lang="en">
11679 nginx supports the request body size more than 2G. 11679 nginx supports the request body size more than 2G.
11680 </para> 11680 </para>
11681 </change> 11681 </change>
11682 11682
11683 <change type="bugfix"> 11683 <change type="bugfix">
11684 <para lang="ru"> 11684 <para lang="ru">
11685 если при использовании "satisfy_any on" клиент успешно проходил аутентификацию, 11685 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "satisfy_any on" п╨п╩п╦п╣п╫я┌ я┐я│п©п╣я┬п╫п╬ п©я─п╬я┘п╬п╢п╦п╩ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌,
11686 в лог всё равно записалоcь сообщение "access forbidden by rule". 11686 п╡ п╩п╬пЁ п╡я│я▒ я─п╟п╡п╫п╬ п╥п╟п©п╦я│п╟п╩п╬cя▄ я│п╬п╬п╠я┴п╣п╫п╦п╣ "access forbidden by rule".
11687 </para> 11687 </para>
11688 <para lang="en"> 11688 <para lang="en">
11689 if a client was successfully authorized using "satisfy_any on", then anyway 11689 if a client was successfully authorized using "satisfy_any on", then anyway
11690 the message "access forbidden by rule" was written in the log. 11690 the message "access forbidden by rule" was written in the log.
11691 </para> 11691 </para>
11692 </change> 11692 </change>
11693 11693
11694 <change type="bugfix"> 11694 <change type="bugfix">
11695 <para lang="ru"> 11695 <para lang="ru">
11696 метод PUT мог ошибочно не создать файл и вернуть код 409. 11696 п╪п╣я┌п╬п╢ PUT п╪п╬пЁ п╬я┬п╦п╠п╬я┤п╫п╬ п╫п╣ я│п╬п╥п╢п╟я┌я▄ я└п╟п╧п╩ п╦ п╡п╣я─п╫я┐я┌я▄ п╨п╬п╢ 409.
11697 </para> 11697 </para>
11698 <para lang="en"> 11698 <para lang="en">
11699 the "PUT" method may erroneously not create a file and return the 409 code. 11699 the "PUT" method may erroneously not create a file and return the 409 code.
11700 </para> 11700 </para>
11701 </change> 11701 </change>
11702 11702
11703 <change type="bugfix"> 11703 <change type="bugfix">
11704 <para lang="ru"> 11704 <para lang="ru">
11705 если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx 11705 п╣я│п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п╠я█п╨п╣п╫п╢ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐, nginx
11706 продолжал проксирование. 11706 п©я─п╬п╢п╬п╩п╤п╟п╩ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣.
11707 </para> 11707 </para>
11708 <para lang="en"> 11708 <para lang="en">
11709 if the IMAP/POP3 backend returned an error, then nginx continued proxying 11709 if the IMAP/POP3 backend returned an error, then nginx continued proxying
11710 anyway. 11710 anyway.
11711 </para> 11711 </para>
11716 11716
11717 <changes ver="0.3.52" date="03.07.2006"> 11717 <changes ver="0.3.52" date="03.07.2006">
11718 11718
11719 <change type="change"> 11719 <change type="change">
11720 <para lang="ru"> 11720 <para lang="ru">
11721 восстановлено поведение модуля ngx_http_index_module для запросов "POST /": 11721 п╡п╬я│я│я┌п╟п╫п╬п╡п╩п╣п╫п╬ п©п╬п╡п╣п╢п╣п╫п╦п╣ п╪п╬п╢я┐п╩я▐ ngx_http_index_module п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ "POST /":
11722 как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405. 11722 п╨п╟п╨ п╡ п╡п╣я─я│п╦п╦ п╢п╬ 0.3.40, п╪п╬п╢я┐п╩я▄ я┌п╣п©п╣я─я▄ п╫п╣ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 405.
11723 </para> 11723 </para>
11724 <para lang="en"> 11724 <para lang="en">
11725 the ngx_http_index_module behavior for the "POST /" requests is reverted 11725 the ngx_http_index_module behavior for the "POST /" requests is reverted
11726 to the 0.3.40 version state: the module now does not return the 405 error. 11726 to the 0.3.40 version state: the module now does not return the 405 error.
11727 </para> 11727 </para>
11728 </change> 11728 </change>
11729 11729
11730 <change type="bugfix"> 11730 <change type="bugfix">
11731 <para lang="ru"> 11731 <para lang="ru">
11732 при использовании ограничения скорости рабочий процесс мог зациклиться; 11732 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦я▐ я│п╨п╬я─п╬я│я┌п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
11733 ошибка появилась в 0.3.37. 11733 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.37.
11734 </para> 11734 </para>
11735 <para lang="en"> 11735 <para lang="en">
11736 the worker process may got caught in an endless loop if the limit rate was used; 11736 the worker process may got caught in an endless loop if the limit rate was used;
11737 the bug had appeared in 0.3.37. 11737 the bug had appeared in 0.3.37.
11738 </para> 11738 </para>
11739 </change> 11739 </change>
11740 11740
11741 <change type="bugfix"> 11741 <change type="bugfix">
11742 <para lang="ru"> 11742 <para lang="ru">
11743 модуль ngx_http_charset_module записывал в лог ошибку "unknown charset", 11743 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п╥п╟п©п╦я│я▀п╡п╟п╩ п╡ п╩п╬пЁ п╬я┬п╦п╠п╨я┐ "unknown charset",
11744 даже если перекодировка не требовалась; 11744 п╢п╟п╤п╣ п╣я│п╩п╦ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╟ п╫п╣ я┌я─п╣п╠п╬п╡п╟п╩п╟я│я▄;
11745 ошибка появилась в 0.3.50. 11745 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11746 </para> 11746 </para>
11747 <para lang="en"> 11747 <para lang="en">
11748 ngx_http_charset_module logged "unknown charset" alert, even if the recoding 11748 ngx_http_charset_module logged "unknown charset" alert, even if the recoding
11749 was not needed; 11749 was not needed;
11750 the bug had appeared in 0.3.50. 11750 the bug had appeared in 0.3.50.
11751 </para> 11751 </para>
11752 </change> 11752 </change>
11753 11753
11754 <change type="bugfix"> 11754 <change type="bugfix">
11755 <para lang="ru"> 11755 <para lang="ru">
11756 если в результате запроса PUT возвращался код 409, то временный файл 11756 п╣я│п╩п╦ п╡ я─п╣п╥я┐п╩я▄я┌п╟я┌п╣ п╥п╟п©я─п╬я│п╟ PUT п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╨п╬п╢ 409, я┌п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
11757 не удалялся. 11757 п╫п╣ я┐п╢п╟п╩я▐п╩я│я▐.
11758 </para> 11758 </para>
11759 <para lang="en"> 11759 <para lang="en">
11760 if a code response of the PUT request was 409, then a temporary file 11760 if a code response of the PUT request was 409, then a temporary file
11761 was not removed. 11761 was not removed.
11762 </para> 11762 </para>
11767 11767
11768 <changes ver="0.3.51" date="30.06.2006"> 11768 <changes ver="0.3.51" date="30.06.2006">
11769 11769
11770 <change type="bugfix"> 11770 <change type="bugfix">
11771 <para lang="ru"> 11771 <para lang="ru">
11772 при некоторых условиях в SSI мог пропадать символы "&lt;"; 11772 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡ SSI п╪п╬пЁ п©я─п╬п©п╟п╢п╟я┌я▄ я│п╦п╪п╡п╬п╩я▀ "&lt;";
11773 ошибка появилась в 0.3.50. 11773 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11774 </para> 11774 </para>
11775 <para lang="en"> 11775 <para lang="en">
11776 the "&lt;" symbols might disappeared some conditions in the SSI; 11776 the "&lt;" symbols might disappeared some conditions in the SSI;
11777 the bug had appeared in 0.3.50. 11777 the bug had appeared in 0.3.50.
11778 </para> 11778 </para>
11783 11783
11784 <changes ver="0.3.50" date="28.06.2006"> 11784 <changes ver="0.3.50" date="28.06.2006">
11785 11785
11786 <change type="change"> 11786 <change type="change">
11787 <para lang="ru"> 11787 <para lang="ru">
11788 директивы proxy_redirect_errors и fastcgi_redirect_errors 11788 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_redirect_errors п╦ fastcgi_redirect_errors
11789 переименованы соответственно в proxy_intercept_errors и 11789 п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ proxy_intercept_errors п╦
11790 fastcgi_intercept_errors. 11790 fastcgi_intercept_errors.
11791 </para> 11791 </para>
11792 <para lang="en"> 11792 <para lang="en">
11793 the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives 11793 the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
11794 was renamed to the "proxy_intercept_errors" and 11794 was renamed to the "proxy_intercept_errors" and
11796 </para> 11796 </para>
11797 </change> 11797 </change>
11798 11798
11799 <change type="feature"> 11799 <change type="feature">
11800 <para lang="ru"> 11800 <para lang="ru">
11801 модуль ngx_http_charset_module поддерживает перекодирование из 11801 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╣ п╦п╥
11802 однобайтных кодировок в UTF-8 и обратно. 11802 п╬п╢п╫п╬п╠п╟п╧я┌п╫я▀я┘ п╨п╬п╢п╦я─п╬п╡п╬п╨ п╡ UTF-8 п╦ п╬п╠я─п╟я┌п╫п╬.
11803 </para> 11803 </para>
11804 <para lang="en"> 11804 <para lang="en">
11805 the ngx_http_charset_module supports the recoding from the single byte 11805 the ngx_http_charset_module supports the recoding from the single byte
11806 encodings to the UTF-8 encoding and back. 11806 encodings to the UTF-8 encoding and back.
11807 </para> 11807 </para>
11808 </change> 11808 </change>
11809 11809
11810 <change type="feature"> 11810 <change type="feature">
11811 <para lang="ru"> 11811 <para lang="ru">
11812 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset" 11812 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Charset"
11813 в ответе бэкенда. 11813 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
11814 </para> 11814 </para>
11815 <para lang="en"> 11815 <para lang="en">
11816 the "X-Accel-Charset" response header line is supported in proxy 11816 the "X-Accel-Charset" response header line is supported in proxy
11817 and FastCGI mode. 11817 and FastCGI mode.
11818 </para> 11818 </para>
11819 </change> 11819 </change>
11820 11820
11821 <change type="bugfix"> 11821 <change type="bugfix">
11822 <para lang="ru"> 11822 <para lang="ru">
11823 символ "\" в парах "\"" и "\'" в SSI командах убирался, только если 11823 я│п╦п╪п╡п╬п╩ "\" п╡ п©п╟я─п╟я┘ "\"" п╦ "\'" п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ я┐п╠п╦я─п╟п╩я│я▐, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦
11824 также использовался символ "$". 11824 я┌п╟п╨п╤п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ "$".
11825 </para> 11825 </para>
11826 <para lang="en"> 11826 <para lang="en">
11827 the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 11827 the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
11828 was removed only if the command also has the "$" symbol. 11828 was removed only if the command also has the "$" symbol.
11829 </para> 11829 </para>
11830 </change> 11830 </change>
11831 11831
11832 <change type="bugfix"> 11832 <change type="bugfix">
11833 <para lang="ru"> 11833 <para lang="ru">
11834 при некоторых условиях в SSI после вставки могла быть добавлена 11834 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡ SSI п©п╬я│п╩п╣ п╡я│я┌п╟п╡п╨п╦ п╪п╬пЁп╩п╟ п╠я▀я┌я▄ п╢п╬п╠п╟п╡п╩п╣п╫п╟
11835 строка "&lt;!--". 11835 я│я┌я─п╬п╨п╟ "&lt;!--".
11836 </para> 11836 </para>
11837 <para lang="en"> 11837 <para lang="en">
11838 the "&lt;!--" string might be added on some conditions 11838 the "&lt;!--" string might be added on some conditions
11839 in the SSI after inclusion. 11839 in the SSI after inclusion.
11840 </para> 11840 </para>
11841 </change> 11841 </change>
11842 11842
11843 <change type="bugfix"> 11843 <change type="bugfix">
11844 <para lang="ru"> 11844 <para lang="ru">
11845 если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr> 11845 п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ <nobr>"Content-Length: 0",</nobr>
11846 то при использовании небуферизированного проксировании не закрывалось соединение 11846 я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩п╬я│я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣
11847 с клиентом. 11847 я│ п╨п╩п╦п╣п╫я┌п╬п╪.
11848 </para> 11848 </para>
11849 <para lang="en"> 11849 <para lang="en">
11850 if the "Content-Length: 0" header line was in response, then 11850 if the "Content-Length: 0" header line was in response, then
11851 in nonbuffered proxying mode the client connection was not closed. 11851 in nonbuffered proxying mode the client connection was not closed.
11852 </para> 11852 </para>
11857 11857
11858 <changes ver="0.3.49" date="31.05.2006"> 11858 <changes ver="0.3.49" date="31.05.2006">
11859 11859
11860 <change type="bugfix"> 11860 <change type="bugfix">
11861 <para lang="ru"> 11861 <para lang="ru">
11862 в директиве set. 11862 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set.
11863 </para> 11863 </para>
11864 <para lang="en"> 11864 <para lang="en">
11865 in the "set" directive. 11865 in the "set" directive.
11866 </para> 11866 </para>
11867 </change> 11867 </change>
11868 11868
11869 <change type="bugfix"> 11869 <change type="bugfix">
11870 <para lang="ru"> 11870 <para lang="ru">
11871 при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, 11871 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ ssi п╢п╡я┐я┘ п╦ п╠п╬п╩п╣п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡, п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╣п╪я▀я┘ я┤п╣я─п╣п╥ FastCGI,
11872 вместо вывода второго и остальных подзапросов в ответ включался вывод 11872 п╡п╪п╣я│я┌п╬ п╡я▀п╡п╬п╢п╟ п╡я┌п╬я─п╬пЁп╬ п╦ п╬я│я┌п╟п╩я▄п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡ п╡ п╬я┌п╡п╣я┌ п╡п╨п╩я▌я┤п╟п╩я│я▐ п╡я▀п╡п╬п╢
11873 первого подзапроса. 11873 п©п╣я─п╡п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟.
11874 </para> 11874 </para>
11875 <para lang="en"> 11875 <para lang="en">
11876 if two or more FastCGI subrequests was in SSI, then first subrequest output 11876 if two or more FastCGI subrequests was in SSI, then first subrequest output
11877 was included instead of second and following subrequests. 11877 was included instead of second and following subrequests.
11878 </para> 11878 </para>
11883 11883
11884 <changes ver="0.3.48" date="29.05.2006"> 11884 <changes ver="0.3.48" date="29.05.2006">
11885 11885
11886 <change type="change"> 11886 <change type="change">
11887 <para lang="ru"> 11887 <para lang="ru">
11888 теперь модуль ngx_http_charset_module работает для подзапросов, 11888 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_charset_module я─п╟п╠п╬я┌п╟п╣я┌ п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡,
11889 в ответах которых нет строки заголовка "Content-Type". 11889 п╡ п╬я┌п╡п╣я┌п╟я┘ п╨п╬я┌п╬я─я▀я┘ п╫п╣я┌ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Content-Type".
11890 </para> 11890 </para>
11891 <para lang="en"> 11891 <para lang="en">
11892 now the ngx_http_charset_module works for subrequests, 11892 now the ngx_http_charset_module works for subrequests,
11893 if the response has no "Content-Type" header line. 11893 if the response has no "Content-Type" header line.
11894 </para> 11894 </para>
11895 </change> 11895 </change>
11896 11896
11897 <change type="bugfix"> 11897 <change type="bugfix">
11898 <para lang="ru"> 11898 <para lang="ru">
11899 если в директиве proxy_pass не было URI, 11899 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п╠я▀п╩п╬ URI,
11900 то директива "proxy_redirect default" добавляла в переписанный 11900 я┌п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟ "proxy_redirect default" п╢п╬п╠п╟п╡п╩я▐п╩п╟ п╡ п©п╣я─п╣п©п╦я│п╟п╫п╫я▀п╧
11901 редирект в начало лишний слэш. 11901 я─п╣п╢п╦я─п╣п╨я┌ п╡ п╫п╟я┤п╟п╩п╬ п╩п╦я┬п╫п╦п╧ я│п╩я█я┬.
11902 </para> 11902 </para>
11903 <para lang="en"> 11903 <para lang="en">
11904 if the "proxy_pass" directive has no URI part, 11904 if the "proxy_pass" directive has no URI part,
11905 then the "proxy_redirect default" directive add the unnecessary slash 11905 then the "proxy_redirect default" directive add the unnecessary slash
11906 in start of the rewritten redirect. 11906 in start of the rewritten redirect.
11907 </para> 11907 </para>
11908 </change> 11908 </change>
11909 11909
11910 <change type="bugfix"> 11910 <change type="bugfix">
11911 <para lang="ru"> 11911 <para lang="ru">
11912 внутренний редирект всегда превращал любой HTTP-метод в GET, 11912 п╡п╫я┐я┌я─п╣п╫п╫п╦п╧ я─п╣п╢п╦я─п╣п╨я┌ п╡я│п╣пЁп╢п╟ п©я─п╣п╡я─п╟я┴п╟п╩ п╩я▌п╠п╬п╧ HTTP-п╪п╣я┌п╬п╢ п╡ GET,
11913 теперь это делается только для редиректов, выполняемых с помощью 11913 я┌п╣п©п╣я─я▄ я█я┌п╬ п╢п╣п╩п╟п╣я┌я│я▐ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ я─п╣п╢п╦я─п╣п╨я┌п╬п╡, п╡я▀п©п╬п╩п╫я▐п╣п╪я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌
11914 X-Accel-Redirect, и у которых метод не равен HEAD; 11914 X-Accel-Redirect, п╦ я┐ п╨п╬я┌п╬я─я▀я┘ п╪п╣я┌п╬п╢ п╫п╣ я─п╟п╡п╣п╫ HEAD;
11915 ошибка появилась в 0.3.42. 11915 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.42.
11916 </para> 11916 </para>
11917 <para lang="en"> 11917 <para lang="en">
11918 the internal redirect always transform client's HTTP method to GET, 11918 the internal redirect always transform client's HTTP method to GET,
11919 now the transformation is made for the "X-Accel-Redirect" redirects only 11919 now the transformation is made for the "X-Accel-Redirect" redirects only
11920 and if the method is not HEAD; 11920 and if the method is not HEAD;
11922 </para> 11922 </para>
11923 </change> 11923 </change>
11924 11924
11925 <change type="bugfix"> 11925 <change type="bugfix">
11926 <para lang="ru"> 11926 <para lang="ru">
11927 модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков; 11927 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐, п╣я│п╩п╦ п©п╣я─п╩ п╠я▀п╩ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡;
11928 ошибка появилась в 0.3.46. 11928 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.46.
11929 </para> 11929 </para>
11930 <para lang="en"> 11930 <para lang="en">
11931 the ngx_http_perl_module could not be built, if the perl was built 11931 the ngx_http_perl_module could not be built, if the perl was built
11932 with the threads support; 11932 with the threads support;
11933 the bug had appeared in 0.3.46. 11933 the bug had appeared in 0.3.46.
11939 11939
11940 <changes ver="0.3.47" date="23.05.2006"> 11940 <changes ver="0.3.47" date="23.05.2006">
11941 11941
11942 <change type="feature"> 11942 <change type="feature">
11943 <para lang="ru"> 11943 <para lang="ru">
11944 директива upstream. 11944 п╢п╦я─п╣п╨я┌п╦п╡п╟ upstream.
11945 </para> 11945 </para>
11946 <para lang="en"> 11946 <para lang="en">
11947 the "upstream" directive. 11947 the "upstream" directive.
11948 </para> 11948 </para>
11949 </change> 11949 </change>
11950 11950
11951 <change type="change"> 11951 <change type="change">
11952 <para lang="ru"> 11952 <para lang="ru">
11953 символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается. 11953 я│п╦п╪п╡п╬п╩ "\" п╡ п©п╟я─п╟я┘ "\"" п╦ "\'" п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ я┐п╠п╦я─п╟п╣я┌я│я▐.
11954 </para> 11954 </para>
11955 <para lang="en"> 11955 <para lang="en">
11956 now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 11956 now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
11957 is always removed. 11957 is always removed.
11958 </para> 11958 </para>
11963 11963
11964 <changes ver="0.3.46" date="11.05.2006"> 11964 <changes ver="0.3.46" date="11.05.2006">
11965 11965
11966 <change type="feature"> 11966 <change type="feature">
11967 <para lang="ru"> 11967 <para lang="ru">
11968 директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header 11968 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_hide_header, proxy_pass_header, fastcgi_hide_header
11969 и fastcgi_pass_header. 11969 п╦ fastcgi_pass_header.
11970 </para> 11970 </para>
11971 <para lang="en"> 11971 <para lang="en">
11972 the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", 11972 the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
11973 and "fastcgi_pass_header" directives. 11973 and "fastcgi_pass_header" directives.
11974 </para> 11974 </para>
11975 </change> 11975 </change>
11976 11976
11977 <change type="change"> 11977 <change type="change">
11978 <para lang="ru"> 11978 <para lang="ru">
11979 директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server 11979 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass_x_powered_by, fastcgi_x_powered_by п╦ proxy_pass_server
11980 упразднены. 11980 я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
11981 </para> 11981 </para>
11982 <para lang="en"> 11982 <para lang="en">
11983 the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" 11983 the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
11984 directives were canceled. 11984 directives were canceled.
11985 </para> 11985 </para>
11986 </change> 11986 </change>
11987 11987
11988 <change type="feature"> 11988 <change type="feature">
11989 <para lang="ru"> 11989 <para lang="ru">
11990 в режиме прокси поддерживается строка заголовка "X-Accel-Buffering" 11990 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Buffering"
11991 в ответе бэкенда. 11991 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
11992 </para> 11992 </para>
11993 <para lang="en"> 11993 <para lang="en">
11994 the "X-Accel-Buffering" response header line is supported in proxy mode. 11994 the "X-Accel-Buffering" response header line is supported in proxy mode.
11995 </para> 11995 </para>
11996 </change> 11996 </change>
11997 11997
11998 <change type="bugfix"> 11998 <change type="bugfix">
11999 <para lang="ru"> 11999 <para lang="ru">
12000 ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module. 12000 п╬я┬п╦п╠п╬п╨ п╦ я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module.
12001 </para> 12001 </para>
12002 <para lang="en"> 12002 <para lang="en">
12003 the reconfiguration bug and memory leaks in the ngx_http_perl_module. 12003 the reconfiguration bug and memory leaks in the ngx_http_perl_module.
12004 </para> 12004 </para>
12005 </change> 12005 </change>
12009 12009
12010 <changes ver="0.3.45" date="06.05.2006"> 12010 <changes ver="0.3.45" date="06.05.2006">
12011 12011
12012 <change type="feature"> 12012 <change type="feature">
12013 <para lang="ru"> 12013 <para lang="ru">
12014 директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. 12014 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client, ssl_verify_depth п╦ ssl_client_certificate.
12015 </para> 12015 </para>
12016 <para lang="en"> 12016 <para lang="en">
12017 the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" 12017 the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
12018 directives. 12018 directives.
12019 </para> 12019 </para>
12020 </change> 12020 </change>
12021 12021
12022 <change type="change"> 12022 <change type="change">
12023 <para lang="ru"> 12023 <para lang="ru">
12024 теперь переменная $request_method возвращает метод только основного запроса. 12024 я┌п╣п©п╣я─я▄ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_method п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╪п╣я┌п╬п╢ я┌п╬п╩я▄п╨п╬ п╬я│п╫п╬п╡п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
12025 </para> 12025 </para>
12026 <para lang="en"> 12026 <para lang="en">
12027 the $request_method variable now returns the main request method. 12027 the $request_method variable now returns the main request method.
12028 </para> 12028 </para>
12029 </change> 12029 </change>
12030 12030
12031 <change type="change"> 12031 <change type="change">
12032 <para lang="ru"> 12032 <para lang="ru">
12033 в таблице перекодировки koi-win изменены коды символа &amp;deg;. 12033 п╡ я┌п╟п╠п╩п╦я├п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╦п╥п╪п╣п╫п╣п╫я▀ п╨п╬п╢я▀ я│п╦п╪п╡п╬п╩п╟ &amp;deg;.
12034 </para> 12034 </para>
12035 <para lang="en"> 12035 <para lang="en">
12036 the &amp;deg; symbol codes were changed in koi-win conversion table. 12036 the &amp;deg; symbol codes were changed in koi-win conversion table.
12037 </para> 12037 </para>
12038 </change> 12038 </change>
12039 12039
12040 <change type="feature"> 12040 <change type="feature">
12041 <para lang="ru"> 12041 <para lang="ru">
12042 в таблицу перекодировки koi-win добавлены символы евро и номера. 12042 п╡ я┌п╟п╠п╩п╦я├я┐ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╢п╬п╠п╟п╡п╩п╣п╫я▀ я│п╦п╪п╡п╬п╩я▀ п╣п╡я─п╬ п╦ п╫п╬п╪п╣я─п╟.
12043 </para> 12043 </para>
12044 <para lang="en"> 12044 <para lang="en">
12045 the euro and N symbols were added to koi-win conversion table. 12045 the euro and N symbols were added to koi-win conversion table.
12046 </para> 12046 </para>
12047 </change> 12047 </change>
12048 12048
12049 <change type="bugfix"> 12049 <change type="bugfix">
12050 <para lang="ru"> 12050 <para lang="ru">
12051 если nginx распределял запросы на несколько машин, то при падении 12051 п╣я│п╩п╦ nginx я─п╟я│п©я─п╣п╢п╣п╩я▐п╩ п╥п╟п©я─п╬я│я▀ п╫п╟ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╪п╟я┬п╦п╫, я┌п╬ п©я─п╦ п©п╟п╢п╣п╫п╦п╦
12052 одной из них запросы, предназначенные для этой машины, перенаправлялись только 12052 п╬п╢п╫п╬п╧ п╦п╥ п╫п╦я┘ п╥п╟п©я─п╬я│я▀, п©я─п╣п╢п╫п╟п╥п╫п╟я┤п╣п╫п╫я▀п╣ п╢п╩я▐ я█я┌п╬п╧ п╪п╟я┬п╦п╫я▀, п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬
12053 на одну машину вместо того, чтобы равномерно распределяться между остальными. 12053 п╫п╟ п╬п╢п╫я┐ п╪п╟я┬п╦п╫я┐ п╡п╪п╣я│я┌п╬ я┌п╬пЁп╬, я┤я┌п╬п╠я▀ я─п╟п╡п╫п╬п╪п╣я─п╫п╬ я─п╟я│п©я─п╣п╢п╣п╩я▐я┌я▄я│я▐ п╪п╣п╤п╢я┐ п╬я│я┌п╟п╩я▄п╫я▀п╪п╦.
12054 </para> 12054 </para>
12055 <para lang="en"> 12055 <para lang="en">
12056 if nginx distributed the requests among several backends and some backend 12056 if nginx distributed the requests among several backends and some backend
12057 failed, then requests intended for this backend was directed to one live 12057 failed, then requests intended for this backend was directed to one live
12058 backend only instead of being distributed among the rest. 12058 backend only instead of being distributed among the rest.
12064 12064
12065 <changes ver="0.3.44" date="04.05.2006"> 12065 <changes ver="0.3.44" date="04.05.2006">
12066 12066
12067 <change type="feature"> 12067 <change type="feature">
12068 <para lang="ru"> 12068 <para lang="ru">
12069 параметр wait в команде SSI include. 12069 п©п╟я─п╟п╪п╣я┌я─ wait п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
12070 </para> 12070 </para>
12071 <para lang="en"> 12071 <para lang="en">
12072 the "wait" parameter in the "include" SSI command. 12072 the "wait" parameter in the "include" SSI command.
12073 </para> 12073 </para>
12074 </change> 12074 </change>
12075 12075
12076 <change type="feature"> 12076 <change type="feature">
12077 <para lang="ru"> 12077 <para lang="ru">
12078 в таблицу перекодировки koi-win добавлены украинские и белорусские символы. 12078 п╡ я┌п╟п╠п╩п╦я├я┐ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╢п╬п╠п╟п╡п╩п╣п╫я▀ я┐п╨я─п╟п╦п╫я│п╨п╦п╣ п╦ п╠п╣п╩п╬я─я┐я│я│п╨п╦п╣ я│п╦п╪п╡п╬п╩я▀.
12079 </para> 12079 </para>
12080 <para lang="en"> 12080 <para lang="en">
12081 the Ukrainian and Byelorussian characters were added to koi-win conversion 12081 the Ukrainian and Byelorussian characters were added to koi-win conversion
12082 table. 12082 table.
12083 </para> 12083 </para>
12084 </change> 12084 </change>
12085 12085
12086 <change type="bugfix"> 12086 <change type="bugfix">
12087 <para lang="ru"> 12087 <para lang="ru">
12088 в SSI. 12088 п╡ SSI.
12089 </para> 12089 </para>
12090 <para lang="en"> 12090 <para lang="en">
12091 in the SSI. 12091 in the SSI.
12092 </para> 12092 </para>
12093 </change> 12093 </change>
12097 12097
12098 <changes ver="0.3.43" date="26.04.2006"> 12098 <changes ver="0.3.43" date="26.04.2006">
12099 12099
12100 <change type="bugfix"> 12100 <change type="bugfix">
12101 <para lang="ru"> 12101 <para lang="ru">
12102 в SSI. 12102 п╡ SSI.
12103 </para> 12103 </para>
12104 <para lang="en"> 12104 <para lang="en">
12105 in the SSI. 12105 in the SSI.
12106 </para> 12106 </para>
12107 </change> 12107 </change>
12111 12111
12112 <changes ver="0.3.42" date="26.04.2006"> 12112 <changes ver="0.3.42" date="26.04.2006">
12113 12113
12114 <change type="feature"> 12114 <change type="feature">
12115 <para lang="ru"> 12115 <para lang="ru">
12116 параметр bind в директиве listen в IMAP/POP3 прокси. 12116 п©п╟я─п╟п╪п╣я┌я─ bind п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
12117 </para> 12117 </para>
12118 <para lang="en"> 12118 <para lang="en">
12119 the "bind" option of the "listen" directive in IMAP/POP3 proxy. 12119 the "bind" option of the "listen" directive in IMAP/POP3 proxy.
12120 </para> 12120 </para>
12121 </change> 12121 </change>
12122 12122
12123 <change type="bugfix"> 12123 <change type="bugfix">
12124 <para lang="ru"> 12124 <para lang="ru">
12125 ошибки при использовании в директиве rewrite одного и того же 12125 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п╬п╢п╫п╬пЁп╬ п╦ я┌п╬пЁп╬ п╤п╣
12126 выделения более одного раза. 12126 п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╠п╬п╩п╣п╣ п╬п╢п╫п╬пЁп╬ я─п╟п╥п╟.
12127 </para> 12127 </para>
12128 <para lang="en"> 12128 <para lang="en">
12129 if the same capture in the "rewrite" directive was used more then once. 12129 if the same capture in the "rewrite" directive was used more then once.
12130 </para> 12130 </para>
12131 </change> 12131 </change>
12132 12132
12133 <change type="bugfix"> 12133 <change type="bugfix">
12134 <para lang="ru"> 12134 <para lang="ru">
12135 в лог не записывались переменные 12135 п╡ п╩п╬пЁ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩п╦я│я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
12136 $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, 12136 $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
12137 $sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding. 12137 $sent_http_connection, $sent_http_keep_alive п╦ $sent_http_transfer_encoding.
12138 </para> 12138 </para>
12139 <para lang="en"> 12139 <para lang="en">
12140 the $sent_http_content_type, $sent_http_content_length, 12140 the $sent_http_content_type, $sent_http_content_length,
12141 $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, 12141 $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
12142 and $sent_http_transfer_encoding variables were not written to access log. 12142 and $sent_http_transfer_encoding variables were not written to access log.
12143 </para> 12143 </para>
12144 </change> 12144 </change>
12145 12145
12146 <change type="bugfix"> 12146 <change type="bugfix">
12147 <para lang="ru"> 12147 <para lang="ru">
12148 переменная $sent_http_cache_control возвращала содержимое только одной 12148 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $sent_http_cache_control п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ я│п╬п╢п╣я─п╤п╦п╪п╬п╣ я┌п╬п╩я▄п╨п╬ п╬п╢п╫п╬п╧
12149 строки "Cache-Control" в заголовке ответа. 12149 я│я┌я─п╬п╨п╦ "Cache-Control" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟.
12150 </para> 12150 </para>
12151 <para lang="en"> 12151 <para lang="en">
12152 the $sent_http_cache_control returned value of the single "Cache-Control" 12152 the $sent_http_cache_control returned value of the single "Cache-Control"
12153 response header line. 12153 response header line.
12154 </para> 12154 </para>
12159 12159
12160 <changes ver="0.3.41" date="21.04.2006"> 12160 <changes ver="0.3.41" date="21.04.2006">
12161 12161
12162 <change type="feature"> 12162 <change type="feature">
12163 <para lang="ru"> 12163 <para lang="ru">
12164 ключ -v. 12164 п╨п╩я▌я┤ -v.
12165 </para> 12165 </para>
12166 <para lang="en"> 12166 <para lang="en">
12167 the -v switch. 12167 the -v switch.
12168 </para> 12168 </para>
12169 </change> 12169 </change>
12170 12170
12171 <change type="bugfix"> 12171 <change type="bugfix">
12172 <para lang="ru"> 12172 <para lang="ru">
12173 при включении в SSI удалённых подзапросов 12173 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ SSI я┐п╢п╟п╩я▒п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡
12174 мог произойти segmentation fault. 12174 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
12175 </para> 12175 </para>
12176 <para lang="en"> 12176 <para lang="en">
12177 the segmentation fault may occurred if the SSI page has remote subrequests. 12177 the segmentation fault may occurred if the SSI page has remote subrequests.
12178 </para> 12178 </para>
12179 </change> 12179 </change>
12180 12180
12181 <change type="bugfix"> 12181 <change type="bugfix">
12182 <para lang="ru"> 12182 <para lang="ru">
12183 в обработке FastCGI. 12183 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ FastCGI.
12184 </para> 12184 </para>
12185 <para lang="en"> 12185 <para lang="en">
12186 in FastCGI handling. 12186 in FastCGI handling.
12187 </para> 12187 </para>
12188 </change> 12188 </change>
12189 12189
12190 <change type="bugfix"> 12190 <change type="bugfix">
12191 <para lang="ru"> 12191 <para lang="ru">
12192 если путь к перловым модулям не был указан с помощью 12192 п╣я│п╩п╦ п©я┐я┌я▄ п╨ п©п╣я─п╩п╬п╡я▀п╪ п╪п╬п╢я┐п╩я▐п╪ п╫п╣ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ я│ п©п╬п╪п╬я┴я▄я▌
12193 --with-perl_modules_path=PATH или директивы perl_modules, 12193 --with-perl_modules_path=PATH п╦п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ perl_modules,
12194 то на старте происходил segmentation fault. 12194 я┌п╬ п╫п╟ я│я┌п╟я─я┌п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
12195 </para> 12195 </para>
12196 <para lang="en"> 12196 <para lang="en">
12197 if the perl modules path was not set using 12197 if the perl modules path was not set using
12198 --with-perl_modules_path=PATH or the "perl_modules", then 12198 --with-perl_modules_path=PATH or the "perl_modules", then
12199 the segmentation fault was occurred. 12199 the segmentation fault was occurred.
12205 12205
12206 <changes ver="0.3.40" date="19.04.2006"> 12206 <changes ver="0.3.40" date="19.04.2006">
12207 12207
12208 <change type="feature"> 12208 <change type="feature">
12209 <para lang="ru"> 12209 <para lang="ru">
12210 модуль ngx_http_dav_module поддерживает метод MKCOL. 12210 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ MKCOL.
12211 </para> 12211 </para>
12212 <para lang="en"> 12212 <para lang="en">
12213 the ngx_http_dav_module supports the MKCOL method. 12213 the ngx_http_dav_module supports the MKCOL method.
12214 </para> 12214 </para>
12215 </change> 12215 </change>
12216 12216
12217 <change type="feature"> 12217 <change type="feature">
12218 <para lang="ru"> 12218 <para lang="ru">
12219 директива create_full_put_path. 12219 п╢п╦я─п╣п╨я┌п╦п╡п╟ create_full_put_path.
12220 </para> 12220 </para>
12221 <para lang="en"> 12221 <para lang="en">
12222 the "create_full_put_path" directive. 12222 the "create_full_put_path" directive.
12223 </para> 12223 </para>
12224 </change> 12224 </change>
12225 12225
12226 <change type="feature"> 12226 <change type="feature">
12227 <para lang="ru"> 12227 <para lang="ru">
12228 переменная $limit_rate. 12228 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $limit_rate.
12229 </para> 12229 </para>
12230 <para lang="en"> 12230 <para lang="en">
12231 the "$limit_rate" variable. 12231 the "$limit_rate" variable.
12232 </para> 12232 </para>
12233 </change> 12233 </change>
12237 12237
12238 <changes ver="0.3.39" date="17.04.2006"> 12238 <changes ver="0.3.39" date="17.04.2006">
12239 12239
12240 <change type="feature"> 12240 <change type="feature">
12241 <para lang="ru"> 12241 <para lang="ru">
12242 директива uninitialized_variable_warn; уровень логгирования сообщения 12242 п╢п╦я─п╣п╨я┌п╦п╡п╟ uninitialized_variable_warn; я┐я─п╬п╡п╣п╫я▄ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ я│п╬п╬п╠я┴п╣п╫п╦я▐
12243 о неинициализированной переменной понижен с уровня alert на warn. 12243 п╬ п╫п╣п╦п╫п╦я├п╦п╟п╩п╦п╥п╦я─п╬п╡п╟п╫п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п©п╬п╫п╦п╤п╣п╫ я│ я┐я─п╬п╡п╫я▐ alert п╫п╟ warn.
12244 </para> 12244 </para>
12245 <para lang="en"> 12245 <para lang="en">
12246 the "uninitialized_variable_warn" directive; the logging level of the 12246 the "uninitialized_variable_warn" directive; the logging level of the
12247 "uninitialized variable" message was lowered from "alert" to "warn". 12247 "uninitialized variable" message was lowered from "alert" to "warn".
12248 </para> 12248 </para>
12249 </change> 12249 </change>
12250 12250
12251 <change type="feature"> 12251 <change type="feature">
12252 <para lang="ru"> 12252 <para lang="ru">
12253 директива override_charset. 12253 п╢п╦я─п╣п╨я┌п╦п╡п╟ override_charset.
12254 </para> 12254 </para>
12255 <para lang="en"> 12255 <para lang="en">
12256 the "override_charset" directive. 12256 the "override_charset" directive.
12257 </para> 12257 </para>
12258 </change> 12258 </change>
12259 12259
12260 <change type="change"> 12260 <change type="change">
12261 <para lang="ru"> 12261 <para lang="ru">
12262 при использовании неизвестной переменной в SSI-командах echo и if expr='$name' 12262 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣п╦п╥п╡п╣я│я┌п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ SSI-п╨п╬п╪п╟п╫п╢п╟я┘ echo п╦ if expr='$name'
12263 теперь не записывается в лог сообщение о неизвестной переменной. 12263 я┌п╣п©п╣я─я▄ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п╡ п╩п╬пЁ я│п╬п╬п╠я┴п╣п╫п╦п╣ п╬ п╫п╣п╦п╥п╡п╣я│я┌п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧.
12264 </para> 12264 </para>
12265 <para lang="en"> 12265 <para lang="en">
12266 now if the unknown variable is used in the "echo" and "if expr='$name'" 12266 now if the unknown variable is used in the "echo" and "if expr='$name'"
12267 SSI-commands, then the "unknown variable" message is not logged. 12267 SSI-commands, then the "unknown variable" message is not logged.
12268 </para> 12268 </para>
12269 </change> 12269 </change>
12270 12270
12271 <change type="bugfix"> 12271 <change type="bugfix">
12272 <para lang="ru"> 12272 <para lang="ru">
12273 счётчик активных соединений рос при превышении лимита соединений, 12273 я│я┤я▒я┌я┤п╦п╨ п╟п╨я┌п╦п╡п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧ я─п╬я│ п©я─п╦ п©я─п╣п╡я▀я┬п╣п╫п╦п╦ п╩п╦п╪п╦я┌п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧,
12274 заданного директивой worker_connections; 12274 п╥п╟п╢п╟п╫п╫п╬пЁп╬ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ worker_connections;
12275 ошибка появилась в 0.2.0. 12275 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
12276 </para> 12276 </para>
12277 <para lang="en"> 12277 <para lang="en">
12278 the active connection counter increased on the exceeding of the connection 12278 the active connection counter increased on the exceeding of the connection
12279 limit specified by the "worker_connections" directive; 12279 limit specified by the "worker_connections" directive;
12280 the bug had appeared in 0.2.0. 12280 the bug had appeared in 0.2.0.
12281 </para> 12281 </para>
12282 </change> 12282 </change>
12283 12283
12284 <change type="bugfix"> 12284 <change type="bugfix">
12285 <para lang="ru"> 12285 <para lang="ru">
12286 при некоторых условия ограничение скорости соединения могло не работать; 12286 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ я│п╨п╬я─п╬я│я┌п╦ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╬ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄;
12287 ошибка появилась в 0.3.38. 12287 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
12288 </para> 12288 </para>
12289 <para lang="en"> 12289 <para lang="en">
12290 the limit rate might not work on some condition; 12290 the limit rate might not work on some condition;
12291 the bug had appeared in 0.3.38. 12291 the bug had appeared in 0.3.38.
12292 </para> 12292 </para>
12297 12297
12298 <changes ver="0.3.38" date="14.04.2006"> 12298 <changes ver="0.3.38" date="14.04.2006">
12299 12299
12300 <change type="feature"> 12300 <change type="feature">
12301 <para lang="ru"> 12301 <para lang="ru">
12302 модуль ngx_http_dav_module. 12302 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module.
12303 </para> 12303 </para>
12304 <para lang="en"> 12304 <para lang="en">
12305 the ngx_http_dav_module. 12305 the ngx_http_dav_module.
12306 </para> 12306 </para>
12307 </change> 12307 </change>
12308 12308
12309 <change type="change"> 12309 <change type="change">
12310 <para lang="ru"> 12310 <para lang="ru">
12311 оптимизация модуля ngx_http_perl_module.<br/> 12311 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module.<br/>
12312 Спасибо Сергею Скворцову. 12312 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╨п╡п╬я─я├п╬п╡я┐.
12313 </para> 12313 </para>
12314 <para lang="en"> 12314 <para lang="en">
12315 the ngx_http_perl_module optimizations.<br/> 12315 the ngx_http_perl_module optimizations.<br/>
12316 Thanks to Sergey Skvortsov. 12316 Thanks to Sergey Skvortsov.
12317 </para> 12317 </para>
12318 </change> 12318 </change>
12319 12319
12320 <change type="feature"> 12320 <change type="feature">
12321 <para lang="ru"> 12321 <para lang="ru">
12322 модуль ngx_http_perl_module поддерживает метод $r->request_body_file. 12322 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->request_body_file.
12323 </para> 12323 </para>
12324 <para lang="en"> 12324 <para lang="en">
12325 the ngx_http_perl_module supports the $r->request_body_file method. 12325 the ngx_http_perl_module supports the $r->request_body_file method.
12326 </para> 12326 </para>
12327 </change> 12327 </change>
12328 12328
12329 <change type="feature"> 12329 <change type="feature">
12330 <para lang="ru"> 12330 <para lang="ru">
12331 директива client_body_in_file_only. 12331 п╢п╦я─п╣п╨я┌п╦п╡п╟ client_body_in_file_only.
12332 </para> 12332 </para>
12333 <para lang="en"> 12333 <para lang="en">
12334 the "client_body_in_file_only" directive. 12334 the "client_body_in_file_only" directive.
12335 </para> 12335 </para>
12336 </change> 12336 </change>
12337 12337
12338 <change type="workaround"> 12338 <change type="workaround">
12339 <para lang="ru"> 12339 <para lang="ru">
12340 теперь при переполнении диска nginx пытается писать access_log'и только 12340 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦п╦ п╢п╦я│п╨п╟ nginx п©я▀я┌п╟п╣я┌я│я▐ п©п╦я│п╟я┌я▄ access_log'п╦ я┌п╬п╩я▄п╨п╬
12341 раз в секунду.<br/> 12341 я─п╟п╥ п╡ я│п╣п╨я┐п╫п╢я┐.<br/>
12342 Спасибо Антону Южанинову и Максиму Дунину. 12342 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п╝п╤п╟п╫п╦п╫п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
12343 </para> 12343 </para>
12344 <para lang="en"> 12344 <para lang="en">
12345 now on disk overflow nginx tries to write access logs once a second only.<br/> 12345 now on disk overflow nginx tries to write access logs once a second only.<br/>
12346 Thanks to Anton Yuzhaninov and Maxim Dounin. 12346 Thanks to Anton Yuzhaninov and Maxim Dounin.
12347 </para> 12347 </para>
12348 </change> 12348 </change>
12349 12349
12350 <change type="bugfix"> 12350 <change type="bugfix">
12351 <para lang="ru"> 12351 <para lang="ru">
12352 теперь директива limit_rate точнее ограничивает скорость при значениях 12352 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate я┌п╬я┤п╫п╣п╣ п╬пЁя─п╟п╫п╦я┤п╦п╡п╟п╣я┌ я│п╨п╬я─п╬я│я┌я▄ п©я─п╦ п╥п╫п╟я┤п╣п╫п╦я▐я┘
12353 больше <nobr>100 Kbyte/s.</nobr><br/> 12353 п╠п╬п╩я▄я┬п╣ <nobr>100 Kbyte/s.</nobr><br/>
12354 Спасибо ForJest. 12354 п║п©п╟я│п╦п╠п╬ ForJest.
12355 </para> 12355 </para>
12356 <para lang="en"> 12356 <para lang="en">
12357 now the "limit_rate" directive more precisely limits rate if rate is more 12357 now the "limit_rate" directive more precisely limits rate if rate is more
12358 than <nobr>100 Kbyte/s.</nobr><br/> 12358 than <nobr>100 Kbyte/s.</nobr><br/>
12359 Thanks to ForJest. 12359 Thanks to ForJest.
12360 </para> 12360 </para>
12361 </change> 12361 </change>
12362 12362
12363 <change type="bugfix"> 12363 <change type="bugfix">
12364 <para lang="ru"> 12364 <para lang="ru">
12365 IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n" 12365 IMAP/POP3 п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌ я│п╣я─п╡п╣я─я┐ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦ я│п╦п╪п╡п╬п╩я▀ "\r" п╦ "\n"
12366 в логине и пароле в закодированном виде.<br/> 12366 п╡ п╩п╬пЁп╦п╫п╣ п╦ п©п╟я─п╬п╩п╣ п╡ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫п╬п╪ п╡п╦п╢п╣.<br/>
12367 Спасибо Максиму Дунину. 12367 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
12368 </para> 12368 </para>
12369 <para lang="en"> 12369 <para lang="en">
12370 now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and 12370 now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
12371 password to pass authorization server.<br/> 12371 password to pass authorization server.<br/>
12372 Thanks to Maxim Dounin. 12372 Thanks to Maxim Dounin.
12378 12378
12379 <changes ver="0.3.37" date="07.04.2006"> 12379 <changes ver="0.3.37" date="07.04.2006">
12380 12380
12381 <change type="feature"> 12381 <change type="feature">
12382 <para lang="ru"> 12382 <para lang="ru">
12383 директива limit_except. 12383 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_except.
12384 </para> 12384 </para>
12385 <para lang="en"> 12385 <para lang="en">
12386 the "limit_except" directive. 12386 the "limit_except" directive.
12387 </para> 12387 </para>
12388 </change> 12388 </change>
12389 12389
12390 <change type="feature"> 12390 <change type="feature">
12391 <para lang="ru"> 12391 <para lang="ru">
12392 директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". 12392 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я┌п╬я─я▀ "!~", "!~*", "-f" п╦ "!-f".
12393 </para> 12393 </para>
12394 <para lang="en"> 12394 <para lang="en">
12395 the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators. 12395 the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
12396 </para> 12396 </para>
12397 </change> 12397 </change>
12398 12398
12399 <change type="feature"> 12399 <change type="feature">
12400 <para lang="ru"> 12400 <para lang="ru">
12401 модуль ngx_http_perl_module поддерживает метод $r->request_body. 12401 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->request_body.
12402 </para> 12402 </para>
12403 <para lang="en"> 12403 <para lang="en">
12404 the ngx_http_perl_module supports the $r->request_body method. 12404 the ngx_http_perl_module supports the $r->request_body method.
12405 </para> 12405 </para>
12406 </change> 12406 </change>
12407 12407
12408 <change type="bugfix"> 12408 <change type="bugfix">
12409 <para lang="ru"> 12409 <para lang="ru">
12410 в модуле ngx_http_addition_filter_module. 12410 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_addition_filter_module.
12411 </para> 12411 </para>
12412 <para lang="en"> 12412 <para lang="en">
12413 in the ngx_http_addition_filter_module. 12413 in the ngx_http_addition_filter_module.
12414 </para> 12414 </para>
12415 </change> 12415 </change>
12419 12419
12420 <changes ver="0.3.36" date="05.04.2006"> 12420 <changes ver="0.3.36" date="05.04.2006">
12421 12421
12422 <change type="feature"> 12422 <change type="feature">
12423 <para lang="ru"> 12423 <para lang="ru">
12424 модуль ngx_http_addition_filter_module. 12424 п╪п╬п╢я┐п╩я▄ ngx_http_addition_filter_module.
12425 </para> 12425 </para>
12426 <para lang="en"> 12426 <para lang="en">
12427 the ngx_http_addition_filter_module. 12427 the ngx_http_addition_filter_module.
12428 </para> 12428 </para>
12429 </change> 12429 </change>
12430 12430
12431 <change type="feature"> 12431 <change type="feature">
12432 <para lang="ru"> 12432 <para lang="ru">
12433 директивы proxy_pass и fastcgi_pass можно использовать внутри блока if. 12433 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass п╦ fastcgi_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
12434 </para> 12434 </para>
12435 <para lang="en"> 12435 <para lang="en">
12436 the "proxy_pass" and "fastcgi_pass" directives may be used inside 12436 the "proxy_pass" and "fastcgi_pass" directives may be used inside
12437 the "if" block. 12437 the "if" block.
12438 </para> 12438 </para>
12439 </change> 12439 </change>
12440 12440
12441 <change type="feature"> 12441 <change type="feature">
12442 <para lang="ru"> 12442 <para lang="ru">
12443 директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. 12443 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_client_abort п╦ fastcgi_ignore_client_abort.
12444 </para> 12444 </para>
12445 <para lang="en"> 12445 <para lang="en">
12446 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. 12446 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
12447 </para> 12447 </para>
12448 </change> 12448 </change>
12449 12449
12450 <change type="feature"> 12450 <change type="feature">
12451 <para lang="ru"> 12451 <para lang="ru">
12452 переменная $request_completion. 12452 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_completion.
12453 </para> 12453 </para>
12454 <para lang="en"> 12454 <para lang="en">
12455 the "$request_completion" variable. 12455 the "$request_completion" variable.
12456 </para> 12456 </para>
12457 </change> 12457 </change>
12458 12458
12459 <change type="feature"> 12459 <change type="feature">
12460 <para lang="ru"> 12460 <para lang="ru">
12461 модуль ngx_http_perl_module поддерживает методы $r->request_method и 12461 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->request_method п╦
12462 $r->remote_addr. 12462 $r->remote_addr.
12463 </para> 12463 </para>
12464 <para lang="en"> 12464 <para lang="en">
12465 the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. 12465 the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
12466 </para> 12466 </para>
12467 </change> 12467 </change>
12468 12468
12469 <change type="feature"> 12469 <change type="feature">
12470 <para lang="ru"> 12470 <para lang="ru">
12471 модуль ngx_http_ssi_module поддерживает команду elif. 12471 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ elif.
12472 </para> 12472 </para>
12473 <para lang="en"> 12473 <para lang="en">
12474 the ngx_http_ssi_module supports the "elif" command. 12474 the ngx_http_ssi_module supports the "elif" command.
12475 </para> 12475 </para>
12476 </change> 12476 </change>
12477 12477
12478 <change type="bugfix"> 12478 <change type="bugfix">
12479 <para lang="ru"> 12479 <para lang="ru">
12480 строка "\/" в начале выражения команды if модуля ngx_http_ssi_module 12480 я│я┌я─п╬п╨п╟ "\/" п╡ п╫п╟я┤п╟п╩п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╨п╬п╪п╟п╫п╢я▀ if п╪п╬п╢я┐п╩я▐ ngx_http_ssi_module
12481 воспринималась неверно. 12481 п╡п╬я│п©я─п╦п╫п╦п╪п╟п╩п╟я│я▄ п╫п╣п╡п╣я─п╫п╬.
12482 </para> 12482 </para>
12483 <para lang="en"> 12483 <para lang="en">
12484 the "\/" string in the expression of the "if" command of the 12484 the "\/" string in the expression of the "if" command of the
12485 ngx_http_ssi_module was treated incorrectly. 12485 ngx_http_ssi_module was treated incorrectly.
12486 </para> 12486 </para>
12487 </change> 12487 </change>
12488 12488
12489 <change type="bugfix"> 12489 <change type="bugfix">
12490 <para lang="ru"> 12490 <para lang="ru">
12491 в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module. 12491 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╨п╬п╪п╟п╫п╢п╣ if п╪п╬п╢я┐п╩я▐ ngx_http_ssi_module.
12492 </para> 12492 </para>
12493 <para lang="en"> 12493 <para lang="en">
12494 in the regular expressions in the "if" command of the ngx_http_ssi_module. 12494 in the regular expressions in the "if" command of the ngx_http_ssi_module.
12495 </para> 12495 </para>
12496 </change> 12496 </change>
12497 12497
12498 <change type="bugfix"> 12498 <change type="bugfix">
12499 <para lang="ru"> 12499 <para lang="ru">
12500 при задании относительного пути в директивах 12500 п©я─п╦ п╥п╟п╢п╟п╫п╦п╦ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬пЁп╬ п©я┐я┌п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘
12501 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules 12501 client_body_temp_path, proxy_temp_path, fastcgi_temp_path п╦ perl_modules
12502 использовался каталог относительно текущего каталога, а не относительно 12502 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╨п╟я┌п╟п╩п╬пЁ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ я┌п╣п╨я┐я┴п╣пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟, п╟ п╫п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬
12503 префикса сервера. 12503 п©я─п╣я└п╦п╨я│п╟ я│п╣я─п╡п╣я─п╟.
12504 </para> 12504 </para>
12505 <para lang="en"> 12505 <para lang="en">
12506 if the relative path was specified in the "client_body_temp_path", 12506 if the relative path was specified in the "client_body_temp_path",
12507 "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, 12507 "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
12508 then the directory was used relatively to a current path but not 12508 then the directory was used relatively to a current path but not
12515 12515
12516 <changes ver="0.3.35" date="22.03.2006"> 12516 <changes ver="0.3.35" date="22.03.2006">
12517 12517
12518 <change type="bugfix"> 12518 <change type="bugfix">
12519 <para lang="ru"> 12519 <para lang="ru">
12520 accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой 12520 accept-я└п╦п╩я▄я┌я─ п╦ TCP_DEFER_ACCEPT я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п©п╣я─п╡п╬п╧
12521 директивы listen; 12521 п╢п╦я─п╣п╨я┌п╦п╡я▀ listen;
12522 ошибка появилась в 0.3.31. 12522 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.31.
12523 </para> 12523 </para>
12524 <para lang="en"> 12524 <para lang="en">
12525 the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" 12525 the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
12526 directive only; 12526 directive only;
12527 the bug had appeared in 0.3.31. 12527 the bug had appeared in 0.3.31.
12528 </para> 12528 </para>
12529 </change> 12529 </change>
12530 12530
12531 <change type="bugfix"> 12531 <change type="bugfix">
12532 <para lang="ru"> 12532 <para lang="ru">
12533 в директиве proxy_pass без URI при использовании в подзапросе. 12533 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╠п╣п╥ URI п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╣.
12534 </para> 12534 </para>
12535 <para lang="en"> 12535 <para lang="en">
12536 in the "proxy_pass" directive without the URI part in a subrequest. 12536 in the "proxy_pass" directive without the URI part in a subrequest.
12537 </para> 12537 </para>
12538 </change> 12538 </change>
12542 12542
12543 <changes ver="0.3.34" date="21.03.2006"> 12543 <changes ver="0.3.34" date="21.03.2006">
12544 12544
12545 <change type="feature"> 12545 <change type="feature">
12546 <para lang="ru"> 12546 <para lang="ru">
12547 директива add_header поддерживает переменные. 12547 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
12548 </para> 12548 </para>
12549 <para lang="en"> 12549 <para lang="en">
12550 the "add_header" directive supports the variables. 12550 the "add_header" directive supports the variables.
12551 </para> 12551 </para>
12552 </change> 12552 </change>
12556 12556
12557 <changes ver="0.3.33" date="15.03.2006"> 12557 <changes ver="0.3.33" date="15.03.2006">
12558 12558
12559 <change type="feature"> 12559 <change type="feature">
12560 <para lang="ru"> 12560 <para lang="ru">
12561 параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. 12561 п©п╟я─п╟п╪п╣я┌я─ http_503 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream.
12562 </para> 12562 </para>
12563 <para lang="en"> 12563 <para lang="en">
12564 the "http_503" parameter of the "proxy_next_upstream" or 12564 the "http_503" parameter of the "proxy_next_upstream" or
12565 "fastcgi_next_upstream" directives. 12565 "fastcgi_next_upstream" directives.
12566 </para> 12566 </para>
12567 </change> 12567 </change>
12568 12568
12569 <change type="bugfix"> 12569 <change type="bugfix">
12570 <para lang="ru"> 12570 <para lang="ru">
12571 ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом, 12571 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│п╬ п╡я│я┌я─п╬п╣п╫п╫я▀п╪ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫я▀п╧ я└п╟п╧п╩ п╨п╬п╢п╬п╪,
12572 если он не начинался сразу же с "sub". 12572 п╣я│п╩п╦ п╬п╫ п╫п╣ п╫п╟я┤п╦п╫п╟п╩я│я▐ я│я─п╟п╥я┐ п╤п╣ я│ "sub".
12573 </para> 12573 </para>
12574 <para lang="en"> 12574 <para lang="en">
12575 ngx_http_perl_module did not work with inlined in the configuration code, 12575 ngx_http_perl_module did not work with inlined in the configuration code,
12576 if it was not started with the "sub" word. 12576 if it was not started with the "sub" word.
12577 </para> 12577 </para>
12578 </change> 12578 </change>
12579 12579
12580 <change type="bugfix"> 12580 <change type="bugfix">
12581 <para lang="ru"> 12581 <para lang="ru">
12582 в директиве post_action. 12582 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ post_action.
12583 </para> 12583 </para>
12584 <para lang="en"> 12584 <para lang="en">
12585 in the "post_action" directive. 12585 in the "post_action" directive.
12586 </para> 12586 </para>
12587 </change> 12587 </change>
12591 12591
12592 <changes ver="0.3.32" date="11.03.2006"> 12592 <changes ver="0.3.32" date="11.03.2006">
12593 12593
12594 <change type="bugfix"> 12594 <change type="bugfix">
12595 <para lang="ru"> 12595 <para lang="ru">
12596 удаление отладочного логгирования на старте и при переконфигурации; 12596 я┐п╢п╟п╩п╣п╫п╦п╣ п╬я┌п╩п╟п╢п╬я┤п╫п╬пЁп╬ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ п╫п╟ я│я┌п╟я─я┌п╣ п╦ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
12597 ошибка появилась в 0.3.31. 12597 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.31.
12598 </para> 12598 </para>
12599 <para lang="en"> 12599 <para lang="en">
12600 the debug logging on startup and reconfiguration time was removed; 12600 the debug logging on startup and reconfiguration time was removed;
12601 the bug had appeared in 0.3.31. 12601 the bug had appeared in 0.3.31.
12602 </para> 12602 </para>
12607 12607
12608 <changes ver="0.3.31" date="10.03.2006"> 12608 <changes ver="0.3.31" date="10.03.2006">
12609 12609
12610 <change type="change"> 12610 <change type="change">
12611 <para lang="ru"> 12611 <para lang="ru">
12612 теперь nginx передаёт неверные ответы проксированного бэкенда. 12612 я┌п╣п©п╣я─я▄ nginx п©п╣я─п╣п╢п╟я▒я┌ п╫п╣п╡п╣я─п╫я▀п╣ п╬я┌п╡п╣я┌я▀ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╠я█п╨п╣п╫п╢п╟.
12613 </para> 12613 </para>
12614 <para lang="en"> 12614 <para lang="en">
12615 now nginx passes the malformed proxied backend responses. 12615 now nginx passes the malformed proxied backend responses.
12616 </para> 12616 </para>
12617 </change> 12617 </change>
12618 12618
12619 <change type="feature"> 12619 <change type="feature">
12620 <para lang="ru"> 12620 <para lang="ru">
12621 директивы listen поддерживают адрес в виде "*:порт". 12621 п╢п╦я─п╣п╨я┌п╦п╡я▀ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п╟п╢я─п╣я│ п╡ п╡п╦п╢п╣ "*:п©п╬я─я┌".
12622 </para> 12622 </para>
12623 <para lang="en"> 12623 <para lang="en">
12624 the "listen" directives support the address in the "*:port" form. 12624 the "listen" directives support the address in the "*:port" form.
12625 </para> 12625 </para>
12626 </change> 12626 </change>
12627 12627
12628 <change type="feature"> 12628 <change type="feature">
12629 <para lang="ru"> 12629 <para lang="ru">
12630 поддержка EVFILER_TIMER в MacOSX 10.4. 12630 п©п╬п╢п╢п╣я─п╤п╨п╟ EVFILER_TIMER п╡ MacOSX 10.4.
12631 </para> 12631 </para>
12632 <para lang="en"> 12632 <para lang="en">
12633 the EVFILER_TIMER support in MacOSX 10.4. 12633 the EVFILER_TIMER support in MacOSX 10.4.
12634 </para> 12634 </para>
12635 </change> 12635 </change>
12636 12636
12637 <change type="workaround"> 12637 <change type="workaround">
12638 <para lang="ru"> 12638 <para lang="ru">
12639 обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре 12639 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╫я▀я┘ я┌п╟п╧п╪п╟я┐я┌п╬п╡ kqueue п╡ 64-п╠п╦я┌п╫п╬п╪ я▐п╢я─п╣
12640 MacOSX.<br/> 12640 MacOSX.<br/>
12641 Спасибо Андрею Нигматулину. 12641 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
12642 </para> 12642 </para>
12643 <para lang="en"> 12643 <para lang="en">
12644 for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/> 12644 for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
12645 Thanks to Andrei Nigmatulin. 12645 Thanks to Andrei Nigmatulin.
12646 </para> 12646 </para>
12647 </change> 12647 </change>
12648 12648
12649 <change type="bugfix"> 12649 <change type="bugfix">
12650 <para lang="ru"> 12650 <para lang="ru">
12651 если внутри одного сервера описаны несколько директив listen, слушающих на 12651 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╬п©п╦я│п╟п╫я▀ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦я─п╣п╨я┌п╦п╡ listen, я│п╩я┐я┬п╟я▌я┴п╦я┘ п╫п╟
12652 разных адресах, то имена серверов вида "*.domain.tld" работали только 12652 я─п╟п╥п╫я▀я┘ п╟п╢я─п╣я│п╟я┘, я┌п╬ п╦п╪п╣п╫п╟ я│п╣я─п╡п╣я─п╬п╡ п╡п╦п╢п╟ "*.domain.tld" я─п╟п╠п╬я┌п╟п╩п╦ я┌п╬п╩я▄п╨п╬
12653 для первого адреса; 12653 п╢п╩я▐ п©п╣я─п╡п╬пЁп╬ п╟п╢я─п╣я│п╟;
12654 ошибка появилась в 0.3.18. 12654 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
12655 </para> 12655 </para>
12656 <para lang="en"> 12656 <para lang="en">
12657 if there were several "listen" directives listening one various addresses 12657 if there were several "listen" directives listening one various addresses
12658 inside one server, then server names like "*.domain.tld" worked for first 12658 inside one server, then server names like "*.domain.tld" worked for first
12659 address only; 12659 address only;
12661 </para> 12661 </para>
12662 </change> 12662 </change>
12663 12663
12664 <change type="bugfix"> 12664 <change type="bugfix">
12665 <para lang="ru"> 12665 <para lang="ru">
12666 при использовании протокола HTTPS в директиве proxy_pass не передавались 12666 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
12667 запросы с телом, записанным во временный файл. 12667 п╥п╟п©я─п╬я│я▀ я│ я┌п╣п╩п╬п╪, п╥п╟п©п╦я│п╟п╫п╫я▀п╪ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩.
12668 </para> 12668 </para>
12669 <para lang="en"> 12669 <para lang="en">
12670 if the HTTPS protocol was used in the "proxy_pass" directive and 12670 if the HTTPS protocol was used in the "proxy_pass" directive and
12671 the request body was in temporary file then the request was not transferred. 12671 the request body was in temporary file then the request was not transferred.
12672 </para> 12672 </para>
12673 </change> 12673 </change>
12674 12674
12675 <change type="bugfix"> 12675 <change type="bugfix">
12676 <para lang="ru"> 12676 <para lang="ru">
12677 совместимость с perl 5.8.8. 12677 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ perl 5.8.8.
12678 </para> 12678 </para>
12679 <para lang="en"> 12679 <para lang="en">
12680 perl 5.8.8 compatibility. 12680 perl 5.8.8 compatibility.
12681 </para> 12681 </para>
12682 </change> 12682 </change>
12686 12686
12687 <changes ver="0.3.30" date="22.02.2006"> 12687 <changes ver="0.3.30" date="22.02.2006">
12688 12688
12689 <change type="change"> 12689 <change type="change">
12690 <para lang="ru"> 12690 <para lang="ru">
12691 уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. 12691 я┐я─п╬п╡п╣п╫я▄ п╥п╟п©п╦я│п╦ п╡ п╩п╬пЁ п╬я┬п╦п╠п╨п╦ ECONNABORTED п╦п╥п╪п╣п╫я▒п╫ п╫п╟ error я│ я┐я─п╬п╡п╫я▐ crit.
12692 </para> 12692 </para>
12693 <para lang="en"> 12693 <para lang="en">
12694 the ECONNABORTED error log level was changed to "error" from "crit". 12694 the ECONNABORTED error log level was changed to "error" from "crit".
12695 </para> 12695 </para>
12696 </change> 12696 </change>
12697 12697
12698 <change type="bugfix"> 12698 <change type="bugfix">
12699 <para lang="ru"> 12699 <para lang="ru">
12700 модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. 12700 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╪п╬п╢я┐п╩я▐ ngx_http_ssi_filter_module.
12701 </para> 12701 </para>
12702 <para lang="en"> 12702 <para lang="en">
12703 the ngx_http_perl_module could not be build without 12703 the ngx_http_perl_module could not be build without
12704 the ngx_http_ssi_filter_module. 12704 the ngx_http_ssi_filter_module.
12705 </para> 12705 </para>
12706 </change> 12706 </change>
12707 12707
12708 <change type="bugfix"> 12708 <change type="bugfix">
12709 <para lang="ru"> 12709 <para lang="ru">
12710 nginx не собирался на i386 платформе, если использовался PIC; 12710 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ i386 п©п╩п╟я┌я└п╬я─п╪п╣, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ PIC;
12711 ошибка появилась в 0.3.27. 12711 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.27.
12712 </para> 12712 </para>
12713 <para lang="en"> 12713 <para lang="en">
12714 nginx could not be built on i386 platform, if the PIC was used; 12714 nginx could not be built on i386 platform, if the PIC was used;
12715 the bug had appeared in 0.3.27. 12715 the bug had appeared in 0.3.27.
12716 </para> 12716 </para>
12721 12721
12722 <changes ver="0.3.29" date="20.02.2006"> 12722 <changes ver="0.3.29" date="20.02.2006">
12723 12723
12724 <change type="feature"> 12724 <change type="feature">
12725 <para lang="ru"> 12725 <para lang="ru">
12726 теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт 12726 я┌п╣п©п╣я─я▄ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╪п╣п╫я▄я┬п╣ п©п╟п╪я▐я┌п╦, п╣я│п╩п╦ PHP п╡ я─п╣п╤п╦п╪п╣ FastCGI п©п╣я─п╣п╢п╟я▒я┌
12727 большое количество предупреждений перед ответом. 12727 п╠п╬п╩я▄я┬п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╧ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪.
12728 </para> 12728 </para>
12729 <para lang="en"> 12729 <para lang="en">
12730 now nginx uses less memory, if PHP in FastCGI mode sends many warnings 12730 now nginx uses less memory, if PHP in FastCGI mode sends many warnings
12731 before the response. 12731 before the response.
12732 </para> 12732 </para>
12733 </change> 12733 </change>
12734 12734
12735 <change type="bugfix"> 12735 <change type="bugfix">
12736 <para lang="ru"> 12736 <para lang="ru">
12737 в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка 12737 п╡ п╬я┌п╡п╣я┌п╟я┘ 204 п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ п╡п╣я─я│п╦п╦ HTTP/1.1 п╡я▀п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟
12738 "Transfer-Encoding: chunked". 12738 "Transfer-Encoding: chunked".
12739 </para> 12739 </para>
12740 <para lang="en"> 12740 <para lang="en">
12741 the "Transfer-Encoding: chunked" header line was issued in the 204 responses 12741 the "Transfer-Encoding: chunked" header line was issued in the 204 responses
12742 for the HTTP/1.1 requests. 12742 for the HTTP/1.1 requests.
12743 </para> 12743 </para>
12744 </change> 12744 </change>
12745 12745
12746 <change type="bugfix"> 12746 <change type="bugfix">
12747 <para lang="ru"> 12747 <para lang="ru">
12748 nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки 12748 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ 502 п╨п╬п╢ п╬я┌п╡п╣я┌п╟, п╣я│п╩п╦ FastCGI я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п©п╬п╩п╫я▀п╣ я│я┌я─п╬п╨п╦
12749 заголовка ответа в отдельных FastCGI записях. 12749 п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╡ п╬я┌п╢п╣п╩я▄п╫я▀я┘ FastCGI п╥п╟п©п╦я│я▐я┘.
12750 </para> 12750 </para>
12751 <para lang="en"> 12751 <para lang="en">
12752 nginx returned the 502 response, if the complete response header lines 12752 nginx returned the 502 response, if the complete response header lines
12753 were transferred in a separate FastCGI records. 12753 were transferred in a separate FastCGI records.
12754 </para> 12754 </para>
12755 </change> 12755 </change>
12756 12756
12757 <change type="bugfix"> 12757 <change type="bugfix">
12758 <para lang="ru"> 12758 <para lang="ru">
12759 если в директиве post_action был указан проксируемый URI, то он выполнялся 12759 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ post_action п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧ URI, я┌п╬ п╬п╫ п╡я▀п©п╬п╩п╫я▐п╩я│я▐
12760 только после успешного завершения запроса. 12760 я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣ я┐я│п©п╣я┬п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
12761 </para> 12761 </para>
12762 <para lang="en"> 12762 <para lang="en">
12763 if the proxied URI was specified in the "post_action" directive, then it ran 12763 if the proxied URI was specified in the "post_action" directive, then it ran
12764 only after a successful completion of a request. 12764 only after a successful completion of a request.
12765 </para> 12765 </para>
12770 12770
12771 <changes ver="0.3.28" date="16.02.2006"> 12771 <changes ver="0.3.28" date="16.02.2006">
12772 12772
12773 <change type="feature"> 12773 <change type="feature">
12774 <para lang="ru"> 12774 <para lang="ru">
12775 директива restrict_host_names упразднена. 12775 п╢п╦я─п╣п╨я┌п╦п╡п╟ restrict_host_names я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
12776 </para> 12776 </para>
12777 <para lang="en"> 12777 <para lang="en">
12778 the "restrict_host_names" directive was canceled. 12778 the "restrict_host_names" directive was canceled.
12779 </para> 12779 </para>
12780 </change> 12780 </change>
12781 12781
12782 <change type="feature"> 12782 <change type="feature">
12783 <para lang="ru"> 12783 <para lang="ru">
12784 параметр конфигурации --with-cpu-opt=ppc64. 12784 п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-cpu-opt=ppc64.
12785 </para> 12785 </para>
12786 <para lang="en"> 12786 <para lang="en">
12787 the --with-cpu-opt=ppc64 configuration parameter. 12787 the --with-cpu-opt=ppc64 configuration parameter.
12788 </para> 12788 </para>
12789 </change> 12789 </change>
12790 12790
12791 <change type="bugfix"> 12791 <change type="bugfix">
12792 <para lang="ru"> 12792 <para lang="ru">
12793 при некоторых условиях проксированное соединение с клиентом завершалось 12793 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╨п╩п╦п╣п╫я┌п╬п╪ п╥п╟п╡п╣я─я┬п╟п╩п╬я│я▄
12794 преждевременно.<br/> 12794 п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬.<br/>
12795 Спасибо Владимиру Шутову. 12795 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п╗я┐я┌п╬п╡я┐.
12796 </para> 12796 </para>
12797 <para lang="en"> 12797 <para lang="en">
12798 on some condition the proxied connection with a client was terminated 12798 on some condition the proxied connection with a client was terminated
12799 prematurely.<br/> 12799 prematurely.<br/>
12800 Thanks to Vladimir Shutoff. 12800 Thanks to Vladimir Shutoff.
12801 </para> 12801 </para>
12802 </change> 12802 </change>
12803 12803
12804 <change type="bugfix"> 12804 <change type="bugfix">
12805 <para lang="ru"> 12805 <para lang="ru">
12806 строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов, 12806 я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Limit-Rate" п╫п╣ я┐я┤п╦я┌я▀п╡п╟п╩п╟я│я▄ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡,
12807 перенаправленных с помощью строки "X-Accel-Redirect". 12807 п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╫я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌ я│я┌я─п╬п╨п╦ "X-Accel-Redirect".
12808 </para> 12808 </para>
12809 <para lang="en"> 12809 <para lang="en">
12810 the "X-Accel-Limit-Rate" header line was not taken into account 12810 the "X-Accel-Limit-Rate" header line was not taken into account
12811 if the request was redirected using the "X-Accel-Redirect" header line. 12811 if the request was redirected using the "X-Accel-Redirect" header line.
12812 </para> 12812 </para>
12813 </change> 12813 </change>
12814 12814
12815 <change type="bugfix"> 12815 <change type="bugfix">
12816 <para lang="ru"> 12816 <para lang="ru">
12817 директива post_action работала только после успешного завершения запроса. 12817 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action я─п╟п╠п╬я┌п╟п╩п╟ я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣ я┐я│п©п╣я┬п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
12818 </para> 12818 </para>
12819 <para lang="en"> 12819 <para lang="en">
12820 the "post_action" directive ran only after a successful completion of a request. 12820 the "post_action" directive ran only after a successful completion of a request.
12821 </para> 12821 </para>
12822 </change> 12822 </change>
12823 12823
12824 <change type="bugfix"> 12824 <change type="bugfix">
12825 <para lang="ru"> 12825 <para lang="ru">
12826 тело проксированного ответа, создаваемого директивой post_action, 12826 я┌п╣п╩п╬ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟, я│п╬п╥п╢п╟п╡п╟п╣п╪п╬пЁп╬ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ post_action,
12827 передавалось клиенту. 12827 п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ п╨п╩п╦п╣п╫я┌я┐.
12828 </para> 12828 </para>
12829 <para lang="en"> 12829 <para lang="en">
12830 the proxied response body generated by the "post_action" directive 12830 the proxied response body generated by the "post_action" directive
12831 was transferred to a client. 12831 was transferred to a client.
12832 </para> 12832 </para>
12837 12837
12838 <changes ver="0.3.27" date="08.02.2006"> 12838 <changes ver="0.3.27" date="08.02.2006">
12839 12839
12840 <change type="change"> 12840 <change type="change">
12841 <para lang="ru"> 12841 <para lang="ru">
12842 директивы variables_hash_max_size и variables_hash_bucket_size. 12842 п╢п╦я─п╣п╨я┌п╦п╡я▀ variables_hash_max_size п╦ variables_hash_bucket_size.
12843 </para> 12843 </para>
12844 <para lang="en"> 12844 <para lang="en">
12845 the "variables_hash_max_size" and "variables_hash_bucket_size" directives. 12845 the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
12846 </para> 12846 </para>
12847 </change> 12847 </change>
12848 12848
12849 <change type="feature"> 12849 <change type="feature">
12850 <para lang="ru"> 12850 <para lang="ru">
12851 переменная $body_bytes_sent доступна не только в директиве log_format. 12851 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $body_bytes_sent п╢п╬я│я┌я┐п©п╫п╟ п╫п╣ я┌п╬п╩я▄п╨п╬ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format.
12852 </para> 12852 </para>
12853 <para lang="en"> 12853 <para lang="en">
12854 the $body_bytes_sent variable can be used not only in the "log_format" 12854 the $body_bytes_sent variable can be used not only in the "log_format"
12855 directive. 12855 directive.
12856 </para> 12856 </para>
12857 </change> 12857 </change>
12858 12858
12859 <change type="feature"> 12859 <change type="feature">
12860 <para lang="ru"> 12860 <para lang="ru">
12861 переменные $ssl_protocol и $ssl_cipher. 12861 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $ssl_protocol п╦ $ssl_cipher.
12862 </para> 12862 </para>
12863 <para lang="en"> 12863 <para lang="en">
12864 the $ssl_protocol and $ssl_cipher variables. 12864 the $ssl_protocol and $ssl_cipher variables.
12865 </para> 12865 </para>
12866 </change> 12866 </change>
12867 12867
12868 <change type="feature"> 12868 <change type="feature">
12869 <para lang="ru"> 12869 <para lang="ru">
12870 определение размера строки кэша распространённых процессоров при старте. 12870 п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╣ я─п╟п╥п╪п╣я─п╟ я│я┌я─п╬п╨п╦ п╨я█я┬п╟ я─п╟я│п©я─п╬я│я┌я─п╟п╫я▒п╫п╫я▀я┘ п©я─п╬я├п╣я│я│п╬я─п╬п╡ п©я─п╦ я│я┌п╟я─я┌п╣.
12871 </para> 12871 </para>
12872 <para lang="en"> 12872 <para lang="en">
12873 the cache line size detection for widespread CPUs at start time. 12873 the cache line size detection for widespread CPUs at start time.
12874 </para> 12874 </para>
12875 </change> 12875 </change>
12876 12876
12877 <change type="feature"> 12877 <change type="feature">
12878 <para lang="ru"> 12878 <para lang="ru">
12879 директива accept_mutex теперь поддерживается посредством fcntl(2) 12879 п╢п╦я─п╣п╨я┌п╦п╡п╟ accept_mutex я┌п╣п©п╣я─я▄ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ п©п╬я│я─п╣п╢я│я┌п╡п╬п╪ fcntl(2)
12880 на платформах, отличных от i386, amd64, sparc64 и ppc. 12880 п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc64 п╦ ppc.
12881 </para> 12881 </para>
12882 <para lang="en"> 12882 <para lang="en">
12883 now the "accept_mutex" directive is supported using fcntl(2) 12883 now the "accept_mutex" directive is supported using fcntl(2)
12884 on platforms different from i386, amd64, sparc64, and ppc. 12884 on platforms different from i386, amd64, sparc64, and ppc.
12885 </para> 12885 </para>
12886 </change> 12886 </change>
12887 12887
12888 <change type="feature"> 12888 <change type="feature">
12889 <para lang="ru"> 12889 <para lang="ru">
12890 директива lock_file и параметр автоконфигурации --with-lock-path=PATH. 12890 п╢п╦я─п╣п╨я┌п╦п╡п╟ lock_file п╦ п©п╟я─п╟п╪п╣я┌я─ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-lock-path=PATH.
12891 </para> 12891 </para>
12892 <para lang="en"> 12892 <para lang="en">
12893 the "lock_file" directive and the --with-lock-path=PATH autoconfiguration 12893 the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
12894 directive. 12894 directive.
12895 </para> 12895 </para>
12896 </change> 12896 </change>
12897 12897
12898 <change type="bugfix"> 12898 <change type="bugfix">
12899 <para lang="ru"> 12899 <para lang="ru">
12900 при использовании протокола HTTPS в директиве proxy_pass не передавались 12900 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
12901 запросы с телом. 12901 п╥п╟п©я─п╬я│я▀ я│ я┌п╣п╩п╬п╪.
12902 </para> 12902 </para>
12903 <para lang="en"> 12903 <para lang="en">
12904 if the HTTPS protocol was used in the "proxy_pass" directive then 12904 if the HTTPS protocol was used in the "proxy_pass" directive then
12905 the requests with the body was not transferred. 12905 the requests with the body was not transferred.
12906 </para> 12906 </para>
12911 12911
12912 <changes ver="0.3.26" date="03.02.2006"> 12912 <changes ver="0.3.26" date="03.02.2006">
12913 12913
12914 <change type="change"> 12914 <change type="change">
12915 <para lang="ru"> 12915 <para lang="ru">
12916 директива optimize_host_names переименована в optimize_server_names. 12916 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_host_names п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╟ п╡ optimize_server_names.
12917 </para> 12917 </para>
12918 <para lang="en"> 12918 <para lang="en">
12919 the "optimize_host_names" directive was renamed to the "optimize_server_names". 12919 the "optimize_host_names" directive was renamed to the "optimize_server_names".
12920 </para> 12920 </para>
12921 </change> 12921 </change>
12922 12922
12923 <change type="bugfix"> 12923 <change type="bugfix">
12924 <para lang="ru"> 12924 <para lang="ru">
12925 при проксировании подзапроса в SSI бэкенду передавался URI основного запроса, 12925 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п©п╬п╢п╥п╟п©я─п╬я│п╟ п╡ SSI п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ URI п╬я│п╫п╬п╡п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟,
12926 если в директиве proxy_pass отсутствовал URI. 12926 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩ URI.
12927 </para> 12927 </para>
12928 <para lang="en"> 12928 <para lang="en">
12929 if in the "proxy_pass" directive was no the URI part, then the main request 12929 if in the "proxy_pass" directive was no the URI part, then the main request
12930 URI was transferred to a backend while proxying the SSI subrequest. 12930 URI was transferred to a backend while proxying the SSI subrequest.
12931 </para> 12931 </para>
12936 12936
12937 <changes ver="0.3.25" date="01.02.2006"> 12937 <changes ver="0.3.25" date="01.02.2006">
12938 12938
12939 <change type="bugfix"> 12939 <change type="bugfix">
12940 <para lang="ru"> 12940 <para lang="ru">
12941 при неверной конфигурации на старте или во время переконфигурации происходил 12941 п©я─п╦ п╫п╣п╡п╣я─п╫п╬п╧ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩
12942 segmentation fault; 12942 segmentation fault;
12943 ошибка появилась в 0.3.24. 12943 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.24.
12944 </para> 12944 </para>
12945 <para lang="en"> 12945 <para lang="en">
12946 the segmentation fault was occurred on start or while reconfiguration 12946 the segmentation fault was occurred on start or while reconfiguration
12947 if there was invalid configuration; 12947 if there was invalid configuration;
12948 the bug had appeared in 0.3.24. 12948 the bug had appeared in 0.3.24.
12954 12954
12955 <changes ver="0.3.24" date="01.02.2006"> 12955 <changes ver="0.3.24" date="01.02.2006">
12956 12956
12957 <change type="workaround"> 12957 <change type="workaround">
12958 <para lang="ru"> 12958 <para lang="ru">
12959 обход ошибки в kqueue во FreeBSD. 12959 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ kqueue п╡п╬ FreeBSD.
12960 </para> 12960 </para>
12961 <para lang="en"> 12961 <para lang="en">
12962 for bug in FreeBSD kqueue. 12962 for bug in FreeBSD kqueue.
12963 </para> 12963 </para>
12964 </change> 12964 </change>
12965 12965
12966 <change type="bugfix"> 12966 <change type="bugfix">
12967 <para lang="ru"> 12967 <para lang="ru">
12968 ответ, создаваемый директивой post_action, теперь не передаётся клиенту. 12968 п╬я┌п╡п╣я┌, я│п╬п╥п╢п╟п╡п╟п╣п╪я▀п╧ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ post_action, я┌п╣п©п╣я─я▄ п╫п╣ п©п╣я─п╣п╢п╟я▒я┌я│я▐ п╨п╩п╦п╣п╫я┌я┐.
12969 </para> 12969 </para>
12970 <para lang="en"> 12970 <para lang="en">
12971 now a response generated by the "post_action" directive is not transferred 12971 now a response generated by the "post_action" directive is not transferred
12972 to a client. 12972 to a client.
12973 </para> 12973 </para>
12974 </change> 12974 </change>
12975 12975
12976 <change type="bugfix"> 12976 <change type="bugfix">
12977 <para lang="ru"> 12977 <para lang="ru">
12978 при использовании большого количества лог-файлов происходила утечка памяти. 12978 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╟ п╩п╬пЁ-я└п╟п╧п╩п╬п╡ п©я─п╬п╦я│я┘п╬п╢п╦п╩п╟ я┐я┌п╣я┤п╨п╟ п©п╟п╪я▐я┌п╦.
12979 </para> 12979 </para>
12980 <para lang="en"> 12980 <para lang="en">
12981 the memory leaks were occurring if many log files were used. 12981 the memory leaks were occurring if many log files were used.
12982 </para> 12982 </para>
12983 </change> 12983 </change>
12984 12984
12985 <change type="bugfix"> 12985 <change type="bugfix">
12986 <para lang="ru"> 12986 <para lang="ru">
12987 внутри одного location работала только первая директива proxy_redirect. 12987 п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ location я─п╟п╠п╬я┌п╟п╩п╟ я┌п╬п╩я▄п╨п╬ п©п╣я─п╡п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_redirect.
12988 </para> 12988 </para>
12989 <para lang="en"> 12989 <para lang="en">
12990 the first "proxy_redirect" directive was working inside one location. 12990 the first "proxy_redirect" directive was working inside one location.
12991 </para> 12991 </para>
12992 </change> 12992 </change>
12993 12993
12994 <change type="bugfix"> 12994 <change type="bugfix">
12995 <para lang="ru"> 12995 <para lang="ru">
12996 на 64-битных платформах при старте мог произойти segmentation fault, 12996 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п©я─п╦ я│я┌п╟я─я┌п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
12997 если использовалось большое количество имён в директивах server_name; 12997 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╠п╬п╩я▄я┬п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п╦п╪я▒п╫ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name;
12998 ошибка появилась в 0.3.18. 12998 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
12999 </para> 12999 </para>
13000 <para lang="en"> 13000 <para lang="en">
13001 on 64-bit platforms segmentation fault may occurred on start 13001 on 64-bit platforms segmentation fault may occurred on start
13002 if the many names were used in the "server_name" directives; 13002 if the many names were used in the "server_name" directives;
13003 the bug had appeared in 0.3.18. 13003 the bug had appeared in 0.3.18.
13009 13009
13010 <changes ver="0.3.23" date="24.01.2006"> 13010 <changes ver="0.3.23" date="24.01.2006">
13011 13011
13012 <change type="feature"> 13012 <change type="feature">
13013 <para lang="ru"> 13013 <para lang="ru">
13014 директива optimize_host_names. 13014 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_host_names.
13015 </para> 13015 </para>
13016 <para lang="en"> 13016 <para lang="en">
13017 the "optimize_host_names" directive. 13017 the "optimize_host_names" directive.
13018 </para> 13018 </para>
13019 </change> 13019 </change>
13020 13020
13021 <change type="bugfix"> 13021 <change type="bugfix">
13022 <para lang="ru"> 13022 <para lang="ru">
13023 ошибки при использовании переменных в директивах path и alias. 13023 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ path п╦ alias.
13024 </para> 13024 </para>
13025 <para lang="en"> 13025 <para lang="en">
13026 in using of the variables in the "path" and "alias" directives. 13026 in using of the variables in the "path" and "alias" directives.
13027 </para> 13027 </para>
13028 </change> 13028 </change>
13029 13029
13030 <change type="bugfix"> 13030 <change type="bugfix">
13031 <para lang="ru"> 13031 <para lang="ru">
13032 модуль ngx_http_perl_module неправильно собирался на Linux и Solaris. 13032 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris.
13033 </para> 13033 </para>
13034 <para lang="en"> 13034 <para lang="en">
13035 the ngx_http_perl_module was incorrectly built on Linux and Solaris. 13035 the ngx_http_perl_module was incorrectly built on Linux and Solaris.
13036 </para> 13036 </para>
13037 </change> 13037 </change>
13041 13041
13042 <changes ver="0.3.22" date="17.01.2006"> 13042 <changes ver="0.3.22" date="17.01.2006">
13043 13043
13044 <change type="feature"> 13044 <change type="feature">
13045 <para lang="ru"> 13045 <para lang="ru">
13046 модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape. 13046 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->args п╦ $r->unescape.
13047 </para> 13047 </para>
13048 <para lang="en"> 13048 <para lang="en">
13049 the ngx_http_perl_module supports the $r->args and $r->unescape methods. 13049 the ngx_http_perl_module supports the $r->args and $r->unescape methods.
13050 </para> 13050 </para>
13051 </change> 13051 </change>
13052 13052
13053 <change type="feature"> 13053 <change type="feature">
13054 <para lang="ru"> 13054 <para lang="ru">
13055 метод $r->query_string в модуле ngx_http_perl_module упразднён. 13055 п╪п╣я┌п╬п╢ $r->query_string п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module я┐п©я─п╟п╥п╢п╫я▒п╫.
13056 </para> 13056 </para>
13057 <para lang="en"> 13057 <para lang="en">
13058 the method $r->query_string of ngx_http_perl_module was canceled. 13058 the method $r->query_string of ngx_http_perl_module was canceled.
13059 </para> 13059 </para>
13060 </change> 13060 </change>
13061 13061
13062 <change type="bugfix"> 13062 <change type="bugfix">
13063 <para lang="ru"> 13063 <para lang="ru">
13064 если в директиве valid_referers указаны только none или blocked, то 13064 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers я┐п╨п╟п╥п╟п╫я▀ я┌п╬п╩я▄п╨п╬ none п╦п╩п╦ blocked, я┌п╬
13065 происходил segmentation fault; 13065 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
13066 ошибка появилась в 0.3.18. 13066 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
13067 </para> 13067 </para>
13068 <para lang="en"> 13068 <para lang="en">
13069 segmentation fault was occurred if the "none" or "blocked" values was 13069 segmentation fault was occurred if the "none" or "blocked" values was
13070 specified in the "valid_referers" directive; 13070 specified in the "valid_referers" directive;
13071 the bug had appeared in 0.3.18. 13071 the bug had appeared in 0.3.18.
13077 13077
13078 <changes ver="0.3.21" date="16.01.2006"> 13078 <changes ver="0.3.21" date="16.01.2006">
13079 13079
13080 <change type="feature"> 13080 <change type="feature">
13081 <para lang="ru"> 13081 <para lang="ru">
13082 модуль ngx_http_perl_module. 13082 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module.
13083 </para> 13083 </para>
13084 <para lang="en"> 13084 <para lang="en">
13085 the ngx_http_perl_module. 13085 the ngx_http_perl_module.
13086 </para> 13086 </para>
13087 </change> 13087 </change>
13088 13088
13089 <change type="change"> 13089 <change type="change">
13090 <para lang="ru"> 13090 <para lang="ru">
13091 директива valid_referers разрешает использовать рефереры совсем без URI. 13091 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers я─п╟п╥я─п╣я┬п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я─п╣я└п╣я─п╣я─я▀ я│п╬п╡я│п╣п╪ п╠п╣п╥ URI.
13092 </para> 13092 </para>
13093 <para lang="en"> 13093 <para lang="en">
13094 the "valid_referers" directive allows the referreres without URI part. 13094 the "valid_referers" directive allows the referreres without URI part.
13095 </para> 13095 </para>
13096 </change> 13096 </change>
13100 13100
13101 <changes ver="0.3.20" date="11.01.2006"> 13101 <changes ver="0.3.20" date="11.01.2006">
13102 13102
13103 <change type="bugfix"> 13103 <change type="bugfix">
13104 <para lang="ru"> 13104 <para lang="ru">
13105 ошибки в обработке SSI. 13105 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
13106 </para> 13106 </para>
13107 <para lang="en"> 13107 <para lang="en">
13108 in SSI handling. 13108 in SSI handling.
13109 </para> 13109 </para>
13110 </change> 13110 </change>
13111 13111
13112 <change type="bugfix"> 13112 <change type="bugfix">
13113 <para lang="ru"> 13113 <para lang="ru">
13114 модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args. 13114 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╨п╩я▌я┤п╦ п╡ п╡п╦п╢п╣ /uri?args.
13115 </para> 13115 </para>
13116 <para lang="en"> 13116 <para lang="en">
13117 the ngx_http_memcached_module did not support the keys in the "/usr?args" form. 13117 the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
13118 </para> 13118 </para>
13119 </change> 13119 </change>
13122 13122
13123 <changes ver="0.3.19" date="28.12.2005"> 13123 <changes ver="0.3.19" date="28.12.2005">
13124 13124
13125 <change type="feature"> 13125 <change type="feature">
13126 <para lang="ru"> 13126 <para lang="ru">
13127 директивы path и alias поддерживают переменные. 13127 п╢п╦я─п╣п╨я┌п╦п╡я▀ path п╦ alias п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
13128 </para> 13128 </para>
13129 <para lang="en"> 13129 <para lang="en">
13130 the "path" and "alias" directives support the variables. 13130 the "path" and "alias" directives support the variables.
13131 </para> 13131 </para>
13132 </change> 13132 </change>
13133 13133
13134 <change type="change"> 13134 <change type="change">
13135 <para lang="ru"> 13135 <para lang="ru">
13136 теперь директива valid_referers опять учитывает URI. 13136 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╬п©я▐я┌я▄ я┐я┤п╦я┌я▀п╡п╟п╣я┌ URI.
13137 </para> 13137 </para>
13138 <para lang="en"> 13138 <para lang="en">
13139 now the "valid_referers" directive again checks the URI part. 13139 now the "valid_referers" directive again checks the URI part.
13140 </para> 13140 </para>
13141 </change> 13141 </change>
13142 13142
13143 <change type="bugfix"> 13143 <change type="bugfix">
13144 <para lang="ru"> 13144 <para lang="ru">
13145 ошибки в обработке SSI. 13145 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
13146 </para> 13146 </para>
13147 <para lang="en"> 13147 <para lang="en">
13148 in SSI handling. 13148 in SSI handling.
13149 </para> 13149 </para>
13150 </change> 13150 </change>
13154 13154
13155 <changes ver="0.3.18" date="26.12.2005"> 13155 <changes ver="0.3.18" date="26.12.2005">
13156 13156
13157 <change type="feature"> 13157 <change type="feature">
13158 <para lang="ru"> 13158 <para lang="ru">
13159 директива server_names поддерживает имена вида ".domain.tld". 13159 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_names п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ ".domain.tld".
13160 </para> 13160 </para>
13161 <para lang="en"> 13161 <para lang="en">
13162 the "server_names" directive supports the ".domain.tld" names. 13162 the "server_names" directive supports the ".domain.tld" names.
13163 </para> 13163 </para>
13164 </change> 13164 </change>
13165 13165
13166 <change type="feature"> 13166 <change type="feature">
13167 <para lang="ru"> 13167 <para lang="ru">
13168 директива server_names использует хэш для имён вида "*.domain.tld" 13168 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_names п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я┘я█я┬ п╢п╩я▐ п╦п╪я▒п╫ п╡п╦п╢п╟ "*.domain.tld"
13169 и более эффективный хэш для обычных имён. 13169 п╦ п╠п╬п╩п╣п╣ я█я└я└п╣п╨я┌п╦п╡п╫я▀п╧ я┘я█я┬ п╢п╩я▐ п╬п╠я▀я┤п╫я▀я┘ п╦п╪я▒п╫.
13170 </para> 13170 </para>
13171 <para lang="en"> 13171 <para lang="en">
13172 the "server_names" directive uses the hash for the "*.domain.tld" names 13172 the "server_names" directive uses the hash for the "*.domain.tld" names
13173 and more effective hash for usual names. 13173 and more effective hash for usual names.
13174 </para> 13174 </para>
13175 </change> 13175 </change>
13176 13176
13177 <change type="change"> 13177 <change type="change">
13178 <para lang="ru"> 13178 <para lang="ru">
13179 директивы server_names_hash_max_size и server_names_hash_bucket_size. 13179 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash_max_size п╦ server_names_hash_bucket_size.
13180 </para> 13180 </para>
13181 <para lang="en"> 13181 <para lang="en">
13182 the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. 13182 the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
13183 </para> 13183 </para>
13184 </change> 13184 </change>
13185 13185
13186 <change type="change"> 13186 <change type="change">
13187 <para lang="ru"> 13187 <para lang="ru">
13188 директивы server_names_hash и server_names_hash_threshold упразднены. 13188 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash п╦ server_names_hash_threshold я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
13189 </para> 13189 </para>
13190 <para lang="en"> 13190 <para lang="en">
13191 the "server_names_hash" and "server_names_hash_threshold" directives 13191 the "server_names_hash" and "server_names_hash_threshold" directives
13192 were canceled. 13192 were canceled.
13193 </para> 13193 </para>
13194 </change> 13194 </change>
13195 13195
13196 <change type="feature"> 13196 <change type="feature">
13197 <para lang="ru"> 13197 <para lang="ru">
13198 директива valid_referers использует хэш для имён сайтов. 13198 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я┘я█я┬ п╢п╩я▐ п╦п╪я▒п╫ я│п╟п╧я┌п╬п╡.
13199 </para> 13199 </para>
13200 <para lang="en"> 13200 <para lang="en">
13201 the "valid_referers" directive uses the hash site names. 13201 the "valid_referers" directive uses the hash site names.
13202 </para> 13202 </para>
13203 </change> 13203 </change>
13204 13204
13205 <change type="change"> 13205 <change type="change">
13206 <para lang="ru"> 13206 <para lang="ru">
13207 теперь директива valid_referers проверяет только имена сайтов без учёта URI. 13207 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п©я─п╬п╡п╣я─я▐п╣я┌ я┌п╬п╩я▄п╨п╬ п╦п╪п╣п╫п╟ я│п╟п╧я┌п╬п╡ п╠п╣п╥ я┐я┤я▒я┌п╟ URI.
13208 </para> 13208 </para>
13209 <para lang="en"> 13209 <para lang="en">
13210 now the "valid_referers" directive checks the site names only without 13210 now the "valid_referers" directive checks the site names only without
13211 the URI part. 13211 the URI part.
13212 </para> 13212 </para>
13213 </change> 13213 </change>
13214 13214
13215 <change type="bugfix"> 13215 <change type="bugfix">
13216 <para lang="ru"> 13216 <para lang="ru">
13217 некоторые имена вида ".domain.tld" неверно обрабатывались модулем 13217 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ ".domain.tld" п╫п╣п╡п╣я─п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╪п╬п╢я┐п╩п╣п╪
13218 ngx_http_map_module. 13218 ngx_http_map_module.
13219 </para> 13219 </para>
13220 <para lang="en"> 13220 <para lang="en">
13221 some ".domain.tld" names incorrectly processed by the ngx_http_map_module. 13221 some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
13222 </para> 13222 </para>
13223 </change> 13223 </change>
13224 13224
13225 <change type="bugfix"> 13225 <change type="bugfix">
13226 <para lang="ru"> 13226 <para lang="ru">
13227 если конфигурационного файла не было, то происходил segmentation fault; 13227 п╣я│п╩п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╣ п╠я▀п╩п╬, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
13228 ошибка появилась в 0.3.12. 13228 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.12.
13229 </para> 13229 </para>
13230 <para lang="en"> 13230 <para lang="en">
13231 segmentation fault was occurred if configuration file did not exist; 13231 segmentation fault was occurred if configuration file did not exist;
13232 the bug had appeared in 0.3.12. 13232 the bug had appeared in 0.3.12.
13233 </para> 13233 </para>
13234 </change> 13234 </change>
13235 13235
13236 <change type="bugfix"> 13236 <change type="bugfix">
13237 <para lang="ru"> 13237 <para lang="ru">
13238 на 64-битных платформах при старте мог произойти segmentation fault; 13238 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п©я─п╦ я│я┌п╟я─я┌п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
13239 ошибка появилась в 0.3.16. 13239 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.16.
13240 </para> 13240 </para>
13241 <para lang="en"> 13241 <para lang="en">
13242 on 64-bit platforms segmentation fault may occurred on start; 13242 on 64-bit platforms segmentation fault may occurred on start;
13243 the bug had appeared in 0.3.16. 13243 the bug had appeared in 0.3.16.
13244 </para> 13244 </para>
13249 13249
13250 <changes ver="0.3.17" date="18.12.2005"> 13250 <changes ver="0.3.17" date="18.12.2005">
13251 13251
13252 <change type="change"> 13252 <change type="change">
13253 <para lang="ru"> 13253 <para lang="ru">
13254 на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре. 13254 п╫п╟ Linux configure я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╫п╟п╩п╦я┤п╦п╣ epoll п╦ sendfile64() п╡ я▐п╢я─п╣.
13255 </para> 13255 </para>
13256 <para lang="en"> 13256 <para lang="en">
13257 now on Linux configure checks the presence of epoll and sendfile64() in kernel. 13257 now on Linux configure checks the presence of epoll and sendfile64() in kernel.
13258 </para> 13258 </para>
13259 </change> 13259 </change>
13260 13260
13261 <change type="feature"> 13261 <change type="feature">
13262 <para lang="ru"> 13262 <para lang="ru">
13263 директива map поддерживает доменные имена в формате ".domain.tld". 13263 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╬п╪п╣п╫п╫я▀п╣ п╦п╪п╣п╫п╟ п╡ я└п╬я─п╪п╟я┌п╣ ".domain.tld".
13264 </para> 13264 </para>
13265 <para lang="en"> 13265 <para lang="en">
13266 the "map" directive supports domain names in the ".domain.tld" form. 13266 the "map" directive supports domain names in the ".domain.tld" form.
13267 </para> 13267 </para>
13268 </change> 13268 </change>
13269 13269
13270 <change type="bugfix"> 13270 <change type="bugfix">
13271 <para lang="ru"> 13271 <para lang="ru">
13272 во время SSL handshake не иcпользовались таймауты; 13272 п╡п╬ п╡я─п╣п╪я▐ SSL handshake п╫п╣ п╦cп©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ я┌п╟п╧п╪п╟я┐я┌я▀;
13273 ошибка появилась в 0.2.4. 13273 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.4.
13274 </para> 13274 </para>
13275 <para lang="en"> 13275 <para lang="en">
13276 the timeouts were not used in SSL handshake; 13276 the timeouts were not used in SSL handshake;
13277 the bug had appeared in 0.2.4. 13277 the bug had appeared in 0.2.4.
13278 </para> 13278 </para>
13279 </change> 13279 </change>
13280 13280
13281 <change type="bugfix"> 13281 <change type="bugfix">
13282 <para lang="ru"> 13282 <para lang="ru">
13283 в использовании протокола HTTPS в директиве proxy_pass. 13283 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
13284 </para> 13284 </para>
13285 <para lang="en"> 13285 <para lang="en">
13286 in the HTTPS protocol in the "proxy_pass" directive. 13286 in the HTTPS protocol in the "proxy_pass" directive.
13287 </para> 13287 </para>
13288 </change> 13288 </change>
13289 13289
13290 <change type="bugfix"> 13290 <change type="bugfix">
13291 <para lang="ru"> 13291 <para lang="ru">
13292 при использовании протокола HTTPS в директиве proxy_pass по умолчанию 13292 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌
13293 использовался порт 80. 13293 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╬я─я┌ 80.
13294 </para> 13294 </para>
13295 <para lang="en"> 13295 <para lang="en">
13296 when the HTTPS protocol was used in the "proxy_pass" directive the port 80 13296 when the HTTPS protocol was used in the "proxy_pass" directive the port 80
13297 was used by default. 13297 was used by default.
13298 </para> 13298 </para>
13303 13303
13304 <changes ver="0.3.16" date="16.12.2005"> 13304 <changes ver="0.3.16" date="16.12.2005">
13305 13305
13306 <change type="feature"> 13306 <change type="feature">
13307 <para lang="ru"> 13307 <para lang="ru">
13308 модуль ngx_http_map_module. 13308 п╪п╬п╢я┐п╩я▄ ngx_http_map_module.
13309 </para> 13309 </para>
13310 <para lang="en"> 13310 <para lang="en">
13311 the ngx_http_map_module. 13311 the ngx_http_map_module.
13312 </para> 13312 </para>
13313 </change> 13313 </change>
13314 13314
13315 <change type="feature"> 13315 <change type="feature">
13316 <para lang="ru"> 13316 <para lang="ru">
13317 директивы types_hash_max_size и types_hash_bucket_size. 13317 п╢п╦я─п╣п╨я┌п╦п╡я▀ types_hash_max_size п╦ types_hash_bucket_size.
13318 </para> 13318 </para>
13319 <para lang="en"> 13319 <para lang="en">
13320 the "types_hash_max_size" and "types_hash_bucket_size" directives. 13320 the "types_hash_max_size" and "types_hash_bucket_size" directives.
13321 </para> 13321 </para>
13322 </change> 13322 </change>
13323 13323
13324 <change type="feature"> 13324 <change type="feature">
13325 <para lang="ru"> 13325 <para lang="ru">
13326 директива ssi_value_length. 13326 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_value_length.
13327 </para> 13327 </para>
13328 <para lang="en"> 13328 <para lang="en">
13329 the "ssi_value_length" directive. 13329 the "ssi_value_length" directive.
13330 </para> 13330 </para>
13331 </change> 13331 </change>
13332 13332
13333 <change type="feature"> 13333 <change type="feature">
13334 <para lang="ru"> 13334 <para lang="ru">
13335 директива worker_rlimit_core. 13335 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_rlimit_core.
13336 </para> 13336 </para>
13337 <para lang="en"> 13337 <para lang="en">
13338 the "worker_rlimit_core" directive. 13338 the "worker_rlimit_core" directive.
13339 </para> 13339 </para>
13340 </change> 13340 </change>
13341 13341
13342 <change type="workaround"> 13342 <change type="workaround">
13343 <para lang="ru"> 13343 <para lang="ru">
13344 при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 13344 п©я─п╦ я│п╠п╬я─п╨п╣ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟п╪п╦ icc 8.1 п╦ 9.0 я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ п╢п╩я▐
13345 <nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1. 13345 <nobr>Pentium 4</nobr> п╫п╬п╪п╣я─ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╡ п╩п╬пЁп╟я┘ п╡я│п╣пЁп╢п╟ п╠я▀п╩ я─п╟п╡п╣п╫ 1.
13346 </para> 13346 </para>
13347 <para lang="en"> 13347 <para lang="en">
13348 the connection number in logs was always 1 if nginx was built by the 13348 the connection number in logs was always 1 if nginx was built by the
13349 icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr> 13349 icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
13350 </para> 13350 </para>
13351 </change> 13351 </change>
13352 13352
13353 <change type="bugfix"> 13353 <change type="bugfix">
13354 <para lang="ru"> 13354 <para lang="ru">
13355 команда config timefmt в SSI задавала неверный формат времени. 13355 п╨п╬п╪п╟п╫п╢п╟ config timefmt п╡ SSI п╥п╟п╢п╟п╡п╟п╩п╟ п╫п╣п╡п╣я─п╫я▀п╧ я└п╬я─п╪п╟я┌ п╡я─п╣п╪п╣п╫п╦.
13356 </para> 13356 </para>
13357 <para lang="en"> 13357 <para lang="en">
13358 the "config timefmt" SSI command set incorrect time format. 13358 the "config timefmt" SSI command set incorrect time format.
13359 </para> 13359 </para>
13360 </change> 13360 </change>
13361 13361
13362 <change type="bugfix"> 13362 <change type="bugfix">
13363 <para lang="ru"> 13363 <para lang="ru">
13364 nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL 13364 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ IMAP/POP3 п╠я█п╨п╣п╫п╢п╬п╪ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL
13365 соединений; 13365 я│п╬п╣п╢п╦п╫п╣п╫п╦п╧;
13366 ошибка появилась в 0.3.13.<br/> 13366 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.<br/>
13367 Спасибо Rob Mueller. 13367 п║п©п╟я│п╦п╠п╬ Rob Mueller.
13368 </para> 13368 </para>
13369 <para lang="en"> 13369 <para lang="en">
13370 nginx did not close connection to IMAP/POP3 backend for the SSL 13370 nginx did not close connection to IMAP/POP3 backend for the SSL
13371 connections; 13371 connections;
13372 the bug had appeared in 0.3.13.<br/> 13372 the bug had appeared in 0.3.13.<br/>
13374 </para> 13374 </para>
13375 </change> 13375 </change>
13376 13376
13377 <change type="bugfix"> 13377 <change type="bugfix">
13378 <para lang="ru"> 13378 <para lang="ru">
13379 segmentation fault мог произойти во время SSL shutdown; 13379 segmentation fault п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ п╡п╬ п╡я─п╣п╪я▐ SSL shutdown;
13380 ошибка появилась в 0.3.13. 13380 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.
13381 </para> 13381 </para>
13382 <para lang="en"> 13382 <para lang="en">
13383 segmentation fault may occurred in at SSL shutdown; 13383 segmentation fault may occurred in at SSL shutdown;
13384 the bug had appeared in 0.3.13. 13384 the bug had appeared in 0.3.13.
13385 </para> 13385 </para>
13390 13390
13391 <changes ver="0.3.15" date="07.12.2005"> 13391 <changes ver="0.3.15" date="07.12.2005">
13392 13392
13393 <change type="feature"> 13393 <change type="feature">
13394 <para lang="ru"> 13394 <para lang="ru">
13395 новой код 444 в директиве return для закрытия соединения. 13395 п╫п╬п╡п╬п╧ п╨п╬п╢ 444 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╢п╩я▐ п╥п╟п╨я─я▀я┌п╦я▐ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.
13396 </para> 13396 </para>
13397 <para lang="en"> 13397 <para lang="en">
13398 the new 444 code of the "return" directive to close connection. 13398 the new 444 code of the "return" directive to close connection.
13399 </para> 13399 </para>
13400 </change> 13400 </change>
13401 13401
13402 <change type="feature"> 13402 <change type="feature">
13403 <para lang="ru"> 13403 <para lang="ru">
13404 директива so_keepalive в IMAP/POP3 прокси. 13404 п╢п╦я─п╣п╨я┌п╦п╡п╟ so_keepalive п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
13405 </para> 13405 </para>
13406 <para lang="en"> 13406 <para lang="en">
13407 the "so_keepalive" directive in IMAP/POP3 proxy. 13407 the "so_keepalive" directive in IMAP/POP3 proxy.
13408 </para> 13408 </para>
13409 </change> 13409 </change>
13410 13410
13411 <change type="bugfix"> 13411 <change type="bugfix">
13412 <para lang="ru"> 13412 <para lang="ru">
13413 nginx теперь вызывает abort() при обнаружении незакрытых соединений 13413 nginx я┌п╣п©п╣я─я▄ п╡я▀п╥я▀п╡п╟п╣я┌ abort() п©я─п╦ п╬п╠п╫п╟я─я┐п╤п╣п╫п╦п╦ п╫п╣п╥п╟п╨я─я▀я┌я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧
13414 только при планом выходе и включённой директиве debug_points. 13414 я┌п╬п╩я▄п╨п╬ п©я─п╦ п©п╩п╟п╫п╬п╪ п╡я▀я┘п╬п╢п╣ п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡п╣ debug_points.
13415 </para> 13415 </para>
13416 <para lang="en"> 13416 <para lang="en">
13417 if there are unclosed connection nginx now calls abort() only on gracefull 13417 if there are unclosed connection nginx now calls abort() only on gracefull
13418 quit and active "debug_points" directive. 13418 quit and active "debug_points" directive.
13419 </para> 13419 </para>
13424 13424
13425 <changes ver="0.3.14" date="05.12.2005"> 13425 <changes ver="0.3.14" date="05.12.2005">
13426 13426
13427 <change type="bugfix"> 13427 <change type="bugfix">
13428 <para lang="ru"> 13428 <para lang="ru">
13429 в ответе 304 передавалось тело ответа; 13429 п╡ п╬я┌п╡п╣я┌п╣ 304 п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ я┌п╣п╩п╬ п╬я┌п╡п╣я┌п╟;
13430 ошибка появилась в 0.3.13. 13430 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.
13431 </para> 13431 </para>
13432 <para lang="en"> 13432 <para lang="en">
13433 in the 304 response the body was transferred; 13433 in the 304 response the body was transferred;
13434 the bug had appeared in 0.3.13. 13434 the bug had appeared in 0.3.13.
13435 </para> 13435 </para>
13440 13440
13441 <changes ver="0.3.13" date="05.12.2005"> 13441 <changes ver="0.3.13" date="05.12.2005">
13442 13442
13443 <change type="feature"> 13443 <change type="feature">
13444 <para lang="ru"> 13444 <para lang="ru">
13445 IMAP/POP3 прокси поддерживает STARTTLS и STLS. 13445 IMAP/POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ STARTTLS п╦ STLS.
13446 </para> 13446 </para>
13447 <para lang="en"> 13447 <para lang="en">
13448 the IMAP/POP3 proxy supports STARTTLS and STLS. 13448 the IMAP/POP3 proxy supports STARTTLS and STLS.
13449 </para> 13449 </para>
13450 </change> 13450 </change>
13451 13451
13452 <change type="bugfix"> 13452 <change type="bugfix">
13453 <para lang="ru"> 13453 <para lang="ru">
13454 IMAP/POP3 прокси не работала с методами select, poll и /dev/poll. 13454 IMAP/POP3 п©я─п╬п╨я│п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п╪п╣я┌п╬п╢п╟п╪п╦ select, poll п╦ /dev/poll.
13455 </para> 13455 </para>
13456 <para lang="en"> 13456 <para lang="en">
13457 the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. 13457 the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
13458 </para> 13458 </para>
13459 </change> 13459 </change>
13460 13460
13461 <change type="bugfix"> 13461 <change type="bugfix">
13462 <para lang="ru"> 13462 <para lang="ru">
13463 ошибки в обработке SSI. 13463 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
13464 </para> 13464 </para>
13465 <para lang="en"> 13465 <para lang="en">
13466 in SSI handling. 13466 in SSI handling.
13467 </para> 13467 </para>
13468 </change> 13468 </change>
13469 13469
13470 <change type="bugfix"> 13470 <change type="bugfix">
13471 <para lang="ru"> 13471 <para lang="ru">
13472 sendfilev() в Solaris теперь не используется при передаче тела запроса 13472 sendfilev() п╡ Solaris я┌п╣п©п╣я─я▄ п╫п╣ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟
13473 FastCGI-серверу через unix domain сокет. 13473 FastCGI-я│п╣я─п╡п╣я─я┐ я┤п╣я─п╣п╥ unix domain я│п╬п╨п╣я┌.
13474 </para> 13474 </para>
13475 <para lang="en"> 13475 <para lang="en">
13476 now Solaris sendfilev() is not used to transfer the client request body 13476 now Solaris sendfilev() is not used to transfer the client request body
13477 to FastCGI-server via the unix domain socket. 13477 to FastCGI-server via the unix domain socket.
13478 </para> 13478 </para>
13479 </change> 13479 </change>
13480 13480
13481 <change type="bugfix"> 13481 <change type="bugfix">
13482 <para lang="ru"> 13482 <para lang="ru">
13483 директива auth_basic не запрещала аутентификацию; 13483 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic п╫п╣ п╥п╟п©я─п╣я┴п╟п╩п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌;
13484 ошибка появилась в 0.3.11. 13484 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.11.
13485 </para> 13485 </para>
13486 <para lang="en"> 13486 <para lang="en">
13487 the "auth_basic" directive did not disable the authorization; 13487 the "auth_basic" directive did not disable the authorization;
13488 the bug had appeared in 0.3.11. 13488 the bug had appeared in 0.3.11.
13489 </para> 13489 </para>
13494 13494
13495 <changes ver="0.3.12" date="26.11.2005"> 13495 <changes ver="0.3.12" date="26.11.2005">
13496 13496
13497 <change type="security"> 13497 <change type="security">
13498 <para lang="ru"> 13498 <para lang="ru">
13499 если nginx был собран с модулем ngx_http_realip_module, то при использовании 13499 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_realip_module, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
13500 директивы "satisfy_any on" директивы доступа и аутентификации не работали. 13500 п╢п╦я─п╣п╨я┌п╦п╡я▀ "satisfy_any on" п╢п╦я─п╣п╨я┌п╦п╡я▀ п╢п╬я│я┌я┐п©п╟ п╦ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
13501 Модуль ngx_http_realip_module не собирался и не собирается по умолчанию. 13501 п°п╬п╢я┐п╩я▄ ngx_http_realip_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╦ п╫п╣ я│п╬п╠п╦я─п╟п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
13502 </para> 13502 </para>
13503 <para lang="en"> 13503 <para lang="en">
13504 if nginx was built with the ngx_http_realip_module and the "satisfy_any on" 13504 if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
13505 directive was used, then access and authorization directives did not work. 13505 directive was used, then access and authorization directives did not work.
13506 The ngx_http_realip_module was not built and is not built by default. 13506 The ngx_http_realip_module was not built and is not built by default.
13507 </para> 13507 </para>
13508 </change> 13508 </change>
13509 13509
13510 <change type="change"> 13510 <change type="change">
13511 <para lang="ru"> 13511 <para lang="ru">
13512 имя переменной "$time_gmt" изменено на "$time_local". 13512 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ "$time_gmt" п╦п╥п╪п╣п╫п╣п╫п╬ п╫п╟ "$time_local".
13513 </para> 13513 </para>
13514 <para lang="en"> 13514 <para lang="en">
13515 the "$time_gmt" variable name was changed to "$time_local". 13515 the "$time_gmt" variable name was changed to "$time_local".
13516 </para> 13516 </para>
13517 </change> 13517 </change>
13518 13518
13519 <change type="change"> 13519 <change type="change">
13520 <para lang="ru"> 13520 <para lang="ru">
13521 директивы proxy_header_buffer_size и fastcgi_header_buffer_size 13521 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_header_buffer_size п╦ fastcgi_header_buffer_size
13522 переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size. 13522 п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ proxy_buffer_size п╦ fastcgi_buffer_size.
13523 </para> 13523 </para>
13524 <para lang="en"> 13524 <para lang="en">
13525 the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives 13525 the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
13526 was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. 13526 was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
13527 </para> 13527 </para>
13528 </change> 13528 </change>
13529 13529
13530 <change type="feature"> 13530 <change type="feature">
13531 <para lang="ru"> 13531 <para lang="ru">
13532 модуль ngx_http_memcached_module. 13532 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module.
13533 </para> 13533 </para>
13534 <para lang="en"> 13534 <para lang="en">
13535 the ngx_http_memcached_module. 13535 the ngx_http_memcached_module.
13536 </para> 13536 </para>
13537 </change> 13537 </change>
13538 13538
13539 <change type="feature"> 13539 <change type="feature">
13540 <para lang="ru"> 13540 <para lang="ru">
13541 директива proxy_buffering. 13541 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_buffering.
13542 </para> 13542 </para>
13543 <para lang="en"> 13543 <para lang="en">
13544 the "proxy_buffering" directive. 13544 the "proxy_buffering" directive.
13545 </para> 13545 </para>
13546 </change> 13546 </change>
13547 13547
13548 <change type="bugfix"> 13548 <change type="bugfix">
13549 <para lang="ru"> 13549 <para lang="ru">
13550 изменение в работе с accept mutex при использовании метода rtsig; 13550 п╦п╥п╪п╣п╫п╣п╫п╦п╣ п╡ я─п╟п╠п╬я┌п╣ я│ accept mutex п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig;
13551 ошибка появилась в 0.3.0. 13551 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.0.
13552 </para> 13552 </para>
13553 <para lang="en"> 13553 <para lang="en">
13554 the changes in accept mutex handling when the "rtsig" method was used; 13554 the changes in accept mutex handling when the "rtsig" method was used;
13555 the bug had appeared in 0.3.0. 13555 the bug had appeared in 0.3.0.
13556 </para> 13556 </para>
13557 </change> 13557 </change>
13558 13558
13559 <change type="bugfix"> 13559 <change type="bugfix">
13560 <para lang="ru"> 13560 <para lang="ru">
13561 если клиент передал строку "Transfer-Encoding: chunked" в заголовке 13561 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ п©п╣я─п╣п╢п╟п╩ я│я┌я─п╬п╨я┐ "Transfer-Encoding: chunked" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣
13562 запроса, то nginx теперь выдаёт ошибку 411. 13562 п╥п╟п©я─п╬я│п╟, я┌п╬ nginx я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 411.
13563 </para> 13563 </para>
13564 <para lang="en"> 13564 <para lang="en">
13565 if the client sent the "Transfer-Encoding: chunked" header line, then 13565 if the client sent the "Transfer-Encoding: chunked" header line, then
13566 nginx returns the 411 error. 13566 nginx returns the 411 error.
13567 </para> 13567 </para>
13568 </change> 13568 </change>
13569 13569
13570 <change type="bugfix"> 13570 <change type="bugfix">
13571 <para lang="ru"> 13571 <para lang="ru">
13572 при наследовании директивы auth_basic с уровня http в строке 13572 п©я─п╦ п╫п╟я│п╩п╣п╢п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic я│ я┐я─п╬п╡п╫я▐ http п╡ я│я┌я─п╬п╨п╣
13573 "WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm". 13573 "WWW-Authenticate" п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╡я▀п╡п╬п╢п╦п╩я│я▐ realm п╠п╣п╥ я┌п╣п╨я│я┌п╟ "Basic realm".
13574 </para> 13574 </para>
13575 <para lang="en"> 13575 <para lang="en">
13576 if the "auth_basic" directive was inherited from the http level, 13576 if the "auth_basic" directive was inherited from the http level,
13577 then the realm in the "WWW-Authenticate" header line was without 13577 then the realm in the "WWW-Authenticate" header line was without
13578 the "Basic realm" text. 13578 the "Basic realm" text.
13579 </para> 13579 </para>
13580 </change> 13580 </change>
13581 13581
13582 <change type="bugfix"> 13582 <change type="bugfix">
13583 <para lang="ru"> 13583 <para lang="ru">
13584 если в директиве access_log был явно указан формат combined, то в лог 13584 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log п╠я▀п╩ я▐п╡п╫п╬ я┐п╨п╟п╥п╟п╫ я└п╬я─п╪п╟я┌ combined, я┌п╬ п╡ п╩п╬пЁ
13585 записывались пустые строки; 13585 п╥п╟п©п╦я│я▀п╡п╟п╩п╦я│я▄ п©я┐я│я┌я▀п╣ я│я┌я─п╬п╨п╦;
13586 ошибка появилась в 0.3.8. 13586 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.8.
13587 </para> 13587 </para>
13588 <para lang="en"> 13588 <para lang="en">
13589 if the "combined" format was explicitly specified in the "access_log" directive, 13589 if the "combined" format was explicitly specified in the "access_log" directive,
13590 then the empty lines was written to the log; 13590 then the empty lines was written to the log;
13591 the bug had appeared in 0.3.8. 13591 the bug had appeared in 0.3.8.
13592 </para> 13592 </para>
13593 </change> 13593 </change>
13594 13594
13595 <change type="bugfix"> 13595 <change type="bugfix">
13596 <para lang="ru"> 13596 <para lang="ru">
13597 nginx не работал на платформе sparc под любыми OS, кроме Solaris. 13597 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╣ sparc п©п╬п╢ п╩я▌п╠я▀п╪п╦ OS, п╨я─п╬п╪п╣ Solaris.
13598 </para> 13598 </para>
13599 <para lang="en"> 13599 <para lang="en">
13600 nginx did not run on the sparc platform under any OS except Solaris. 13600 nginx did not run on the sparc platform under any OS except Solaris.
13601 </para> 13601 </para>
13602 </change> 13602 </change>
13603 13603
13604 <change type="bugfix"> 13604 <change type="bugfix">
13605 <para lang="ru"> 13605 <para lang="ru">
13606 в директиве if теперь не нужно разделять пробелом строку в кавычках и 13606 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if я┌п╣п©п╣я─я▄ п╫п╣ п╫я┐п╤п╫п╬ я─п╟п╥п╢п╣п╩я▐я┌я▄ п©я─п╬п╠п╣п╩п╬п╪ я│я┌я─п╬п╨я┐ п╡ п╨п╟п╡я▀я┤п╨п╟я┘ п╦
13607 закрывающую скобку. 13607 п╥п╟п╨я─я▀п╡п╟я▌я┴я┐я▌ я│п╨п╬п╠п╨я┐.
13608 </para> 13608 </para>
13609 <para lang="en"> 13609 <para lang="en">
13610 now it is not necessary to place space between the quoted string and closing 13610 now it is not necessary to place space between the quoted string and closing
13611 bracket in the "if" directive. 13611 bracket in the "if" directive.
13612 </para> 13612 </para>
13617 13617
13618 <changes ver="0.3.11" date="15.11.2005"> 13618 <changes ver="0.3.11" date="15.11.2005">
13619 13619
13620 <change type="bugfix"> 13620 <change type="bugfix">
13621 <para lang="ru"> 13621 <para lang="ru">
13622 nginx не передавал при проксировании тело запроса и строки заголовка клиента; 13622 nginx п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╦ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╨п╩п╦п╣п╫я┌п╟;
13623 ошибка появилась в 0.3.10. 13623 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.10.
13624 </para> 13624 </para>
13625 <para lang="en"> 13625 <para lang="en">
13626 nginx did not pass the client request headers and body while proxying; 13626 nginx did not pass the client request headers and body while proxying;
13627 the bug had appeared in 0.3.10. 13627 the bug had appeared in 0.3.10.
13628 </para> 13628 </para>
13633 13633
13634 <changes ver="0.3.10" date="15.11.2005"> 13634 <changes ver="0.3.10" date="15.11.2005">
13635 13635
13636 <change type="change"> 13636 <change type="change">
13637 <para lang="ru"> 13637 <para lang="ru">
13638 директива valid_referers и переменная $invalid_referer перенесены 13638 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $invalid_referer п©п╣я─п╣п╫п╣я│п╣п╫я▀
13639 из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module. 13639 п╦п╥ п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡ п╫п╬п╡я▀п╧ п╪п╬п╢я┐п╩я▄ ngx_http_referer_module.
13640 </para> 13640 </para>
13641 <para lang="en"> 13641 <para lang="en">
13642 the "valid_referers" directive and the "$invalid_referer" variable 13642 the "valid_referers" directive and the "$invalid_referer" variable
13643 were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. 13643 were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
13644 </para> 13644 </para>
13645 </change> 13645 </change>
13646 13646
13647 <change type="change"> 13647 <change type="change">
13648 <para lang="ru"> 13648 <para lang="ru">
13649 имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent". 13649 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ "$apache_bytes_sent" п╦п╥п╪п╣п╫п╣п╫п╬ п╫п╟ "$body_bytes_sent".
13650 </para> 13650 </para>
13651 <para lang="en"> 13651 <para lang="en">
13652 the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". 13652 the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
13653 </para> 13653 </para>
13654 </change> 13654 </change>
13655 13655
13656 <change type="feature"> 13656 <change type="feature">
13657 <para lang="ru"> 13657 <para lang="ru">
13658 переменные "$sent_http_...". 13658 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$sent_http_...".
13659 </para> 13659 </para>
13660 <para lang="en"> 13660 <para lang="en">
13661 the "$sent_http_..." variables. 13661 the "$sent_http_..." variables.
13662 </para> 13662 </para>
13663 </change> 13663 </change>
13664 13664
13665 <change type="feature"> 13665 <change type="feature">
13666 <para lang="ru"> 13666 <para lang="ru">
13667 директива if поддерживает операции "=" и "!=". 13667 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я├п╦п╦ "=" п╦ "!=".
13668 </para> 13668 </para>
13669 <para lang="en"> 13669 <para lang="en">
13670 the "if" directive supports the "=" and "!=" operations. 13670 the "if" directive supports the "=" and "!=" operations.
13671 </para> 13671 </para>
13672 </change> 13672 </change>
13673 13673
13674 <change type="feature"> 13674 <change type="feature">
13675 <para lang="ru"> 13675 <para lang="ru">
13676 директива proxy_pass поддерживает протокол HTTPS. 13676 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я─п╬я┌п╬п╨п╬п╩ HTTPS.
13677 </para> 13677 </para>
13678 <para lang="en"> 13678 <para lang="en">
13679 the "proxy_pass" directive supports the HTTPS protocol. 13679 the "proxy_pass" directive supports the HTTPS protocol.
13680 </para> 13680 </para>
13681 </change> 13681 </change>
13682 13682
13683 <change type="feature"> 13683 <change type="feature">
13684 <para lang="ru"> 13684 <para lang="ru">
13685 директива proxy_set_body. 13685 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_body.
13686 </para> 13686 </para>
13687 <para lang="en"> 13687 <para lang="en">
13688 the "proxy_set_body" directive. 13688 the "proxy_set_body" directive.
13689 </para> 13689 </para>
13690 </change> 13690 </change>
13691 13691
13692 <change type="feature"> 13692 <change type="feature">
13693 <para lang="ru"> 13693 <para lang="ru">
13694 директива post_action. 13694 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action.
13695 </para> 13695 </para>
13696 <para lang="en"> 13696 <para lang="en">
13697 the "post_action" directive. 13697 the "post_action" directive.
13698 </para> 13698 </para>
13699 </change> 13699 </change>
13700 13700
13701 <change type="feature"> 13701 <change type="feature">
13702 <para lang="ru"> 13702 <para lang="ru">
13703 модуль ngx_http_empty_gif_module. 13703 п╪п╬п╢я┐п╩я▄ ngx_http_empty_gif_module.
13704 </para> 13704 </para>
13705 <para lang="en"> 13705 <para lang="en">
13706 the ngx_http_empty_gif_module. 13706 the ngx_http_empty_gif_module.
13707 </para> 13707 </para>
13708 </change> 13708 </change>
13709 13709
13710 <change type="feature"> 13710 <change type="feature">
13711 <para lang="ru"> 13711 <para lang="ru">
13712 директива worker_cpu_affinity для Linux. 13712 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_cpu_affinity п╢п╩я▐ Linux.
13713 </para> 13713 </para>
13714 <para lang="en"> 13714 <para lang="en">
13715 the "worker_cpu_affinity" directive for Linux. 13715 the "worker_cpu_affinity" directive for Linux.
13716 </para> 13716 </para>
13717 </change> 13717 </change>
13718 13718
13719 <change type="bugfix"> 13719 <change type="bugfix">
13720 <para lang="ru"> 13720 <para lang="ru">
13721 директива rewrite не раскодировала символы в редиректах в URI, 13721 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣ я─п╟я│п╨п╬п╢п╦я─п╬п╡п╟п╩п╟ я│п╦п╪п╡п╬п╩я▀ п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘ п╡ URI,
13722 теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF. 13722 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ я─п╟я│п╨п╬п╢п╦я─я┐я▌я┌я│я▐, п╨я─п╬п╪п╣ я│п╦п╪п╡п╬п╩п╬п╡ %00-%25 п╦ %7F-%FF.
13723 </para> 13723 </para>
13724 <para lang="en"> 13724 <para lang="en">
13725 the "rewrite" directive did not unescape URI part in redirect, 13725 the "rewrite" directive did not unescape URI part in redirect,
13726 now it is unescaped except the %00-%25 and %7F-%FF characters. 13726 now it is unescaped except the %00-%25 and %7F-%FF characters.
13727 </para> 13727 </para>
13728 </change> 13728 </change>
13729 13729
13730 <change type="bugfix"> 13730 <change type="bugfix">
13731 <para lang="ru"> 13731 <para lang="ru">
13732 nginx не собирался компилятором icc 9.0. 13732 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ icc 9.0.
13733 </para> 13733 </para>
13734 <para lang="en"> 13734 <para lang="en">
13735 nginx could not be built by the icc 9.0 compiler. 13735 nginx could not be built by the icc 9.0 compiler.
13736 </para> 13736 </para>
13737 </change> 13737 </change>
13738 13738
13739 <change type="bugfix"> 13739 <change type="bugfix">
13740 <para lang="ru"> 13740 <para lang="ru">
13741 если для статического файла нулевого размера был разрешён SSI, 13741 п╣я│п╩п╦ п╢п╩я▐ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬ я└п╟п╧п╩п╟ п╫я┐п╩п╣п╡п╬пЁп╬ я─п╟п╥п╪п╣я─п╟ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫ SSI,
13742 то ответ передавался неверно при кодировании chunk'ами. 13742 я┌п╬ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣п╡п╣я─п╫п╬ п©я─п╦ п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╦ chunk'п╟п╪п╦.
13743 </para> 13743 </para>
13744 <para lang="en"> 13744 <para lang="en">
13745 if the SSI was enabled for zero size static file, then the chunked 13745 if the SSI was enabled for zero size static file, then the chunked
13746 response was encoded incorrectly. 13746 response was encoded incorrectly.
13747 </para> 13747 </para>
13752 13752
13753 <changes ver="0.3.9" date="10.11.2005"> 13753 <changes ver="0.3.9" date="10.11.2005">
13754 13754
13755 <change type="bugfix"> 13755 <change type="bugfix">
13756 <para lang="ru"> 13756 <para lang="ru">
13757 nginx считал небезопасными URI, в которых между двумя слэшами 13757 nginx я│я┤п╦я┌п╟п╩ п╫п╣п╠п╣п╥п╬п©п╟я│п╫я▀п╪п╦ URI, п╡ п╨п╬я┌п╬я─я▀я┘ п╪п╣п╤п╢я┐ п╢п╡я┐п╪я▐ я│п╩я█я┬п╟п╪п╦
13758 находилось два любых символа; 13758 п╫п╟я┘п╬п╢п╦п╩п╬я│я▄ п╢п╡п╟ п╩я▌п╠я▀я┘ я│п╦п╪п╡п╬п╩п╟;
13759 ошибка появилась в 0.3.8. 13759 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.8.
13760 </para> 13760 </para>
13761 <para lang="en"> 13761 <para lang="en">
13762 nginx considered URI as unsafe if two any symbols was between two slashes; 13762 nginx considered URI as unsafe if two any symbols was between two slashes;
13763 the bug had appeared in 0.3.8. 13763 the bug had appeared in 0.3.8.
13764 </para> 13764 </para>
13769 13769
13770 <changes ver="0.3.8" date="09.11.2005"> 13770 <changes ver="0.3.8" date="09.11.2005">
13771 13771
13772 <change type="security"> 13772 <change type="security">
13773 <para lang="ru"> 13773 <para lang="ru">
13774 nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect" 13774 nginx я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐я┌ URI, п©п╬п╩я┐я┤п╣п╫п╫я▀п╣ п╬я┌ п╠я█п╨п╣п╫п╢п╟ п╡ я│я┌я─п╬п╨п╣ "X-Accel-Redirect"
13775 в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей. 13775 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟, п╦п╩п╦ п╡ SSI я└п╟п╧п╩п╣ п╫п╟ п╫п╟п╩п╦я┤п╦п╣ п©я┐я┌п╣п╧ "/../" п╦ п╫я┐п╩п╣п╧.
13776 </para> 13776 </para>
13777 <para lang="en"> 13777 <para lang="en">
13778 nginx now checks URI got from a backend in "X-Accel-Redirect" header line 13778 nginx now checks URI got from a backend in "X-Accel-Redirect" header line
13779 or in SSI file for the "/../" paths and zeroes. 13779 or in SSI file for the "/../" paths and zeroes.
13780 </para> 13780 </para>
13781 </change> 13781 </change>
13782 13782
13783 <change type="change"> 13783 <change type="change">
13784 <para lang="ru"> 13784 <para lang="ru">
13785 nginx теперь не воспринимает пустое имя как правильное 13785 nginx я┌п╣п©п╣я─я▄ п╫п╣ п╡п╬я│п©я─п╦п╫п╦п╪п╟п╣я┌ п©я┐я│я┌п╬п╣ п╦п╪я▐ п╨п╟п╨ п©я─п╟п╡п╦п╩я▄п╫п╬п╣
13786 в строке "Authorization" в заголовке запроса. 13786 п╡ я│я┌я─п╬п╨п╣ "Authorization" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
13787 </para> 13787 </para>
13788 <para lang="en"> 13788 <para lang="en">
13789 nginx now does not treat the empty user name in the "Authorization" header 13789 nginx now does not treat the empty user name in the "Authorization" header
13790 line as valid one. 13790 line as valid one.
13791 </para> 13791 </para>
13792 </change> 13792 </change>
13793 13793
13794 <change type="feature"> 13794 <change type="feature">
13795 <para lang="ru"> 13795 <para lang="ru">
13796 директива ssl_session_timeout модулей 13796 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_session_timeout п╪п╬п╢я┐п╩п╣п╧
13797 ngx_http_ssl_module и ngx_imap_ssl_module. 13797 ngx_http_ssl_module п╦ ngx_imap_ssl_module.
13798 </para> 13798 </para>
13799 <para lang="en"> 13799 <para lang="en">
13800 the "ssl_session_timeout" directives 13800 the "ssl_session_timeout" directives
13801 of the ngx_http_ssl_module and ngx_imap_ssl_module. 13801 of the ngx_http_ssl_module and ngx_imap_ssl_module.
13802 </para> 13802 </para>
13803 </change> 13803 </change>
13804 13804
13805 <change type="feature"> 13805 <change type="feature">
13806 <para lang="ru"> 13806 <para lang="ru">
13807 директива auth_http_header модуля ngx_imap_auth_http_module. 13807 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_http_header п╪п╬п╢я┐п╩я▐ ngx_imap_auth_http_module.
13808 </para> 13808 </para>
13809 <para lang="en"> 13809 <para lang="en">
13810 the "auth_http_header" directive of the ngx_imap_auth_http_module. 13810 the "auth_http_header" directive of the ngx_imap_auth_http_module.
13811 </para> 13811 </para>
13812 </change> 13812 </change>
13813 13813
13814 <change type="feature"> 13814 <change type="feature">
13815 <para lang="ru"> 13815 <para lang="ru">
13816 директива add_header. 13816 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header.
13817 </para> 13817 </para>
13818 <para lang="en"> 13818 <para lang="en">
13819 the "add_header" directive. 13819 the "add_header" directive.
13820 </para> 13820 </para>
13821 </change> 13821 </change>
13822 13822
13823 <change type="feature"> 13823 <change type="feature">
13824 <para lang="ru"> 13824 <para lang="ru">
13825 модуль ngx_http_realip_module. 13825 п╪п╬п╢я┐п╩я▄ ngx_http_realip_module.
13826 </para> 13826 </para>
13827 <para lang="en"> 13827 <para lang="en">
13828 the ngx_http_realip_module. 13828 the ngx_http_realip_module.
13829 </para> 13829 </para>
13830 </change> 13830 </change>
13831 13831
13832 <change type="feature"> 13832 <change type="feature">
13833 <para lang="ru"> 13833 <para lang="ru">
13834 новые переменные для использования в директиве log_format: 13834 п╫п╬п╡я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╢п╩я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format:
13835 $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 13835 $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
13836 $uri, $request_time, $request_length, 13836 $uri, $request_time, $request_length,
13837 $upstream_status, $upstream_response_time, 13837 $upstream_status, $upstream_response_time,
13838 $gzip_ratio, 13838 $gzip_ratio,
13839 $uid_got, $uid_set, 13839 $uid_got, $uid_set,
13840 $connection, $pipe и $msec. 13840 $connection, $pipe п╦ $msec.
13841 Параметры в виде "%name" скоро будут упразднены. 13841 п÷п╟я─п╟п╪п╣я┌я─я▀ п╡ п╡п╦п╢п╣ "%name" я│п╨п╬я─п╬ п╠я┐п╢я┐я┌ я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
13842 </para> 13842 </para>
13843 <para lang="en"> 13843 <para lang="en">
13844 the new variables to use in the "log_format" directive: 13844 the new variables to use in the "log_format" directive:
13845 $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 13845 $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
13846 $uri, $request_time, $request_length, 13846 $uri, $request_time, $request_length,
13852 </para> 13852 </para>
13853 </change> 13853 </change>
13854 13854
13855 <change type="change"> 13855 <change type="change">
13856 <para lang="ru"> 13856 <para lang="ru">
13857 в директиве "if" ложными значениями переменных теперь являются 13857 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ "if" п╩п╬п╤п╫я▀п╪п╦ п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ я┌п╣п©п╣я─я▄ я▐п╡п╩я▐я▌я┌я│я▐
13858 пустая строка "" и строки, начинающиеся на "0". 13858 п©я┐я│я┌п╟я▐ я│я┌я─п╬п╨п╟ "" п╦ я│я┌я─п╬п╨п╦, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ п╫п╟ "0".
13859 </para> 13859 </para>
13860 <para lang="en"> 13860 <para lang="en">
13861 now the false variable values in the "if" directive are the empty string "" 13861 now the false variable values in the "if" directive are the empty string ""
13862 and string starting with "0". 13862 and string starting with "0".
13863 </para> 13863 </para>
13864 </change> 13864 </change>
13865 13865
13866 <change type="bugfix"> 13866 <change type="bugfix">
13867 <para lang="ru"> 13867 <para lang="ru">
13868 при работает с проксированными или FastCGI-серверами nginx мог оставлять 13868 п©я─п╦ я─п╟п╠п╬я┌п╟п╣я┌ я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─п╟п╪п╦ nginx п╪п╬пЁ п╬я│я┌п╟п╡п╩я▐я┌я▄
13869 открытыми соединения и временные файлы с запросами клиентов. 13869 п╬я┌п╨я─я▀я┌я▀п╪п╦ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╦ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ я│ п╥п╟п©я─п╬я│п╟п╪п╦ п╨п╩п╦п╣п╫я┌п╬п╡.
13870 </para> 13870 </para>
13871 <para lang="en"> 13871 <para lang="en">
13872 while using proxied or FastCGI-server nginx may leave connections 13872 while using proxied or FastCGI-server nginx may leave connections
13873 and temporary files with client requests in open state. 13873 and temporary files with client requests in open state.
13874 </para> 13874 </para>
13875 </change> 13875 </change>
13876 13876
13877 <change type="bugfix"> 13877 <change type="bugfix">
13878 <para lang="ru"> 13878 <para lang="ru">
13879 рабочие процессы не сбрасывали буферизированные логи при плавном выходе. 13879 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╫п╣ я│п╠я─п╟я│я▀п╡п╟п╩п╦ п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀п╣ п╩п╬пЁп╦ п©я─п╦ п©п╩п╟п╡п╫п╬п╪ п╡я▀я┘п╬п╢п╣.
13880 </para> 13880 </para>
13881 <para lang="en"> 13881 <para lang="en">
13882 the worker processes did not flush the buffered logs on graceful exit. 13882 the worker processes did not flush the buffered logs on graceful exit.
13883 </para> 13883 </para>
13884 </change> 13884 </change>
13885 13885
13886 <change type="bugfix"> 13886 <change type="bugfix">
13887 <para lang="ru"> 13887 <para lang="ru">
13888 если URI запроса изменялось с помощью rewrite, а затем запрос проксировался 13888 п╣я│п╩п╦ URI п╥п╟п©я─п╬я│п╟ п╦п╥п╪п╣п╫я▐п╩п╬я│я▄ я│ п©п╬п╪п╬я┴я▄я▌ rewrite, п╟ п╥п╟я┌п╣п╪ п╥п╟п©я─п╬я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╩я│я▐
13889 в location, заданном регулярным выражением, то бэкенду передавался 13889 п╡ location, п╥п╟п╢п╟п╫п╫п╬п╪ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪, я┌п╬ п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐
13890 неверный запрос; 13890 п╫п╣п╡п╣я─п╫я▀п╧ п╥п╟п©я─п╬я│;
13891 ошибка появилась в 0.2.6. 13891 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.6.
13892 </para> 13892 </para>
13893 <para lang="en"> 13893 <para lang="en">
13894 if the request URI was changes by the "rewrite" directive and the request 13894 if the request URI was changes by the "rewrite" directive and the request
13895 was proxied in location given by regular expression, then the incorrect 13895 was proxied in location given by regular expression, then the incorrect
13896 request was transferred to backend; 13896 request was transferred to backend;
13898 </para> 13898 </para>
13899 </change> 13899 </change>
13900 13900
13901 <change type="bugfix"> 13901 <change type="bugfix">
13902 <para lang="ru"> 13902 <para lang="ru">
13903 директива expires не удаляла уже установленную строку заголовка "Expires". 13903 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п╫п╣ я┐п╢п╟п╩я▐п╩п╟ я┐п╤п╣ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Expires".
13904 </para> 13904 </para>
13905 <para lang="en"> 13905 <para lang="en">
13906 the "expires" directive did not remove the previous "Expires" header. 13906 the "expires" directive did not remove the previous "Expires" header.
13907 </para> 13907 </para>
13908 </change> 13908 </change>
13909 13909
13910 <change type="bugfix"> 13910 <change type="bugfix">
13911 <para lang="ru"> 13911 <para lang="ru">
13912 при использовании метода rtsig и нескольких рабочих процессах nginx 13912 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ я─п╟п╠п╬я┤п╦я┘ п©я─п╬я├п╣я│я│п╟я┘ nginx
13913 мог перестать принимать запросы. 13913 п╪п╬пЁ п©п╣я─п╣я│я┌п╟я┌я▄ п©я─п╦п╫п╦п╪п╟я┌я▄ п╥п╟п©я─п╬я│я▀.
13914 </para> 13914 </para>
13915 <para lang="en"> 13915 <para lang="en">
13916 nginx may stop to accept requests if the "rtsig" method and several worker 13916 nginx may stop to accept requests if the "rtsig" method and several worker
13917 processes were used. 13917 processes were used.
13918 </para> 13918 </para>
13919 </change> 13919 </change>
13920 13920
13921 <change type="bugfix"> 13921 <change type="bugfix">
13922 <para lang="ru"> 13922 <para lang="ru">
13923 в SSI командах неверно обрабатывались строки "\"" и "\'". 13923 п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ п╫п╣п╡п╣я─п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ я│я┌я─п╬п╨п╦ "\"" п╦ "\'".
13924 </para> 13924 </para>
13925 <para lang="en"> 13925 <para lang="en">
13926 the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. 13926 the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
13927 </para> 13927 </para>
13928 </change> 13928 </change>
13929 13929
13930 <change type="bugfix"> 13930 <change type="bugfix">
13931 <para lang="ru"> 13931 <para lang="ru">
13932 если ответ заканчивался сразу же после SSI команды, то при использовании 13932 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п╥п╟п╨п╟п╫я┤п╦п╡п╟п╩я│я▐ я│я─п╟п╥я┐ п╤п╣ п©п╬я│п╩п╣ SSI п╨п╬п╪п╟п╫п╢я▀, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
13933 сжатия ответ передавался не до конца или не передавался вообще. 13933 я│п╤п╟я┌п╦я▐ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟ п╦п╩п╦ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╡п╬п╬п╠я┴п╣.
13934 </para> 13934 </para>
13935 <para lang="en"> 13935 <para lang="en">
13936 if the response was ended just after the SSI command and gzipping was used, 13936 if the response was ended just after the SSI command and gzipping was used,
13937 then the response did not transferred complete or did not transferred at all. 13937 then the response did not transferred complete or did not transferred at all.
13938 </para> 13938 </para>
13943 13943
13944 <changes ver="0.3.7" date="27.10.2005"> 13944 <changes ver="0.3.7" date="27.10.2005">
13945 13945
13946 <change type="feature"> 13946 <change type="feature">
13947 <para lang="ru"> 13947 <para lang="ru">
13948 директива access_log поддерживает параметр buffer=. 13948 п╢п╦я─п╣п╨я┌п╦п╡п╟ access_log п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ buffer=.
13949 </para> 13949 </para>
13950 <para lang="en"> 13950 <para lang="en">
13951 the "access_log" supports the "buffer=" parameter. 13951 the "access_log" supports the "buffer=" parameter.
13952 </para> 13952 </para>
13953 </change> 13953 </change>
13954 13954
13955 <change type="bugfix"> 13955 <change type="bugfix">
13956 <para lang="ru"> 13956 <para lang="ru">
13957 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 13957 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
13958 ошибка появилась в 0.3.2. 13958 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.2.
13959 </para> 13959 </para>
13960 <para lang="en"> 13960 <para lang="en">
13961 nginx could not be built on platforms different from i386, amd64, sparc, 13961 nginx could not be built on platforms different from i386, amd64, sparc,
13962 and ppc; 13962 and ppc;
13963 the bug had appeared in 0.3.2. 13963 the bug had appeared in 0.3.2.
13969 13969
13970 <changes ver="0.3.6" date="24.10.2005"> 13970 <changes ver="0.3.6" date="24.10.2005">
13971 13971
13972 <change type="change"> 13972 <change type="change">
13973 <para lang="ru"> 13973 <para lang="ru">
13974 IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин. 13974 IMAP/POP3 п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ п╫п╣ п©п╣я─п╣п╢п╟я▒я┌ я│п╣я─п╡п╣я─я┐ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦ п©я┐я│я┌п╬п╧ п╩п╬пЁп╦п╫.
13975 </para> 13975 </para>
13976 <para lang="en"> 13976 <para lang="en">
13977 now the IMAP/POP3 proxy do not send the empty login to authorization server. 13977 now the IMAP/POP3 proxy do not send the empty login to authorization server.
13978 </para> 13978 </para>
13979 </change> 13979 </change>
13980 13980
13981 <change type="feature"> 13981 <change type="feature">
13982 <para lang="ru"> 13982 <para lang="ru">
13983 директива log_format поддерживает переменные в виде $name. 13983 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_format п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╡п╦п╢п╣ $name.
13984 </para> 13984 </para>
13985 <para lang="en"> 13985 <para lang="en">
13986 the "log_format" supports the variables in the $name form. 13986 the "log_format" supports the variables in the $name form.
13987 </para> 13987 </para>
13988 </change> 13988 </change>
13989 13989
13990 <change type="bugfix"> 13990 <change type="bugfix">
13991 <para lang="ru"> 13991 <para lang="ru">
13992 если хотя бы в одном сервере не было описано ни одной директивы listen, то 13992 п╣я│п╩п╦ я┘п╬я┌я▐ п╠я▀ п╡ п╬п╢п╫п╬п╪ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩п╬ п╬п©п╦я│п╟п╫п╬ п╫п╦ п╬п╢п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen, я┌п╬
13993 nginx не слушал на 80 порту; 13993 nginx п╫п╣ я│п╩я┐я┬п╟п╩ п╫п╟ 80 п©п╬я─я┌я┐;
13994 ошибка появилась в 0.3.3. 13994 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
13995 </para> 13995 </para>
13996 <para lang="en"> 13996 <para lang="en">
13997 if at least in one server was no the "listen" directive, then nginx did not 13997 if at least in one server was no the "listen" directive, then nginx did not
13998 listen on the 80 port; 13998 listen on the 80 port;
13999 the bug had appeared in 0.3.3. 13999 the bug had appeared in 0.3.3.
14000 </para> 14000 </para>
14001 </change> 14001 </change>
14002 14002
14003 <change type="bugfix"> 14003 <change type="bugfix">
14004 <para lang="ru"> 14004 <para lang="ru">
14005 если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80. 14005 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩ URI, я┌п╬ п╡я│п╣пЁп╢п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╬я─я┌ 80.
14006 </para> 14006 </para>
14007 <para lang="en"> 14007 <para lang="en">
14008 if the URI part is omitted in "proxy_pass" directive, the the 80 port was 14008 if the URI part is omitted in "proxy_pass" directive, the the 80 port was
14009 always used. 14009 always used.
14010 </para> 14010 </para>
14015 14015
14016 <changes ver="0.3.5" date="21.10.2005"> 14016 <changes ver="0.3.5" date="21.10.2005">
14017 14017
14018 <change type="bugfix"> 14018 <change type="bugfix">
14019 <para lang="ru"> 14019 <para lang="ru">
14020 если логин IMAP/POP3 менялся сервером авторизации, то мог произойти 14020 п╣я│п╩п╦ п╩п╬пЁп╦п╫ IMAP/POP3 п╪п╣п╫я▐п╩я│я▐ я│п╣я─п╡п╣я─п╬п╪ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦, я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
14021 segmentation fault; 14021 segmentation fault;
14022 ошибка появилась в 0.2.2. 14022 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
14023 </para> 14023 </para>
14024 <para lang="en"> 14024 <para lang="en">
14025 the segmentation fault may occurred if the IMAP/POP3 login was changed 14025 the segmentation fault may occurred if the IMAP/POP3 login was changed
14026 by authorization server; 14026 by authorization server;
14027 the bug had appeared in 0.2.2. 14027 the bug had appeared in 0.2.2.
14028 </para> 14028 </para>
14029 </change> 14029 </change>
14030 14030
14031 <change type="bugfix"> 14031 <change type="bugfix">
14032 <para lang="ru"> 14032 <para lang="ru">
14033 accept mutex не работал, все соединения обрабатывались одним рабочим процессом; 14033 accept mutex п╫п╣ я─п╟п╠п╬я┌п╟п╩, п╡я│п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╬п╢п╫п╦п╪ я─п╟п╠п╬я┤п╦п╪ п©я─п╬я├п╣я│я│п╬п╪;
14034 ошибка появилась в 0.3.3. 14034 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
14035 </para> 14035 </para>
14036 <para lang="en"> 14036 <para lang="en">
14037 the accept mutex did not work and all connections were handled by one process; 14037 the accept mutex did not work and all connections were handled by one process;
14038 the bug had appeared in 0.3.3. 14038 the bug had appeared in 0.3.3.
14039 </para> 14039 </para>
14040 </change> 14040 </change>
14041 14041
14042 <change type="bugfix"> 14042 <change type="bugfix">
14043 <para lang="ru"> 14043 <para lang="ru">
14044 при использовании метода rtsig и директивы timer_resolution 14044 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ timer_resolution
14045 не работали таймауты. 14045 п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я┌п╟п╧п╪п╟я┐я┌я▀.
14046 </para> 14046 </para>
14047 <para lang="en"> 14047 <para lang="en">
14048 the timeout did not work if the "rtsig" method and the "timer_resolution" 14048 the timeout did not work if the "rtsig" method and the "timer_resolution"
14049 directive were used. 14049 directive were used.
14050 </para> 14050 </para>
14055 14055
14056 <changes ver="0.3.4" date="19.10.2005"> 14056 <changes ver="0.3.4" date="19.10.2005">
14057 14057
14058 <change type="bugfix"> 14058 <change type="bugfix">
14059 <para lang="ru"> 14059 <para lang="ru">
14060 nginx не собирался на Linux 2.4+ и MacOS X; 14060 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux 2.4+ п╦ MacOS X;
14061 ошибка появилась в 0.3.3. 14061 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
14062 </para> 14062 </para>
14063 <para lang="en"> 14063 <para lang="en">
14064 nginx could not be built on Linux 2.4+ and MacOS X; 14064 nginx could not be built on Linux 2.4+ and MacOS X;
14065 the bug had appeared in 0.3.3. 14065 the bug had appeared in 0.3.3.
14066 </para> 14066 </para>
14071 14071
14072 <changes ver="0.3.3" date="19.10.2005"> 14072 <changes ver="0.3.3" date="19.10.2005">
14073 14073
14074 <change type="change"> 14074 <change type="change">
14075 <para lang="ru"> 14075 <para lang="ru">
14076 параметры "bl" и "af" директивы listen переименованы в "backlog" 14076 п©п╟я─п╟п╪п╣я┌я─я▀ "bl" п╦ "af" п╢п╦я─п╣п╨я┌п╦п╡я▀ listen п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ п╡ "backlog"
14077 и "accept_filter". 14077 п╦ "accept_filter".
14078 </para> 14078 </para>
14079 <para lang="en"> 14079 <para lang="en">
14080 the "bl" and "af" parameters of the "listen" directive was renamed to 14080 the "bl" and "af" parameters of the "listen" directive was renamed to
14081 the "backlog" and "accept_filter". 14081 the "backlog" and "accept_filter".
14082 </para> 14082 </para>
14083 </change> 14083 </change>
14084 14084
14085 <change type="feature"> 14085 <change type="feature">
14086 <para lang="ru"> 14086 <para lang="ru">
14087 параметры "rcvbuf" и "sndbuf" в директиве listen. 14087 п©п╟я─п╟п╪п╣я┌я─я▀ "rcvbuf" п╦ "sndbuf" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
14088 </para> 14088 </para>
14089 <para lang="en"> 14089 <para lang="en">
14090 the "rcvbuf" and "sndbuf" parameters of the "listen" directive. 14090 the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
14091 </para> 14091 </para>
14092 </change> 14092 </change>
14093 14093
14094 <change type="change"> 14094 <change type="change">
14095 <para lang="ru"> 14095 <para lang="ru">
14096 параметр лога $msec теперь не требует дополнительного системного 14096 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ $msec я┌п╣п©п╣я─я▄ п╫п╣ я┌я─п╣п╠я┐п╣я┌ п╢п╬п©п╬п╩п╫п╦я┌п╣п╩я▄п╫п╬пЁп╬ я│п╦я│я┌п╣п╪п╫п╬пЁп╬
14097 вызова gettimeofday(). 14097 п╡я▀п╥п╬п╡п╟ gettimeofday().
14098 </para> 14098 </para>
14099 <para lang="en"> 14099 <para lang="en">
14100 the "$msec" log parameter does not require now the additional 14100 the "$msec" log parameter does not require now the additional
14101 the gettimeofday() system call. 14101 the gettimeofday() system call.
14102 </para> 14102 </para>
14103 </change> 14103 </change>
14104 14104
14105 <change type="feature"> 14105 <change type="feature">
14106 <para lang="ru"> 14106 <para lang="ru">
14107 ключ -t теперь проверяет директивы listen. 14107 п╨п╩я▌я┤ -t я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen.
14108 </para> 14108 </para>
14109 <para lang="en"> 14109 <para lang="en">
14110 the -t switch now tests the "listen" directives. 14110 the -t switch now tests the "listen" directives.
14111 </para> 14111 </para>
14112 </change> 14112 </change>
14113 14113
14114 <change type="bugfix"> 14114 <change type="bugfix">
14115 <para lang="ru"> 14115 <para lang="ru">
14116 если в директиве listen был указан неверный адрес, то nginx после 14116 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╫п╣п╡п╣я─п╫я▀п╧ п╟п╢я─п╣я│, я┌п╬ nginx п©п╬я│п╩п╣
14117 сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 14117 я│п╦пЁп╫п╟п╩п╟ -HUP п╬я│я┌п╟п╡п╩я▐п╩ п╬я┌п╨я─я▀я┌я▀п╧ я│п╬п╨п╣я┌ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ CLOSED.
14118 </para> 14118 </para>
14119 <para lang="en"> 14119 <para lang="en">
14120 if the invalid address was specified in the "listen" directive, then 14120 if the invalid address was specified in the "listen" directive, then
14121 after the -HUP signal nginx left an open socket in the CLOSED state. 14121 after the -HUP signal nginx left an open socket in the CLOSED state.
14122 </para> 14122 </para>
14123 </change> 14123 </change>
14124 14124
14125 <change type="bugfix"> 14125 <change type="bugfix">
14126 <para lang="ru"> 14126 <para lang="ru">
14127 для индексных файлов, содержащих в имени переменную, мог неверно выставляться 14127 п╢п╩я▐ п╦п╫п╢п╣п╨я│п╫я▀я┘ я└п╟п╧п╩п╬п╡, я│п╬п╢п╣я─п╤п╟я┴п╦я┘ п╡ п╦п╪п╣п╫п╦ п©п╣я─п╣п╪п╣п╫п╫я┐я▌, п╪п╬пЁ п╫п╣п╡п╣я─п╫п╬ п╡я▀я│я┌п╟п╡п╩я▐я┌я▄я│я▐
14128 тип mime по умолчанию; 14128 я┌п╦п© mime п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌;
14129 ошибка появилась в 0.3.0. 14129 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.0.
14130 </para> 14130 </para>
14131 <para lang="en"> 14131 <para lang="en">
14132 the mime type may be incorrectly set to default value for index file with 14132 the mime type may be incorrectly set to default value for index file with
14133 variable in the name; 14133 variable in the name;
14134 the bug had appeared in 0.3.0. 14134 the bug had appeared in 0.3.0.
14135 </para> 14135 </para>
14136 </change> 14136 </change>
14137 14137
14138 <change type="feature"> 14138 <change type="feature">
14139 <para lang="ru"> 14139 <para lang="ru">
14140 директива timer_resolution. 14140 п╢п╦я─п╣п╨я┌п╦п╡п╟ timer_resolution.
14141 </para> 14141 </para>
14142 <para lang="en"> 14142 <para lang="en">
14143 the "timer_resolution" directive. 14143 the "timer_resolution" directive.
14144 </para> 14144 </para>
14145 </change> 14145 </change>
14146 14146
14147 <change type="feature"> 14147 <change type="feature">
14148 <para lang="ru"> 14148 <para lang="ru">
14149 параметр лога $upstream_response_time в миллисекундах. 14149 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ $upstream_response_time п╡ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╟я┘.
14150 </para> 14150 </para>
14151 <para lang="en"> 14151 <para lang="en">
14152 the millisecond "$upstream_response_time" log parameter. 14152 the millisecond "$upstream_response_time" log parameter.
14153 </para> 14153 </para>
14154 </change> 14154 </change>
14155 14155
14156 <change type="bugfix"> 14156 <change type="bugfix">
14157 <para lang="ru"> 14157 <para lang="ru">
14158 временный файл с телом запроса клиента теперь удаляется сразу после того, 14158 п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩ я│ я┌п╣п╩п╬п╪ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ я┌п╣п©п╣я─я▄ я┐п╢п╟п╩я▐п╣я┌я│я▐ я│я─п╟п╥я┐ п©п╬я│п╩п╣ я┌п╬пЁп╬,
14159 как клиенту передан заголовок ответа. 14159 п╨п╟п╨ п╨п╩п╦п╣п╫я┌я┐ п©п╣я─п╣п╢п╟п╫ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟.
14160 </para> 14160 </para>
14161 <para lang="en"> 14161 <para lang="en">
14162 a temporary file with client request body now is removed just after 14162 a temporary file with client request body now is removed just after
14163 the response header was transferred to a client. 14163 the response header was transferred to a client.
14164 </para> 14164 </para>
14165 </change> 14165 </change>
14166 14166
14167 <change type="bugfix"> 14167 <change type="bugfix">
14168 <para lang="ru"> 14168 <para lang="ru">
14169 совместимость с OpenSSL 0.9.6. 14169 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ OpenSSL 0.9.6.
14170 </para> 14170 </para>
14171 <para lang="en"> 14171 <para lang="en">
14172 OpenSSL 0.9.6 compatibility. 14172 OpenSSL 0.9.6 compatibility.
14173 </para> 14173 </para>
14174 </change> 14174 </change>
14175 14175
14176 <change type="bugfix"> 14176 <change type="bugfix">
14177 <para lang="ru"> 14177 <para lang="ru">
14178 пути к файлам с SSL сертификатом и ключом не могли быть относительными. 14178 п©я┐я┌п╦ п╨ я└п╟п╧п╩п╟п╪ я│ SSL я│п╣я─я┌п╦я└п╦п╨п╟я┌п╬п╪ п╦ п╨п╩я▌я┤п╬п╪ п╫п╣ п╪п╬пЁп╩п╦ п╠я▀я┌я▄ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╪п╦.
14179 </para> 14179 </para>
14180 <para lang="en"> 14180 <para lang="en">
14181 the SSL certificate and key file paths could not be relative. 14181 the SSL certificate and key file paths could not be relative.
14182 </para> 14182 </para>
14183 </change> 14183 </change>
14184 14184
14185 <change type="bugfix"> 14185 <change type="bugfix">
14186 <para lang="ru"> 14186 <para lang="ru">
14187 директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module. 14187 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_prefer_server_ciphers п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╢п╩я▐ п╪п╬п╢я┐п╩я▐ ngx_imap_ssl_module.
14188 </para> 14188 </para>
14189 <para lang="en"> 14189 <para lang="en">
14190 the "ssl_prefer_server_ciphers" directive did not work in 14190 the "ssl_prefer_server_ciphers" directive did not work in
14191 the ngx_imap_ssl_module. 14191 the ngx_imap_ssl_module.
14192 </para> 14192 </para>
14193 </change> 14193 </change>
14194 14194
14195 <change type="bugfix"> 14195 <change type="bugfix">
14196 <para lang="ru"> 14196 <para lang="ru">
14197 директива ssl_protocols позволяла задать только один протокол. 14197 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_protocols п©п╬п╥п╡п╬п╩я▐п╩п╟ п╥п╟п╢п╟я┌я▄ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ п©я─п╬я┌п╬п╨п╬п╩.
14198 </para> 14198 </para>
14199 <para lang="en"> 14199 <para lang="en">
14200 the "ssl_protocols" directive allowed to specify the single protocol only. 14200 the "ssl_protocols" directive allowed to specify the single protocol only.
14201 </para> 14201 </para>
14202 </change> 14202 </change>
14206 14206
14207 <changes ver="0.3.2" date="12.10.2005"> 14207 <changes ver="0.3.2" date="12.10.2005">
14208 14208
14209 <change type="feature"> 14209 <change type="feature">
14210 <para lang="ru"> 14210 <para lang="ru">
14211 поддержка Sun Studio 10 C compiler. 14211 п©п╬п╢п╢п╣я─п╤п╨п╟ Sun Studio 10 C compiler.
14212 </para> 14212 </para>
14213 <para lang="en"> 14213 <para lang="en">
14214 the Sun Studio 10 C compiler support. 14214 the Sun Studio 10 C compiler support.
14215 </para> 14215 </para>
14216 </change> 14216 </change>
14217 14217
14218 <change type="feature"> 14218 <change type="feature">
14219 <para lang="ru"> 14219 <para lang="ru">
14220 директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 14220 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_upstream_max_fails, proxy_upstream_fail_timeout,
14221 fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout. 14221 fastcgi_upstream_max_fails п╦ fastcgi_upstream_fail_timeout.
14222 </para> 14222 </para>
14223 <para lang="en"> 14223 <para lang="en">
14224 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 14224 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
14225 "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" 14225 "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
14226 directives. 14226 directives.
14232 14232
14233 <changes ver="0.3.1" date="10.10.2005"> 14233 <changes ver="0.3.1" date="10.10.2005">
14234 14234
14235 <change type="bugfix"> 14235 <change type="bugfix">
14236 <para lang="ru"> 14236 <para lang="ru">
14237 во время переполнения очереди сигналов при использовании метода rtsig 14237 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦я▐ п╬я┤п╣я─п╣п╢п╦ я│п╦пЁп╫п╟п╩п╬п╡ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig
14238 происходил segmentation fault; 14238 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
14239 ошибка появилась в 0.2.0. 14239 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
14240 </para> 14240 </para>
14241 <para lang="en"> 14241 <para lang="en">
14242 the segmentation fault occurred when the signal queue overflowed 14242 the segmentation fault occurred when the signal queue overflowed
14243 if the "rtsig" method was used; 14243 if the "rtsig" method was used;
14244 the bug had appeared in 0.2.0. 14244 the bug had appeared in 0.2.0.
14245 </para> 14245 </para>
14246 </change> 14246 </change>
14247 14247
14248 <change type="change"> 14248 <change type="change">
14249 <para lang="ru"> 14249 <para lang="ru">
14250 корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 14250 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ п©п╟я─ "\\", "\"", "\'" п╦ "\$" п╡ SSI.
14251 </para> 14251 </para>
14252 <para lang="en"> 14252 <para lang="en">
14253 correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. 14253 correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
14254 </para> 14254 </para>
14255 </change> 14255 </change>
14259 14259
14260 <changes ver="0.3.0" date="07.10.2005"> 14260 <changes ver="0.3.0" date="07.10.2005">
14261 14261
14262 <change type="change"> 14262 <change type="change">
14263 <para lang="ru"> 14263 <para lang="ru">
14264 убрано десятидневное ограничение времени работы рабочего процесса. 14264 я┐п╠я─п╟п╫п╬ п╢п╣я│я▐я┌п╦п╢п╫п╣п╡п╫п╬п╣ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╦ я─п╟п╠п╬я┌я▀ я─п╟п╠п╬я┤п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
14265 Ограничение было введено из-за переполнения миллисекундных таймеров. 14265 п·пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ п╠я▀п╩п╬ п╡п╡п╣п╢п╣п╫п╬ п╦п╥-п╥п╟ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦я▐ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╫я▀я┘ я┌п╟п╧п╪п╣я─п╬п╡.
14266 </para> 14266 </para>
14267 <para lang="en"> 14267 <para lang="en">
14268 the 10-days live time limit of worker process was eliminated. 14268 the 10-days live time limit of worker process was eliminated.
14269 The limit was introduced because of millisecond timers overflow. 14269 The limit was introduced because of millisecond timers overflow.
14270 </para> 14270 </para>
14275 14275
14276 <changes ver="0.2.6" date="05.10.2005"> 14276 <changes ver="0.2.6" date="05.10.2005">
14277 14277
14278 <change type="change"> 14278 <change type="change">
14279 <para lang="ru"> 14279 <para lang="ru">
14280 с 60 до 10 секунд уменьшено время повторного обращения к бэкенду 14280 я│ 60 п╢п╬ 10 я│п╣п╨я┐п╫п╢ я┐п╪п╣п╫я▄я┬п╣п╫п╬ п╡я─п╣п╪я▐ п©п╬п╡я┌п╬я─п╫п╬пЁп╬ п╬п╠я─п╟я┴п╣п╫п╦я▐ п╨ п╠я█п╨п╣п╫п╢я┐
14281 при использовании распределения нагрузки. 14281 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦я▐ п╫п╟пЁя─я┐п╥п╨п╦.
14282 </para> 14282 </para>
14283 <para lang="en"> 14283 <para lang="en">
14284 while using load-balancing the time before the failed backend retry 14284 while using load-balancing the time before the failed backend retry
14285 was decreased from 60 to 10 seconds. 14285 was decreased from 60 to 10 seconds.
14286 </para> 14286 </para>
14287 </change> 14287 </change>
14288 14288
14289 <change type="change"> 14289 <change type="change">
14290 <para lang="ru"> 14290 <para lang="ru">
14291 директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь 14291 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_unparsed_uri я┐п©я─п╟п╥п╢п╫п╣п╫п╟, п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╥п╟п©я─п╬я│ я┌п╣п©п╣я─я▄
14292 передаётся, если в директиве proxy_pass отсутствует URI. 14292 п©п╣я─п╣п╢п╟я▒я┌я│я▐, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡я┐п╣я┌ URI.
14293 </para> 14293 </para>
14294 <para lang="en"> 14294 <para lang="en">
14295 the "proxy_pass_unparsed_uri" was canceled, the original URI now passed, 14295 the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
14296 if the URI part is omitted in "proxy_pass" directive. 14296 if the URI part is omitted in "proxy_pass" directive.
14297 </para> 14297 </para>
14298 </change> 14298 </change>
14299 14299
14300 <change type="feature"> 14300 <change type="feature">
14301 <para lang="ru"> 14301 <para lang="ru">
14302 директива error_page поддерживает редиректы и позволяет более гибко 14302 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣п╢п╦я─п╣п╨я┌я▀ п╦ п©п╬п╥п╡п╬п╩я▐п╣я┌ п╠п╬п╩п╣п╣ пЁп╦п╠п╨п╬
14303 менять код ошибки. 14303 п╪п╣п╫я▐я┌я▄ п╨п╬п╢ п╬я┬п╦п╠п╨п╦.
14304 </para> 14304 </para>
14305 <para lang="en"> 14305 <para lang="en">
14306 the "error_page" directive supports redirects and allows more flexible 14306 the "error_page" directive supports redirects and allows more flexible
14307 to change an error code. 14307 to change an error code.
14308 </para> 14308 </para>
14309 </change> 14309 </change>
14310 14310
14311 <change type="change"> 14311 <change type="change">
14312 <para lang="ru"> 14312 <para lang="ru">
14313 в проксированных подзапросах теперь игнорируется переданный charset. 14313 п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п©п╣я─п╣п╢п╟п╫п╫я▀п╧ charset.
14314 </para> 14314 </para>
14315 <para lang="en"> 14315 <para lang="en">
14316 the charset in the "Content-Type" header line now is ignored 14316 the charset in the "Content-Type" header line now is ignored
14317 in proxied subrequests. 14317 in proxied subrequests.
14318 </para> 14318 </para>
14319 </change> 14319 </change>
14320 14320
14321 <change type="bugfix"> 14321 <change type="bugfix">
14322 <para lang="ru"> 14322 <para lang="ru">
14323 если после изменения URI в блоке if для запроса не находилась 14323 п╣я│п╩п╦ п©п╬я│п╩п╣ п╦п╥п╪п╣п╫п╣п╫п╦я▐ URI п╡ п╠п╩п╬п╨п╣ if п╢п╩я▐ п╥п╟п©я─п╬я│п╟ п╫п╣ п╫п╟я┘п╬п╢п╦п╩п╟я│я▄
14324 новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись 14324 п╫п╬п╡п╟я▐ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐, я┌п╬ п©я─п╟п╡п╦п╩п╟ п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡я▀п©п╬п╩п╫я▐п╩п╦я│я▄
14325 снова. 14325 я│п╫п╬п╡п╟.
14326 </para> 14326 </para>
14327 <para lang="en"> 14327 <para lang="en">
14328 if the URI was changed in the "if" block and request did not found 14328 if the URI was changed in the "if" block and request did not found
14329 new configuration, then the ngx_http_rewrite_module rules ran again. 14329 new configuration, then the ngx_http_rewrite_module rules ran again.
14330 </para> 14330 </para>
14331 </change> 14331 </change>
14332 14332
14333 <change type="bugfix"> 14333 <change type="bugfix">
14334 <para lang="ru"> 14334 <para lang="ru">
14335 если директива set устанавливала переменную модуля ngx_http_geo_module 14335 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ set я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module
14336 в какой-либо части конфигурации, то эта переменная не была доступна в 14336 п╡ п╨п╟п╨п╬п╧-п╩п╦п╠п╬ я┤п╟я│я┌п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦, я┌п╬ я█я┌п╟ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╫п╣ п╠я▀п╩п╟ п╢п╬я│я┌я┐п©п╫п╟ п╡
14337 других частях конфигурации и выдавалась ошибка "using uninitialized variable"; 14337 п╢я─я┐пЁп╦я┘ я┤п╟я│я┌я▐я┘ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╦ п╡я▀п╢п╟п╡п╟п╩п╟я│я▄ п╬я┬п╦п╠п╨п╟ "using uninitialized variable";
14338 ошибка появилась в 0.2.2. 14338 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
14339 </para> 14339 </para>
14340 <para lang="en"> 14340 <para lang="en">
14341 if the "set" directive set the ngx_http_geo_module variable in some 14341 if the "set" directive set the ngx_http_geo_module variable in some
14342 configuration part, the this variable was not available in other 14342 configuration part, the this variable was not available in other
14343 configuration parts and the "using uninitialized variable" error was occurred; 14343 configuration parts and the "using uninitialized variable" error was occurred;
14350 14350
14351 <changes ver="0.2.5" date="04.10.2005"> 14351 <changes ver="0.2.5" date="04.10.2005">
14352 14352
14353 <change type="change"> 14353 <change type="change">
14354 <para lang="ru"> 14354 <para lang="ru">
14355 дублирующее значение переменной модуля ngx_http_geo_module теперь 14355 п╢я┐п╠п╩п╦я─я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module я┌п╣п©п╣я─я▄
14356 выдаёт предупреждение и изменяет старое значение. 14356 п╡я▀п╢п╟я▒я┌ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╣ п╦ п╦п╥п╪п╣п╫я▐п╣я┌ я│я┌п╟я─п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
14357 </para> 14357 </para>
14358 <para lang="en"> 14358 <para lang="en">
14359 the duplicate value of the ngx_http_geo_module variable now causes 14359 the duplicate value of the ngx_http_geo_module variable now causes
14360 the warning and changes old value. 14360 the warning and changes old value.
14361 </para> 14361 </para>
14362 </change> 14362 </change>
14363 14363
14364 <change type="feature"> 14364 <change type="feature">
14365 <para lang="ru"> 14365 <para lang="ru">
14366 модуль ngx_http_ssi_module поддерживает команду set. 14366 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ set.
14367 </para> 14367 </para>
14368 <para lang="en"> 14368 <para lang="en">
14369 the ngx_http_ssi_module supports the "set" command. 14369 the ngx_http_ssi_module supports the "set" command.
14370 </para> 14370 </para>
14371 </change> 14371 </change>
14372 14372
14373 <change type="feature"> 14373 <change type="feature">
14374 <para lang="ru"> 14374 <para lang="ru">
14375 модуль ngx_http_ssi_module поддерживает параметр file в команде include. 14375 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ file п╡ п╨п╬п╪п╟п╫п╢п╣ include.
14376 </para> 14376 </para>
14377 <para lang="en"> 14377 <para lang="en">
14378 the ngx_http_ssi_module supports the "file" parameter in the "include" command. 14378 the ngx_http_ssi_module supports the "file" parameter in the "include" command.
14379 </para> 14379 </para>
14380 </change> 14380 </change>
14381 14381
14382 <change type="feature"> 14382 <change type="feature">
14383 <para lang="ru"> 14383 <para lang="ru">
14384 модуль ngx_http_ssi_module поддерживает подстановку значений переменных 14384 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╬п╢я│я┌п╟п╫п╬п╡п╨я┐ п╥п╫п╟я┤п╣п╫п╦п╧ п©п╣я─п╣п╪п╣п╫п╫я▀я┘
14385 в выражениях команды if. 14385 п╡ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╨п╬п╪п╟п╫п╢я▀ if.
14386 </para> 14386 </para>
14387 <para lang="en"> 14387 <para lang="en">
14388 the ngx_http_ssi_module supports the variable value substitutions in 14388 the ngx_http_ssi_module supports the variable value substitutions in
14389 expressions of the "if" command. 14389 expressions of the "if" command.
14390 </para> 14390 </para>
14395 14395
14396 <changes ver="0.2.4" date="03.10.2005"> 14396 <changes ver="0.2.4" date="03.10.2005">
14397 14397
14398 <change type="feature"> 14398 <change type="feature">
14399 <para lang="ru"> 14399 <para lang="ru">
14400 модуль ngx_http_ssi_module поддерживает выражения 14400 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀я─п╟п╤п╣п╫п╦я▐
14401 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" 14401 "$var=text", "$var!=text", "$var=/text/" п╦ "$var!=/text/"
14402 в команде if. 14402 п╡ п╨п╬п╪п╟п╫п╢п╣ if.
14403 </para> 14403 </para>
14404 <para lang="en"> 14404 <para lang="en">
14405 the ngx_http_ssi_module supports 14405 the ngx_http_ssi_module supports
14406 "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions 14406 "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
14407 in the "if" command. 14407 in the "if" command.
14408 </para> 14408 </para>
14409 </change> 14409 </change>
14410 14410
14411 <change type="bugfix"> 14411 <change type="bugfix">
14412 <para lang="ru"> 14412 <para lang="ru">
14413 ошибки при проксировании location без слэша в конце; 14413 п╬я┬п╦п╠п╨п╦ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ location п╠п╣п╥ я│п╩я█я┬п╟ п╡ п╨п╬п╫я├п╣;
14414 ошибка появилась в 0.1.44. 14414 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.44.
14415 </para> 14415 </para>
14416 <para lang="en"> 14416 <para lang="en">
14417 in proxying location without trailing slash; 14417 in proxying location without trailing slash;
14418 the bug had appeared in 0.1.44. 14418 the bug had appeared in 0.1.44.
14419 </para> 14419 </para>
14420 </change> 14420 </change>
14421 14421
14422 <change type="bugfix"> 14422 <change type="bugfix">
14423 <para lang="ru"> 14423 <para lang="ru">
14424 при использовании метода rtsig мог произойти segmentation fault; 14424 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
14425 ошибка появилась в 0.2.0. 14425 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
14426 </para> 14426 </para>
14427 <para lang="en"> 14427 <para lang="en">
14428 the segmentation fault may occurred if the "rtsig" method was used; 14428 the segmentation fault may occurred if the "rtsig" method was used;
14429 the bug had appeared in 0.2.0. 14429 the bug had appeared in 0.2.0.
14430 </para> 14430 </para>
14435 14435
14436 <changes ver="0.2.3" date="30.09.2005"> 14436 <changes ver="0.2.3" date="30.09.2005">
14437 14437
14438 <change type="bugfix"> 14438 <change type="bugfix">
14439 <para lang="ru"> 14439 <para lang="ru">
14440 nginx не собирался без параметра --with-debug; 14440 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
14441 ошибка появилась в 0.2.2. 14441 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
14442 </para> 14442 </para>
14443 <para lang="en"> 14443 <para lang="en">
14444 nginx could not be built without the --with-debug option; 14444 nginx could not be built without the --with-debug option;
14445 the bug had appeared in 0.2.2. 14445 the bug had appeared in 0.2.2.
14446 </para> 14446 </para>
14451 14451
14452 <changes ver="0.2.2" date="30.09.2005"> 14452 <changes ver="0.2.2" date="30.09.2005">
14453 14453
14454 <change type="feature"> 14454 <change type="feature">
14455 <para lang="ru"> 14455 <para lang="ru">
14456 команда config errmsg в модуле ngx_http_ssi_module. 14456 п╨п╬п╪п╟п╫п╢п╟ config errmsg п╡ п╪п╬п╢я┐п╩п╣ ngx_http_ssi_module.
14457 </para> 14457 </para>
14458 <para lang="en"> 14458 <para lang="en">
14459 the "config errmsg" command of the ngx_http_ssi_module. 14459 the "config errmsg" command of the ngx_http_ssi_module.
14460 </para> 14460 </para>
14461 </change> 14461 </change>
14462 14462
14463 <change type="change"> 14463 <change type="change">
14464 <para lang="ru"> 14464 <para lang="ru">
14465 переменные модуля ngx_http_geo_module можно переопределять директивой set. 14465 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module п╪п╬п╤п╫п╬ п©п╣я─п╣п╬п©я─п╣п╢п╣п╩я▐я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set.
14466 </para> 14466 </para>
14467 <para lang="en"> 14467 <para lang="en">
14468 the ngx_http_geo_module variables can be overridden by the "set" directive. 14468 the ngx_http_geo_module variables can be overridden by the "set" directive.
14469 </para> 14469 </para>
14470 </change> 14470 </change>
14471 14471
14472 <change type="feature"> 14472 <change type="feature">
14473 <para lang="ru"> 14473 <para lang="ru">
14474 директивы ssl_protocols и ssl_prefer_server_ciphers модулей 14474 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_protocols п╦ ssl_prefer_server_ciphers п╪п╬п╢я┐п╩п╣п╧
14475 ngx_http_ssl_module и ngx_imap_ssl_module. 14475 ngx_http_ssl_module п╦ ngx_imap_ssl_module.
14476 </para> 14476 </para>
14477 <para lang="en"> 14477 <para lang="en">
14478 the "ssl_protocols" and "ssl_prefer_server_ciphers" directives 14478 the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
14479 of the ngx_http_ssl_module and ngx_imap_ssl_module. 14479 of the ngx_http_ssl_module and ngx_imap_ssl_module.
14480 </para> 14480 </para>
14481 </change> 14481 </change>
14482 14482
14483 <change type="bugfix"> 14483 <change type="bugfix">
14484 <para lang="ru"> 14484 <para lang="ru">
14485 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 14485 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡;
14486 </para> 14486 </para>
14487 <para lang="en"> 14487 <para lang="en">
14488 the ngx_http_autoindex_module did not show correctly the long file names; 14488 the ngx_http_autoindex_module did not show correctly the long file names;
14489 </para> 14489 </para>
14490 </change> 14490 </change>
14491 14491
14492 <change type="bugfix"> 14492 <change type="bugfix">
14493 <para lang="ru"> 14493 <para lang="ru">
14494 модуль ngx_http_autoindex_module теперь не показывает файлы, 14494 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module я┌п╣п©п╣я─я▄ п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ я└п╟п╧п╩я▀,
14495 начинающиеся на точку. 14495 п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ п╫п╟ я┌п╬я┤п╨я┐.
14496 </para> 14496 </para>
14497 <para lang="en"> 14497 <para lang="en">
14498 the ngx_http_autoindex_module now do not show the files starting by dot. 14498 the ngx_http_autoindex_module now do not show the files starting by dot.
14499 </para> 14499 </para>
14500 </change> 14500 </change>
14501 14501
14502 <change type="bugfix"> 14502 <change type="bugfix">
14503 <para lang="ru"> 14503 <para lang="ru">
14504 если SSL handshake завершался с ошибкой, то это могло привести также 14504 п╣я│п╩п╦ SSL handshake п╥п╟п╡п╣я─я┬п╟п╩я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧, я┌п╬ я█я┌п╬ п╪п╬пЁп╩п╬ п©я─п╦п╡п╣я│я┌п╦ я┌п╟п╨п╤п╣
14505 к закрытию другого соединения.<br/> 14505 п╨ п╥п╟п╨я─я▀я┌п╦я▌ п╢я─я┐пЁп╬пЁп╬ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.<br/>
14506 Спасибо Rob Mueller. 14506 п║п©п╟я│п╦п╠п╬ Rob Mueller.
14507 </para> 14507 </para>
14508 <para lang="en"> 14508 <para lang="en">
14509 if the SSL handshake failed then another connection may be closed too.<br/> 14509 if the SSL handshake failed then another connection may be closed too.<br/>
14510 Thanks to Rob Mueller. 14510 Thanks to Rob Mueller.
14511 </para> 14511 </para>
14512 </change> 14512 </change>
14513 14513
14514 <change type="bugfix"> 14514 <change type="bugfix">
14515 <para lang="ru"> 14515 <para lang="ru">
14516 экспортные версии MSIE 5.x не могли соединиться по HTTPS. 14516 я█п╨я│п©п╬я─я┌п╫я▀п╣ п╡п╣я─я│п╦п╦ MSIE 5.x п╫п╣ п╪п╬пЁп╩п╦ я│п╬п╣п╢п╦п╫п╦я┌я▄я│я▐ п©п╬ HTTPS.
14517 </para> 14517 </para>
14518 <para lang="en"> 14518 <para lang="en">
14519 the export versions of MSIE 5.x could not connect via HTTPS. 14519 the export versions of MSIE 5.x could not connect via HTTPS.
14520 </para> 14520 </para>
14521 </change> 14521 </change>
14525 14525
14526 <changes ver="0.2.1" date="23.09.2005"> 14526 <changes ver="0.2.1" date="23.09.2005">
14527 14527
14528 <change type="bugfix"> 14528 <change type="bugfix">
14529 <para lang="ru"> 14529 <para lang="ru">
14530 если все бэкенды, используемые для балансировки нагрузки, оказывались 14530 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╢п╩я▐ п╠п╟п╩п╟п╫я│п╦я─п╬п╡п╨п╦ п╫п╟пЁя─я┐п╥п╨п╦, п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄
14531 в нерабочем состоянии после одной ошибки, то nginx мог зациклится; 14531 п╡ п╫п╣я─п╟п╠п╬я┤п╣п╪ я│п╬я│я┌п╬я▐п╫п╦п╦ п©п╬я│п╩п╣ п╬п╢п╫п╬п╧ п╬я┬п╦п╠п╨п╦, я┌п╬ nginx п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я│я▐;
14532 ошибка появилась в 0.2.0. 14532 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
14533 </para> 14533 </para>
14534 <para lang="en"> 14534 <para lang="en">
14535 if all backend using in load-balancing failed after one error, then 14535 if all backend using in load-balancing failed after one error, then
14536 nginx may got caught in an endless loop; 14536 nginx may got caught in an endless loop;
14537 the bug had appeared in 0.2.0. 14537 the bug had appeared in 0.2.0.
14543 14543
14544 <changes ver="0.2.0" date="23.09.2005"> 14544 <changes ver="0.2.0" date="23.09.2005">
14545 14545
14546 <change> 14546 <change>
14547 <para lang="ru"> 14547 <para lang="ru">
14548 Изменились имена pid-файлов, используемые во время обновления исполняемого 14548 п≤п╥п╪п╣п╫п╦п╩п╦я│я▄ п╦п╪п╣п╫п╟ pid-я└п╟п╧п╩п╬п╡, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬
14549 файла. Ручное переименование теперь не нужно. 14549 я└п╟п╧п╩п╟. п═я┐я┤п╫п╬п╣ п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╦п╣ я┌п╣п©п╣я─я▄ п╫п╣ п╫я┐п╤п╫п╬.
14550 Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin" 14550 п║я┌п╟я─я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╢п╬п╠п╟п╡п╩я▐п╣я┌ п╨ я│п╡п╬п╣п╪я┐ pid-я└п╟п╧п╩ я│я┐я└я└п╦п╨я│ ".oldbin"
14551 и запускает новый исполняемый файл. 14551 п╦ п╥п╟п©я┐я│п╨п╟п╣я┌ п╫п╬п╡я▀п╧ п╦я│п©п╬п╩п╫я▐п╣п╪я▀п╧ я└п╟п╧п╩.
14552 Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin". 14552 п²п╬п╡я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ я│п╬п╥п╢п╟я▒я┌ п╬п╠я▀я┤п╫я▀п╧ pid-я└п╟п╧п╩ п╠п╣п╥ я│я┐я└я└п╦п╨я│п╟ ".newbin".
14553 Если новый основной процесс выходит, то старый процесс переименовывает свой 14553 п∙я│п╩п╦ п╫п╬п╡я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╡я▀я┘п╬п╢п╦я┌, я┌п╬ я│я┌п╟я─я▀п╧ п©я─п╬я├п╣я│я│ п©п╣я─п╣п╦п╪п╣п╫п╬п╡я▀п╡п╟п╣я┌ я│п╡п╬п╧
14554 pid-файл c суффиксом ".oldbin" в pid-файл без суффикса. 14554 pid-я└п╟п╧п╩ c я│я┐я└я└п╦п╨я│п╬п╪ ".oldbin" п╡ pid-я└п╟п╧п╩ п╠п╣п╥ я│я┐я└я└п╦п╨я│п╟.
14555 При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба 14555 п÷я─п╦ п╬п╠п╫п╬п╡п╩п╣п╫п╦п╦ я│ п╡п╣я─я│п╦п╦ 0.1.я┘ п╢п╬ 0.2.0 п╫я┐п╤п╫п╬ я┐я┤п╦я┌я▀п╡п╟я┌я▄, я┤я┌п╬ п╬п╠п╟
14556 процесса&mdash;старый 0.1.x и новый 0.2.0&mdash;используют pid-файл 14556 п©я─п╬я├п╣я│я│п╟&mdash;я│я┌п╟я─я▀п╧ 0.1.x п╦ п╫п╬п╡я▀п╧ 0.2.0&mdash;п╦я│п©п╬п╩я▄п╥я┐я▌я┌ pid-я└п╟п╧п╩
14557 без суффиксов. 14557 п╠п╣п╥ я│я┐я└я└п╦п╨я│п╬п╡.
14558 </para> 14558 </para>
14559 <para lang="en"> 14559 <para lang="en">
14560 The pid-file names used during online upgrade was changed and now is not 14560 The pid-file names used during online upgrade was changed and now is not
14561 required a manual rename operation. 14561 required a manual rename operation.
14562 The old master process adds the ".oldbin" suffix to its pid-file and 14562 The old master process adds the ".oldbin" suffix to its pid-file and
14567 </para> 14567 </para>
14568 </change> 14568 </change>
14569 14569
14570 <change type="change"> 14570 <change type="change">
14571 <para lang="ru"> 14571 <para lang="ru">
14572 директива worker_connections, новое название директивы connections; 14572 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_connections, п╫п╬п╡п╬п╣ п╫п╟п╥п╡п╟п╫п╦п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ connections;
14573 директива теперь задаёт максимальное число соединений, 14573 п╢п╦я─п╣п╨я┌п╦п╡п╟ я┌п╣п©п╣я─я▄ п╥п╟п╢п╟я▒я┌ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╬п╣ я┤п╦я│п╩п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧,
14574 а не максимально возможный номер дескриптора для сокета. 14574 п╟ п╫п╣ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╬ п╡п╬п╥п╪п╬п╤п╫я▀п╧ п╫п╬п╪п╣я─ п╢п╣я│п╨я─п╦п©я┌п╬я─п╟ п╢п╩я▐ я│п╬п╨п╣я┌п╟.
14575 </para> 14575 </para>
14576 <para lang="en"> 14576 <para lang="en">
14577 the "worker_connections" directive, new name of the "connections" directive; 14577 the "worker_connections" directive, new name of the "connections" directive;
14578 now the directive specifies maximum number of connections, 14578 now the directive specifies maximum number of connections,
14579 but not maximum socket descriptor number. 14579 but not maximum socket descriptor number.
14580 </para> 14580 </para>
14581 </change> 14581 </change>
14582 14582
14583 <change type="feature"> 14583 <change type="feature">
14584 <para lang="ru"> 14584 <para lang="ru">
14585 SSL поддерживает кэширование сессий в пределах одного рабочего процесса. 14585 SSL п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╣ я│п╣я│я│п╦п╧ п╡ п©я─п╣п╢п╣п╩п╟я┘ п╬п╢п╫п╬пЁп╬ я─п╟п╠п╬я┤п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
14586 </para> 14586 </para>
14587 <para lang="en"> 14587 <para lang="en">
14588 SSL supports the session cache inside one worker process. 14588 SSL supports the session cache inside one worker process.
14589 </para> 14589 </para>
14590 </change> 14590 </change>
14591 14591
14592 <change type="feature"> 14592 <change type="feature">
14593 <para lang="ru"> 14593 <para lang="ru">
14594 директива satisfy_any. 14594 п╢п╦я─п╣п╨я┌п╦п╡п╟ satisfy_any.
14595 </para> 14595 </para>
14596 <para lang="en"> 14596 <para lang="en">
14597 the "satisfy_any" directive. 14597 the "satisfy_any" directive.
14598 </para> 14598 </para>
14599 </change> 14599 </change>
14600 14600
14601 <change type="change"> 14601 <change type="change">
14602 <para lang="ru"> 14602 <para lang="ru">
14603 модули ngx_http_access_module и ngx_http_auth_basic_module не работают 14603 п╪п╬п╢я┐п╩п╦ ngx_http_access_module п╦ ngx_http_auth_basic_module п╫п╣ я─п╟п╠п╬я┌п╟я▌я┌
14604 для подзапросов. 14604 п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
14605 </para> 14605 </para>
14606 <para lang="en"> 14606 <para lang="en">
14607 the ngx_http_access_module and ngx_http_auth_basic_module do not run 14607 the ngx_http_access_module and ngx_http_auth_basic_module do not run
14608 for subrequests. 14608 for subrequests.
14609 </para> 14609 </para>
14610 </change> 14610 </change>
14611 14611
14612 <change type="feature"> 14612 <change type="feature">
14613 <para lang="ru"> 14613 <para lang="ru">
14614 директивы worker_rlimit_nofile и worker_rlimit_sigpending. 14614 п╢п╦я─п╣п╨я┌п╦п╡я▀ worker_rlimit_nofile п╦ worker_rlimit_sigpending.
14615 </para> 14615 </para>
14616 <para lang="en"> 14616 <para lang="en">
14617 the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives. 14617 the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
14618 </para> 14618 </para>
14619 </change> 14619 </change>
14620 14620
14621 <change type="bugfix"> 14621 <change type="bugfix">
14622 <para lang="ru"> 14622 <para lang="ru">
14623 если все бэкенды, используемые для балансировки нагрузки, оказывались 14623 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╢п╩я▐ п╠п╟п╩п╟п╫я│п╦я─п╬п╡п╨п╦ п╫п╟пЁя─я┐п╥п╨п╦, п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄
14624 в нерабочем состоянии после одной ошибки, то nginx не обращался к ним 14624 п╡ п╫п╣я─п╟п╠п╬я┤п╣п╪ я│п╬я│я┌п╬я▐п╫п╦п╦ п©п╬я│п╩п╣ п╬п╢п╫п╬п╧ п╬я┬п╦п╠п╨п╦, я┌п╬ nginx п╫п╣ п╬п╠я─п╟я┴п╟п╩я│я▐ п╨ п╫п╦п╪
14625 в течение 60 секунд. 14625 п╡ я┌п╣я┤п╣п╫п╦п╣ 60 я│п╣п╨я┐п╫п╢.
14626 </para> 14626 </para>
14627 <para lang="en"> 14627 <para lang="en">
14628 if all backend using in load-balancing failed after one error, then 14628 if all backend using in load-balancing failed after one error, then
14629 nginx did not try do connect to them during 60 seconds. 14629 nginx did not try do connect to them during 60 seconds.
14630 </para> 14630 </para>
14631 </change> 14631 </change>
14632 14632
14633 <change type="bugfix"> 14633 <change type="bugfix">
14634 <para lang="ru"> 14634 <para lang="ru">
14635 в парсинге аргументов IMAP/POP3 команд.<br/> 14635 п╡ п©п╟я─я│п╦п╫пЁп╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ IMAP/POP3 п╨п╬п╪п╟п╫п╢.<br/>
14636 Спасибо Rob Mueller. 14636 п║п©п╟я│п╦п╠п╬ Rob Mueller.
14637 </para> 14637 </para>
14638 <para lang="en"> 14638 <para lang="en">
14639 in IMAP/POP3 command argument parsing.<br/> 14639 in IMAP/POP3 command argument parsing.<br/>
14640 Thanks to Rob Mueller. 14640 Thanks to Rob Mueller.
14641 </para> 14641 </para>
14642 </change> 14642 </change>
14643 14643
14644 <change type="bugfix"> 14644 <change type="bugfix">
14645 <para lang="ru"> 14645 <para lang="ru">
14646 ошибки при использовании SSL в IMAP/POP3 прокси. 14646 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
14647 </para> 14647 </para>
14648 <para lang="en"> 14648 <para lang="en">
14649 errors while using SSL in IMAP/POP3 proxy. 14649 errors while using SSL in IMAP/POP3 proxy.
14650 </para> 14650 </para>
14651 </change> 14651 </change>
14652 14652
14653 <change type="bugfix"> 14653 <change type="bugfix">
14654 <para lang="ru"> 14654 <para lang="ru">
14655 ошибки при использовании SSI и сжатия. 14655 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI п╦ я│п╤п╟я┌п╦я▐.
14656 </para> 14656 </para>
14657 <para lang="en"> 14657 <para lang="en">
14658 errors while using SSI and gzipping. 14658 errors while using SSI and gzipping.
14659 </para> 14659 </para>
14660 </change> 14660 </change>
14661 14661
14662 <change type="bugfix"> 14662 <change type="bugfix">
14663 <para lang="ru"> 14663 <para lang="ru">
14664 в ответах 304 не добавлялись строки заголовка ответа "Expires" и 14664 п╡ п╬я┌п╡п╣я┌п╟я┘ 304 п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩п╦я│я▄ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Expires" п╦
14665 "Cache-Control".<br/> 14665 "Cache-Control".<br/>
14666 Спасибо Александру Кукушкину. 14666 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п я┐п╨я┐я┬п╨п╦п╫я┐.
14667 </para> 14667 </para>
14668 <para lang="en"> 14668 <para lang="en">
14669 the "Expires" and "Cache-Control" header lines were omitted 14669 the "Expires" and "Cache-Control" header lines were omitted
14670 from the 304 responses.<br/> 14670 from the 304 responses.<br/>
14671 Thanks to Alexandr Kukushkin. 14671 Thanks to Alexandr Kukushkin.
14677 14677
14678 <changes ver="0.1.45" date="08.09.2005"> 14678 <changes ver="0.1.45" date="08.09.2005">
14679 14679
14680 <change type="change"> 14680 <change type="change">
14681 <para lang="ru"> 14681 <para lang="ru">
14682 директива ssl_engine упразднена в модуле ngx_http_ssl_module и 14682 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_engine я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_ssl_module п╦
14683 перенесена на глобальный уровень. 14683 п©п╣я─п╣п╫п╣я│п╣п╫п╟ п╫п╟ пЁп╩п╬п╠п╟п╩я▄п╫я▀п╧ я┐я─п╬п╡п╣п╫я▄.
14684 </para> 14684 </para>
14685 <para lang="en"> 14685 <para lang="en">
14686 the "ssl_engine" directive was canceled in the ngx_http_ssl_module 14686 the "ssl_engine" directive was canceled in the ngx_http_ssl_module
14687 and now is introduced at global level. 14687 and now is introduced at global level.
14688 </para> 14688 </para>
14689 </change> 14689 </change>
14690 14690
14691 <change type="bugfix"> 14691 <change type="bugfix">
14692 <para lang="ru"> 14692 <para lang="ru">
14693 ответы с подзапросами, включённые с помощью SSI, не передавались 14693 п╬я┌п╡п╣я┌я▀ я│ п©п╬п╢п╥п╟п©я─п╬я│п╟п╪п╦, п╡п╨п╩я▌я┤я▒п╫п╫я▀п╣ я│ п©п╬п╪п╬я┴я▄я▌ SSI, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
14694 через SSL соединение. 14694 я┤п╣я─п╣п╥ SSL я│п╬п╣п╢п╦п╫п╣п╫п╦п╣.
14695 </para> 14695 </para>
14696 <para lang="en"> 14696 <para lang="en">
14697 the responses with SSI subrequests did not transferred via SSL connection. 14697 the responses with SSI subrequests did not transferred via SSL connection.
14698 </para> 14698 </para>
14699 </change> 14699 </change>
14700 14700
14701 <change> 14701 <change>
14702 <para lang="ru"> 14702 <para lang="ru">
14703 Разные исправления в IMAP/POP3 прокси. 14703 п═п╟п╥п╫я▀п╣ п╦я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
14704 </para> 14704 </para>
14705 <para lang="en"> 14705 <para lang="en">
14706 Various bug fixes in the IMAP/POP3 proxy. 14706 Various bug fixes in the IMAP/POP3 proxy.
14707 </para> 14707 </para>
14708 </change> 14708 </change>
14712 14712
14713 <changes ver="0.1.44" date="06.09.2005"> 14713 <changes ver="0.1.44" date="06.09.2005">
14714 14714
14715 <change type="feature"> 14715 <change type="feature">
14716 <para lang="ru"> 14716 <para lang="ru">
14717 IMAP/POP3 прокси поддерживает SSL. 14717 IMAP/POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ SSL.
14718 </para> 14718 </para>
14719 <para lang="en"> 14719 <para lang="en">
14720 the IMAP/POP3 proxy supports SSL. 14720 the IMAP/POP3 proxy supports SSL.
14721 </para> 14721 </para>
14722 </change> 14722 </change>
14723 14723
14724 <change type="feature"> 14724 <change type="feature">
14725 <para lang="ru"> 14725 <para lang="ru">
14726 директива proxy_timeout модуля ngx_imap_proxy_module. 14726 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_timeout п╪п╬п╢я┐п╩я▐ ngx_imap_proxy_module.
14727 </para> 14727 </para>
14728 <para lang="en"> 14728 <para lang="en">
14729 the "proxy_timeout" directive of the ngx_imap_proxy_module. 14729 the "proxy_timeout" directive of the ngx_imap_proxy_module.
14730 </para> 14730 </para>
14731 </change> 14731 </change>
14732 14732
14733 <change type="feature"> 14733 <change type="feature">
14734 <para lang="ru"> 14734 <para lang="ru">
14735 директива userid_mark. 14735 п╢п╦я─п╣п╨я┌п╦п╡п╟ userid_mark.
14736 </para> 14736 </para>
14737 <para lang="en"> 14737 <para lang="en">
14738 the "userid_mark" directive. 14738 the "userid_mark" directive.
14739 </para> 14739 </para>
14740 </change> 14740 </change>
14741 14741
14742 <change type="feature"> 14742 <change type="feature">
14743 <para lang="ru"> 14743 <para lang="ru">
14744 значение переменной $remote_user определяется независимо от того, 14744 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $remote_user п╬п©я─п╣п╢п╣п╩я▐п╣я┌я│я▐ п╫п╣п╥п╟п╡п╦я│п╦п╪п╬ п╬я┌ я┌п╬пЁп╬,
14745 используется ли авторизация или нет. 14745 п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╩п╦ п╟п╡я┌п╬я─п╦п╥п╟я├п╦я▐ п╦п╩п╦ п╫п╣я┌.
14746 </para> 14746 </para>
14747 <para lang="en"> 14747 <para lang="en">
14748 the $remote_user variable value is determined independently of 14748 the $remote_user variable value is determined independently of
14749 authorization use. 14749 authorization use.
14750 </para> 14750 </para>
14755 14755
14756 <changes ver="0.1.43" date="30.08.2005"> 14756 <changes ver="0.1.43" date="30.08.2005">
14757 14757
14758 <change type="feature"> 14758 <change type="feature">
14759 <para lang="ru"> 14759 <para lang="ru">
14760 listen(2) backlog в директиве listen можно менять по сигналу -HUP. 14760 listen(2) backlog п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╪п╬п╤п╫п╬ п╪п╣п╫я▐я┌я▄ п©п╬ я│п╦пЁп╫п╟п╩я┐ -HUP.
14761 </para> 14761 </para>
14762 <para lang="en"> 14762 <para lang="en">
14763 the listen(2) backlog in the "listen" directive 14763 the listen(2) backlog in the "listen" directive
14764 can be changed using the -HUP signal. 14764 can be changed using the -HUP signal.
14765 </para> 14765 </para>
14766 </change> 14766 </change>
14767 14767
14768 <change type="feature"> 14768 <change type="feature">
14769 <para lang="ru"> 14769 <para lang="ru">
14770 скрипт geo2nginx.pl добавлен в contrib. 14770 я│п╨я─п╦п©я┌ geo2nginx.pl п╢п╬п╠п╟п╡п╩п╣п╫ п╡ contrib.
14771 </para> 14771 </para>
14772 <para lang="en"> 14772 <para lang="en">
14773 the geo2nginx.pl script was added to contrib. 14773 the geo2nginx.pl script was added to contrib.
14774 </para> 14774 </para>
14775 </change> 14775 </change>
14776 14776
14777 <change type="change"> 14777 <change type="change">
14778 <para lang="ru"> 14778 <para lang="ru">
14779 параметры FastCGI с пустым значениями теперь передаются серверу. 14779 п©п╟я─п╟п╪п╣я┌я─я▀ FastCGI я│ п©я┐я│я┌я▀п╪ п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦ я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▌я┌я│я▐ я│п╣я─п╡п╣я─я┐.
14780 </para> 14780 </para>
14781 <para lang="en"> 14781 <para lang="en">
14782 the FastCGI parameters with the empty values now are passed to a server. 14782 the FastCGI parameters with the empty values now are passed to a server.
14783 </para> 14783 </para>
14784 </change> 14784 </change>
14785 14785
14786 <!-- 14786 <!--
14787 14787
14788 <change type="bugfix"> 14788 <change type="bugfix">
14789 <para lang="ru"> 14789 <para lang="ru">
14790 при ошибках в работе с проксированным сервером или FastCGI сервером 14790 п©я─п╦ п╬я┬п╦п╠п╨п╟я┘ п╡ я─п╟п╠п╬я┌п╣ я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪ я│п╣я─п╡п╣я─п╬п╪ п╦п╩п╦ FastCGI я│п╣я─п╡п╣я─п╬п╪
14791 мог произойти segmentation fault; 14791 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
14792 в режиме прокси ошибка появилась в 0.1.29. 14792 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14793 </para> 14793 </para>
14794 <para lang="en"> 14794 <para lang="en">
14795 the segmentation fault may occurred if there were errors while 14795 the segmentation fault may occurred if there were errors while
14796 working with proxied or FastCGI server; 14796 working with proxied or FastCGI server;
14797 in the proxied mode the the bug had appeared in 0.1.29. 14797 in the proxied mode the the bug had appeared in 0.1.29.
14800 14800
14801 --> 14801 -->
14802 14802
14803 <change type="bugfix"> 14803 <change type="bugfix">
14804 <para lang="ru"> 14804 <para lang="ru">
14805 если в ответе проксированного сервера или FastCGI сервера была строка 14805 п╣я│п╩п╦ п╡ п╬я┌п╡п╣я┌п╣ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╦п╩п╦ FastCGI я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟
14806 "Cache-Control", то при использовании директивы expires происходил 14806 "Cache-Control", я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ expires п©я─п╬п╦я│я┘п╬п╢п╦п╩
14807 segmentation fault или рабочий процесс мог зациклится; 14807 segmentation fault п╦п╩п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я│я▐;
14808 в режиме прокси ошибка появилась в 0.1.29. 14808 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14809 </para> 14809 </para>
14810 <para lang="en"> 14810 <para lang="en">
14811 the segmentation fault occurred or the worker process may got caught 14811 the segmentation fault occurred or the worker process may got caught
14812 in an endless loop if the proxied or FastCGI server sent the "Cache-Control" 14812 in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
14813 header line and the "expires" directive was used; 14813 header line and the "expires" directive was used;
14820 14820
14821 <changes ver="0.1.42" date="23.08.2005"> 14821 <changes ver="0.1.42" date="23.08.2005">
14822 14822
14823 <change type="bugfix"> 14823 <change type="bugfix">
14824 <para lang="ru"> 14824 <para lang="ru">
14825 если URI запроса получался нулевой длины после обработки модулем 14825 п╣я│п╩п╦ URI п╥п╟п©я─п╬я│п╟ п©п╬п╩я┐я┤п╟п╩я│я▐ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀ п©п╬я│п╩п╣ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╪п╬п╢я┐п╩п╣п╪
14826 ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил 14826 ngx_http_rewrite_module, я┌п╬ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module п©я─п╬п╦я│я┘п╬п╢п╦п╩
14827 segmentation fault или bus error. 14827 segmentation fault п╦п╩п╦ bus error.
14828 </para> 14828 </para>
14829 <para lang="en"> 14829 <para lang="en">
14830 if the request URI had a zero length after the processing in 14830 if the request URI had a zero length after the processing in
14831 the ngx_http_proxy_module, then the segmentation fault or bus error occurred 14831 the ngx_http_proxy_module, then the segmentation fault or bus error occurred
14832 in the ngx_http_proxy_module. 14832 in the ngx_http_proxy_module.
14833 </para> 14833 </para>
14834 </change> 14834 </change>
14835 14835
14836 <change type="bugfix"> 14836 <change type="bugfix">
14837 <para lang="ru"> 14837 <para lang="ru">
14838 директива limit_rate не работала внутри блока if; 14838 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if;
14839 ошибка появилась в 0.1.38. 14839 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
14840 </para> 14840 </para>
14841 <para lang="en"> 14841 <para lang="en">
14842 the "limit_rate" directive did not work inside the "if" block; 14842 the "limit_rate" directive did not work inside the "if" block;
14843 the bug had appeared in 0.1.38. 14843 the bug had appeared in 0.1.38.
14844 </para> 14844 </para>
14849 14849
14850 <changes ver="0.1.41" date="25.07.2005"> 14850 <changes ver="0.1.41" date="25.07.2005">
14851 14851
14852 <change type="bugfix"> 14852 <change type="bugfix">
14853 <para lang="ru"> 14853 <para lang="ru">
14854 если переменная использовалась в файле конфигурации, 14854 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╡ я└п╟п╧п╩п╣ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦,
14855 то она не могла использоваться в SSI. 14855 я┌п╬ п╬п╫п╟ п╫п╣ п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ SSI.
14856 </para> 14856 </para>
14857 <para lang="en"> 14857 <para lang="en">
14858 if the variable was used in the configuration file, 14858 if the variable was used in the configuration file,
14859 then it can not be used in SSI. 14859 then it can not be used in SSI.
14860 </para> 14860 </para>
14865 14865
14866 <changes ver="0.1.40" date="22.07.2005"> 14866 <changes ver="0.1.40" date="22.07.2005">
14867 14867
14868 <change type="bugfix"> 14868 <change type="bugfix">
14869 <para lang="ru"> 14869 <para lang="ru">
14870 если клиент слал очень длинную строку заголовка, то в логе не помещалась 14870 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ я│п╩п╟п╩ п╬я┤п╣п╫я▄ п╢п╩п╦п╫п╫я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟, я┌п╬ п╡ п╩п╬пЁп╣ п╫п╣ п©п╬п╪п╣я┴п╟п╩п╟я│я▄
14871 информация, связанная с этим запросом. 14871 п╦п╫я└п╬я─п╪п╟я├п╦я▐, я│п╡я▐п╥п╟п╫п╫п╟я▐ я│ я█я┌п╦п╪ п╥п╟п©я─п╬я│п╬п╪.
14872 </para> 14872 </para>
14873 <para lang="en"> 14873 <para lang="en">
14874 if a client sent too long header line, then the request information 14874 if a client sent too long header line, then the request information
14875 did not logged in the error log. 14875 did not logged in the error log.
14876 </para> 14876 </para>
14877 </change> 14877 </change>
14878 14878
14879 <change type="bugfix"> 14879 <change type="bugfix">
14880 <para lang="ru"> 14880 <para lang="ru">
14881 при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie"; 14881 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟ "Set-Cookie";
14882 ошибка появилась в 0.1.39. 14882 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.39.
14883 </para> 14883 </para>
14884 <para lang="en"> 14884 <para lang="en">
14885 the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect" 14885 the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
14886 was used; 14886 was used;
14887 the bug had appeared in 0.1.39. 14887 the bug had appeared in 0.1.39.
14888 </para> 14888 </para>
14889 </change> 14889 </change>
14890 14890
14891 <change type="bugfix"> 14891 <change type="bugfix">
14892 <para lang="ru"> 14892 <para lang="ru">
14893 при использовании "X-Accel-Redirect" не передавалась строка 14893 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟
14894 "Content-Disposition". 14894 "Content-Disposition".
14895 </para> 14895 </para>
14896 <para lang="en"> 14896 <para lang="en">
14897 the "Content-Disposition" header line was not transferred when 14897 the "Content-Disposition" header line was not transferred when
14898 the "X-Accel-Redirect" was used. 14898 the "X-Accel-Redirect" was used.
14899 </para> 14899 </para>
14900 </change> 14900 </change>
14901 14901
14902 <change type="bugfix"> 14902 <change type="bugfix">
14903 <para lang="ru"> 14903 <para lang="ru">
14904 по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал. 14904 п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGQUIT п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╨п╣я┌я▀, п╫п╟ п╨п╬я┌п╬я─я▀я┘ п╬п╫ я│п╩я┐я┬п╟п╩.
14905 </para> 14905 </para>
14906 <para lang="en"> 14906 <para lang="en">
14907 the master process did not close the listen socket on the SIGQUIT signal. 14907 the master process did not close the listen socket on the SIGQUIT signal.
14908 </para> 14908 </para>
14909 </change> 14909 </change>
14910 14910
14911 <change type="bugfix"> 14911 <change type="bugfix">
14912 <para lang="ru"> 14912 <para lang="ru">
14913 после обновления исполняемого файла на лету на Linux и Solaris 14913 п©п╬я│п╩п╣ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╟ п╩п╣я┌я┐ п╫п╟ Linux п╦ Solaris
14914 название процесса в команде ps становилось короче. 14914 п╫п╟п╥п╡п╟п╫п╦п╣ п©я─п╬я├п╣я│я│п╟ п╡ п╨п╬п╪п╟п╫п╢п╣ ps я│я┌п╟п╫п╬п╡п╦п╩п╬я│я▄ п╨п╬я─п╬я┤п╣.
14915 </para> 14915 </para>
14916 <para lang="en"> 14916 <para lang="en">
14917 after on-line upgrade on Linux and Solaris the process name 14917 after on-line upgrade on Linux and Solaris the process name
14918 became shorter in the "ps" command. 14918 became shorter in the "ps" command.
14919 </para> 14919 </para>
14924 14924
14925 <changes ver="0.1.39" date="14.07.2005"> 14925 <changes ver="0.1.39" date="14.07.2005">
14926 14926
14927 <change> 14927 <change>
14928 <para lang="ru"> 14928 <para lang="ru">
14929 Изменения в модуле ngx_http_charset_module: 14929 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_charset_module:
14930 директива default_charset упразднена; 14930 п╢п╦я─п╣п╨я┌п╦п╡п╟ default_charset я┐п©я─п╟п╥п╢п╫п╣п╫п╟;
14931 директива charset задаёт кодировку ответа; 14931 п╢п╦я─п╣п╨я┌п╦п╡п╟ charset п╥п╟п╢п╟я▒я┌ п╨п╬п╢п╦я─п╬п╡п╨я┐ п╬я┌п╡п╣я┌п╟;
14932 директива source_charset задаёт только исходную кодировку. 14932 п╢п╦я─п╣п╨я┌п╦п╡п╟ source_charset п╥п╟п╢п╟я▒я┌ я┌п╬п╩я▄п╨п╬ п╦я│я┘п╬п╢п╫я┐я▌ п╨п╬п╢п╦я─п╬п╡п╨я┐.
14933 </para> 14933 </para>
14934 <para lang="en"> 14934 <para lang="en">
14935 The changes in the ngx_http_charset_module: 14935 The changes in the ngx_http_charset_module:
14936 the "default_charset" directive was canceled; 14936 the "default_charset" directive was canceled;
14937 the "charset" directive sets the response charset; 14937 the "charset" directive sets the response charset;
14939 </para> 14939 </para>
14940 </change> 14940 </change>
14941 14941
14942 <change type="bugfix"> 14942 <change type="bugfix">
14943 <para lang="ru"> 14943 <para lang="ru">
14944 при перенаправлении ошибки 401, полученной от бэкенда, не передавалась 14944 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╨п╦ 401, п©п╬п╩я┐я┤п╣п╫п╫п╬п╧ п╬я┌ п╠я█п╨п╣п╫п╢п╟, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄
14945 строка заголовка "WWW-Authenticate". 14945 я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "WWW-Authenticate".
14946 </para> 14946 </para>
14947 <para lang="en"> 14947 <para lang="en">
14948 the backend "WWW-Authenticate" header line did not transferred while 14948 the backend "WWW-Authenticate" header line did not transferred while
14949 the 401 response code redirecting. 14949 the 401 response code redirecting.
14950 </para> 14950 </para>
14951 </change> 14951 </change>
14952 14952
14953 <change type="bugfix"> 14953 <change type="bugfix">
14954 <para lang="ru"> 14954 <para lang="ru">
14955 модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть 14955 п╪п╬п╢я┐п╩п╦ ngx_http_proxy_module п╦ ngx_http_fastcgi_module п╪п╬пЁп╩п╦ п╥п╟п╨я─я▀я┌я▄
14956 соединение до того, как что-нибудь было передано клиенту; 14956 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п╢п╬ я┌п╬пЁп╬, п╨п╟п╨ я┤я┌п╬-п╫п╦п╠я┐п╢я▄ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╫п╬ п╨п╩п╦п╣п╫я┌я┐;
14957 ошибка появилась в 0.1.38. 14957 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
14958 </para> 14958 </para>
14959 <para lang="en"> 14959 <para lang="en">
14960 the ngx_http_proxy_module and ngx_http_fastcgi_module may close 14960 the ngx_http_proxy_module and ngx_http_fastcgi_module may close
14961 a connection before anything was transferred to a client; 14961 a connection before anything was transferred to a client;
14962 the bug had appeared in 0.1.38. 14962 the bug had appeared in 0.1.38.
14963 </para> 14963 </para>
14964 </change> 14964 </change>
14965 14965
14966 <change type="workaround"> 14966 <change type="workaround">
14967 <para lang="ru"> 14967 <para lang="ru">
14968 обработка ошибки инициализации в crypt_r() в Linux glibc. 14968 п╬п╠я─п╟п╠п╬я┌п╨п╟ п╬я┬п╦п╠п╨п╦ п╦п╫п╦я├п╦п╟п╩п╦п╥п╟я├п╦п╦ п╡ crypt_r() п╡ Linux glibc.
14969 </para> 14969 </para>
14970 <para lang="en"> 14970 <para lang="en">
14971 the Linux glibc crypt_r() initialization bug. 14971 the Linux glibc crypt_r() initialization bug.
14972 </para> 14972 </para>
14973 </change> 14973 </change>
14974 14974
14975 <change type="bugfix"> 14975 <change type="bugfix">
14976 <para lang="ru"> 14976 <para lang="ru">
14977 модуль ngx_http_ssi_module не поддерживал относительные URI в 14977 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╣ URI п╡
14978 команде include virtual. 14978 п╨п╬п╪п╟п╫п╢п╣ include virtual.
14979 </para> 14979 </para>
14980 <para lang="en"> 14980 <para lang="en">
14981 the ngx_http_ssi_module did not support the relative URI in 14981 the ngx_http_ssi_module did not support the relative URI in
14982 the "include virtual" command. 14982 the "include virtual" command.
14983 </para> 14983 </para>
14984 </change> 14984 </change>
14985 14985
14986 <change type="bugfix"> 14986 <change type="bugfix">
14987 <para lang="ru"> 14987 <para lang="ru">
14988 если в строке заголовка ответа бэкенда была строка "Location", 14988 п╣я│п╩п╦ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ "Location",
14989 которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки; 14989 п╨п╬я┌п╬я─я┐я▌ nginx п╫п╣ п╢п╬п╩п╤п╣п╫ п╠я▀п╩ п╦п╥п╪п╣п╫я▐я┌я▄, я┌п╬ п╡ п╬я┌п╡п╣я┌п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ я┌п╣п╩п╬ 500 п╬я┬п╦п╠п╨п╦;
14990 ошибка появилась в 0.1.29. 14990 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14991 </para> 14991 </para>
14992 <para lang="en"> 14992 <para lang="en">
14993 if the backend response had the "Location" header line and nginx 14993 if the backend response had the "Location" header line and nginx
14994 should not rewrite this line, then the 500 code response body was transferred; 14994 should not rewrite this line, then the 500 code response body was transferred;
14995 the bug had appeared in 0.1.29. 14995 the bug had appeared in 0.1.29.
14996 </para> 14996 </para>
14997 </change> 14997 </change>
14998 14998
14999 <change type="bugfix"> 14999 <change type="bugfix">
15000 <para lang="ru"> 15000 <para lang="ru">
15001 некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module 15001 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╪п╬п╢я┐п╩п╣п╧ ngx_http_proxy_module п╦ ngx_http_fastcgi_module
15002 не наследовались с уровня server на уровень location; 15002 п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄ я│ я┐я─п╬п╡п╫я▐ server п╫п╟ я┐я─п╬п╡п╣п╫я▄ location;
15003 ошибка появилась в 0.1.29. 15003 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15004 </para> 15004 </para>
15005 <para lang="en"> 15005 <para lang="en">
15006 some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module 15006 some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
15007 were not inherited from the server to the location level; 15007 were not inherited from the server to the location level;
15008 the bug had appeared in 0.1.29. 15008 the bug had appeared in 0.1.29.
15009 </para> 15009 </para>
15010 </change> 15010 </change>
15011 15011
15012 <change type="bugfix"> 15012 <change type="bugfix">
15013 <para lang="ru"> 15013 <para lang="ru">
15014 модуль ngx_http_ssl_module не поддерживал цепочки сертификатов. 15014 п╪п╬п╢я┐п╩я▄ ngx_http_ssl_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ я├п╣п©п╬я┤п╨п╦ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╬п╡.
15015 </para> 15015 </para>
15016 <para lang="en"> 15016 <para lang="en">
15017 the ngx_http_ssl_module did not support the certificate chain. 15017 the ngx_http_ssl_module did not support the certificate chain.
15018 </para> 15018 </para>
15019 </change> 15019 </change>
15020 15020
15021 <change type="bugfix"> 15021 <change type="bugfix">
15022 <para lang="ru"> 15022 <para lang="ru">
15023 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 15023 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡;
15024 ошибка появилась в 0.1.38. 15024 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
15025 </para> 15025 </para>
15026 <para lang="en"> 15026 <para lang="en">
15027 the ngx_http_autoindex_module did not show correctly the long file names; 15027 the ngx_http_autoindex_module did not show correctly the long file names;
15028 the bug had appeared in 0.1.38. 15028 the bug had appeared in 0.1.38.
15029 </para> 15029 </para>
15030 </change> 15030 </change>
15031 15031
15032 <change> 15032 <change>
15033 <para lang="ru"> 15033 <para lang="ru">
15034 Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login. 15034 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ IMAP/POP3 п©я─п╬п╨я│п╦ п©я─п╦ п╡п╥п╟п╦п╪п╬п╢п╣п╧я│я┌п╡п╦п╦ я│ п╠я█п╨п╣п╫п╢п╬п╪ п╫п╟ я│я┌п╟п╢п╦п╦ login.
15035 </para> 15035 </para>
15036 <para lang="en"> 15036 <para lang="en">
15037 Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. 15037 Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
15038 </para> 15038 </para>
15039 </change> 15039 </change>
15043 15043
15044 <changes ver="0.1.38" date="08.07.2005"> 15044 <changes ver="0.1.38" date="08.07.2005">
15045 15045
15046 <change type="feature"> 15046 <change type="feature">
15047 <para lang="ru"> 15047 <para lang="ru">
15048 директива limit_rate поддерживается в режиме прокси и FastCGI. 15048 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI.
15049 </para> 15049 </para>
15050 <para lang="en"> 15050 <para lang="en">
15051 the "limit_rate" directive is supported in in proxy and FastCGI mode. 15051 the "limit_rate" directive is supported in in proxy and FastCGI mode.
15052 </para> 15052 </para>
15053 </change> 15053 </change>
15054 15054
15055 <change type="feature"> 15055 <change type="feature">
15056 <para lang="ru"> 15056 <para lang="ru">
15057 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate" 15057 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Limit-Rate"
15058 в ответе бэкенда. 15058 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
15059 </para> 15059 </para>
15060 <para lang="en"> 15060 <para lang="en">
15061 the "X-Accel-Limit-Rate" response header line is supported in proxy 15061 the "X-Accel-Limit-Rate" response header line is supported in proxy
15062 and FastCGI mode. 15062 and FastCGI mode.
15063 </para> 15063 </para>
15064 </change> 15064 </change>
15065 15065
15066 <change type="feature"> 15066 <change type="feature">
15067 <para lang="ru"> 15067 <para lang="ru">
15068 директива break. 15068 п╢п╦я─п╣п╨я┌п╦п╡п╟ break.
15069 </para> 15069 </para>
15070 <para lang="en"> 15070 <para lang="en">
15071 the "break" directive. 15071 the "break" directive.
15072 </para> 15072 </para>
15073 </change> 15073 </change>
15074 15074
15075 <change type="feature"> 15075 <change type="feature">
15076 <para lang="ru"> 15076 <para lang="ru">
15077 директива log_not_found. 15077 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_not_found.
15078 </para> 15078 </para>
15079 <para lang="en"> 15079 <para lang="en">
15080 the "log_not_found" directive. 15080 the "log_not_found" directive.
15081 </para> 15081 </para>
15082 </change> 15082 </change>
15083 15083
15084 <change type="bugfix"> 15084 <change type="bugfix">
15085 <para lang="ru"> 15085 <para lang="ru">
15086 при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect" 15086 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Redirect"
15087 не изменялся код ответа. 15087 п╫п╣ п╦п╥п╪п╣п╫я▐п╩я│я▐ п╨п╬п╢ п╬я┌п╡п╣я┌п╟.
15088 </para> 15088 </para>
15089 <para lang="en"> 15089 <para lang="en">
15090 the response status code was not changed when request was redirected 15090 the response status code was not changed when request was redirected
15091 by the ""X-Accel-Redirect" header line. 15091 by the ""X-Accel-Redirect" header line.
15092 </para> 15092 </para>
15093 </change> 15093 </change>
15094 15094
15095 <change type="bugfix"> 15095 <change type="bugfix">
15096 <para lang="ru"> 15096 <para lang="ru">
15097 переменные, установленные директивой set не могли использоваться в SSI. 15097 п©п╣я─п╣п╪п╣п╫п╫я▀п╣, я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set п╫п╣ п╪п╬пЁп╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ SSI.
15098 </para> 15098 </para>
15099 <para lang="en"> 15099 <para lang="en">
15100 the variables set by the "set" directive could not be used in SSI. 15100 the variables set by the "set" directive could not be used in SSI.
15101 </para> 15101 </para>
15102 </change> 15102 </change>
15103 15103
15104 <change type="bugfix"> 15104 <change type="bugfix">
15105 <para lang="ru"> 15105 <para lang="ru">
15106 при включении в SSI более одного удалённого подзапроса 15106 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ SSI п╠п╬п╩п╣п╣ п╬п╢п╫п╬пЁп╬ я┐п╢п╟п╩я▒п╫п╫п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟
15107 мог произойти segmentation fault. 15107 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
15108 </para> 15108 </para>
15109 <para lang="en"> 15109 <para lang="en">
15110 the segmentation fault may occurred if the SSI page has more than one 15110 the segmentation fault may occurred if the SSI page has more than one
15111 remote subrequest. 15111 remote subrequest.
15112 </para> 15112 </para>
15113 </change> 15113 </change>
15114 15114
15115 <change type="bugfix"> 15115 <change type="bugfix">
15116 <para lang="ru"> 15116 <para lang="ru">
15117 если статусная строка в ответе бэкенда передавалась в двух пакетах, то 15117 п╣я│п╩п╦ я│я┌п╟я┌я┐я│п╫п╟я▐ я│я┌я─п╬п╨п╟ п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ п╡ п╢п╡я┐я┘ п©п╟п╨п╣я┌п╟я┘, я┌п╬
15118 nginx считал ответ неверным; 15118 nginx я│я┤п╦я┌п╟п╩ п╬я┌п╡п╣я┌ п╫п╣п╡п╣я─п╫я▀п╪;
15119 ошибка появилась в 0.1.29. 15119 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15120 </para> 15120 </para>
15121 <para lang="en"> 15121 <para lang="en">
15122 nginx treated the backend response as invalid if the status line in the 15122 nginx treated the backend response as invalid if the status line in the
15123 header was transferred in two packets; 15123 header was transferred in two packets;
15124 the bug had appeared in 0.1.29. 15124 the bug had appeared in 0.1.29.
15125 </para> 15125 </para>
15126 </change> 15126 </change>
15127 15127
15128 <change type="feature"> 15128 <change type="feature">
15129 <para lang="ru"> 15129 <para lang="ru">
15130 директива ssi_types. 15130 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_types.
15131 </para> 15131 </para>
15132 <para lang="en"> 15132 <para lang="en">
15133 the "ssi_types" directive. 15133 the "ssi_types" directive.
15134 </para> 15134 </para>
15135 </change> 15135 </change>
15136 15136
15137 <change type="feature"> 15137 <change type="feature">
15138 <para lang="ru"> 15138 <para lang="ru">
15139 директива autoindex_exact_size. 15139 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex_exact_size.
15140 </para> 15140 </para>
15141 <para lang="en"> 15141 <para lang="en">
15142 the "autoindex_exact_size" directive. 15142 the "autoindex_exact_size" directive.
15143 </para> 15143 </para>
15144 </change> 15144 </change>
15145 15145
15146 <change type="bugfix"> 15146 <change type="bugfix">
15147 <para lang="ru"> 15147 <para lang="ru">
15148 модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8. 15148 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╢п╩п╦п╫п╫я▀п╣ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡ п╡ UTF-8.
15149 </para> 15149 </para>
15150 <para lang="en"> 15150 <para lang="en">
15151 the ngx_http_autoindex_module did not support the long file names in UTF-8. 15151 the ngx_http_autoindex_module did not support the long file names in UTF-8.
15152 </para> 15152 </para>
15153 </change> 15153 </change>
15154 15154
15155 <change type="feature"> 15155 <change type="feature">
15156 <para lang="ru"> 15156 <para lang="ru">
15157 IMAP/POP3 прокси. 15157 IMAP/POP3 п©я─п╬п╨я│п╦.
15158 </para> 15158 </para>
15159 <para lang="en"> 15159 <para lang="en">
15160 the IMAP/POP3 proxy. 15160 the IMAP/POP3 proxy.
15161 </para> 15161 </para>
15162 </change> 15162 </change>
15166 15166
15167 <changes ver="0.1.37" date="23.06.2005"> 15167 <changes ver="0.1.37" date="23.06.2005">
15168 15168
15169 <change type="change"> 15169 <change type="change">
15170 <para lang="ru"> 15170 <para lang="ru">
15171 в конце файла nginx.pid теперь добавляется "\n". 15171 п╡ п╨п╬п╫я├п╣ я└п╟п╧п╩п╟ nginx.pid я┌п╣п©п╣я─я▄ п╢п╬п╠п╟п╡п╩я▐п╣я┌я│я▐ "\n".
15172 </para> 15172 </para>
15173 <para lang="en"> 15173 <para lang="en">
15174 now the "\n" is added to the end of the "nginx.pid" file. 15174 now the "\n" is added to the end of the "nginx.pid" file.
15175 </para> 15175 </para>
15176 </change> 15176 </change>
15177 15177
15178 <change type="bugfix"> 15178 <change type="bugfix">
15179 <para lang="ru"> 15179 <para lang="ru">
15180 при включении большого количества вставок или нескольких больших вставок 15180 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╟ п╡я│я┌п╟п╡п╬п╨ п╦п╩п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ п╠п╬п╩я▄я┬п╦я┘ п╡я│я┌п╟п╡п╬п╨
15181 с помощью SSI ответ мог передаваться не полностью. 15181 я│ п©п╬п╪п╬я┴я▄я▌ SSI п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
15182 </para> 15182 </para>
15183 <para lang="en"> 15183 <para lang="en">
15184 the responses may be transferred not completely, 15184 the responses may be transferred not completely,
15185 if many parts or the big parts were included by SSI. 15185 if many parts or the big parts were included by SSI.
15186 </para> 15186 </para>
15187 </change> 15187 </change>
15188 15188
15189 <change type="bugfix"> 15189 <change type="bugfix">
15190 <para lang="ru"> 15190 <para lang="ru">
15191 если все бэкенды возвращали ответ 404, то при использовании параметра http_404 15191 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀ п╡п╬п╥п╡я─п╟я┴п╟п╩п╦ п╬я┌п╡п╣я┌ 404, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╟я─п╟п╪п╣я┌я─п╟ http_404
15192 в директивах proxy_next_upstream или fastcgi_next_upstream, nginx 15192 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream, nginx
15193 начинал запрашивать все бэкенды снова. 15193 п╫п╟я┤п╦п╫п╟п╩ п╥п╟п©я─п╟я┬п╦п╡п╟я┌я▄ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀ я│п╫п╬п╡п╟.
15194 </para> 15194 </para>
15195 <para lang="en"> 15195 <para lang="en">
15196 if all backends had returned the 404 reponse and the "http_404" parameter of 15196 if all backends had returned the 404 reponse and the "http_404" parameter of
15197 the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used, 15197 the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
15198 then nginx started to request all backends again. 15198 then nginx started to request all backends again.
15204 15204
15205 <changes ver="0.1.36" date="15.06.2005"> 15205 <changes ver="0.1.36" date="15.06.2005">
15206 15206
15207 <change type="change"> 15207 <change type="change">
15208 <para lang="ru"> 15208 <para lang="ru">
15209 если в заголовке запросе есть дублирующиеся строки "Host", "Connection", 15209 п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ п╢я┐п╠п╩п╦я─я┐я▌я┴п╦п╣я│я▐ я│я┌я─п╬п╨п╦ "Host", "Connection",
15210 "Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400. 15210 "Content-Length" п╦ "Authorization", я┌п╬ nginx я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 400.
15211 </para> 15211 </para>
15212 <para lang="en"> 15212 <para lang="en">
15213 if the request header has duplicate the "Host", "Connection", "Content-Length", 15213 if the request header has duplicate the "Host", "Connection", "Content-Length",
15214 or "Authorization" lines, then nginx now returns the 400 error. 15214 or "Authorization" lines, then nginx now returns the 400 error.
15215 </para> 15215 </para>
15216 </change> 15216 </change>
15217 15217
15218 <change type="change"> 15218 <change type="change">
15219 <para lang="ru"> 15219 <para lang="ru">
15220 директива post_accept_timeout упразднена. 15220 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_accept_timeout я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
15221 </para> 15221 </para>
15222 <para lang="en"> 15222 <para lang="en">
15223 the "post_accept_timeout" directive was canceled. 15223 the "post_accept_timeout" directive was canceled.
15224 </para> 15224 </para>
15225 </change> 15225 </change>
15226 15226
15227 <change type="feature"> 15227 <change type="feature">
15228 <para lang="ru"> 15228 <para lang="ru">
15229 параметры default, af=, bl=, deferred и bind в директиве listen. 15229 п©п╟я─п╟п╪п╣я┌я─я▀ default, af=, bl=, deferred п╦ bind п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
15230 </para> 15230 </para>
15231 <para lang="en"> 15231 <para lang="en">
15232 the "default", "af=", "bl=", "deferred", and "bind" parameters 15232 the "default", "af=", "bl=", "deferred", and "bind" parameters
15233 of the "listen" directive. 15233 of the "listen" directive.
15234 </para> 15234 </para>
15235 </change> 15235 </change>
15236 15236
15237 <change type="feature"> 15237 <change type="feature">
15238 <para lang="ru"> 15238 <para lang="ru">
15239 поддержка accept фильтров во FreeBSD. 15239 п©п╬п╢п╢п╣я─п╤п╨п╟ accept я└п╦п╩я▄я┌я─п╬п╡ п╡п╬ FreeBSD.
15240 </para> 15240 </para>
15241 <para lang="en"> 15241 <para lang="en">
15242 the FreeBSD accept filters support. 15242 the FreeBSD accept filters support.
15243 </para> 15243 </para>
15244 </change> 15244 </change>
15245 15245
15246 <change type="feature"> 15246 <change type="feature">
15247 <para lang="ru"> 15247 <para lang="ru">
15248 поддержка TCP_DEFER_ACCEPT в Linux. 15248 п©п╬п╢п╢п╣я─п╤п╨п╟ TCP_DEFER_ACCEPT п╡ Linux.
15249 </para> 15249 </para>
15250 <para lang="en"> 15250 <para lang="en">
15251 the Linux TCP_DEFER_ACCEPT support. 15251 the Linux TCP_DEFER_ACCEPT support.
15252 </para> 15252 </para>
15253 </change> 15253 </change>
15254 15254
15255 <change type="bugfix"> 15255 <change type="bugfix">
15256 <para lang="ru"> 15256 <para lang="ru">
15257 модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8. 15257 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡ п╡ UTF-8.
15258 </para> 15258 </para>
15259 <para lang="en"> 15259 <para lang="en">
15260 the ngx_http_autoindex_module did not support the file names in UTF-8. 15260 the ngx_http_autoindex_module did not support the file names in UTF-8.
15261 </para> 15261 </para>
15262 </change> 15262 </change>
15263 15263
15264 <change type="bugfix"> 15264 <change type="bugfix">
15265 <para lang="ru"> 15265 <para lang="ru">
15266 после добавления новый лог-файл ротация этого лога по сигналу -USR1 15266 п©п╬я│п╩п╣ п╢п╬п╠п╟п╡п╩п╣п╫п╦я▐ п╫п╬п╡я▀п╧ п╩п╬пЁ-я└п╟п╧п╩ я─п╬я┌п╟я├п╦я▐ я█я┌п╬пЁп╬ п╩п╬пЁп╟ п©п╬ я│п╦пЁп╫п╟п╩я┐ -USR1
15267 выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP. 15267 п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟я┌я▄ nginx п╢п╡п╟ я─п╟п╥п╟ п©п╬ я│п╦пЁп╫п╟п╩я┐ -HUP.
15268 </para> 15268 </para>
15269 <para lang="en"> 15269 <para lang="en">
15270 the new log file can be rotated by the -USR1 signal only if 15270 the new log file can be rotated by the -USR1 signal only if
15271 the reconfiguration by the -HUP signal was made twice. 15271 the reconfiguration by the -HUP signal was made twice.
15272 </para> 15272 </para>
15277 15277
15278 <changes ver="0.1.35" date="07.06.2005"> 15278 <changes ver="0.1.35" date="07.06.2005">
15279 15279
15280 <change type="feature"> 15280 <change type="feature">
15281 <para lang="ru"> 15281 <para lang="ru">
15282 директива working_directory. 15282 п╢п╦я─п╣п╨я┌п╦п╡п╟ working_directory.
15283 </para> 15283 </para>
15284 <para lang="en"> 15284 <para lang="en">
15285 the "working_directory" directive. 15285 the "working_directory" directive.
15286 </para> 15286 </para>
15287 </change> 15287 </change>
15288 15288
15289 <change type="feature"> 15289 <change type="feature">
15290 <para lang="ru"> 15290 <para lang="ru">
15291 директива port_in_redirect. 15291 п╢п╦я─п╣п╨я┌п╦п╡п╟ port_in_redirect.
15292 </para> 15292 </para>
15293 <para lang="en"> 15293 <para lang="en">
15294 the "port_in_redirect" directive. 15294 the "port_in_redirect" directive.
15295 </para> 15295 </para>
15296 </change> 15296 </change>
15297 15297
15298 <change type="bugfix"> 15298 <change type="bugfix">
15299 <para lang="ru"> 15299 <para lang="ru">
15300 если заголовок ответа бэкенда не помещался в один пакет, то 15300 п╣я│п╩п╦ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╫п╣ п©п╬п╪п╣я┴п╟п╩я│я▐ п╡ п╬п╢п╦п╫ п©п╟п╨п╣я┌, я┌п╬
15301 происходил segmentation fault; 15301 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
15302 ошибка появилась в 0.1.29. 15302 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15303 </para> 15303 </para>
15304 <para lang="en"> 15304 <para lang="en">
15305 the segmentation fault was occurred if the backend response header was in 15305 the segmentation fault was occurred if the backend response header was in
15306 several packets; 15306 several packets;
15307 the bug had appeared in 0.1.29. 15307 the bug had appeared in 0.1.29.
15308 </para> 15308 </para>
15309 </change> 15309 </change>
15310 15310
15311 <change type="bugfix"> 15311 <change type="bugfix">
15312 <para lang="ru"> 15312 <para lang="ru">
15313 если было сконфигурировано более 10 серверов или в сервере не описана 15313 п╣я│п╩п╦ п╠я▀п╩п╬ я│п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟п╫п╬ п╠п╬п╩п╣п╣ 10 я│п╣я─п╡п╣я─п╬п╡ п╦п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╫п╣ п╬п©п╦я│п╟п╫п╟
15314 директива "listen", 15314 п╢п╦я─п╣п╨я┌п╦п╡п╟ "listen",
15315 то при запуске мог произойти segmentation fault. 15315 я┌п╬ п©я─п╦ п╥п╟п©я┐я│п╨п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
15316 </para> 15316 </para>
15317 <para lang="en"> 15317 <para lang="en">
15318 if more than 10 servers were configured or some server did not use the 15318 if more than 10 servers were configured or some server did not use the
15319 "listen" directive, then the segmentation fault was occurred on the start. 15319 "listen" directive, then the segmentation fault was occurred on the start.
15320 </para> 15320 </para>
15321 </change> 15321 </change>
15322 15322
15323 <change type="bugfix"> 15323 <change type="bugfix">
15324 <para lang="ru"> 15324 <para lang="ru">
15325 если ответ не помещался во временный файл, 15325 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п╫п╣ п©п╬п╪п╣я┴п╟п╩я│я▐ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩,
15326 то мог произойти segmentation fault. 15326 я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
15327 </para> 15327 </para>
15328 <para lang="en"> 15328 <para lang="en">
15329 the segmentation fault might occur if the response was bigger than 15329 the segmentation fault might occur if the response was bigger than
15330 the temporary file. 15330 the temporary file.
15331 </para> 15331 </para>
15332 </change> 15332 </change>
15333 15333
15334 <change type="bugfix"> 15334 <change type="bugfix">
15335 <para lang="ru"> 15335 <para lang="ru">
15336 nginx возвращал ошибку 400 на запросы вида 15336 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 400 п╫п╟ п╥п╟п©я─п╬я│я▀ п╡п╦п╢п╟
15337 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 15337 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
15338 ошибка появилась в 0.1.28. 15338 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.28.
15339 </para> 15339 </para>
15340 <para lang="en"> 15340 <para lang="en">
15341 nginx returned the 400 response on requests like 15341 nginx returned the 400 response on requests like
15342 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 15342 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
15343 the bug had appeared in 0.1.28. 15343 the bug had appeared in 0.1.28.
15349 15349
15350 <changes ver="0.1.34" date="26.05.2005"> 15350 <changes ver="0.1.34" date="26.05.2005">
15351 15351
15352 <change type="bugfix"> 15352 <change type="bugfix">
15353 <para lang="ru"> 15353 <para lang="ru">
15354 при включении больших ответов с помощью SSI рабочий процесс мог зациклиться. 15354 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╠п╬п╩я▄я┬п╦я┘ п╬я┌п╡п╣я┌п╬п╡ я│ п©п╬п╪п╬я┴я▄я▌ SSI я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
15355 </para> 15355 </para>
15356 <para lang="en"> 15356 <para lang="en">
15357 the worker process may got caught in an endless loop if the big response 15357 the worker process may got caught in an endless loop if the big response
15358 part were include by SSI. 15358 part were include by SSI.
15359 </para> 15359 </para>
15360 </change> 15360 </change>
15361 15361
15362 <change type="bugfix"> 15362 <change type="bugfix">
15363 <para lang="ru"> 15363 <para lang="ru">
15364 переменные, устанавливаемые директивой "set", не были доступны в SSI. 15364 п©п╣я─п╣п╪п╣п╫п╫я▀п╣, я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣п╪я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ "set", п╫п╣ п╠я▀п╩п╦ п╢п╬я│я┌я┐п©п╫я▀ п╡ SSI.
15365 </para> 15365 </para>
15366 <para lang="en"> 15366 <para lang="en">
15367 the variables set by the "set" directive were not available in SSI. 15367 the variables set by the "set" directive were not available in SSI.
15368 </para> 15368 </para>
15369 </change> 15369 </change>
15370 15370
15371 <change type="feature"> 15371 <change type="feature">
15372 <para lang="ru"> 15372 <para lang="ru">
15373 директива autoindex_localtime. 15373 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex_localtime.
15374 </para> 15374 </para>
15375 <para lang="en"> 15375 <para lang="en">
15376 the "autoindex_localtime" directive. 15376 the "autoindex_localtime" directive.
15377 </para> 15377 </para>
15378 </change> 15378 </change>
15379 15379
15380 <change type="bugfix"> 15380 <change type="bugfix">
15381 <para lang="ru"> 15381 <para lang="ru">
15382 пустое значение в директиве proxy_set_header запрещает передачу заголовка. 15382 п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_set_header п╥п╟п©я─п╣я┴п╟п╣я┌ п©п╣я─п╣п╢п╟я┤я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟.
15383 </para> 15383 </para>
15384 <para lang="en"> 15384 <para lang="en">
15385 the empty value of the "proxy_set_header" directive forbids the client 15385 the empty value of the "proxy_set_header" directive forbids the client
15386 request header line passing. 15386 request header line passing.
15387 </para> 15387 </para>
15392 15392
15393 <changes ver="0.1.33" date="23.05.2005"> 15393 <changes ver="0.1.33" date="23.05.2005">
15394 15394
15395 <change type="bugfix"> 15395 <change type="bugfix">
15396 <para lang="ru"> 15396 <para lang="ru">
15397 nginx не собирался с параметром --without-pcre; 15397 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-pcre;
15398 ошибка появилась в 0.1.29. 15398 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15399 </para> 15399 </para>
15400 <para lang="en"> 15400 <para lang="en">
15401 nginx could not be built with the --without-pcre parameter; 15401 nginx could not be built with the --without-pcre parameter;
15402 the bug had appeared in 0.1.29. 15402 the bug had appeared in 0.1.29.
15403 </para> 15403 </para>
15404 </change> 15404 </change>
15405 15405
15406 <change type="bugfix"> 15406 <change type="bugfix">
15407 <para lang="ru"> 15407 <para lang="ru">
15408 3, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали 15408 3, 5, 7 п╦ 8 п╢п╦я─п╣п╨я┌п╦п╡ proxy_set_header п╫п╟ п╬п╢п╫п╬п╪ я┐я─п╬п╡п╫п╣ п╡я▀п╥я▀п╡п╟п╩п╦
15409 bus fault при запуске. 15409 bus fault п©я─п╦ п╥п╟п©я┐я│п╨п╣.
15410 </para> 15410 </para>
15411 <para lang="en"> 15411 <para lang="en">
15412 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause 15412 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause
15413 the bus fault on start up. 15413 the bus fault on start up.
15414 </para> 15414 </para>
15415 </change> 15415 </change>
15416 15416
15417 <change type="bugfix"> 15417 <change type="bugfix">
15418 <para lang="ru"> 15418 <para lang="ru">
15419 в редиректах внутри HTTPS сервера был указан протокол HTTP. 15419 п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘ п╡п╫я┐я┌я─п╦ HTTPS я│п╣я─п╡п╣я─п╟ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©я─п╬я┌п╬п╨п╬п╩ HTTP.
15420 </para> 15420 </para>
15421 <para lang="en"> 15421 <para lang="en">
15422 the HTTP protocol was specified in the HTTPS redirects. 15422 the HTTP protocol was specified in the HTTPS redirects.
15423 </para> 15423 </para>
15424 </change> 15424 </change>
15425 15425
15426 <change type="bugfix"> 15426 <change type="bugfix">
15427 <para lang="ru"> 15427 <para lang="ru">
15428 если директива rewrite использовала выделения внутри директивы if, то 15428 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡п╫я┐я┌я─п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ if, я┌п╬
15429 возвращалась ошибка 500. 15429 п╡п╬п╥п╡я─п╟я┴п╟п╩п╟я│я▄ п╬я┬п╦п╠п╨п╟ 500.
15430 </para> 15430 </para>
15431 <para lang="en"> 15431 <para lang="en">
15432 if the "rewrite" directive used the captures inside the "if" directive, then 15432 if the "rewrite" directive used the captures inside the "if" directive, then
15433 the 500 error code was returned. 15433 the 500 error code was returned.
15434 </para> 15434 </para>
15439 15439
15440 <changes ver="0.1.32" date="19.05.2005"> 15440 <changes ver="0.1.32" date="19.05.2005">
15441 15441
15442 <change type="bugfix"> 15442 <change type="bugfix">
15443 <para lang="ru"> 15443 <para lang="ru">
15444 в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы; 15444 п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘, п╡я▀п╢п╟п╡п╟п╣п╪я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╟я─пЁя┐п╪п╣п╫я┌я▀;
15445 ошибка появилась в 0.1.29. 15445 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15446 </para> 15446 </para>
15447 <para lang="en"> 15447 <para lang="en">
15448 the arguments were omitted in the redirects, issued by the "rewrite" directive; 15448 the arguments were omitted in the redirects, issued by the "rewrite" directive;
15449 the bug had appeared in 0.1.29. 15449 the bug had appeared in 0.1.29.
15450 </para> 15450 </para>
15451 </change> 15451 </change>
15452 15452
15453 <change type="feature"> 15453 <change type="feature">
15454 <para lang="ru"> 15454 <para lang="ru">
15455 директива if поддерживает выделения в регулярных выражениях. 15455 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
15456 </para> 15456 </para>
15457 <para lang="en"> 15457 <para lang="en">
15458 the "if" directive supports the captures in regular expressions. 15458 the "if" directive supports the captures in regular expressions.
15459 </para> 15459 </para>
15460 </change> 15460 </change>
15461 15461
15462 <change type="feature"> 15462 <change type="feature">
15463 <para lang="ru"> 15463 <para lang="ru">
15464 директива set поддерживает переменные и выделения из регулярных выражений. 15464 п╢п╦я─п╣п╨я┌п╦п╡п╟ set п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╦п╥ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦п╧.
15465 </para> 15465 </para>
15466 <para lang="en"> 15466 <para lang="en">
15467 the "set" directive supports the variables and the captures of regular 15467 the "set" directive supports the variables and the captures of regular
15468 expressions. 15468 expressions.
15469 </para> 15469 </para>
15470 </change> 15470 </change>
15471 15471
15472 <change type="feature"> 15472 <change type="feature">
15473 <para lang="ru"> 15473 <para lang="ru">
15474 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect" 15474 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Redirect"
15475 в ответе бэкенда. 15475 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
15476 </para> 15476 </para>
15477 <para lang="en"> 15477 <para lang="en">
15478 the "X-Accel-Redirect" response header line is supported in proxy and FastCGI 15478 the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
15479 mode. 15479 mode.
15480 </para> 15480 </para>
15485 15485
15486 <changes ver="0.1.31" date="16.05.2005"> 15486 <changes ver="0.1.31" date="16.05.2005">
15487 15487
15488 <change type="bugfix"> 15488 <change type="bugfix">
15489 <para lang="ru"> 15489 <para lang="ru">
15490 при использовании SSL ответ мог передаваться не до конца. 15490 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
15491 </para> 15491 </para>
15492 <para lang="en"> 15492 <para lang="en">
15493 the response encrypted by SSL may not transferred complete. 15493 the response encrypted by SSL may not transferred complete.
15494 </para> 15494 </para>
15495 </change> 15495 </change>
15496 15496
15497 <change type="bugfix"> 15497 <change type="bugfix">
15498 <para lang="ru"> 15498 <para lang="ru">
15499 ошибки при обработке SSI в ответе, полученного от FastCGI-сервера. 15499 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI п╡ п╬я┌п╡п╣я┌п╣, п©п╬п╩я┐я┤п╣п╫п╫п╬пЁп╬ п╬я┌ FastCGI-я│п╣я─п╡п╣я─п╟.
15500 </para> 15500 </para>
15501 <para lang="en"> 15501 <para lang="en">
15502 errors while processing FastCGI response by SSI. 15502 errors while processing FastCGI response by SSI.
15503 </para> 15503 </para>
15504 </change> 15504 </change>
15505 15505
15506 <change type="bugfix"> 15506 <change type="bugfix">
15507 <para lang="ru"> 15507 <para lang="ru">
15508 ошибки при использовании SSI и сжатия. 15508 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI п╦ я│п╤п╟я┌п╦я▐.
15509 </para> 15509 </para>
15510 <para lang="en"> 15510 <para lang="en">
15511 errors while using SSI and gzipping. 15511 errors while using SSI and gzipping.
15512 </para> 15512 </para>
15513 </change> 15513 </change>
15514 15514
15515 <change type="bugfix"> 15515 <change type="bugfix">
15516 <para lang="ru"> 15516 <para lang="ru">
15517 редирект с кодом 301 передавался без тела ответа; 15517 я─п╣п╢п╦я─п╣п╨я┌ я│ п╨п╬п╢п╬п╪ 301 п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╠п╣п╥ я┌п╣п╩п╟ п╬я┌п╡п╣я┌п╟;
15518 ошибка появилась в 0.1.30. 15518 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.30.
15519 </para> 15519 </para>
15520 <para lang="en"> 15520 <para lang="en">
15521 the redirect with the 301 code was transferred without response body; 15521 the redirect with the 301 code was transferred without response body;
15522 the bug had appeared in 0.1.30. 15522 the bug had appeared in 0.1.30.
15523 </para> 15523 </para>
15528 15528
15529 <changes ver="0.1.30" date="14.05.2005"> 15529 <changes ver="0.1.30" date="14.05.2005">
15530 15530
15531 <change type="bugfix"> 15531 <change type="bugfix">
15532 <para lang="ru"> 15532 <para lang="ru">
15533 при использовании SSI рабочий процесс мог зациклиться. 15533 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
15534 </para> 15534 </para>
15535 <para lang="en"> 15535 <para lang="en">
15536 the worker process may got caught in an endless loop if the SSI was used. 15536 the worker process may got caught in an endless loop if the SSI was used.
15537 </para> 15537 </para>
15538 </change> 15538 </change>
15539 15539
15540 <change type="bugfix"> 15540 <change type="bugfix">
15541 <para lang="ru"> 15541 <para lang="ru">
15542 при использовании SSL ответ мог передаваться не до конца. 15542 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
15543 </para> 15543 </para>
15544 <para lang="en"> 15544 <para lang="en">
15545 the response encrypted by SSL may not transferred complete. 15545 the response encrypted by SSL may not transferred complete.
15546 </para> 15546 </para>
15547 </change> 15547 </change>
15548 15548
15549 <change type="bugfix"> 15549 <change type="bugfix">
15550 <para lang="ru"> 15550 <para lang="ru">
15551 если длина части ответа, полученного за один раз от проксируемого или 15551 п╣я│п╩п╦ п╢п╩п╦п╫п╟ я┤п╟я│я┌п╦ п╬я┌п╡п╣я┌п╟, п©п╬п╩я┐я┤п╣п╫п╫п╬пЁп╬ п╥п╟ п╬п╢п╦п╫ я─п╟п╥ п╬я┌ п©я─п╬п╨я│п╦я─я┐п╣п╪п╬пЁп╬ п╦п╩п╦
15552 FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500; 15552 FastCGI я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╟ я─п╟п╡п╫п╟ 500 п╠п╟п╧я┌, я┌п╬ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ 500;
15553 в режиме прокси ошибка появилась только в 0.1.29. 15553 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ я┌п╬п╩я▄п╨п╬ п╡ 0.1.29.
15554 </para> 15554 </para>
15555 <para lang="en"> 15555 <para lang="en">
15556 if the length of the response part received at once from proxied 15556 if the length of the response part received at once from proxied
15557 or FastCGI server was equal to 500, then nginx returns the 500 response code; 15557 or FastCGI server was equal to 500, then nginx returns the 500 response code;
15558 in proxy mode the the bug had appeared in 0.1.29 only. 15558 in proxy mode the the bug had appeared in 0.1.29 only.
15559 </para> 15559 </para>
15560 </change> 15560 </change>
15561 15561
15562 <change type="bugfix"> 15562 <change type="bugfix">
15563 <para lang="ru"> 15563 <para lang="ru">
15564 nginx не считал неверными директивы с 8-ю или 9-ю параметрами. 15564 nginx п╫п╣ я│я┤п╦я┌п╟п╩ п╫п╣п╡п╣я─п╫я▀п╪п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ я│ 8-я▌ п╦п╩п╦ 9-я▌ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
15565 </para> 15565 </para>
15566 <para lang="en"> 15566 <para lang="en">
15567 nginx did not consider the directives with 8 or 9 parameters as invalid. 15567 nginx did not consider the directives with 8 or 9 parameters as invalid.
15568 </para> 15568 </para>
15569 </change> 15569 </change>
15570 15570
15571 <change type="feature"> 15571 <change type="feature">
15572 <para lang="ru"> 15572 <para lang="ru">
15573 директива return может возвращать код ответа 204. 15573 п╢п╦я─п╣п╨я┌п╦п╡п╟ return п╪п╬п╤п╣я┌ п╡п╬п╥п╡я─п╟я┴п╟я┌я▄ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ 204.
15574 </para> 15574 </para>
15575 <para lang="en"> 15575 <para lang="en">
15576 the "return" directive can return the 204 response code. 15576 the "return" directive can return the 204 response code.
15577 </para> 15577 </para>
15578 </change> 15578 </change>
15579 15579
15580 <change type="feature"> 15580 <change type="feature">
15581 <para lang="ru"> 15581 <para lang="ru">
15582 директива ignore_invalid_headers. 15582 п╢п╦я─п╣п╨я┌п╦п╡п╟ ignore_invalid_headers.
15583 </para> 15583 </para>
15584 <para lang="en"> 15584 <para lang="en">
15585 the "ignore_invalid_headers" directive. 15585 the "ignore_invalid_headers" directive.
15586 </para> 15586 </para>
15587 </change> 15587 </change>
15591 15591
15592 <changes ver="0.1.29" date="12.05.2005"> 15592 <changes ver="0.1.29" date="12.05.2005">
15593 15593
15594 <change type="feature"> 15594 <change type="feature">
15595 <para lang="ru"> 15595 <para lang="ru">
15596 модуль ngx_http_ssi_module поддерживает команду include virtual. 15596 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ include virtual.
15597 </para> 15597 </para>
15598 <para lang="en"> 15598 <para lang="en">
15599 the ngx_http_ssi_module supports "include virtual" command. 15599 the ngx_http_ssi_module supports "include virtual" command.
15600 </para> 15600 </para>
15601 </change> 15601 </change>
15602 15602
15603 <change type="feature"> 15603 <change type="feature">
15604 <para lang="ru"> 15604 <para lang="ru">
15605 модуль ngx_http_ssi_module поддерживает условную команду вида 15605 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐я│п╩п╬п╡п╫я┐я▌ п╨п╬п╪п╟п╫п╢я┐ п╡п╦п╢п╟
15606 'if expr="$NAME"' и команды else и endif. 15606 'if expr="$NAME"' п╦ п╨п╬п╪п╟п╫п╢я▀ else п╦ endif.
15607 Допускается только один уровень вложенности. 15607 п■п╬п©я┐я│п╨п╟п╣я┌я│я▐ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я┐я─п╬п╡п╣п╫я▄ п╡п╩п╬п╤п╣п╫п╫п╬я│я┌п╦.
15608 </para> 15608 </para>
15609 <para lang="en"> 15609 <para lang="en">
15610 the ngx_http_ssi_module supports the condition command like 15610 the ngx_http_ssi_module supports the condition command like
15611 'if expr="$NAME"' and "else" and "endif" commands. 15611 'if expr="$NAME"' and "else" and "endif" commands.
15612 Only one nested level is supported. 15612 Only one nested level is supported.
15613 </para> 15613 </para>
15614 </change> 15614 </change>
15615 15615
15616 <change type="feature"> 15616 <change type="feature">
15617 <para lang="ru"> 15617 <para lang="ru">
15618 модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT 15618 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╡п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ DATE_LOCAL п╦ DATE_GMT
15619 и команду config timefmt. 15619 п╦ п╨п╬п╪п╟п╫п╢я┐ config timefmt.
15620 </para> 15620 </para>
15621 <para lang="en"> 15621 <para lang="en">
15622 the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables 15622 the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
15623 and "config timefmt" command. 15623 and "config timefmt" command.
15624 </para> 15624 </para>
15625 </change> 15625 </change>
15626 15626
15627 <change type="feature"> 15627 <change type="feature">
15628 <para lang="ru"> 15628 <para lang="ru">
15629 директива ssi_ignore_recycled_buffers. 15629 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_ignore_recycled_buffers.
15630 </para> 15630 </para>
15631 <para lang="en"> 15631 <para lang="en">
15632 the "ssi_ignore_recycled_buffers" directive. 15632 the "ssi_ignore_recycled_buffers" directive.
15633 </para> 15633 </para>
15634 </change> 15634 </change>
15635 15635
15636 <change type="bugfix"> 15636 <change type="bugfix">
15637 <para lang="ru"> 15637 <para lang="ru">
15638 если переменная QUERY_STRING не была определена, то в команде echo 15638 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ QUERY_STRING п╫п╣ п╠я▀п╩п╟ п╬п©я─п╣п╢п╣п╩п╣п╫п╟, я┌п╬ п╡ п╨п╬п╪п╟п╫п╢п╣ echo
15639 не ставилось значение по умолчанию. 15639 п╫п╣ я│я┌п╟п╡п╦п╩п╬я│я▄ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
15640 </para> 15640 </para>
15641 <para lang="en"> 15641 <para lang="en">
15642 the "echo" command did not show the default value for the empty QUERY_STRING 15642 the "echo" command did not show the default value for the empty QUERY_STRING
15643 variable. 15643 variable.
15644 </para> 15644 </para>
15645 </change> 15645 </change>
15646 15646
15647 <change type="change"> 15647 <change type="change">
15648 <para lang="ru"> 15648 <para lang="ru">
15649 модуль ngx_http_proxy_module полностью переписан. 15649 п╪п╬п╢я┐п╩я▄ ngx_http_proxy_module п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╣я─п╣п©п╦я│п╟п╫.
15650 </para> 15650 </para>
15651 <para lang="en"> 15651 <para lang="en">
15652 the ngx_http_proxy_module was rewritten. 15652 the ngx_http_proxy_module was rewritten.
15653 </para> 15653 </para>
15654 </change> 15654 </change>
15655 15655
15656 <change type="feature"> 15656 <change type="feature">
15657 <para lang="ru"> 15657 <para lang="ru">
15658 директивы proxy_redirect, proxy_pass_request_headers, 15658 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_redirect, proxy_pass_request_headers,
15659 proxy_pass_request_body и proxy_method. 15659 proxy_pass_request_body п╦ proxy_method.
15660 </para> 15660 </para>
15661 <para lang="en"> 15661 <para lang="en">
15662 the "proxy_redirect", "proxy_pass_request_headers", 15662 the "proxy_redirect", "proxy_pass_request_headers",
15663 "proxy_pass_request_body", and "proxy_method" directives. 15663 "proxy_pass_request_body", and "proxy_method" directives.
15664 </para> 15664 </para>
15665 </change> 15665 </change>
15666 15666
15667 <change type="feature"> 15667 <change type="feature">
15668 <para lang="ru"> 15668 <para lang="ru">
15669 директива proxy_set_header. 15669 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_header.
15670 Директива proxy_x_var упразднена и должна быть заменена директивой 15670 п■п╦я─п╣п╨я┌п╦п╡п╟ proxy_x_var я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15671 proxy_set_header. 15671 proxy_set_header.
15672 </para> 15672 </para>
15673 <para lang="en"> 15673 <para lang="en">
15674 the "proxy_set_header" directive. 15674 the "proxy_set_header" directive.
15675 The "proxy_x_var" was canceled and must be replaced with the proxy_set_header 15675 The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
15677 </para> 15677 </para>
15678 </change> 15678 </change>
15679 15679
15680 <change type="change"> 15680 <change type="change">
15681 <para lang="ru"> 15681 <para lang="ru">
15682 директива proxy_preserve_host упразднена и должна быть заменена директивами 15682 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_preserve_host я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦
15683 "proxy_set_header Host $host" и "proxy_redirect off" 15683 "proxy_set_header Host $host" п╦ "proxy_redirect off"
15684 или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr> 15684 п╦п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
15685 и соответствующими ей директивами proxy_redirect. 15685 п╦ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╦п╪п╦ п╣п╧ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ proxy_redirect.
15686 </para> 15686 </para>
15687 <para lang="en"> 15687 <para lang="en">
15688 the "proxy_preserve_host" is canceled and must be replaced with 15688 the "proxy_preserve_host" is canceled and must be replaced with
15689 the "proxy_set_header Host $host" and the "proxy_redirect off" directives, 15689 the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
15690 the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr> 15690 the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
15692 </para> 15692 </para>
15693 </change> 15693 </change>
15694 15694
15695 <change type="change"> 15695 <change type="change">
15696 <para lang="ru"> 15696 <para lang="ru">
15697 директива proxy_set_x_real_ip упразднена и должна быть заменена директивой 15697 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_real_ip я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15698 "proxy_set_header X-Real-IP $remote_addr". 15698 "proxy_set_header X-Real-IP $remote_addr".
15699 </para> 15699 </para>
15700 <para lang="en"> 15700 <para lang="en">
15701 the "proxy_set_x_real_ip" is canceled and must be replaced with 15701 the "proxy_set_x_real_ip" is canceled and must be replaced with
15702 the "proxy_set_header X-Real-IP $remote_addr" directive. 15702 the "proxy_set_header X-Real-IP $remote_addr" directive.
15703 </para> 15703 </para>
15704 </change> 15704 </change>
15705 15705
15706 <change type="change"> 15706 <change type="change">
15707 <para lang="ru"> 15707 <para lang="ru">
15708 директива proxy_add_x_forwarded_for упразднена и должна быть заменена 15708 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_add_x_forwarded_for я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟
15709 директивой 15709 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15710 <nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr> 15710 <nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
15711 </para> 15711 </para>
15712 <para lang="en"> 15712 <para lang="en">
15713 the "proxy_add_x_forwarded_for" is canceled and must be replaced with 15713 the "proxy_add_x_forwarded_for" is canceled and must be replaced with
15714 <nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr> 15714 <nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
15716 </para> 15716 </para>
15717 </change> 15717 </change>
15718 15718
15719 <change type="change"> 15719 <change type="change">
15720 <para lang="ru"> 15720 <para lang="ru">
15721 директива proxy_set_x_url упразднена и должна быть заменена директивой 15721 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_url я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15722 <nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr> 15722 <nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
15723 </para> 15723 </para>
15724 <para lang="en"> 15724 <para lang="en">
15725 the "proxy_set_x_url" is canceled and must be replaced with 15725 the "proxy_set_x_url" is canceled and must be replaced with
15726 the "proxy_set_header X-URL http://$host:$server_port$request_uri" 15726 the "proxy_set_header X-URL http://$host:$server_port$request_uri"
15728 </para> 15728 </para>
15729 </change> 15729 </change>
15730 15730
15731 <change type="feature"> 15731 <change type="feature">
15732 <para lang="ru"> 15732 <para lang="ru">
15733 директива fastcgi_param. 15733 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_param.
15734 </para> 15734 </para>
15735 <para lang="en"> 15735 <para lang="en">
15736 the "fastcgi_param" directive. 15736 the "fastcgi_param" directive.
15737 </para> 15737 </para>
15738 </change> 15738 </change>
15739 15739
15740 <change type="change"> 15740 <change type="change">
15741 <para lang="ru"> 15741 <para lang="ru">
15742 директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены 15742 п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_root, fastcgi_set_var п╦ fastcgi_params я┐п©я─п╟п╥п╢п╫п╣п╫я▀
15743 и должны быть замены директивами fastcgi_param. 15743 п╦ п╢п╬п╩п╤п╫я▀ п╠я▀я┌я▄ п╥п╟п╪п╣п╫я▀ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ fastcgi_param.
15744 </para> 15744 </para>
15745 <para lang="en"> 15745 <para lang="en">
15746 the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive 15746 the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
15747 are canceled and must be replaced with the fastcgi_param directives. 15747 are canceled and must be replaced with the fastcgi_param directives.
15748 </para> 15748 </para>
15749 </change> 15749 </change>
15750 15750
15751 <change type="feature"> 15751 <change type="feature">
15752 <para lang="ru"> 15752 <para lang="ru">
15753 директива index может использовать переменные. 15753 п╢п╦я─п╣п╨я┌п╦п╡п╟ index п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
15754 </para> 15754 </para>
15755 <para lang="en"> 15755 <para lang="en">
15756 the "index" directive can use the variables. 15756 the "index" directive can use the variables.
15757 </para> 15757 </para>
15758 </change> 15758 </change>
15759 15759
15760 <change type="feature"> 15760 <change type="feature">
15761 <para lang="ru"> 15761 <para lang="ru">
15762 директива index может быть указана на уровне http и server. 15762 п╢п╦я─п╣п╨я┌п╦п╡п╟ index п╪п╬п╤п╣я┌ п╠я▀я┌я▄ я┐п╨п╟п╥п╟п╫п╟ п╫п╟ я┐я─п╬п╡п╫п╣ http п╦ server.
15763 </para> 15763 </para>
15764 <para lang="en"> 15764 <para lang="en">
15765 the "index" directive can be used at http and server levels. 15765 the "index" directive can be used at http and server levels.
15766 </para> 15766 </para>
15767 </change> 15767 </change>
15768 15768
15769 <change type="change"> 15769 <change type="change">
15770 <para lang="ru"> 15770 <para lang="ru">
15771 только последний параметр в директиве index может быть абсолютным. 15771 я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣п╢п╫п╦п╧ п©п╟я─п╟п╪п╣я┌я─ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ index п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╟п╠я│п╬п╩я▌я┌п╫я▀п╪.
15772 </para> 15772 </para>
15773 <para lang="en"> 15773 <para lang="en">
15774 the last index only in the "index" directive can be absolute. 15774 the last index only in the "index" directive can be absolute.
15775 </para> 15775 </para>
15776 </change> 15776 </change>
15777 15777
15778 <change type="feature"> 15778 <change type="feature">
15779 <para lang="ru"> 15779 <para lang="ru">
15780 в директиве rewrite могут использоваться переменные. 15780 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п╪п╬пЁя┐я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
15781 </para> 15781 </para>
15782 <para lang="en"> 15782 <para lang="en">
15783 the "rewrite" directive can use the variables. 15783 the "rewrite" directive can use the variables.
15784 </para> 15784 </para>
15785 </change> 15785 </change>
15786 15786
15787 <change type="feature"> 15787 <change type="feature">
15788 <para lang="ru"> 15788 <para lang="ru">
15789 директива internal. 15789 п╢п╦я─п╣п╨я┌п╦п╡п╟ internal.
15790 </para> 15790 </para>
15791 <para lang="en"> 15791 <para lang="en">
15792 the "internal" directive. 15792 the "internal" directive.
15793 </para> 15793 </para>
15794 </change> 15794 </change>
15795 15795
15796 <change type="feature"> 15796 <change type="feature">
15797 <para lang="ru"> 15797 <para lang="ru">
15798 переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 15798 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
15799 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 15799 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
15800 REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 15800 REQUEST_METHOD, REQUEST_URI п╦ REMOTE_USER.
15801 </para> 15801 </para>
15802 <para lang="en"> 15802 <para lang="en">
15803 the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 15803 the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
15804 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 15804 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
15805 REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. 15805 REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
15806 </para> 15806 </para>
15807 </change> 15807 </change>
15808 15808
15809 <change type="change"> 15809 <change type="change">
15810 <para lang="ru"> 15810 <para lang="ru">
15811 nginx теперь передаёт неверные строки в заголовках запроса клиента и 15811 nginx я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌ п╫п╣п╡п╣я─п╫я▀п╣ я│я┌я─п╬п╨п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п╦
15812 ответа бэкенда. 15812 п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
15813 </para> 15813 </para>
15814 <para lang="en"> 15814 <para lang="en">
15815 nginx now passes the invalid lines in a client request headers 15815 nginx now passes the invalid lines in a client request headers
15816 or a backend response header. 15816 or a backend response header.
15817 </para> 15817 </para>
15818 </change> 15818 </change>
15819 15819
15820 <change type="bugfix"> 15820 <change type="bugfix">
15821 <para lang="ru"> 15821 <para lang="ru">
15822 если бэкенд долго не передавал ответ и send_timeout был меньше, чем 15822 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п╢п╬п╩пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п╬я┌п╡п╣я┌ п╦ send_timeout п╠я▀п╩ п╪п╣п╫я▄я┬п╣, я┤п╣п╪
15823 proxy_read_timeout, то клиенту возвращался ответ 408. 15823 proxy_read_timeout, я┌п╬ п╨п╩п╦п╣п╫я┌я┐ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ 408.
15824 </para> 15824 </para>
15825 <para lang="en"> 15825 <para lang="en">
15826 if the backend did not transfer response for a long time and 15826 if the backend did not transfer response for a long time and
15827 the "send_timeout" was less than "proxy_read_timeout", then nginx 15827 the "send_timeout" was less than "proxy_read_timeout", then nginx
15828 returned the 408 response. 15828 returned the 408 response.
15829 </para> 15829 </para>
15830 </change> 15830 </change>
15831 15831
15832 <change type="bugfix"> 15832 <change type="bugfix">
15833 <para lang="ru"> 15833 <para lang="ru">
15834 если бэкенд передавал неверную строку в заголовке ответа, то происходил 15834 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п©п╣я─п╣п╢п╟п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌я─п╬п╨я┐ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩
15835 segmentation fault; 15835 segmentation fault;
15836 ошибка появилась в 0.1.26. 15836 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.26.
15837 </para> 15837 </para>
15838 <para lang="en"> 15838 <para lang="en">
15839 the segmentation fault was occurred if the backend sent an invalid line 15839 the segmentation fault was occurred if the backend sent an invalid line
15840 in response header; 15840 in response header;
15841 the bug had appeared in 0.1.26. 15841 the bug had appeared in 0.1.26.
15842 </para> 15842 </para>
15843 </change> 15843 </change>
15844 15844
15845 <change type="bugfix"> 15845 <change type="bugfix">
15846 <para lang="ru"> 15846 <para lang="ru">
15847 при использовании отказоустойчивой конфигурации в FastCGI мог 15847 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╨п╟п╥п╬я┐я│я┌п╬п╧я┤п╦п╡п╬п╧ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╡ FastCGI п╪п╬пЁ
15848 происходить segmentation fault. 15848 п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄ segmentation fault.
15849 </para> 15849 </para>
15850 <para lang="en"> 15850 <para lang="en">
15851 the segmentation fault may occurred in FastCGI fault tolerance configuration. 15851 the segmentation fault may occurred in FastCGI fault tolerance configuration.
15852 </para> 15852 </para>
15853 </change> 15853 </change>
15854 15854
15855 <change type="bugfix"> 15855 <change type="bugfix">
15856 <para lang="ru"> 15856 <para lang="ru">
15857 директива expires не удаляла уже установленные строки заголовка 15857 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п╫п╣ я┐п╢п╟п╩я▐п╩п╟ я┐п╤п╣ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я▀п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟
15858 "Expires" и "Cache-Control". 15858 "Expires" п╦ "Cache-Control".
15859 </para> 15859 </para>
15860 <para lang="en"> 15860 <para lang="en">
15861 the "expires" directive did not remove the previous "Expires" and 15861 the "expires" directive did not remove the previous "Expires" and
15862 "Cache-Control" headers. 15862 "Cache-Control" headers.
15863 </para> 15863 </para>
15864 </change> 15864 </change>
15865 15865
15866 <change type="bugfix"> 15866 <change type="bugfix">
15867 <para lang="ru"> 15867 <para lang="ru">
15868 nginx не учитывал завершающую точку в строке заголовка запроса "Host". 15868 nginx п╫п╣ я┐я┤п╦я┌я▀п╡п╟п╩ п╥п╟п╡п╣я─я┬п╟я▌я┴я┐я▌ я┌п╬я┤п╨я┐ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host".
15869 </para> 15869 </para>
15870 <para lang="en"> 15870 <para lang="en">
15871 nginx did not take into account trailing dot in "Host" header line. 15871 nginx did not take into account trailing dot in "Host" header line.
15872 </para> 15872 </para>
15873 </change> 15873 </change>
15874 15874
15875 <change type="bugfix"> 15875 <change type="bugfix">
15876 <para lang="ru"> 15876 <para lang="ru">
15877 модуль ngx_http_auth_module не работал на Linux. 15877 п╪п╬п╢я┐п╩я▄ ngx_http_auth_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux.
15878 </para> 15878 </para>
15879 <para lang="en"> 15879 <para lang="en">
15880 the ngx_http_auth_module did not work under Linux. 15880 the ngx_http_auth_module did not work under Linux.
15881 </para> 15881 </para>
15882 </change> 15882 </change>
15883 15883
15884 <change type="bugfix"> 15884 <change type="bugfix">
15885 <para lang="ru"> 15885 <para lang="ru">
15886 директива rewrite неверно работала, если в запросе присутствовали аргументы. 15886 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣п╡п╣я─п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п©я─п╦я│я┐я┌я│я┌п╡п╬п╡п╟п╩п╦ п╟я─пЁя┐п╪п╣п╫я┌я▀.
15887 </para> 15887 </para>
15888 <para lang="en"> 15888 <para lang="en">
15889 the rewrite directive worked incorrectly, if the arguments were in a request. 15889 the rewrite directive worked incorrectly, if the arguments were in a request.
15890 </para> 15890 </para>
15891 </change> 15891 </change>
15892 15892
15893 <change type="bugfix"> 15893 <change type="bugfix">
15894 <para lang="ru"> 15894 <para lang="ru">
15895 nginx не собирался на MacOS X. 15895 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOS X.
15896 </para> 15896 </para>
15897 <para lang="en"> 15897 <para lang="en">
15898 nginx could not be built on MacOS X. 15898 nginx could not be built on MacOS X.
15899 </para> 15899 </para>
15900 </change> 15900 </change>
15904 15904
15905 <changes ver="0.1.28" date="08.04.2005"> 15905 <changes ver="0.1.28" date="08.04.2005">
15906 15906
15907 <change type="bugfix"> 15907 <change type="bugfix">
15908 <para lang="ru"> 15908 <para lang="ru">
15909 при проксировании больших файлов nginx сильно нагружал процессор. 15909 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╦я┘ я└п╟п╧п╩п╬п╡ nginx я│п╦п╩я▄п╫п╬ п╫п╟пЁя─я┐п╤п╟п╩ п©я─п╬я├п╣я│я│п╬я─.
15910 </para> 15910 </para>
15911 <para lang="en"> 15911 <para lang="en">
15912 nginx hogs CPU while proxying the huge files. 15912 nginx hogs CPU while proxying the huge files.
15913 </para> 15913 </para>
15914 </change> 15914 </change>
15915 15915
15916 <change type="bugfix"> 15916 <change type="bugfix">
15917 <para lang="ru"> 15917 <para lang="ru">
15918 nginx не собирался gcc 4.0 на Linux. 15918 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ gcc 4.0 п╫п╟ Linux.
15919 </para> 15919 </para>
15920 <para lang="en"> 15920 <para lang="en">
15921 nginx could not be built by gcc 4.0 on Linux. 15921 nginx could not be built by gcc 4.0 on Linux.
15922 </para> 15922 </para>
15923 </change> 15923 </change>
15927 15927
15928 <changes ver="0.1.27" date="28.03.2005"> 15928 <changes ver="0.1.27" date="28.03.2005">
15929 15929
15930 <change type="feature"> 15930 <change type="feature">
15931 <para lang="ru"> 15931 <para lang="ru">
15932 параметр blocked в директиве valid_referers. 15932 п©п╟я─п╟п╪п╣я┌я─ blocked п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers.
15933 </para> 15933 </para>
15934 <para lang="en"> 15934 <para lang="en">
15935 the "blocked" parameter of the "valid_referers" directive. 15935 the "blocked" parameter of the "valid_referers" directive.
15936 </para> 15936 </para>
15937 </change> 15937 </change>
15938 15938
15939 <change type="change"> 15939 <change type="change">
15940 <para lang="ru"> 15940 <para lang="ru">
15941 ошибки обработки заголовка запроса теперь записываются на уровне 15941 п╬я┬п╦п╠п╨п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╫п╟ я┐я─п╬п╡п╫п╣
15942 info, в лог также записывается имя сервера и строки заголовка 15942 info, п╡ п╩п╬пЁ я┌п╟п╨п╤п╣ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п╦п╪я▐ я│п╣я─п╡п╣я─п╟ п╦ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟
15943 запроса "Host" и "Referer". 15943 п╥п╟п©я─п╬я│п╟ "Host" п╦ "Referer".
15944 </para> 15944 </para>
15945 <para lang="en"> 15945 <para lang="en">
15946 the errors while handling the request header now logged at "info" level. 15946 the errors while handling the request header now logged at "info" level.
15947 The server name and the "Host" and "Referer" header lines also logged. 15947 The server name and the "Host" and "Referer" header lines also logged.
15948 </para> 15948 </para>
15949 </change> 15949 </change>
15950 15950
15951 <change type="change"> 15951 <change type="change">
15952 <para lang="ru"> 15952 <para lang="ru">
15953 при записи ошибок в лог записывается также строка заголовка запроса "Host". 15953 п©я─п╦ п╥п╟п©п╦я│п╦ п╬я┬п╦п╠п╬п╨ п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я┌п╟п╨п╤п╣ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host".
15954 </para> 15954 </para>
15955 <para lang="en"> 15955 <para lang="en">
15956 the "Host" header line is also logged in error log. 15956 the "Host" header line is also logged in error log.
15957 </para> 15957 </para>
15958 </change> 15958 </change>
15959 15959
15960 <change type="feature"> 15960 <change type="feature">
15961 <para lang="ru"> 15961 <para lang="ru">
15962 директива proxy_pass_unparsed_uri. 15962 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_unparsed_uri.
15963 Специальная обработка символов "://" в URI, введённая в версии 0.1.11, 15963 п║п©п╣я├п╦п╟п╩я▄п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я│п╦п╪п╡п╬п╩п╬п╡ "://" п╡ URI, п╡п╡п╣п╢я▒п╫п╫п╟я▐ п╡ п╡п╣я─я│п╦п╦ 0.1.11,
15964 теперь упразднена. 15964 я┌п╣п©п╣я─я▄ я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
15965 </para> 15965 </para>
15966 <para lang="en"> 15966 <para lang="en">
15967 the proxy_pass_unparsed_uri directive. 15967 the proxy_pass_unparsed_uri directive.
15968 The special handling of the "://" symbols in URI, appeared in 0.1.11 version, 15968 The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
15969 now is canceled. 15969 now is canceled.
15970 </para> 15970 </para>
15971 </change> 15971 </change>
15972 15972
15973 <change type="bugfix"> 15973 <change type="bugfix">
15974 <para lang="ru"> 15974 <para lang="ru">
15975 nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации 15975 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ FreeBSD п╦ Linux, п╣я│п╩п╦ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
15976 --without-ngx_http_auth_basic_module. 15976 --without-ngx_http_auth_basic_module.
15977 </para> 15977 </para>
15978 <para lang="en"> 15978 <para lang="en">
15979 nginx could not be built on FreeBSD and Linux, if the 15979 nginx could not be built on FreeBSD and Linux, if the
15980 --without-ngx_http_auth_basic_module configuration parameter was used. 15980 --without-ngx_http_auth_basic_module configuration parameter was used.
15986 15986
15987 <changes ver="0.1.26" date="22.03.2005"> 15987 <changes ver="0.1.26" date="22.03.2005">
15988 15988
15989 <change type="change"> 15989 <change type="change">
15990 <para lang="ru"> 15990 <para lang="ru">
15991 неверные строки заголовка, переданные клиентом, теперь игнорируется и 15991 п╫п╣п╡п╣я─п╫я▀п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟, п©п╣я─п╣п╢п╟п╫п╫я▀п╣ п╨п╩п╦п╣п╫я┌п╬п╪, я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п╦
15992 записываются в error_log на уровне info. 15992 п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info.
15993 </para> 15993 </para>
15994 <para lang="en"> 15994 <para lang="en">
15995 the invalid client header lines are now ignored and logged at the info level. 15995 the invalid client header lines are now ignored and logged at the info level.
15996 </para> 15996 </para>
15997 </change> 15997 </change>
15998 15998
15999 <change type="change"> 15999 <change type="change">
16000 <para lang="ru"> 16000 <para lang="ru">
16001 при записи ошибок в лог записывается также имя сервера, при обращении 16001 п©я─п╦ п╥п╟п©п╦я│п╦ п╬я┬п╦п╠п╬п╨ п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я┌п╟п╨п╤п╣ п╦п╪я▐ я│п╣я─п╡п╣я─п╟, п©я─п╦ п╬п╠я─п╟я┴п╣п╫п╦п╦
16002 к которому произошла ошибка. 16002 п╨ п╨п╬я┌п╬я─п╬п╪я┐ п©я─п╬п╦п╥п╬я┬п╩п╟ п╬я┬п╦п╠п╨п╟.
16003 </para> 16003 </para>
16004 <para lang="en"> 16004 <para lang="en">
16005 the server name is also logged in error log. 16005 the server name is also logged in error log.
16006 </para> 16006 </para>
16007 </change> 16007 </change>
16008 16008
16009 <change type="feature"> 16009 <change type="feature">
16010 <para lang="ru"> 16010 <para lang="ru">
16011 модуль ngx_http_auth_basic_module и директивы auth_basic и 16011 п╪п╬п╢я┐п╩я▄ ngx_http_auth_basic_module п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic п╦
16012 auth_basic_user_file. 16012 auth_basic_user_file.
16013 </para> 16013 </para>
16014 <para lang="en"> 16014 <para lang="en">
16015 the ngx_http_auth_basic_module module and the auth_basic and 16015 the ngx_http_auth_basic_module module and the auth_basic and
16016 auth_basic_user_file directives. 16016 auth_basic_user_file directives.
16022 16022
16023 <changes ver="0.1.25" date="19.03.2005"> 16023 <changes ver="0.1.25" date="19.03.2005">
16024 16024
16025 <change type="bugfix"> 16025 <change type="bugfix">
16026 <para lang="ru"> 16026 <para lang="ru">
16027 nginx не работал на Linux parisc. 16027 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux parisc.
16028 </para> 16028 </para>
16029 <para lang="en"> 16029 <para lang="en">
16030 nginx did run on Linux parisc. 16030 nginx did run on Linux parisc.
16031 </para> 16031 </para>
16032 </change> 16032 </change>
16033 16033
16034 <change type="feature"> 16034 <change type="feature">
16035 <para lang="ru"> 16035 <para lang="ru">
16036 nginx теперь не запускается под FreeBSD, если значение 16036 nginx я┌п╣п©п╣я─я▄ п╫п╣ п╥п╟п©я┐я│п╨п╟п╣я┌я│я▐ п©п╬п╢ FreeBSD, п╣я│п╩п╦ п╥п╫п╟я┤п╣п╫п╦п╣
16037 sysctl kern.ipc.somaxconn слишком большое. 16037 sysctl kern.ipc.somaxconn я│п╩п╦я┬п╨п╬п╪ п╠п╬п╩я▄я┬п╬п╣.
16038 </para> 16038 </para>
16039 <para lang="en"> 16039 <para lang="en">
16040 nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn 16040 nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
16041 value is too big. 16041 value is too big.
16042 </para> 16042 </para>
16043 </change> 16043 </change>
16044 16044
16045 <change type="bugfix"> 16045 <change type="bugfix">
16046 <para lang="ru"> 16046 <para lang="ru">
16047 если модуль ngx_http_index_module делал внутреннее перенаправление запроса 16047 п╣я│п╩п╦ п╪п╬п╢я┐п╩я▄ ngx_http_index_module п╢п╣п╩п╟п╩ п╡п╫я┐я┌я─п╣п╫п╫п╣п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╣ п╥п╟п©я─п╬я│п╟
16048 в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса 16048 п╡ п╪п╬п╢я┐п╩п╦ ngx_http_proxy_module п╦п╩п╦ ngx_http_fastcgi_module, я┌п╬ я└п╟п╧п╩ п╦п╫п╢п╣п╨я│п╟
16049 не закрывался после обслуживания запроса. 16049 п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩я│я▐ п©п╬я│п╩п╣ п╬п╠я│п╩я┐п╤п╦п╡п╟п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
16050 </para> 16050 </para>
16051 <para lang="en"> 16051 <para lang="en">
16052 if a request was internally redirected by the ngx_http_index_module 16052 if a request was internally redirected by the ngx_http_index_module
16053 module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, 16053 module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
16054 then the index file was not closed after request completion. 16054 then the index file was not closed after request completion.
16055 </para> 16055 </para>
16056 </change> 16056 </change>
16057 16057
16058 <change type="feature"> 16058 <change type="feature">
16059 <para lang="ru"> 16059 <para lang="ru">
16060 директива proxy_pass может использоваться в location, заданных регулярным 16060 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ location, п╥п╟п╢п╟п╫п╫я▀я┘ я─п╣пЁя┐п╩я▐я─п╫я▀п╪
16061 выражением. 16061 п╡я▀я─п╟п╤п╣п╫п╦п╣п╪.
16062 </para> 16062 </para>
16063 <para lang="en"> 16063 <para lang="en">
16064 the "proxy_pass" can be used in location with regular expression. 16064 the "proxy_pass" can be used in location with regular expression.
16065 </para> 16065 </para>
16066 </change> 16066 </change>
16067 16067
16068 <change type="feature"> 16068 <change type="feature">
16069 <para lang="ru"> 16069 <para lang="ru">
16070 модуль ngx_http_rewrite_filter_module поддерживает условия вида 16070 п╪п╬п╢я┐п╩я▄ ngx_http_rewrite_filter_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐я│п╩п╬п╡п╦я▐ п╡п╦п╢п╟
16071 "if ($HTTP_USER_AGENT ~ MSIE)". 16071 "if ($HTTP_USER_AGENT ~ MSIE)".
16072 </para> 16072 </para>
16073 <para lang="en"> 16073 <para lang="en">
16074 the ngx_http_rewrite_filter_module module supports the condition like 16074 the ngx_http_rewrite_filter_module module supports the condition like
16075 "if ($HTTP_USER_AGENT ~ MSIE)". 16075 "if ($HTTP_USER_AGENT ~ MSIE)".
16076 </para> 16076 </para>
16077 </change> 16077 </change>
16078 16078
16079 <change type="bugfix"> 16079 <change type="bugfix">
16080 <para lang="ru"> 16080 <para lang="ru">
16081 nginx очень медленно запускался при большом количестве адресов и 16081 nginx п╬я┤п╣п╫я▄ п╪п╣п╢п╩п╣п╫п╫п╬ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п©я─п╦ п╠п╬п╩я▄я┬п╬п╪ п╨п╬п╩п╦я┤п╣я│я┌п╡п╣ п╟п╢я─п╣я│п╬п╡ п╦
16082 использовании текстовых значений в директиве geo. 16082 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я┌п╣п╨я│я┌п╬п╡я▀я┘ п╥п╫п╟я┤п╣п╫п╦п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo.
16083 </para> 16083 </para>
16084 <para lang="en"> 16084 <para lang="en">
16085 nginx started too slow if the large number of addresses and text values 16085 nginx started too slow if the large number of addresses and text values
16086 were used in the "geo" directive. 16086 were used in the "geo" directive.
16087 </para> 16087 </para>
16088 </change> 16088 </change>
16089 16089
16090 <change type="change"> 16090 <change type="change">
16091 <para lang="ru"> 16091 <para lang="ru">
16092 имя переменной в директиве geo нужно указывать, как $name. 16092 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo п╫я┐п╤п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄, п╨п╟п╨ $name.
16093 Прежний вариант без "$" пока работает, но вскоре будет убран. 16093 п÷я─п╣п╤п╫п╦п╧ п╡п╟я─п╦п╟п╫я┌ п╠п╣п╥ "$" п©п╬п╨п╟ я─п╟п╠п╬я┌п╟п╣я┌, п╫п╬ п╡я│п╨п╬я─п╣ п╠я┐п╢п╣я┌ я┐п╠я─п╟п╫.
16094 </para> 16094 </para>
16095 <para lang="en"> 16095 <para lang="en">
16096 a variable name must be declared as "$name" in the "geo" directive. 16096 a variable name must be declared as "$name" in the "geo" directive.
16097 The previous variant without "$" is still supported, but will be removed soon. 16097 The previous variant without "$" is still supported, but will be removed soon.
16098 </para> 16098 </para>
16099 </change> 16099 </change>
16100 16100
16101 <change type="feature"> 16101 <change type="feature">
16102 <para lang="ru"> 16102 <para lang="ru">
16103 параметр лога "%{VARIABLE}v". 16103 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ "%{VARIABLE}v".
16104 </para> 16104 </para>
16105 <para lang="en"> 16105 <para lang="en">
16106 the "%{VARIABLE}v" logging parameter. 16106 the "%{VARIABLE}v" logging parameter.
16107 </para> 16107 </para>
16108 </change> 16108 </change>
16109 16109
16110 <change type="feature"> 16110 <change type="feature">
16111 <para lang="ru"> 16111 <para lang="ru">
16112 директива "set $name value". 16112 п╢п╦я─п╣п╨я┌п╦п╡п╟ "set $name value".
16113 </para> 16113 </para>
16114 <para lang="en"> 16114 <para lang="en">
16115 the "set $name value" directive. 16115 the "set $name value" directive.
16116 </para> 16116 </para>
16117 </change> 16117 </change>
16118 16118
16119 <change type="bugfix"> 16119 <change type="bugfix">
16120 <para lang="ru"> 16120 <para lang="ru">
16121 совместимость с gcc 4.0. 16121 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ gcc 4.0.
16122 </para> 16122 </para>
16123 <para lang="en"> 16123 <para lang="en">
16124 gcc 4.0 compatibility. 16124 gcc 4.0 compatibility.
16125 </para> 16125 </para>
16126 </change> 16126 </change>
16127 16127
16128 <change type="feature"> 16128 <change type="feature">
16129 <para lang="ru"> 16129 <para lang="ru">
16130 параметр автоконфигурации --with-openssl-opt=OPTIONS. 16130 п©п╟я─п╟п╪п╣я┌я─ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-openssl-opt=OPTIONS.
16131 </para> 16131 </para>
16132 <para lang="en"> 16132 <para lang="en">
16133 the --with-openssl-opt=OPTIONS autoconfiguration directive. 16133 the --with-openssl-opt=OPTIONS autoconfiguration directive.
16134 </para> 16134 </para>
16135 </change> 16135 </change>
16139 16139
16140 <changes ver="0.1.24" date="04.03.2005"> 16140 <changes ver="0.1.24" date="04.03.2005">
16141 16141
16142 <change type="feature"> 16142 <change type="feature">
16143 <para lang="ru"> 16143 <para lang="ru">
16144 модуль ngx_http_ssi_filter_module поддерживает переменные 16144 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
16145 QUERY_STRING и DOCUMENT_URI. 16145 QUERY_STRING п╦ DOCUMENT_URI.
16146 </para> 16146 </para>
16147 <para lang="en"> 16147 <para lang="en">
16148 the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI 16148 the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
16149 variables. 16149 variables.
16150 </para> 16150 </para>
16151 </change> 16151 </change>
16152 16152
16153 <change type="bugfix"> 16153 <change type="bugfix">
16154 <para lang="ru"> 16154 <para lang="ru">
16155 модуль ngx_http_autoindex_module мог выдавать ответ 404 16155 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┌п╡п╣я┌ 404
16156 на существующий каталог, если этот каталог был указан как alias. 16156 п╫п╟ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦п╧ п╨п╟я┌п╟п╩п╬пЁ, п╣я│п╩п╦ я█я┌п╬я┌ п╨п╟я┌п╟п╩п╬пЁ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╨п╟п╨ alias.
16157 </para> 16157 </para>
16158 <para lang="en"> 16158 <para lang="en">
16159 the ngx_http_autoindex_module may some times return the 404 response 16159 the ngx_http_autoindex_module may some times return the 404 response
16160 for existent directory, if this directory was used in "alias" directive. 16160 for existent directory, if this directory was used in "alias" directive.
16161 </para> 16161 </para>
16162 </change> 16162 </change>
16163 16163
16164 <change type="bugfix"> 16164 <change type="bugfix">
16165 <para lang="ru"> 16165 <para lang="ru">
16166 модуль ngx_http_ssi_filter_module неправильно работал при больших 16166 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩ п©я─п╦ п╠п╬п╩я▄я┬п╦я┘
16167 ответах. 16167 п╬я┌п╡п╣я┌п╟я┘.
16168 </para> 16168 </para>
16169 <para lang="en"> 16169 <para lang="en">
16170 the ngx_http_ssi_filter_module ran incorrectly for large responses. 16170 the ngx_http_ssi_filter_module ran incorrectly for large responses.
16171 </para> 16171 </para>
16172 </change> 16172 </change>
16173 16173
16174 <change type="bugfix"> 16174 <change type="bugfix">
16175 <para lang="ru"> 16175 <para lang="ru">
16176 отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом. 16176 п╬я┌я│я┐я┌я│я┌п╡п╦п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Referer" п╡я│п╣пЁп╢п╟ я│я┤п╦я┌п╟п╩п╬я│я▄ п©я─п╟п╡п╦п╩я▄п╫я▀п╪ referrer'п╬п╪.
16177 </para> 16177 </para>
16178 <para lang="en"> 16178 <para lang="en">
16179 the lack of the "Referer" header line was always accounted as valid referrer. 16179 the lack of the "Referer" header line was always accounted as valid referrer.
16180 </para> 16180 </para>
16181 </change> 16181 </change>
16185 16185
16186 <changes ver="0.1.23" date="01.03.2005"> 16186 <changes ver="0.1.23" date="01.03.2005">
16187 16187
16188 <change type="feature"> 16188 <change type="feature">
16189 <para lang="ru"> 16189 <para lang="ru">
16190 модуль ngx_http_ssi_filter_module и 16190 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п╦
16191 директивы ssi, ssi_silent_errors и ssi_min_file_chunk. 16191 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssi, ssi_silent_errors п╦ ssi_min_file_chunk.
16192 Поддерживаются команды 'echo var="HTTP_..." default=""' и 16192 п÷п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐ п╨п╬п╪п╟п╫п╢я▀ 'echo var="HTTP_..." default=""' п╦
16193 'echo var="REMOTE_ADDR"'. 16193 'echo var="REMOTE_ADDR"'.
16194 </para> 16194 </para>
16195 <para lang="en"> 16195 <para lang="en">
16196 the ngx_http_ssi_filter_module and 16196 the ngx_http_ssi_filter_module and
16197 the ssi, ssi_silent_errors, and ssi_min_file_chunk directives. 16197 the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
16200 </para> 16200 </para>
16201 </change> 16201 </change>
16202 16202
16203 <change type="feature"> 16203 <change type="feature">
16204 <para lang="ru"> 16204 <para lang="ru">
16205 параметр лога %request_time. 16205 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_time.
16206 </para> 16206 </para>
16207 <para lang="en"> 16207 <para lang="en">
16208 the %request_time log parameter. 16208 the %request_time log parameter.
16209 </para> 16209 </para>
16210 </change> 16210 </change>
16211 16211
16212 <change type="feature"> 16212 <change type="feature">
16213 <para lang="ru"> 16213 <para lang="ru">
16214 если запрос пришёл без строки заголовка "Host", то директива 16214 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п©я─п╦я┬я▒п╩ п╠п╣п╥ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Host", я┌п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟
16215 proxy_preserve_host устанавливает в качестве этого заголовка первое имя 16215 proxy_preserve_host я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ п╡ п╨п╟я┤п╣я│я┌п╡п╣ я█я┌п╬пЁп╬ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п©п╣я─п╡п╬п╣ п╦п╪я▐
16216 сервера из директивы server_name. 16216 я│п╣я─п╡п╣я─п╟ п╦п╥ п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name.
16217 </para> 16217 </para>
16218 <para lang="en"> 16218 <para lang="en">
16219 if the request has no the "Host" header line, then the "proxy_preserve_host" 16219 if the request has no the "Host" header line, then the "proxy_preserve_host"
16220 directive set this header line to the first server name of the "server_name" 16220 directive set this header line to the first server name of the "server_name"
16221 directive. 16221 directive.
16222 </para> 16222 </para>
16223 </change> 16223 </change>
16224 16224
16225 <change type="bugfix"> 16225 <change type="bugfix">
16226 <para lang="ru"> 16226 <para lang="ru">
16227 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 16227 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
16228 ошибка появилась в 0.1.22. 16228 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.22.
16229 </para> 16229 </para>
16230 <para lang="en"> 16230 <para lang="en">
16231 nginx could not be built on platforms different from i386, amd64, sparc, 16231 nginx could not be built on platforms different from i386, amd64, sparc,
16232 and ppc; 16232 and ppc;
16233 the bug had appeared in 0.1.22. 16233 the bug had appeared in 0.1.22.
16234 </para> 16234 </para>
16235 </change> 16235 </change>
16236 16236
16237 <change type="bugfix"> 16237 <change type="bugfix">
16238 <para lang="ru"> 16238 <para lang="ru">
16239 модуль ngx_http_autoindex_module теперь показывает информацию не о 16239 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module я┌п╣п©п╣я─я▄ п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╫п╣ п╬
16240 символическом линке, а о файле или каталоге, на который он указывает. 16240 я│п╦п╪п╡п╬п╩п╦я┤п╣я│п╨п╬п╪ п╩п╦п╫п╨п╣, п╟ п╬ я└п╟п╧п╩п╣ п╦п╩п╦ п╨п╟я┌п╟п╩п╬пЁп╣, п╫п╟ п╨п╬я┌п╬я─я▀п╧ п╬п╫ я┐п╨п╟п╥я▀п╡п╟п╣я┌.
16241 </para> 16241 </para>
16242 <para lang="en"> 16242 <para lang="en">
16243 the ngx_http_autoindex_module now shows the information not about the symlink, 16243 the ngx_http_autoindex_module now shows the information not about the symlink,
16244 but about file or directory it points to. 16244 but about file or directory it points to.
16245 </para> 16245 </para>
16246 </change> 16246 </change>
16247 16247
16248 <change type="bugfix"> 16248 <change type="bugfix">
16249 <para lang="ru"> 16249 <para lang="ru">
16250 если клиенту ничего не передавалось, то параметр %apache_length 16250 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌я┐ п╫п╦я┤п╣пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ %apache_length
16251 записывал в лог отрицательную длину заголовка ответа. 16251 п╥п╟п©п╦я│я▀п╡п╟п╩ п╡ п╩п╬пЁ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫я┐я▌ п╢п╩п╦п╫я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟.
16252 </para> 16252 </para>
16253 <para lang="en"> 16253 <para lang="en">
16254 the %apache_length parameter logged the negative length 16254 the %apache_length parameter logged the negative length
16255 of the response header if the no response was transferred to a client. 16255 of the response header if the no response was transferred to a client.
16256 </para> 16256 </para>
16261 16261
16262 <changes ver="0.1.22" date="22.02.2005"> 16262 <changes ver="0.1.22" date="22.02.2005">
16263 16263
16264 <change type="bugfix"> 16264 <change type="bugfix">
16265 <para lang="ru"> 16265 <para lang="ru">
16266 модуль ngx_http_stub_status_module показывал неверную статистику 16266 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module п©п╬п╨п╟п╥я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌п╟я┌п╦я│я┌п╦п╨я┐
16267 для обработанных соединений, если использовалось проксирование 16267 п╢п╩я▐ п╬п╠я─п╟п╠п╬я┌п╟п╫п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣
16268 или FastCGI-сервер. 16268 п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─.
16269 </para> 16269 </para>
16270 <para lang="en"> 16270 <para lang="en">
16271 the ngx_http_stub_status_module showed incorrect handled connections 16271 the ngx_http_stub_status_module showed incorrect handled connections
16272 statistics if the proxying or FastCGI server were used. 16272 statistics if the proxying or FastCGI server were used.
16273 </para> 16273 </para>
16274 </change> 16274 </change>
16275 16275
16276 <change type="bugfix"> 16276 <change type="bugfix">
16277 <para lang="ru"> 16277 <para lang="ru">
16278 на Linux и Solaris установочные пути были неверно заключены в кавычки; 16278 п╫п╟ Linux п╦ Solaris я┐я│я┌п╟п╫п╬п╡п╬я┤п╫я▀п╣ п©я┐я┌п╦ п╠я▀п╩п╦ п╫п╣п╡п╣я─п╫п╬ п╥п╟п╨п╩я▌я┤п╣п╫я▀ п╡ п╨п╟п╡я▀я┤п╨п╦;
16279 ошибка появилась в 0.1.21. 16279 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.21.
16280 </para> 16280 </para>
16281 <para lang="en"> 16281 <para lang="en">
16282 the installation paths were incorrectly quoted on Linux and Solaris; 16282 the installation paths were incorrectly quoted on Linux and Solaris;
16283 the bug had appeared in 0.1.21. 16283 the bug had appeared in 0.1.21.
16284 </para> 16284 </para>
16289 16289
16290 <changes ver="0.1.21" date="22.02.2005"> 16290 <changes ver="0.1.21" date="22.02.2005">
16291 16291
16292 <change type="bugfix"> 16292 <change type="bugfix">
16293 <para lang="ru"> 16293 <para lang="ru">
16294 модуль ngx_http_stub_status_module показывал неверную статистику 16294 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module п©п╬п╨п╟п╥я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌п╟я┌п╦я│я┌п╦п╨я┐
16295 при использовании метода rtsig или при использовании нескольких 16295 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘
16296 рабочих процессов на SMP машине. 16296 я─п╟п╠п╬я┤п╦я┘ п©я─п╬я├п╣я│я│п╬п╡ п╫п╟ SMP п╪п╟я┬п╦п╫п╣.
16297 </para> 16297 </para>
16298 <para lang="en"> 16298 <para lang="en">
16299 the ngx_http_stub_status_module showed incorrect statistics 16299 the ngx_http_stub_status_module showed incorrect statistics
16300 if "rtsig" method was used or if several worker process ran on SMP. 16300 if "rtsig" method was used or if several worker process ran on SMP.
16301 </para> 16301 </para>
16302 </change> 16302 </change>
16303 16303
16304 <change type="bugfix"> 16304 <change type="bugfix">
16305 <para lang="ru"> 16305 <para lang="ru">
16306 nginx не собирался компилятором icc под Линуксом или 16306 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ icc п©п╬п╢ п⌡п╦п╫я┐п╨я│п╬п╪ п╦п╩п╦
16307 если библиотека zlib-1.2.x собиралась из исходных текстов. 16307 п╣я│п╩п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╟ zlib-1.2.x я│п╬п╠п╦я─п╟п╩п╟я│я▄ п╦п╥ п╦я│я┘п╬п╢п╫я▀я┘ я┌п╣п╨я│я┌п╬п╡.
16308 </para> 16308 </para>
16309 <para lang="en"> 16309 <para lang="en">
16310 nginx could not be built by the icc compiler on Linux or 16310 nginx could not be built by the icc compiler on Linux or
16311 if the zlib-1.2.x library was building from sources. 16311 if the zlib-1.2.x library was building from sources.
16312 </para> 16312 </para>
16313 </change> 16313 </change>
16314 16314
16315 <change type="bugfix"> 16315 <change type="bugfix">
16316 <para lang="ru"> 16316 <para lang="ru">
16317 nginx не собирался под NetBSD 2.0. 16317 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ NetBSD 2.0.
16318 </para> 16318 </para>
16319 <para lang="en"> 16319 <para lang="en">
16320 nginx could not be built on NetBSD 2.0. 16320 nginx could not be built on NetBSD 2.0.
16321 </para> 16321 </para>
16322 </change> 16322 </change>
16326 16326
16327 <changes ver="0.1.20" date="17.02.2005"> 16327 <changes ver="0.1.20" date="17.02.2005">
16328 16328
16329 <change type="feature"> 16329 <change type="feature">
16330 <para lang="ru"> 16330 <para lang="ru">
16331 новые параметры script_filename и remote_port в директиве fastcgi_params. 16331 п╫п╬п╡я▀п╣ п©п╟я─п╟п╪п╣я┌я─я▀ script_filename п╦ remote_port п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_params.
16332 </para> 16332 </para>
16333 <para lang="en"> 16333 <para lang="en">
16334 the new "script_filename" and "remote_port" parameters 16334 the new "script_filename" and "remote_port" parameters
16335 of the fastcgi_params directive. 16335 of the fastcgi_params directive.
16336 </para> 16336 </para>
16337 </change> 16337 </change>
16338 16338
16339 <change type="bugfix"> 16339 <change type="bugfix">
16340 <para lang="ru"> 16340 <para lang="ru">
16341 неправильно обрабатывался поток stderr от FastCGI-сервера. 16341 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п©п╬я┌п╬п╨ stderr п╬я┌ FastCGI-я│п╣я─п╡п╣я─п╟.
16342 </para> 16342 </para>
16343 <para lang="en"> 16343 <para lang="en">
16344 the FastCGI stderr stream was handled incorrectly. 16344 the FastCGI stderr stream was handled incorrectly.
16345 </para> 16345 </para>
16346 </change> 16346 </change>
16350 16350
16351 <changes ver="0.1.19" date="16.02.2005"> 16351 <changes ver="0.1.19" date="16.02.2005">
16352 16352
16353 <change type="bugfix"> 16353 <change type="bugfix">
16354 <para lang="ru"> 16354 <para lang="ru">
16355 если в запросе есть нуль, то для локальных запросов теперь возвращается 16355 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ п╫я┐п╩я▄, я┌п╬ п╢п╩я▐ п╩п╬п╨п╟п╩я▄п╫я▀я┘ п╥п╟п©я─п╬я│п╬п╡ я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐
16356 ошибка 404. 16356 п╬я┬п╦п╠п╨п╟ 404.
16357 </para> 16357 </para>
16358 <para lang="en"> 16358 <para lang="en">
16359 now, if request contains the zero, then the 404 error is returned 16359 now, if request contains the zero, then the 404 error is returned
16360 for the local requests. 16360 for the local requests.
16361 </para> 16361 </para>
16362 </change> 16362 </change>
16363 16363
16364 <change type="bugfix"> 16364 <change type="bugfix">
16365 <para lang="ru"> 16365 <para lang="ru">
16366 nginx не собирался под NetBSD 2.0. 16366 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ NetBSD 2.0.
16367 </para> 16367 </para>
16368 <para lang="en"> 16368 <para lang="en">
16369 nginx could not be built on NetBSD 2.0. 16369 nginx could not be built on NetBSD 2.0.
16370 </para> 16370 </para>
16371 </change> 16371 </change>
16372 16372
16373 <change type="bugfix"> 16373 <change type="bugfix">
16374 <para lang="ru"> 16374 <para lang="ru">
16375 во время чтения тела запроса клиента в SSL соединении мог произойти таймаут. 16375 п╡п╬ п╡я─п╣п╪я▐ я┤я┌п╣п╫п╦я▐ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п╡ SSL я│п╬п╣п╢п╦п╫п╣п╫п╦п╦ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ я┌п╟п╧п╪п╟я┐я┌.
16376 </para> 16376 </para>
16377 <para lang="en"> 16377 <para lang="en">
16378 the timeout may occur while reading of the the client request body 16378 the timeout may occur while reading of the the client request body
16379 via SSL connections. 16379 via SSL connections.
16380 </para> 16380 </para>
16385 16385
16386 <changes ver="0.1.18" date="09.02.2005"> 16386 <changes ver="0.1.18" date="09.02.2005">
16387 16387
16388 <change type="workaround"> 16388 <change type="workaround">
16389 <para lang="ru"> 16389 <para lang="ru">
16390 для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes 16390 п╢п╩я▐ я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌п╦ я│ Solaris 10 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ devpoll_events п╦ devpoll_changes
16391 значения по умолчанию уменьшены с 512 до 32. 16391 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я┐п╪п╣п╫я▄я┬п╣п╫я▀ я│ 512 п╢п╬ 32.
16392 </para> 16392 </para>
16393 <para lang="en"> 16393 <para lang="en">
16394 the default values of the devpoll_events and the devpoll_changes directives 16394 the default values of the devpoll_events and the devpoll_changes directives
16395 changed from 512 to 32 to be compatible with Solaris 10. 16395 changed from 512 to 32 to be compatible with Solaris 10.
16396 </para> 16396 </para>
16397 </change> 16397 </change>
16398 16398
16399 <change type="bugfix"> 16399 <change type="bugfix">
16400 <para lang="ru"> 16400 <para lang="ru">
16401 директивы proxy_set_x_var и fastcgi_set_var не наследовались. 16401 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_set_x_var п╦ fastcgi_set_var п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄.
16402 </para> 16402 </para>
16403 <para lang="en"> 16403 <para lang="en">
16404 the proxy_set_x_var and fastcgi_set_var directives were not inherited. 16404 the proxy_set_x_var and fastcgi_set_var directives were not inherited.
16405 </para> 16405 </para>
16406 </change> 16406 </change>
16407 16407
16408 <change type="bugfix"> 16408 <change type="bugfix">
16409 <para lang="ru"> 16409 <para lang="ru">
16410 в директиве rewrite, возвращающей редирект, аргументы присоединялись 16410 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite, п╡п╬п╥п╡я─п╟я┴п╟я▌я┴п╣п╧ я─п╣п╢п╦я─п╣п╨я┌, п╟я─пЁя┐п╪п╣п╫я┌я▀ п©я─п╦я│п╬п╣п╢п╦п╫я▐п╩п╦я│я▄
16411 к URI через символ "&amp;" вместо "?". 16411 п╨ URI я┤п╣я─п╣п╥ я│п╦п╪п╡п╬п╩ "&amp;" п╡п╪п╣я│я┌п╬ "?".
16412 </para> 16412 </para>
16413 <para lang="en"> 16413 <para lang="en">
16414 in a redirect rewrite directive arguments were concatenated with URI 16414 in a redirect rewrite directive arguments were concatenated with URI
16415 by an "&amp;" rather than a "?". 16415 by an "&amp;" rather than a "?".
16416 </para> 16416 </para>
16417 </change> 16417 </change>
16418 16418
16419 <change type="bugfix"> 16419 <change type="bugfix">
16420 <para lang="ru"> 16420 <para lang="ru">
16421 строки для модуля ngx_http_geo_module без символа ";" во включённом файле 16421 я│я┌я─п╬п╨п╦ п╢п╩я▐ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module п╠п╣п╥ я│п╦п╪п╡п╬п╩п╟ ";" п╡п╬ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ я└п╟п╧п╩п╣
16422 игнорировались. 16422 п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╦я│я▄.
16423 </para> 16423 </para>
16424 <para lang="en"> 16424 <para lang="en">
16425 the lines without trailing ";" in the file being included 16425 the lines without trailing ";" in the file being included
16426 by the ngx_http_geo_module were silently ignored. 16426 by the ngx_http_geo_module were silently ignored.
16427 </para> 16427 </para>
16428 </change> 16428 </change>
16429 16429
16430 <change type="feature"> 16430 <change type="feature">
16431 <para lang="ru"> 16431 <para lang="ru">
16432 модуль ngx_http_stub_status_module. 16432 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module.
16433 </para> 16433 </para>
16434 <para lang="en"> 16434 <para lang="en">
16435 the ngx_http_stub_status_module. 16435 the ngx_http_stub_status_module.
16436 </para> 16436 </para>
16437 </change> 16437 </change>
16438 16438
16439 <change type="bugfix"> 16439 <change type="bugfix">
16440 <para lang="ru"> 16440 <para lang="ru">
16441 неизвестный формат лог-файла в директиве access_log вызывал segmentation fault. 16441 п╫п╣п╦п╥п╡п╣я│я┌п╫я▀п╧ я└п╬я─п╪п╟я┌ п╩п╬пЁ-я└п╟п╧п╩п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log п╡я▀п╥я▀п╡п╟п╩ segmentation fault.
16442 </para> 16442 </para>
16443 <para lang="en"> 16443 <para lang="en">
16444 the unknown log format in the access_log directive caused 16444 the unknown log format in the access_log directive caused
16445 the segmentation fault. 16445 the segmentation fault.
16446 </para> 16446 </para>
16447 </change> 16447 </change>
16448 16448
16449 <change type="feature"> 16449 <change type="feature">
16450 <para lang="ru"> 16450 <para lang="ru">
16451 новый параметр document_root в директиве fastcgi_params. 16451 п╫п╬п╡я▀п╧ п©п╟я─п╟п╪п╣я┌я─ document_root п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_params.
16452 </para> 16452 </para>
16453 <para lang="en"> 16453 <para lang="en">
16454 the new "document_root" parameter of the fastcgi_params directive. 16454 the new "document_root" parameter of the fastcgi_params directive.
16455 </para> 16455 </para>
16456 </change> 16456 </change>
16457 16457
16458 <change type="feature"> 16458 <change type="feature">
16459 <para lang="ru"> 16459 <para lang="ru">
16460 директива fastcgi_redirect_errors. 16460 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_redirect_errors.
16461 </para> 16461 </para>
16462 <para lang="en"> 16462 <para lang="en">
16463 the fastcgi_redirect_errors directive. 16463 the fastcgi_redirect_errors directive.
16464 </para> 16464 </para>
16465 </change> 16465 </change>
16466 16466
16467 <change type="feature"> 16467 <change type="feature">
16468 <para lang="ru"> 16468 <para lang="ru">
16469 новый модификатор break в директиве rewrite позволяет прекратить 16469 п╫п╬п╡я▀п╧ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ break п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п©п╬п╥п╡п╬п╩я▐п╣я┌ п©я─п╣п╨я─п╟я┌п╦я┌я▄
16470 цикл rewrite/location и устанавливает текущую конфигурацию для запроса. 16470 я├п╦п╨п╩ rewrite/location п╦ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ я┌п╣п╨я┐я┴я┐я▌ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▌ п╢п╩я▐ п╥п╟п©я─п╬я│п╟.
16471 </para> 16471 </para>
16472 <para lang="en"> 16472 <para lang="en">
16473 the new "break" modifier of the "rewrite" directive allows to stop 16473 the new "break" modifier of the "rewrite" directive allows to stop
16474 the rewrite/location cycle and sets the current configuration to the request. 16474 the rewrite/location cycle and sets the current configuration to the request.
16475 </para> 16475 </para>
16480 16480
16481 <changes ver="0.1.17" date="03.02.2005"> 16481 <changes ver="0.1.17" date="03.02.2005">
16482 16482
16483 <change type="change"> 16483 <change type="change">
16484 <para lang="ru"> 16484 <para lang="ru">
16485 модуль ngx_http_rewrite_module полностью переписан. 16485 п╪п╬п╢я┐п╩я▄ ngx_http_rewrite_module п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╣я─п╣п©п╦я│п╟п╫.
16486 Теперь можно делать редиректы, возвращать коды ошибок 16486 п╒п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╢п╣п╩п╟я┌я▄ я─п╣п╢п╦я─п╣п╨я┌я▀, п╡п╬п╥п╡я─п╟я┴п╟я┌я▄ п╨п╬п╢я▀ п╬я┬п╦п╠п╬п╨
16487 и проверять переменные и рефереры. 16487 п╦ п©я─п╬п╡п╣я─я▐я┌я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ я─п╣я└п╣я─п╣я─я▀.
16488 Эти директивы можно использовать внутри location. 16488 п╜я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ location.
16489 Директива redirect упразднена. 16489 п■п╦я─п╣п╨я┌п╦п╡п╟ redirect я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
16490 </para> 16490 </para>
16491 <para lang="en"> 16491 <para lang="en">
16492 the ngx_http_rewrite_module was rewritten from the scratch. 16492 the ngx_http_rewrite_module was rewritten from the scratch.
16493 Now it is possible to redirect, to return the error codes, 16493 Now it is possible to redirect, to return the error codes,
16494 to check the variables and referrers. The directives can be used 16494 to check the variables and referrers. The directives can be used
16497 </para> 16497 </para>
16498 </change> 16498 </change>
16499 16499
16500 <change type="feature"> 16500 <change type="feature">
16501 <para lang="ru"> 16501 <para lang="ru">
16502 модуль ngx_http_geo_module. 16502 п╪п╬п╢я┐п╩я▄ ngx_http_geo_module.
16503 </para> 16503 </para>
16504 <para lang="en"> 16504 <para lang="en">
16505 the ngx_http_geo_module. 16505 the ngx_http_geo_module.
16506 </para> 16506 </para>
16507 </change> 16507 </change>
16508 16508
16509 <change type="feature"> 16509 <change type="feature">
16510 <para lang="ru"> 16510 <para lang="ru">
16511 директивы proxy_set_x_var и fastcgi_set_var. 16511 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_set_x_var п╦ fastcgi_set_var.
16512 </para> 16512 </para>
16513 <para lang="en"> 16513 <para lang="en">
16514 the proxy_set_x_var and fastcgi_set_var directives. 16514 the proxy_set_x_var and fastcgi_set_var directives.
16515 </para> 16515 </para>
16516 </change> 16516 </change>
16517 16517
16518 <change type="bugfix"> 16518 <change type="bugfix">
16519 <para lang="ru"> 16519 <para lang="ru">
16520 конфигурация location с модификатором "=" могла использоваться 16520 п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐ location я│ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─п╬п╪ "=" п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐
16521 в другом location. 16521 п╡ п╢я─я┐пЁп╬п╪ location.
16522 </para> 16522 </para>
16523 <para lang="en"> 16523 <para lang="en">
16524 the location configuration with "=" modifier may be used in another 16524 the location configuration with "=" modifier may be used in another
16525 location. 16525 location.
16526 </para> 16526 </para>
16527 </change> 16527 </change>
16528 16528
16529 <change type="bugfix"> 16529 <change type="bugfix">
16530 <para lang="ru"> 16530 <para lang="ru">
16531 правильный тип ответа выставлялся только для запросов, у которых в расширении 16531 п©я─п╟п╡п╦п╩я▄п╫я▀п╧ я┌п╦п© п╬я┌п╡п╣я┌п╟ п╡я▀я│я┌п╟п╡п╩я▐п╩я│я▐ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡, я┐ п╨п╬я┌п╬я─я▀я┘ п╡ я─п╟я│я┬п╦я─п╣п╫п╦п╦
16532 были только маленькие буквы. 16532 п╠я▀п╩п╦ я┌п╬п╩я▄п╨п╬ п╪п╟п╩п╣п╫я▄п╨п╦п╣ п╠я┐п╨п╡я▀.
16533 </para> 16533 </para>
16534 <para lang="en"> 16534 <para lang="en">
16535 the correct content type was set only for requests that use small caps letters 16535 the correct content type was set only for requests that use small caps letters
16536 in extension. 16536 in extension.
16537 </para> 16537 </para>
16538 </change> 16538 </change>
16539 16539
16540 <change type="bugfix"> 16540 <change type="bugfix">
16541 <para lang="ru"> 16541 <para lang="ru">
16542 если для location установлен proxy_pass или fastcgi_pass, и доступ 16542 п╣я│п╩п╦ п╢п╩я▐ location я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ proxy_pass п╦п╩п╦ fastcgi_pass, п╦ п╢п╬я│я┌я┐п©
16543 к нему запрещался, а ошибка перенаправлялась на статическую страницу, 16543 п╨ п╫п╣п╪я┐ п╥п╟п©я─п╣я┴п╟п╩я│я▐, п╟ п╬я┬п╦п╠п╨п╟ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟я│я▄ п╫п╟ я│я┌п╟я┌п╦я┤п╣я│п╨я┐я▌ я│я┌я─п╟п╫п╦я├я┐,
16544 то происходил segmentation fault. 16544 я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
16545 </para> 16545 </para>
16546 <para lang="en"> 16546 <para lang="en">
16547 if the proxy_pass or fastcgi_pass directives were set in the location, 16547 if the proxy_pass or fastcgi_pass directives were set in the location,
16548 and access was denied, and the error was redirected to a static page, 16548 and access was denied, and the error was redirected to a static page,
16549 then the segmentation fault occurred. 16549 then the segmentation fault occurred.
16550 </para> 16550 </para>
16551 </change> 16551 </change>
16552 16552
16553 <change type="bugfix"> 16553 <change type="bugfix">
16554 <para lang="ru"> 16554 <para lang="ru">
16555 если в проксированном ответе в заголовке "Location" передавался 16555 п╣я│п╩п╦ п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪ п╬я┌п╡п╣я┌п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ "Location" п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐
16556 относительный URL, то к нему добавлялось имя хоста и слэш; 16556 п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╧ URL, я┌п╬ п╨ п╫п╣п╪я┐ п╢п╬п╠п╟п╡п╩я▐п╩п╬я│я▄ п╦п╪я▐ я┘п╬я│я┌п╟ п╦ я│п╩я█я┬;
16557 ошибка появилась в 0.1.14. 16557 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16558 </para> 16558 </para>
16559 <para lang="en"> 16559 <para lang="en">
16560 if in a proxied "Location" header was a relative URL, 16560 if in a proxied "Location" header was a relative URL,
16561 then a host name and a slash were added to them; 16561 then a host name and a slash were added to them;
16562 the bug had appeared in 0.1.14. 16562 the bug had appeared in 0.1.14.
16563 </para> 16563 </para>
16564 </change> 16564 </change>
16565 16565
16566 <change type="bugfix"> 16566 <change type="bugfix">
16567 <para lang="ru"> 16567 <para lang="ru">
16568 на Linux в лог не записывался текст системной ошибки. 16568 п╫п╟ Linux п╡ п╩п╬пЁ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ я┌п╣п╨я│я┌ я│п╦я│я┌п╣п╪п╫п╬п╧ п╬я┬п╦п╠п╨п╦.
16569 </para> 16569 </para>
16570 <para lang="en"> 16570 <para lang="en">
16571 the system error message was not logged on Linux. 16571 the system error message was not logged on Linux.
16572 </para> 16572 </para>
16573 </change> 16573 </change>
16577 16577
16578 <changes ver="0.1.16" date="25.01.2005"> 16578 <changes ver="0.1.16" date="25.01.2005">
16579 16579
16580 <change type="bugfix"> 16580 <change type="bugfix">
16581 <para lang="ru"> 16581 <para lang="ru">
16582 если ответ передавался chunk'ами, то при запросе HEAD выдавался 16582 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ chunk'п╟п╪п╦, я┌п╬ п©я─п╦ п╥п╟п©я─п╬я│п╣ HEAD п╡я▀п╢п╟п╡п╟п╩я│я▐
16583 завершающий chunk. 16583 п╥п╟п╡п╣я─я┬п╟я▌я┴п╦п╧ chunk.
16584 </para> 16584 </para>
16585 <para lang="en"> 16585 <para lang="en">
16586 if the response were transferred by chunks, then on the HEAD request 16586 if the response were transferred by chunks, then on the HEAD request
16587 the final chunk was issued. 16587 the final chunk was issued.
16588 </para> 16588 </para>
16589 </change> 16589 </change>
16590 16590
16591 <change type="bugfix"> 16591 <change type="bugfix">
16592 <para lang="ru"> 16592 <para lang="ru">
16593 заголовок "Connection: keep-alive" выдавался, даже если директива 16593 п╥п╟пЁп╬п╩п╬п╡п╬п╨ "Connection: keep-alive" п╡я▀п╢п╟п╡п╟п╩я│я▐, п╢п╟п╤п╣ п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟
16594 keepalive_timeout запрещала использование keep-alive. 16594 keepalive_timeout п╥п╟п©я─п╣я┴п╟п╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ keep-alive.
16595 </para> 16595 </para>
16596 <para lang="en"> 16596 <para lang="en">
16597 the "Connection: keep-alive" header were issued, even if the 16597 the "Connection: keep-alive" header were issued, even if the
16598 keepalive_timeout directive forbade the keep-alive use. 16598 keepalive_timeout directive forbade the keep-alive use.
16599 </para> 16599 </para>
16600 </change> 16600 </change>
16601 16601
16602 <change type="bugfix"> 16602 <change type="bugfix">
16603 <para lang="ru"> 16603 <para lang="ru">
16604 ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. 16604 п╬я┬п╦п╠п╨п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_fastcgi_module п╡я▀п╥я▀п╡п╟п╩п╦ segmentation fault.
16605 </para> 16605 </para>
16606 <para lang="en"> 16606 <para lang="en">
16607 the errors in the ngx_http_fastcgi_module caused the segmentation faults. 16607 the errors in the ngx_http_fastcgi_module caused the segmentation faults.
16608 </para> 16608 </para>
16609 </change> 16609 </change>
16610 16610
16611 <change type="bugfix"> 16611 <change type="bugfix">
16612 <para lang="ru"> 16612 <para lang="ru">
16613 при использовании SSL сжатый ответ мог передаваться не до конца. 16613 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL я│п╤п╟я┌я▀п╧ п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
16614 </para> 16614 </para>
16615 <para lang="en"> 16615 <para lang="en">
16616 the compressed response encrypted by SSL may not transferred complete. 16616 the compressed response encrypted by SSL may not transferred complete.
16617 </para> 16617 </para>
16618 </change> 16618 </change>
16619 16619
16620 <change type="bugfix"> 16620 <change type="bugfix">
16621 <para lang="ru"> 16621 <para lang="ru">
16622 опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные для TCP сокетов, 16622 п╬п©я├п╦п╦ TCP_NODELAY, TCP_NOPSUH п╦ TCP_CORK, я│п©п╣я├п╦я└п╦я┤п╫я▀п╣ п╢п╩я▐ TCP я│п╬п╨п╣я┌п╬п╡,
16623 не используются для unix domain сокетов. 16623 п╫п╣ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ п╢п╩я▐ unix domain я│п╬п╨п╣я┌п╬п╡.
16624 </para> 16624 </para>
16625 <para lang="en"> 16625 <para lang="en">
16626 the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options, 16626 the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options,
16627 are not used for the unix domain sockets. 16627 are not used for the unix domain sockets.
16628 </para> 16628 </para>
16629 </change> 16629 </change>
16630 16630
16631 <change type="feature"> 16631 <change type="feature">
16632 <para lang="ru"> 16632 <para lang="ru">
16633 директива rewrite поддерживает перезаписывание аргументов. 16633 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╥п╟п©п╦я│я▀п╡п╟п╫п╦п╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
16634 </para> 16634 </para>
16635 <para lang="en"> 16635 <para lang="en">
16636 the rewrite directive supports the arguments rewriting. 16636 the rewrite directive supports the arguments rewriting.
16637 </para> 16637 </para>
16638 </change> 16638 </change>
16639 16639
16640 <change type="bugfix"> 16640 <change type="bugfix">
16641 <para lang="ru"> 16641 <para lang="ru">
16642 на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400; 16642 п╫п╟ п╥п╟п©я─п╬я│ POST я│ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╪ "Content-Length: 0" п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ 400;
16643 ошибка появилась в 0.1.14. 16643 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16644 </para> 16644 </para>
16645 <para lang="en"> 16645 <para lang="en">
16646 the response code 400 was returned for the POST request with the 16646 the response code 400 was returned for the POST request with the
16647 "Content-Length: 0" header; 16647 "Content-Length: 0" header;
16648 the bug had appeared in 0.1.14. 16648 the bug had appeared in 0.1.14.
16654 16654
16655 <changes ver="0.1.15" date="19.01.2005"> 16655 <changes ver="0.1.15" date="19.01.2005">
16656 16656
16657 <change type="bugfix"> 16657 <change type="bugfix">
16658 <para lang="ru"> 16658 <para lang="ru">
16659 ошибка соединения с FastCGI-сервером вызывала segmentation fault. 16659 п╬я┬п╦п╠п╨п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪ п╡я▀п╥я▀п╡п╟п╩п╟ segmentation fault.
16660 </para> 16660 </para>
16661 <para lang="en"> 16661 <para lang="en">
16662 the error while the connecting to the FastCGI server caused 16662 the error while the connecting to the FastCGI server caused
16663 segmentation fault. 16663 segmentation fault.
16664 </para> 16664 </para>
16665 </change> 16665 </change>
16666 16666
16667 <change type="bugfix"> 16667 <change type="bugfix">
16668 <para lang="ru"> 16668 <para lang="ru">
16669 корректная обработка регулярного выражения, в котором число 16669 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐, п╡ п╨п╬я┌п╬я─п╬п╪ я┤п╦я│п╩п╬
16670 выделенных частей не совпадает с числом подстановок. 16670 п╡я▀п╢п╣п╩п╣п╫п╫я▀я┘ я┤п╟я│я┌п╣п╧ п╫п╣ я│п╬п╡п©п╟п╢п╟п╣я┌ я│ я┤п╦я│п╩п╬п╪ п©п╬п╢я│я┌п╟п╫п╬п╡п╬п╨.
16671 </para> 16671 </para>
16672 <para lang="en"> 16672 <para lang="en">
16673 the correct handling of the regular expression, that 16673 the correct handling of the regular expression, that
16674 has different number of the captures and substitutions. 16674 has different number of the captures and substitutions.
16675 </para> 16675 </para>
16676 </change> 16676 </change>
16677 16677
16678 <change type="feature"> 16678 <change type="feature">
16679 <para lang="ru"> 16679 <para lang="ru">
16680 location, который передаётся FastCGI-серверу, может быть задан 16680 location, п╨п╬я┌п╬я─я▀п╧ п©п╣я─п╣п╢п╟я▒я┌я│я▐ FastCGI-я│п╣я─п╡п╣я─я┐, п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╥п╟п╢п╟п╫
16681 с помощью регулярного выражения. 16681 я│ п©п╬п╪п╬я┴я▄я▌ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐.
16682 </para> 16682 </para>
16683 <para lang="en"> 16683 <para lang="en">
16684 the location, that is passed to the FastCGI server, can be 16684 the location, that is passed to the FastCGI server, can be
16685 regular expression. 16685 regular expression.
16686 </para> 16686 </para>
16687 </change> 16687 </change>
16688 16688
16689 <change type="bugfix"> 16689 <change type="bugfix">
16690 <para lang="ru"> 16690 <para lang="ru">
16691 параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами 16691 п©п╟я─п╟п╪п╣я┌я─ FastCGI REQUEST_URI я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌я│я▐ п╡п╪п╣я│я┌п╣ я│ п╟я─пЁя┐п╪п╣п╫я┌п╟п╪п╦
16692 и в том виде, в котором был получен от клиента. 16692 п╦ п╡ я┌п╬п╪ п╡п╦п╢п╣, п╡ п╨п╬я┌п╬я─п╬п╪ п╠я▀п╩ п©п╬п╩я┐я┤п╣п╫ п╬я┌ п╨п╩п╦п╣п╫я┌п╟.
16693 </para> 16693 </para>
16694 <para lang="en"> 16694 <para lang="en">
16695 the FastCGI's parameter REQUEST_URI is now passed with the arguments 16695 the FastCGI's parameter REQUEST_URI is now passed with the arguments
16696 and in the original state. 16696 and in the original state.
16697 </para> 16697 </para>
16698 </change> 16698 </change>
16699 16699
16700 <change type="bugfix"> 16700 <change type="bugfix">
16701 <para lang="ru"> 16701 <para lang="ru">
16702 для использования регулярных выражений в location нужно было 16702 п╢п╩я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦п╧ п╡ location п╫я┐п╤п╫п╬ п╠я▀п╩п╬
16703 собирать nginx вместе с ngx_http_rewrite_module. 16703 я│п╬п╠п╦я─п╟я┌я▄ nginx п╡п╪п╣я│я┌п╣ я│ ngx_http_rewrite_module.
16704 </para> 16704 </para>
16705 <para lang="en"> 16705 <para lang="en">
16706 the ngx_http_rewrite_module module was required to be built to use 16706 the ngx_http_rewrite_module module was required to be built to use
16707 the regular expressions in locations. 16707 the regular expressions in locations.
16708 </para> 16708 </para>
16709 </change> 16709 </change>
16710 16710
16711 <change type="bugfix"> 16711 <change type="bugfix">
16712 <para lang="ru"> 16712 <para lang="ru">
16713 если бэкенд слушал на 80-ом порту, то при использовании директивы 16713 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ я│п╩я┐я┬п╟п╩ п╫п╟ 80-п╬п╪ п©п╬я─я┌я┐, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀
16714 <nobr>"proxy_preserve_host on"</nobr> в заголовке "Host" указывался 16714 <nobr>"proxy_preserve_host on"</nobr> п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ "Host" я┐п╨п╟п╥я▀п╡п╟п╩я│я▐
16715 также порт 80; 16715 я┌п╟п╨п╤п╣ п©п╬я─я┌ 80;
16716 ошибка появилась в 0.1.14. 16716 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16717 </para> 16717 </para>
16718 <para lang="en"> 16718 <para lang="en">
16719 the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80 16719 the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80
16720 to the "Host" headers, if upstream listen on port 80; 16720 to the "Host" headers, if upstream listen on port 80;
16721 the bug had appeared in 0.1.14. 16721 the bug had appeared in 0.1.14.
16722 </para> 16722 </para>
16723 </change> 16723 </change>
16724 16724
16725 <change type="bugfix"> 16725 <change type="bugfix">
16726 <para lang="ru"> 16726 <para lang="ru">
16727 если задать одинаковые пути в параметрах автоконфигурации 16727 п╣я│п╩п╦ п╥п╟п╢п╟я┌я▄ п╬п╢п╦п╫п╟п╨п╬п╡я▀п╣ п©я┐я┌п╦ п╡ п©п╟я─п╟п╪п╣я┌я─п╟я┘ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
16728 --http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH 16728 --http-client-body-temp-path=PATH п╦ --http-proxy-temp-path=PATH
16729 или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH, 16729 п╦п╩п╦ --http-client-body-temp-path=PATH п╦ --http-fastcgi-temp-path=PATH,
16730 то происходил segmentation fault. 16730 я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
16731 </para> 16731 </para>
16732 <para lang="en"> 16732 <para lang="en">
16733 the same paths in autoconfiguration parameters 16733 the same paths in autoconfiguration parameters
16734 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 16734 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
16735 or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH 16735 or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
16742 16742
16743 <changes ver="0.1.14" date="18.01.2005"> 16743 <changes ver="0.1.14" date="18.01.2005">
16744 16744
16745 <change type="feature"> 16745 <change type="feature">
16746 <para lang="ru"> 16746 <para lang="ru">
16747 параметры автоконфигурации 16747 п©п╟я─п╟п╪п╣я┌я─я▀ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
16748 --http-client-body-temp-path=PATH, 16748 --http-client-body-temp-path=PATH,
16749 --http-proxy-temp-path=PATH 16749 --http-proxy-temp-path=PATH
16750 и --http-fastcgi-temp-path=PATH 16750 п╦ --http-fastcgi-temp-path=PATH
16751 </para> 16751 </para>
16752 <para lang="en"> 16752 <para lang="en">
16753 the autoconfiguration directives: 16753 the autoconfiguration directives:
16754 --http-client-body-temp-path=PATH, 16754 --http-client-body-temp-path=PATH,
16755 --http-proxy-temp-path=PATH, 16755 --http-proxy-temp-path=PATH,
16757 </para> 16757 </para>
16758 </change> 16758 </change>
16759 16759
16760 <change type="change"> 16760 <change type="change">
16761 <para lang="ru"> 16761 <para lang="ru">
16762 имя каталога с временными файлами, содержащие тело запроса клиента, 16762 п╦п╪я▐ п╨п╟я┌п╟п╩п╬пЁп╟ я│ п╡я─п╣п╪п╣п╫п╫я▀п╪п╦ я└п╟п╧п╩п╟п╪п╦, я│п╬п╢п╣я─п╤п╟я┴п╦п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟,
16763 задаётся директивой client_body_temp_path, 16763 п╥п╟п╢п╟я▒я┌я│я▐ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ client_body_temp_path,
16764 по умолчанию &lt;prefix&gt;/client_body_temp. 16764 п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ &lt;prefix&gt;/client_body_temp.
16765 </para> 16765 </para>
16766 <para lang="en"> 16766 <para lang="en">
16767 the directory name for the temporary files with the client request body 16767 the directory name for the temporary files with the client request body
16768 is specified by directive client_body_temp_path, 16768 is specified by directive client_body_temp_path,
16769 by default it is &lt;prefix&gt;/client_body_temp. 16769 by default it is &lt;prefix&gt;/client_body_temp.
16770 </para> 16770 </para>
16771 </change> 16771 </change>
16772 16772
16773 <change type="feature"> 16773 <change type="feature">
16774 <para lang="ru"> 16774 <para lang="ru">
16775 модуль ngx_http_fastcgi_module и директивы 16775 п╪п╬п╢я┐п╩я▄ ngx_http_fastcgi_module п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀
16776 fastcgi_pass, 16776 fastcgi_pass,
16777 fastcgi_root, 16777 fastcgi_root,
16778 fastcgi_index, 16778 fastcgi_index,
16779 fastcgi_params, 16779 fastcgi_params,
16780 fastcgi_connect_timeout, 16780 fastcgi_connect_timeout,
16786 fastcgi_busy_buffers_size, 16786 fastcgi_busy_buffers_size,
16787 fastcgi_temp_path, 16787 fastcgi_temp_path,
16788 fastcgi_max_temp_file_size, 16788 fastcgi_max_temp_file_size,
16789 fastcgi_temp_file_write_size, 16789 fastcgi_temp_file_write_size,
16790 fastcgi_next_upstream 16790 fastcgi_next_upstream
16791 и fastcgi_x_powered_by. 16791 п╦ fastcgi_x_powered_by.
16792 16792
16793 </para> 16793 </para>
16794 <para lang="en"> 16794 <para lang="en">
16795 the ngx_http_fastcgi_module and the directives: 16795 the ngx_http_fastcgi_module and the directives:
16796 fastcgi_pass, 16796 fastcgi_pass,
16812 </para> 16812 </para>
16813 </change> 16813 </change>
16814 16814
16815 <change type="bugfix"> 16815 <change type="bugfix">
16816 <para lang="ru"> 16816 <para lang="ru">
16817 ошибка "[alert] zero size buf"; 16817 п╬я┬п╦п╠п╨п╟ "[alert] zero size buf";
16818 ошибка появилась в 0.1.3. 16818 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.3.
16819 </para> 16819 </para>
16820 <para lang="en"> 16820 <para lang="en">
16821 the "[alert] zero size buf" error; 16821 the "[alert] zero size buf" error;
16822 the bug had appeared in 0.1.3. 16822 the bug had appeared in 0.1.3.
16823 </para> 16823 </para>
16824 </change> 16824 </change>
16825 16825
16826 <change type="change"> 16826 <change type="change">
16827 <para lang="ru"> 16827 <para lang="ru">
16828 в директиве proxy_pass нужно обязательно указывать URI после имени хоста. 16828 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫я┐п╤п╫п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ URI п©п╬я│п╩п╣ п╦п╪п╣п╫п╦ я┘п╬я│я┌п╟.
16829 </para> 16829 </para>
16830 <para lang="en"> 16830 <para lang="en">
16831 the URI must be specified after the host name in the proxy_pass directive. 16831 the URI must be specified after the host name in the proxy_pass directive.
16832 </para> 16832 </para>
16833 </change> 16833 </change>
16834 16834
16835 <change type="change"> 16835 <change type="change">
16836 <para lang="ru"> 16836 <para lang="ru">
16837 если в URI встречался символ %3F, то он считался началом строки аргументов. 16837 п╣я│п╩п╦ п╡ URI п╡я│я┌я─п╣я┤п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ %3F, я┌п╬ п╬п╫ я│я┤п╦я┌п╟п╩я│я▐ п╫п╟я┤п╟п╩п╬п╪ я│я┌я─п╬п╨п╦ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
16838 </para> 16838 </para>
16839 <para lang="en"> 16839 <para lang="en">
16840 the %3F symbol in the URI was considered as the argument string start. 16840 the %3F symbol in the URI was considered as the argument string start.
16841 </para> 16841 </para>
16842 </change> 16842 </change>
16843 16843
16844 <change type="feature"> 16844 <change type="feature">
16845 <para lang="ru"> 16845 <para lang="ru">
16846 поддержка unix domain сoкетов в модуле ngx_http_proxy_module. 16846 п©п╬п╢п╢п╣я─п╤п╨п╟ unix domain я│oп╨п╣я┌п╬п╡ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module.
16847 </para> 16847 </para>
16848 <para lang="en"> 16848 <para lang="en">
16849 the unix domain sockets support in the ngx_http_proxy_module. 16849 the unix domain sockets support in the ngx_http_proxy_module.
16850 </para> 16850 </para>
16851 </change> 16851 </change>
16852 16852
16853 <change type="feature"> 16853 <change type="feature">
16854 <para lang="ru"> 16854 <para lang="ru">
16855 директивы ssl_engine и ssl_ciphers.<br/> 16855 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_engine п╦ ssl_ciphers.<br/>
16856 Спасибо Сергею Скворцову за SSL-акселератор. 16856 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╨п╡п╬я─я├п╬п╡я┐ п╥п╟ SSL-п╟п╨я│п╣п╩п╣я─п╟я┌п╬я─.
16857 </para> 16857 </para>
16858 <para lang="en"> 16858 <para lang="en">
16859 the ssl_engine and ssl_ciphers directives.<br/> 16859 the ssl_engine and ssl_ciphers directives.<br/>
16860 Thanks to Sergey Skvortsov for SSL-accelerator. 16860 Thanks to Sergey Skvortsov for SSL-accelerator.
16861 </para> 16861 </para>
16866 16866
16867 <changes ver="0.1.13" date="21.12.2004"> 16867 <changes ver="0.1.13" date="21.12.2004">
16868 16868
16869 <change type="feature"> 16869 <change type="feature">
16870 <para lang="ru"> 16870 <para lang="ru">
16871 директивы server_names_hash и server_names_hash_threshold. 16871 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash п╦ server_names_hash_threshold.
16872 </para> 16872 </para>
16873 <para lang="en"> 16873 <para lang="en">
16874 the server_names_hash and server_names_hash_threshold directives. 16874 the server_names_hash and server_names_hash_threshold directives.
16875 </para> 16875 </para>
16876 </change> 16876 </change>
16877 16877
16878 <change type="bugfix"> 16878 <change type="bugfix">
16879 <para lang="ru"> 16879 <para lang="ru">
16880 имена *.domain.tld в директиве server_name не работали. 16880 п╦п╪п╣п╫п╟ *.domain.tld п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
16881 </para> 16881 </para>
16882 <para lang="en"> 16882 <para lang="en">
16883 the *.domain.tld names in the "server_name" directive did not work. 16883 the *.domain.tld names in the "server_name" directive did not work.
16884 </para> 16884 </para>
16885 </change> 16885 </change>
16886 16886
16887 <change type="bugfix"> 16887 <change type="bugfix">
16888 <para lang="ru"> 16888 <para lang="ru">
16889 параметр лога %request_length записывал неверную длину. 16889 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_length п╥п╟п©п╦я│я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ п╢п╩п╦п╫я┐.
16890 </para> 16890 </para>
16891 <para lang="en"> 16891 <para lang="en">
16892 the %request_length log parameter logged the incorrect length. 16892 the %request_length log parameter logged the incorrect length.
16893 </para> 16893 </para>
16894 </change> 16894 </change>
16898 16898
16899 <changes ver="0.1.12" date="06.12.2004"> 16899 <changes ver="0.1.12" date="06.12.2004">
16900 16900
16901 <change type="feature"> 16901 <change type="feature">
16902 <para lang="ru"> 16902 <para lang="ru">
16903 параметр лога %request_length. 16903 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_length.
16904 </para> 16904 </para>
16905 <para lang="en"> 16905 <para lang="en">
16906 the %request_length log parameter. 16906 the %request_length log parameter.
16907 </para> 16907 </para>
16908 </change> 16908 </change>
16909 16909
16910 <change type="bugfix"> 16910 <change type="bugfix">
16911 <para lang="ru"> 16911 <para lang="ru">
16912 при использовании /dev/poll, select и poll на платформах, где возможны 16912 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ /dev/poll, select п╦ poll п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, пЁп╢п╣ п╡п╬п╥п╪п╬п╤п╫я▀
16913 ложные срабатывания указанных методов, могли быть длительные задержки 16913 п╩п╬п╤п╫я▀п╣ я│я─п╟п╠п╟я┌я▀п╡п╟п╫п╦я▐ я┐п╨п╟п╥п╟п╫п╫я▀я┘ п╪п╣я┌п╬п╢п╬п╡, п╪п╬пЁп╩п╦ п╠я▀я┌я▄ п╢п╩п╦я┌п╣п╩я▄п╫я▀п╣ п╥п╟п╢п╣я─п╤п╨п╦
16914 при обработке запроса по keep-alive соединению. 16914 п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╥п╟п©я─п╬я│п╟ п©п╬ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
16915 Наблюдалось по крайней мере на Solaris с использованием /dev/poll. 16915 п²п╟п╠п╩я▌п╢п╟п╩п╬я│я▄ п©п╬ п╨я─п╟п╧п╫п╣п╧ п╪п╣я─п╣ п╫п╟ Solaris я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ /dev/poll.
16916 </para> 16916 </para>
16917 <para lang="en"> 16917 <para lang="en">
16918 when using the /dev/poll, select and poll on the platforms, where 16918 when using the /dev/poll, select and poll on the platforms, where
16919 these methods may do the false reports, there may be the long delay when 16919 these methods may do the false reports, there may be the long delay when
16920 the request was passed via the keep-alive connection. 16920 the request was passed via the keep-alive connection.
16922 </para> 16922 </para>
16923 </change> 16923 </change>
16924 16924
16925 <change type="bugfix"> 16925 <change type="bugfix">
16926 <para lang="ru"> 16926 <para lang="ru">
16927 директива send_lowat игнорируется на Linux, так как Linux не поддерживает 16927 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п╫п╟ Linux, я┌п╟п╨ п╨п╟п╨ Linux п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌
16928 опцию SO_SNDLOWAT. 16928 п╬п©я├п╦я▌ SO_SNDLOWAT.
16929 </para> 16929 </para>
16930 <para lang="en"> 16930 <para lang="en">
16931 the send_lowat directive is ignored on Linux because Linux does not support 16931 the send_lowat directive is ignored on Linux because Linux does not support
16932 the SO_SNDLOWAT option. 16932 the SO_SNDLOWAT option.
16933 </para> 16933 </para>
16938 16938
16939 <changes ver="0.1.11" date="02.12.2004"> 16939 <changes ver="0.1.11" date="02.12.2004">
16940 16940
16941 <change type="feature"> 16941 <change type="feature">
16942 <para lang="ru"> 16942 <para lang="ru">
16943 директива worker_priority. 16943 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_priority.
16944 </para> 16944 </para>
16945 <para lang="en"> 16945 <para lang="en">
16946 the worker_priority directive. 16946 the worker_priority directive.
16947 </para> 16947 </para>
16948 </change> 16948 </change>
16949 16949
16950 <change type="change"> 16950 <change type="change">
16951 <para lang="ru"> 16951 <para lang="ru">
16952 под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу 16952 п©п╬п╢ FreeBSD п╢п╦я─п╣п╨я┌п╦п╡я▀ tcp_nopush п╦ tcp_nodelay п╡п╪п╣я│я┌п╣ п╡п╩п╦я▐я▌я┌ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐
16953 ответа. 16953 п╬я┌п╡п╣я┌п╟.
16954 </para> 16954 </para>
16955 <para lang="en"> 16955 <para lang="en">
16956 both tcp_nopush and tcp_nodelay directives affect the transferred response. 16956 both tcp_nopush and tcp_nodelay directives affect the transferred response.
16957 </para> 16957 </para>
16958 </change> 16958 </change>
16959 16959
16960 <change type="bugfix"> 16960 <change type="bugfix">
16961 <para lang="ru"> 16961 <para lang="ru">
16962 nginx не вызывал initgroups().<br/> 16962 nginx п╫п╣ п╡я▀п╥я▀п╡п╟п╩ initgroups().<br/>
16963 Спасибо Андрею Ситникову и Андрею Нигматулину. 16963 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п║п╦я┌п╫п╦п╨п╬п╡я┐ п╦ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
16964 </para> 16964 </para>
16965 <para lang="en"> 16965 <para lang="en">
16966 nginx did not call initgroups().<br/> 16966 nginx did not call initgroups().<br/>
16967 Thanks to Andrew Sitnikov and Andrei Nigmatulin. 16967 Thanks to Andrew Sitnikov and Andrei Nigmatulin.
16968 </para> 16968 </para>
16969 </change> 16969 </change>
16970 16970
16971 <change type="change"> 16971 <change type="change">
16972 <para lang="ru"> 16972 <para lang="ru">
16973 ngx_http_auto_index_module теперь выдаёт размер файлов в байтах. 16973 ngx_http_auto_index_module я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ я─п╟п╥п╪п╣я─ я└п╟п╧п╩п╬п╡ п╡ п╠п╟п╧я┌п╟я┘.
16974 </para> 16974 </para>
16975 <para lang="en"> 16975 <para lang="en">
16976 now the ngx_http_autoindex_module shows the file size in the bytes. 16976 now the ngx_http_autoindex_module shows the file size in the bytes.
16977 </para> 16977 </para>
16978 </change> 16978 </change>
16979 16979
16980 <change type="bugfix"> 16980 <change type="bugfix">
16981 <para lang="ru"> 16981 <para lang="ru">
16982 ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть 16982 ngx_http_auto_index_module п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 500, п╣я│п╩п╦ п╡ п╨п╟я┌п╟п╩п╬пЁп╣ п╣я│я┌я▄
16983 битый symlink. 16983 п╠п╦я┌я▀п╧ symlink.
16984 </para> 16984 </para>
16985 <para lang="en"> 16985 <para lang="en">
16986 the ngx_http_autoindex_module returned the 500 error if the broken symlink 16986 the ngx_http_autoindex_module returned the 500 error if the broken symlink
16987 was in a directory. 16987 was in a directory.
16988 </para> 16988 </para>
16989 </change> 16989 </change>
16990 16990
16991 <change type="bugfix"> 16991 <change type="bugfix">
16992 <para lang="ru"> 16992 <para lang="ru">
16993 файлы больше 4G не передавались с использованием sendfile. 16993 я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 4G п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ sendfile.
16994 </para> 16994 </para>
16995 <para lang="en"> 16995 <para lang="en">
16996 the files bigger than 4G could not be transferred using sendfile. 16996 the files bigger than 4G could not be transferred using sendfile.
16997 </para> 16997 </para>
16998 </change> 16998 </change>
16999 16999
17000 <change type="bugfix"> 17000 <change type="bugfix">
17001 <para lang="ru"> 17001 <para lang="ru">
17002 если бэкенд резолвился в несколько адресов и при ожидании от него ответа 17002 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ я─п╣п╥п╬п╩п╡п╦п╩я│я▐ п╡ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╟п╢я─п╣я│п╬п╡ п╦ п©я─п╦ п╬п╤п╦п╢п╟п╫п╦п╦ п╬я┌ п╫п╣пЁп╬ п╬я┌п╡п╣я┌п╟
17003 происходила ошибка, то процесс зацикливался. 17003 п©я─п╬п╦я│я┘п╬п╢п╦п╩п╟ п╬я┬п╦п╠п╨п╟, я┌п╬ п©я─п╬я├п╣я│я│ п╥п╟я├п╦п╨п╩п╦п╡п╟п╩я│я▐.
17004 </para> 17004 </para>
17005 <para lang="en"> 17005 <para lang="en">
17006 if the backend was resolved to several backends and there was an error while 17006 if the backend was resolved to several backends and there was an error while
17007 the response waiting then process may got caught in an endless loop. 17007 the response waiting then process may got caught in an endless loop.
17008 </para> 17008 </para>
17009 </change> 17009 </change>
17010 17010
17011 <change type="bugfix"> 17011 <change type="bugfix">
17012 <para lang="ru"> 17012 <para lang="ru">
17013 при использовании метода /dev/poll рабочий процесс мог завершиться 17013 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ /dev/poll я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟п╡п╣я─я┬п╦я┌я▄я│я▐
17014 с сообщением "unknown cycle". 17014 я│ я│п╬п╬п╠я┴п╣п╫п╦п╣п╪ "unknown cycle".
17015 </para> 17015 </para>
17016 <para lang="en"> 17016 <para lang="en">
17017 the worker process may exit with the "unknown cycle" message when the /dev/poll 17017 the worker process may exit with the "unknown cycle" message when the /dev/poll
17018 method was used. 17018 method was used.
17019 </para> 17019 </para>
17020 </change> 17020 </change>
17021 17021
17022 <change type="bugfix"> 17022 <change type="bugfix">
17023 <para lang="ru"> 17023 <para lang="ru">
17024 ошибки "close() channel failed". 17024 п╬я┬п╦п╠п╨п╦ "close() channel failed".
17025 </para> 17025 </para>
17026 <para lang="en"> 17026 <para lang="en">
17027 "close() channel failed" errors. 17027 "close() channel failed" errors.
17028 </para> 17028 </para>
17029 </change> 17029 </change>
17030 17030
17031 <change type="bugfix"> 17031 <change type="bugfix">
17032 <para lang="ru"> 17032 <para lang="ru">
17033 автоматическое определение групп nobody и nogroup. 17033 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╬п╣ п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╣ пЁя─я┐п©п© nobody п╦ nogroup.
17034 </para> 17034 </para>
17035 <para lang="en"> 17035 <para lang="en">
17036 the autodetection of the "nobody" and "nogroup" groups. 17036 the autodetection of the "nobody" and "nogroup" groups.
17037 </para> 17037 </para>
17038 </change> 17038 </change>
17039 17039
17040 <change type="bugfix"> 17040 <change type="bugfix">
17041 <para lang="ru"> 17041 <para lang="ru">
17042 директива send_lowat не работала на Linux. 17042 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╫п╟ Linux.
17043 </para> 17043 </para>
17044 <para lang="en"> 17044 <para lang="en">
17045 the send_lowat directive did not work on Linux. 17045 the send_lowat directive did not work on Linux.
17046 </para> 17046 </para>
17047 </change> 17047 </change>
17048 17048
17049 <change type="bugfix"> 17049 <change type="bugfix">
17050 <para lang="ru"> 17050 <para lang="ru">
17051 если в конфигурации не было раздела events, то происходил segmentation fault. 17051 п╣я│п╩п╦ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╣ п╠я▀п╩п╬ я─п╟п╥п╢п╣п╩п╟ events, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
17052 </para> 17052 </para>
17053 <para lang="en"> 17053 <para lang="en">
17054 the segmentation fault occurred if there was no events section 17054 the segmentation fault occurred if there was no events section
17055 in configuration. 17055 in configuration.
17056 </para> 17056 </para>
17057 </change> 17057 </change>
17058 17058
17059 <change type="bugfix"> 17059 <change type="bugfix">
17060 <para lang="ru"> 17060 <para lang="ru">
17061 nginx не собирался под OpenBSD. 17061 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ OpenBSD.
17062 </para> 17062 </para>
17063 <para lang="en"> 17063 <para lang="en">
17064 nginx could not be built on OpenBSD. 17064 nginx could not be built on OpenBSD.
17065 </para> 17065 </para>
17066 </change> 17066 </change>
17067 17067
17068 <change type="bugfix"> 17068 <change type="bugfix">
17069 <para lang="ru"> 17069 <para lang="ru">
17070 двойные слэшы в "://" в URI превращались в ":/". 17070 п╢п╡п╬п╧п╫я▀п╣ я│п╩я█я┬я▀ п╡ "://" п╡ URI п©я─п╣п╡я─п╟я┴п╟п╩п╦я│я▄ п╡ ":/".
17071 </para> 17071 </para>
17072 <para lang="en"> 17072 <para lang="en">
17073 the double slashes in "://" in the URI were converted to ":/". 17073 the double slashes in "://" in the URI were converted to ":/".
17074 </para> 17074 </para>
17075 </change> 17075 </change>
17079 17079
17080 <changes ver="0.1.10" date="26.11.2004"> 17080 <changes ver="0.1.10" date="26.11.2004">
17081 17081
17082 <change type="bugfix"> 17082 <change type="bugfix">
17083 <para lang="ru"> 17083 <para lang="ru">
17084 если в запросе без аргументов есть "//", "/./", "/../" или "%XX", 17084 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╠п╣п╥ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ п╣я│я┌я▄ "//", "/./", "/../" п╦п╩п╦ "%XX",
17085 то терялся последний символ в строке запроса; 17085 я┌п╬ я┌п╣я─я▐п╩я│я▐ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╦п╪п╡п╬п╩ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟;
17086 ошибка появилась в 0.1.9. 17086 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.9.
17087 </para> 17087 </para>
17088 <para lang="en"> 17088 <para lang="en">
17089 if the request without arguments contains "//", "/./", "/../" or "%XX" 17089 if the request without arguments contains "//", "/./", "/../" or "%XX"
17090 then the last character in the request line was lost; 17090 then the last character in the request line was lost;
17091 the bug had appeared in 0.1.9. 17091 the bug had appeared in 0.1.9.
17092 </para> 17092 </para>
17093 </change> 17093 </change>
17094 17094
17095 <change type="bugfix"> 17095 <change type="bugfix">
17096 <para lang="ru"> 17096 <para lang="ru">
17097 исправление в версии 0.1.9 для файлов больше 2G на Linux не работало. 17097 п╦я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╡ п╡п╣я─я│п╦п╦ 0.1.9 п╢п╩я▐ я└п╟п╧п╩п╬п╡ п╠п╬п╩я▄я┬п╣ 2G п╫п╟ Linux п╫п╣ я─п╟п╠п╬я┌п╟п╩п╬.
17098 </para> 17098 </para>
17099 <para lang="en"> 17099 <para lang="en">
17100 the fix in 0.1.9 for the files bigger than 2G on Linux did not work. 17100 the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
17101 </para> 17101 </para>
17102 </change> 17102 </change>
17106 17106
17107 <changes ver="0.1.9" date="25.11.2004"> 17107 <changes ver="0.1.9" date="25.11.2004">
17108 17108
17109 <change type="bugfix"> 17109 <change type="bugfix">
17110 <para lang="ru"> 17110 <para lang="ru">
17111 если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый 17111 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ "//", "/./", "/../" п╦п╩п╦ "%XX", я┌п╬ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧
17112 запрос передавался без аргументов. 17112 п╥п╟п©я─п╬я│ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╠п╣п╥ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
17113 </para> 17113 </para>
17114 <para lang="en"> 17114 <para lang="en">
17115 the proxied request was sent without arguments if the request contains 17115 the proxied request was sent without arguments if the request contains
17116 "//", "/./", "/../" or "%XX". 17116 "//", "/./", "/../" or "%XX".
17117 </para> 17117 </para>
17118 </change> 17118 </change>
17119 17119
17120 <change type="bugfix"> 17120 <change type="bugfix">
17121 <para lang="ru"> 17121 <para lang="ru">
17122 при сжатии больших ответов иногда они передавались не полностью. 17122 п©я─п╦ я│п╤п╟я┌п╦п╦ п╠п╬п╩я▄я┬п╦я┘ п╬я┌п╡п╣я┌п╬п╡ п╦п╫п╬пЁп╢п╟ п╬п╫п╦ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
17123 </para> 17123 </para>
17124 <para lang="en"> 17124 <para lang="en">
17125 the large compressed responses may be transferred not completely. 17125 the large compressed responses may be transferred not completely.
17126 </para> 17126 </para>
17127 </change> 17127 </change>
17128 17128
17129 <change type="bugfix"> 17129 <change type="bugfix">
17130 <para lang="ru"> 17130 <para lang="ru">
17131 не передавались файлы больше 2G на Linux, неподдерживающем sendfile64(). 17131 п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G п╫п╟ Linux, п╫п╣п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╣п╪ sendfile64().
17132 </para> 17132 </para>
17133 <para lang="en"> 17133 <para lang="en">
17134 the files bigger than 2G was not transferred on Linux that does not support 17134 the files bigger than 2G was not transferred on Linux that does not support
17135 sendfile64(). 17135 sendfile64().
17136 </para> 17136 </para>
17137 </change> 17137 </change>
17138 17138
17139 <change type="bugfix"> 17139 <change type="bugfix">
17140 <para lang="ru"> 17140 <para lang="ru">
17141 на Linux при конфигурации сборки нужно было обязательно использовать 17141 п╫п╟ Linux п©я─п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│п╠п╬я─п╨п╦ п╫я┐п╤п╫п╬ п╠я▀п╩п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄
17142 параметр --with-poll_module; 17142 п©п╟я─п╟п╪п╣я┌я─ --with-poll_module;
17143 ошибка появилась в 0.1.8. 17143 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.8.
17144 </para> 17144 </para>
17145 <para lang="en"> 17145 <para lang="en">
17146 while the build configuration on Linux the --with-poll_module parameter 17146 while the build configuration on Linux the --with-poll_module parameter
17147 was required; 17147 was required;
17148 the bug had appeared in 0.1.8. 17148 the bug had appeared in 0.1.8.
17154 17154
17155 <changes ver="0.1.8" date="20.11.2004"> 17155 <changes ver="0.1.8" date="20.11.2004">
17156 17156
17157 <change type="bugfix"> 17157 <change type="bugfix">
17158 <para lang="ru"> 17158 <para lang="ru">
17159 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов. 17159 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡.
17160 </para> 17160 </para>
17161 <para lang="en"> 17161 <para lang="en">
17162 in the ngx_http_autoindex_module if the long file names were in the listing. 17162 in the ngx_http_autoindex_module if the long file names were in the listing.
17163 </para> 17163 </para>
17164 </change> 17164 </change>
17165 17165
17166 <change type="feature"> 17166 <change type="feature">
17167 <para lang="ru"> 17167 <para lang="ru">
17168 модификатор "^~" в директиве location. 17168 п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ "^~" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ location.
17169 </para> 17169 </para>
17170 <para lang="en"> 17170 <para lang="en">
17171 the "^~" modifier in the location directive. 17171 the "^~" modifier in the location directive.
17172 </para> 17172 </para>
17173 </change> 17173 </change>
17174 17174
17175 <change type="feature"> 17175 <change type="feature">
17176 <para lang="ru"> 17176 <para lang="ru">
17177 директива proxy_max_temp_file_size. 17177 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_max_temp_file_size.
17178 </para> 17178 </para>
17179 <para lang="en"> 17179 <para lang="en">
17180 the proxy_max_temp_file_size directive. 17180 the proxy_max_temp_file_size directive.
17181 </para> 17181 </para>
17182 </change> 17182 </change>
17186 17186
17187 <changes ver="0.1.7" date="12.11.2004"> 17187 <changes ver="0.1.7" date="12.11.2004">
17188 17188
17189 <change type="bugfix"> 17189 <change type="bugfix">
17190 <para lang="ru"> 17190 <para lang="ru">
17191 при использовании sendfile, если передаваемый файл менялся, то мог 17191 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile, п╣я│п╩п╦ п©п╣я─п╣п╢п╟п╡п╟п╣п╪я▀п╧ я└п╟п╧п╩ п╪п╣п╫я▐п╩я│я▐, я┌п╬ п╪п╬пЁ
17192 произойти segmentation fault на FreeBSD; 17192 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault п╫п╟ FreeBSD;
17193 ошибка появилась в 0.1.5. 17193 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.5.
17194 </para> 17194 </para>
17195 <para lang="en"> 17195 <para lang="en">
17196 on FreeBSD the segmentation fault may occur if the size of the transferred 17196 on FreeBSD the segmentation fault may occur if the size of the transferred
17197 file was changed; 17197 file was changed;
17198 the bug had appeared in 0.1.5. 17198 the bug had appeared in 0.1.5.
17204 17204
17205 <changes ver="0.1.6" date="11.11.2004"> 17205 <changes ver="0.1.6" date="11.11.2004">
17206 17206
17207 <change type="bugfix"> 17207 <change type="bugfix">
17208 <para lang="ru"> 17208 <para lang="ru">
17209 при некоторых комбинациях директив location c регулярными выражениями 17209 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ п╨п╬п╪п╠п╦п╫п╟я├п╦я▐я┘ п╢п╦я─п╣п╨я┌п╦п╡ location c я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦
17210 использовалась конфигурация не из того location. 17210 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐ п╫п╣ п╦п╥ я┌п╬пЁп╬ location.
17211 </para> 17211 </para>
17212 <para lang="en"> 17212 <para lang="en">
17213 some location directive combinations with the regular expressions caused 17213 some location directive combinations with the regular expressions caused
17214 the wrong configuration choose. 17214 the wrong configuration choose.
17215 </para> 17215 </para>
17220 17220
17221 <changes ver="0.1.5" date="11.11.2004"> 17221 <changes ver="0.1.5" date="11.11.2004">
17222 17222
17223 <change type="bugfix"> 17223 <change type="bugfix">
17224 <para lang="ru"> 17224 <para lang="ru">
17225 на Solaris и Linux могло быть очень много сообщений "recvmsg() returned 17225 п╫п╟ Solaris п╦ Linux п╪п╬пЁп╩п╬ п╠я▀я┌я▄ п╬я┤п╣п╫я▄ п╪п╫п╬пЁп╬ я│п╬п╬п╠я┴п╣п╫п╦п╧ "recvmsg() returned
17226 not enough data". 17226 not enough data".
17227 </para> 17227 </para>
17228 <para lang="en"> 17228 <para lang="en">
17229 on Solaris and Linux there may be too many "recvmsg() returned not enough data" 17229 on Solaris and Linux there may be too many "recvmsg() returned not enough data"
17230 alerts. 17230 alerts.
17231 </para> 17231 </para>
17232 </change> 17232 </change>
17233 17233
17234 <change type="bugfix"> 17234 <change type="bugfix">
17235 <para lang="ru"> 17235 <para lang="ru">
17236 в режиме прокси без использования sendfile на Solaris возникала 17236 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╠п╣п╥ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ sendfile п╫п╟ Solaris п╡п╬п╥п╫п╦п╨п╟п╩п╟
17237 ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr> 17237 п╬я┬п╦п╠п╨п╟ "writev() failed <nobr>(22: Invalid argument)".</nobr>
17238 На других платформах, не поддерживающих sendfile, процесс зацикливался. 17238 п²п╟ п╢я─я┐пЁп╦я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ sendfile, п©я─п╬я├п╣я│я│ п╥п╟я├п╦п╨п╩п╦п╡п╟п╩я│я▐.
17239 </para> 17239 </para>
17240 <para lang="en"> 17240 <para lang="en">
17241 there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on 17241 there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
17242 Solaris in proxy mode without sendfile. On other platforms that do not 17242 Solaris in proxy mode without sendfile. On other platforms that do not
17243 support sendfile at all the process got caught in an endless loop. 17243 support sendfile at all the process got caught in an endless loop.
17244 </para> 17244 </para>
17245 </change> 17245 </change>
17246 17246
17247 <change type="bugfix"> 17247 <change type="bugfix">
17248 <para lang="ru"> 17248 <para lang="ru">
17249 при использовании sendfile в режиме прокси на Solaris возникал 17249 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╫п╟ Solaris п╡п╬п╥п╫п╦п╨п╟п╩
17250 segmentation fault. 17250 segmentation fault.
17251 </para> 17251 </para>
17252 <para lang="en"> 17252 <para lang="en">
17253 segmentation fault on Solaris in proxy mode and using sendfile. 17253 segmentation fault on Solaris in proxy mode and using sendfile.
17254 </para> 17254 </para>
17255 </change> 17255 </change>
17256 17256
17257 <change type="bugfix"> 17257 <change type="bugfix">
17258 <para lang="ru"> 17258 <para lang="ru">
17259 segmentation fault на Solaris. 17259 segmentation fault п╫п╟ Solaris.
17260 </para> 17260 </para>
17261 <para lang="en"> 17261 <para lang="en">
17262 segmentation fault on Solaris. 17262 segmentation fault on Solaris.
17263 </para> 17263 </para>
17264 </change> 17264 </change>
17265 17265
17266 <change type="bugfix"> 17266 <change type="bugfix">
17267 <para lang="ru"> 17267 <para lang="ru">
17268 обновление исполняемого файла на лету не работало на Linux. 17268 п╬п╠п╫п╬п╡п╩п╣п╫п╦п╣ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╟ п╩п╣я┌я┐ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╬ п╫п╟ Linux.
17269 </para> 17269 </para>
17270 <para lang="en"> 17270 <para lang="en">
17271 on-line upgrade did not work on Linux. 17271 on-line upgrade did not work on Linux.
17272 </para> 17272 </para>
17273 </change> 17273 </change>
17274 17274
17275 <change type="bugfix"> 17275 <change type="bugfix">
17276 <para lang="ru"> 17276 <para lang="ru">
17277 в списке файлов, выдаваемом модулем ngx_http_autoindex_module, 17277 п╡ я│п©п╦я│п╨п╣ я└п╟п╧п╩п╬п╡, п╡я▀п╢п╟п╡п╟п╣п╪п╬п╪ п╪п╬п╢я┐п╩п╣п╪ ngx_http_autoindex_module,
17278 не перекодировались пробелы, кавычки и знаки процента. 17278 п╫п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╩п╦я│я▄ п©я─п╬п╠п╣п╩я▀, п╨п╟п╡я▀я┤п╨п╦ п╦ п╥п╫п╟п╨п╦ п©я─п╬я├п╣п╫я┌п╟.
17279 </para> 17279 </para>
17280 <para lang="en"> 17280 <para lang="en">
17281 the ngx_http_autoindex_module module did not escape the spaces, 17281 the ngx_http_autoindex_module module did not escape the spaces,
17282 the quotes, and the percent signs in the directory listing. 17282 the quotes, and the percent signs in the directory listing.
17283 </para> 17283 </para>
17284 </change> 17284 </change>
17285 17285
17286 <change type="change"> 17286 <change type="change">
17287 <para lang="ru"> 17287 <para lang="ru">
17288 уменьшение операций копирования. 17288 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п╬п©п╣я─п╟я├п╦п╧ п╨п╬п©п╦я─п╬п╡п╟п╫п╦я▐.
17289 </para> 17289 </para>
17290 <para lang="en"> 17290 <para lang="en">
17291 the decrease of the copy operations. 17291 the decrease of the copy operations.
17292 </para> 17292 </para>
17293 </change> 17293 </change>
17294 17294
17295 <change type="feature"> 17295 <change type="feature">
17296 <para lang="ru"> 17296 <para lang="ru">
17297 директива userid_p3p. 17297 п╢п╦я─п╣п╨я┌п╦п╡п╟ userid_p3p.
17298 </para> 17298 </para>
17299 <para lang="en"> 17299 <para lang="en">
17300 the userid_p3p directive. 17300 the userid_p3p directive.
17301 </para> 17301 </para>
17302 </change> 17302 </change>
17306 17306
17307 <changes ver="0.1.4" date="26.10.2004"> 17307 <changes ver="0.1.4" date="26.10.2004">
17308 17308
17309 <change type="bugfix"> 17309 <change type="bugfix">
17310 <para lang="ru"> 17310 <para lang="ru">
17311 ошибка в модуле ngx_http_autoindex_module. 17311 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module.
17312 </para> 17312 </para>
17313 <para lang="en"> 17313 <para lang="en">
17314 in the ngx_http_autoindex_module. 17314 in the ngx_http_autoindex_module.
17315 </para> 17315 </para>
17316 </change> 17316 </change>
17320 17320
17321 <changes ver="0.1.3" date="25.10.2004"> 17321 <changes ver="0.1.3" date="25.10.2004">
17322 17322
17323 <change type="feature"> 17323 <change type="feature">
17324 <para lang="ru"> 17324 <para lang="ru">
17325 модуль ngx_http_autoindex_module и директива autoindex. 17325 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex.
17326 </para> 17326 </para>
17327 <para lang="en"> 17327 <para lang="en">
17328 the ngx_http_autoindex_module and the autoindex directive. 17328 the ngx_http_autoindex_module and the autoindex directive.
17329 </para> 17329 </para>
17330 </change> 17330 </change>
17331 17331
17332 <change type="feature"> 17332 <change type="feature">
17333 <para lang="ru"> 17333 <para lang="ru">
17334 директива proxy_set_x_url. 17334 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_url.
17335 </para> 17335 </para>
17336 <para lang="en"> 17336 <para lang="en">
17337 the proxy_set_x_url directive. 17337 the proxy_set_x_url directive.
17338 </para> 17338 </para>
17339 </change> 17339 </change>
17340 17340
17341 <change type="bugfix"> 17341 <change type="bugfix">
17342 <para lang="ru"> 17342 <para lang="ru">
17343 модуль проксировании мог привести к зацикливанию, если не использовался 17343 п╪п╬п╢я┐п╩я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╪п╬пЁ п©я─п╦п╡п╣я│я┌п╦ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
17344 sendfile. 17344 sendfile.
17345 </para> 17345 </para>
17346 <para lang="en"> 17346 <para lang="en">
17347 proxy module may get caught in an endless loop when sendfile is not used. 17347 proxy module may get caught in an endless loop when sendfile is not used.
17348 </para> 17348 </para>
17353 17353
17354 <changes ver="0.1.2" date="21.10.2004"> 17354 <changes ver="0.1.2" date="21.10.2004">
17355 17355
17356 <change type="feature"> 17356 <change type="feature">
17357 <para lang="ru"> 17357 <para lang="ru">
17358 параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure. 17358 п©п╟я─п╟п╪п╣я┌я─я▀ --user=USER, --group=GROUP п╦ --with-ld-opt=OPTIONS п╡ configure.
17359 </para> 17359 </para>
17360 <para lang="en"> 17360 <para lang="en">
17361 the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. 17361 the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
17362 </para> 17362 </para>
17363 </change> 17363 </change>
17364 17364
17365 <change type="feature"> 17365 <change type="feature">
17366 <para lang="ru"> 17366 <para lang="ru">
17367 директива server_name поддерживает *.domain.tld. 17367 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ *.domain.tld.
17368 </para> 17368 </para>
17369 <para lang="en"> 17369 <para lang="en">
17370 the server_name directive supports *.domain.tld. 17370 the server_name directive supports *.domain.tld.
17371 </para> 17371 </para>
17372 </change> 17372 </change>
17373 17373
17374 <change type="bugfix"> 17374 <change type="bugfix">
17375 <para lang="ru"> 17375 <para lang="ru">
17376 улучшена переносимость на неизвестные платформы. 17376 я┐п╩я┐я┤я┬п╣п╫п╟ п©п╣я─п╣п╫п╬я│п╦п╪п╬я│я┌я▄ п╫п╟ п╫п╣п╦п╥п╡п╣я│я┌п╫я▀п╣ п©п╩п╟я┌я└п╬я─п╪я▀.
17377 </para> 17377 </para>
17378 <para lang="en"> 17378 <para lang="en">
17379 the portability improvements. 17379 the portability improvements.
17380 </para> 17380 </para>
17381 </change> 17381 </change>
17382 17382
17383 <change type="bugfix"> 17383 <change type="bugfix">
17384 <para lang="ru"> 17384 <para lang="ru">
17385 нельзя переконфигурировать nginx, если конфигурационный файл указан 17385 п╫п╣п╩я▄п╥я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟я┌я▄ nginx, п╣я│п╩п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫я▀п╧ я└п╟п╧п╩ я┐п╨п╟п╥п╟п╫
17386 в командной строке; 17386 п╡ п╨п╬п╪п╟п╫п╢п╫п╬п╧ я│я┌я─п╬п╨п╣;
17387 ошибка появилась в 0.1.1. 17387 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.1.
17388 </para> 17388 </para>
17389 <para lang="en"> 17389 <para lang="en">
17390 if configuration file was set in command line, the reconfiguration 17390 if configuration file was set in command line, the reconfiguration
17391 was impossible; 17391 was impossible;
17392 the bug had appeared in 0.1.1. 17392 the bug had appeared in 0.1.1.
17393 </para> 17393 </para>
17394 </change> 17394 </change>
17395 17395
17396 <change type="bugfix"> 17396 <change type="bugfix">
17397 <para lang="ru"> 17397 <para lang="ru">
17398 модуль проксировании мог привести к зацикливанию, если не использовался 17398 п╪п╬п╢я┐п╩я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╪п╬пЁ п©я─п╦п╡п╣я│я┌п╦ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
17399 sendfile. 17399 sendfile.
17400 </para> 17400 </para>
17401 <para lang="en"> 17401 <para lang="en">
17402 proxy module may get caught in an endless loop when sendfile is not used. 17402 proxy module may get caught in an endless loop when sendfile is not used.
17403 </para> 17403 </para>
17404 </change> 17404 </change>
17405 17405
17406 <change type="bugfix"> 17406 <change type="bugfix">
17407 <para lang="ru"> 17407 <para lang="ru">
17408 при использовании sendfile текст ответа не перекодировался 17408 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile я┌п╣п╨я│я┌ п╬я┌п╡п╣я┌п╟ п╫п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╩я│я▐
17409 согласно директивам модуля charset; 17409 я│п╬пЁп╩п╟я│п╫п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪ п╪п╬п╢я┐п╩я▐ charset;
17410 ошибка появилась в 0.1.1. 17410 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.1.
17411 </para> 17411 </para>
17412 <para lang="en"> 17412 <para lang="en">
17413 with sendfile the response was not recoded according to the charset 17413 with sendfile the response was not recoded according to the charset
17414 module directives; 17414 module directives;
17415 the bug had appeared in 0.1.1. 17415 the bug had appeared in 0.1.1.
17416 </para> 17416 </para>
17417 </change> 17417 </change>
17418 17418
17419 <change type="bugfix"> 17419 <change type="bugfix">
17420 <para lang="ru"> 17420 <para lang="ru">
17421 очень редкая ошибка при обработке kqueue. 17421 п╬я┤п╣п╫я▄ я─п╣п╢п╨п╟я▐ п╬я┬п╦п╠п╨п╟ п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ kqueue.
17422 </para> 17422 </para>
17423 <para lang="en"> 17423 <para lang="en">
17424 very seldom bug in the kqueue processing. 17424 very seldom bug in the kqueue processing.
17425 </para> 17425 </para>
17426 </change> 17426 </change>
17427 17427
17428 <change type="bugfix"> 17428 <change type="bugfix">
17429 <para lang="ru"> 17429 <para lang="ru">
17430 модуль сжатия сжимал уже сжатые ответы, полученные при проксировании. 17430 п╪п╬п╢я┐п╩я▄ я│п╤п╟я┌п╦я▐ я│п╤п╦п╪п╟п╩ я┐п╤п╣ я│п╤п╟я┌я▀п╣ п╬я┌п╡п╣я┌я▀, п©п╬п╩я┐я┤п╣п╫п╫я▀п╣ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦.
17431 </para> 17431 </para>
17432 <para lang="en"> 17432 <para lang="en">
17433 the gzip module compressed the proxied responses that was already compressed. 17433 the gzip module compressed the proxied responses that was already compressed.
17434 </para> 17434 </para>
17435 </change> 17435 </change>
17439 17439
17440 <changes ver="0.1.1" date="11.10.2004"> 17440 <changes ver="0.1.1" date="11.10.2004">
17441 17441
17442 <change type="feature"> 17442 <change type="feature">
17443 <para lang="ru"> 17443 <para lang="ru">
17444 директива gzip_types. 17444 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_types.
17445 </para> 17445 </para>
17446 <para lang="en"> 17446 <para lang="en">
17447 the gzip_types directive. 17447 the gzip_types directive.
17448 </para> 17448 </para>
17449 </change> 17449 </change>
17450 17450
17451 <change type="feature"> 17451 <change type="feature">
17452 <para lang="ru"> 17452 <para lang="ru">
17453 директива tcp_nodelay. 17453 п╢п╦я─п╣п╨я┌п╦п╡п╟ tcp_nodelay.
17454 </para> 17454 </para>
17455 <para lang="en"> 17455 <para lang="en">
17456 the tcp_nodelay directive. 17456 the tcp_nodelay directive.
17457 </para> 17457 </para>
17458 </change> 17458 </change>
17459 17459
17460 <change type="feature"> 17460 <change type="feature">
17461 <para lang="ru"> 17461 <para lang="ru">
17462 директива send_lowat работает не только на платформах, поддерживающих 17462 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat я─п╟п╠п╬я┌п╟п╣я┌ п╫п╣ я┌п╬п╩я▄п╨п╬ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘
17463 kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT. 17463 kqueue NOTE_LOWAT, п╫п╬ п╦ п╫п╟ п╡я│п╣я┘, п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ SO_SNDLOWAT.
17464 </para> 17464 </para>
17465 <para lang="en"> 17465 <para lang="en">
17466 the send_lowat directive is working not only on OSes that support 17466 the send_lowat directive is working not only on OSes that support
17467 kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. 17467 kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
17468 </para> 17468 </para>
17469 </change> 17469 </change>
17470 17470
17471 <change type="feature"> 17471 <change type="feature">
17472 <para lang="ru"> 17472 <para lang="ru">
17473 эмуляция setproctitle() для Linux и Solaris. 17473 я█п╪я┐п╩я▐я├п╦я▐ setproctitle() п╢п╩я▐ Linux п╦ Solaris.
17474 </para> 17474 </para>
17475 <para lang="en"> 17475 <para lang="en">
17476 the setproctitle() emulation for Linux and Solaris. 17476 the setproctitle() emulation for Linux and Solaris.
17477 </para> 17477 </para>
17478 </change> 17478 </change>
17479 17479
17480 <change type="bugfix"> 17480 <change type="bugfix">
17481 <para lang="ru"> 17481 <para lang="ru">
17482 ошибка при переписывании заголовка "Location" при проксировании. 17482 п╬я┬п╦п╠п╨п╟ п©я─п╦ п©п╣я─п╣п©п╦я│я▀п╡п╟п╫п╦п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Location" п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦.
17483 </para> 17483 </para>
17484 <para lang="en"> 17484 <para lang="en">
17485 the "Location" header rewrite bug fixed while the proxying. 17485 the "Location" header rewrite bug fixed while the proxying.
17486 </para> 17486 </para>
17487 </change> 17487 </change>
17488 17488
17489 <change type="bugfix"> 17489 <change type="bugfix">
17490 <para lang="ru"> 17490 <para lang="ru">
17491 ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию. 17491 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_chunked_module, п©я─п╦п╡п╬п╢п╦п╡я┬п╟я▐ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌.
17492 </para> 17492 </para>
17493 <para lang="en"> 17493 <para lang="en">
17494 the ngx_http_chunked_module module may get caught in an endless loop. 17494 the ngx_http_chunked_module module may get caught in an endless loop.
17495 </para> 17495 </para>
17496 </change> 17496 </change>
17497 17497
17498 <change type="bugfix"> 17498 <change type="bugfix">
17499 <para lang="ru"> 17499 <para lang="ru">
17500 ошибки в модуле /dev/poll. 17500 п╬я┬п╦п╠п╨п╦ п╡ п╪п╬п╢я┐п╩п╣ /dev/poll.
17501 </para> 17501 </para>
17502 <para lang="en"> 17502 <para lang="en">
17503 the /dev/poll module bugs fixed. 17503 the /dev/poll module bugs fixed.
17504 </para> 17504 </para>
17505 </change> 17505 </change>
17506 17506
17507 <change type="bugfix"> 17507 <change type="bugfix">
17508 <para lang="ru"> 17508 <para lang="ru">
17509 при проксировании и использовании временных файлов ответы портились. 17509 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╬я┌п╡п╣я┌я▀ п©п╬я─я┌п╦п╩п╦я│я▄.
17510 </para> 17510 </para>
17511 <para lang="en"> 17511 <para lang="en">
17512 the responses were corrupted when the temporary files were used 17512 the responses were corrupted when the temporary files were used
17513 while the proxying. 17513 while the proxying.
17514 </para> 17514 </para>
17515 </change> 17515 </change>
17516 17516
17517 <change type="bugfix"> 17517 <change type="bugfix">
17518 <para lang="ru"> 17518 <para lang="ru">
17519 бэкенду передавались запросы с неперекодированными символами. 17519 п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╥п╟п©я─п╬я│я▀ я│ п╫п╣п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ я│п╦п╪п╡п╬п╩п╟п╪п╦.
17520 </para> 17520 </para>
17521 <para lang="en"> 17521 <para lang="en">
17522 the unescaped requests were passed to the backend. 17522 the unescaped requests were passed to the backend.
17523 </para> 17523 </para>
17524 </change> 17524 </change>
17525 17525
17526 <change type="bugfix"> 17526 <change type="bugfix">
17527 <para lang="ru"> 17527 <para lang="ru">
17528 на Linux 2.4 при конфигурации сборки нужно было обязательно использовать 17528 п╫п╟ Linux 2.4 п©я─п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│п╠п╬я─п╨п╦ п╫я┐п╤п╫п╬ п╠я▀п╩п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄
17529 параметр --with-poll_module. 17529 п©п╟я─п╟п╪п╣я┌я─ --with-poll_module.
17530 </para> 17530 </para>
17531 <para lang="en"> 17531 <para lang="en">
17532 while the build configuration on Linux 2.4 the --with-poll_module parameter 17532 while the build configuration on Linux 2.4 the --with-poll_module parameter
17533 was required. 17533 was required.
17534 </para> 17534 </para>
17539 17539
17540 <changes ver="0.1.0" date="04.10.2004"> 17540 <changes ver="0.1.0" date="04.10.2004">
17541 17541
17542 <change> 17542 <change>
17543 <para lang="ru"> 17543 <para lang="ru">
17544 Первая публично доступная версия. 17544 п÷п╣я─п╡п╟я▐ п©я┐п╠п╩п╦я┤п╫п╬ п╢п╬я│я┌я┐п©п╫п╟я▐ п╡п╣я─я│п╦я▐.
17545 </para> 17545 </para>
17546 <para lang="en"> 17546 <para lang="en">
17547 The first public version. 17547 The first public version.
17548 </para> 17548 </para>
17549 </change> 17549 </change>