comparison docs/xml/nginx/changes.xml @ 4048:f872a86a655c stable-1.0

CHANGES conversion from KOI8-R to UTF-8.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 29 Aug 2011 14:02:15 +0000
parents fa2c37b1122c
children 01855743e3f6
comparison
equal deleted inserted replaced
4047:3e706fcccbf3 4048:f872a86a655c
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.0.5" date="19.07.2011"> 12 <changes ver="1.0.5" date="19.07.2011">
13 13
14 <change type="change"> 14 <change type="change">
15 <para lang="ru"> 15 <para lang="ru">
16 теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/> 16 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL: "HIGH:!aNULL:!MD5".<br/>
17 Спасибо Rob Stradling. 17 п║п©п╟я│п╦п╠п╬ Rob Stradling.
18 </para> 18 </para>
19 <para lang="en"> 19 <para lang="en">
20 now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/> 20 now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/>
21 Thanks to Rob Stradling. 21 Thanks to Rob Stradling.
22 </para> 22 </para>
23 </change> 23 </change>
24 24
25 <change type="feature"> 25 <change type="feature">
26 <para lang="ru"> 26 <para lang="ru">
27 директивы referer_hash_max_size и referer_hash_bucket_size.<br/> 27 п╢п╦я─п╣п╨я┌п╦п╡я▀ referer_hash_max_size п╦ referer_hash_bucket_size.<br/>
28 Спасибо Witold Filipczyk. 28 п║п©п╟я│п╦п╠п╬ Witold Filipczyk.
29 </para> 29 </para>
30 <para lang="en"> 30 <para lang="en">
31 the "referer_hash_max_size" and "referer_hash_bucket_size" 31 the "referer_hash_max_size" and "referer_hash_bucket_size"
32 directives.<br/> 32 directives.<br/>
33 Thanks to Witold Filipczyk. 33 Thanks to Witold Filipczyk.
34 </para> 34 </para>
35 </change> 35 </change>
36 36
37 <change type="feature"> 37 <change type="feature">
38 <para lang="ru"> 38 <para lang="ru">
39 переменная $uid_reset. 39 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $uid_reset.
40 </para> 40 </para>
41 <para lang="en"> 41 <para lang="en">
42 $uid_reset variable. 42 $uid_reset variable.
43 </para> 43 </para>
44 </change> 44 </change>
45 45
46 <change type="bugfix"> 46 <change type="bugfix">
47 <para lang="ru"> 47 <para lang="ru">
48 при использовании кэширования 48 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐
49 в рабочем процессе мог произойти segmentation fault.<br/> 49 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
50 Спасибо Lanshun Zhou. 50 п║п©п╟я│п╦п╠п╬ Lanshun Zhou.
51 </para> 51 </para>
52 <para lang="en"> 52 <para lang="en">
53 a segmentation fault might occur in a worker process, 53 a segmentation fault might occur in a worker process,
54 if a caching was used.<br/> 54 if a caching was used.<br/>
55 Thanks to Lanshun Zhou. 55 Thanks to Lanshun Zhou.
56 </para> 56 </para>
57 </change> 57 </change>
58 58
59 <change type="bugfix"> 59 <change type="bugfix">
60 <para lang="ru"> 60 <para lang="ru">
61 при использовании кэширования рабочие процессы 61 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀
62 могли зациклиться во время переконфигурации; 62 п╪п╬пЁп╩п╦ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
63 ошибка появилась в 0.8.48.<br/> 63 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.<br/>
64 Спасибо Максиму Дунину. 64 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
65 </para> 65 </para>
66 <para lang="en"> 66 <para lang="en">
67 worker processes may got caught in an endless loop during reconfiguration, 67 worker processes may got caught in an endless loop during reconfiguration,
68 if a caching was used; 68 if a caching was used;
69 the bug had appeared in 0.8.48.<br/> 69 the bug had appeared in 0.8.48.<br/>
71 </para> 71 </para>
72 </change> 72 </change>
73 73
74 <change type="bugfix"> 74 <change type="bugfix">
75 <para lang="ru"> 75 <para lang="ru">
76 сообщения "stalled cache updating".<br/> 76 я│п╬п╬п╠я┴п╣п╫п╦я▐ "stalled cache updating".<br/>
77 Спасибо Максиму Дунину. 77 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
78 </para> 78 </para>
79 <para lang="en"> 79 <para lang="en">
80 "stalled cache updating" alert.<br/> 80 "stalled cache updating" alert.<br/>
81 Thanks to Maxim Dounin. 81 Thanks to Maxim Dounin.
82 </para> 82 </para>
87 87
88 <changes ver="1.0.4" date="01.06.2011"> 88 <changes ver="1.0.4" date="01.06.2011">
89 89
90 <change type="change"> 90 <change type="change">
91 <para lang="ru"> 91 <para lang="ru">
92 теперь в регулярных выражениях в директиве map можно задать 92 я┌п╣п©п╣я─я▄ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ map п╪п╬п╤п╫п╬ п╥п╟п╢п╟я┌я▄
93 чувствительность к регистру с помощью префиксов "~" и "~*". 93 я┤я┐п╡я│я┌п╡п╦я┌п╣п╩я▄п╫п╬я│я┌я▄ п╨ я─п╣пЁп╦я│я┌я─я┐ я│ п©п╬п╪п╬я┴я▄я▌ п©я─п╣я└п╦п╨я│п╬п╡ "~" п╦ "~*".
94 </para> 94 </para>
95 <para lang="en"> 95 <para lang="en">
96 now regular expressions case sensitivity in the "map" directive 96 now regular expressions case sensitivity in the "map" directive
97 is given by prefixes "~" or "~*". 97 is given by prefixes "~" or "~*".
98 </para> 98 </para>
99 </change> 99 </change>
100 100
101 <change type="feature"> 101 <change type="feature">
102 <para lang="ru"> 102 <para lang="ru">
103 теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/> 103 я┌п╣п©п╣я─я▄ я─п╟п╥п╢п╣п╩я▐п╣п╪я▀п╣ п╥п╬п╫я▀ п╦ п╨я█я┬п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я│п╣п╪п╟я└п╬я─я▀ POSIX п╫п╟ Linux.<br/>
104 Спасибо Денису Латыпову. 104 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
105 </para> 105 </para>
106 <para lang="en"> 106 <para lang="en">
107 now shared zones and caches use POSIX semaphores on Linux. <br/> 107 now shared zones and caches use POSIX semaphores on Linux. <br/>
108 Thanks to Denis F. Latypoff. 108 Thanks to Denis F. Latypoff.
109 </para> 109 </para>
110 </change> 110 </change>
111 111
112 <change type="bugfix"> 112 <change type="bugfix">
113 <para lang="ru"> 113 <para lang="ru">
114 сообщения "stalled cache updating". 114 я│п╬п╬п╠я┴п╣п╫п╦я▐ "stalled cache updating".
115 </para> 115 </para>
116 <para lang="en"> 116 <para lang="en">
117 "stalled cache updating" alert. 117 "stalled cache updating" alert.
118 </para> 118 </para>
119 </change> 119 </change>
120 120
121 <change type="bugfix"> 121 <change type="bugfix">
122 <para lang="ru"> 122 <para lang="ru">
123 nginx не собирался с параметром --without-http_auth_basic_module; 123 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_auth_basic_module;
124 ошибка появилась в 1.0.3. 124 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 1.0.3.
125 </para> 125 </para>
126 <para lang="en"> 126 <para lang="en">
127 nginx could not be built --without-http_auth_basic_module; 127 nginx could not be built --without-http_auth_basic_module;
128 the bug had appeared in 1.0.3. 128 the bug had appeared in 1.0.3.
129 </para> 129 </para>
134 134
135 <changes ver="1.0.3" date="25.05.2011"> 135 <changes ver="1.0.3" date="25.05.2011">
136 136
137 <change type="feature"> 137 <change type="feature">
138 <para lang="ru"> 138 <para lang="ru">
139 директива auth_basic_user_file поддерживает шифрование пароля 139 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic_user_file п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─п╬п╡п╟п╫п╦п╣ п©п╟я─п╬п╩я▐
140 методами "$apr1", "{PLAIN}" и "{SSHA}".<br/> 140 п╪п╣я┌п╬п╢п╟п╪п╦ "$apr1", "{PLAIN}" п╦ "{SSHA}".<br/>
141 Спасибо Максиму Дунину. 141 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
142 </para> 142 </para>
143 <para lang="en"> 143 <para lang="en">
144 the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", 144 the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}",
145 and "{SSHA}" password encryption methods.<br/> 145 and "{SSHA}" password encryption methods.<br/>
146 Thanks to Maxim Dounin. 146 Thanks to Maxim Dounin.
147 </para> 147 </para>
148 </change> 148 </change>
149 149
150 <change type="feature"> 150 <change type="feature">
151 <para lang="ru"> 151 <para lang="ru">
152 директива geoip_org и переменная $geoip_org.<br/> 152 п╢п╦я─п╣п╨я┌п╦п╡п╟ geoip_org п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $geoip_org.<br/>
153 Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 153 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ пёя│п╨п╬п╡я┐, Arnaud Granal п╦ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
154 </para> 154 </para>
155 <para lang="en"> 155 <para lang="en">
156 the "geoip_org" directive and $geoip_org variable.<br/> 156 the "geoip_org" directive and $geoip_org variable.<br/>
157 Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. 157 Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff.
158 </para> 158 </para>
159 </change> 159 </change>
160 160
161 <change type="feature"> 161 <change type="feature">
162 <para lang="ru"> 162 <para lang="ru">
163 модули ngx_http_geo_module и ngx_http_geoip_module поддерживают 163 п╪п╬п╢я┐п╩п╦ ngx_http_geo_module п╦ ngx_http_geoip_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌
164 адреса IPv4, отображённые на IPv6 адреса. 164 п╟п╢я─п╣я│п╟ IPv4, п╬я┌п╬п╠я─п╟п╤я▒п╫п╫я▀п╣ п╫п╟ IPv6 п╟п╢я─п╣я│п╟.
165 </para> 165 </para>
166 <para lang="en"> 166 <para lang="en">
167 ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses 167 ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses
168 mapped to IPv6 addresses. 168 mapped to IPv6 addresses.
169 </para> 169 </para>
170 </change> 170 </change>
171 171
172 <change type="bugfix"> 172 <change type="bugfix">
173 <para lang="ru"> 173 <para lang="ru">
174 при проверке адреса IPv4, отображённого на адрес IPv6, 174 п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╟п╢я─п╣я│п╟ IPv4, п╬я┌п╬п╠я─п╟п╤я▒п╫п╫п╬пЁп╬ п╫п╟ п╟п╢я─п╣я│ IPv6,
175 в рабочем процессе происходил segmentation fault, 175 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
176 если директивы access или deny были определены только для адресов IPv6; 176 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ access п╦п╩п╦ deny п╠я▀п╩п╦ п╬п©я─п╣п╢п╣п╩п╣п╫я▀ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п╟п╢я─п╣я│п╬п╡ IPv6;
177 ошибка появилась в 0.8.22. 177 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.
178 </para> 178 </para>
179 <para lang="en"> 179 <para lang="en">
180 a segmentation fault occurred in a worker process 180 a segmentation fault occurred in a worker process
181 during testing IPv4 address mapped to IPv6 address, 181 during testing IPv4 address mapped to IPv6 address,
182 if access or deny rules were defined only for IPv6; 182 if access or deny rules were defined only for IPv6;
184 </para> 184 </para>
185 </change> 185 </change>
186 186
187 <change type="bugfix"> 187 <change type="bugfix">
188 <para lang="ru"> 188 <para lang="ru">
189 закэшированный ответ мог быть испорчен, если значения директив 189 п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╧ п╬я┌п╡п╣я┌ п╪п╬пЁ п╠я▀я┌я▄ п╦я│п©п╬я─я┤п╣п╫, п╣я│п╩п╦ п╥п╫п╟я┤п╣п╫п╦я▐ п╢п╦я─п╣п╨я┌п╦п╡
190 proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache 190 proxy/fastcgi/scgi/uwsgi_cache_bypass п╦ proxy/fastcgi/scgi/ uwsgi_no_cache
191 были разными; 191 п╠я▀п╩п╦ я─п╟п╥п╫я▀п╪п╦;
192 ошибка появилась в 0.8.46. 192 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
193 </para> 193 </para>
194 <para lang="en"> 194 <para lang="en">
195 a cached response may be broken if proxy/fastcgi/scgi/ uwsgi_cache_bypass 195 a cached response may be broken if proxy/fastcgi/scgi/ uwsgi_cache_bypass
196 and proxy/fastcgi/scgi/uwsgi_no_cache directive values were different; 196 and proxy/fastcgi/scgi/uwsgi_no_cache directive values were different;
197 the bug had appeared in 0.8.46. 197 the bug had appeared in 0.8.46.
203 203
204 <changes ver="1.0.2" date="10.05.2011"> 204 <changes ver="1.0.2" date="10.05.2011">
205 205
206 <change type="feature"> 206 <change type="feature">
207 <para lang="ru"> 207 <para lang="ru">
208 теперь разделяемые зоны и кэши используют семафоры POSIX. 208 я┌п╣п©п╣я─я▄ я─п╟п╥п╢п╣п╩я▐п╣п╪я▀п╣ п╥п╬п╫я▀ п╦ п╨я█я┬п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я│п╣п╪п╟я└п╬я─я▀ POSIX.
209 </para> 209 </para>
210 <para lang="en"> 210 <para lang="en">
211 now shared zones and caches use POSIX semaphores. 211 now shared zones and caches use POSIX semaphores.
212 </para> 212 </para>
213 </change> 213 </change>
214 214
215 <change type="bugfix"> 215 <change type="bugfix">
216 <para lang="ru"> 216 <para lang="ru">
217 в работе параметра rotate директивы image_filter.<br/> 217 п╡ я─п╟п╠п╬я┌п╣ п©п╟я─п╟п╪п╣я┌я─п╟ rotate п╢п╦я─п╣п╨я┌п╦п╡я▀ image_filter.<br/>
218 Спасибо Adam Bocim. 218 п║п©п╟я│п╦п╠п╬ Adam Bocim.
219 </para> 219 </para>
220 <para lang="en"> 220 <para lang="en">
221 in the "rotate" parameter of the "image_filter" directive. <br/> 221 in the "rotate" parameter of the "image_filter" directive. <br/>
222 Thanks to Adam Bocim. 222 Thanks to Adam Bocim.
223 </para> 223 </para>
224 </change> 224 </change>
225 225
226 <change type="bugfix"> 226 <change type="bugfix">
227 <para lang="ru"> 227 <para lang="ru">
228 nginx не собирался на Solaris; 228 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris;
229 ошибка появилась в 1.0.1. 229 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 1.0.1.
230 </para> 230 </para>
231 <para lang="en"> 231 <para lang="en">
232 nginx could not be built on Solaris; 232 nginx could not be built on Solaris;
233 the bug had appeared in 1.0.1. 233 the bug had appeared in 1.0.1.
234 </para> 234 </para>
239 239
240 <changes ver="1.0.1" date="03.05.2011"> 240 <changes ver="1.0.1" date="03.05.2011">
241 241
242 <change type="change"> 242 <change type="change">
243 <para lang="ru"> 243 <para lang="ru">
244 теперь директива split_clients использует алгоритм MurmurHash2 из-за 244 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ split_clients п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╟п╩пЁп╬я─п╦я┌п╪ MurmurHash2 п╦п╥-п╥п╟
245 лучшего распределения.<br/> 245 п╩я┐я┤я┬п╣пЁп╬ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦я▐.<br/>
246 Спасибо Олегу Мамонтову. 246 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╟п╪п╬п╫я┌п╬п╡я┐.
247 </para> 247 </para>
248 <para lang="en"> 248 <para lang="en">
249 now the "split_clients" directive uses MurmurHash2 algorithm because 249 now the "split_clients" directive uses MurmurHash2 algorithm because
250 of better distribution.<br/> 250 of better distribution.<br/>
251 Thanks to Oleg Mamontov. 251 Thanks to Oleg Mamontov.
252 </para> 252 </para>
253 </change> 253 </change>
254 254
255 <change type="change"> 255 <change type="change">
256 <para lang="ru"> 256 <para lang="ru">
257 теперь длинные строки, начинающиеся с нуля, не считаются ложными 257 я┌п╣п©п╣я─я▄ п╢п╩п╦п╫п╫я▀п╣ я│я┌я─п╬п╨п╦, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ я│ п╫я┐п╩я▐, п╫п╣ я│я┤п╦я┌п╟я▌я┌я│я▐ п╩п╬п╤п╫я▀п╪п╦
258 значениями.<br/> 258 п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦.<br/>
259 Спасибо Максиму Дунину. 259 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
260 </para> 260 </para>
261 <para lang="en"> 261 <para lang="en">
262 now long strings starting with zero are not considered as false values.<br/> 262 now long strings starting with zero are not considered as false values.<br/>
263 Thanks to Maxim Dounin. 263 Thanks to Maxim Dounin.
264 </para> 264 </para>
265 </change> 265 </change>
266 266
267 <change type="change"> 267 <change type="change">
268 <para lang="ru"> 268 <para lang="ru">
269 теперь по умолчанию nginx использует значение 511 для listen backlog на Linux. 269 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ 511 п╢п╩я▐ listen backlog п╫п╟ Linux.
270 </para> 270 </para>
271 <para lang="en"> 271 <para lang="en">
272 now nginx uses a default listen backlog value 511 on Linux. 272 now nginx uses a default listen backlog value 511 on Linux.
273 </para> 273 </para>
274 </change> 274 </change>
275 275
276 <change type="feature"> 276 <change type="feature">
277 <para lang="ru"> 277 <para lang="ru">
278 переменные $upstream_... можно использовать в SSI и перловом модулях. 278 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $upstream_... п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡ SSI п╦ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩я▐я┘.
279 </para> 279 </para>
280 <para lang="en"> 280 <para lang="en">
281 the $upstream_... variables may be used in the SSI and perl modules. 281 the $upstream_... variables may be used in the SSI and perl modules.
282 </para> 282 </para>
283 </change> 283 </change>
284 284
285 <change type="bugfix"> 285 <change type="bugfix">
286 <para lang="ru"> 286 <para lang="ru">
287 теперь nginx лучше ограничивает размер кэша на диске.<br/> 287 я┌п╣п©п╣я─я▄ nginx п╩я┐я┤я┬п╣ п╬пЁя─п╟п╫п╦я┤п╦п╡п╟п╣я┌ я─п╟п╥п╪п╣я─ п╨я█я┬п╟ п╫п╟ п╢п╦я│п╨п╣.<br/>
288 Спасибо Олегу Мамонтову. 288 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╟п╪п╬п╫я┌п╬п╡я┐.
289 </para> 289 </para>
290 <para lang="en"> 290 <para lang="en">
291 now nginx limits better disk cache size.<br/> 291 now nginx limits better disk cache size.<br/>
292 Thanks to Oleg Mamontov. 292 Thanks to Oleg Mamontov.
293 </para> 293 </para>
294 </change> 294 </change>
295 295
296 <change type="bugfix"> 296 <change type="bugfix">
297 <para lang="ru"> 297 <para lang="ru">
298 при парсинге неправильного IPv4 адреса мог произойти segmentation fault; 298 п©я─п╦ п©п╟я─я│п╦п╫пЁп╣ п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ IPv4 п╟п╢я─п╣я│п╟ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
299 ошибка появилась в 0.8.22.<br/> 299 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.<br/>
300 Спасибо Максиму Дунину. 300 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
301 </para> 301 </para>
302 <para lang="en"> 302 <para lang="en">
303 a segmentation fault might occur while parsing incorrect IPv4 address; 303 a segmentation fault might occur while parsing incorrect IPv4 address;
304 the bug had appeared in 0.9.3.<br/> 304 the bug had appeared in 0.9.3.<br/>
305 Thanks to Maxim Dounin. 305 Thanks to Maxim Dounin.
306 </para> 306 </para>
307 </change> 307 </change>
308 308
309 <change type="bugfix"> 309 <change type="bugfix">
310 <para lang="ru"> 310 <para lang="ru">
311 nginx не собирался gcc 4.6 без параметра --with-debug. 311 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ gcc 4.6 п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug.
312 </para> 312 </para>
313 <para lang="en"> 313 <para lang="en">
314 nginx could not be built by gcc 4.6 without --with-debug option. 314 nginx could not be built by gcc 4.6 without --with-debug option.
315 </para> 315 </para>
316 </change> 316 </change>
317 317
318 <change type="bugfix"> 318 <change type="bugfix">
319 <para lang="ru"> 319 <para lang="ru">
320 nginx не собирался на Solaris 9 и более ранних; 320 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris 9 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
321 ошибка появилась в 0.9.3.<br/> 321 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.3.<br/>
322 Спасибо Dagobert Michelsen. 322 п║п©п╟я│п╦п╠п╬ Dagobert Michelsen.
323 </para> 323 </para>
324 <para lang="en"> 324 <para lang="en">
325 nginx could not be built on Solaris 9 and earlier; 325 nginx could not be built on Solaris 9 and earlier;
326 the bug had appeared in 0.9.3.<br/> 326 the bug had appeared in 0.9.3.<br/>
327 Thanks to Dagobert Michelsen. 327 Thanks to Dagobert Michelsen.
328 </para> 328 </para>
329 </change> 329 </change>
330 330
331 <change type="bugfix"> 331 <change type="bugfix">
332 <para lang="ru"> 332 <para lang="ru">
333 переменная $request_time имела неверные значения, если использовались 333 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_time п╦п╪п╣п╩п╟ п╫п╣п╡п╣я─п╫я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄
334 подзапросы; 334 п©п╬п╢п╥п╟п©я─п╬я│я▀;
335 ошибка появилась в 0.8.47.<br/> 335 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.47.<br/>
336 Спасибо Игорю А. Валькову. 336 п║п©п╟я│п╦п╠п╬ п≤пЁп╬я─я▌ п░. п▓п╟п╩я▄п╨п╬п╡я┐.
337 </para> 337 </para>
338 <para lang="en"> 338 <para lang="en">
339 $request_time variable had invalid values if subrequests were used; 339 $request_time variable had invalid values if subrequests were used;
340 the bug had appeared in 0.8.47.<br/> 340 the bug had appeared in 0.8.47.<br/>
341 Thanks to Igor A. Valcov. 341 Thanks to Igor A. Valcov.
347 347
348 <changes ver="1.0.0" date="12.04.2011"> 348 <changes ver="1.0.0" date="12.04.2011">
349 349
350 <change type="bugfix"> 350 <change type="bugfix">
351 <para lang="ru"> 351 <para lang="ru">
352 cache manager мог нагружать процессор после переконфигурации.<br/> 352 cache manager п╪п╬пЁ п╫п╟пЁя─я┐п╤п╟я┌я▄ п©я─п╬я├п╣я│я│п╬я─ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
353 Спасибо Максиму Дунину. 353 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
354 </para> 354 </para>
355 <para lang="en"> 355 <para lang="en">
356 a cache manager might hog CPU after reload.<br/> 356 a cache manager might hog CPU after reload.<br/>
357 Thanks to Maxim Dounin. 357 Thanks to Maxim Dounin.
358 </para> 358 </para>
359 </change> 359 </change>
360 360
361 <change type="bugfix"> 361 <change type="bugfix">
362 <para lang="ru"> 362 <para lang="ru">
363 директива "image_filter crop" неправильно работала в сочетании с 363 п╢п╦я─п╣п╨я┌п╦п╡п╟ "image_filter crop" п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟ п╡ я│п╬я┤п╣я┌п╟п╫п╦п╦ я│
364 "image_filter rotate 180". 364 "image_filter rotate 180".
365 </para> 365 </para>
366 <para lang="en"> 366 <para lang="en">
367 an "image_filter crop" directive worked incorrectly coupled with 367 an "image_filter crop" directive worked incorrectly coupled with
368 an "image_filter rotate 180" directive. 368 an "image_filter rotate 180" directive.
369 </para> 369 </para>
370 </change> 370 </change>
371 371
372 <change type="bugfix"> 372 <change type="bugfix">
373 <para lang="ru"> 373 <para lang="ru">
374 директива "satisfy any" запрещала выдачу пользовательской страницы 374 п╢п╦я─п╣п╨я┌п╦п╡п╟ "satisfy any" п╥п╟п©я─п╣я┴п╟п╩п╟ п╡я▀п╢п╟я┤я┐ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄я│п╨п╬п╧ я│я┌я─п╟п╫п╦я├я▀
375 для 401 кода. 375 п╢п╩я▐ 401 п╨п╬п╢п╟.
376 </para> 376 </para>
377 <para lang="en"> 377 <para lang="en">
378 a "satisfy any" directive disabled custom 401 error page. 378 a "satisfy any" directive disabled custom 401 error page.
379 </para> 379 </para>
380 </change> 380 </change>
384 384
385 <changes ver="0.9.7" date="04.04.2011"> 385 <changes ver="0.9.7" date="04.04.2011">
386 386
387 <change type="feature"> 387 <change type="feature">
388 <para lang="ru"> 388 <para lang="ru">
389 теперь соединения в состоянии keepalive могут быть закрыты преждевременно, 389 я┌п╣п©п╣я─я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ keepalive п╪п╬пЁя┐я┌ п╠я▀я┌я▄ п╥п╟п╨я─я▀я┌я▀ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬,
390 если у воркера нет свободных соединений.<br/> 390 п╣я│п╩п╦ я┐ п╡п╬я─п╨п╣я─п╟ п╫п╣я┌ я│п╡п╬п╠п╬п╢п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧.<br/>
391 Спасибо Максиму Дунину. 391 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
392 </para> 392 </para>
393 <para lang="en"> 393 <para lang="en">
394 now keepalive connections may be closed premature, 394 now keepalive connections may be closed premature,
395 if there are no free worker connections.<br/> 395 if there are no free worker connections.<br/>
396 Thanks to Maxim Dounin. 396 Thanks to Maxim Dounin.
397 </para> 397 </para>
398 </change> 398 </change>
399 399
400 <change type="feature"> 400 <change type="feature">
401 <para lang="ru"> 401 <para lang="ru">
402 параметр rotate директивы image_filter.<br/> 402 п©п╟я─п╟п╪п╣я┌я─ rotate п╢п╦я─п╣п╨я┌п╦п╡я▀ image_filter.<br/>
403 Спасибо Adam Bocim. 403 п║п©п╟я│п╦п╠п╬ Adam Bocim.
404 </para> 404 </para>
405 <para lang="en"> 405 <para lang="en">
406 the "rotate" parameter of the "image_filter" directive.<br/> 406 the "rotate" parameter of the "image_filter" directive.<br/>
407 Thanks to Adam Bocim. 407 Thanks to Adam Bocim.
408 </para> 408 </para>
409 </change> 409 </change>
410 410
411 <change type="bugfix"> 411 <change type="bugfix">
412 <para lang="ru"> 412 <para lang="ru">
413 ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass 413 я│п╦я┌я┐п╟я├п╦п╦, п╨п╬пЁп╢п╟ п╠я█п╨п╣п╫п╢ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ fastcgi_pass, scgi_pass п╦п╩п╦ uwsgi_pass
414 задан выражением и ссылается на описанный upstream. 414 п╥п╟п╢п╟п╫ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪ п╦ я│я│я▀п╩п╟п╣я┌я│я▐ п╫п╟ п╬п©п╦я│п╟п╫п╫я▀п╧ upstream.
415 </para> 415 </para>
416 <para lang="en"> 416 <para lang="en">
417 a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass" 417 a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass"
418 directives is given by expression and refers to a defined upstream. 418 directives is given by expression and refers to a defined upstream.
419 </para> 419 </para>
424 424
425 <changes ver="0.9.6" date="21.03.2011"> 425 <changes ver="0.9.6" date="21.03.2011">
426 426
427 <change type="feature"> 427 <change type="feature">
428 <para lang="ru"> 428 <para lang="ru">
429 директива map поддерживает регулярные выражения в качестве значения 429 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐
430 первого параметра. 430 п©п╣я─п╡п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟.
431 </para> 431 </para>
432 <para lang="en"> 432 <para lang="en">
433 the "map" directive supports regular expressions as value of the first 433 the "map" directive supports regular expressions as value of the first
434 parameter. 434 parameter.
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 переменная $time_iso8601 для access_log.<br/> 440 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $time_iso8601 п╢п╩я▐ access_log.<br/>
441 Спасибо Michael Lustfield. 441 п║п©п╟я│п╦п╠п╬ Michael Lustfield.
442 </para> 442 </para>
443 <para lang="en"> 443 <para lang="en">
444 $time_iso8601 access_log variable.<br/> 444 $time_iso8601 access_log variable.<br/>
445 Thanks to Michael Lustfield. 445 Thanks to Michael Lustfield.
446 </para> 446 </para>
451 451
452 <changes ver="0.9.5" date="21.02.2011"> 452 <changes ver="0.9.5" date="21.02.2011">
453 453
454 <change type="change"> 454 <change type="change">
455 <para lang="ru"> 455 <para lang="ru">
456 теперь по умолчанию nginx использует значение -1 для listen backlog 456 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ -1 п╢п╩я▐ listen backlog
457 на Linux.<br/> 457 п╫п╟ Linux.<br/>
458 Спасибо Андрею Нигматулину. 458 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
459 </para> 459 </para>
460 <para lang="en"> 460 <para lang="en">
461 now nginx uses a default listen backlog value -1 on Linux. <br/> 461 now nginx uses a default listen backlog value -1 on Linux. <br/>
462 Thanks to Andrei Nigmatulin. 462 Thanks to Andrei Nigmatulin.
463 </para> 463 </para>
464 </change> 464 </change>
465 465
466 <change type="feature"> 466 <change type="feature">
467 <para lang="ru"> 467 <para lang="ru">
468 параметр utf8 в директивах geoip_country и geoip_city.<br/> 468 п©п╟я─п╟п╪п╣я┌я─ utf8 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ geoip_country п╦ geoip_city.<br/>
469 Спасибо Денису Латыпову. 469 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
470 </para> 470 </para>
471 <para lang="en"> 471 <para lang="en">
472 the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/> 472 the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/>
473 Thanks to Denis F. Latypoff. 473 Thanks to Denis F. Latypoff.
474 </para> 474 </para>
475 </change> 475 </change>
476 476
477 <change type="bugfix"> 477 <change type="bugfix">
478 <para lang="ru"> 478 <para lang="ru">
479 исправление в умолчательной директиве proxy_redirect, если в директиве 479 п╦я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╡ я┐п╪п╬п╩я┤п╟я┌п╣п╩я▄п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_redirect, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣
480 proxy_pass не был описан URI.<br/> 480 proxy_pass п╫п╣ п╠я▀п╩ п╬п©п╦я│п╟п╫ URI.<br/>
481 Спасибо Максиму Дунину. 481 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
482 </para> 482 </para>
483 <para lang="en"> 483 <para lang="en">
484 in a default "proxy_redirect" directive if "proxy_pass" directive has no 484 in a default "proxy_redirect" directive if "proxy_pass" directive has no
485 URI part.<br/> 485 URI part.<br/>
486 Thanks to Maxim Dounin. 486 Thanks to Maxim Dounin.
487 </para> 487 </para>
488 </change> 488 </change>
489 489
490 <change type="bugfix"> 490 <change type="bugfix">
491 <para lang="ru"> 491 <para lang="ru">
492 директива error_page не работала с нестандартными кодами ошибок; 492 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п╫п╣я│я┌п╟п╫п╢п╟я─я┌п╫я▀п╪п╦ п╨п╬п╢п╟п╪п╦ п╬я┬п╦п╠п╬п╨;
493 ошибка появилась в 0.8.53.<br/> 493 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.53.<br/>
494 Спасибо Максиму Дунину. 494 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
495 </para> 495 </para>
496 <para lang="en"> 496 <para lang="en">
497 an "error_page" directive did not work with nonstandard error codes; 497 an "error_page" directive did not work with nonstandard error codes;
498 the bug had appeared in 0.8.53.<br/> 498 the bug had appeared in 0.8.53.<br/>
499 Thanks to Maxim Dounin. 499 Thanks to Maxim Dounin.
505 505
506 <changes ver="0.9.4" date="21.01.2011"> 506 <changes ver="0.9.4" date="21.01.2011">
507 507
508 <change type="feature"> 508 <change type="feature">
509 <para lang="ru"> 509 <para lang="ru">
510 директива server_name поддерживает переменную $hostname. 510 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $hostname.
511 </para> 511 </para>
512 <para lang="en"> 512 <para lang="en">
513 the "server_name" directive supports the $hostname variable. 513 the "server_name" directive supports the $hostname variable.
514 </para> 514 </para>
515 </change> 515 </change>
516 516
517 <change type="feature"> 517 <change type="feature">
518 <para lang="ru"> 518 <para lang="ru">
519 494 код для ошибки "Request Header Too Large". 519 494 п╨п╬п╢ п╢п╩я▐ п╬я┬п╦п╠п╨п╦ "Request Header Too Large".
520 </para> 520 </para>
521 <para lang="en"> 521 <para lang="en">
522 494 code for "Request Header Too Large" error. 522 494 code for "Request Header Too Large" error.
523 </para> 523 </para>
524 </change> 524 </change>
528 528
529 <changes ver="0.9.3" date="13.12.2010"> 529 <changes ver="0.9.3" date="13.12.2010">
530 530
531 <change type="bugfix"> 531 <change type="bugfix">
532 <para lang="ru"> 532 <para lang="ru">
533 если для пары IPv6-адрес:порт описан только один сервер, то выделения 533 п╣я│п╩п╦ п╢п╩я▐ п©п╟я─я▀ IPv6-п╟п╢я─п╣я│:п©п╬я─я┌ п╬п©п╦я│п╟п╫ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я│п╣я─п╡п╣я─, я┌п╬ п╡я▀п╢п╣п╩п╣п╫п╦я▐
534 в регулярных выражениях в директиве server_name не работали. 534 п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
535 </para> 535 </para>
536 <para lang="en"> 536 <para lang="en">
537 if there was a single server for given IPv6 address:port pair, 537 if there was a single server for given IPv6 address:port pair,
538 then captures in regular expressions in a "server_name" directive did not work. 538 then captures in regular expressions in a "server_name" directive did not work.
539 </para> 539 </para>
540 </change> 540 </change>
541 541
542 <change type="bugfix"> 542 <change type="bugfix">
543 <para lang="ru"> 543 <para lang="ru">
544 nginx не собирался под Solaris; 544 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ Solaris;
545 ошибка появилась в 0.9.0. 545 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
546 </para> 546 </para>
547 <para lang="en"> 547 <para lang="en">
548 nginx could not be built on Solaris; 548 nginx could not be built on Solaris;
549 the bug had appeared in 0.9.0. 549 the bug had appeared in 0.9.0.
550 </para> 550 </para>
555 555
556 <changes ver="0.9.2" date="06.12.2010"> 556 <changes ver="0.9.2" date="06.12.2010">
557 557
558 <change type="feature"> 558 <change type="feature">
559 <para lang="ru"> 559 <para lang="ru">
560 поддержка строки "If-Unmodified-Since" в заголовке запросе клиента. 560 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "If-Unmodified-Since" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╣ п╨п╩п╦п╣п╫я┌п╟.
561 </para> 561 </para>
562 <para lang="en"> 562 <para lang="en">
563 the "If-Unmodified-Since" client request header line support. 563 the "If-Unmodified-Since" client request header line support.
564 </para> 564 </para>
565 </change> 565 </change>
566 566
567 <change type="workaround"> 567 <change type="workaround">
568 <para lang="ru"> 568 <para lang="ru">
569 использование accept(), если accept4() не реализован; 569 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ accept(), п╣я│п╩п╦ accept4() п╫п╣ я─п╣п╟п╩п╦п╥п╬п╡п╟п╫;
570 ошибка появилась в 0.9.0. 570 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
571 </para> 571 </para>
572 <para lang="en"> 572 <para lang="en">
573 fallback to accept() syscall if accept4() was not implemented; 573 fallback to accept() syscall if accept4() was not implemented;
574 the issue had appeared in 0.9.0. 574 the issue had appeared in 0.9.0.
575 </para> 575 </para>
576 </change> 576 </change>
577 577
578 <change type="bugfix"> 578 <change type="bugfix">
579 <para lang="ru"> 579 <para lang="ru">
580 nginx не собирался под Cygwin; 580 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ Cygwin;
581 ошибка появилась в 0.9.0. 581 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
582 </para> 582 </para>
583 <para lang="en"> 583 <para lang="en">
584 nginx could not be built on Cygwin; 584 nginx could not be built on Cygwin;
585 the bug had appeared in 0.9.0. 585 the bug had appeared in 0.9.0.
586 </para> 586 </para>
587 </change> 587 </change>
588 588
589 <change type="bugfix"> 589 <change type="bugfix">
590 <para lang="ru"> 590 <para lang="ru">
591 уязвимости в OpenSSL CVE-2010-4180.<br/> 591 я┐я▐п╥п╡п╦п╪п╬я│я┌п╦ п╡ OpenSSL CVE-2010-4180.<br/>
592 Спасибо Максиму Дунину. 592 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
593 </para> 593 </para>
594 <para lang="en"> 594 <para lang="en">
595 for OpenSSL vulnerability CVE-2010-4180.<br/> 595 for OpenSSL vulnerability CVE-2010-4180.<br/>
596 Thanks to Maxim Dounin. 596 Thanks to Maxim Dounin.
597 </para> 597 </para>
602 602
603 <changes ver="0.9.1" date="30.11.2010"> 603 <changes ver="0.9.1" date="30.11.2010">
604 604
605 <change type="bugfix"> 605 <change type="bugfix">
606 <para lang="ru"> 606 <para lang="ru">
607 директивы вида "return CODE message" не работали; 607 п╢п╦я─п╣п╨я┌п╦п╡я▀ п╡п╦п╢п╟ "return CODE message" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
608 ошибка появилась в 0.9.0. 608 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.9.0.
609 </para> 609 </para>
610 <para lang="en"> 610 <para lang="en">
611 "return CODE message" directives did not work; 611 "return CODE message" directives did not work;
612 the bug had appeared in 0.9.0. 612 the bug had appeared in 0.9.0.
613 </para> 613 </para>
618 618
619 <changes ver="0.9.0" date="29.11.2010"> 619 <changes ver="0.9.0" date="29.11.2010">
620 620
621 <change type="feature"> 621 <change type="feature">
622 <para lang="ru"> 622 <para lang="ru">
623 директива keepalive_disable. 623 п╢п╦я─п╣п╨я┌п╦п╡п╟ keepalive_disable.
624 </para> 624 </para>
625 <para lang="en"> 625 <para lang="en">
626 the "keepalive_disable" directive. 626 the "keepalive_disable" directive.
627 </para> 627 </para>
628 </change> 628 </change>
629 629
630 <change type="feature"> 630 <change type="feature">
631 <para lang="ru"> 631 <para lang="ru">
632 директива map поддерживает переменные в качестве значения определяемой 632 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╬п©я─п╣п╢п╣п╩я▐п╣п╪п╬п╧
633 переменной. 633 п©п╣я─п╣п╪п╣п╫п╫п╬п╧.
634 </para> 634 </para>
635 <para lang="en"> 635 <para lang="en">
636 the "map" directive supports variables as value of a defined variable. 636 the "map" directive supports variables as value of a defined variable.
637 </para> 637 </para>
638 </change> 638 </change>
639 639
640 <change type="feature"> 640 <change type="feature">
641 <para lang="ru"> 641 <para lang="ru">
642 директива map поддерживает пустые строки в качестве значения первого параметра. 642 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я┐я│я┌я▀п╣ я│я┌я─п╬п╨п╦ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п©п╣я─п╡п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟.
643 </para> 643 </para>
644 <para lang="en"> 644 <para lang="en">
645 the "map" directive supports empty strings as value of the first parameter. 645 the "map" directive supports empty strings as value of the first parameter.
646 </para> 646 </para>
647 </change> 647 </change>
648 648
649 <change type="feature"> 649 <change type="feature">
650 <para lang="ru"> 650 <para lang="ru">
651 директива map поддерживает выражения в первом параметре. 651 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ п©п╣я─п╡п╬п╪ п©п╟я─п╟п╪п╣я┌я─п╣.
652 </para> 652 </para>
653 <para lang="en"> 653 <para lang="en">
654 the "map" directive supports expressions as the first parameter. 654 the "map" directive supports expressions as the first parameter.
655 </para> 655 </para>
656 </change> 656 </change>
657 657
658 <change type="feature"> 658 <change type="feature">
659 <para lang="ru"> 659 <para lang="ru">
660 страница руководства nginx(8).<br/> 660 я│я┌я─п╟п╫п╦я├п╟ я─я┐п╨п╬п╡п╬п╢я│я┌п╡п╟ nginx(8).<br/>
661 Спасибо Сергею Осокину. 661 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п·я│п╬п╨п╦п╫я┐.
662 </para> 662 </para>
663 <para lang="en"> 663 <para lang="en">
664 nginx(8) manual page.<br/> 664 nginx(8) manual page.<br/>
665 Thanks to Sergey Osokin. 665 Thanks to Sergey Osokin.
666 </para> 666 </para>
667 </change> 667 </change>
668 668
669 <change type="feature"> 669 <change type="feature">
670 <para lang="ru"> 670 <para lang="ru">
671 поддержка accept4() в Linux.<br/> 671 п©п╬п╢п╢п╣я─п╤п╨п╟ accept4() п╡ Linux.<br/>
672 Спасибо Simon Liu. 672 п║п©п╟я│п╦п╠п╬ Simon Liu.
673 </para> 673 </para>
674 <para lang="en"> 674 <para lang="en">
675 Linux accept4() support.<br/> 675 Linux accept4() support.<br/>
676 Thanks to Simon Liu. 676 Thanks to Simon Liu.
677 </para> 677 </para>
678 </change> 678 </change>
679 679
680 <change type="workaround"> 680 <change type="workaround">
681 <para lang="ru"> 681 <para lang="ru">
682 устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux; 682 я┐я│я┌я─п╟п╫п╣п╫п╦п╣ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦я▐ п╩п╦п╫п╨п╣я─п╟ п╬ "sys_errlist" п╦ "sys_nerr" п©п╬п╢ Linux;
683 предупреждение появилось в 0.8.35. 683 п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╣ п©п╬я▐п╡п╦п╩п╬я│я▄ п╡ 0.8.35.
684 </para> 684 </para>
685 <para lang="en"> 685 <para lang="en">
686 elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; 686 elimination of Linux linker warning about "sys_errlist" and "sys_nerr";
687 the warning had appeared in 0.8.35. 687 the warning had appeared in 0.8.35.
688 </para> 688 </para>
689 </change> 689 </change>
690 690
691 <change type="bugfix"> 691 <change type="bugfix">
692 <para lang="ru"> 692 <para lang="ru">
693 при использовании директивы auth_basic 693 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic
694 в рабочем процессе мог произойти segmentation fault.<br/> 694 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
695 Спасибо Михаилу Лалетину. 695 п║п©п╟я│п╦п╠п╬ п°п╦я┘п╟п╦п╩я┐ п⌡п╟п╩п╣я┌п╦п╫я┐.
696 </para> 696 </para>
697 <para lang="en"> 697 <para lang="en">
698 a segmentation fault might occur in a worker process, 698 a segmentation fault might occur in a worker process,
699 if the "auth_basic" directive was used.<br/> 699 if the "auth_basic" directive was used.<br/>
700 Thanks to Michail Laletin. 700 Thanks to Michail Laletin.
701 </para> 701 </para>
702 </change> 702 </change>
703 703
704 <change type="bugfix"> 704 <change type="bugfix">
705 <para lang="ru"> 705 <para lang="ru">
706 совместимость с модулем ngx_http_eval_module; 706 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_eval_module;
707 ошибка появилась в 0.8.42. 707 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.42.
708 </para> 708 </para>
709 <para lang="en"> 709 <para lang="en">
710 compatibility with ngx_http_eval_module; 710 compatibility with ngx_http_eval_module;
711 the bug had appeared in 0.8.42. 711 the bug had appeared in 0.8.42.
712 </para> 712 </para>
717 717
718 <changes ver="0.8.53" date="18.10.2010"> 718 <changes ver="0.8.53" date="18.10.2010">
719 719
720 <change type="feature"> 720 <change type="feature">
721 <para lang="ru"> 721 <para lang="ru">
722 теперь директива error_page позволяет менять код статуса у редиректа. 722 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╥п╡п╬п╩я▐п╣я┌ п╪п╣п╫я▐я┌я▄ п╨п╬п╢ я│я┌п╟я┌я┐я│п╟ я┐ я─п╣п╢п╦я─п╣п╨я┌п╟.
723 </para> 723 </para>
724 <para lang="en"> 724 <para lang="en">
725 now the "error_page" directive allows to change a status code in a redirect. 725 now the "error_page" directive allows to change a status code in a redirect.
726 </para> 726 </para>
727 </change> 727 </change>
728 728
729 <change type="feature"> 729 <change type="feature">
730 <para lang="ru"> 730 <para lang="ru">
731 директива gzip_disable поддерживает специальную маску degradation. 731 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п©п╣я├п╦п╟п╩я▄п╫я┐я▌ п╪п╟я│п╨я┐ degradation.
732 </para> 732 </para>
733 <para lang="en"> 733 <para lang="en">
734 the "gzip_disable" directive supports special "degradation" mask. 734 the "gzip_disable" directive supports special "degradation" mask.
735 </para> 735 </para>
736 </change> 736 </change>
737 737
738 <change type="bugfix"> 738 <change type="bugfix">
739 <para lang="ru"> 739 <para lang="ru">
740 при использовании файлового AIO могла происходить утечка сокетов.<br/> 740 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я└п╟п╧п╩п╬п╡п╬пЁп╬ AIO п╪п╬пЁп╩п╟ п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄ я┐я┌п╣я┤п╨п╟ я│п╬п╨п╣я┌п╬п╡.<br/>
741 Спасибо Максиму Дунину. 741 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
742 </para> 742 </para>
743 <para lang="en"> 743 <para lang="en">
744 a socket leak might occurred if file AIO was used.<br/> 744 a socket leak might occurred if file AIO was used.<br/>
745 Thanks to Maxim Dounin. 745 Thanks to Maxim Dounin.
746 </para> 746 </para>
747 </change> 747 </change>
748 748
749 <change type="bugfix"> 749 <change type="bugfix">
750 <para lang="ru"> 750 <para lang="ru">
751 если в первом сервере не была описана директива listen и нигде явно 751 п╣я│п╩п╦ п╡ п©п╣я─п╡п╬п╪ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩п╟ п╬п©п╦я│п╟п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╦ п╫п╦пЁп╢п╣ я▐п╡п╫п╬
752 не описан сервер по умолчанию, то сервером по умолчанию становился 752 п╫п╣ п╬п©п╦я│п╟п╫ я│п╣я─п╡п╣я─ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌, я┌п╬ я│п╣я─п╡п╣я─п╬п╪ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я│я┌п╟п╫п╬п╡п╦п╩я│я▐
753 следующий сервер с директивой listen; 753 я│п╩п╣п╢я┐я▌я┴п╦п╧ я│п╣я─п╡п╣я─ я│ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ listen;
754 ошибка появилась в 0.8.21. 754 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.21.
755 </para> 755 </para>
756 <para lang="en"> 756 <para lang="en">
757 if the first server had no "listen" directive and there was no explicit 757 if the first server had no "listen" directive and there was no explicit
758 default server, then a next server with a "listen" directive became 758 default server, then a next server with a "listen" directive became
759 the default server; 759 the default server;
766 766
767 <changes ver="0.8.52" date="28.09.2010"> 767 <changes ver="0.8.52" date="28.09.2010">
768 768
769 <change type="bugfix"> 769 <change type="bugfix">
770 <para lang="ru"> 770 <para lang="ru">
771 nginx использовал режим SSL для listen сокета, если для него был 771 nginx п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ я─п╣п╤п╦п╪ SSL п╢п╩я▐ listen я│п╬п╨п╣я┌п╟, п╣я│п╩п╦ п╢п╩я▐ п╫п╣пЁп╬ п╠я▀п╩
772 установлен любой listen-параметр; 772 я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╩я▌п╠п╬п╧ listen-п©п╟я─п╟п╪п╣я┌я─;
773 ошибка появилась в 0.8.51. 773 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.51.
774 </para> 774 </para>
775 <para lang="en"> 775 <para lang="en">
776 nginx used SSL mode for a listen socket if any listen option was set; 776 nginx used SSL mode for a listen socket if any listen option was set;
777 the bug had appeared in 0.8.51. 777 the bug had appeared in 0.8.51.
778 </para> 778 </para>
783 783
784 <changes ver="0.8.51" date="27.09.2010"> 784 <changes ver="0.8.51" date="27.09.2010">
785 785
786 <change type="change"> 786 <change type="change">
787 <para lang="ru"> 787 <para lang="ru">
788 директива secure_link_expires упразднена. 788 п╢п╦я─п╣п╨я┌п╦п╡п╟ secure_link_expires я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
789 </para> 789 </para>
790 <para lang="en"> 790 <para lang="en">
791 the "secure_link_expires" directive has been canceled. 791 the "secure_link_expires" directive has been canceled.
792 </para> 792 </para>
793 </change> 793 </change>
794 794
795 <change type="change"> 795 <change type="change">
796 <para lang="ru"> 796 <para lang="ru">
797 уровень логгирования ошибок resolver'а понижен с уровня alert на error. 797 я┐я─п╬п╡п╣п╫я▄ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ п╬я┬п╦п╠п╬п╨ resolver'п╟ п©п╬п╫п╦п╤п╣п╫ я│ я┐я─п╬п╡п╫я▐ alert п╫п╟ error.
798 </para> 798 </para>
799 <para lang="en"> 799 <para lang="en">
800 a logging level of resolver errors has been lowered from "alert" to "error". 800 a logging level of resolver errors has been lowered from "alert" to "error".
801 </para> 801 </para>
802 </change> 802 </change>
803 803
804 <change type="feature"> 804 <change type="feature">
805 <para lang="ru"> 805 <para lang="ru">
806 теперь параметр "ssl" listen-сокета можно устанавливать несколько раз. 806 я┌п╣п©п╣я─я▄ п©п╟я─п╟п╪п╣я┌я─ "ssl" listen-я│п╬п╨п╣я┌п╟ п╪п╬п╤п╫п╬ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ я─п╟п╥.
807 </para> 807 </para>
808 <para lang="en"> 808 <para lang="en">
809 now a listen socket "ssl" parameter may be set several times. 809 now a listen socket "ssl" parameter may be set several times.
810 </para> 810 </para>
811 </change> 811 </change>
815 815
816 <changes ver="0.8.50" date="02.09.2010"> 816 <changes ver="0.8.50" date="02.09.2010">
817 817
818 <change type="feature"> 818 <change type="feature">
819 <para lang="ru"> 819 <para lang="ru">
820 директивы secure_link, secure_link_md5 и secure_link_expires 820 п╢п╦я─п╣п╨я┌п╦п╡я▀ secure_link, secure_link_md5 п╦ secure_link_expires
821 модуля ngx_http_secure_link_module. 821 п╪п╬п╢я┐п╩я▐ ngx_http_secure_link_module.
822 </para> 822 </para>
823 <para lang="en"> 823 <para lang="en">
824 the "secure_link", "secure_link_md5", and "secure_link_expires" directives of 824 the "secure_link", "secure_link_md5", and "secure_link_expires" directives of
825 the ngx_http_secure_link_module. 825 the ngx_http_secure_link_module.
826 </para> 826 </para>
827 </change> 827 </change>
828 828
829 <change type="feature"> 829 <change type="feature">
830 <para lang="ru"> 830 <para lang="ru">
831 ключ -q.<br/> 831 п╨п╩я▌я┤ -q.<br/>
832 Спасибо Геннадию Махомеду. 832 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
833 </para> 833 </para>
834 <para lang="en"> 834 <para lang="en">
835 the -q switch.<br/> 835 the -q switch.<br/>
836 Thanks to Gena Makhomed. 836 Thanks to Gena Makhomed.
837 </para> 837 </para>
838 </change> 838 </change>
839 839
840 <change type="bugfix"> 840 <change type="bugfix">
841 <para lang="ru"> 841 <para lang="ru">
842 при использовании кэширования рабочие процессы и могли зациклиться 842 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╦ п╪п╬пЁп╩п╦ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐
843 во время переконфигурации; 843 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
844 ошибка появилась в 0.8.48. 844 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
845 </para> 845 </para>
846 <para lang="en"> 846 <para lang="en">
847 worker processes may got caught in an endless loop during reconfiguration, 847 worker processes may got caught in an endless loop during reconfiguration,
848 if a caching was used; 848 if a caching was used;
849 the bug had appeared in 0.8.48. 849 the bug had appeared in 0.8.48.
850 </para> 850 </para>
851 </change> 851 </change>
852 852
853 <change type="bugfix"> 853 <change type="bugfix">
854 <para lang="ru"> 854 <para lang="ru">
855 в директиве gzip_disable.<br/> 855 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ gzip_disable.<br/>
856 Спасибо Derrick Petzold. 856 п║п©п╟я│п╦п╠п╬ Derrick Petzold.
857 </para> 857 </para>
858 <para lang="en"> 858 <para lang="en">
859 in the "gzip_disable" directive.<br/> 859 in the "gzip_disable" directive.<br/>
860 Thanks to Derrick Petzold. 860 Thanks to Derrick Petzold.
861 </para> 861 </para>
862 </change> 862 </change>
863 863
864 <change type="bugfix"> 864 <change type="bugfix">
865 <para lang="ru"> 865 <para lang="ru">
866 nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу, 866 nginx/Windows п╫п╣ п╪п╬пЁ п©п╬я│я▀п╩п╟я┌я▄ я│п╦пЁп╫п╟п╩я▀ stop, quit, reopen, reload п©я─п╬я├п╣я│я│я┐,
867 запущенному в другой сессии. 867 п╥п╟п©я┐я┴п╣п╫п╫п╬п╪я┐ п╡ п╢я─я┐пЁп╬п╧ я│п╣я│я│п╦п╦.
868 </para> 868 </para>
869 <para lang="en"> 869 <para lang="en">
870 nginx/Windows could not send stop, quit, reopen, and reload signals 870 nginx/Windows could not send stop, quit, reopen, and reload signals
871 to a process run in other session. 871 to a process run in other session.
872 </para> 872 </para>
877 877
878 <changes ver="0.8.49" date="09.08.2010"> 878 <changes ver="0.8.49" date="09.08.2010">
879 879
880 <change type="feature"> 880 <change type="feature">
881 <para lang="ru"> 881 <para lang="ru">
882 директива image_filter_jpeg_quality поддерживает переменные. 882 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_jpeg_quality п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
883 </para> 883 </para>
884 <para lang="en"> 884 <para lang="en">
885 the "image_filter_jpeg_quality" directive supports variables. 885 the "image_filter_jpeg_quality" directive supports variables.
886 </para> 886 </para>
887 </change> 887 </change>
888 888
889 <change type="bugfix"> 889 <change type="bugfix">
890 <para lang="ru"> 890 <para lang="ru">
891 при использовании переменной $geoip_region_name 891 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $geoip_region_name
892 в рабочем процессе мог произойти segmentation fault; 892 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
893 ошибка появилась в 0.8.48. 893 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
894 </para> 894 </para>
895 <para lang="en"> 895 <para lang="en">
896 a segmentation fault might occur in a worker process, 896 a segmentation fault might occur in a worker process,
897 if the $geoip_region_name variables was used; 897 if the $geoip_region_name variables was used;
898 the bug had appeared in 0.8.48. 898 the bug had appeared in 0.8.48.
899 </para> 899 </para>
900 </change> 900 </change>
901 901
902 <change type="bugfix"> 902 <change type="bugfix">
903 <para lang="ru"> 903 <para lang="ru">
904 ошибки, перехваченные error_page, кэшировались только до следующего запроса; 904 п╬я┬п╦п╠п╨п╦, п©п╣я─п╣я┘п╡п╟я┤п╣п╫п╫я▀п╣ error_page, п╨я█я┬п╦я─п╬п╡п╟п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬ п╢п╬ я│п╩п╣п╢я┐я▌я┴п╣пЁп╬ п╥п╟п©я─п╬я│п╟;
905 ошибка появилась в 0.8.48. 905 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.48.
906 </para> 906 </para>
907 <para lang="en"> 907 <para lang="en">
908 errors intercepted by error_page were cached only for next request; 908 errors intercepted by error_page were cached only for next request;
909 the bug had appeared in 0.8.48. 909 the bug had appeared in 0.8.48.
910 </para> 910 </para>
915 915
916 <changes ver="0.8.48" date="03.08.2010"> 916 <changes ver="0.8.48" date="03.08.2010">
917 917
918 <change type="change"> 918 <change type="change">
919 <para lang="ru"> 919 <para lang="ru">
920 теперь по умолчанию директива server_name имеет значение пустое имя "".<br/> 920 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п╦п╪п╣п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ п©я┐я│я┌п╬п╣ п╦п╪я▐ "".<br/>
921 Спасибо Геннадию Махомеду. 921 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
922 </para> 922 </para>
923 <para lang="en"> 923 <para lang="en">
924 now the "server_name" directive default value is an empty name "".<br/> 924 now the "server_name" directive default value is an empty name "".<br/>
925 Thanks to Gena Makhomed. 925 Thanks to Gena Makhomed.
926 </para> 926 </para>
927 </change> 927 </change>
928 928
929 <change type="change"> 929 <change type="change">
930 <para lang="ru"> 930 <para lang="ru">
931 теперь по умолчанию директива server_name_in_redirect имеет значение off. 931 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name_in_redirect п╦п╪п╣п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ off.
932 </para> 932 </para>
933 <para lang="en"> 933 <para lang="en">
934 now the "server_name_in_redirect" directive default value is "off". 934 now the "server_name_in_redirect" directive default value is "off".
935 </para> 935 </para>
936 </change> 936 </change>
937 937
938 <change type="feature"> 938 <change type="feature">
939 <para lang="ru"> 939 <para lang="ru">
940 переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/> 940 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $geoip_dma_code, $geoip_area_code п╦ $geoip_region_name.<br/>
941 Спасибо Christine McGonagle. 941 п║п©п╟я│п╦п╠п╬ Christine McGonagle.
942 </para> 942 </para>
943 <para lang="en"> 943 <para lang="en">
944 the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/> 944 the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/>
945 Thanks to Christine McGonagle. 945 Thanks to Christine McGonagle.
946 </para> 946 </para>
947 </change> 947 </change>
948 948
949 <change type="bugfix"> 949 <change type="bugfix">
950 <para lang="ru"> 950 <para lang="ru">
951 директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались 951 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass, fastcgi_pass, uwsgi_pass п╦ scgi_pass п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄
952 в блоки limit_except. 952 п╡ п╠п╩п╬п╨п╦ limit_except.
953 </para> 953 </para>
954 <para lang="en"> 954 <para lang="en">
955 the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives 955 the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives
956 were not inherited inside "limit_except" blocks. 956 were not inherited inside "limit_except" blocks.
957 </para> 957 </para>
958 </change> 958 </change>
959 959
960 <change type="bugfix"> 960 <change type="bugfix">
961 <para lang="ru"> 961 <para lang="ru">
962 директивы proxy_cache_min_uses, fastcgi_cache_min_uses 962 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_min_uses, fastcgi_cache_min_uses
963 uwsgi_cache_min_uses и scgi_cache_min_uses не работали; 963 uwsgi_cache_min_uses п╦ scgi_cache_min_uses п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
964 ошибка появилась в 0.8.46. 964 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
965 </para> 965 </para>
966 <para lang="en"> 966 <para lang="en">
967 the "proxy_cache_min_uses", "fastcgi_cache_min_uses" 967 the "proxy_cache_min_uses", "fastcgi_cache_min_uses"
968 "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; 968 "uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work;
969 the bug had appeared in 0.8.46. 969 the bug had appeared in 0.8.46.
970 </para> 970 </para>
971 </change> 971 </change>
972 972
973 <change type="bugfix"> 973 <change type="bugfix">
974 <para lang="ru"> 974 <para lang="ru">
975 директива fastcgi_split_path_info неверно использовала выделения, 975 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_split_path_info п╫п╣п╡п╣я─п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐,
976 если в выделения попадала только часть URI.<br/> 976 п╣я│п╩п╦ п╡ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п©п╬п©п╟п╢п╟п╩п╟ я┌п╬п╩я▄п╨п╬ я┤п╟я│я┌я▄ URI.<br/>
977 Спасибо Юрию Тарадаю и Frank Enderle. 977 п║п©п╟я│п╦п╠п╬ п╝я─п╦я▌ п╒п╟я─п╟п╢п╟я▌ п╦ Frank Enderle.
978 </para> 978 </para>
979 <para lang="en"> 979 <para lang="en">
980 the "fastcgi_split_path_info" directive used incorrectly captures, 980 the "fastcgi_split_path_info" directive used incorrectly captures,
981 if only parts of an URI were captured.<br/> 981 if only parts of an URI were captured.<br/>
982 Thanks to Yuriy Taraday and Frank Enderle. 982 Thanks to Yuriy Taraday and Frank Enderle.
983 </para> 983 </para>
984 </change> 984 </change>
985 985
986 <change type="bugfix"> 986 <change type="bugfix">
987 <para lang="ru"> 987 <para lang="ru">
988 директива rewrite не экранировала символ ";" при копировании из URI 988 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╟ я│п╦п╪п╡п╬п╩ ";" п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╦п╥ URI
989 в аргументы. <br/> 989 п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀. <br/>
990 Спасибо Daisuke Murase. 990 п║п©п╟я│п╦п╠п╬ Daisuke Murase.
991 </para> 991 </para>
992 <para lang="en"> 992 <para lang="en">
993 the "rewrite" directive did not escape a ";" character during copying 993 the "rewrite" directive did not escape a ";" character during copying
994 from URI to query string.<br/> 994 from URI to query string.<br/>
995 Thanks to Daisuke Murase. 995 Thanks to Daisuke Murase.
996 </para> 996 </para>
997 </change> 997 </change>
998 998
999 <change type="bugfix"> 999 <change type="bugfix">
1000 <para lang="ru"> 1000 <para lang="ru">
1001 модуль ngx_http_image_filter_module закрывал соединение, 1001 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣,
1002 если изображение было больше размера image_filter_buffer. 1002 п╣я│п╩п╦ п╦п╥п╬п╠я─п╟п╤п╣п╫п╦п╣ п╠я▀п╩п╬ п╠п╬п╩я▄я┬п╣ я─п╟п╥п╪п╣я─п╟ image_filter_buffer.
1003 </para> 1003 </para>
1004 <para lang="en"> 1004 <para lang="en">
1005 the ngx_http_image_filter_module closed a connection, 1005 the ngx_http_image_filter_module closed a connection,
1006 if an image was larger than "image_filter_buffer" size. 1006 if an image was larger than "image_filter_buffer" size.
1007 </para> 1007 </para>
1012 1012
1013 <changes ver="0.8.47" date="28.07.2010"> 1013 <changes ver="0.8.47" date="28.07.2010">
1014 1014
1015 <change type="bugfix"> 1015 <change type="bugfix">
1016 <para lang="ru"> 1016 <para lang="ru">
1017 переменная $request_time имела неверные значения для подзапросов. 1017 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_time п╦п╪п╣п╩п╟ п╫п╣п╡п╣я─п╫я▀п╣ п╥п╫п╟я┤п╣п╫п╦я▐ п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
1018 </para> 1018 </para>
1019 <para lang="en"> 1019 <para lang="en">
1020 $request_time variable had invalid values for subrequests. 1020 $request_time variable had invalid values for subrequests.
1021 </para> 1021 </para>
1022 </change> 1022 </change>
1023 1023
1024 <change type="bugfix"> 1024 <change type="bugfix">
1025 <para lang="ru"> 1025 <para lang="ru">
1026 ошибки, перехваченные error_page, не кэшировались. 1026 п╬я┬п╦п╠п╨п╦, п©п╣я─п╣я┘п╡п╟я┤п╣п╫п╫я▀п╣ error_page, п╫п╣ п╨я█я┬п╦я─п╬п╡п╟п╩п╦я│я▄.
1027 </para> 1027 </para>
1028 <para lang="en"> 1028 <para lang="en">
1029 errors intercepted by error_page could not be cached. 1029 errors intercepted by error_page could not be cached.
1030 </para> 1030 </para>
1031 </change> 1031 </change>
1032 1032
1033 <change type="bugfix"> 1033 <change type="bugfix">
1034 <para lang="ru"> 1034 <para lang="ru">
1035 если использовался параметр max_size, то cache manager мог зациклиться; 1035 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ max_size, я┌п╬ cache manager п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
1036 ошибка появилась в 0.8.46. 1036 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.46.
1037 </para> 1037 </para>
1038 <para lang="en"> 1038 <para lang="en">
1039 a cache manager process may got caught in an endless loop, 1039 a cache manager process may got caught in an endless loop,
1040 if max_size parameter was used; 1040 if max_size parameter was used;
1041 the bug had appeared in 0.8.46. 1041 the bug had appeared in 0.8.46.
1047 1047
1048 <changes ver="0.8.46" date="19.07.2010"> 1048 <changes ver="0.8.46" date="19.07.2010">
1049 1049
1050 <change type="change"> 1050 <change type="change">
1051 <para lang="ru"> 1051 <para lang="ru">
1052 директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache 1052 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache
1053 и scgi_no_cache теперь влияют только на сохранение закэшированного ответа. 1053 п╦ scgi_no_cache я┌п╣п©п╣я─я▄ п╡п╩п╦я▐я▌я┌ я┌п╬п╩я▄п╨п╬ п╫п╟ я│п╬я┘я─п╟п╫п╣п╫п╦п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟.
1054 </para> 1054 </para>
1055 <para lang="en"> 1055 <para lang="en">
1056 now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and 1056 now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and
1057 "scgi_no_cache" directives affect on a cached response saving only. 1057 "scgi_no_cache" directives affect on a cached response saving only.
1058 </para> 1058 </para>
1059 </change> 1059 </change>
1060 1060
1061 <change type="feature"> 1061 <change type="feature">
1062 <para lang="ru"> 1062 <para lang="ru">
1063 директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass 1063 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass
1064 и scgi_cache_bypass. 1064 п╦ scgi_cache_bypass.
1065 </para> 1065 </para>
1066 <para lang="en"> 1066 <para lang="en">
1067 the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", 1067 the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass",
1068 and "scgi_cache_bypass" directives. 1068 and "scgi_cache_bypass" directives.
1069 </para> 1069 </para>
1070 </change> 1070 </change>
1071 1071
1072 <change type="bugfix"> 1072 <change type="bugfix">
1073 <para lang="ru"> 1073 <para lang="ru">
1074 nginx не освобождал память в keys_zone кэшей в случае ошибки работы с 1074 nginx п╫п╣ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩ п©п╟п╪я▐я┌я▄ п╡ keys_zone п╨я█я┬п╣п╧ п╡ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ я─п╟п╠п╬я┌я▀ я│
1075 бэкендом: память освобождалась только по истечении времени неактивности 1075 п╠я█п╨п╣п╫п╢п╬п╪: п©п╟п╪я▐я┌я▄ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩п╟я│я▄ я┌п╬п╩я▄п╨п╬ п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ п╡я─п╣п╪п╣п╫п╦ п╫п╣п╟п╨я┌п╦п╡п╫п╬я│я┌п╦
1076 или при недостатке памяти. 1076 п╦п╩п╦ п©я─п╦ п╫п╣п╢п╬я│я┌п╟я┌п╨п╣ п©п╟п╪я▐я┌п╦.
1077 </para> 1077 </para>
1078 <para lang="en"> 1078 <para lang="en">
1079 nginx did not free memory in cache keys zones if there was an error 1079 nginx did not free memory in cache keys zones if there was an error
1080 during working with backend: the memory was freed only after inactivity 1080 during working with backend: the memory was freed only after inactivity
1081 time or on memory low condition. 1081 time or on memory low condition.
1087 1087
1088 <changes ver="0.8.45" date="13.07.2010"> 1088 <changes ver="0.8.45" date="13.07.2010">
1089 1089
1090 <change type="feature"> 1090 <change type="feature">
1091 <para lang="ru"> 1091 <para lang="ru">
1092 улучшения в модуле ngx_http_xslt_filter.<br/> 1092 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_filter.<br/>
1093 Спасибо Laurence Rowe. 1093 п║п©п╟я│п╦п╠п╬ Laurence Rowe.
1094 </para> 1094 </para>
1095 <para lang="en"> 1095 <para lang="en">
1096 ngx_http_xslt_filter improvements.<br/> 1096 ngx_http_xslt_filter improvements.<br/>
1097 Thanks to Laurence Rowe. 1097 Thanks to Laurence Rowe.
1098 </para> 1098 </para>
1099 </change> 1099 </change>
1100 1100
1101 <change type="bugfix"> 1101 <change type="bugfix">
1102 <para lang="ru"> 1102 <para lang="ru">
1103 ответ SSI модуля мог передаваться не полностью после команды include 1103 п╬я┌п╡п╣я┌ SSI п╪п╬п╢я┐п╩я▐ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╬я│п╩п╣ п╨п╬п╪п╟п╫п╢я▀ include
1104 с параметром wait="yes"; 1104 я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait="yes";
1105 ошибка появилась в 0.7.25. <br/> 1105 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25. <br/>
1106 Спасибо Максиму Дунину. 1106 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1107 </para> 1107 </para>
1108 <para lang="en"> 1108 <para lang="en">
1109 SSI response might be truncated after include with wait="yes"; 1109 SSI response might be truncated after include with wait="yes";
1110 the bug had appeared in 0.7.25.<br/> 1110 the bug had appeared in 0.7.25.<br/>
1111 Thanks to Maxim Dounin. 1111 Thanks to Maxim Dounin.
1112 </para> 1112 </para>
1113 </change> 1113 </change>
1114 1114
1115 <change type="bugfix"> 1115 <change type="bugfix">
1116 <para lang="ru"> 1116 <para lang="ru">
1117 директива listen не поддерживала параметр setfib=0. 1117 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ п©п╟я─п╟п╪п╣я┌я─ setfib=0.
1118 </para> 1118 </para>
1119 <para lang="en"> 1119 <para lang="en">
1120 the "listen" directive did not support the "setfib=0" parameter. 1120 the "listen" directive did not support the "setfib=0" parameter.
1121 </para> 1121 </para>
1122 </change> 1122 </change>
1126 1126
1127 <changes ver="0.8.44" date="05.07.2010"> 1127 <changes ver="0.8.44" date="05.07.2010">
1128 1128
1129 <change type="change"> 1129 <change type="change">
1130 <para lang="ru"> 1130 <para lang="ru">
1131 теперь nginx по умолчанию не кэширует ответы бэкендов, 1131 я┌п╣п©п╣я─я▄ nginx п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ п╨я█я┬п╦я─я┐п╣я┌ п╬я┌п╡п╣я┌я▀ п╠я█п╨п╣п╫п╢п╬п╡,
1132 в заголовке которых есть строка "Set-Cookie". 1132 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╨п╬я┌п╬я─я▀я┘ п╣я│я┌я▄ я│я┌я─п╬п╨п╟ "Set-Cookie".
1133 </para> 1133 </para>
1134 <para lang="en"> 1134 <para lang="en">
1135 now nginx does not cache by default backend responses, 1135 now nginx does not cache by default backend responses,
1136 if they have a "Set-Cookie" header line. 1136 if they have a "Set-Cookie" header line.
1137 </para> 1137 </para>
1138 </change> 1138 </change>
1139 1139
1140 <change type="feature"> 1140 <change type="feature">
1141 <para lang="ru"> 1141 <para lang="ru">
1142 директива listen поддерживает параметр setfib.<br/> 1142 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ setfib.<br/>
1143 Спасибо Андрею Филонову. 1143 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п╓п╦п╩п╬п╫п╬п╡я┐.
1144 </para> 1144 </para>
1145 <para lang="en"> 1145 <para lang="en">
1146 the "listen" directive supports the "setfib" parameter.<br/> 1146 the "listen" directive supports the "setfib" parameter.<br/>
1147 Thanks to Andrew Filonov. 1147 Thanks to Andrew Filonov.
1148 </para> 1148 </para>
1149 </change> 1149 </change>
1150 1150
1151 <change type="bugfix"> 1151 <change type="bugfix">
1152 <para lang="ru"> 1152 <para lang="ru">
1153 директива sub_filter могла изменять регистр букв при частичном совпадении. 1153 п╢п╦я─п╣п╨я┌п╦п╡п╟ sub_filter п╪п╬пЁп╩п╟ п╦п╥п╪п╣п╫я▐я┌я▄ я─п╣пЁп╦я│я┌я─ п╠я┐п╨п╡ п©я─п╦ я┤п╟я│я┌п╦я┤п╫п╬п╪ я│п╬п╡п©п╟п╢п╣п╫п╦п╦.
1154 </para> 1154 </para>
1155 <para lang="en"> 1155 <para lang="en">
1156 the "sub_filter" directive might change character case on partial match. 1156 the "sub_filter" directive might change character case on partial match.
1157 </para> 1157 </para>
1158 </change> 1158 </change>
1159 1159
1160 <change type="bugfix"> 1160 <change type="bugfix">
1161 <para lang="ru"> 1161 <para lang="ru">
1162 совместимость с HP/UX. 1162 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ HP/UX.
1163 </para> 1163 </para>
1164 <para lang="en"> 1164 <para lang="en">
1165 compatibility with HP/UX. 1165 compatibility with HP/UX.
1166 </para> 1166 </para>
1167 </change> 1167 </change>
1168 1168
1169 <change type="bugfix"> 1169 <change type="bugfix">
1170 <para lang="ru"> 1170 <para lang="ru">
1171 совместимость с компилятором AIX xlC_r. 1171 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ AIX xlC_r.
1172 </para> 1172 </para>
1173 <para lang="en"> 1173 <para lang="en">
1174 compatibility with AIX xlC_r compiler. 1174 compatibility with AIX xlC_r compiler.
1175 </para> 1175 </para>
1176 </change> 1176 </change>
1177 1177
1178 <change type="bugfix"> 1178 <change type="bugfix">
1179 <para lang="ru"> 1179 <para lang="ru">
1180 nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/> 1180 nginx я│я┤п╦я┌п╟п╩ п╠п╬п╩я▄я┬п╦п╣ п©п╟п╨п╣я┌я▀ SSLv2 п╨п╟п╨ п╬п╠я▀я┤п╫я▀п╣ я┌п╣п╨я│я┌п╬п╡я▀п╣ п╥п╟п©я─п╬я│я▀.<br/>
1181 Спасибо Miroslaw Jaworski. 1181 п║п©п╟я│п╦п╠п╬ Miroslaw Jaworski.
1182 </para> 1182 </para>
1183 <para lang="en"> 1183 <para lang="en">
1184 nginx treated large SSLv2 packets as plain requests.<br/> 1184 nginx treated large SSLv2 packets as plain requests.<br/>
1185 Thanks to Miroslaw Jaworski. 1185 Thanks to Miroslaw Jaworski.
1186 </para> 1186 </para>
1191 1191
1192 <changes ver="0.8.43" date="30.06.2010"> 1192 <changes ver="0.8.43" date="30.06.2010">
1193 1193
1194 <change type="feature"> 1194 <change type="feature">
1195 <para lang="ru"> 1195 <para lang="ru">
1196 ускорение загрузки больших баз geo-диапазонов. 1196 я┐я│п╨п╬я─п╣п╫п╦п╣ п╥п╟пЁя─я┐п╥п╨п╦ п╠п╬п╩я▄я┬п╦я┘ п╠п╟п╥ geo-п╢п╦п╟п©п╟п╥п╬п╫п╬п╡.
1197 </para> 1197 </para>
1198 <para lang="en"> 1198 <para lang="en">
1199 large geo ranges base loading speed-up. 1199 large geo ranges base loading speed-up.
1200 </para> 1200 </para>
1201 </change> 1201 </change>
1202 1202
1203 <change type="bugfix"> 1203 <change type="bugfix">
1204 <para lang="ru"> 1204 <para lang="ru">
1205 перенаправление ошибки в "location /zero {return 204;}" без изменения 1205 п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╨п╦ п╡ "location /zero {return 204;}" п╠п╣п╥ п╦п╥п╪п╣п╫п╣п╫п╦я▐
1206 кода ответа оставляло тело ошибки; 1206 п╨п╬п╢п╟ п╬я┌п╡п╣я┌п╟ п╬я│я┌п╟п╡п╩я▐п╩п╬ я┌п╣п╩п╬ п╬я┬п╦п╠п╨п╦;
1207 ошибка появилась в 0.8.42. 1207 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.42.
1208 </para> 1208 </para>
1209 <para lang="en"> 1209 <para lang="en">
1210 an error_page redirection to "location /zero {return 204;}" without 1210 an error_page redirection to "location /zero {return 204;}" without
1211 changing status code kept the error body; 1211 changing status code kept the error body;
1212 the bug had appeared in 0.8.42. 1212 the bug had appeared in 0.8.42.
1213 </para> 1213 </para>
1214 </change> 1214 </change>
1215 1215
1216 <change type="bugfix"> 1216 <change type="bugfix">
1217 <para lang="ru"> 1217 <para lang="ru">
1218 nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/> 1218 nginx п╪п╬пЁ п╥п╟п╨я─я▀п╡п╟я┌я▄ IPv6 listen я│п╬п╨п╣я┌ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
1219 Спасибо Максиму Дунину. 1219 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1220 </para> 1220 </para>
1221 <para lang="en"> 1221 <para lang="en">
1222 nginx might close IPv6 listen socket during reconfiguration.<br/> 1222 nginx might close IPv6 listen socket during reconfiguration.<br/>
1223 Thanks to Maxim Dounin. 1223 Thanks to Maxim Dounin.
1224 </para> 1224 </para>
1225 </change> 1225 </change>
1226 1226
1227 <change type="bugfix"> 1227 <change type="bugfix">
1228 <para lang="ru"> 1228 <para lang="ru">
1229 переменную $uid_set можно использовать на любой стадии обработки запроса. 1229 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $uid_set п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╟ п╩я▌п╠п╬п╧ я│я┌п╟п╢п╦п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╥п╟п©я─п╬я│п╟.
1230 </para> 1230 </para>
1231 <para lang="en"> 1231 <para lang="en">
1232 the $uid_set variable may be used at any request processing stage. 1232 the $uid_set variable may be used at any request processing stage.
1233 </para> 1233 </para>
1234 </change> 1234 </change>
1238 1238
1239 <changes ver="0.8.42" date="21.06.2010"> 1239 <changes ver="0.8.42" date="21.06.2010">
1240 1240
1241 <change type="change"> 1241 <change type="change">
1242 <para lang="ru"> 1242 <para lang="ru">
1243 теперь nginx проверяет location'ы, заданные регулярными выражениями, 1243 я┌п╣п©п╣я─я▄ nginx п©я─п╬п╡п╣я─я▐п╣я┌ location'я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦,
1244 если запрос полностью совпал с location'ом, заданным строкой префикса. 1244 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п©п╬п╩п╫п╬я│я┌я▄я▌ я│п╬п╡п©п╟п╩ я│ location'п╬п╪, п╥п╟п╢п╟п╫п╫я▀п╪ я│я┌я─п╬п╨п╬п╧ п©я─п╣я└п╦п╨я│п╟.
1245 Предыдущее поведение появилось в 0.7.1. 1245 п÷я─п╣п╢я▀п╢я┐я┴п╣п╣ п©п╬п╡п╣п╢п╣п╫п╦п╣ п©п╬я▐п╡п╦п╩п╬я│я▄ п╡ 0.7.1.
1246 </para> 1246 </para>
1247 <para lang="en"> 1247 <para lang="en">
1248 now nginx tests locations given by regular expressions, 1248 now nginx tests locations given by regular expressions,
1249 if request was matched exactly by a location given by a prefix string. 1249 if request was matched exactly by a location given by a prefix string.
1250 The previous behavior has been introduced in 0.7.1. 1250 The previous behavior has been introduced in 0.7.1.
1251 </para> 1251 </para>
1252 </change> 1252 </change>
1253 1253
1254 <change type="feature"> 1254 <change type="feature">
1255 <para lang="ru"> 1255 <para lang="ru">
1256 модуль ngx_http_scgi_module.<br/> 1256 п╪п╬п╢я┐п╩я▄ ngx_http_scgi_module.<br/>
1257 Спасибо Manlio Perillo. 1257 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
1258 </para> 1258 </para>
1259 <para lang="en"> 1259 <para lang="en">
1260 the ngx_http_scgi_module.<br/> 1260 the ngx_http_scgi_module.<br/>
1261 Thanks to Manlio Perillo. 1261 Thanks to Manlio Perillo.
1262 </para> 1262 </para>
1263 </change> 1263 </change>
1264 1264
1265 <change type="feature"> 1265 <change type="feature">
1266 <para lang="ru"> 1266 <para lang="ru">
1267 в директиве return можно добавлять текст ответа. 1267 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╪п╬п╤п╫п╬ п╢п╬п╠п╟п╡п╩я▐я┌я▄ я┌п╣п╨я│я┌ п╬я┌п╡п╣я┌п╟.
1268 </para> 1268 </para>
1269 <para lang="en"> 1269 <para lang="en">
1270 a text answer may be added to a "return" directive. 1270 a text answer may be added to a "return" directive.
1271 </para> 1271 </para>
1272 </change> 1272 </change>
1276 1276
1277 <changes ver="0.8.41" date="15.06.2010"> 1277 <changes ver="0.8.41" date="15.06.2010">
1278 1278
1279 <change type="security"> 1279 <change type="security">
1280 <para lang="ru"> 1280 <para lang="ru">
1281 рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла 1281 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ nginx/Windows п╪п╬пЁ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ п╟п╡п╟я─п╦п╧п╫п╬ п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟
1282 с неверной кодировкой UTF-8. 1282 я│ п╫п╣п╡п╣я─п╫п╬п╧ п╨п╬п╢п╦я─п╬п╡п╨п╬п╧ UTF-8.
1283 </para> 1283 </para>
1284 <para lang="en"> 1284 <para lang="en">
1285 nginx/Windows worker might be terminated abnormally if a requested file name 1285 nginx/Windows worker might be terminated abnormally if a requested file name
1286 has invalid UTF-8 encoding. 1286 has invalid UTF-8 encoding.
1287 </para> 1287 </para>
1288 </change> 1288 </change>
1289 1289
1290 <change type="change"> 1290 <change type="change">
1291 <para lang="ru"> 1291 <para lang="ru">
1292 теперь nginx разрешает использовать пробелы в строке запроса. 1292 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п©я─п╬п╠п╣п╩я▀ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟.
1293 </para> 1293 </para>
1294 <para lang="en"> 1294 <para lang="en">
1295 now nginx allows to use spaces in a request line. 1295 now nginx allows to use spaces in a request line.
1296 </para> 1296 </para>
1297 </change> 1297 </change>
1298 1298
1299 <change type="bugfix"> 1299 <change type="bugfix">
1300 <para lang="ru"> 1300 <para lang="ru">
1301 директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке 1301 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_redirect п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╦п╥п╪п╣п╫я▐п╩п╟ я│я┌я─п╬п╨я┐ "Refresh" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣
1302 ответа бэкенда.<br/> 1302 п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.<br/>
1303 Спасибо Андрею Андрееву и Максиму Согину. 1303 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п░п╫п╢я─п╣п╣п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п║п╬пЁп╦п╫я┐.
1304 </para> 1304 </para>
1305 <para lang="en"> 1305 <para lang="en">
1306 the "proxy_redirect" directive changed incorrectly a backend "Refresh" 1306 the "proxy_redirect" directive changed incorrectly a backend "Refresh"
1307 response header line.<br/> 1307 response header line.<br/>
1308 Thanks to Andrey Andreew and Max Sogin. 1308 Thanks to Andrey Andreew and Max Sogin.
1309 </para> 1309 </para>
1310 </change> 1310 </change>
1311 1311
1312 <change type="bugfix"> 1312 <change type="bugfix">
1313 <para lang="ru"> 1313 <para lang="ru">
1314 nginx не поддерживал путь без имени хоста в 1314 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©я┐я┌я▄ п╠п╣п╥ п╦п╪п╣п╫п╦ я┘п╬я│я┌п╟ п╡
1315 строке "Destination" в заголовке запроса. 1315 я│я┌я─п╬п╨п╣ "Destination" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
1316 </para> 1316 </para>
1317 <para lang="en"> 1317 <para lang="en">
1318 nginx did not support path without host name 1318 nginx did not support path without host name
1319 in "Destination" request header line. 1319 in "Destination" request header line.
1320 </para> 1320 </para>
1325 1325
1326 <changes ver="0.8.40" date="07.06.2010"> 1326 <changes ver="0.8.40" date="07.06.2010">
1327 1327
1328 <change type="security"> 1328 <change type="security">
1329 <para lang="ru"> 1329 <para lang="ru">
1330 теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/> 1330 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╦п╪я▐ п©п╬я┌п╬п╨п╟ я└п╟п╧п╩п╟ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.<br/>
1331 Спасибо Jose Antonio Vazquez Gonzalez. 1331 п║п©п╟я│п╦п╠п╬ Jose Antonio Vazquez Gonzalez.
1332 </para> 1332 </para>
1333 <para lang="en"> 1333 <para lang="en">
1334 now nginx/Windows ignores default file stream name.<br/> 1334 now nginx/Windows ignores default file stream name.<br/>
1335 Thanks to Jose Antonio Vazquez Gonzalez. 1335 Thanks to Jose Antonio Vazquez Gonzalez.
1336 </para> 1336 </para>
1337 </change> 1337 </change>
1338 1338
1339 <change type="feature"> 1339 <change type="feature">
1340 <para lang="ru"> 1340 <para lang="ru">
1341 модуль ngx_http_uwsgi_module.<br/> 1341 п╪п╬п╢я┐п╩я▄ ngx_http_uwsgi_module.<br/>
1342 Спасибо Roberto De Ioris. 1342 п║п©п╟я│п╦п╠п╬ Roberto De Ioris.
1343 </para> 1343 </para>
1344 <para lang="en"> 1344 <para lang="en">
1345 the ngx_http_uwsgi_module.<br/> 1345 the ngx_http_uwsgi_module.<br/>
1346 Thanks to Roberto De Ioris. 1346 Thanks to Roberto De Ioris.
1347 </para> 1347 </para>
1348 </change> 1348 </change>
1349 1349
1350 <change type="feature"> 1350 <change type="feature">
1351 <para lang="ru"> 1351 <para lang="ru">
1352 директива fastcgi_param со значением, начинающимся со строки "HTTP_", 1352 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_param я│п╬ п╥п╫п╟я┤п╣п╫п╦п╣п╪, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╪я│я▐ я│п╬ я│я┌я─п╬п╨п╦ "HTTP_",
1353 изменяет строку заголовка в запросе клиента. 1353 п╦п╥п╪п╣п╫я▐п╣я┌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╡ п╥п╟п©я─п╬я│п╣ п╨п╩п╦п╣п╫я┌п╟.
1354 </para> 1354 </para>
1355 <para lang="en"> 1355 <para lang="en">
1356 a "fastcgi_param" directive with value starting with "HTTP_" overrides 1356 a "fastcgi_param" directive with value starting with "HTTP_" overrides
1357 a client request header line. 1357 a client request header line.
1358 </para> 1358 </para>
1359 </change> 1359 </change>
1360 1360
1361 <change type="bugfix"> 1361 <change type="bugfix">
1362 <para lang="ru"> 1362 <para lang="ru">
1363 строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 1363 я│я┌я─п╬п╨п╦ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
1364 клиента передавались FastCGI-серверу при кэшировании. 1364 п╨п╩п╦п╣п╫я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ FastCGI-я│п╣я─п╡п╣я─я┐ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
1365 </para> 1365 </para>
1366 <para lang="en"> 1366 <para lang="en">
1367 the "If-Modified-Since", "If-Range", etc. client request header lines 1367 the "If-Modified-Since", "If-Range", etc. client request header lines
1368 were passed to FastCGI-server while caching. 1368 were passed to FastCGI-server while caching.
1369 </para> 1369 </para>
1370 </change> 1370 </change>
1371 1371
1372 <change type="bugfix"> 1372 <change type="bugfix">
1373 <para lang="ru"> 1373 <para lang="ru">
1374 listen unix domain сокет нельзя было изменить во время переконфигурации.<br/> 1374 listen unix domain я│п╬п╨п╣я┌ п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п╦п╥п╪п╣п╫п╦я┌я▄ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.<br/>
1375 Спасибо Максиму Дунину. 1375 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1376 </para> 1376 </para>
1377 <para lang="en"> 1377 <para lang="en">
1378 listen unix domain socket could not be changed during reconfiguration.<br/> 1378 listen unix domain socket could not be changed during reconfiguration.<br/>
1379 Thanks to Maxim Dounin. 1379 Thanks to Maxim Dounin.
1380 </para> 1380 </para>
1385 1385
1386 <changes ver="0.8.39" date="31.05.2010"> 1386 <changes ver="0.8.39" date="31.05.2010">
1387 1387
1388 <change type="bugfix"> 1388 <change type="bugfix">
1389 <para lang="ru"> 1389 <para lang="ru">
1390 наследуемая директива alias неправильно работала во вложенном location'е. 1390 п╫п╟я│п╩п╣п╢я┐п╣п╪п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ alias п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟ п╡п╬ п╡п╩п╬п╤п╣п╫п╫п╬п╪ location'п╣.
1391 </para> 1391 </para>
1392 <para lang="en"> 1392 <para lang="en">
1393 an inherited "alias" directive worked incorrectly in inclusive location. 1393 an inherited "alias" directive worked incorrectly in inclusive location.
1394 </para> 1394 </para>
1395 </change> 1395 </change>
1396 1396
1397 <change type="bugfix"> 1397 <change type="bugfix">
1398 <para lang="ru"> 1398 <para lang="ru">
1399 в комбинации директив alias с переменными и try_files; 1399 п╡ п╨п╬п╪п╠п╦п╫п╟я├п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ alias я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╦ try_files;
1400 </para> 1400 </para>
1401 <para lang="en"> 1401 <para lang="en">
1402 in "alias" with variables and "try_files" directives combination. 1402 in "alias" with variables and "try_files" directives combination.
1403 </para> 1403 </para>
1404 </change> 1404 </change>
1405 1405
1406 <change type="bugfix"> 1406 <change type="bugfix">
1407 <para lang="ru"> 1407 <para lang="ru">
1408 listen unix domain и IPv6 сокеты не наследовались во время обновления 1408 listen unix domain п╦ IPv6 я│п╬п╨п╣я┌я▀ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐
1409 без перерыва.<br/> 1409 п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.<br/>
1410 Спасибо Максиму Дунину. 1410 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1411 </para> 1411 </para>
1412 <para lang="en"> 1412 <para lang="en">
1413 listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/> 1413 listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/>
1414 Thanks to Maxim Dounin. 1414 Thanks to Maxim Dounin.
1415 </para> 1415 </para>
1420 1420
1421 <changes ver="0.8.38" date="24.05.2010"> 1421 <changes ver="0.8.38" date="24.05.2010">
1422 1422
1423 <change type="feature"> 1423 <change type="feature">
1424 <para lang="ru"> 1424 <para lang="ru">
1425 директивы proxy_no_cache и fastcgi_no_cache. 1425 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_no_cache п╦ fastcgi_no_cache.
1426 </para> 1426 </para>
1427 <para lang="en"> 1427 <para lang="en">
1428 the "proxy_no_cache" and "fastcgi_no_cache" directives. 1428 the "proxy_no_cache" and "fastcgi_no_cache" directives.
1429 </para> 1429 </para>
1430 </change> 1430 </change>
1431 1431
1432 <change type="feature"> 1432 <change type="feature">
1433 <para lang="ru"> 1433 <para lang="ru">
1434 теперь при использовании переменной $scheme в директиве rewrite 1434 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $scheme п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite
1435 автоматически делается редирект.<br/> 1435 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╦ п╢п╣п╩п╟п╣я┌я│я▐ я─п╣п╢п╦я─п╣п╨я┌.<br/>
1436 Спасибо Piotr Sikora. 1436 п║п©п╟я│п╦п╠п╬ Piotr Sikora.
1437 </para> 1437 </para>
1438 <para lang="en"> 1438 <para lang="en">
1439 now the "rewrite" directive does a redirect automatically 1439 now the "rewrite" directive does a redirect automatically
1440 if the $scheme variable is used.<br/> 1440 if the $scheme variable is used.<br/>
1441 Thanks to Piotr Sikora. 1441 Thanks to Piotr Sikora.
1442 </para> 1442 </para>
1443 </change> 1443 </change>
1444 1444
1445 <change type="bugfix"> 1445 <change type="bugfix">
1446 <para lang="ru"> 1446 <para lang="ru">
1447 теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/> 1447 я┌п╣п©п╣я─я▄ п╥п╟п╢п╣я─п╤п╨п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ limit_req я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌ п╬п©п╦я│п╟п╫п╫п╬п╪я┐ п╟п╩пЁп╬я─п╦я┌п╪я┐.<br/>
1448 Спасибо Максиму Дунину. 1448 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1449 </para> 1449 </para>
1450 <para lang="en"> 1450 <para lang="en">
1451 now "limit_req" delay directive conforms to the described algorithm.<br/> 1451 now "limit_req" delay directive conforms to the described algorithm.<br/>
1452 Thanks to Maxim Dounin. 1452 Thanks to Maxim Dounin.
1453 </para> 1453 </para>
1454 </change> 1454 </change>
1455 1455
1456 <change type="bugfix"> 1456 <change type="bugfix">
1457 <para lang="ru"> 1457 <para lang="ru">
1458 переменную $uid_got нельзя было использовать в SSI и перловом модулях. 1458 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $uid_got п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡ SSI п╦ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩я▐я┘.
1459 </para> 1459 </para>
1460 <para lang="en"> 1460 <para lang="en">
1461 the $uid_got variable might not be used in the SSI and perl modules. 1461 the $uid_got variable might not be used in the SSI and perl modules.
1462 </para> 1462 </para>
1463 </change> 1463 </change>
1467 1467
1468 <changes ver="0.8.37" date="17.05.2010"> 1468 <changes ver="0.8.37" date="17.05.2010">
1469 1469
1470 <change type="feature"> 1470 <change type="feature">
1471 <para lang="ru"> 1471 <para lang="ru">
1472 модуль ngx_http_split_clients_module. 1472 п╪п╬п╢я┐п╩я▄ ngx_http_split_clients_module.
1473 </para> 1473 </para>
1474 <para lang="en"> 1474 <para lang="en">
1475 the ngx_http_split_clients_module. 1475 the ngx_http_split_clients_module.
1476 </para> 1476 </para>
1477 </change> 1477 </change>
1478 1478
1479 <change type="feature"> 1479 <change type="feature">
1480 <para lang="ru"> 1480 <para lang="ru">
1481 директива map поддерживает ключи больше 255 символов. 1481 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╩я▌я┤п╦ п╠п╬п╩я▄я┬п╣ 255 я│п╦п╪п╡п╬п╩п╬п╡.
1482 </para> 1482 </para>
1483 <para lang="en"> 1483 <para lang="en">
1484 the "map" directive supports keys more than 255 characters. 1484 the "map" directive supports keys more than 255 characters.
1485 </para> 1485 </para>
1486 </change> 1486 </change>
1487 1487
1488 <change type="bugfix"> 1488 <change type="bugfix">
1489 <para lang="ru"> 1489 <para lang="ru">
1490 nginx игнорировал значения "private" и "no-store" в строке "Cache-Control" 1490 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╥п╫п╟я┤п╣п╫п╦я▐ "private" п╦ "no-store" п╡ я│я┌я─п╬п╨п╣ "Cache-Control"
1491 в заголовке ответа бэкенда. 1491 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
1492 </para> 1492 </para>
1493 <para lang="en"> 1493 <para lang="en">
1494 nginx ignored the "private" and "no-store" values 1494 nginx ignored the "private" and "no-store" values
1495 in the "Cache-Control" backend response header line. 1495 in the "Cache-Control" backend response header line.
1496 </para> 1496 </para>
1497 </change> 1497 </change>
1498 1498
1499 <change type="bugfix"> 1499 <change type="bugfix">
1500 <para lang="ru"> 1500 <para lang="ru">
1501 параметр stub в SSI-директиве include не использовался, 1501 п©п╟я─п╟п╪п╣я┌я─ stub п╡ SSI-п╢п╦я─п╣п╨я┌п╦п╡п╣ include п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐,
1502 если пустой ответ имел код 200. 1502 п╣я│п╩п╦ п©я┐я│я┌п╬п╧ п╬я┌п╡п╣я┌ п╦п╪п╣п╩ п╨п╬п╢ 200.
1503 </para> 1503 </para>
1504 <para lang="en"> 1504 <para lang="en">
1505 a "stub" parameter of an "include" SSI directive was not used, 1505 a "stub" parameter of an "include" SSI directive was not used,
1506 if empty response has 200 status code. 1506 if empty response has 200 status code.
1507 </para> 1507 </para>
1508 </change> 1508 </change>
1509 1509
1510 <change type="bugfix"> 1510 <change type="bugfix">
1511 <para lang="ru"> 1511 <para lang="ru">
1512 если проксированный или FastCGI запрос внутренне перенаправлялся 1512 п╣я│п╩п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI п╥п╟п©я─п╬я│ п╡п╫я┐я┌я─п╣п╫п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩я│я▐
1513 в другой проксированный или FastCGI location, 1513 п╡ п╢я─я┐пЁп╬п╧ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI location,
1514 то в рабочем процессе мог произойти segmentation fault; 1514 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
1515 ошибка появилась в 0.8.33.<br/> 1515 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.33.<br/>
1516 Спасибо Yichun Zhang. 1516 п║п©п╟я│п╦п╠п╬ Yichun Zhang.
1517 </para> 1517 </para>
1518 <para lang="en"> 1518 <para lang="en">
1519 if a proxied or FastCGI request was internally redirected 1519 if a proxied or FastCGI request was internally redirected
1520 to another proxied or FastCGI location, 1520 to another proxied or FastCGI location,
1521 then a segmentation fault might occur in a worker process; 1521 then a segmentation fault might occur in a worker process;
1524 </para> 1524 </para>
1525 </change> 1525 </change>
1526 1526
1527 <change type="bugfix"> 1527 <change type="bugfix">
1528 <para lang="ru"> 1528 <para lang="ru">
1529 соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/> 1529 я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ IMAP п╨ я│п╣я─п╡п╣я─я┐ Zimbra п╪п╬пЁп╩п╬ п╥п╟п╡п╦я│п╫я┐я┌я▄ п╢п╬ я┌п╟п╧п╪п╟я┐я┌п╟.<br/>
1530 Спасибо Alan Batie. 1530 п║п©п╟я│п╦п╠п╬ Alan Batie.
1531 </para> 1531 </para>
1532 <para lang="en"> 1532 <para lang="en">
1533 IMAP connections may hang until they timed out 1533 IMAP connections may hang until they timed out
1534 while talking to Zimbra server.<br/> 1534 while talking to Zimbra server.<br/>
1535 Thanks to Alan Batie. 1535 Thanks to Alan Batie.
1541 1541
1542 <changes ver="0.8.36" date="22.04.2010"> 1542 <changes ver="0.8.36" date="22.04.2010">
1543 1543
1544 <change type="bugfix"> 1544 <change type="bugfix">
1545 <para lang="ru"> 1545 <para lang="ru">
1546 модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE 1546 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╪п╣я┌п╬п╢я▀ DELETE, COPY п╦ MOVE
1547 для симлинков. 1547 п╢п╩я▐ я│п╦п╪п╩п╦п╫п╨п╬п╡.
1548 </para> 1548 </para>
1549 <para lang="en"> 1549 <para lang="en">
1550 the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods 1550 the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods
1551 for symlinks. 1551 for symlinks.
1552 </para> 1552 </para>
1553 </change> 1553 </change>
1554 1554
1555 <change type="bugfix"> 1555 <change type="bugfix">
1556 <para lang="ru"> 1556 <para lang="ru">
1557 модуль SSI в подзапросах использовал закэшированные в основном запросе 1557 п╪п╬п╢я┐п╩я▄ SSI п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╣ п╡ п╬я│п╫п╬п╡п╫п╬п╪ п╥п╟п©я─п╬я│п╣
1558 значения переменных $query_string, $arg_... и им подобных. 1558 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $query_string, $arg_... п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀я┘.
1559 </para> 1559 </para>
1560 <para lang="en"> 1560 <para lang="en">
1561 values of the $query_string, $arg_..., etc. variables cached in main 1561 values of the $query_string, $arg_..., etc. variables cached in main
1562 request were used by the SSI module in subrequests. 1562 request were used by the SSI module in subrequests.
1563 </para> 1563 </para>
1564 </change> 1564 </change>
1565 1565
1566 <change type="bugfix"> 1566 <change type="bugfix">
1567 <para lang="ru"> 1567 <para lang="ru">
1568 значение переменной повторно экранировалось после каждого вывода 1568 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п©п╬п╡я┌п╬я─п╫п╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╬я│я▄ п©п╬я│п╩п╣ п╨п╟п╤п╢п╬пЁп╬ п╡я▀п╡п╬п╢п╟
1569 SSI-команды echo; 1569 SSI-п╨п╬п╪п╟п╫п╢я▀ echo;
1570 ошибка появилась в 0.6.14. 1570 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.14.
1571 </para> 1571 </para>
1572 <para lang="en"> 1572 <para lang="en">
1573 a variable value was repeatedly encoded after each 1573 a variable value was repeatedly encoded after each
1574 an "echo" SSI-command output; 1574 an "echo" SSI-command output;
1575 the bug had appeared in 0.6.14. 1575 the bug had appeared in 0.6.14.
1576 </para> 1576 </para>
1577 </change> 1577 </change>
1578 1578
1579 <change type="bugfix"> 1579 <change type="bugfix">
1580 <para lang="ru"> 1580 <para lang="ru">
1581 рабочий процесс зависал при запросе файла FIFO.<br/> 1581 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╥п╟п╡п╦я│п╟п╩ п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟ FIFO.<br/>
1582 Спасибо Vicente Aguilar и Максиму Дунину. 1582 п║п©п╟я│п╦п╠п╬ Vicente Aguilar п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1583 </para> 1583 </para>
1584 <para lang="en"> 1584 <para lang="en">
1585 a worker process hung if a FIFO file was requested.<br/> 1585 a worker process hung if a FIFO file was requested.<br/>
1586 Thanks to Vicente Aguilar and Maxim Dounin. 1586 Thanks to Vicente Aguilar and Maxim Dounin.
1587 </para> 1587 </para>
1588 </change> 1588 </change>
1589 1589
1590 <change type="bugfix"> 1590 <change type="bugfix">
1591 <para lang="ru"> 1591 <para lang="ru">
1592 совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/> 1592 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ OpenSSL-1.0.0 п╫п╟ 64-п╠п╦я┌п╫п╬п╪ Linux.<br/>
1593 Спасибо Максиму Дунину. 1593 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1594 </para> 1594 </para>
1595 <para lang="en"> 1595 <para lang="en">
1596 OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/> 1596 OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/>
1597 Thanks to Maxim Dounin. 1597 Thanks to Maxim Dounin.
1598 </para> 1598 </para>
1599 </change> 1599 </change>
1600 1600
1601 <change type="bugfix"> 1601 <change type="bugfix">
1602 <para lang="ru"> 1602 <para lang="ru">
1603 nginx не собирался с параметром --without-http-cache; 1603 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
1604 ошибка появилась в 0.8.35. 1604 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.35.
1605 </para> 1605 </para>
1606 <para lang="en"> 1606 <para lang="en">
1607 nginx could not be built --without-http-cache; 1607 nginx could not be built --without-http-cache;
1608 the bug had appeared in 0.8.35. 1608 the bug had appeared in 0.8.35.
1609 </para> 1609 </para>
1614 1614
1615 <changes ver="0.8.35" date="01.04.2010"> 1615 <changes ver="0.8.35" date="01.04.2010">
1616 1616
1617 <change type="change"> 1617 <change type="change">
1618 <para lang="ru"> 1618 <para lang="ru">
1619 теперь charset-фильтр работает до SSI-фильтра. 1619 я┌п╣п©п╣я─я▄ charset-я└п╦п╩я▄я┌я─ я─п╟п╠п╬я┌п╟п╣я┌ п╢п╬ SSI-я└п╦п╩я▄я┌я─п╟.
1620 </para> 1620 </para>
1621 <para lang="en"> 1621 <para lang="en">
1622 now the charset filter runs before the SSI filter. 1622 now the charset filter runs before the SSI filter.
1623 </para> 1623 </para>
1624 </change> 1624 </change>
1625 1625
1626 <change type="feature"> 1626 <change type="feature">
1627 <para lang="ru"> 1627 <para lang="ru">
1628 директива chunked_transfer_encoding. 1628 п╢п╦я─п╣п╨я┌п╦п╡п╟ chunked_transfer_encoding.
1629 </para> 1629 </para>
1630 <para lang="en"> 1630 <para lang="en">
1631 the "chunked_transfer_encoding" directive. 1631 the "chunked_transfer_encoding" directive.
1632 </para> 1632 </para>
1633 </change> 1633 </change>
1634 1634
1635 <change type="bugfix"> 1635 <change type="bugfix">
1636 <para lang="ru"> 1636 <para lang="ru">
1637 символ "&amp;" при копировании в аргументы в правилах rewrite не экранировался. 1637 я│п╦п╪п╡п╬п╩ "&amp;" п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╡ п©я─п╟п╡п╦п╩п╟я┘ rewrite п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩я│я▐.
1638 </para> 1638 </para>
1639 <para lang="en"> 1639 <para lang="en">
1640 an "&amp;" character was not escaped when it was copied in arguments part 1640 an "&amp;" character was not escaped when it was copied in arguments part
1641 in a rewrite rule. 1641 in a rewrite rule.
1642 </para> 1642 </para>
1643 </change> 1643 </change>
1644 1644
1645 <change type="bugfix"> 1645 <change type="bugfix">
1646 <para lang="ru"> 1646 <para lang="ru">
1647 nginx мог завершаться аварийно во время обработки сигнала или 1647 nginx п╪п╬пЁ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ п╟п╡п╟я─п╦п╧п╫п╬ п╡п╬ п╡я─п╣п╪я▐ п╬п╠я─п╟п╠п╬я┌п╨п╦ я│п╦пЁп╫п╟п╩п╟ п╦п╩п╦
1648 при использовании директивы timer_resolution на платформах, 1648 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ timer_resolution п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘,
1649 не поддерживающих методы kqueue или eventport.<br/> 1649 п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ п╪п╣я┌п╬п╢я▀ kqueue п╦п╩п╦ eventport.<br/>
1650 Спасибо George Xie и Максиму Дунину. 1650 п║п©п╟я│п╦п╠п╬ George Xie п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1651 </para> 1651 </para>
1652 <para lang="en"> 1652 <para lang="en">
1653 nginx might be terminated abnormally 1653 nginx might be terminated abnormally
1654 while a signal processing or if the directive "timer_resolution" was used 1654 while a signal processing or if the directive "timer_resolution" was used
1655 on platforms which do not support kqueue or eventport notification methods.<br/> 1655 on platforms which do not support kqueue or eventport notification methods.<br/>
1657 </para> 1657 </para>
1658 </change> 1658 </change>
1659 1659
1660 <change type="bugfix"> 1660 <change type="bugfix">
1661 <para lang="ru"> 1661 <para lang="ru">
1662 если временные файлы и постоянное место хранения располагались на разных 1662 п╣я│п╩п╦ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╦ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐ я─п╟я│п©п╬п╩п╟пЁп╟п╩п╦я│я▄ п╫п╟ я─п╟п╥п╫я▀я┘
1663 файловых системах, то у постоянных файлов время изменения было неверным.<br/> 1663 я└п╟п╧п╩п╬п╡я▀я┘ я│п╦я│я┌п╣п╪п╟я┘, я┌п╬ я┐ п©п╬я│я┌п╬я▐п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡я─п╣п╪я▐ п╦п╥п╪п╣п╫п╣п╫п╦я▐ п╠я▀п╩п╬ п╫п╣п╡п╣я─п╫я▀п╪.<br/>
1664 Спасибо Максиму Дунину. 1664 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1665 </para> 1665 </para>
1666 <para lang="en"> 1666 <para lang="en">
1667 if temporary files and permanent storage area resided at different 1667 if temporary files and permanent storage area resided at different
1668 file systems, then permanent file modification times were incorrect.<br/> 1668 file systems, then permanent file modification times were incorrect.<br/>
1669 Thanks to Maxim Dounin. 1669 Thanks to Maxim Dounin.
1670 </para> 1670 </para>
1671 </change> 1671 </change>
1672 1672
1673 <change type="bugfix"> 1673 <change type="bugfix">
1674 <para lang="ru"> 1674 <para lang="ru">
1675 модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid 1675 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┬п╦п╠п╨я┐ "memcached sent invalid
1676 trailer".<br/> 1676 trailer".<br/>
1677 Спасибо Максиму Дунину. 1677 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1678 </para> 1678 </para>
1679 <para lang="en"> 1679 <para lang="en">
1680 ngx_http_memcached_module might issue the error message "memcached sent invalid 1680 ngx_http_memcached_module might issue the error message "memcached sent invalid
1681 trailer".<br/> 1681 trailer".<br/>
1682 Thanks to Maxim Dounin. 1682 Thanks to Maxim Dounin.
1683 </para> 1683 </para>
1684 </change> 1684 </change>
1685 1685
1686 <change type="bugfix"> 1686 <change type="bugfix">
1687 <para lang="ru"> 1687 <para lang="ru">
1688 nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/> 1688 nginx п╫п╣ п╪п╬пЁ я│п╬п╠я─п╟я┌я▄ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ zlib-1.2.4 п╦п╥ п╦я│я┘п╬п╢п╫я▀я┘ я┌п╣п╨я│я┌п╬п╡.<br/>
1689 Спасибо Максиму Дунину. 1689 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1690 </para> 1690 </para>
1691 <para lang="en"> 1691 <para lang="en">
1692 nginx could not built zlib-1.2.4 library using the library sources.<br/> 1692 nginx could not built zlib-1.2.4 library using the library sources.<br/>
1693 Thanks to Maxim Dounin. 1693 Thanks to Maxim Dounin.
1694 </para> 1694 </para>
1695 </change> 1695 </change>
1696 1696
1697 <change type="bugfix"> 1697 <change type="bugfix">
1698 <para lang="ru"> 1698 <para lang="ru">
1699 в рабочем процессе происходил segmentation fault, 1699 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
1700 если перед ответом FastCGI-сервера было много вывода в stderr; 1700 п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ FastCGI-я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╬ п╪п╫п╬пЁп╬ п╡я▀п╡п╬п╢п╟ п╡ stderr;
1701 ошибка появилась в 0.8.34.<br/> 1701 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.34.<br/>
1702 Спасибо Максиму Дунину. 1702 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1703 </para> 1703 </para>
1704 <para lang="en"> 1704 <para lang="en">
1705 a segmentation fault occurred in a worker process, 1705 a segmentation fault occurred in a worker process,
1706 if there was large stderr output before FastCGI response; 1706 if there was large stderr output before FastCGI response;
1707 the bug had appeared in 0.8.34.<br/> 1707 the bug had appeared in 0.8.34.<br/>
1714 1714
1715 <changes ver="0.8.34" date="03.03.2010"> 1715 <changes ver="0.8.34" date="03.03.2010">
1716 1716
1717 <change type="bugfix"> 1717 <change type="bugfix">
1718 <para lang="ru"> 1718 <para lang="ru">
1719 nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/> 1719 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╡я│п╣ я┬п╦я└я─я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╡ п╨п╩п╦п╣п╫я┌я│п╨п╦я┘ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟я┘.<br/>
1720 Спасибо Иннокентию Еникееву. 1720 п║п©п╟я│п╦п╠п╬ п≤п╫п╫п╬п╨п╣п╫я┌п╦я▌ п∙п╫п╦п╨п╣п╣п╡я┐.
1721 </para> 1721 </para>
1722 <para lang="en"> 1722 <para lang="en">
1723 nginx did not support all ciphers and digests used in client certificates.<br/> 1723 nginx did not support all ciphers and digests used in client certificates.<br/>
1724 Thanks to Innocenty Enikeew. 1724 Thanks to Innocenty Enikeew.
1725 </para> 1725 </para>
1726 </change> 1726 </change>
1727 1727
1728 <change type="bugfix"> 1728 <change type="bugfix">
1729 <para lang="ru"> 1729 <para lang="ru">
1730 nginx неправильно кэшировал FastCGI-ответы, если перед ответом было 1730 nginx п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╨я█я┬п╦я─п╬п╡п╟п╩ FastCGI-п╬я┌п╡п╣я┌я▀, п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ п╠я▀п╩п╬
1731 много вывода в stderr. 1731 п╪п╫п╬пЁп╬ п╡я▀п╡п╬п╢п╟ п╡ stderr.
1732 </para> 1732 </para>
1733 <para lang="en"> 1733 <para lang="en">
1734 nginx cached incorrectly FastCGI responses if there was large stderr output 1734 nginx cached incorrectly FastCGI responses if there was large stderr output
1735 before response. 1735 before response.
1736 </para> 1736 </para>
1737 </change> 1737 </change>
1738 1738
1739 <change type="bugfix"> 1739 <change type="bugfix">
1740 <para lang="ru"> 1740 <para lang="ru">
1741 nginx не поддерживал HTTPS-рефереры. 1741 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ HTTPS-я─п╣я└п╣я─п╣я─я▀.
1742 </para> 1742 </para>
1743 <para lang="en"> 1743 <para lang="en">
1744 nginx did not support HTTPS referrers. 1744 nginx did not support HTTPS referrers.
1745 </para> 1745 </para>
1746 </change> 1746 </change>
1747 1747
1748 <change type="bugfix"> 1748 <change type="bugfix">
1749 <para lang="ru"> 1749 <para lang="ru">
1750 nginx/Windows мог не находить файлы, если путь в конфигурации был задан 1750 nginx/Windows п╪п╬пЁ п╫п╣ п╫п╟я┘п╬п╢п╦я┌я▄ я└п╟п╧п╩я▀, п╣я│п╩п╦ п©я┐я┌я▄ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╠я▀п╩ п╥п╟п╢п╟п╫
1751 в другом регистре; 1751 п╡ п╢я─я┐пЁп╬п╪ я─п╣пЁп╦я│я┌я─п╣;
1752 ошибка появилась в 0.8.33. 1752 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.33.
1753 </para> 1753 </para>
1754 <para lang="en"> 1754 <para lang="en">
1755 nginx/Windows might not find file if path in configuration was given 1755 nginx/Windows might not find file if path in configuration was given
1756 in other character case; 1756 in other character case;
1757 the bug had appeared in 0.8.33. 1757 the bug had appeared in 0.8.33.
1758 </para> 1758 </para>
1759 </change> 1759 </change>
1760 1760
1761 <change type="bugfix"> 1761 <change type="bugfix">
1762 <para lang="ru"> 1762 <para lang="ru">
1763 переменная $date_local выдавала неверное время, 1763 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $date_local п╡я▀п╢п╟п╡п╟п╩п╟ п╫п╣п╡п╣я─п╫п╬п╣ п╡я─п╣п╪я▐,
1764 если использовался формат "%s".<br/> 1764 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я└п╬я─п╪п╟я┌ "%s".<br/>
1765 Спасибо Максиму Дунину. 1765 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1766 </para> 1766 </para>
1767 <para lang="en"> 1767 <para lang="en">
1768 the $date_local variable has an incorrect value, 1768 the $date_local variable has an incorrect value,
1769 if the "%s" format was used.<br/> 1769 if the "%s" format was used.<br/>
1770 Thanks to Maxim Dounin. 1770 Thanks to Maxim Dounin.
1771 </para> 1771 </para>
1772 </change> 1772 </change>
1773 1773
1774 <change type="bugfix"> 1774 <change type="bugfix">
1775 <para lang="ru"> 1775 <para lang="ru">
1776 если ssl_session_cache не был установлен или установлен в none, 1776 п╣я│п╩п╦ ssl_session_cache п╫п╣ п╠я▀п╩ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╦п╩п╦ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╡ none,
1777 то при проверке клиентского сертификаты могла происходить 1777 я┌п╬ п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌я▀ п╪п╬пЁп╩п╟ п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄
1778 ошибка "session id context uninitialized"; 1778 п╬я┬п╦п╠п╨п╟ "session id context uninitialized";
1779 ошибка появилась в 0.7.1. 1779 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.
1780 </para> 1780 </para>
1781 <para lang="en"> 1781 <para lang="en">
1782 if ssl_session_cache was not set or was set to "none", 1782 if ssl_session_cache was not set or was set to "none",
1783 then during client certificate verify 1783 then during client certificate verify
1784 the error "session id context uninitialized" might occur; 1784 the error "session id context uninitialized" might occur;
1786 </para> 1786 </para>
1787 </change> 1787 </change>
1788 1788
1789 <change type="bugfix"> 1789 <change type="bugfix">
1790 <para lang="ru"> 1790 <para lang="ru">
1791 geo-диапазон возвращал значение по умолчанию, если диапазон включал 1791 geo-п╢п╦п╟п©п╟п╥п╬п╫ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌, п╣я│п╩п╦ п╢п╦п╟п©п╟п╥п╬п╫ п╡п╨п╩я▌я┤п╟п╩
1792 в себя одну и более сетей размером /16 и не начинался на границе сети 1792 п╡ я│п╣п╠я▐ п╬п╢п╫я┐ п╦ п╠п╬п╩п╣п╣ я│п╣я┌п╣п╧ я─п╟п╥п╪п╣я─п╬п╪ /16 п╦ п╫п╣ п╫п╟я┤п╦п╫п╟п╩я│я▐ п╫п╟ пЁя─п╟п╫п╦я├п╣ я│п╣я┌п╦
1793 размером /16. 1793 я─п╟п╥п╪п╣я─п╬п╪ /16.
1794 </para> 1794 </para>
1795 <para lang="en"> 1795 <para lang="en">
1796 a geo range returned default value if the range included two or more 1796 a geo range returned default value if the range included two or more
1797 /16 networks and did not begin at /16 network boundary. 1797 /16 networks and did not begin at /16 network boundary.
1798 </para> 1798 </para>
1799 </change> 1799 </change>
1800 1800
1801 <change type="bugfix"> 1801 <change type="bugfix">
1802 <para lang="ru"> 1802 <para lang="ru">
1803 блок, используемый в параметре stub в SSI-директиве include, 1803 п╠п╩п╬п╨, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╧ п╡ п©п╟я─п╟п╪п╣я┌я─п╣ stub п╡ SSI-п╢п╦я─п╣п╨я┌п╦п╡п╣ include,
1804 выводился с MIME-типом "text/plain". 1804 п╡я▀п╡п╬п╢п╦п╩я│я▐ я│ MIME-я┌п╦п©п╬п╪ "text/plain".
1805 </para> 1805 </para>
1806 <para lang="en"> 1806 <para lang="en">
1807 a block used in a "stub" parameter of an "include" SSI directive 1807 a block used in a "stub" parameter of an "include" SSI directive
1808 was output with "text/plain" MIME type. 1808 was output with "text/plain" MIME type.
1809 </para> 1809 </para>
1810 </change> 1810 </change>
1811 1811
1812 <change type="bugfix"> 1812 <change type="bugfix">
1813 <para lang="ru"> 1813 <para lang="ru">
1814 $r->sleep() не работал; 1814 $r->sleep() п╫п╣ я─п╟п╠п╬я┌п╟п╩;
1815 ошибка появилась в 0.8.11. 1815 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
1816 </para> 1816 </para>
1817 <para lang="en"> 1817 <para lang="en">
1818 $r->sleep() did not work; 1818 $r->sleep() did not work;
1819 the bug had appeared in 0.8.11. 1819 the bug had appeared in 0.8.11.
1820 </para> 1820 </para>
1825 1825
1826 <changes ver="0.8.33" date="01.02.2010"> 1826 <changes ver="0.8.33" date="01.02.2010">
1827 1827
1828 <change type="security"> 1828 <change type="security">
1829 <para lang="ru"> 1829 <para lang="ru">
1830 теперь nginx/Windows игнорирует пробелы в конце URI. <br/> 1830 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п©я─п╬п╠п╣п╩я▀ п╡ п╨п╬п╫я├п╣ URI. <br/>
1831 Спасибо Dan Crowley, Core Security Technologies. 1831 п║п©п╟я│п╦п╠п╬ Dan Crowley, Core Security Technologies.
1832 </para> 1832 </para>
1833 <para lang="en"> 1833 <para lang="en">
1834 now nginx/Windows ignores trailing spaces in URI.<br/> 1834 now nginx/Windows ignores trailing spaces in URI.<br/>
1835 Thanks to Dan Crowley, Core Security Technologies. 1835 Thanks to Dan Crowley, Core Security Technologies.
1836 </para> 1836 </para>
1837 </change> 1837 </change>
1838 1838
1839 <change type="security"> 1839 <change type="security">
1840 <para lang="ru"> 1840 <para lang="ru">
1841 теперь nginx/Windows игнорирует короткие имена файлов. <br/> 1841 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╨п╬я─п╬я┌п╨п╦п╣ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡. <br/>
1842 Спасибо Dan Crowley, Core Security Technologies. 1842 п║п©п╟я│п╦п╠п╬ Dan Crowley, Core Security Technologies.
1843 </para> 1843 </para>
1844 <para lang="en"> 1844 <para lang="en">
1845 now nginx/Windows ignores short files names.<br/> 1845 now nginx/Windows ignores short files names.<br/>
1846 Thanks to Dan Crowley, Core Security Technologies. 1846 Thanks to Dan Crowley, Core Security Technologies.
1847 </para> 1847 </para>
1848 </change> 1848 </change>
1849 1849
1850 <change type="change"> 1850 <change type="change">
1851 <para lang="ru"> 1851 <para lang="ru">
1852 теперь keepalive соединения после запросов POST не запрещаются для 1852 я┌п╣п©п╣я─я▄ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п©п╬я│п╩п╣ п╥п╟п©я─п╬я│п╬п╡ POST п╫п╣ п╥п╟п©я─п╣я┴п╟я▌я┌я│я▐ п╢п╩я▐
1853 MSIE 7.0+.<br/> 1853 MSIE 7.0+.<br/>
1854 Спасибо Adam Lounds. 1854 п║п©п╟я│п╦п╠п╬ Adam Lounds.
1855 </para> 1855 </para>
1856 <para lang="en"> 1856 <para lang="en">
1857 now keepalive connections after POST requests are not disabled for 1857 now keepalive connections after POST requests are not disabled for
1858 MSIE 7.0+.<br/> 1858 MSIE 7.0+.<br/>
1859 Thanks to Adam Lounds. 1859 Thanks to Adam Lounds.
1860 </para> 1860 </para>
1861 </change> 1861 </change>
1862 1862
1863 <change type="workaround"> 1863 <change type="workaround">
1864 <para lang="ru"> 1864 <para lang="ru">
1865 теперь keepalive соединения запрещены для Safari.<br/> 1865 я┌п╣п©п╣я─я▄ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╥п╟п©я─п╣я┴п╣п╫я▀ п╢п╩я▐ Safari.<br/>
1866 Спасибо Joshua Sierles. 1866 п║п©п╟я│п╦п╠п╬ Joshua Sierles.
1867 </para> 1867 </para>
1868 <para lang="en"> 1868 <para lang="en">
1869 now keepalive connections are disabled for Safari.<br/> 1869 now keepalive connections are disabled for Safari.<br/>
1870 Thanks to Joshua Sierles. 1870 Thanks to Joshua Sierles.
1871 </para> 1871 </para>
1872 </change> 1872 </change>
1873 1873
1874 <change type="bugfix"> 1874 <change type="bugfix">
1875 <para lang="ru"> 1875 <para lang="ru">
1876 если проксированный или FastCGI запрос внутренне перенаправлялся 1876 п╣я│п╩п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI п╥п╟п©я─п╬я│ п╡п╫я┐я┌я─п╣п╫п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩я│я▐
1877 в другой проксированный или FastCGI location, то переменная 1877 п╡ п╢я─я┐пЁп╬п╧ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╧ п╦п╩п╦ FastCGI location, я┌п╬ п©п╣я─п╣п╪п╣п╫п╫п╟я▐
1878 $upstream_response_time могла иметь ненормально большое значение; 1878 $upstream_response_time п╪п╬пЁп╩п╟ п╦п╪п╣я┌я▄ п╫п╣п╫п╬я─п╪п╟п╩я▄п╫п╬ п╠п╬п╩я▄я┬п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣;
1879 ошибка появилась в 0.8.7. 1879 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.7.
1880 </para> 1880 </para>
1881 <para lang="en"> 1881 <para lang="en">
1882 if a proxied or FastCGI request was internally redirected 1882 if a proxied or FastCGI request was internally redirected
1883 to another proxied or FastCGI location, 1883 to another proxied or FastCGI location,
1884 then $upstream_response_time variable may have abnormally large value; 1884 then $upstream_response_time variable may have abnormally large value;
1886 </para> 1886 </para>
1887 </change> 1887 </change>
1888 1888
1889 <change type="bugfix"> 1889 <change type="bugfix">
1890 <para lang="ru"> 1890 <para lang="ru">
1891 в рабочем процессе мог произойти segmentation fault 1891 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
1892 при отбрасывания тела запроса; 1892 п©я─п╦ п╬я┌п╠я─п╟я│я▀п╡п╟п╫п╦я▐ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟;
1893 ошибка появилась в 0.8.11. 1893 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
1894 </para> 1894 </para>
1895 <para lang="en"> 1895 <para lang="en">
1896 a segmentation fault might occur in a worker process, 1896 a segmentation fault might occur in a worker process,
1897 while discarding a request body; 1897 while discarding a request body;
1898 the bug had appeared in 0.8.11. 1898 the bug had appeared in 0.8.11.
1904 1904
1905 <changes ver="0.8.32" date="11.01.2010"> 1905 <changes ver="0.8.32" date="11.01.2010">
1906 1906
1907 <change type="bugfix"> 1907 <change type="bugfix">
1908 <para lang="ru"> 1908 <para lang="ru">
1909 ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/> 1909 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╡ ngx_http_autoindex_module.<br/>
1910 Спасибо Максиму Дунину. 1910 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1911 </para> 1911 </para>
1912 <para lang="en"> 1912 <para lang="en">
1913 UTF-8 encoding usage in the ngx_http_autoindex_module.<br/> 1913 UTF-8 encoding usage in the ngx_http_autoindex_module.<br/>
1914 Thanks to Maxim Dounin. 1914 Thanks to Maxim Dounin.
1915 </para> 1915 </para>
1916 </change> 1916 </change>
1917 1917
1918 <change type="bugfix"> 1918 <change type="bugfix">
1919 <para lang="ru"> 1919 <para lang="ru">
1920 именованные выделения в регулярных выражениях работали только для 1920 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ я─п╟п╠п╬я┌п╟п╩п╦ я┌п╬п╩я▄п╨п╬ п╢п╩я▐
1921 двух переменных.<br/> 1921 п╢п╡я┐я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘.<br/>
1922 Спасибо Максиму Дунину. 1922 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1923 </para> 1923 </para>
1924 <para lang="en"> 1924 <para lang="en">
1925 regular expression named captures worked for two names only. <br/> 1925 regular expression named captures worked for two names only. <br/>
1926 Thanks to Maxim Dounin. 1926 Thanks to Maxim Dounin.
1927 </para> 1927 </para>
1928 </change> 1928 </change>
1929 1929
1930 <change type="bugfix"> 1930 <change type="bugfix">
1931 <para lang="ru"> 1931 <para lang="ru">
1932 теперь в строке заголовка запроса "Host" используется имя "localhost", 1932 я┌п╣п©п╣я─я▄ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host" п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╦п╪я▐ "localhost",
1933 если в директиве auth_http указан unix domain сокет.<br/> 1933 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_http я┐п╨п╟п╥п╟п╫ unix domain я│п╬п╨п╣я┌.<br/>
1934 Спасибо Максиму Дунину. 1934 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
1935 </para> 1935 </para>
1936 <para lang="en"> 1936 <para lang="en">
1937 now the "localhost" name is used in the "Host" request header line, 1937 now the "localhost" name is used in the "Host" request header line,
1938 if an unix domain socket is defined in the "auth_http" directive.<br/> 1938 if an unix domain socket is defined in the "auth_http" directive.<br/>
1939 Thanks to Maxim Dounin. 1939 Thanks to Maxim Dounin.
1940 </para> 1940 </para>
1941 </change> 1941 </change>
1942 1942
1943 <change type="bugfix"> 1943 <change type="bugfix">
1944 <para lang="ru"> 1944 <para lang="ru">
1945 nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/> 1945 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╣я─п╣п╢п╟я┤я┐ chunk'п╟п╪п╦ п╢п╩я▐ 201-я▀я┘ п╬я┌п╡п╣я┌п╬п╡.<br/>
1946 Спасибо Julian Reich. 1946 п║п©п╟я│п╦п╠п╬ Julian Reich.
1947 </para> 1947 </para>
1948 <para lang="en"> 1948 <para lang="en">
1949 nginx did not support chunked transfer encoding for 201 responses.<br/> 1949 nginx did not support chunked transfer encoding for 201 responses.<br/>
1950 Thanks to Julian Reich. 1950 Thanks to Julian Reich.
1951 </para> 1951 </para>
1952 </change> 1952 </change>
1953 1953
1954 <change type="bugfix"> 1954 <change type="bugfix">
1955 <para lang="ru"> 1955 <para lang="ru">
1956 если директива "expires modified" выставляла дату в прошлом, то в строке 1956 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ "expires modified" п╡я▀я│я┌п╟п╡п╩я▐п╩п╟ п╢п╟я┌я┐ п╡ п©я─п╬я┬п╩п╬п╪, я┌п╬ п╡ я│я┌я─п╬п╨п╣
1957 заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/> 1957 п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Cache-Control" п╡я▀п╢п╟п╡п╟п╩п╬я│я▄ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫п╬п╣ я┤п╦я│п╩п╬.<br/>
1958 Спасибо Алексею Капранову. 1958 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╣я▌ п п╟п©я─п╟п╫п╬п╡я┐.
1959 </para> 1959 </para>
1960 <para lang="en"> 1960 <para lang="en">
1961 if the "expires modified" set date in the past, then a negative number 1961 if the "expires modified" set date in the past, then a negative number
1962 was set in the "Cache-Control" response header line. <br/> 1962 was set in the "Cache-Control" response header line. <br/>
1963 Thanks to Alex Kapranoff. 1963 Thanks to Alex Kapranoff.
1969 1969
1970 <changes ver="0.8.31" date="23.12.2009"> 1970 <changes ver="0.8.31" date="23.12.2009">
1971 1971
1972 <change type="feature"> 1972 <change type="feature">
1973 <para lang="ru"> 1973 <para lang="ru">
1974 теперь директива error_page может перенаправлять ответы со статусом 301 и 302. 1974 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╪п╬п╤п╣я┌ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐я┌я▄ п╬я┌п╡п╣я┌я▀ я│п╬ я│я┌п╟я┌я┐я│п╬п╪ 301 п╦ 302.
1975 </para> 1975 </para>
1976 <para lang="en"> 1976 <para lang="en">
1977 now the "error_page" directive may redirect the 301 and 302 responses. 1977 now the "error_page" directive may redirect the 301 and 302 responses.
1978 </para> 1978 </para>
1979 </change> 1979 </change>
1980 1980
1981 <change type="feature"> 1981 <change type="feature">
1982 <para lang="ru"> 1982 <para lang="ru">
1983 переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/> 1983 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $geoip_city_continent_code, $geoip_latitude п╦ $geoip_longitude.<br/>
1984 Спасибо Arvind Sundararajan. 1984 п║п©п╟я│п╦п╠п╬ Arvind Sundararajan.
1985 </para> 1985 </para>
1986 <para lang="en"> 1986 <para lang="en">
1987 the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude 1987 the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude
1988 variables.<br/> 1988 variables.<br/>
1989 Thanks to Arvind Sundararajan. 1989 Thanks to Arvind Sundararajan.
1990 </para> 1990 </para>
1991 </change> 1991 </change>
1992 1992
1993 <change type="feature"> 1993 <change type="feature">
1994 <para lang="ru"> 1994 <para lang="ru">
1995 модуль ngx_http_image_filter_module теперь всегда удаляет 1995 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ я┐п╢п╟п╩я▐п╣я┌
1996 EXIF и другие данные, если они занимают больше 5% в JPEG-файле. 1996 EXIF п╦ п╢я─я┐пЁп╦п╣ п╢п╟п╫п╫я▀п╣, п╣я│п╩п╦ п╬п╫п╦ п╥п╟п╫п╦п╪п╟я▌я┌ п╠п╬п╩я▄я┬п╣ 5% п╡ JPEG-я└п╟п╧п╩п╣.
1997 </para> 1997 </para>
1998 <para lang="en"> 1998 <para lang="en">
1999 now the ngx_http_image_filter_module deletes always EXIF and other 1999 now the ngx_http_image_filter_module deletes always EXIF and other
2000 application specific data if the data consume more than 5% of a JPEG file. 2000 application specific data if the data consume more than 5% of a JPEG file.
2001 </para> 2001 </para>
2002 </change> 2002 </change>
2003 2003
2004 <change type="bugfix"> 2004 <change type="bugfix">
2005 <para lang="ru"> 2005 <para lang="ru">
2006 nginx закрывал соединение при запросе закэшированного 2006 nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п©я─п╦ п╥п╟п©я─п╬я│п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬пЁп╬
2007 ответа с пустым телом.<br/> 2007 п╬я┌п╡п╣я┌п╟ я│ п©я┐я│я┌я▀п╪ я┌п╣п╩п╬п╪.<br/>
2008 Спасибо Piotr Sikora. 2008 п║п©п╟я│п╦п╠п╬ Piotr Sikora.
2009 </para> 2009 </para>
2010 <para lang="en"> 2010 <para lang="en">
2011 nginx closed a connection if a cached response had an empty body.<br/> 2011 nginx closed a connection if a cached response had an empty body.<br/>
2012 Thanks to Piotr Sikora. 2012 Thanks to Piotr Sikora.
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 мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/> 2018 nginx п╪п╬пЁ п╫п╣ я│п╬п╠п╦я─п╟я┌я▄я│я▐ gcc 4.x п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╦ -O2 п╦ п╡я▀я┬п╣.<br/>
2019 Спасибо Максиму Дунину и Денису Латыпову. 2019 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐ п╦ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
2020 </para> 2020 </para>
2021 <para lang="en"> 2021 <para lang="en">
2022 nginx might not be built by gcc 4.x if the -O2 or higher optimization option 2022 nginx might not be built by gcc 4.x if the -O2 or higher optimization option
2023 was used.<br/> 2023 was used.<br/>
2024 Thanks to Maxim Dounin and Denis F. Latypoff. 2024 Thanks to Maxim Dounin and Denis F. Latypoff.
2025 </para> 2025 </para>
2026 </change> 2026 </change>
2027 2027
2028 <change type="bugfix"> 2028 <change type="bugfix">
2029 <para lang="ru"> 2029 <para lang="ru">
2030 регулярные выражения в location всегда тестировались с учётом регистра; 2030 я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╡ location п╡я│п╣пЁп╢п╟ я┌п╣я│я┌п╦я─п╬п╡п╟п╩п╦я│я▄ я│ я┐я┤я▒я┌п╬п╪ я─п╣пЁп╦я│я┌я─п╟;
2031 ошибка появилась в 0.8.25. 2031 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2032 </para> 2032 </para>
2033 <para lang="en"> 2033 <para lang="en">
2034 regular expressions in location were always tested in case-sensitive mode; 2034 regular expressions in location were always tested in case-sensitive mode;
2035 the bug had appeared in 0.8.25. 2035 the bug had appeared in 0.8.25.
2036 </para> 2036 </para>
2037 </change> 2037 </change>
2038 2038
2039 <change type="bugfix"> 2039 <change type="bugfix">
2040 <para lang="ru"> 2040 <para lang="ru">
2041 nginx кэшировал 304 ответ, если в заголовке проксируемого запроса 2041 nginx п╨я█я┬п╦я─п╬п╡п╟п╩ 304 п╬я┌п╡п╣я┌, п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п©я─п╬п╨я│п╦я─я┐п╣п╪п╬пЁп╬ п╥п╟п©я─п╬я│п╟
2042 была строка "If-None-Match".<br/> 2042 п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ "If-None-Match".<br/>
2043 Спасибо Tim Dettrick и David Kostal. 2043 п║п©п╟я│п╦п╠п╬ Tim Dettrick п╦ David Kostal.
2044 </para> 2044 </para>
2045 <para lang="en"> 2045 <para lang="en">
2046 nginx cached a 304 response if there was the "If-None-Match" header line 2046 nginx cached a 304 response if there was the "If-None-Match" header line
2047 in a proxied request.<br/> 2047 in a proxied request.<br/>
2048 Thanks to Tim Dettrick and David Kostal. 2048 Thanks to Tim Dettrick and David Kostal.
2049 </para> 2049 </para>
2050 </change> 2050 </change>
2051 2051
2052 <change type="bugfix"> 2052 <change type="bugfix">
2053 <para lang="ru"> 2053 <para lang="ru">
2054 nginx/Windows пытался дважды удалить временный файл 2054 nginx/Windows п©я▀я┌п╟п╩я│я▐ п╢п╡п╟п╤п╢я▀ я┐п╢п╟п╩п╦я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
2055 при перезаписи уже существующего файла. 2055 п©я─п╦ п©п╣я─п╣п╥п╟п©п╦я│п╦ я┐п╤п╣ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╣пЁп╬ я└п╟п╧п╩п╟.
2056 </para> 2056 </para>
2057 <para lang="en"> 2057 <para lang="en">
2058 nginx/Windows tried to delete a temporary file twice 2058 nginx/Windows tried to delete a temporary file twice
2059 if the file should replace an already existent file. 2059 if the file should replace an already existent file.
2060 </para> 2060 </para>
2065 2065
2066 <changes ver="0.8.30" date="15.12.2009"> 2066 <changes ver="0.8.30" date="15.12.2009">
2067 2067
2068 <change type="change"> 2068 <change type="change">
2069 <para lang="ru"> 2069 <para lang="ru">
2070 теперь по умолчанию размер буфера директивы large_client_header_buffers 2070 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я─п╟п╥п╪п╣я─ п╠я┐я└п╣я─п╟ п╢п╦я─п╣п╨я┌п╦п╡я▀ large_client_header_buffers
2071 равен 8K.<br/> 2071 я─п╟п╡п╣п╫ 8K.<br/>
2072 Спасибо Andrew Cholakian. 2072 п║п©п╟я│п╦п╠п╬ Andrew Cholakian.
2073 </para> 2073 </para>
2074 <para lang="en"> 2074 <para lang="en">
2075 now the default buffer size of the "large_client_header_buffers" 2075 now the default buffer size of the "large_client_header_buffers"
2076 directive is 8K.<br/> 2076 directive is 8K.<br/>
2077 Thanks to Andrew Cholakian. 2077 Thanks to Andrew Cholakian.
2078 </para> 2078 </para>
2079 </change> 2079 </change>
2080 2080
2081 <change type="feature"> 2081 <change type="feature">
2082 <para lang="ru"> 2082 <para lang="ru">
2083 файл conf/fastcgi.conf для простых конфигураций FastCGI. 2083 я└п╟п╧п╩ conf/fastcgi.conf п╢п╩я▐ п©я─п╬я│я┌я▀я┘ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╧ FastCGI.
2084 </para> 2084 </para>
2085 <para lang="en"> 2085 <para lang="en">
2086 the conf/fastcgi.conf for simple FastCGI configurations. 2086 the conf/fastcgi.conf for simple FastCGI configurations.
2087 </para> 2087 </para>
2088 </change> 2088 </change>
2089 2089
2090 <change type="bugfix"> 2090 <change type="bugfix">
2091 <para lang="ru"> 2091 <para lang="ru">
2092 nginx/Windows пытался дважды переименовать временный файл 2092 nginx/Windows п©я▀я┌п╟п╩я│я▐ п╢п╡п╟п╤п╢я▀ п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
2093 при перезаписи уже существующего файла. 2093 п©я─п╦ п©п╣я─п╣п╥п╟п©п╦я│п╦ я┐п╤п╣ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╣пЁп╬ я└п╟п╧п╩п╟.
2094 </para> 2094 </para>
2095 <para lang="en"> 2095 <para lang="en">
2096 nginx/Windows tried to rename a temporary file twice if the file 2096 nginx/Windows tried to rename a temporary file twice if the file
2097 should replace an already existent file. 2097 should replace an already existent file.
2098 </para> 2098 </para>
2099 </change> 2099 </change>
2100 2100
2101 <change type="bugfix"> 2101 <change type="bugfix">
2102 <para lang="ru"> 2102 <para lang="ru">
2103 ошибки double free or corruption, возникающей, если имя хоста не было найдено; 2103 п╬я┬п╦п╠п╨п╦ double free or corruption, п╡п╬п╥п╫п╦п╨п╟я▌я┴п╣п╧, п╣я│п╩п╦ п╦п╪я▐ я┘п╬я│я┌п╟ п╫п╣ п╠я▀п╩п╬ п╫п╟п╧п╢п╣п╫п╬;
2104 ошибка появилась в 0.8.22.<br/> 2104 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.22.<br/>
2105 Спасибо Константину Свисту. 2105 п║п©п╟я│п╦п╠п╬ п п╬п╫я│я┌п╟п╫я┌п╦п╫я┐ п║п╡п╦я│я┌я┐.
2106 </para> 2106 </para>
2107 <para lang="en"> 2107 <para lang="en">
2108 of "double free or corruption" error issued if host could not be resolved; 2108 of "double free or corruption" error issued if host could not be resolved;
2109 the bug had appeared in 0.8.22.<br/> 2109 the bug had appeared in 0.8.22.<br/>
2110 Thanks to Konstantin Svist. 2110 Thanks to Konstantin Svist.
2111 </para> 2111 </para>
2112 </change> 2112 </change>
2113 2113
2114 <change type="bugfix"> 2114 <change type="bugfix">
2115 <para lang="ru"> 2115 <para lang="ru">
2116 в использовании libatomic на некоторых платформах.<br/> 2116 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ libatomic п╫п╟ п╫п╣п╨п╬я┌п╬я─я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘.<br/>
2117 Спасибо W-Mark Kubacki. 2117 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2118 </para> 2118 </para>
2119 <para lang="en"> 2119 <para lang="en">
2120 in libatomic usage on some platforms.<br/> 2120 in libatomic usage on some platforms.<br/>
2121 Thanks to W-Mark Kubacki. 2121 Thanks to W-Mark Kubacki.
2122 </para> 2122 </para>
2127 2127
2128 <changes ver="0.8.29" date="30.11.2009"> 2128 <changes ver="0.8.29" date="30.11.2009">
2129 2129
2130 <change type="change"> 2130 <change type="change">
2131 <para lang="ru"> 2131 <para lang="ru">
2132 теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009". 2132 я┌п╣п©п╣я─я▄ п╢п╩я▐ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀я┘ п╬я┌п╡п╣я┌п╬п╡ HTTP/0.9 п╡ п╩п╬пЁ п©п╦я┬п╣я┌я│я▐ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ "009".
2133 </para> 2133 </para>
2134 <para lang="en"> 2134 <para lang="en">
2135 now the "009" status code is written to an access log for proxied HTTP/0.9 2135 now the "009" status code is written to an access log for proxied HTTP/0.9
2136 responses. 2136 responses.
2137 </para> 2137 </para>
2138 </change> 2138 </change>
2139 2139
2140 <change type="feature"> 2140 <change type="feature">
2141 <para lang="ru"> 2141 <para lang="ru">
2142 директивы addition_types, charset_types, gzip_types, ssi_types, 2142 п╢п╦я─п╣п╨я┌п╦п╡я▀ addition_types, charset_types, gzip_types, ssi_types,
2143 sub_filter_types и xslt_types поддерживают параметр "*". 2143 sub_filter_types п╦ xslt_types п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╟я─п╟п╪п╣я┌я─ "*".
2144 </para> 2144 </para>
2145 <para lang="en"> 2145 <para lang="en">
2146 the "addition_types", "charset_types", "gzip_types", "ssi_types", 2146 the "addition_types", "charset_types", "gzip_types", "ssi_types",
2147 "sub_filter_types", and "xslt_types" directives support an "*" parameter. 2147 "sub_filter_types", and "xslt_types" directives support an "*" parameter.
2148 </para> 2148 </para>
2149 </change> 2149 </change>
2150 2150
2151 <change type="feature"> 2151 <change type="feature">
2152 <para lang="ru"> 2152 <para lang="ru">
2153 использование встроенных атомарных операций GCC 4.1+.<br/> 2153 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п╡я│я┌я─п╬п╣п╫п╫я▀я┘ п╟я┌п╬п╪п╟я─п╫я▀я┘ п╬п©п╣я─п╟я├п╦п╧ GCC 4.1+.<br/>
2154 Спасибо W-Mark Kubacki. 2154 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2155 </para> 2155 </para>
2156 <para lang="en"> 2156 <para lang="en">
2157 GCC 4.1+ built-in atomic operations usage.<br/> 2157 GCC 4.1+ built-in atomic operations usage.<br/>
2158 Thanks to W-Mark Kubacki. 2158 Thanks to W-Mark Kubacki.
2159 </para> 2159 </para>
2160 </change> 2160 </change>
2161 2161
2162 <change type="feature"> 2162 <change type="feature">
2163 <para lang="ru"> 2163 <para lang="ru">
2164 параметр --with-libatomic[=DIR] в configure.<br/> 2164 п©п╟я─п╟п╪п╣я┌я─ --with-libatomic[=DIR] п╡ configure.<br/>
2165 Спасибо W-Mark Kubacki. 2165 п║п©п╟я│п╦п╠п╬ W-Mark Kubacki.
2166 </para> 2166 </para>
2167 <para lang="en"> 2167 <para lang="en">
2168 the --with-libatomic[=DIR] option in the configure.<br/> 2168 the --with-libatomic[=DIR] option in the configure.<br/>
2169 Thanks to W-Mark Kubacki. 2169 Thanks to W-Mark Kubacki.
2170 </para> 2170 </para>
2171 </change> 2171 </change>
2172 2172
2173 <change type="bugfix"> 2173 <change type="bugfix">
2174 <para lang="ru"> 2174 <para lang="ru">
2175 listen unix domain сокет имели ограниченные права доступа. 2175 listen unix domain я│п╬п╨п╣я┌ п╦п╪п╣п╩п╦ п╬пЁя─п╟п╫п╦я┤п╣п╫п╫я▀п╣ п©я─п╟п╡п╟ п╢п╬я│я┌я┐п©п╟.
2176 </para> 2176 </para>
2177 <para lang="en"> 2177 <para lang="en">
2178 listen unix domain socket had limited access rights. 2178 listen unix domain socket had limited access rights.
2179 </para> 2179 </para>
2180 </change> 2180 </change>
2181 2181
2182 <change type="bugfix"> 2182 <change type="bugfix">
2183 <para lang="ru"> 2183 <para lang="ru">
2184 закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались. 2184 п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╣ п╬я┌п╡п╣я┌я▀ п╬я┌п╡п╣я┌п╬п╡ HTTP/0.9 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄.
2185 </para> 2185 </para>
2186 <para lang="en"> 2186 <para lang="en">
2187 cached HTTP/0.9 responses were handled incorrectly. 2187 cached HTTP/0.9 responses were handled incorrectly.
2188 </para> 2188 </para>
2189 </change> 2189 </change>
2190 2190
2191 <change type="bugfix"> 2191 <change type="bugfix">
2192 <para lang="ru"> 2192 <para lang="ru">
2193 именованные выделения в регулярных выражениях, заданные как "?P&lt;...&gt;", 2193 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘, п╥п╟п╢п╟п╫п╫я▀п╣ п╨п╟п╨ "?P&lt;...&gt;",
2194 не работали в директиве server_name.<br/> 2194 п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name.<br/>
2195 Спасибо Максиму Дунину. 2195 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2196 </para> 2196 </para>
2197 <para lang="en"> 2197 <para lang="en">
2198 regular expression named captures given by "?P&lt;...&gt;" did not work 2198 regular expression named captures given by "?P&lt;...&gt;" did not work
2199 in a "server_name" directive.<br/> 2199 in a "server_name" directive.<br/>
2200 Thanks to Maxim Dounin. 2200 Thanks to Maxim Dounin.
2206 2206
2207 <changes ver="0.8.28" date="23.11.2009"> 2207 <changes ver="0.8.28" date="23.11.2009">
2208 2208
2209 <change type="bugfix"> 2209 <change type="bugfix">
2210 <para lang="ru"> 2210 <para lang="ru">
2211 nginx не собирался с параметром --without-pcre; 2211 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-pcre;
2212 ошибка появилась в 0.8.25. 2212 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2213 </para> 2213 </para>
2214 <para lang="en"> 2214 <para lang="en">
2215 nginx could not be built with the --without-pcre parameter; 2215 nginx could not be built with the --without-pcre parameter;
2216 the bug had appeared in 0.8.25. 2216 the bug had appeared in 0.8.25.
2217 </para> 2217 </para>
2222 2222
2223 <changes ver="0.8.27" date="17.11.2009"> 2223 <changes ver="0.8.27" date="17.11.2009">
2224 2224
2225 <change type="bugfix"> 2225 <change type="bugfix">
2226 <para lang="ru"> 2226 <para lang="ru">
2227 регулярные выражения не работали в nginx/Windows; 2227 я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ nginx/Windows;
2228 ошибка появилась в 0.8.25. 2228 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2229 </para> 2229 </para>
2230 <para lang="en"> 2230 <para lang="en">
2231 regular expressions did not work in nginx/Windows; 2231 regular expressions did not work in nginx/Windows;
2232 the bug had appeared in 0.8.25. 2232 the bug had appeared in 0.8.25.
2233 </para> 2233 </para>
2238 2238
2239 <changes ver="0.8.26" date="16.11.2009"> 2239 <changes ver="0.8.26" date="16.11.2009">
2240 2240
2241 <change type="bugfix"> 2241 <change type="bugfix">
2242 <para lang="ru"> 2242 <para lang="ru">
2243 ошибки при использовании выделений в директиве rewrite; 2243 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я▀п╢п╣п╩п╣п╫п╦п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite;
2244 ошибка появилась в 0.8.25. 2244 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2245 </para> 2245 </para>
2246 <para lang="en"> 2246 <para lang="en">
2247 in captures usage in "rewrite" directive; 2247 in captures usage in "rewrite" directive;
2248 the bug had appeared in 0.8.25. 2248 the bug had appeared in 0.8.25.
2249 </para> 2249 </para>
2250 </change> 2250 </change>
2251 2251
2252 <change type="bugfix"> 2252 <change type="bugfix">
2253 <para lang="ru"> 2253 <para lang="ru">
2254 nginx не собирался без параметра --with-debug; 2254 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
2255 ошибка появилась в 0.8.25. 2255 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.25.
2256 </para> 2256 </para>
2257 <para lang="en"> 2257 <para lang="en">
2258 nginx could not be built without the --with-debug option; 2258 nginx could not be built without the --with-debug option;
2259 the bug had appeared in 0.8.25. 2259 the bug had appeared in 0.8.25.
2260 </para> 2260 </para>
2265 2265
2266 <changes ver="0.8.25" date="16.11.2009"> 2266 <changes ver="0.8.25" date="16.11.2009">
2267 2267
2268 <change type="change"> 2268 <change type="change">
2269 <para lang="ru"> 2269 <para lang="ru">
2270 теперь в лог ошибок не пишется сообщение, если переменная не найдена 2270 я┌п╣п©п╣я─я▄ п╡ п╩п╬пЁ п╬я┬п╦п╠п╬п╨ п╫п╣ п©п╦я┬п╣я┌я│я▐ я│п╬п╬п╠я┴п╣п╫п╦п╣, п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╫п╣ п╫п╟п╧п╢п╣п╫п╟
2271 с помощью метода $r->variable(). 2271 я│ п©п╬п╪п╬я┴я▄я▌ п╪п╣я┌п╬п╢п╟ $r->variable().
2272 </para> 2272 </para>
2273 <para lang="en"> 2273 <para lang="en">
2274 now no message is written in an error log if a variable is not found by 2274 now no message is written in an error log if a variable is not found by
2275 $r->variable() method. 2275 $r->variable() method.
2276 </para> 2276 </para>
2277 </change> 2277 </change>
2278 2278
2279 <change type="feature"> 2279 <change type="feature">
2280 <para lang="ru"> 2280 <para lang="ru">
2281 модуль ngx_http_degradation_module. 2281 п╪п╬п╢я┐п╩я▄ ngx_http_degradation_module.
2282 </para> 2282 </para>
2283 <para lang="en"> 2283 <para lang="en">
2284 the ngx_http_degradation_module. 2284 the ngx_http_degradation_module.
2285 </para> 2285 </para>
2286 </change> 2286 </change>
2287 2287
2288 <change type="feature"> 2288 <change type="feature">
2289 <para lang="ru"> 2289 <para lang="ru">
2290 именованные выделения в регулярных выражениях. 2290 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
2291 </para> 2291 </para>
2292 <para lang="en"> 2292 <para lang="en">
2293 regular expression named captures. 2293 regular expression named captures.
2294 </para> 2294 </para>
2295 </change> 2295 </change>
2296 2296
2297 <change type="feature"> 2297 <change type="feature">
2298 <para lang="ru"> 2298 <para lang="ru">
2299 теперь при использовании переменных в директиве proxy_pass не требуется 2299 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ я┌я─п╣п╠я┐п╣я┌я│я▐
2300 задавать URI. 2300 п╥п╟п╢п╟п╡п╟я┌я▄ URI.
2301 </para> 2301 </para>
2302 <para lang="en"> 2302 <para lang="en">
2303 now URI part is not required a "proxy_pass" directive if variables are used. 2303 now URI part is not required a "proxy_pass" directive if variables are used.
2304 </para> 2304 </para>
2305 </change> 2305 </change>
2306 2306
2307 <change type="feature"> 2307 <change type="feature">
2308 <para lang="ru"> 2308 <para lang="ru">
2309 теперь директива msie_padding работает и для Chrome. 2309 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ msie_padding я─п╟п╠п╬я┌п╟п╣я┌ п╦ п╢п╩я▐ Chrome.
2310 </para> 2310 </para>
2311 <para lang="en"> 2311 <para lang="en">
2312 now the "msie_padding" directive works for Chrome too. 2312 now the "msie_padding" directive works for Chrome too.
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 в рабочем процессе происходил segmentation fault при недостатке памяти; 2318 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault п©я─п╦ п╫п╣п╢п╬я│я┌п╟я┌п╨п╣ п©п╟п╪я▐я┌п╦;
2319 ошибка появилась в 0.8.18. 2319 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.18.
2320 </para> 2320 </para>
2321 <para lang="en"> 2321 <para lang="en">
2322 a segmentation fault occurred in a worker process on low memory condition; 2322 a segmentation fault occurred in a worker process on low memory condition;
2323 the bug had appeared in 0.8.18. 2323 the bug had appeared in 0.8.18.
2324 </para> 2324 </para>
2325 </change> 2325 </change>
2326 2326
2327 <change type="bugfix"> 2327 <change type="bugfix">
2328 <para lang="ru"> 2328 <para lang="ru">
2329 nginx передавал сжатые ответы клиентам, не поддерживающим сжатие, 2329 nginx п©п╣я─п╣п╢п╟п╡п╟п╩ я│п╤п╟я┌я▀п╣ п╬я┌п╡п╣я┌я▀ п╨п╩п╦п╣п╫я┌п╟п╪, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦п╪ я│п╤п╟я┌п╦п╣,
2330 при настройках gzip_static on и gzip_vary off; 2330 п©я─п╦ п╫п╟я│я┌я─п╬п╧п╨п╟я┘ gzip_static on п╦ gzip_vary off;
2331 ошибка появилась в 0.8.16. 2331 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.16.
2332 </para> 2332 </para>
2333 <para lang="en"> 2333 <para lang="en">
2334 nginx sent gzipped responses to clients those do not support gzip, 2334 nginx sent gzipped responses to clients those do not support gzip,
2335 if "gzip_static on" and "gzip_vary off"; 2335 if "gzip_static on" and "gzip_vary off";
2336 the bug had appeared in 0.8.16. 2336 the bug had appeared in 0.8.16.
2342 2342
2343 <changes ver="0.8.24" date="11.11.2009"> 2343 <changes ver="0.8.24" date="11.11.2009">
2344 2344
2345 <change type="bugfix"> 2345 <change type="bugfix">
2346 <para lang="ru"> 2346 <para lang="ru">
2347 nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок 2347 nginx п╡я│п╣пЁп╢п╟ п╢п╬п╠п╟п╡п╩я▐п╩ я│я┌я─п╬п╨я┐ "Content-Encoding: gzip" п╡ п╥п╟пЁп╬п╩п╬п╡п╬п╨
2348 304-ых ответов модуля ngx_http_gzip_static_module. 2348 304-я▀я┘ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐ ngx_http_gzip_static_module.
2349 </para> 2349 </para>
2350 <para lang="en"> 2350 <para lang="en">
2351 nginx always added "Content-Encoding: gzip" response header line 2351 nginx always added "Content-Encoding: gzip" response header line
2352 in 304 responses sent by ngx_http_gzip_static_module. 2352 in 304 responses sent by ngx_http_gzip_static_module.
2353 </para> 2353 </para>
2354 </change> 2354 </change>
2355 2355
2356 <change type="bugfix"> 2356 <change type="bugfix">
2357 <para lang="ru"> 2357 <para lang="ru">
2358 nginx не собирался без параметра --with-debug; 2358 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
2359 ошибка появилась в 0.8.23. 2359 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.23.
2360 </para> 2360 </para>
2361 <para lang="en"> 2361 <para lang="en">
2362 nginx could not be built without the --with-debug option; 2362 nginx could not be built without the --with-debug option;
2363 the bug had appeared in 0.8.23. 2363 the bug had appeared in 0.8.23.
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 параметр "unix:" в директиве set_real_ip_from неправильно наследовался 2369 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩я│я▐
2370 с предыдущего уровня. 2370 я│ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я┐я─п╬п╡п╫я▐.
2371 </para> 2371 </para>
2372 <para lang="en"> 2372 <para lang="en">
2373 the "unix:" parameter of the "set_real_ip_from" directive inherited 2373 the "unix:" parameter of the "set_real_ip_from" directive inherited
2374 incorrectly from previous level. 2374 incorrectly from previous level.
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 в resolver'е при определении пустого имени. 2380 п╡ resolver'п╣ п©я─п╦ п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╦ п©я┐я│я┌п╬пЁп╬ п╦п╪п╣п╫п╦.
2381 </para> 2381 </para>
2382 <para lang="en"> 2382 <para lang="en">
2383 in resolving empty name. 2383 in resolving empty name.
2384 </para> 2384 </para>
2385 </change> 2385 </change>
2389 2389
2390 <changes ver="0.8.23" date="11.11.2009"> 2390 <changes ver="0.8.23" date="11.11.2009">
2391 2391
2392 <change type="security"> 2392 <change type="security">
2393 <para lang="ru"> 2393 <para lang="ru">
2394 теперь SSL/TLS renegotiation запрещён.<br/> 2394 я┌п╣п©п╣я─я▄ SSL/TLS renegotiation п╥п╟п©я─п╣я┴я▒п╫.<br/>
2395 Спасибо Максиму Дунину. 2395 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2396 </para> 2396 </para>
2397 <para lang="en"> 2397 <para lang="en">
2398 now SSL/TLS renegotiation is disabled.<br/> 2398 now SSL/TLS renegotiation is disabled.<br/>
2399 Thanks to Maxim Dounin. 2399 Thanks to Maxim Dounin.
2400 </para> 2400 </para>
2401 </change> 2401 </change>
2402 2402
2403 <change type="bugfix"> 2403 <change type="bugfix">
2404 <para lang="ru"> 2404 <para lang="ru">
2405 listen unix domain сокет не наследовался во время обновления без перерыва. 2405 listen unix domain я│п╬п╨п╣я┌ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩я│я▐ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.
2406 </para> 2406 </para>
2407 <para lang="en"> 2407 <para lang="en">
2408 listen unix domain socket did not inherit while online upgrade. 2408 listen unix domain socket did not inherit while online upgrade.
2409 </para> 2409 </para>
2410 </change> 2410 </change>
2411 2411
2412 <change type="bugfix"> 2412 <change type="bugfix">
2413 <para lang="ru"> 2413 <para lang="ru">
2414 параметр "unix:" в директиве set_real_ip_from не работал без ещё 2414 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╠п╣п╥ п╣я┴я▒
2415 одной директивы с любым IP-адресом. 2415 п╬п╢п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡я▀ я│ п╩я▌п╠я▀п╪ IP-п╟п╢я─п╣я│п╬п╪.
2416 </para> 2416 </para>
2417 <para lang="en"> 2417 <para lang="en">
2418 the "unix:" parameter of the "set_real_ip_from" directive did not without 2418 the "unix:" parameter of the "set_real_ip_from" directive did not without
2419 yet another directive with any IP address. 2419 yet another directive with any IP address.
2420 </para> 2420 </para>
2421 </change> 2421 </change>
2422 2422
2423 <change type="bugfix"> 2423 <change type="bugfix">
2424 <para lang="ru"> 2424 <para lang="ru">
2425 segmentation fault и зацикливания в resolver'е. 2425 segmentation fault п╦ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▐ п╡ resolver'п╣.
2426 </para> 2426 </para>
2427 <para lang="en"> 2427 <para lang="en">
2428 segmentation fault and infinite looping in resolver. 2428 segmentation fault and infinite looping in resolver.
2429 </para> 2429 </para>
2430 </change> 2430 </change>
2431 2431
2432 <change type="bugfix"> 2432 <change type="bugfix">
2433 <para lang="ru"> 2433 <para lang="ru">
2434 в resolver'е.<br/> 2434 п╡ resolver'п╣.<br/>
2435 Спасибо Артёму Бохану. 2435 п║п©п╟я│п╦п╠п╬ п░я─я┌я▒п╪я┐ п▒п╬я┘п╟п╫я┐.
2436 </para> 2436 </para>
2437 <para lang="en"> 2437 <para lang="en">
2438 in resolver.<br/> 2438 in resolver.<br/>
2439 Thanks to Artem Bokhan. 2439 Thanks to Artem Bokhan.
2440 </para> 2440 </para>
2445 2445
2446 <changes ver="0.8.22" date="03.11.2009"> 2446 <changes ver="0.8.22" date="03.11.2009">
2447 2447
2448 <change type="feature"> 2448 <change type="feature">
2449 <para lang="ru"> 2449 <para lang="ru">
2450 директивы proxy_bind, fastcgi_bind и memcached_bind. 2450 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_bind, fastcgi_bind п╦ memcached_bind.
2451 </para> 2451 </para>
2452 <para lang="en"> 2452 <para lang="en">
2453 the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. 2453 the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives.
2454 </para> 2454 </para>
2455 </change> 2455 </change>
2456 2456
2457 <change type="feature"> 2457 <change type="feature">
2458 <para lang="ru"> 2458 <para lang="ru">
2459 директивы access и deny поддерживают IPv6. 2459 п╢п╦я─п╣п╨я┌п╦п╡я▀ access п╦ deny п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ IPv6.
2460 </para> 2460 </para>
2461 <para lang="en"> 2461 <para lang="en">
2462 the "access" and the "deny" directives support IPv6. 2462 the "access" and the "deny" directives support IPv6.
2463 </para> 2463 </para>
2464 </change> 2464 </change>
2465 2465
2466 <change type="feature"> 2466 <change type="feature">
2467 <para lang="ru"> 2467 <para lang="ru">
2468 директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса. 2468 п╢п╦я─п╣п╨я┌п╦п╡п╟ set_real_ip_from п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6 п╟п╢я─п╣я│п╟ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘ п╥п╟п©я─п╬я│п╟.
2469 </para> 2469 </para>
2470 <para lang="en"> 2470 <para lang="en">
2471 the "set_real_ip_from" directive supports IPv6 addresses in request headers. 2471 the "set_real_ip_from" directive supports IPv6 addresses in request headers.
2472 </para> 2472 </para>
2473 </change> 2473 </change>
2474 2474
2475 <change type="feature"> 2475 <change type="feature">
2476 <para lang="ru"> 2476 <para lang="ru">
2477 параметр "unix:" в директиве set_real_ip_from. 2477 п©п╟я─п╟п╪п╣я┌я─ "unix:" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set_real_ip_from.
2478 </para> 2478 </para>
2479 <para lang="en"> 2479 <para lang="en">
2480 the "unix:" parameter of the "set_real_ip_from" directive. 2480 the "unix:" parameter of the "set_real_ip_from" directive.
2481 </para> 2481 </para>
2482 </change> 2482 </change>
2483 2483
2484 <change type="bugfix"> 2484 <change type="bugfix">
2485 <para lang="ru"> 2485 <para lang="ru">
2486 nginx не удалял unix domain сокет после тестирования конфигурации. 2486 nginx п╫п╣ я┐п╢п╟п╩я▐п╩ unix domain я│п╬п╨п╣я┌ п©п╬я│п╩п╣ я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦я▐ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
2487 </para> 2487 </para>
2488 <para lang="en"> 2488 <para lang="en">
2489 nginx did not delete unix domain socket after configuration testing. 2489 nginx did not delete unix domain socket after configuration testing.
2490 </para> 2490 </para>
2491 </change> 2491 </change>
2492 2492
2493 <change type="bugfix"> 2493 <change type="bugfix">
2494 <para lang="ru"> 2494 <para lang="ru">
2495 nginx удалял unix domain сокет во время обновления без перерыва. 2495 nginx я┐п╢п╟п╩я▐п╩ unix domain я│п╬п╨п╣я┌ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╠п╣п╥ п©п╣я─п╣я─я▀п╡п╟.
2496 </para> 2496 </para>
2497 <para lang="en"> 2497 <para lang="en">
2498 nginx deleted unix domain socket while online upgrade. 2498 nginx deleted unix domain socket while online upgrade.
2499 </para> 2499 </para>
2500 </change> 2500 </change>
2501 2501
2502 <change type="bugfix"> 2502 <change type="bugfix">
2503 <para lang="ru"> 2503 <para lang="ru">
2504 оператор "!-x" не работал.<br/> 2504 п╬п©п╣я─п╟я┌п╬я─ "!-x" п╫п╣ я─п╟п╠п╬я┌п╟п╩.<br/>
2505 Спасибо Максиму Дунину. 2505 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2506 </para> 2506 </para>
2507 <para lang="en"> 2507 <para lang="en">
2508 the "!-x" operator did not work.<br/> 2508 the "!-x" operator did not work.<br/>
2509 Thanks to Maxim Dounin. 2509 Thanks to Maxim Dounin.
2510 </para> 2510 </para>
2511 </change> 2511 </change>
2512 2512
2513 <change type="bugfix"> 2513 <change type="bugfix">
2514 <para lang="ru"> 2514 <para lang="ru">
2515 в рабочем процессе мог произойти segmentation fault 2515 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
2516 при использовании limit_rate в HTTPS сервере.<br/> 2516 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ limit_rate п╡ HTTPS я│п╣я─п╡п╣я─п╣.<br/>
2517 Спасибо Максиму Дунину. 2517 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2518 </para> 2518 </para>
2519 <para lang="en"> 2519 <para lang="en">
2520 a segmentation fault might occur in a worker process, 2520 a segmentation fault might occur in a worker process,
2521 if limit_rate was used in HTTPS server.<br/> 2521 if limit_rate was used in HTTPS server.<br/>
2522 Thanks to Maxim Dounin. 2522 Thanks to Maxim Dounin.
2523 </para> 2523 </para>
2524 </change> 2524 </change>
2525 2525
2526 <change type="bugfix"> 2526 <change type="bugfix">
2527 <para lang="ru"> 2527 <para lang="ru">
2528 при записи в лог переменной $limit_rate 2528 п©я─п╦ п╥п╟п©п╦я│п╦ п╡ п╩п╬пЁ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $limit_rate
2529 в рабочем процессе происходил segmentation fault.<br/> 2529 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
2530 Спасибо Максиму Дунину. 2530 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2531 </para> 2531 </para>
2532 <para lang="en"> 2532 <para lang="en">
2533 a segmentation fault might occur in a worker process 2533 a segmentation fault might occur in a worker process
2534 while $limit_rate logging.<br/> 2534 while $limit_rate logging.<br/>
2535 Thanks to Maxim Dounin. 2535 Thanks to Maxim Dounin.
2536 </para> 2536 </para>
2537 </change> 2537 </change>
2538 2538
2539 <change type="bugfix"> 2539 <change type="bugfix">
2540 <para lang="ru"> 2540 <para lang="ru">
2541 в рабочем процессе мог произойти segmentation fault, 2541 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
2542 если внутри блока server не было директивы listen; 2542 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ server п╫п╣ п╠я▀п╩п╬ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen;
2543 ошибка появилась в 0.8.21. 2543 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.21.
2544 </para> 2544 </para>
2545 <para lang="en"> 2545 <para lang="en">
2546 a segmentation fault might occur in a worker process, 2546 a segmentation fault might occur in a worker process,
2547 if there was no "listen" directive in "server" block; 2547 if there was no "listen" directive in "server" block;
2548 the bug had appeared in 0.8.21. 2548 the bug had appeared in 0.8.21.
2554 2554
2555 <changes ver="0.8.21" date="26.10.2009"> 2555 <changes ver="0.8.21" date="26.10.2009">
2556 2556
2557 <change type="feature"> 2557 <change type="feature">
2558 <para lang="ru"> 2558 <para lang="ru">
2559 теперь ключ -V показывает статус поддержки TLS SNI. 2559 я┌п╣п©п╣я─я▄ п╨п╩я▌я┤ -V п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ я│я┌п╟я┌я┐я│ п©п╬п╢п╢п╣я─п╤п╨п╦ TLS SNI.
2560 </para> 2560 </para>
2561 <para lang="en"> 2561 <para lang="en">
2562 now the "-V" switch shows TLS SNI support. 2562 now the "-V" switch shows TLS SNI support.
2563 </para> 2563 </para>
2564 </change> 2564 </change>
2565 2565
2566 <change type="feature"> 2566 <change type="feature">
2567 <para lang="ru"> 2567 <para lang="ru">
2568 директива listen модуля HTTP поддерживает unix domain сокеты.<br/> 2568 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╪п╬п╢я┐п╩я▐ HTTP п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ unix domain я│п╬п╨п╣я┌я▀.<br/>
2569 Спасибо Hongli Lai. 2569 п║п©п╟я│п╦п╠п╬ Hongli Lai.
2570 </para> 2570 </para>
2571 <para lang="en"> 2571 <para lang="en">
2572 the "listen" directive of the HTTP module supports unix domain sockets.<br/> 2572 the "listen" directive of the HTTP module supports unix domain sockets.<br/>
2573 Thanks to Hongli Lai. 2573 Thanks to Hongli Lai.
2574 </para> 2574 </para>
2575 </change> 2575 </change>
2576 2576
2577 <change type="feature"> 2577 <change type="feature">
2578 <para lang="ru"> 2578 <para lang="ru">
2579 параметр "default_server" в директиве listen. 2579 п©п╟я─п╟п╪п╣я┌я─ "default_server" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
2580 </para> 2580 </para>
2581 <para lang="en"> 2581 <para lang="en">
2582 the "default_server" parameter of the "listen" directive. 2582 the "default_server" parameter of the "listen" directive.
2583 </para> 2583 </para>
2584 </change> 2584 </change>
2585 2585
2586 <change type="feature"> 2586 <change type="feature">
2587 <para lang="ru"> 2587 <para lang="ru">
2588 теперь параметр "default" не обязателен для установки параметров listen-сокета. 2588 я┌п╣п©п╣я─я▄ п©п╟я─п╟п╪п╣я┌я─ "default" п╫п╣ п╬п╠я▐п╥п╟я┌п╣п╩п╣п╫ п╢п╩я▐ я┐я│я┌п╟п╫п╬п╡п╨п╦ п©п╟я─п╟п╪п╣я┌я─п╬п╡ listen-я│п╬п╨п╣я┌п╟.
2589 </para> 2589 </para>
2590 <para lang="en"> 2590 <para lang="en">
2591 now a "default" parameter is not required to set listen socket options. 2591 now a "default" parameter is not required to set listen socket options.
2592 </para> 2592 </para>
2593 </change> 2593 </change>
2594 2594
2595 <change type="bugfix"> 2595 <change type="bugfix">
2596 <para lang="ru"> 2596 <para lang="ru">
2597 nginx не поддерживал даты в 2038 году на 32-битных платформах; 2597 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╢п╟я┌я▀ п╡ 2038 пЁп╬п╢я┐ п╫п╟ 32-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
2598 </para> 2598 </para>
2599 <para lang="en"> 2599 <para lang="en">
2600 nginx did not support dates in 2038 year on 32-bit platforms; 2600 nginx did not support dates in 2038 year on 32-bit platforms;
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 утечки сокетов; 2606 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
2607 ошибка появилась в 0.8.11. 2607 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2608 </para> 2608 </para>
2609 <para lang="en"> 2609 <para lang="en">
2610 socket leak; 2610 socket leak;
2611 the bug had appeared in 0.8.11. 2611 the bug had appeared in 0.8.11.
2612 </para> 2612 </para>
2617 2617
2618 <changes ver="0.8.20" date="14.10.2009"> 2618 <changes ver="0.8.20" date="14.10.2009">
2619 2619
2620 <change type="change"> 2620 <change type="change">
2621 <para lang="ru"> 2621 <para lang="ru">
2622 теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5". 2622 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL: "HIGH:!ADH:!MD5".
2623 </para> 2623 </para>
2624 <para lang="en"> 2624 <para lang="en">
2625 now default SSL ciphers are "HIGH:!ADH:!MD5". 2625 now default SSL ciphers are "HIGH:!ADH:!MD5".
2626 </para> 2626 </para>
2627 </change> 2627 </change>
2628 2628
2629 <change type="bugfix"> 2629 <change type="bugfix">
2630 <para lang="ru"> 2630 <para lang="ru">
2631 модуль ngx_http_autoindex_module не показывал последний слэш для линков 2631 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╩ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╩я█я┬ п╢п╩я▐ п╩п╦п╫п╨п╬п╡
2632 на каталоги; 2632 п╫п╟ п╨п╟я┌п╟п╩п╬пЁп╦;
2633 ошибка появилась в 0.7.15. 2633 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.
2634 </para> 2634 </para>
2635 <para lang="en"> 2635 <para lang="en">
2636 the ngx_http_autoindex_module did not show the trailing slash in links to 2636 the ngx_http_autoindex_module did not show the trailing slash in links to
2637 a directory; 2637 a directory;
2638 the bug had appeared in 0.7.15. 2638 the bug had appeared in 0.7.15.
2639 </para> 2639 </para>
2640 </change> 2640 </change>
2641 2641
2642 <change type="bugfix"> 2642 <change type="bugfix">
2643 <para lang="ru"> 2643 <para lang="ru">
2644 nginx не закрывал лог, заданный параметром конфигурации --error-log-path; 2644 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ п╩п╬пЁ, п╥п╟п╢п╟п╫п╫я▀п╧ п©п╟я─п╟п╪п╣я┌я─п╬п╪ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --error-log-path;
2645 ошибка появилась в 0.7.53. 2645 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
2646 </para> 2646 </para>
2647 <para lang="en"> 2647 <para lang="en">
2648 nginx did not close a log file set by the --error-log-path configuration option; 2648 nginx did not close a log file set by the --error-log-path configuration option;
2649 the bug had appeared in 0.7.53. 2649 the bug had appeared in 0.7.53.
2650 </para> 2650 </para>
2651 </change> 2651 </change>
2652 2652
2653 <change type="bugfix"> 2653 <change type="bugfix">
2654 <para lang="ru"> 2654 <para lang="ru">
2655 nginx не считал запятую разделителем в строке "Cache-Control" в 2655 nginx п╫п╣ я│я┤п╦я┌п╟п╩ п╥п╟п©я▐я┌я┐я▌ я─п╟п╥п╢п╣п╩п╦я┌п╣п╩п╣п╪ п╡ я│я┌я─п╬п╨п╣ "Cache-Control" п╡
2656 заголовке ответа бэкенда. 2656 п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
2657 </para> 2657 </para>
2658 <para lang="en"> 2658 <para lang="en">
2659 nginx did not treat a comma as separator in the "Cache-Control" backend response 2659 nginx did not treat a comma as separator in the "Cache-Control" backend response
2660 header line. 2660 header line.
2661 </para> 2661 </para>
2662 </change> 2662 </change>
2663 2663
2664 <change type="bugfix"> 2664 <change type="bugfix">
2665 <para lang="ru"> 2665 <para lang="ru">
2666 nginx/Windows мог не создать временный файл, файл в кэше или файл 2666 nginx/Windows п╪п╬пЁ п╫п╣ я│п╬п╥п╢п╟я┌я▄ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩, я└п╟п╧п╩ п╡ п╨я█я┬п╣ п╦п╩п╦ я└п╟п╧п╩
2667 с помощью директив proxy/fastcgi_store, если рабочий процесс не имел 2667 я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡ proxy/fastcgi_store, п╣я│п╩п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╦п╪п╣п╩
2668 достаточно прав для работы с каталогами верхнего уровня. 2668 п╢п╬я│я┌п╟я┌п╬я┤п╫п╬ п©я─п╟п╡ п╢п╩я▐ я─п╟п╠п╬я┌я▀ я│ п╨п╟я┌п╟п╩п╬пЁп╟п╪п╦ п╡п╣я─я┘п╫п╣пЁп╬ я┐я─п╬п╡п╫я▐.
2669 </para> 2669 </para>
2670 <para lang="en"> 2670 <para lang="en">
2671 nginx/Windows might not create temporary file, a cache file, or 2671 nginx/Windows might not create temporary file, a cache file, or
2672 "proxy/fastcgi_store"d file if a worker had no enough access rights 2672 "proxy/fastcgi_store"d file if a worker had no enough access rights
2673 for top level directories. 2673 for top level directories.
2674 </para> 2674 </para>
2675 </change> 2675 </change>
2676 2676
2677 <change type="bugfix"> 2677 <change type="bugfix">
2678 <para lang="ru"> 2678 <para lang="ru">
2679 строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались 2679 я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ FastCGI-я│п╣я─п╡п╣я─п╟ п╫п╣ я│п╨я─я▀п╡п╟п╩п╦я│я▄
2680 при кэшировании, если не использовались директивы fastcgi_hide_header 2680 п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_hide_header
2681 с любыми параметрами. 2681 я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
2682 </para> 2682 </para>
2683 <para lang="en"> 2683 <para lang="en">
2684 the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden 2684 the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden
2685 while caching if no "fastcgi_hide_header" directives were used with 2685 while caching if no "fastcgi_hide_header" directives were used with
2686 any parameters. 2686 any parameters.
2687 </para> 2687 </para>
2688 </change> 2688 </change>
2689 2689
2690 <change type="bugfix"> 2690 <change type="bugfix">
2691 <para lang="ru"> 2691 <para lang="ru">
2692 nginx неверно считал размер кэша на диске. 2692 nginx п╫п╣п╡п╣я─п╫п╬ я│я┤п╦я┌п╟п╩ я─п╟п╥п╪п╣я─ п╨я█я┬п╟ п╫п╟ п╢п╦я│п╨п╣.
2693 </para> 2693 </para>
2694 <para lang="en"> 2694 <para lang="en">
2695 nginx counted incorrectly disk cache size. 2695 nginx counted incorrectly disk cache size.
2696 </para> 2696 </para>
2697 </change> 2697 </change>
2701 2701
2702 <changes ver="0.8.19" date="06.10.2009"> 2702 <changes ver="0.8.19" date="06.10.2009">
2703 2703
2704 <change type="change"> 2704 <change type="change">
2705 <para lang="ru"> 2705 <para lang="ru">
2706 теперь протокол SSLv2 по умолчанию запрещён. 2706 я┌п╣п©п╣я─я▄ п©я─п╬я┌п╬п╨п╬п╩ SSLv2 п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╥п╟п©я─п╣я┴я▒п╫.
2707 </para> 2707 </para>
2708 <para lang="en"> 2708 <para lang="en">
2709 now SSLv2 protocol is disabled by default. 2709 now SSLv2 protocol is disabled by default.
2710 </para> 2710 </para>
2711 </change> 2711 </change>
2712 2712
2713 <change type="change"> 2713 <change type="change">
2714 <para lang="ru"> 2714 <para lang="ru">
2715 теперь по умолчанию используются следующие шифры SSL: 2715 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ я│п╩п╣п╢я┐я▌я┴п╦п╣ я┬п╦я└я─я▀ SSL:
2716 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 2716 "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2717 </para> 2717 </para>
2718 <para lang="en"> 2718 <para lang="en">
2719 now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 2719 now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM".
2720 </para> 2720 </para>
2721 </change> 2721 </change>
2722 2722
2723 <change type="bugfix"> 2723 <change type="bugfix">
2724 <para lang="ru"> 2724 <para lang="ru">
2725 директива limit_req не работала; 2725 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_req п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
2726 ошибка появилась в 0.8.18. 2726 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.18.
2727 </para> 2727 </para>
2728 <para lang="en"> 2728 <para lang="en">
2729 a "limit_req" directive did not work; 2729 a "limit_req" directive did not work;
2730 the bug had appeared in 0.8.18. 2730 the bug had appeared in 0.8.18.
2731 </para> 2731 </para>
2736 2736
2737 <changes ver="0.8.18" date="06.10.2009"> 2737 <changes ver="0.8.18" date="06.10.2009">
2738 2738
2739 <change type="feature"> 2739 <change type="feature">
2740 <para lang="ru"> 2740 <para lang="ru">
2741 директива read_ahead. 2741 п╢п╦я─п╣п╨я┌п╦п╡п╟ read_ahead.
2742 </para> 2742 </para>
2743 <para lang="en"> 2743 <para lang="en">
2744 the "read_ahead" directive. 2744 the "read_ahead" directive.
2745 </para> 2745 </para>
2746 </change> 2746 </change>
2747 2747
2748 <change type="feature"> 2748 <change type="feature">
2749 <para lang="ru"> 2749 <para lang="ru">
2750 теперь можно использовать несколько директив perl_modules. 2750 я┌п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦я─п╣п╨я┌п╦п╡ perl_modules.
2751 </para> 2751 </para>
2752 <para lang="en"> 2752 <para lang="en">
2753 now several "perl_modules" directives may be used. 2753 now several "perl_modules" directives may be used.
2754 </para> 2754 </para>
2755 </change> 2755 </change>
2756 2756
2757 <change type="feature"> 2757 <change type="feature">
2758 <para lang="ru"> 2758 <para lang="ru">
2759 директивы limit_req_log_level и limit_conn_log_level. 2759 п╢п╦я─п╣п╨я┌п╦п╡я▀ limit_req_log_level п╦ limit_conn_log_level.
2760 </para> 2760 </para>
2761 <para lang="en"> 2761 <para lang="en">
2762 the "limit_req_log_level" and "limit_conn_log_level" directives. 2762 the "limit_req_log_level" and "limit_conn_log_level" directives.
2763 </para> 2763 </para>
2764 </change> 2764 </change>
2765 2765
2766 <change type="bugfix"> 2766 <change type="bugfix">
2767 <para lang="ru"> 2767 <para lang="ru">
2768 теперь директива limit_req соответствует алгоритму leaky bucket.<br/> 2768 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_req я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌ п╟п╩пЁп╬я─п╦я┌п╪я┐ leaky bucket.<br/>
2769 Спасибо Максиму Дунину. 2769 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
2770 </para> 2770 </para>
2771 <para lang="en"> 2771 <para lang="en">
2772 now "limit_req" directive conforms to the leaky bucket algorithm.<br/> 2772 now "limit_req" directive conforms to the leaky bucket algorithm.<br/>
2773 Thanks to Maxim Dounin. 2773 Thanks to Maxim Dounin.
2774 </para> 2774 </para>
2775 </change> 2775 </change>
2776 2776
2777 <change type="bugfix"> 2777 <change type="bugfix">
2778 <para lang="ru"> 2778 <para lang="ru">
2779 nginx не работал на Linux/sparc.<br/> 2779 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux/sparc.<br/>
2780 Спасибо Marcus Ramberg. 2780 п║п©п╟я│п╦п╠п╬ Marcus Ramberg.
2781 </para> 2781 </para>
2782 <para lang="en"> 2782 <para lang="en">
2783 nginx did not work on Linux/sparc.<br/> 2783 nginx did not work on Linux/sparc.<br/>
2784 Thanks to Marcus Ramberg. 2784 Thanks to Marcus Ramberg.
2785 </para> 2785 </para>
2786 </change> 2786 </change>
2787 2787
2788 <change type="bugfix"> 2788 <change type="bugfix">
2789 <para lang="ru"> 2789 <para lang="ru">
2790 nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос 2790 nginx я│п╩п╟п╩ я│п╦п╪п╡п╬п╩ '\0' п╡ я│я┌я─п╬п╨п╣ "Location" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╡ п╬я┌п╡п╣я┌п╣ п╫п╟ п╥п╟п©я─п╬я│
2791 MKCOL.<br/> 2791 MKCOL.<br/>
2792 Спасибо Xie Zhenye. 2792 п║п©п╟я│п╦п╠п╬ Xie Zhenye.
2793 </para> 2793 </para>
2794 <para lang="en"> 2794 <para lang="en">
2795 nginx sent '\0' in a "Location" response header line on MKCOL request.<br/> 2795 nginx sent '\0' in a "Location" response header line on MKCOL request.<br/>
2796 Thanks to Xie Zhenye. 2796 Thanks to Xie Zhenye.
2797 </para> 2797 </para>
2798 </change> 2798 </change>
2799 2799
2800 <change type="bugfix"> 2800 <change type="bugfix">
2801 <para lang="ru"> 2801 <para lang="ru">
2802 вместо кода ответа 499 в лог записывался код 0; 2802 п╡п╪п╣я│я┌п╬ п╨п╬п╢п╟ п╬я┌п╡п╣я┌п╟ 499 п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ п╨п╬п╢ 0;
2803 ошибка появилась в 0.8.11. 2803 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2804 </para> 2804 </para>
2805 <para lang="en"> 2805 <para lang="en">
2806 zero status code was logged instead of 499 status code; 2806 zero status code was logged instead of 499 status code;
2807 the bug had appeared in 0.8.11. 2807 the bug had appeared in 0.8.11.
2808 </para> 2808 </para>
2809 </change> 2809 </change>
2810 2810
2811 <change type="bugfix"> 2811 <change type="bugfix">
2812 <para lang="ru"> 2812 <para lang="ru">
2813 утечки сокетов; 2813 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
2814 ошибка появилась в 0.8.11. 2814 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2815 </para> 2815 </para>
2816 <para lang="en"> 2816 <para lang="en">
2817 socket leak; 2817 socket leak;
2818 the bug had appeared in 0.8.11. 2818 the bug had appeared in 0.8.11.
2819 </para> 2819 </para>
2824 2824
2825 <changes ver="0.8.17" date="28.09.2009"> 2825 <changes ver="0.8.17" date="28.09.2009">
2826 2826
2827 <change type="security"> 2827 <change type="security">
2828 <para lang="ru"> 2828 <para lang="ru">
2829 теперь символы "/../" запрещены в строке "Destination" в заголовке запроса. 2829 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ "/../" п╥п╟п©я─п╣я┴п╣п╫я▀ п╡ я│я┌я─п╬п╨п╣ "Destination" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
2830 </para> 2830 </para>
2831 <para lang="en"> 2831 <para lang="en">
2832 now "/../" are disabled in "Destination" request header line. 2832 now "/../" are disabled in "Destination" request header line.
2833 </para> 2833 </para>
2834 </change> 2834 </change>
2835 2835
2836 <change type="change"> 2836 <change type="change">
2837 <para lang="ru"> 2837 <para lang="ru">
2838 теперь значение переменной $host всегда в нижнем регистре. 2838 я┌п╣п©п╣я─я▄ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $host п╡я│п╣пЁп╢п╟ п╡ п╫п╦п╤п╫п╣п╪ я─п╣пЁп╦я│я┌я─п╣.
2839 </para> 2839 </para>
2840 <para lang="en"> 2840 <para lang="en">
2841 now $host variable value is always low case. 2841 now $host variable value is always low case.
2842 </para> 2842 </para>
2843 </change> 2843 </change>
2844 2844
2845 <change type="feature"> 2845 <change type="feature">
2846 <para lang="ru"> 2846 <para lang="ru">
2847 переменная $ssl_session_id. 2847 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_session_id.
2848 </para> 2848 </para>
2849 <para lang="en"> 2849 <para lang="en">
2850 the $ssl_session_id variable. 2850 the $ssl_session_id variable.
2851 </para> 2851 </para>
2852 </change> 2852 </change>
2853 2853
2854 <change type="bugfix"> 2854 <change type="bugfix">
2855 <para lang="ru"> 2855 <para lang="ru">
2856 утечки сокетов; 2856 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
2857 ошибка появилась в 0.8.11. 2857 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
2858 </para> 2858 </para>
2859 <para lang="en"> 2859 <para lang="en">
2860 socket leak; 2860 socket leak;
2861 the bug had appeared in 0.8.11. 2861 the bug had appeared in 0.8.11.
2862 </para> 2862 </para>
2867 2867
2868 <changes ver="0.8.16" date="22.09.2009"> 2868 <changes ver="0.8.16" date="22.09.2009">
2869 2869
2870 <change type="feature"> 2870 <change type="feature">
2871 <para lang="ru"> 2871 <para lang="ru">
2872 директива image_filter_transparency. 2872 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_transparency.
2873 </para> 2873 </para>
2874 <para lang="en"> 2874 <para lang="en">
2875 the "image_filter_transparency" directive. 2875 the "image_filter_transparency" directive.
2876 </para> 2876 </para>
2877 </change> 2877 </change>
2878 2878
2879 <change type="bugfix"> 2879 <change type="bugfix">
2880 <para lang="ru"> 2880 <para lang="ru">
2881 директива "addition_types" была неверно названа "addtion_types". 2881 п╢п╦я─п╣п╨я┌п╦п╡п╟ "addition_types" п╠я▀п╩п╟ п╫п╣п╡п╣я─п╫п╬ п╫п╟п╥п╡п╟п╫п╟ "addtion_types".
2882 </para> 2882 </para>
2883 <para lang="en"> 2883 <para lang="en">
2884 "addition_types" directive was incorrectly named "addtion_types". 2884 "addition_types" directive was incorrectly named "addtion_types".
2885 </para> 2885 </para>
2886 </change> 2886 </change>
2887 2887
2888 <change type="bugfix"> 2888 <change type="bugfix">
2889 <para lang="ru"> 2889 <para lang="ru">
2890 порчи кэша resolver'а.<br/> 2890 п©п╬я─я┤п╦ п╨я█я┬п╟ resolver'п╟.<br/>
2891 Спасибо Matthew Dempsky. 2891 п║п©п╟я│п╦п╠п╬ Matthew Dempsky.
2892 </para> 2892 </para>
2893 <para lang="en"> 2893 <para lang="en">
2894 resolver cache poisoning.<br/> 2894 resolver cache poisoning.<br/>
2895 Thanks to Matthew Dempsky. 2895 Thanks to Matthew Dempsky.
2896 </para> 2896 </para>
2897 </change> 2897 </change>
2898 2898
2899 <change type="bugfix"> 2899 <change type="bugfix">
2900 <para lang="ru"> 2900 <para lang="ru">
2901 утечки памяти в resolver'е.<br/> 2901 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ resolver'п╣.<br/>
2902 Спасибо Matthew Dempsky. 2902 п║п©п╟я│п╦п╠п╬ Matthew Dempsky.
2903 </para> 2903 </para>
2904 <para lang="en"> 2904 <para lang="en">
2905 memory leak in resolver.<br/> 2905 memory leak in resolver.<br/>
2906 Thanks to Matthew Dempsky. 2906 Thanks to Matthew Dempsky.
2907 </para> 2907 </para>
2908 </change> 2908 </change>
2909 2909
2910 <change type="bugfix"> 2910 <change type="bugfix">
2911 <para lang="ru"> 2911 <para lang="ru">
2912 неверная строка запроса в переменной $request записывалась в access_log 2912 п╫п╣п╡п╣я─п╫п╟я▐ я│я┌я─п╬п╨п╟ п╥п╟п©я─п╬я│п╟ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request п╥п╟п©п╦я│я▀п╡п╟п╩п╟я│я▄ п╡ access_log
2913 только при использовании error_log на уровне info или debug. 2913 я┌п╬п╩я▄п╨п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info п╦п╩п╦ debug.
2914 </para> 2914 </para>
2915 <para lang="en"> 2915 <para lang="en">
2916 invalid request line in $request variable was written in access_log 2916 invalid request line in $request variable was written in access_log
2917 only if error_log was set to "info" or "debug" level. 2917 only if error_log was set to "info" or "debug" level.
2918 </para> 2918 </para>
2919 </change> 2919 </change>
2920 2920
2921 <change type="bugfix"> 2921 <change type="bugfix">
2922 <para lang="ru"> 2922 <para lang="ru">
2923 в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. 2923 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п╟п╩я▄я└п╟-п╨п╟п╫п╟п╩п╟ PNG п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
2924 </para> 2924 </para>
2925 <para lang="en"> 2925 <para lang="en">
2926 in PNG alpha-channel support in the ngx_http_image_filter_module. 2926 in PNG alpha-channel support in the ngx_http_image_filter_module.
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 всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа, 2932 nginx п╡я│п╣пЁп╢п╟ п╢п╬п╠п╟п╡п╩я▐п╩ я│я┌я─п╬п╨я┐ "Vary: Accept-Encoding" п╡ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟,
2933 если обе директивы gzip_static и gzip_vary были включены. 2933 п╣я│п╩п╦ п╬п╠п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_static п╦ gzip_vary п╠я▀п╩п╦ п╡п╨п╩я▌я┤п╣п╫я▀.
2934 </para> 2934 </para>
2935 <para lang="en"> 2935 <para lang="en">
2936 nginx always added "Vary: Accept-Encoding" response header line, 2936 nginx always added "Vary: Accept-Encoding" response header line,
2937 if both "gzip_static" and "gzip_vary" were on. 2937 if both "gzip_static" and "gzip_vary" were on.
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 в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. 2943 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ try_files п╡ nginx/Windows.
2944 </para> 2944 </para>
2945 <para lang="en"> 2945 <para lang="en">
2946 in UTF-8 encoding support by "try_files" directive in nginx/Windows. 2946 in UTF-8 encoding support by "try_files" directive in nginx/Windows.
2947 </para> 2947 </para>
2948 </change> 2948 </change>
2949 2949
2950 <change type="bugfix"> 2950 <change type="bugfix">
2951 <para lang="ru"> 2951 <para lang="ru">
2952 ошибки при использовании post_action; 2952 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ post_action;
2953 ошибка появилась в 0.8.11.<br/> 2953 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.<br/>
2954 Спасибо Игорю Артемьеву. 2954 п║п©п╟я│п╦п╠п╬ п≤пЁп╬я─я▌ п░я─я┌п╣п╪я▄п╣п╡я┐.
2955 </para> 2955 </para>
2956 <para lang="en"> 2956 <para lang="en">
2957 in "post_action" directive usage; 2957 in "post_action" directive usage;
2958 the bug had appeared in 0.8.11.<br/> 2958 the bug had appeared in 0.8.11.<br/>
2959 Thanks to Igor Artemiev. 2959 Thanks to Igor Artemiev.
2965 2965
2966 <changes ver="0.8.15" date="14.09.2009"> 2966 <changes ver="0.8.15" date="14.09.2009">
2967 2967
2968 <change type="security"> 2968 <change type="security">
2969 <para lang="ru"> 2969 <para lang="ru">
2970 при обработке специально созданного запроса 2970 п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ я│п©п╣я├п╦п╟п╩я▄п╫п╬ я│п╬п╥п╢п╟п╫п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟
2971 в рабочем процессе мог произойти segmentation fault.<br/> 2971 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
2972 Спасибо Chris Ries. 2972 п║п©п╟я│п╦п╠п╬ Chris Ries.
2973 </para> 2973 </para>
2974 <para lang="en"> 2974 <para lang="en">
2975 a segmentation fault might occur in worker process 2975 a segmentation fault might occur in worker process
2976 while specially crafted request handling.<br/> 2976 while specially crafted request handling.<br/>
2977 Thanks to Chris Ries. 2977 Thanks to Chris Ries.
2978 </para> 2978 </para>
2979 </change> 2979 </change>
2980 2980
2981 <change type="bugfix"> 2981 <change type="bugfix">
2982 <para lang="ru"> 2982 <para lang="ru">
2983 если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld, 2983 п╣я│п╩п╦ п╠я▀п╩п╦ п╬п©п╦я│п╟п╫я▀ п╦п╪п╣п╫п╟ .domain.tld, .sub.domain.tld п╦ .domain-some.tld,
2984 то имя .sub.domain.tld попадало под маску .domain.tld. 2984 я┌п╬ п╦п╪я▐ .sub.domain.tld п©п╬п©п╟п╢п╟п╩п╬ п©п╬п╢ п╪п╟я│п╨я┐ .domain.tld.
2985 </para> 2985 </para>
2986 <para lang="en"> 2986 <para lang="en">
2987 if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, 2987 if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined,
2988 then the name .sub.domain.tld was matched by .domain.tld. 2988 then the name .sub.domain.tld was matched by .domain.tld.
2989 </para> 2989 </para>
2990 </change> 2990 </change>
2991 2991
2992 <change type="bugfix"> 2992 <change type="bugfix">
2993 <para lang="ru"> 2993 <para lang="ru">
2994 в поддержке прозрачности в модуле ngx_http_image_filter_module. 2994 п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п©я─п╬п╥я─п╟я┤п╫п╬я│я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
2995 </para> 2995 </para>
2996 <para lang="en"> 2996 <para lang="en">
2997 in transparency support in the ngx_http_image_filter_module. 2997 in transparency support in the ngx_http_image_filter_module.
2998 </para> 2998 </para>
2999 </change> 2999 </change>
3000 3000
3001 <change type="bugfix"> 3001 <change type="bugfix">
3002 <para lang="ru"> 3002 <para lang="ru">
3003 в файловом AIO. 3003 п╡ я└п╟п╧п╩п╬п╡п╬п╪ AIO.
3004 </para> 3004 </para>
3005 <para lang="en"> 3005 <para lang="en">
3006 in file AIO. 3006 in file AIO.
3007 </para> 3007 </para>
3008 </change> 3008 </change>
3009 3009
3010 <change type="bugfix"> 3010 <change type="bugfix">
3011 <para lang="ru"> 3011 <para lang="ru">
3012 ошибки при использовании X-Accel-Redirect; 3012 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ X-Accel-Redirect;
3013 ошибка появилась в 0.8.11. 3013 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3014 </para> 3014 </para>
3015 <para lang="en"> 3015 <para lang="en">
3016 in X-Accel-Redirect usage; 3016 in X-Accel-Redirect usage;
3017 the bug had appeared in 0.8.11. 3017 the bug had appeared in 0.8.11.
3018 </para> 3018 </para>
3019 </change> 3019 </change>
3020 3020
3021 <change type="bugfix"> 3021 <change type="bugfix">
3022 <para lang="ru"> 3022 <para lang="ru">
3023 ошибки при использовании встроенного перла; 3023 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я│я┌я─п╬п╣п╫п╫п╬пЁп╬ п©п╣я─п╩п╟;
3024 ошибка появилась в 0.8.11. 3024 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3025 </para> 3025 </para>
3026 <para lang="en"> 3026 <para lang="en">
3027 in embedded perl module; 3027 in embedded perl module;
3028 the bug had appeared in 0.8.11. 3028 the bug had appeared in 0.8.11.
3029 </para> 3029 </para>
3034 3034
3035 <changes ver="0.8.14" date="07.09.2009"> 3035 <changes ver="0.8.14" date="07.09.2009">
3036 3036
3037 <change type="bugfix"> 3037 <change type="bugfix">
3038 <para lang="ru"> 3038 <para lang="ru">
3039 устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING". 3039 я┐я│я┌п╟я─п╣п╡я┬п╦п╧ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀п╧ п╥п╟п©я─п╬я│ п╪п╬пЁ п╥п╟п╩п╦п©п╫я┐я┌я▄ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ "UPDATING".
3040 </para> 3040 </para>
3041 <para lang="en"> 3041 <para lang="en">
3042 an expired cached response might stick in the "UPDATING" state. 3042 an expired cached response might stick in the "UPDATING" state.
3043 </para> 3043 </para>
3044 </change> 3044 </change>
3045 3045
3046 <change type="bugfix"> 3046 <change type="bugfix">
3047 <para lang="ru"> 3047 <para lang="ru">
3048 при использовании error_log на уровне info или debug 3048 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info п╦п╩п╦ debug
3049 в рабочем процессе мог произойти segmentation fault.<br/> 3049 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
3050 Спасибо Сергею Боченкову. 3050 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
3051 </para> 3051 </para>
3052 <para lang="en"> 3052 <para lang="en">
3053 a segmentation fault might occur in worker process, 3053 a segmentation fault might occur in worker process,
3054 if error_log was set to info or debug level.<br/> 3054 if error_log was set to info or debug level.<br/>
3055 Thanks to Sergey Bochenkov. 3055 Thanks to Sergey Bochenkov.
3056 </para> 3056 </para>
3057 </change> 3057 </change>
3058 3058
3059 <change type="bugfix"> 3059 <change type="bugfix">
3060 <para lang="ru"> 3060 <para lang="ru">
3061 ошибки при использовании встроенного перла; 3061 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я│я┌я─п╬п╣п╫п╫п╬пЁп╬ п©п╣я─п╩п╟;
3062 ошибка появилась в 0.8.11. 3062 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3063 </para> 3063 </para>
3064 <para lang="en"> 3064 <para lang="en">
3065 in embedded perl module; 3065 in embedded perl module;
3066 the bug had appeared in 0.8.11. 3066 the bug had appeared in 0.8.11.
3067 </para> 3067 </para>
3068 </change> 3068 </change>
3069 3069
3070 <change type="bugfix"> 3070 <change type="bugfix">
3071 <para lang="ru"> 3071 <para lang="ru">
3072 директива error_page не перенаправляла ошибку 413; 3072 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟ п╬я┬п╦п╠п╨я┐ 413;
3073 ошибка появилась в 0.6.10. 3073 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.10.
3074 </para> 3074 </para>
3075 <para lang="en"> 3075 <para lang="en">
3076 an "error_page" directive did not redirect a 413 error; 3076 an "error_page" directive did not redirect a 413 error;
3077 the bug had appeared in 0.6.10. 3077 the bug had appeared in 0.6.10.
3078 </para> 3078 </para>
3083 3083
3084 <changes ver="0.8.13" date="31.08.2009"> 3084 <changes ver="0.8.13" date="31.08.2009">
3085 3085
3086 <change type="bugfix"> 3086 <change type="bugfix">
3087 <para lang="ru"> 3087 <para lang="ru">
3088 в директиве "aio sendfile"; 3088 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ "aio sendfile";
3089 ошибка появилась в 0.8.12. 3089 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.12.
3090 </para> 3090 </para>
3091 <para lang="en"> 3091 <para lang="en">
3092 in the "aio sendfile" directive; 3092 in the "aio sendfile" directive;
3093 the bug had appeared in 0.8.12. 3093 the bug had appeared in 0.8.12.
3094 </para> 3094 </para>
3095 </change> 3095 </change>
3096 3096
3097 <change type="bugfix"> 3097 <change type="bugfix">
3098 <para lang="ru"> 3098 <para lang="ru">
3099 nginx не собирался без параметра --with-file-aio на FreeBSD; 3099 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-file-aio п╫п╟ FreeBSD;
3100 ошибка появилась в 0.8.12. 3100 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.12.
3101 </para> 3101 </para>
3102 <para lang="en"> 3102 <para lang="en">
3103 nginx could not be built without the --with-file-aio option on FreeBSD; 3103 nginx could not be built without the --with-file-aio option on FreeBSD;
3104 the bug had appeared in 0.8.12. 3104 the bug had appeared in 0.8.12.
3105 </para> 3105 </para>
3110 3110
3111 <changes ver="0.8.12" date="31.08.2009"> 3111 <changes ver="0.8.12" date="31.08.2009">
3112 3112
3113 <change type="feature"> 3113 <change type="feature">
3114 <para lang="ru"> 3114 <para lang="ru">
3115 параметр sendfile в директиве aio во FreeBSD. 3115 п©п╟я─п╟п╪п╣я┌я─ sendfile п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ aio п╡п╬ FreeBSD.
3116 </para> 3116 </para>
3117 <para lang="en"> 3117 <para lang="en">
3118 the "sendfile" parameter in the "aio" directive on FreeBSD. 3118 the "sendfile" parameter in the "aio" directive on FreeBSD.
3119 </para> 3119 </para>
3120 </change> 3120 </change>
3121 3121
3122 <change type="bugfix"> 3122 <change type="bugfix">
3123 <para lang="ru"> 3123 <para lang="ru">
3124 ошибки при использовании try_files; 3124 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ try_files;
3125 ошибка появилась в 0.8.11. 3125 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3126 </para> 3126 </para>
3127 <para lang="en"> 3127 <para lang="en">
3128 in try_files; 3128 in try_files;
3129 the bug had appeared in 0.8.11. 3129 the bug had appeared in 0.8.11.
3130 </para> 3130 </para>
3131 </change> 3131 </change>
3132 3132
3133 <change type="bugfix"> 3133 <change type="bugfix">
3134 <para lang="ru"> 3134 <para lang="ru">
3135 ошибки при использовании memcached; 3135 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ memcached;
3136 ошибка появилась в 0.8.11. 3136 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.11.
3137 </para> 3137 </para>
3138 <para lang="en"> 3138 <para lang="en">
3139 in memcached; 3139 in memcached;
3140 the bug had appeared in 0.8.11. 3140 the bug had appeared in 0.8.11.
3141 </para> 3141 </para>
3145 3145
3146 <changes ver="0.8.11" date="28.08.2009"> 3146 <changes ver="0.8.11" date="28.08.2009">
3147 3147
3148 <change type="change"> 3148 <change type="change">
3149 <para lang="ru"> 3149 <para lang="ru">
3150 теперь директива "gzip_disable msie6" не запрещает сжатие для 3150 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "gzip_disable msie6" п╫п╣ п╥п╟п©я─п╣я┴п╟п╣я┌ я│п╤п╟я┌п╦п╣ п╢п╩я▐
3151 <nobr>MSIE 6.0 SV1.</nobr> 3151 <nobr>MSIE 6.0 SV1.</nobr>
3152 </para> 3152 </para>
3153 <para lang="en"> 3153 <para lang="en">
3154 now directive "gzip_disable msie6" does not disable gzipping for 3154 now directive "gzip_disable msie6" does not disable gzipping for
3155 <nobr>MSIE 6.0 SV1.</nobr> 3155 <nobr>MSIE 6.0 SV1.</nobr>
3156 </para> 3156 </para>
3157 </change> 3157 </change>
3158 3158
3159 <change type="feature"> 3159 <change type="feature">
3160 <para lang="ru"> 3160 <para lang="ru">
3161 поддержка файлового AIO во FreeBSD и Linux. 3161 п©п╬п╢п╢п╣я─п╤п╨п╟ я└п╟п╧п╩п╬п╡п╬пЁп╬ AIO п╡п╬ FreeBSD п╦ Linux.
3162 </para> 3162 </para>
3163 <para lang="en"> 3163 <para lang="en">
3164 file AIO support on FreeBSD and Linux. 3164 file AIO support on FreeBSD and Linux.
3165 </para> 3165 </para>
3166 </change> 3166 </change>
3167 3167
3168 <change type="feature"> 3168 <change type="feature">
3169 <para lang="ru"> 3169 <para lang="ru">
3170 директива directio_alignment. 3170 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio_alignment.
3171 </para> 3171 </para>
3172 <para lang="en"> 3172 <para lang="en">
3173 the "directio_alignment" directive. 3173 the "directio_alignment" directive.
3174 </para> 3174 </para>
3175 </change> 3175 </change>
3179 3179
3180 <changes ver="0.8.10" date="24.08.2009"> 3180 <changes ver="0.8.10" date="24.08.2009">
3181 3181
3182 <change type="bugfix"> 3182 <change type="bugfix">
3183 <para lang="ru"> 3183 <para lang="ru">
3184 утечек памяти при использовании базы GeoIP City. 3184 я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╟п╥я▀ GeoIP City.
3185 </para> 3185 </para>
3186 <para lang="en"> 3186 <para lang="en">
3187 memory leaks if GeoIP City database was used. 3187 memory leaks if GeoIP City database was used.
3188 </para> 3188 </para>
3189 </change> 3189 </change>
3190 3190
3191 <change type="bugfix"> 3191 <change type="bugfix">
3192 <para lang="ru"> 3192 <para lang="ru">
3193 ошибки при копировании временных файлов в постоянное место хранения; 3193 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐;
3194 ошибка появилась в 0.8.9. 3194 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.9.
3195 </para> 3195 </para>
3196 <para lang="en"> 3196 <para lang="en">
3197 in copying temporary files to permanent storage area; 3197 in copying temporary files to permanent storage area;
3198 the bug had appeared in 0.8.9. 3198 the bug had appeared in 0.8.9.
3199 </para> 3199 </para>
3204 3204
3205 <changes ver="0.8.9" date="17.08.2009"> 3205 <changes ver="0.8.9" date="17.08.2009">
3206 3206
3207 <change type="feature"> 3207 <change type="feature">
3208 <para lang="ru"> 3208 <para lang="ru">
3209 теперь стартовый загрузчик кэша работает в отдельном процесс; 3209 я┌п╣п©п╣я─я▄ я│я┌п╟я─я┌п╬п╡я▀п╧ п╥п╟пЁя─я┐п╥я┤п╦п╨ п╨я█я┬п╟ я─п╟п╠п╬я┌п╟п╣я┌ п╡ п╬я┌п╢п╣п╩я▄п╫п╬п╪ п©я─п╬я├п╣я│я│;
3210 это должно улучшить обработку больших кэшей. 3210 я█я┌п╬ п╢п╬п╩п╤п╫п╬ я┐п╩я┐я┤я┬п╦я┌я▄ п╬п╠я─п╟п╠п╬я┌п╨я┐ п╠п╬п╩я▄я┬п╦я┘ п╨я█я┬п╣п╧.
3211 </para> 3211 </para>
3212 <para lang="en"> 3212 <para lang="en">
3213 now the start cache loader runs in a separate process; 3213 now the start cache loader runs in a separate process;
3214 this should improve large caches handling. 3214 this should improve large caches handling.
3215 </para> 3215 </para>
3216 </change> 3216 </change>
3217 3217
3218 <change type="feature"> 3218 <change type="feature">
3219 <para lang="ru"> 3219 <para lang="ru">
3220 теперь временные файлы и постоянное место хранения могут располагаться 3220 я┌п╣п©п╣я─я▄ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╦ п©п╬я│я┌п╬я▐п╫п╫п╬п╣ п╪п╣я│я┌п╬ я┘я─п╟п╫п╣п╫п╦я▐ п╪п╬пЁя┐я┌ я─п╟я│п©п╬п╩п╟пЁп╟я┌я▄я│я▐
3221 на разных файловых системах. 3221 п╫п╟ я─п╟п╥п╫я▀я┘ я└п╟п╧п╩п╬п╡я▀я┘ я│п╦я│я┌п╣п╪п╟я┘.
3222 </para> 3222 </para>
3223 <para lang="en"> 3223 <para lang="en">
3224 now temporary files and permanent storage area may reside at 3224 now temporary files and permanent storage area may reside at
3225 different file systems. 3225 different file systems.
3226 </para> 3226 </para>
3231 3231
3232 <changes ver="0.8.8" date="10.08.2009"> 3232 <changes ver="0.8.8" date="10.08.2009">
3233 3233
3234 <change type="bugfix"> 3234 <change type="bugfix">
3235 <para lang="ru"> 3235 <para lang="ru">
3236 в обработке заголовков ответа, разделённых в FastCGI-записях. 3236 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╡ п╬я┌п╡п╣я┌п╟, я─п╟п╥п╢п╣п╩я▒п╫п╫я▀я┘ п╡ FastCGI-п╥п╟п©п╦я│я▐я┘.
3237 </para> 3237 </para>
3238 <para lang="en"> 3238 <para lang="en">
3239 in handling FastCGI headers split in records. 3239 in handling FastCGI headers split in records.
3240 </para> 3240 </para>
3241 </change> 3241 </change>
3242 3242
3243 <change type="bugfix"> 3243 <change type="bugfix">
3244 <para lang="ru"> 3244 <para lang="ru">
3245 если запрос обрабатывался в двух проксированных или FastCGI location'ах 3245 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п╡ п╢п╡я┐я┘ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п╦п╩п╦ FastCGI location'п╟я┘
3246 и в первом из них использовалось кэширование, 3246 п╦ п╡ п©п╣я─п╡п╬п╪ п╦п╥ п╫п╦я┘ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╣,
3247 то в рабочем процессе происходил segmentation fault; 3247 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
3248 ошибка появилась в 0.8.7. 3248 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.7.
3249 </para> 3249 </para>
3250 <para lang="en"> 3250 <para lang="en">
3251 a segmentation fault occurred in worker process, 3251 a segmentation fault occurred in worker process,
3252 if a request was handled in two proxied or FastCGIed locations 3252 if a request was handled in two proxied or FastCGIed locations
3253 and a caching was enabled in the first location; 3253 and a caching was enabled in the first location;
3260 3260
3261 <changes ver="0.8.7" date="27.07.2009"> 3261 <changes ver="0.8.7" date="27.07.2009">
3262 3262
3263 <change type="change"> 3263 <change type="change">
3264 <para lang="ru"> 3264 <para lang="ru">
3265 минимальная поддерживаемая версия OpenSSL&mdash;0.9.7. 3265 п╪п╦п╫п╦п╪п╟п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣п╪п╟я▐ п╡п╣я─я│п╦я▐ OpenSSL&mdash;0.9.7.
3266 </para> 3266 </para>
3267 <para lang="en"> 3267 <para lang="en">
3268 minimum supported OpenSSL version is 0.9.7. 3268 minimum supported OpenSSL version is 0.9.7.
3269 </para> 3269 </para>
3270 </change> 3270 </change>
3271 3271
3272 <change type="change"> 3272 <change type="change">
3273 <para lang="ru"> 3273 <para lang="ru">
3274 параметр ask директивы ssl_verify_client изменён на параметр optional 3274 п©п╟я─п╟п╪п╣я┌я─ ask п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client п╦п╥п╪п╣п╫я▒п╫ п╫п╟ п©п╟я─п╟п╪п╣я┌я─ optional
3275 и теперь он проверяет клиентский сертификат, если он был предложен.<br/> 3275 п╦ я┌п╣п©п╣я─я▄ п╬п╫ п©я─п╬п╡п╣я─я▐п╣я┌ п╨п╩п╦п╣п╫я┌я│п╨п╦п╧ я│п╣я─я┌п╦я└п╦п╨п╟я┌, п╣я│п╩п╦ п╬п╫ п╠я▀п╩ п©я─п╣п╢п╩п╬п╤п╣п╫.<br/>
3276 Спасибо Brice Figureau. 3276 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3277 </para> 3277 </para>
3278 <para lang="en"> 3278 <para lang="en">
3279 the "ask" parameter of the "ssl_verify_client" directive was changed 3279 the "ask" parameter of the "ssl_verify_client" directive was changed
3280 to the "optional" parameter and now it checks a client certificate if it was 3280 to the "optional" parameter and now it checks a client certificate if it was
3281 offered.<br/> 3281 offered.<br/>
3283 </para> 3283 </para>
3284 </change> 3284 </change>
3285 3285
3286 <change type="feature"> 3286 <change type="feature">
3287 <para lang="ru"> 3287 <para lang="ru">
3288 переменная $ssl_client_verify.<br/> 3288 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_verify.<br/>
3289 Спасибо Brice Figureau. 3289 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3290 </para> 3290 </para>
3291 <para lang="en"> 3291 <para lang="en">
3292 the $ssl_client_verify variable.<br/> 3292 the $ssl_client_verify variable.<br/>
3293 Thanks to Brice Figureau. 3293 Thanks to Brice Figureau.
3294 </para> 3294 </para>
3295 </change> 3295 </change>
3296 3296
3297 <change type="feature"> 3297 <change type="feature">
3298 <para lang="ru"> 3298 <para lang="ru">
3299 директива ssl_crl.<br/> 3299 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_crl.<br/>
3300 Спасибо Brice Figureau. 3300 п║п©п╟я│п╦п╠п╬ Brice Figureau.
3301 </para> 3301 </para>
3302 <para lang="en"> 3302 <para lang="en">
3303 the "ssl_crl" directive.<br/> 3303 the "ssl_crl" directive.<br/>
3304 Thanks to Brice Figureau. 3304 Thanks to Brice Figureau.
3305 </para> 3305 </para>
3306 </change> 3306 </change>
3307 3307
3308 <change type="feature"> 3308 <change type="feature">
3309 <para lang="ru"> 3309 <para lang="ru">
3310 параметр proxy директивы geo. 3310 п©п╟я─п╟п╪п╣я┌я─ proxy п╢п╦я─п╣п╨я┌п╦п╡я▀ geo.
3311 </para> 3311 </para>
3312 <para lang="en"> 3312 <para lang="en">
3313 the "proxy" parameter of the "geo" directive. 3313 the "proxy" parameter of the "geo" directive.
3314 </para> 3314 </para>
3315 </change> 3315 </change>
3316 3316
3317 <change type="feature"> 3317 <change type="feature">
3318 <para lang="ru"> 3318 <para lang="ru">
3319 директива image_filter поддерживает переменные для задания размеров. 3319 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╢п╩я▐ п╥п╟п╢п╟п╫п╦я▐ я─п╟п╥п╪п╣я─п╬п╡.
3320 </para> 3320 </para>
3321 <para lang="en"> 3321 <para lang="en">
3322 the "image_filter" directive supports variables for setting size. 3322 the "image_filter" directive supports variables for setting size.
3323 </para> 3323 </para>
3324 </change> 3324 </change>
3325 3325
3326 <change type="bugfix"> 3326 <change type="bugfix">
3327 <para lang="ru"> 3327 <para lang="ru">
3328 использование переменной $ssl_client_cert портило память; 3328 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $ssl_client_cert п©п╬я─я┌п╦п╩п╬ п©п╟п╪я▐я┌я▄;
3329 ошибка появилась в 0.7.7.<br/> 3329 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.<br/>
3330 Спасибо Сергею Журавлёву. 3330 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п√я┐я─п╟п╡п╩я▒п╡я┐.
3331 </para> 3331 </para>
3332 <para lang="en"> 3332 <para lang="en">
3333 the $ssl_client_cert variable usage corrupted memory; 3333 the $ssl_client_cert variable usage corrupted memory;
3334 the bug had appeared in 0.7.7.<br/> 3334 the bug had appeared in 0.7.7.<br/>
3335 Thanks to Sergey Zhuravlev. 3335 Thanks to Sergey Zhuravlev.
3336 </para> 3336 </para>
3337 </change> 3337 </change>
3338 3338
3339 <change type="bugfix"> 3339 <change type="bugfix">
3340 <para lang="ru"> 3340 <para lang="ru">
3341 директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту 3341 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass_header п╦ fastcgi_pass_header" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦ п╨п╩п╦п╣п╫я┌я┐
3342 строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и 3342 я│я┌я─п╬п╨п╦ "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" п╦
3343 "X-Accel-Charset" из заголовка ответа бэкенда.<br/> 3343 "X-Accel-Charset" п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.<br/>
3344 Спасибо Максиму Дунину. 3344 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3345 </para> 3345 </para>
3346 <para lang="en"> 3346 <para lang="en">
3347 "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to 3347 "proxy_pass_header" and "fastcgi_pass_header" directives did not pass to
3348 a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", 3348 a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering",
3349 and "X-Accel-Charset" lines from backend response header.<br/> 3349 and "X-Accel-Charset" lines from backend response header.<br/>
3351 </para> 3351 </para>
3352 </change> 3352 </change>
3353 3353
3354 <change type="bugfix"> 3354 <change type="bugfix">
3355 <para lang="ru"> 3355 <para lang="ru">
3356 в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда; 3356 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ я│я┌я─п╬п╨ "Last-Modified" п╦ "Accept-Ranges" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟;
3357 ошибка появилась в 0.7.44.<br/> 3357 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.<br/>
3358 Спасибо Максиму Дунину. 3358 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3359 </para> 3359 </para>
3360 <para lang="en"> 3360 <para lang="en">
3361 in handling "Last-Modified" and "Accept-Ranges" backend response header lines; 3361 in handling "Last-Modified" and "Accept-Ranges" backend response header lines;
3362 the bug had appeared in 0.7.44.<br/> 3362 the bug had appeared in 0.7.44.<br/>
3363 Thanks to Maxim Dounin. 3363 Thanks to Maxim Dounin.
3364 </para> 3364 </para>
3365 </change> 3365 </change>
3366 3366
3367 <change type="bugfix"> 3367 <change type="bugfix">
3368 <para lang="ru"> 3368 <para lang="ru">
3369 ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах; 3369 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ п©п╬п╩я┐я┤п╣п╫п╦п╦ п©я┐я│я┌я▀я┘ п╬я┌п╡п╣я┌я▀ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘;
3370 ошибка появилась в 0.8.5. 3370 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.5.
3371 </para> 3371 </para>
3372 <para lang="en"> 3372 <para lang="en">
3373 the "[alert] zero size buf" error if subrequest returns an empty response; 3373 the "[alert] zero size buf" error if subrequest returns an empty response;
3374 the bug had appeared in 0.8.5. 3374 the bug had appeared in 0.8.5.
3375 </para> 3375 </para>
3380 3380
3381 <changes ver="0.8.6" date="20.07.2009"> 3381 <changes ver="0.8.6" date="20.07.2009">
3382 3382
3383 <change type="feature"> 3383 <change type="feature">
3384 <para lang="ru"> 3384 <para lang="ru">
3385 модуль ngx_http_geoip_module. 3385 п╪п╬п╢я┐п╩я▄ ngx_http_geoip_module.
3386 </para> 3386 </para>
3387 <para lang="en"> 3387 <para lang="en">
3388 the ngx_http_geoip_module. 3388 the ngx_http_geoip_module.
3389 </para> 3389 </para>
3390 </change> 3390 </change>
3391 3391
3392 <change type="bugfix"> 3392 <change type="bugfix">
3393 <para lang="ru"> 3393 <para lang="ru">
3394 XSLT-фильтр мог выдавать ошибку "not well formed XML document" для 3394 XSLT-я└п╦п╩я▄я┌я─ п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┬п╦п╠п╨я┐ "not well formed XML document" п╢п╩я▐
3395 правильного документа.<br/> 3395 п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ п╢п╬п╨я┐п╪п╣п╫я┌п╟.<br/>
3396 Спасибо Kuramoto Eiji. 3396 п║п©п╟я│п╦п╠п╬ Kuramoto Eiji.
3397 </para> 3397 </para>
3398 <para lang="en"> 3398 <para lang="en">
3399 XSLT filter may fail with message "not well formed XML document" 3399 XSLT filter may fail with message "not well formed XML document"
3400 for valid XML document.<br/> 3400 for valid XML document.<br/>
3401 Thanks to Kuramoto Eiji. 3401 Thanks to Kuramoto Eiji.
3402 </para> 3402 </para>
3403 </change> 3403 </change>
3404 3404
3405 <change type="bugfix"> 3405 <change type="bugfix">
3406 <para lang="ru"> 3406 <para lang="ru">
3407 в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных 3407 п╡ MacOSX, Cygwin п╦ nginx/Windows п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ location'п╬п╡, п╥п╟п╢п╟п╫п╫я▀я┘
3408 регулярным выражением, теперь всегда делается сравнение без учёта 3408 я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪, я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ п╢п╣п╩п╟п╣я┌я│я▐ я│я─п╟п╡п╫п╣п╫п╦п╣ п╠п╣п╥ я┐я┤я▒я┌п╟
3409 регистра символов. 3409 я─п╣пЁп╦я│я┌я─п╟ я│п╦п╪п╡п╬п╩п╬п╡.
3410 </para> 3410 </para>
3411 <para lang="en"> 3411 <para lang="en">
3412 now in MacOSX, Cygwin, and nginx/Windows locations given by a regular 3412 now in MacOSX, Cygwin, and nginx/Windows locations given by a regular
3413 expression are always tested in case insensitive mode. 3413 expression are always tested in case insensitive mode.
3414 </para> 3414 </para>
3415 </change> 3415 </change>
3416 3416
3417 <change type="bugfix"> 3417 <change type="bugfix">
3418 <para lang="ru"> 3418 <para lang="ru">
3419 теперь nginx/Windows игнорирует точки в конце URI.<br/> 3419 я┌п╣п©п╣я─я▄ nginx/Windows п╦пЁп╫п╬я─п╦я─я┐п╣я┌ я┌п╬я┤п╨п╦ п╡ п╨п╬п╫я├п╣ URI.<br/>
3420 Спасибо Hugo Leisink. 3420 п║п©п╟я│п╦п╠п╬ Hugo Leisink.
3421 </para> 3421 </para>
3422 <para lang="en"> 3422 <para lang="en">
3423 now nginx/Windows ignores trailing dots in URI.<br/> 3423 now nginx/Windows ignores trailing dots in URI.<br/>
3424 Thanks to Hugo Leisink. 3424 Thanks to Hugo Leisink.
3425 </para> 3425 </para>
3426 </change> 3426 </change>
3427 3427
3428 <change type="bugfix"> 3428 <change type="bugfix">
3429 <para lang="ru"> 3429 <para lang="ru">
3430 имя файла указанного в --conf-path игнорировалось при установке; 3430 п╦п╪я▐ я└п╟п╧п╩п╟ я┐п╨п╟п╥п╟п╫п╫п╬пЁп╬ п╡ --conf-path п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╬я│я▄ п©я─п╦ я┐я│я┌п╟п╫п╬п╡п╨п╣;
3431 ошибка появилась в 0.6.6.<br/> 3431 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.<br/>
3432 Спасибо Максиму Дунину. 3432 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3433 </para> 3433 </para>
3434 <para lang="en"> 3434 <para lang="en">
3435 name of file specified in --conf-path was not honored during installation; 3435 name of file specified in --conf-path was not honored during installation;
3436 the bug had appeared in 0.6.6.<br/> 3436 the bug had appeared in 0.6.6.<br/>
3437 Thanks to Maxim Dounin. 3437 Thanks to Maxim Dounin.
3443 3443
3444 <changes ver="0.8.5" date="13.07.2009"> 3444 <changes ver="0.8.5" date="13.07.2009">
3445 3445
3446 <change type="bugfix"> 3446 <change type="bugfix">
3447 <para lang="ru"> 3447 <para lang="ru">
3448 теперь nginx разрешает подчёркивания в методе запроса. 3448 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╪п╣я┌п╬п╢п╣ п╥п╟п©я─п╬я│п╟.
3449 </para> 3449 </para>
3450 <para lang="en"> 3450 <para lang="en">
3451 now nginx allows underscores in a request method. 3451 now nginx allows underscores in a request method.
3452 </para> 3452 </para>
3453 </change> 3453 </change>
3454 3454
3455 <change type="bugfix"> 3455 <change type="bugfix">
3456 <para lang="ru"> 3456 <para lang="ru">
3457 при использовании HTTP Basic-аутентификации на Windows 3457 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTP Basic-п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п╫п╟ Windows
3458 для неверных имени/пароля возвращалась 500-ая ошибка. 3458 п╢п╩я▐ п╫п╣п╡п╣я─п╫я▀я┘ п╦п╪п╣п╫п╦/п©п╟я─п╬п╩я▐ п╡п╬п╥п╡я─п╟я┴п╟п╩п╟я│я▄ 500-п╟я▐ п╬я┬п╦п╠п╨п╟.
3459 </para> 3459 </para>
3460 <para lang="en"> 3460 <para lang="en">
3461 a 500 error code was returned for invalid login/password while HTTP 3461 a 500 error code was returned for invalid login/password while HTTP
3462 Basic authentication on Windows. 3462 Basic authentication on Windows.
3463 </para> 3463 </para>
3464 </change> 3464 </change>
3465 3465
3466 <change type="bugfix"> 3466 <change type="bugfix">
3467 <para lang="ru"> 3467 <para lang="ru">
3468 ответы модуля ngx_http_perl_module не работали в подзапросах. 3468 п╬я┌п╡п╣я┌я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
3469 </para> 3469 </para>
3470 <para lang="en"> 3470 <para lang="en">
3471 ngx_http_perl_module responses did not work in subrequests. 3471 ngx_http_perl_module responses did not work in subrequests.
3472 </para> 3472 </para>
3473 </change> 3473 </change>
3474 3474
3475 <change type="bugfix"> 3475 <change type="bugfix">
3476 <para lang="ru"> 3476 <para lang="ru">
3477 в модуле ngx_http_limit_req_module.<br/> 3477 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_limit_req_module.<br/>
3478 Спасибо Максиму Дунину. 3478 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3479 </para> 3479 </para>
3480 <para lang="en"> 3480 <para lang="en">
3481 in ngx_http_limit_req_module.<br/> 3481 in ngx_http_limit_req_module.<br/>
3482 Thanks to Maxim Dounin. 3482 Thanks to Maxim Dounin.
3483 </para> 3483 </para>
3488 3488
3489 <changes ver="0.8.4" date="22.06.2009"> 3489 <changes ver="0.8.4" date="22.06.2009">
3490 3490
3491 <change type="bugfix"> 3491 <change type="bugfix">
3492 <para lang="ru"> 3492 <para lang="ru">
3493 nginx не собирался с параметром --without-http-cache; 3493 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
3494 ошибка появилась в 0.8.3. 3494 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.3.
3495 </para> 3495 </para>
3496 <para lang="en"> 3496 <para lang="en">
3497 nginx could not be built --without-http-cache; 3497 nginx could not be built --without-http-cache;
3498 the bug had appeared in 0.8.3. 3498 the bug had appeared in 0.8.3.
3499 </para> 3499 </para>
3504 3504
3505 <changes ver="0.8.3" date="19.06.2009"> 3505 <changes ver="0.8.3" date="19.06.2009">
3506 3506
3507 <change type="feature"> 3507 <change type="feature">
3508 <para lang="ru"> 3508 <para lang="ru">
3509 переменная $upstream_cache_status. 3509 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_cache_status.
3510 </para> 3510 </para>
3511 <para lang="en"> 3511 <para lang="en">
3512 the $upstream_cache_status variable. 3512 the $upstream_cache_status variable.
3513 </para> 3513 </para>
3514 </change> 3514 </change>
3515 3515
3516 <change type="bugfix"> 3516 <change type="bugfix">
3517 <para lang="ru"> 3517 <para lang="ru">
3518 nginx не собирался на MacOSX 10.6. 3518 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOSX 10.6.
3519 </para> 3519 </para>
3520 <para lang="en"> 3520 <para lang="en">
3521 nginx could not be built on MacOSX 10.6. 3521 nginx could not be built on MacOSX 10.6.
3522 </para> 3522 </para>
3523 </change> 3523 </change>
3524 3524
3525 <change type="bugfix"> 3525 <change type="bugfix">
3526 <para lang="ru"> 3526 <para lang="ru">
3527 nginx не собирался с параметром --without-http-cache; 3527 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
3528 ошибка появилась в 0.8.2. 3528 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.8.2.
3529 </para> 3529 </para>
3530 <para lang="en"> 3530 <para lang="en">
3531 nginx could not be built --without-http-cache; 3531 nginx could not be built --without-http-cache;
3532 the bug had appeared in 0.8.2. 3532 the bug had appeared in 0.8.2.
3533 </para> 3533 </para>
3534 </change> 3534 </change>
3535 3535
3536 <change type="bugfix"> 3536 <change type="bugfix">
3537 <para lang="ru"> 3537 <para lang="ru">
3538 если использовался перехват 401 ошибки от бэкенда и бэкенд 3538 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╣я─п╣я┘п╡п╟я┌ 401 п╬я┬п╦п╠п╨п╦ п╬я┌ п╠я█п╨п╣п╫п╢п╟ п╦ п╠я█п╨п╣п╫п╢
3539 не возвращал строку "WWW-Authenticate" в заголовке ответа, 3539 п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩ я│я┌я─п╬п╨я┐ "WWW-Authenticate" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟,
3540 то в рабочем процессе происходил segmentation fault.<br/> 3540 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
3541 Спасибо Евгению Мычло. 3541 п║п©п╟я│п╦п╠п╬ п∙п╡пЁп╣п╫п╦я▌ п°я▀я┤п╩п╬.
3542 </para> 3542 </para>
3543 <para lang="en"> 3543 <para lang="en">
3544 a segmentation fault occurred in worker process, 3544 a segmentation fault occurred in worker process,
3545 if a backend 401 error was intercepted and the backend did not set 3545 if a backend 401 error was intercepted and the backend did not set
3546 the "WWW-Authenticate" response header line.<br/> 3546 the "WWW-Authenticate" response header line.<br/>
3553 3553
3554 <changes ver="0.8.2" date="15.06.2009"> 3554 <changes ver="0.8.2" date="15.06.2009">
3555 3555
3556 <change type="bugfix"> 3556 <change type="bugfix">
3557 <para lang="ru"> 3557 <para lang="ru">
3558 во взаимодействии open_file_cache и proxy/fastcgi кэша на старте. 3558 п╡п╬ п╡п╥п╟п╦п╪п╬п╢п╣п╧я│я┌п╡п╦п╦ open_file_cache п╦ proxy/fastcgi п╨я█я┬п╟ п╫п╟ я│я┌п╟я─я┌п╣.
3559 </para> 3559 </para>
3560 <para lang="en"> 3560 <para lang="en">
3561 in open_file_cache and proxy/fastcgi cache interaction on start up. 3561 in open_file_cache and proxy/fastcgi cache interaction on start up.
3562 </para> 3562 </para>
3563 </change> 3563 </change>
3564 3564
3565 <change type="bugfix"> 3565 <change type="bugfix">
3566 <para lang="ru"> 3566 <para lang="ru">
3567 open_file_cache мог кэшировать открытые файлы очень долго; 3567 open_file_cache п╪п╬пЁ п╨я█я┬п╦я─п╬п╡п╟я┌я▄ п╬я┌п╨я─я▀я┌я▀п╣ я└п╟п╧п╩я▀ п╬я┤п╣п╫я▄ п╢п╬п╩пЁп╬;
3568 ошибка появилась в 0.7.4. 3568 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.4.
3569 </para> 3569 </para>
3570 <para lang="en"> 3570 <para lang="en">
3571 open_file_cache might cache open file descriptors too long; 3571 open_file_cache might cache open file descriptors too long;
3572 the bug had appeared in 0.7.4. 3572 the bug had appeared in 0.7.4.
3573 </para> 3573 </para>
3578 3578
3579 <changes ver="0.8.1" date="08.06.2009"> 3579 <changes ver="0.8.1" date="08.06.2009">
3580 3580
3581 <change type="feature"> 3581 <change type="feature">
3582 <para lang="ru"> 3582 <para lang="ru">
3583 параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. 3583 п©п╟я─п╟п╪п╣я┌я─ updating п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_cache_use_stale п╦ fastcgi_cache_use_stale.
3584 </para> 3584 </para>
3585 <para lang="en"> 3585 <para lang="en">
3586 the "updating" parameter in "proxy_cache_use_stale" and 3586 the "updating" parameter in "proxy_cache_use_stale" and
3587 "fastcgi_cache_use_stale" directives. 3587 "fastcgi_cache_use_stale" directives.
3588 </para> 3588 </para>
3589 </change> 3589 </change>
3590 3590
3591 <change type="bugfix"> 3591 <change type="bugfix">
3592 <para lang="ru"> 3592 <para lang="ru">
3593 строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 3593 я│я┌я─п╬п╨п╦ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
3594 клиента передавались бэкенду при кэшировании, если не использовалась 3594 п╨п╩п╦п╣п╫я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╠я█п╨п╣п╫п╢я┐ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄
3595 директива proxy_set_header с любыми параметрами. 3595 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_header я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
3596 </para> 3596 </para>
3597 <para lang="en"> 3597 <para lang="en">
3598 the "If-Modified-Since", "If-Range", etc. client request header lines 3598 the "If-Modified-Since", "If-Range", etc. client request header lines
3599 were passed to backend while caching if no "proxy_set_header" directive 3599 were passed to backend while caching if no "proxy_set_header" directive
3600 was used with any parameters. 3600 was used with any parameters.
3601 </para> 3601 </para>
3602 </change> 3602 </change>
3603 3603
3604 <change type="bugfix"> 3604 <change type="bugfix">
3605 <para lang="ru"> 3605 <para lang="ru">
3606 строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались 3606 я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╫п╣ я│п╨я─я▀п╡п╟п╩п╦я│я▄
3607 при кэшировании, если не использовались директивы 3607 п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀
3608 proxy_hide_header/fastcgi_hide_header с любыми параметрами. 3608 proxy_hide_header/fastcgi_hide_header я│ п╩я▌п╠я▀п╪п╦ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
3609 </para> 3609 </para>
3610 <para lang="en"> 3610 <para lang="en">
3611 the "Set-Cookie" and "P3P" response header lines were not hidden while caching 3611 the "Set-Cookie" and "P3P" response header lines were not hidden while caching
3612 if no "proxy_hide_header/fastcgi_hide_header" directives were used with 3612 if no "proxy_hide_header/fastcgi_hide_header" directives were used with
3613 any parameters. 3613 any parameters.
3614 </para> 3614 </para>
3615 </change> 3615 </change>
3616 3616
3617 <change type="bugfix"> 3617 <change type="bugfix">
3618 <para lang="ru"> 3618 <para lang="ru">
3619 модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/> 3619 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module п╫п╣ п©п╬п╫п╦п╪п╟п╩ я└п╬я─п╪п╟я┌ GIF87a.<br/>
3620 Спасибо Денису Ильиных. 3620 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п≤п╩я▄п╦п╫я▀я┘.
3621 </para> 3621 </para>
3622 <para lang="en"> 3622 <para lang="en">
3623 the ngx_http_image_filter_module did not support GIF87a format.<br/> 3623 the ngx_http_image_filter_module did not support GIF87a format.<br/>
3624 Thanks to Denis Ilyinyh. 3624 Thanks to Denis Ilyinyh.
3625 </para> 3625 </para>
3626 </change> 3626 </change>
3627 3627
3628 <change type="bugfix"> 3628 <change type="bugfix">
3629 <para lang="ru"> 3629 <para lang="ru">
3630 nginx не собирался на Solaris 10 и более ранних; 3630 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris 10 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
3631 ошибка появилась в 0.7.56. 3631 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
3632 </para> 3632 </para>
3633 <para lang="en"> 3633 <para lang="en">
3634 nginx could not be built modules on Solaris 10 and early; 3634 nginx could not be built modules on Solaris 10 and early;
3635 the bug had appeared in 0.7.56. 3635 the bug had appeared in 0.7.56.
3636 </para> 3636 </para>
3641 3641
3642 <changes ver="0.8.0" date="02.06.2009"> 3642 <changes ver="0.8.0" date="02.06.2009">
3643 3643
3644 <change type="feature"> 3644 <change type="feature">
3645 <para lang="ru"> 3645 <para lang="ru">
3646 директива keepalive_requests. 3646 п╢п╦я─п╣п╨я┌п╦п╡п╟ keepalive_requests.
3647 </para> 3647 </para>
3648 <para lang="en"> 3648 <para lang="en">
3649 the "keepalive_requests" directive. 3649 the "keepalive_requests" directive.
3650 </para> 3650 </para>
3651 </change> 3651 </change>
3652 3652
3653 <change type="feature"> 3653 <change type="feature">
3654 <para lang="ru"> 3654 <para lang="ru">
3655 директива limit_rate_after.<br/> 3655 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate_after.<br/>
3656 Спасибо Ivan Debnar. 3656 п║п©п╟я│п╦п╠п╬ Ivan Debnar.
3657 </para> 3657 </para>
3658 <para lang="en"> 3658 <para lang="en">
3659 the "limit_rate_after" directive.<br/> 3659 the "limit_rate_after" directive.<br/>
3660 Thanks to Ivan Debnar. 3660 Thanks to Ivan Debnar.
3661 </para> 3661 </para>
3662 </change> 3662 </change>
3663 3663
3664 <change type="bugfix"> 3664 <change type="bugfix">
3665 <para lang="ru"> 3665 <para lang="ru">
3666 XSLT-фильтр не работал в подзапросах. 3666 XSLT-я└п╦п╩я▄я┌я─ п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
3667 </para> 3667 </para>
3668 <para lang="en"> 3668 <para lang="en">
3669 XLST filter did not work in subrequests. 3669 XLST filter did not work in subrequests.
3670 </para> 3670 </para>
3671 </change> 3671 </change>
3672 3672
3673 <change type="bugfix"> 3673 <change type="bugfix">
3674 <para lang="ru"> 3674 <para lang="ru">
3675 обработке относительных путей в nginx/Windows. 3675 п╬п╠я─п╟п╠п╬я┌п╨п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀я┘ п©я┐я┌п╣п╧ п╡ nginx/Windows.
3676 </para> 3676 </para>
3677 <para lang="en"> 3677 <para lang="en">
3678 in relative paths handling in nginx/Windows. 3678 in relative paths handling in nginx/Windows.
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 в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows. 3684 п╡ proxy_store, fastcgi_store, proxy_cache п╦ fastcgi_cache п╡ nginx/Windows.
3685 </para> 3685 </para>
3686 <para lang="en"> 3686 <para lang="en">
3687 in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows. 3687 in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows.
3688 </para> 3688 </para>
3689 </change> 3689 </change>
3690 3690
3691 <change type="bugfix"> 3691 <change type="bugfix">
3692 <para lang="ru"> 3692 <para lang="ru">
3693 в обработке ошибок выделения памяти.<br/> 3693 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╬я┬п╦п╠п╬п╨ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п©п╟п╪я▐я┌п╦.<br/>
3694 Спасибо Максиму Дунину и Кириллу Коринскому. 3694 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐ п╦ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
3695 </para> 3695 </para>
3696 <para lang="en"> 3696 <para lang="en">
3697 in memory allocation error handling.<br/> 3697 in memory allocation error handling.<br/>
3698 Thanks to Maxim Dounin and Kirill A. Korinskiy. 3698 Thanks to Maxim Dounin and Kirill A. Korinskiy.
3699 </para> 3699 </para>
3704 3704
3705 <changes ver="0.7.59" date="25.05.2009"> 3705 <changes ver="0.7.59" date="25.05.2009">
3706 3706
3707 <change type="feature"> 3707 <change type="feature">
3708 <para lang="ru"> 3708 <para lang="ru">
3709 директивы proxy_cache_methods и fastcgi_cache_methods. 3709 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache_methods п╦ fastcgi_cache_methods.
3710 </para> 3710 </para>
3711 <para lang="en"> 3711 <para lang="en">
3712 the "proxy_cache_methods" and "fastcgi_cache_methods" directives. 3712 the "proxy_cache_methods" and "fastcgi_cache_methods" directives.
3713 </para> 3713 </para>
3714 </change> 3714 </change>
3715 3715
3716 <change type="bugfix"> 3716 <change type="bugfix">
3717 <para lang="ru"> 3717 <para lang="ru">
3718 утечки сокетов; 3718 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
3719 ошибка появилась в 0.7.25.<br/> 3719 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.<br/>
3720 Спасибо Максиму Дунину. 3720 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3721 </para> 3721 </para>
3722 <para lang="en"> 3722 <para lang="en">
3723 socket leak; 3723 socket leak;
3724 the bug had appeared in 0.7.25.<br/> 3724 the bug had appeared in 0.7.25.<br/>
3725 Thanks to Maxim Dounin. 3725 Thanks to Maxim Dounin.
3726 </para> 3726 </para>
3727 </change> 3727 </change>
3728 3728
3729 <change type="bugfix"> 3729 <change type="bugfix">
3730 <para lang="ru"> 3730 <para lang="ru">
3731 при использовании переменной $request_body 3731 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request_body
3732 в рабочем процессе происходил segmentation fault, 3732 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
3733 если в запросе не было тела; 3733 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╫п╣ п╠я▀п╩п╬ я┌п╣п╩п╟;
3734 ошибка появилась в 0.7.58. 3734 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.58.
3735 </para> 3735 </para>
3736 <para lang="en"> 3736 <para lang="en">
3737 a segmentation fault occurred in worker process, 3737 a segmentation fault occurred in worker process,
3738 <nobr>if a request</nobr> had no body and the $request_body 3738 <nobr>if a request</nobr> had no body and the $request_body
3739 variable was used;<br/> 3739 variable was used;<br/>
3741 </para> 3741 </para>
3742 </change> 3742 </change>
3743 3743
3744 <change type="bugfix"> 3744 <change type="bugfix">
3745 <para lang="ru"> 3745 <para lang="ru">
3746 SSL-модули могли не собираться на Solaris и Linux; 3746 SSL-п╪п╬п╢я┐п╩п╦ п╪п╬пЁп╩п╦ п╫п╣ я│п╬п╠п╦я─п╟я┌я▄я│я▐ п╫п╟ Solaris п╦ Linux;
3747 ошибка появилась в 0.7.56. 3747 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
3748 </para> 3748 </para>
3749 <para lang="en"> 3749 <para lang="en">
3750 the SSL modules might not built on Solaris and Linux;<br/> 3750 the SSL modules might not built on Solaris and Linux;<br/>
3751 the bug had appeared in 0.7.56. 3751 the bug had appeared in 0.7.56.
3752 </para> 3752 </para>
3753 </change> 3753 </change>
3754 3754
3755 <change type="bugfix"> 3755 <change type="bugfix">
3756 <para lang="ru"> 3756 <para lang="ru">
3757 ответы модуля ngx_http_xslt_filter_module не обрабатывались 3757 п╬я┌п╡п╣я┌я▀ п╪п╬п╢я┐п╩я▐ ngx_http_xslt_filter_module п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄
3758 SSI-, charset- и gzip-фильтрами. 3758 SSI-, charset- п╦ gzip-я└п╦п╩я▄я┌я─п╟п╪п╦.
3759 </para> 3759 </para>
3760 <para lang="en"> 3760 <para lang="en">
3761 ngx_http_xslt_filter_module responses were not handled by SSI, charset, 3761 ngx_http_xslt_filter_module responses were not handled by SSI, charset,
3762 and gzip filters. 3762 and gzip filters.
3763 </para> 3763 </para>
3764 </change> 3764 </change>
3765 3765
3766 <change type="bugfix"> 3766 <change type="bugfix">
3767 <para lang="ru"> 3767 <para lang="ru">
3768 директива charset не ставила кодировку для ответов модуля 3768 п╢п╦я─п╣п╨я┌п╦п╡п╟ charset п╫п╣ я│я┌п╟п╡п╦п╩п╟ п╨п╬п╢п╦я─п╬п╡п╨я┐ п╢п╩я▐ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐
3769 ngx_http_gzip_static_module. 3769 ngx_http_gzip_static_module.
3770 </para> 3770 </para>
3771 <para lang="en"> 3771 <para lang="en">
3772 a "charset" directive did not set a charset to ngx_http_gzip_static_module 3772 a "charset" directive did not set a charset to ngx_http_gzip_static_module
3773 responses. 3773 responses.
3779 3779
3780 <changes ver="0.7.58" date="18.05.2009"> 3780 <changes ver="0.7.58" date="18.05.2009">
3781 3781
3782 <change type="feature"> 3782 <change type="feature">
3783 <para lang="ru"> 3783 <para lang="ru">
3784 директива listen почтового прокси-сервера поддерживает IPv6. 3784 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6.
3785 </para> 3785 </para>
3786 <para lang="en"> 3786 <para lang="en">
3787 a "listen" directive of the mail proxy module supports IPv6. 3787 a "listen" directive of the mail proxy module supports IPv6.
3788 </para> 3788 </para>
3789 </change> 3789 </change>
3790 3790
3791 <change type="feature"> 3791 <change type="feature">
3792 <para lang="ru"> 3792 <para lang="ru">
3793 директива image_filter_jpeg_quality. 3793 п╢п╦я─п╣п╨я┌п╦п╡п╟ image_filter_jpeg_quality.
3794 </para> 3794 </para>
3795 <para lang="en"> 3795 <para lang="en">
3796 the "image_filter_jpeg_quality" directive. 3796 the "image_filter_jpeg_quality" directive.
3797 </para> 3797 </para>
3798 </change> 3798 </change>
3799 3799
3800 <change type="feature"> 3800 <change type="feature">
3801 <para lang="ru"> 3801 <para lang="ru">
3802 директива client_body_in_single_buffer. 3802 п╢п╦я─п╣п╨я┌п╦п╡п╟ client_body_in_single_buffer.
3803 </para> 3803 </para>
3804 <para lang="en"> 3804 <para lang="en">
3805 the "client_body_in_single_buffer" directive. 3805 the "client_body_in_single_buffer" directive.
3806 </para> 3806 </para>
3807 </change> 3807 </change>
3808 3808
3809 <change type="feature"> 3809 <change type="feature">
3810 <para lang="ru"> 3810 <para lang="ru">
3811 переменная $request_body. 3811 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_body.
3812 </para> 3812 </para>
3813 <para lang="en"> 3813 <para lang="en">
3814 the $request_body variable. 3814 the $request_body variable.
3815 </para> 3815 </para>
3816 </change> 3816 </change>
3817 3817
3818 <change type="bugfix"> 3818 <change type="bugfix">
3819 <para lang="ru"> 3819 <para lang="ru">
3820 в модуле ngx_http_autoindex_module в ссылках на имена файлов, 3820 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п╡ я│я│я▀п╩п╨п╟я┘ п╫п╟ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡,
3821 содержащих символ ":". 3821 я│п╬п╢п╣я─п╤п╟я┴п╦я┘ я│п╦п╪п╡п╬п╩ ":".
3822 </para> 3822 </para>
3823 <para lang="en"> 3823 <para lang="en">
3824 in ngx_http_autoindex_module in file name links 3824 in ngx_http_autoindex_module in file name links
3825 having a ":" symbol in the name. 3825 having a ":" symbol in the name.
3826 </para> 3826 </para>
3827 </change> 3827 </change>
3828 3828
3829 <change type="bugfix"> 3829 <change type="bugfix">
3830 <para lang="ru"> 3830 <para lang="ru">
3831 процедура "make upgrade" не работала; 3831 п©я─п╬я├п╣п╢я┐я─п╟ "make upgrade" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
3832 ошибка появилась в 0.7.53.<br/> 3832 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.<br/>
3833 Спасибо Денису Латыпову. 3833 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
3834 </para> 3834 </para>
3835 <para lang="en"> 3835 <para lang="en">
3836 "make upgrade" procedure did not work; 3836 "make upgrade" procedure did not work;
3837 the bug had appeared in 0.7.53.<br/> 3837 the bug had appeared in 0.7.53.<br/>
3838 Thanks to Denis F. Latypoff. 3838 Thanks to Denis F. Latypoff.
3844 3844
3845 <changes ver="0.7.57" date="12.05.2009"> 3845 <changes ver="0.7.57" date="12.05.2009">
3846 3846
3847 <change type="bugfix"> 3847 <change type="bugfix">
3848 <para lang="ru"> 3848 <para lang="ru">
3849 при перенаправлении ошибок модуля ngx_http_image_filter_module 3849 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╬п╨ п╪п╬п╢я┐п╩я▐ ngx_http_image_filter_module
3850 в именованный location в рабочем процессе происходил floating-point fault; 3850 п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ floating-point fault;
3851 ошибка появилась в 0.7.56. 3851 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.56.
3852 </para> 3852 </para>
3853 <para lang="en"> 3853 <para lang="en">
3854 a floating-point fault occurred in worker process, 3854 a floating-point fault occurred in worker process,
3855 if the ngx_http_image_filter_module errors were redirected to named location; 3855 if the ngx_http_image_filter_module errors were redirected to named location;
3856 the bug had appeared in 0.7.56. 3856 the bug had appeared in 0.7.56.
3862 3862
3863 <changes ver="0.7.56" date="11.05.2009"> 3863 <changes ver="0.7.56" date="11.05.2009">
3864 3864
3865 <change type="feature"> 3865 <change type="feature">
3866 <para lang="ru"> 3866 <para lang="ru">
3867 nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP. 3867 nginx/Windows п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╪п╬п╢я┐п╩я▐ HTTP.
3868 </para> 3868 </para>
3869 <para lang="en"> 3869 <para lang="en">
3870 nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. 3870 nginx/Windows supports IPv6 in a "listen" directive of the HTTP module.
3871 </para> 3871 </para>
3872 </change> 3872 </change>
3873 3873
3874 <change type="bugfix"> 3874 <change type="bugfix">
3875 <para lang="ru"> 3875 <para lang="ru">
3876 в модуле ngx_http_image_filter_module. 3876 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_image_filter_module.
3877 </para> 3877 </para>
3878 <para lang="en"> 3878 <para lang="en">
3879 in ngx_http_image_filter_module. 3879 in ngx_http_image_filter_module.
3880 </para> 3880 </para>
3881 </change> 3881 </change>
3885 3885
3886 <changes ver="0.7.55" date="06.05.2009"> 3886 <changes ver="0.7.55" date="06.05.2009">
3887 3887
3888 <change type="bugfix"> 3888 <change type="bugfix">
3889 <para lang="ru"> 3889 <para lang="ru">
3890 параметры http_XXX в директивах proxy_cache_use_stale 3890 п©п╟я─п╟п╪п╣я┌я─я▀ http_XXX п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_cache_use_stale
3891 и fastcgi_cache_use_stale не работали. 3891 п╦ fastcgi_cache_use_stale п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
3892 </para> 3892 </para>
3893 <para lang="en"> 3893 <para lang="en">
3894 the http_XXX parameters in "proxy_cache_use_stale" and 3894 the http_XXX parameters in "proxy_cache_use_stale" and
3895 "fastcgi_cache_use_stale" directives did not work. 3895 "fastcgi_cache_use_stale" directives did not work.
3896 </para> 3896 </para>
3897 </change> 3897 </change>
3898 3898
3899 <change type="bugfix"> 3899 <change type="bugfix">
3900 <para lang="ru"> 3900 <para lang="ru">
3901 fastcgi кэш не кэшировал ответы, состоящие только из заголовка. 3901 fastcgi п╨я█я┬ п╫п╣ п╨я█я┬п╦я─п╬п╡п╟п╩ п╬я┌п╡п╣я┌я▀, я│п╬я│я┌п╬я▐я┴п╦п╣ я┌п╬п╩я▄п╨п╬ п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟.
3902 </para> 3902 </para>
3903 <para lang="en"> 3903 <para lang="en">
3904 fastcgi cache did not cache header only responses. 3904 fastcgi cache did not cache header only responses.
3905 </para> 3905 </para>
3906 </change> 3906 </change>
3907 3907
3908 <change type="bugfix"> 3908 <change type="bugfix">
3909 <para lang="ru"> 3909 <para lang="ru">
3910 ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix 3910 п╬я┬п╦п╠п╨п╦ "select() failed (9: Bad file descriptor)" п╡ nginx/Unix
3911 и "select() failed (10038: ...)" в nginx/Windows. 3911 п╦ "select() failed (10038: ...)" п╡ nginx/Windows.
3912 </para> 3912 </para>
3913 <para lang="en"> 3913 <para lang="en">
3914 of "select() failed (9: Bad file descriptor)" error in nginx/Unix 3914 of "select() failed (9: Bad file descriptor)" error in nginx/Unix
3915 and "select() failed (10038: ...)" error in nginx/Windows. 3915 and "select() failed (10038: ...)" error in nginx/Windows.
3916 </para> 3916 </para>
3917 </change> 3917 </change>
3918 3918
3919 <change type="bugfix"> 3919 <change type="bugfix">
3920 <para lang="ru"> 3920 <para lang="ru">
3921 при использовании директивы debug_connection 3921 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ debug_connection
3922 в рабочем процессе мог произойти segmentation fault; 3922 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
3923 ошибка появилась в 0.7.54. 3923 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.54.
3924 </para> 3924 </para>
3925 <para lang="en"> 3925 <para lang="en">
3926 a segmentation fault might occur in worker process, 3926 a segmentation fault might occur in worker process,
3927 if an "debug_connection" directive was used; 3927 if an "debug_connection" directive was used;
3928 the bug had appeared in 0.7.54. 3928 the bug had appeared in 0.7.54.
3929 </para> 3929 </para>
3930 </change> 3930 </change>
3931 3931
3932 <change type="bugfix"> 3932 <change type="bugfix">
3933 <para lang="ru"> 3933 <para lang="ru">
3934 в сборке модуля ngx_http_image_filter_module. 3934 п╡ я│п╠п╬я─п╨п╣ п╪п╬п╢я┐п╩я▐ ngx_http_image_filter_module.
3935 </para> 3935 </para>
3936 <para lang="en"> 3936 <para lang="en">
3937 fix ngx_http_image_filter_module building errors. 3937 fix ngx_http_image_filter_module building errors.
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 файлы больше 2G не передавались с использованием $r->sendfile.<br/> 3943 я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ $r->sendfile.<br/>
3944 Спасибо Максиму Дунину. 3944 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
3945 </para> 3945 </para>
3946 <para lang="en"> 3946 <para lang="en">
3947 the files bigger than 2G could not be transferred using $r->sendfile.<br/> 3947 the files bigger than 2G could not be transferred using $r->sendfile.<br/>
3948 Thanks to Maxim Dounin. 3948 Thanks to Maxim Dounin.
3949 </para> 3949 </para>
3954 3954
3955 <changes ver="0.7.54" date="01.05.2009"> 3955 <changes ver="0.7.54" date="01.05.2009">
3956 3956
3957 <change type="feature"> 3957 <change type="feature">
3958 <para lang="ru"> 3958 <para lang="ru">
3959 модуль ngx_http_image_filter_module. 3959 п╪п╬п╢я┐п╩я▄ ngx_http_image_filter_module.
3960 </para> 3960 </para>
3961 <para lang="en"> 3961 <para lang="en">
3962 the ngx_http_image_filter_module. 3962 the ngx_http_image_filter_module.
3963 </para> 3963 </para>
3964 </change> 3964 </change>
3965 3965
3966 <change type="feature"> 3966 <change type="feature">
3967 <para lang="ru"> 3967 <para lang="ru">
3968 директивы proxy_ignore_headers и fastcgi_ignore_headers. 3968 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_headers п╦ fastcgi_ignore_headers.
3969 </para> 3969 </para>
3970 <para lang="en"> 3970 <para lang="en">
3971 the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. 3971 the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives.
3972 </para> 3972 </para>
3973 </change> 3973 </change>
3974 3974
3975 <change type="bugfix"> 3975 <change type="bugfix">
3976 <para lang="ru"> 3976 <para lang="ru">
3977 при использовании переменных "open_file_cache_errors on" 3977 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ "open_file_cache_errors on"
3978 в рабочем процессе мог произойти segmentation fault; 3978 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
3979 ошибка появилась в 0.7.53. 3979 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
3980 </para> 3980 </para>
3981 <para lang="en"> 3981 <para lang="en">
3982 a segmentation fault might occur in worker process, 3982 a segmentation fault might occur in worker process,
3983 if an "open_file_cache_errors off" directive was used; 3983 if an "open_file_cache_errors off" directive was used;
3984 the bug had appeared in 0.7.53. 3984 the bug had appeared in 0.7.53.
3985 </para> 3985 </para>
3986 </change> 3986 </change>
3987 3987
3988 <change type="bugfix"> 3988 <change type="bugfix">
3989 <para lang="ru"> 3989 <para lang="ru">
3990 директива "port_in_redirect off" не работала; 3990 п╢п╦я─п╣п╨я┌п╦п╡п╟ "port_in_redirect off" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟;
3991 ошибка появилась в 0.7.39. 3991 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.39.
3992 </para> 3992 </para>
3993 <para lang="en"> 3993 <para lang="en">
3994 the "port_in_redirect off" directive did not work; 3994 the "port_in_redirect off" directive did not work;
3995 the bug had appeared in 0.7.39. 3995 the bug had appeared in 0.7.39.
3996 </para> 3996 </para>
3997 </change> 3997 </change>
3998 3998
3999 <change type="bugfix"> 3999 <change type="bugfix">
4000 <para lang="ru"> 4000 <para lang="ru">
4001 улучшение обработки ошибок метода select. 4001 я┐п╩я┐я┤я┬п╣п╫п╦п╣ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╬я┬п╦п╠п╬п╨ п╪п╣я┌п╬п╢п╟ select.
4002 </para> 4002 </para>
4003 <para lang="en"> 4003 <para lang="en">
4004 improve handling of "select" method errors. 4004 improve handling of "select" method errors.
4005 </para> 4005 </para>
4006 </change> 4006 </change>
4007 4007
4008 <change type="bugfix"> 4008 <change type="bugfix">
4009 <para lang="ru"> 4009 <para lang="ru">
4010 ошибки "select() failed (10022: ...)" в nginx/Windows. 4010 п╬я┬п╦п╠п╨п╦ "select() failed (10022: ...)" п╡ nginx/Windows.
4011 </para> 4011 </para>
4012 <para lang="en"> 4012 <para lang="en">
4013 of "select() failed (10022: ...)" error in nginx/Windows. 4013 of "select() failed (10022: ...)" error in nginx/Windows.
4014 </para> 4014 </para>
4015 </change> 4015 </change>
4016 4016
4017 <change type="bugfix"> 4017 <change type="bugfix">
4018 <para lang="ru"> 4018 <para lang="ru">
4019 в текстовых сообщениях об ошибках в nginx/Windows; 4019 п╡ я┌п╣п╨я│я┌п╬п╡я▀я┘ я│п╬п╬п╠я┴п╣п╫п╦я▐я┘ п╬п╠ п╬я┬п╦п╠п╨п╟я┘ п╡ nginx/Windows;
4020 ошибка появилась в 0.7.53. 4020 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.53.
4021 </para> 4021 </para>
4022 <para lang="en"> 4022 <para lang="en">
4023 in error text descriptions in nginx/Windows; 4023 in error text descriptions in nginx/Windows;
4024 the bug had appeared in 0.7.53. 4024 the bug had appeared in 0.7.53.
4025 </para> 4025 </para>
4030 4030
4031 <changes ver="0.7.53" date="27.04.2009"> 4031 <changes ver="0.7.53" date="27.04.2009">
4032 4032
4033 <change type="change"> 4033 <change type="change">
4034 <para lang="ru"> 4034 <para lang="ru">
4035 теперь лог, указанный в --error-log-path, создаётся с самого начала работы. 4035 я┌п╣п©п╣я─я▄ п╩п╬пЁ, я┐п╨п╟п╥п╟п╫п╫я▀п╧ п╡ --error-log-path, я│п╬п╥п╢п╟я▒я┌я│я▐ я│ я│п╟п╪п╬пЁп╬ п╫п╟я┤п╟п╩п╟ я─п╟п╠п╬я┌я▀.
4036 </para> 4036 </para>
4037 <para lang="en"> 4037 <para lang="en">
4038 now a log set by --error-log-path is created from the very start-up. 4038 now a log set by --error-log-path is created from the very start-up.
4039 </para> 4039 </para>
4040 </change> 4040 </change>
4041 4041
4042 <change type="feature"> 4042 <change type="feature">
4043 <para lang="ru"> 4043 <para lang="ru">
4044 теперь ошибки и предупреждения при старте записываются в error_log 4044 я┌п╣п©п╣я─я▄ п╬я┬п╦п╠п╨п╦ п╦ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦я▐ п©я─п╦ я│я┌п╟я─я┌п╣ п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ error_log
4045 и выводятся на stderr. 4045 п╦ п╡я▀п╡п╬п╢я▐я┌я│я▐ п╫п╟ stderr.
4046 </para> 4046 </para>
4047 <para lang="en"> 4047 <para lang="en">
4048 now the start up errors and warnings are outputted to an error_log and stderr. 4048 now the start up errors and warnings are outputted to an error_log and stderr.
4049 </para> 4049 </para>
4050 </change> 4050 </change>
4051 4051
4052 <change type="feature"> 4052 <change type="feature">
4053 <para lang="ru"> 4053 <para lang="ru">
4054 при сборке с пустым параметром --prefix= nginx использует как префикс каталог, 4054 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п©я┐я│я┌я▀п╪ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --prefix= nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╟п╨ п©я─п╣я└п╦п╨я│ п╨п╟я┌п╟п╩п╬пЁ,
4055 в котором он был запущен. 4055 п╡ п╨п╬я┌п╬я─п╬п╪ п╬п╫ п╠я▀п╩ п╥п╟п©я┐я┴п╣п╫.
4056 </para> 4056 </para>
4057 <para lang="en"> 4057 <para lang="en">
4058 the empty --prefix= configure parameter forces nginx to use a directory 4058 the empty --prefix= configure parameter forces nginx to use a directory
4059 where it was run as prefix. 4059 where it was run as prefix.
4060 </para> 4060 </para>
4061 </change> 4061 </change>
4062 4062
4063 <change type="feature"> 4063 <change type="feature">
4064 <para lang="ru"> 4064 <para lang="ru">
4065 ключ -p. 4065 п╨п╩я▌я┤ -p.
4066 </para> 4066 </para>
4067 <para lang="en"> 4067 <para lang="en">
4068 the -p switch. 4068 the -p switch.
4069 </para> 4069 </para>
4070 </change> 4070 </change>
4071 4071
4072 <change type="feature"> 4072 <change type="feature">
4073 <para lang="ru"> 4073 <para lang="ru">
4074 ключ -s на Unix-платформах. 4074 п╨п╩я▌я┤ -s п╫п╟ Unix-п©п╩п╟я┌я└п╬я─п╪п╟я┘.
4075 </para> 4075 </para>
4076 <para lang="en"> 4076 <para lang="en">
4077 the -s switch on Unix platforms. 4077 the -s switch on Unix platforms.
4078 </para> 4078 </para>
4079 </change> 4079 </change>
4080 4080
4081 <change type="feature"> 4081 <change type="feature">
4082 <para lang="ru"> 4082 <para lang="ru">
4083 ключи -? и -h.<br/> 4083 п╨п╩я▌я┤п╦ -? п╦ -h.<br/>
4084 Спасибо Jerome Loyet. 4084 п║п©п╟я│п╦п╠п╬ Jerome Loyet.
4085 </para> 4085 </para>
4086 <para lang="en"> 4086 <para lang="en">
4087 the -? and -h switches.<br/> 4087 the -? and -h switches.<br/>
4088 Thanks to Jerome Loyet. 4088 Thanks to Jerome Loyet.
4089 </para> 4089 </para>
4090 </change> 4090 </change>
4091 4091
4092 <change type="feature"> 4092 <change type="feature">
4093 <para lang="ru"> 4093 <para lang="ru">
4094 теперь ключи можно задавать в сжатой форме. 4094 я┌п╣п©п╣я─я▄ п╨п╩я▌я┤п╦ п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄ п╡ я│п╤п╟я┌п╬п╧ я└п╬я─п╪п╣.
4095 </para> 4095 </para>
4096 <para lang="en"> 4096 <para lang="en">
4097 now switches may be set in condensed form. 4097 now switches may be set in condensed form.
4098 </para> 4098 </para>
4099 </change> 4099 </change>
4100 4100
4101 <change type="bugfix"> 4101 <change type="bugfix">
4102 <para lang="ru"> 4102 <para lang="ru">
4103 nginx/Windows не работал, если файл конфигурации был задан ключом -c. 4103 nginx/Windows п╫п╣ я─п╟п╠п╬я┌п╟п╩, п╣я│п╩п╦ я└п╟п╧п╩ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╠я▀п╩ п╥п╟п╢п╟п╫ п╨п╩я▌я┤п╬п╪ -c.
4104 </para> 4104 </para>
4105 <para lang="en"> 4105 <para lang="en">
4106 nginx/Windows did not work if configuration file was given by the -c switch. 4106 nginx/Windows did not work if configuration file was given by the -c switch.
4107 </para> 4107 </para>
4108 </change> 4108 </change>
4109 4109
4110 <change type="bugfix"> 4110 <change type="bugfix">
4111 <para lang="ru"> 4111 <para lang="ru">
4112 при использовании директив proxy_store, fastcgi_store, 4112 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ proxy_store, fastcgi_store,
4113 proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/> 4113 proxy_cache п╦п╩п╦ fastcgi_cache п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ п╪п╬пЁп╩п╦ п╫п╣ я┐п╢п╟п╩я▐я┌я▄я│я▐.<br/>
4114 Спасибо Максиму Дунину. 4114 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4115 </para> 4115 </para>
4116 <para lang="en"> 4116 <para lang="en">
4117 temporary files might be not removed if the "proxy_store", "fastcgi_store", 4117 temporary files might be not removed if the "proxy_store", "fastcgi_store",
4118 "proxy_cache", or "fastcgi_cache" were used.<br/> 4118 "proxy_cache", or "fastcgi_cache" were used.<br/>
4119 Thanks to Maxim Dounin. 4119 Thanks to Maxim Dounin.
4120 </para> 4120 </para>
4121 </change> 4121 </change>
4122 4122
4123 <change type="bugfix"> 4123 <change type="bugfix">
4124 <para lang="ru"> 4124 <para lang="ru">
4125 в заголовке Auth-Method запроса серверу аутентификации почтового 4125 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ Auth-Method п╥п╟п©я─п╬я│п╟ я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬
4126 прокси-сервера передавалось неверное значение; 4126 п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ п╫п╣п╡п╣я─п╫п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣;
4127 ошибка появилась в 0.7.34.<br/> 4127 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.34.<br/>
4128 Спасибо Simon Lecaille. 4128 п║п©п╟я│п╦п╠п╬ Simon Lecaille.
4129 </para> 4129 </para>
4130 <para lang="en"> 4130 <para lang="en">
4131 an incorrect value was passed to mail proxy authentication server 4131 an incorrect value was passed to mail proxy authentication server
4132 in "Auth-Method" header line; 4132 in "Auth-Method" header line;
4133 the bug had appeared<br/> 4133 the bug had appeared<br/>
4136 </para> 4136 </para>
4137 </change> 4137 </change>
4138 4138
4139 <change type="bugfix"> 4139 <change type="bugfix">
4140 <para lang="ru"> 4140 <para lang="ru">
4141 при логгировании на Linux не писались текстовые описания системных ошибок; 4141 п©я─п╦ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦п╦ п╫п╟ Linux п╫п╣ п©п╦я│п╟п╩п╦я│я▄ я┌п╣п╨я│я┌п╬п╡я▀п╣ п╬п©п╦я│п╟п╫п╦я▐ я│п╦я│я┌п╣п╪п╫я▀я┘ п╬я┬п╦п╠п╬п╨;
4142 ошибка появилась в 0.7.45. 4142 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.45.
4143 </para> 4143 </para>
4144 <para lang="en"> 4144 <para lang="en">
4145 system error text descriptions were not logged on Linux;<br/> 4145 system error text descriptions were not logged on Linux;<br/>
4146 the bug had appeared in 0.7.45. 4146 the bug had appeared in 0.7.45.
4147 </para> 4147 </para>
4148 </change> 4148 </change>
4149 4149
4150 <change type="bugfix"> 4150 <change type="bugfix">
4151 <para lang="ru"> 4151 <para lang="ru">
4152 директива fastcgi_cache_min_uses не работала.<br/> 4152 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_cache_min_uses п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟.<br/>
4153 Спасибо Андрею Воробьёву. 4153 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п▓п╬я─п╬п╠я▄я▒п╡я┐.
4154 </para> 4154 </para>
4155 <para lang="en"> 4155 <para lang="en">
4156 the "fastcgi_cache_min_uses" directive did not work.<br/> 4156 the "fastcgi_cache_min_uses" directive did not work.<br/>
4157 Thanks to Andrew Vorobyoff. 4157 Thanks to Andrew Vorobyoff.
4158 </para> 4158 </para>
4163 4163
4164 <changes ver="0.7.52" date="20.04.2009"> 4164 <changes ver="0.7.52" date="20.04.2009">
4165 4165
4166 <change type="feature"> 4166 <change type="feature">
4167 <para lang="ru"> 4167 <para lang="ru">
4168 первая бинарная версия под Windows. 4168 п©п╣я─п╡п╟я▐ п╠п╦п╫п╟я─п╫п╟я▐ п╡п╣я─я│п╦я▐ п©п╬п╢ Windows.
4169 </para> 4169 </para>
4170 <para lang="en"> 4170 <para lang="en">
4171 the first native Windows binary release. 4171 the first native Windows binary release.
4172 </para> 4172 </para>
4173 </change> 4173 </change>
4174 4174
4175 <change type="bugfix"> 4175 <change type="bugfix">
4176 <para lang="ru"> 4176 <para lang="ru">
4177 корректная обработка метода HEAD при кэшировании. 4177 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ п╪п╣я┌п╬п╢п╟ HEAD п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
4178 </para> 4178 </para>
4179 <para lang="en"> 4179 <para lang="en">
4180 in processing HEAD method while caching. 4180 in processing HEAD method while caching.
4181 </para> 4181 </para>
4182 </change> 4182 </change>
4183 4183
4184 <change type="bugfix"> 4184 <change type="bugfix">
4185 <para lang="ru"> 4185 <para lang="ru">
4186 корректная обработка строк "If-Modified-Since", "If-Range" и им подобных 4186 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я│я┌я─п╬п╨ "If-Modified-Since", "If-Range" п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀я┘
4187 в заголовке запроса клиента при кэшировании. 4187 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦.
4188 </para> 4188 </para>
4189 <para lang="en"> 4189 <para lang="en">
4190 in processing the "If-Modified-Since", "If-Range", etc. client request 4190 in processing the "If-Modified-Since", "If-Range", etc. client request
4191 header lines while caching. 4191 header lines while caching.
4192 </para> 4192 </para>
4193 </change> 4193 </change>
4194 4194
4195 <change type="bugfix"> 4195 <change type="bugfix">
4196 <para lang="ru"> 4196 <para lang="ru">
4197 теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа 4197 я┌п╣п©п╣я─я▄ я│я┌я─п╬п╨п╦ "Set-Cookie" п╦ "P3P" я│п╨я─я▀п╡п╟я▌я┌я│я▐ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
4198 для закэшированных ответов. 4198 п╢п╩я▐ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡.
4199 </para> 4199 </para>
4200 <para lang="en"> 4200 <para lang="en">
4201 now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. 4201 now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses.
4202 </para> 4202 </para>
4203 </change> 4203 </change>
4204 4204
4205 <change type="bugfix"> 4205 <change type="bugfix">
4206 <para lang="ru"> 4206 <para lang="ru">
4207 если nginx был собран с модулем ngx_http_perl_module и perl 4207 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
4208 поддерживал потоки, то при выходе основного процесса 4208 п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦, я┌п╬ п©я─п╦ п╡я▀я┘п╬п╢п╣ п╬я│п╫п╬п╡п╫п╬пЁп╬ п©я─п╬я├п╣я│я│п╟
4209 могла выдаваться ошибка "panic: MUTEX_LOCK". 4209 п╪п╬пЁп╩п╟ п╡я▀п╢п╟п╡п╟я┌я▄я│я▐ п╬я┬п╦п╠п╨п╟ "panic: MUTEX_LOCK".
4210 </para> 4210 </para>
4211 <para lang="en"> 4211 <para lang="en">
4212 if nginx was built with the ngx_http_perl_module and with a perl which 4212 if nginx was built with the ngx_http_perl_module and with a perl which
4213 supports threads, then during a master process exit 4213 supports threads, then during a master process exit
4214 the message "panic: MUTEX_LOCK" might be issued. 4214 the message "panic: MUTEX_LOCK" might be issued.
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 nginx не собирался с параметром --without-http-cache; 4220 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http-cache;
4221 ошибка появилась в 0.7.48. 4221 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.48.
4222 </para> 4222 </para>
4223 <para lang="en"> 4223 <para lang="en">
4224 nginx could not be built --without-http-cache; 4224 nginx could not be built --without-http-cache;
4225 the bug had appeared in 0.7.48. 4225 the bug had appeared in 0.7.48.
4226 </para> 4226 </para>
4227 </change> 4227 </change>
4228 4228
4229 <change type="bugfix"> 4229 <change type="bugfix">
4230 <para lang="ru"> 4230 <para lang="ru">
4231 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 4231 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
4232 ошибка появилась в 0.7.42. 4232 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4233 </para> 4233 </para>
4234 <para lang="en"> 4234 <para lang="en">
4235 nginx could not be built on platforms different from i386, amd64, sparc, 4235 nginx could not be built on platforms different from i386, amd64, sparc,
4236 and ppc; 4236 and ppc;
4237 the bug had appeared in 0.7.42. 4237 the bug had appeared in 0.7.42.
4243 4243
4244 <changes ver="0.7.51" date="12.04.2009"> 4244 <changes ver="0.7.51" date="12.04.2009">
4245 4245
4246 <change type="feature"> 4246 <change type="feature">
4247 <para lang="ru"> 4247 <para lang="ru">
4248 директива try_files поддерживает код ответа в последнем параметре. 4248 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ п╡ п©п╬я│п╩п╣п╢п╫п╣п╪ п©п╟я─п╟п╪п╣я┌я─п╣.
4249 </para> 4249 </para>
4250 <para lang="en"> 4250 <para lang="en">
4251 the "try_files" directive supports a response code in the fallback parameter. 4251 the "try_files" directive supports a response code in the fallback parameter.
4252 </para> 4252 </para>
4253 </change> 4253 </change>
4254 4254
4255 <change type="feature"> 4255 <change type="feature">
4256 <para lang="ru"> 4256 <para lang="ru">
4257 теперь в директиве return можно использовать любой код ответа. 4257 я┌п╣п©п╣я─я▄ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╩я▌п╠п╬п╧ п╨п╬п╢ п╬я┌п╡п╣я┌п╟.
4258 </para> 4258 </para>
4259 <para lang="en"> 4259 <para lang="en">
4260 now any response code can be used in the "return" directive. 4260 now any response code can be used in the "return" directive.
4261 </para> 4261 </para>
4262 </change> 4262 </change>
4263 4263
4264 <change type="bugfix"> 4264 <change type="bugfix">
4265 <para lang="ru"> 4265 <para lang="ru">
4266 директива error_page делала внешний редирект без строки запроса; 4266 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╢п╣п╩п╟п╩п╟ п╡п╫п╣я┬п╫п╦п╧ я─п╣п╢п╦я─п╣п╨я┌ п╠п╣п╥ я│я┌я─п╬п╨п╦ п╥п╟п©я─п╬я│п╟;
4267 ошибка появилась в 0.7.44. 4267 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4268 </para> 4268 </para>
4269 <para lang="en"> 4269 <para lang="en">
4270 the "error_page" directive made an external redirect without query string; 4270 the "error_page" directive made an external redirect without query string;
4271 the bug had appeared in 0.7.44. 4271 the bug had appeared in 0.7.44.
4272 </para> 4272 </para>
4273 </change> 4273 </change>
4274 4274
4275 <change type="bugfix"> 4275 <change type="bugfix">
4276 <para lang="ru"> 4276 <para lang="ru">
4277 если сервера слушали на нескольких явно описанных адресах, 4277 п╣я│п╩п╦ я│п╣я─п╡п╣я─п╟ я│п╩я┐я┬п╟п╩п╦ п╫п╟ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ я▐п╡п╫п╬ п╬п©п╦я│п╟п╫п╫я▀я┘ п╟п╢я─п╣я│п╟я┘,
4278 то виртуальные сервера могли не работать; 4278 я┌п╬ п╡п╦я─я┌я┐п╟п╩я▄п╫я▀п╣ я│п╣я─п╡п╣я─п╟ п╪п╬пЁп╩п╦ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄;
4279 ошибка появилась в 0.7.39. 4279 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.39.
4280 </para> 4280 </para>
4281 <para lang="en"> 4281 <para lang="en">
4282 if servers listened on several defined explicitly addresses, 4282 if servers listened on several defined explicitly addresses,
4283 then virtual servers might not work; 4283 then virtual servers might not work;
4284 the bug had appeared in 0.7.39. 4284 the bug had appeared in 0.7.39.
4290 4290
4291 <changes ver="0.7.50" date="06.04.2009"> 4291 <changes ver="0.7.50" date="06.04.2009">
4292 4292
4293 <change type="bugfix"> 4293 <change type="bugfix">
4294 <para lang="ru"> 4294 <para lang="ru">
4295 переменные $arg_... не работали; 4295 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $arg_... п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
4296 ошибка появилась в 0.7.49. 4296 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.49.
4297 </para> 4297 </para>
4298 <para lang="en"> 4298 <para lang="en">
4299 the $arg_... variables did not work; 4299 the $arg_... variables did not work;
4300 the bug had appeared in 0.7.49. 4300 the bug had appeared in 0.7.49.
4301 </para> 4301 </para>
4306 4306
4307 <changes ver="0.7.49" date="06.04.2009"> 4307 <changes ver="0.7.49" date="06.04.2009">
4308 4308
4309 <change type="bugfix"> 4309 <change type="bugfix">
4310 <para lang="ru"> 4310 <para lang="ru">
4311 при использовании переменных $arg_... 4311 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $arg_...
4312 в рабочем процессе мог произойти segmentation fault; 4312 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
4313 ошибка появилась в 0.7.48. 4313 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.48.
4314 </para> 4314 </para>
4315 <para lang="en"> 4315 <para lang="en">
4316 a segmentation fault might occur in worker process, 4316 a segmentation fault might occur in worker process,
4317 if the $arg_... variables were used; 4317 if the $arg_... variables were used;
4318 the bug had appeared in 0.7.48. 4318 the bug had appeared in 0.7.48.
4324 4324
4325 <changes ver="0.7.48" date="06.04.2009"> 4325 <changes ver="0.7.48" date="06.04.2009">
4326 4326
4327 <change type="feature"> 4327 <change type="feature">
4328 <para lang="ru"> 4328 <para lang="ru">
4329 директива proxy_cache_key. 4329 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_cache_key.
4330 </para> 4330 </para>
4331 <para lang="en"> 4331 <para lang="en">
4332 the "proxy_cache_key" directive. 4332 the "proxy_cache_key" directive.
4333 </para> 4333 </para>
4334 </change> 4334 </change>
4335 4335
4336 <change type="bugfix"> 4336 <change type="bugfix">
4337 <para lang="ru"> 4337 <para lang="ru">
4338 теперь nginx учитывает при кэшировании строки "X-Accel-Expires", 4338 я┌п╣п©п╣я─я▄ nginx я┐я┤п╦я┌я▀п╡п╟п╣я┌ п©я─п╦ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦ я│я┌я─п╬п╨п╦ "X-Accel-Expires",
4339 "Expires" и "Cache-Control" в заголовке ответа бэкенда. 4339 "Expires" п╦ "Cache-Control" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
4340 </para> 4340 </para>
4341 <para lang="en"> 4341 <para lang="en">
4342 now nginx takes into account the "X-Accel-Expires", "Expires", and 4342 now nginx takes into account the "X-Accel-Expires", "Expires", and
4343 "Cache-Control" header lines in a backend response. 4343 "Cache-Control" header lines in a backend response.
4344 </para> 4344 </para>
4345 </change> 4345 </change>
4346 4346
4347 <change type="bugfix"> 4347 <change type="bugfix">
4348 <para lang="ru"> 4348 <para lang="ru">
4349 теперь nginx кэширует только ответы на запросы GET. 4349 я┌п╣п©п╣я─я▄ nginx п╨я█я┬п╦я─я┐п╣я┌ я┌п╬п╩я▄п╨п╬ п╬я┌п╡п╣я┌я▀ п╫п╟ п╥п╟п©я─п╬я│я▀ GET.
4350 </para> 4350 </para>
4351 <para lang="en"> 4351 <para lang="en">
4352 now nginx caches responses for the GET requests only. 4352 now nginx caches responses for the GET requests only.
4353 </para> 4353 </para>
4354 </change> 4354 </change>
4355 4355
4356 <change type="bugfix"> 4356 <change type="bugfix">
4357 <para lang="ru"> 4357 <para lang="ru">
4358 директива fastcgi_cache_key не наследовалась. 4358 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_cache_key п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╟я│я▄.
4359 </para> 4359 </para>
4360 <para lang="en"> 4360 <para lang="en">
4361 the "fastcgi_cache_key" directive was not inherited. 4361 the "fastcgi_cache_key" directive was not inherited.
4362 </para> 4362 </para>
4363 </change> 4363 </change>
4364 4364
4365 <change type="bugfix"> 4365 <change type="bugfix">
4366 <para lang="ru"> 4366 <para lang="ru">
4367 переменные $arg_... не работали с SSI-подзапросами.<br/> 4367 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $arg_... п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я│ SSI-п©п╬п╢п╥п╟п©я─п╬я│п╟п╪п╦.<br/>
4368 Спасибо Максиму Дунину. 4368 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4369 </para> 4369 </para>
4370 <para lang="en"> 4370 <para lang="en">
4371 the $arg_... variables did not work with SSI subrequests.<br/> 4371 the $arg_... variables did not work with SSI subrequests.<br/>
4372 Thanks to Maxim Dounin. 4372 Thanks to Maxim Dounin.
4373 </para> 4373 </para>
4374 </change> 4374 </change>
4375 4375
4376 <change type="bugfix"> 4376 <change type="bugfix">
4377 <para lang="ru"> 4377 <para lang="ru">
4378 nginx не собирался с библиотекой uclibc.<br/> 4378 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╬п╧ uclibc.<br/>
4379 Спасибо Timothy Redaelli. 4379 п║п©п╟я│п╦п╠п╬ Timothy Redaelli.
4380 </para> 4380 </para>
4381 <para lang="en"> 4381 <para lang="en">
4382 nginx could not be built with uclibc library.<br/> 4382 nginx could not be built with uclibc library.<br/>
4383 Thanks to Timothy Redaelli. 4383 Thanks to Timothy Redaelli.
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 nginx не собирался на OpenBSD; 4389 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ OpenBSD;
4390 ошибка появилась <nobr>в 0.7.46.</nobr> 4390 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ <nobr>п╡ 0.7.46.</nobr>
4391 </para> 4391 </para>
4392 <para lang="en"> 4392 <para lang="en">
4393 nginx could not be built on OpenBSD; 4393 nginx could not be built on OpenBSD;
4394 the bug had <nobr>appeared in 0.7.46.</nobr> 4394 the bug had <nobr>appeared in 0.7.46.</nobr>
4395 </para> 4395 </para>
4400 4400
4401 <changes ver="0.7.47" date="01.04.2009"> 4401 <changes ver="0.7.47" date="01.04.2009">
4402 4402
4403 <change type="bugfix"> 4403 <change type="bugfix">
4404 <para lang="ru"> 4404 <para lang="ru">
4405 nginx не собирался на FreeBSD 6 и более ранних версиях; 4405 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ FreeBSD 6 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘ п╡п╣я─я│п╦я▐я┘;
4406 ошибка появилась в 0.7.46. 4406 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4407 </para> 4407 </para>
4408 <para lang="en"> 4408 <para lang="en">
4409 nginx could not be built on FreeBSD 6 and early versions; 4409 nginx could not be built on FreeBSD 6 and early versions;
4410 the bug had appeared in 0.7.46. 4410 the bug had appeared in 0.7.46.
4411 </para> 4411 </para>
4412 </change> 4412 </change>
4413 4413
4414 <change type="bugfix"> 4414 <change type="bugfix">
4415 <para lang="ru"> 4415 <para lang="ru">
4416 nginx не собирался на MacOSX; 4416 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOSX;
4417 ошибка появилась в 0.7.46. 4417 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4418 </para> 4418 </para>
4419 <para lang="en"> 4419 <para lang="en">
4420 nginx could not be built on MacOSX; 4420 nginx could not be built on MacOSX;
4421 the bug had <nobr>appeared in 0.7.46.</nobr> 4421 the bug had <nobr>appeared in 0.7.46.</nobr>
4422 </para> 4422 </para>
4423 </change> 4423 </change>
4424 4424
4425 <change type="bugfix"> 4425 <change type="bugfix">
4426 <para lang="ru"> 4426 <para lang="ru">
4427 если использовался параметр max_size, то cache manager мог удалить весь кэш; 4427 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ max_size, я┌п╬ cache manager п╪п╬пЁ я┐п╢п╟п╩п╦я┌я▄ п╡п╣я│я▄ п╨я█я┬;
4428 ошибка появилась в 0.7.46. 4428 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4429 </para> 4429 </para>
4430 <para lang="en"> 4430 <para lang="en">
4431 if the "max_size" parameter was set, then the cache manager might purge 4431 if the "max_size" parameter was set, then the cache manager might purge
4432 a whole cache; 4432 a whole cache;
4433 the bug had appeared in 0.7.46. 4433 the bug had appeared in 0.7.46.
4434 </para> 4434 </para>
4435 </change> 4435 </change>
4436 4436
4437 <change type="change"> 4437 <change type="change">
4438 <para lang="ru"> 4438 <para lang="ru">
4439 в рабочем процессе мог произойти segmentation fault, 4439 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
4440 если директивы proxy_cache/fastcgi_cache 4440 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache/fastcgi_cache
4441 и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне; 4441 п╦ proxy_cache_valid/ fastcgi_cache_valid п╫п╣ п╠я▀п╩п╦ п╥п╟п╢п╟п╫я▀ п╫п╟ п╬п╢п╫п╬п╪ я┐я─п╬п╡п╫п╣;
4442 ошибка появилась в 0.7.46. 4442 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.46.
4443 </para> 4443 </para>
4444 <para lang="en"> 4444 <para lang="en">
4445 a segmentation fault might occur in worker process, 4445 a segmentation fault might occur in worker process,
4446 if the "proxy_cache"/"fastcgi_cache" and 4446 if the "proxy_cache"/"fastcgi_cache" and
4447 the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels; 4447 the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels;
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 в рабочем процессе мог произойти segmentation fault 4454 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault
4455 при перенаправлении запроса проксированному или FastCGI-серверу 4455 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪я┐ п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─я┐
4456 с помощью error_page или try_files; 4456 я│ п©п╬п╪п╬я┴я▄я▌ error_page п╦п╩п╦ try_files;
4457 ошибка появилась в 0.7.44. 4457 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4458 </para> 4458 </para>
4459 <para lang="en"> 4459 <para lang="en">
4460 a segmentation fault might occur in worker process, 4460 a segmentation fault might occur in worker process,
4461 if a request was redirected to a proxied or FastCGI server via 4461 if a request was redirected to a proxied or FastCGI server via
4462 error_page or try_files; 4462 error_page or try_files;
4469 4469
4470 <changes ver="0.7.46" date="30.03.2009"> 4470 <changes ver="0.7.46" date="30.03.2009">
4471 4471
4472 <change type="bugfix"> 4472 <change type="bugfix">
4473 <para lang="ru"> 4473 <para lang="ru">
4474 архив предыдущего релиза был неверным. 4474 п╟я─я┘п╦п╡ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я─п╣п╩п╦п╥п╟ п╠я▀п╩ п╫п╣п╡п╣я─п╫я▀п╪.
4475 </para> 4475 </para>
4476 <para lang="en"> 4476 <para lang="en">
4477 the previous release tarball was incorrect. 4477 the previous release tarball was incorrect.
4478 </para> 4478 </para>
4479 </change> 4479 </change>
4483 4483
4484 <changes ver="0.7.45" date="30.03.2009"> 4484 <changes ver="0.7.45" date="30.03.2009">
4485 4485
4486 <change type="change"> 4486 <change type="change">
4487 <para lang="ru"> 4487 <para lang="ru">
4488 теперь директивы proxy_cache и proxy_cache_valid можно задавать 4488 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_cache п╦ proxy_cache_valid п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄
4489 на разных уровнях. 4489 п╫п╟ я─п╟п╥п╫я▀я┘ я┐я─п╬п╡п╫я▐я┘.
4490 </para> 4490 </para>
4491 <para lang="en"> 4491 <para lang="en">
4492 now the "proxy_cache" and the "proxy_cache_valid" directives can be set on 4492 now the "proxy_cache" and the "proxy_cache_valid" directives can be set on
4493 different levels. 4493 different levels.
4494 </para> 4494 </para>
4495 </change> 4495 </change>
4496 4496
4497 <change type="change"> 4497 <change type="change">
4498 <para lang="ru"> 4498 <para lang="ru">
4499 параметр clean_time в директиве proxy_cache_path удалён. 4499 п©п╟я─п╟п╪п╣я┌я─ clean_time п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_cache_path я┐п╢п╟п╩я▒п╫.
4500 </para> 4500 </para>
4501 <para lang="en"> 4501 <para lang="en">
4502 the "clean_time" parameter of the "proxy_cache_path" directive is canceled. 4502 the "clean_time" parameter of the "proxy_cache_path" directive is canceled.
4503 </para> 4503 </para>
4504 </change> 4504 </change>
4505 4505
4506 <change type="feature"> 4506 <change type="feature">
4507 <para lang="ru"> 4507 <para lang="ru">
4508 параметр max_size в директиве proxy_cache_path. 4508 п©п╟я─п╟п╪п╣я┌я─ max_size п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_cache_path.
4509 </para> 4509 </para>
4510 <para lang="en"> 4510 <para lang="en">
4511 the "max_size" parameter of the "proxy_cache_path" directive. 4511 the "max_size" parameter of the "proxy_cache_path" directive.
4512 </para> 4512 </para>
4513 </change> 4513 </change>
4514 4514
4515 <change type="feature"> 4515 <change type="feature">
4516 <para lang="ru"> 4516 <para lang="ru">
4517 предварительная поддержка кэширования в модуле ngx_http_fastcgi_module. 4517 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_fastcgi_module.
4518 </para> 4518 </para>
4519 <para lang="en"> 4519 <para lang="en">
4520 the ngx_http_fastcgi_module preliminary cache support. 4520 the ngx_http_fastcgi_module preliminary cache support.
4521 </para> 4521 </para>
4522 </change> 4522 </change>
4523 4523
4524 <change type="feature"> 4524 <change type="feature">
4525 <para lang="ru"> 4525 <para lang="ru">
4526 теперь при ошибках выделения в разделяемой памяти в логе указываются 4526 я┌п╣п©п╣я─я▄ п©я─п╦ п╬я┬п╦п╠п╨п╟я┘ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п©п╟п╪я▐я┌п╦ п╡ п╩п╬пЁп╣ я┐п╨п╟п╥я▀п╡п╟я▌я┌я│я▐
4527 названия директивы и зоны. 4527 п╫п╟п╥п╡п╟п╫п╦я▐ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦ п╥п╬п╫я▀.
4528 </para> 4528 </para>
4529 <para lang="en"> 4529 <para lang="en">
4530 now on shared memory allocation errors directive and zone names are logged. 4530 now on shared memory allocation errors directive and zone names are logged.
4531 </para> 4531 </para>
4532 </change> 4532 </change>
4533 4533
4534 <change type="bugfix"> 4534 <change type="bugfix">
4535 <para lang="ru"> 4535 <para lang="ru">
4536 директива "add_header last-modified ''" не удаляла в заголовке ответа 4536 п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header last-modified ''" п╫п╣ я┐п╢п╟п╩я▐п╩п╟ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
4537 строку "Last-Modified"; 4537 я│я┌я─п╬п╨я┐ "Last-Modified";
4538 ошибка появилась в 0.7.44. 4538 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.
4539 </para> 4539 </para>
4540 <para lang="en"> 4540 <para lang="en">
4541 the directive "add_header last-modified ''" did not delete a "Last-Modified" 4541 the directive "add_header last-modified ''" did not delete a "Last-Modified"
4542 response header line; 4542 response header line;
4543 the bug had appeared in 0.7.44. 4543 the bug had appeared in 0.7.44.
4544 </para> 4544 </para>
4545 </change> 4545 </change>
4546 4546
4547 <change type="bugfix"> 4547 <change type="bugfix">
4548 <para lang="ru"> 4548 <para lang="ru">
4549 в директиве auth_basic_user_file не работал относительный путь, 4549 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_basic_user_file п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╧ п©я┐я┌я▄,
4550 заданный строкой без переменных; 4550 п╥п╟п╢п╟п╫п╫я▀п╧ я│я┌я─п╬п╨п╬п╧ п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘;
4551 ошибка появилась в 0.7.44.<br/> 4551 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.44.<br/>
4552 Спасибо Jerome Loyet. 4552 п║п©п╟я│п╦п╠п╬ Jerome Loyet.
4553 </para> 4553 </para>
4554 <para lang="en"> 4554 <para lang="en">
4555 a relative path in the "auth_basic_user_file" directive given without variables 4555 a relative path in the "auth_basic_user_file" directive given without variables
4556 did not work; 4556 did not work;
4557 the bug had appeared in 0.7.44.<br/> 4557 the bug had appeared in 0.7.44.<br/>
4559 </para> 4559 </para>
4560 </change> 4560 </change>
4561 4561
4562 <change type="bugfix"> 4562 <change type="bugfix">
4563 <para lang="ru"> 4563 <para lang="ru">
4564 в директиве alias, заданной переменными 4564 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ alias, п╥п╟п╢п╟п╫п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦
4565 без ссылок на выделения в регулярных выражениях; 4565 п╠п╣п╥ я│я│я▀п╩п╬п╨ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
4566 ошибка появилась в 0.7.42. 4566 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4567 </para> 4567 </para>
4568 <para lang="en"> 4568 <para lang="en">
4569 in an "alias" directive given using variables 4569 in an "alias" directive given using variables
4570 without references to captures of regular expressions; 4570 without references to captures of regular expressions;
4571 the bug had appeared in 0.7.42. 4571 the bug had appeared in 0.7.42.
4577 4577
4578 <changes ver="0.7.44" date="23.03.2009"> 4578 <changes ver="0.7.44" date="23.03.2009">
4579 4579
4580 <change type="feature"> 4580 <change type="feature">
4581 <para lang="ru"> 4581 <para lang="ru">
4582 предварительная поддержка кэширования в модуле ngx_http_proxy_module. 4582 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module.
4583 </para> 4583 </para>
4584 <para lang="en"> 4584 <para lang="en">
4585 the ngx_http_proxy_module preliminary cache support. 4585 the ngx_http_proxy_module preliminary cache support.
4586 </para> 4586 </para>
4587 </change> 4587 </change>
4588 4588
4589 <change type="feature"> 4589 <change type="feature">
4590 <para lang="ru"> 4590 <para lang="ru">
4591 параметр --with-pcre в configure. 4591 п©п╟я─п╟п╪п╣я┌я─ --with-pcre п╡ configure.
4592 </para> 4592 </para>
4593 <para lang="en"> 4593 <para lang="en">
4594 the --with-pcre option in the configure. 4594 the --with-pcre option in the configure.
4595 </para> 4595 </para>
4596 </change> 4596 </change>
4597 4597
4598 <change type="feature"> 4598 <change type="feature">
4599 <para lang="ru"> 4599 <para lang="ru">
4600 теперь директива try_files может быть использована на уровне server. 4600 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╟ п╫п╟ я┐я─п╬п╡п╫п╣ server.
4601 </para> 4601 </para>
4602 <para lang="en"> 4602 <para lang="en">
4603 the "try_files" directive is now allowed on the server block level. 4603 the "try_files" directive is now allowed on the server block level.
4604 </para> 4604 </para>
4605 </change> 4605 </change>
4606 4606
4607 <change type="bugfix"> 4607 <change type="bugfix">
4608 <para lang="ru"> 4608 <para lang="ru">
4609 директива try_files неправильно обрабатывала строку запроса в последнем 4609 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╟ я│я┌я─п╬п╨я┐ п╥п╟п©я─п╬я│п╟ п╡ п©п╬я│п╩п╣п╢п╫п╣п╪
4610 параметре. 4610 п©п╟я─п╟п╪п╣я┌я─п╣.
4611 </para> 4611 </para>
4612 <para lang="en"> 4612 <para lang="en">
4613 the "try_files" directive handled incorrectly a query string 4613 the "try_files" directive handled incorrectly a query string
4614 in a fallback parameter. 4614 in a fallback parameter.
4615 </para> 4615 </para>
4616 </change> 4616 </change>
4617 4617
4618 <change type="bugfix"> 4618 <change type="bugfix">
4619 <para lang="ru"> 4619 <para lang="ru">
4620 директива try_files могла неверно тестировать каталоги. 4620 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╪п╬пЁп╩п╟ п╫п╣п╡п╣я─п╫п╬ я┌п╣я│я┌п╦я─п╬п╡п╟я┌я▄ п╨п╟я┌п╟п╩п╬пЁп╦.
4621 </para> 4621 </para>
4622 <para lang="en"> 4622 <para lang="en">
4623 the "try_files" directive might test incorrectly directories. 4623 the "try_files" directive might test incorrectly directories.
4624 </para> 4624 </para>
4625 </change> 4625 </change>
4626 4626
4627 <change type="bugfix"> 4627 <change type="bugfix">
4628 <para lang="ru"> 4628 <para lang="ru">
4629 если для пары адрес:порт описан только один сервер, то выделения 4629 п╣я│п╩п╦ п╢п╩я▐ п©п╟я─я▀ п╟п╢я─п╣я│:п©п╬я─я┌ п╬п©п╦я│п╟п╫ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я│п╣я─п╡п╣я─, я┌п╬ п╡я▀п╢п╣п╩п╣п╫п╦я▐
4630 в регулярных выражениях в директиве server_name не работали. 4630 п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
4631 </para> 4631 </para>
4632 <para lang="en"> 4632 <para lang="en">
4633 if there was a single server for given address:port pair, 4633 if there was a single server for given address:port pair,
4634 then captures in regular expressions in a "server_name" directive did not work. 4634 then captures in regular expressions in a "server_name" directive did not work.
4635 </para> 4635 </para>
4640 4640
4641 <changes ver="0.7.43" date="18.03.2009"> 4641 <changes ver="0.7.43" date="18.03.2009">
4642 4642
4643 <change type="bugfix"> 4643 <change type="bugfix">
4644 <para lang="ru"> 4644 <para lang="ru">
4645 запрос обрабатывался неверно, если директива root использовала переменные; 4645 п╥п╟п©я─п╬я│ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п╫п╣п╡п╣я─п╫п╬, п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ root п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я▀п╣;
4646 ошибка появилась в 0.7.42. 4646 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.42.
4647 </para> 4647 </para>
4648 <para lang="en"> 4648 <para lang="en">
4649 a request was handled incorrectly, if a "root" directive used variables; 4649 a request was handled incorrectly, if a "root" directive used variables;
4650 the bug had appeared in 0.7.42. 4650 the bug had appeared in 0.7.42.
4651 </para> 4651 </para>
4652 </change> 4652 </change>
4653 4653
4654 <change type="bugfix"> 4654 <change type="bugfix">
4655 <para lang="ru"> 4655 <para lang="ru">
4656 если сервер слушал на адресах типа "*", то значение переменной $server_addr 4656 п╣я│п╩п╦ я│п╣я─п╡п╣я─ я│п╩я┐я┬п╟п╩ п╫п╟ п╟п╢я─п╣я│п╟я┘ я┌п╦п©п╟ "*", я┌п╬ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_addr
4657 было "0.0.0.0"; 4657 п╠я▀п╩п╬ "0.0.0.0";
4658 ошибка появилась в 0.7.36. 4658 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
4659 </para> 4659 </para>
4660 <para lang="en"> 4660 <para lang="en">
4661 if a server listened on wildcard address, then the $server_addr variable 4661 if a server listened on wildcard address, then the $server_addr variable
4662 value was "0.0.0.0"; 4662 value was "0.0.0.0";
4663 the bug had appeared in 0.7.36. 4663 the bug had appeared in 0.7.36.
4669 4669
4670 <changes ver="0.7.42" date="16.03.2009"> 4670 <changes ver="0.7.42" date="16.03.2009">
4671 4671
4672 <change type="change"> 4672 <change type="change">
4673 <para lang="ru"> 4673 <para lang="ru">
4674 ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris, 4674 п╬я┬п╦п╠п╨п╟ "Invalid argument", п╡п╬п╥п╡я─п╟я┴п╟п╣п╪п╟я▐ setsockopt(TCP_NODELAY) п╫п╟ Solaris,
4675 теперь игнорируется. 4675 я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐.
4676 </para> 4676 </para>
4677 <para lang="en"> 4677 <para lang="en">
4678 now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, 4678 now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris,
4679 is ignored. 4679 is ignored.
4680 </para> 4680 </para>
4681 </change> 4681 </change>
4682 4682
4683 <change type="change"> 4683 <change type="change">
4684 <para lang="ru"> 4684 <para lang="ru">
4685 при отсутствии файла, указанного в директиве auth_basic_user_file, 4685 п©я─п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╦ я└п╟п╧п╩п╟, я┐п╨п╟п╥п╟п╫п╫п╬пЁп╬ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_basic_user_file,
4686 теперь возвращается ошибка 403 вместо 500. 4686 я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ п╬я┬п╦п╠п╨п╟ 403 п╡п╪п╣я│я┌п╬ 500.
4687 </para> 4687 </para>
4688 <para lang="en"> 4688 <para lang="en">
4689 now if a file specified in a "auth_basic_user_file" directive is absent, 4689 now if a file specified in a "auth_basic_user_file" directive is absent,
4690 then the 403 error is returned instead of the 500 one. 4690 then the 403 error is returned instead of the 500 one.
4691 </para> 4691 </para>
4692 </change> 4692 </change>
4693 4693
4694 <change type="feature"> 4694 <change type="feature">
4695 <para lang="ru"> 4695 <para lang="ru">
4696 директива auth_basic_user_file поддерживает переменные. 4696 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic_user_file п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
4697 <br/> 4697 <br/>
4698 Спасибо Кириллу Коринскому. 4698 п║п©п╟я│п╦п╠п╬ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
4699 </para> 4699 </para>
4700 <para lang="en"> 4700 <para lang="en">
4701 the "auth_basic_user_file" directive supports variables.<br/> 4701 the "auth_basic_user_file" directive supports variables.<br/>
4702 Thanks to Kirill A. Korinskiy. 4702 Thanks to Kirill A. Korinskiy.
4703 </para> 4703 </para>
4704 </change> 4704 </change>
4705 4705
4706 <change type="feature"> 4706 <change type="feature">
4707 <para lang="ru"> 4707 <para lang="ru">
4708 директива listen поддерживает параметр ipv6only.<br/> 4708 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ ipv6only.<br/>
4709 Спасибо Zhang Hua. 4709 п║п©п╟я│п╦п╠п╬ Zhang Hua.
4710 </para> 4710 </para>
4711 <para lang="en"> 4711 <para lang="en">
4712 the "listen" directive supports the "ipv6only" parameter. 4712 the "listen" directive supports the "ipv6only" parameter.
4713 <br/> 4713 <br/>
4714 Thanks to Zhang Hua. 4714 Thanks to Zhang Hua.
4715 </para> 4715 </para>
4716 </change> 4716 </change>
4717 4717
4718 <change type="bugfix"> 4718 <change type="bugfix">
4719 <para lang="ru"> 4719 <para lang="ru">
4720 в директиве alias со ссылками на выделения в регулярных выражениях; 4720 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ alias я│п╬ я│я│я▀п╩п╨п╟п╪п╦ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
4721 ошибка появилась в 0.7.40. 4721 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.40.
4722 </para> 4722 </para>
4723 <para lang="en"> 4723 <para lang="en">
4724 in an "alias" directive with references to captures of regular expressions; 4724 in an "alias" directive with references to captures of regular expressions;
4725 the bug had appeared in 0.7.40. 4725 the bug had appeared in 0.7.40.
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 совместимость с Tru64 UNIX.<br/> 4731 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ Tru64 UNIX.<br/>
4732 Спасибо Dustin Marquess. 4732 п║п©п╟я│п╦п╠п╬ Dustin Marquess.
4733 </para> 4733 </para>
4734 <para lang="en"> 4734 <para lang="en">
4735 compatibility with Tru64 UNIX.<br/> 4735 compatibility with Tru64 UNIX.<br/>
4736 Thanks to Dustin Marquess. 4736 Thanks to Dustin Marquess.
4737 </para> 4737 </para>
4738 </change> 4738 </change>
4739 4739
4740 <change type="bugfix"> 4740 <change type="bugfix">
4741 <para lang="ru"> 4741 <para lang="ru">
4742 nginx не собирался без библиотеки PCRE; 4742 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
4743 ошибка появилась в 0.7.41. 4743 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.41.
4744 </para> 4744 </para>
4745 <para lang="en"> 4745 <para lang="en">
4746 nginx could not be built without PCRE library; 4746 nginx could not be built without PCRE library;
4747 the bug had appeared in 0.7.41. 4747 the bug had appeared in 0.7.41.
4748 </para> 4748 </para>
4753 4753
4754 <changes ver="0.7.41" date="11.03.2009"> 4754 <changes ver="0.7.41" date="11.03.2009">
4755 4755
4756 <change type="bugfix"> 4756 <change type="bugfix">
4757 <para lang="ru"> 4757 <para lang="ru">
4758 в рабочем процессе мог произойти segmentation fault, 4758 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
4759 если в server_name или location были выделения в регулярных выражениях; 4759 п╣я│п╩п╦ п╡ server_name п╦п╩п╦ location п╠я▀п╩п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘;
4760 ошибка появилась в 0.7.40.<br/> 4760 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.40.<br/>
4761 Спасибо Владимиру Сопоту. 4761 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п║п╬п©п╬я┌я┐.
4762 </para> 4762 </para>
4763 <para lang="en"> 4763 <para lang="en">
4764 a segmentation fault might occur in worker process, 4764 a segmentation fault might occur in worker process,
4765 if a "server_name" or a "location" directives had captures 4765 if a "server_name" or a "location" directives had captures
4766 in regular expressions; 4766 in regular expressions;
4774 4774
4775 <changes ver="0.7.40" date="09.03.2009"> 4775 <changes ver="0.7.40" date="09.03.2009">
4776 4776
4777 <change type="feature"> 4777 <change type="feature">
4778 <para lang="ru"> 4778 <para lang="ru">
4779 директива location поддерживает выделения в регулярных выражениях. 4779 п╢п╦я─п╣п╨я┌п╦п╡п╟ location п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
4780 </para> 4780 </para>
4781 <para lang="en"> 4781 <para lang="en">
4782 the "location" directive supports captures in regular expressions. 4782 the "location" directive supports captures in regular expressions.
4783 </para> 4783 </para>
4784 </change> 4784 </change>
4785 4785
4786 <change type="feature"> 4786 <change type="feature">
4787 <para lang="ru"> 4787 <para lang="ru">
4788 директиву alias с ссылками на выделения в регулярных выражениях 4788 п╢п╦я─п╣п╨я┌п╦п╡я┐ alias я│ я│я│я▀п╩п╨п╟п╪п╦ п╫п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘
4789 можно использовать внутри location'а, заданного регулярным выражением 4789 п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ location'п╟, п╥п╟п╢п╟п╫п╫п╬пЁп╬ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪
4790 с выделениями. 4790 я│ п╡я▀п╢п╣п╩п╣п╫п╦я▐п╪п╦.
4791 </para> 4791 </para>
4792 <para lang="en"> 4792 <para lang="en">
4793 an "alias" directive with capture references may be used inside 4793 an "alias" directive with capture references may be used inside
4794 a location given by a regular expression with captures. 4794 a location given by a regular expression with captures.
4795 </para> 4795 </para>
4796 </change> 4796 </change>
4797 4797
4798 <change type="feature"> 4798 <change type="feature">
4799 <para lang="ru"> 4799 <para lang="ru">
4800 директива server_name поддерживает выделения в регулярных выражениях. 4800 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
4801 </para> 4801 </para>
4802 <para lang="en"> 4802 <para lang="en">
4803 the "server_name" directive supports captures in regular expressions. 4803 the "server_name" directive supports captures in regular expressions.
4804 </para> 4804 </para>
4805 </change> 4805 </change>
4806 4806
4807 <change type="workaround"> 4807 <change type="workaround">
4808 <para lang="ru"> 4808 <para lang="ru">
4809 модуль ngx_http_autoindex_module не показывал последний слэш для каталогов 4809 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╩ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╩я█я┬ п╢п╩я▐ п╨п╟я┌п╟п╩п╬пЁп╬п╡
4810 на файловой системе XFS; 4810 п╫п╟ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪п╣ XFS;
4811 ошибка появилась в 0.7.15.<br/> 4811 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.<br/>
4812 Спасибо Дмитрию Кузьменко. 4812 п║п©п╟я│п╦п╠п╬ п■п╪п╦я┌я─п╦я▌ п я┐п╥я▄п╪п╣п╫п╨п╬.
4813 </para> 4813 </para>
4814 <para lang="en"> 4814 <para lang="en">
4815 the ngx_http_autoindex_module did not show the trailing slash in directories 4815 the ngx_http_autoindex_module did not show the trailing slash in directories
4816 on XFS filesystem; 4816 on XFS filesystem;
4817 the issue had appeared in 0.7.15.<br/> 4817 the issue had appeared in 0.7.15.<br/>
4824 4824
4825 <changes ver="0.7.39" date="02.03.2009"> 4825 <changes ver="0.7.39" date="02.03.2009">
4826 4826
4827 <change type="bugfix"> 4827 <change type="bugfix">
4828 <para lang="ru"> 4828 <para lang="ru">
4829 при включённом сжатии большие ответы с использованием SSI могли зависать; 4829 п©я─п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ я│п╤п╟я┌п╦п╦ п╠п╬п╩я▄я┬п╦п╣ п╬я┌п╡п╣я┌я▀ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ SSI п╪п╬пЁп╩п╦ п╥п╟п╡п╦я│п╟я┌я▄;
4830 ошибка появилась в 0.7.28.<br/> 4830 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.28.<br/>
4831 Спасибо Артёму Бохану. 4831 п║п©п╟я│п╦п╠п╬ п░я─я┌я▒п╪я┐ п▒п╬я┘п╟п╫я┐.
4832 </para> 4832 </para>
4833 <para lang="en"> 4833 <para lang="en">
4834 large response with SSI might hang, if gzipping was enabled; 4834 large response with SSI might hang, if gzipping was enabled;
4835 the bug had appeared in 0.7.28.<br/> 4835 the bug had appeared in 0.7.28.<br/>
4836 Thanks to Artem Bokhan. 4836 Thanks to Artem Bokhan.
4837 </para> 4837 </para>
4838 </change> 4838 </change>
4839 4839
4840 <change type="bugfix"> 4840 <change type="bugfix">
4841 <para lang="ru"> 4841 <para lang="ru">
4842 при использовании коротких статических вариантов в директиве try_files 4842 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬я─п╬я┌п╨п╦я┘ я│я┌п╟я┌п╦я┤п╣я│п╨п╦я┘ п╡п╟я─п╦п╟п╫я┌п╬п╡ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ try_files
4843 в рабочем процессе мог произойти segmentation fault. 4843 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
4844 </para> 4844 </para>
4845 <para lang="en"> 4845 <para lang="en">
4846 a segmentation fault might occur in worker process, 4846 a segmentation fault might occur in worker process,
4847 if short static variants are used in a "try_files" directive. 4847 if short static variants are used in a "try_files" directive.
4848 </para> 4848 </para>
4853 4853
4854 <changes ver="0.7.38" date="23.02.2009"> 4854 <changes ver="0.7.38" date="23.02.2009">
4855 4855
4856 <change type="feature"> 4856 <change type="feature">
4857 <para lang="ru"> 4857 <para lang="ru">
4858 логгирование ошибок аутентификации. 4858 п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦.
4859 </para> 4859 </para>
4860 <para lang="en"> 4860 <para lang="en">
4861 authentication failures logging. 4861 authentication failures logging.
4862 </para> 4862 </para>
4863 </change> 4863 </change>
4864 4864
4865 <change type="bugfix"> 4865 <change type="bugfix">
4866 <para lang="ru"> 4866 <para lang="ru">
4867 имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного 4867 п╦п╪я▐/п©п╟я─п╬п╩я▄, п╥п╟п╢п╟п╫п╫я▀п╣ п╡ auth_basic_user_file, п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╦я│я▄ п©п╬я│п╩п╣ п╫п╣я┤я▒я┌п╫п╬пЁп╬
4868 числа пустых строк.<br/> 4868 я┤п╦я│п╩п╟ п©я┐я│я┌я▀я┘ я│я┌я─п╬п╨.<br/>
4869 Спасибо Александру Загребину. 4869 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≈п╟пЁя─п╣п╠п╦п╫я┐.
4870 </para> 4870 </para>
4871 <para lang="en"> 4871 <para lang="en">
4872 name/password in auth_basic_user_file were ignored after odd number 4872 name/password in auth_basic_user_file were ignored after odd number
4873 of empty lines.<br/> 4873 of empty lines.<br/>
4874 Thanks to Alexander Zagrebin. 4874 Thanks to Alexander Zagrebin.
4875 </para> 4875 </para>
4876 </change> 4876 </change>
4877 4877
4878 <change type="bugfix"> 4878 <change type="bugfix">
4879 <para lang="ru"> 4879 <para lang="ru">
4880 при использовании длинного пути в unix domain сокете 4880 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╩п╦п╫п╫п╬пЁп╬ п©я┐я┌п╦ п╡ unix domain я│п╬п╨п╣я┌п╣
4881 в главном процессе происходил segmentation fault; 4881 п╡ пЁп╩п╟п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
4882 ошибка появилась в 0.7.36. 4882 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
4883 </para> 4883 </para>
4884 <para lang="en"> 4884 <para lang="en">
4885 a segmentation fault occurred in a master process, 4885 a segmentation fault occurred in a master process,
4886 if long path was used in unix domain socket; 4886 if long path was used in unix domain socket;
4887 the bug had appeared in 0.7.36. 4887 the bug had appeared in 0.7.36.
4893 4893
4894 <changes ver="0.7.37" date="21.02.2009"> 4894 <changes ver="0.7.37" date="21.02.2009">
4895 4895
4896 <change type="bugfix"> 4896 <change type="bugfix">
4897 <para lang="ru"> 4897 <para lang="ru">
4898 директивы, использующие upstream'ы, не работали; 4898 п╢п╦я─п╣п╨я┌п╦п╡я▀, п╦я│п©п╬п╩я▄п╥я┐я▌я┴п╦п╣ upstream'я▀, п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
4899 ошибка появилась в 0.7.36. 4899 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.36.
4900 </para> 4900 </para>
4901 <para lang="en"> 4901 <para lang="en">
4902 directives using upstreams did not work; 4902 directives using upstreams did not work;
4903 the bug had appeared in 0.7.36. 4903 the bug had appeared in 0.7.36.
4904 </para> 4904 </para>
4909 4909
4910 <changes ver="0.7.36" date="21.02.2009"> 4910 <changes ver="0.7.36" date="21.02.2009">
4911 4911
4912 <change type="feature"> 4912 <change type="feature">
4913 <para lang="ru"> 4913 <para lang="ru">
4914 предварительная поддержка IPv6; 4914 п©я─п╣п╢п╡п╟я─п╦я┌п╣п╩я▄п╫п╟я▐ п©п╬п╢п╢п╣я─п╤п╨п╟ IPv6;
4915 директива listen модуля HTTP поддерживает IPv6. 4915 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п╪п╬п╢я┐п╩я▐ HTTP п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ IPv6.
4916 </para> 4916 </para>
4917 <para lang="en"> 4917 <para lang="en">
4918 a preliminary IPv6 support; 4918 a preliminary IPv6 support;
4919 the "listen" directive of the HTTP module supports IPv6. 4919 the "listen" directive of the HTTP module supports IPv6.
4920 </para> 4920 </para>
4921 </change> 4921 </change>
4922 4922
4923 <change type="bugfix"> 4923 <change type="bugfix">
4924 <para lang="ru"> 4924 <para lang="ru">
4925 переменная $ancient_browser не работала для браузеров, заданных 4925 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ancient_browser п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╢п╩я▐ п╠я─п╟я┐п╥п╣я─п╬п╡, п╥п╟п╢п╟п╫п╫я▀я┘
4926 директивами modern_browser. 4926 п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ modern_browser.
4927 </para> 4927 </para>
4928 <para lang="en"> 4928 <para lang="en">
4929 the $ancient_browser variable did not work for browsers 4929 the $ancient_browser variable did not work for browsers
4930 preset by a "modern_browser" directives. 4930 preset by a "modern_browser" directives.
4931 </para> 4931 </para>
4936 4936
4937 <changes ver="0.7.35" date="16.02.2009"> 4937 <changes ver="0.7.35" date="16.02.2009">
4938 4938
4939 <change type="bugfix"> 4939 <change type="bugfix">
4940 <para lang="ru"> 4940 <para lang="ru">
4941 директива ssl_engine не использовала SSL-акселератор 4941 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_engine п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ SSL-п╟п╨я│п╣п╩п╣я─п╟я┌п╬я─
4942 для асимметричных шифров.<br/> 4942 п╢п╩я▐ п╟я│п╦п╪п╪п╣я┌я─п╦я┤п╫я▀я┘ я┬п╦я└я─п╬п╡.<br/>
4943 Спасибо Marcin Gozdalik. 4943 п║п©п╟я│п╦п╠п╬ Marcin Gozdalik.
4944 </para> 4944 </para>
4945 <para lang="en"> 4945 <para lang="en">
4946 a "ssl_engine" directive did not use a SSL-accelerator 4946 a "ssl_engine" directive did not use a SSL-accelerator
4947 for asymmetric ciphers.<br/> 4947 for asymmetric ciphers.<br/>
4948 Thanks to Marcin Gozdalik. 4948 Thanks to Marcin Gozdalik.
4949 </para> 4949 </para>
4950 </change> 4950 </change>
4951 4951
4952 <change type="bugfix"> 4952 <change type="bugfix">
4953 <para lang="ru"> 4953 <para lang="ru">
4954 директива try_files выставляла MIME-type, исходя из расширения 4954 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п╡я▀я│я┌п╟п╡п╩я▐п╩п╟ MIME-type, п╦я│я┘п╬п╢я▐ п╦п╥ я─п╟я│я┬п╦я─п╣п╫п╦я▐
4955 первоначального запроса. 4955 п©п╣я─п╡п╬п╫п╟я┤п╟п╩я▄п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
4956 </para> 4956 </para>
4957 <para lang="en"> 4957 <para lang="en">
4958 a "try_files" directive set MIME type depending on an 4958 a "try_files" directive set MIME type depending on an
4959 original request extension. 4959 original request extension.
4960 </para> 4960 </para>
4961 </change> 4961 </change>
4962 4962
4963 <change type="bugfix"> 4963 <change type="bugfix">
4964 <para lang="ru"> 4964 <para lang="ru">
4965 в директивах server_name, valid_referers и map 4965 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name, valid_referers п╦ map
4966 неправильно обрабатывались имена вида "*domain.tld", 4966 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ "*domain.tld",
4967 если использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 4967 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╟я│п╨п╦ п╡п╦п╢п╟ ".domain.tld" п╦ ".subdomain.domain.tld";
4968 ошибка появилась в 0.7.9. 4968 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.9.
4969 </para> 4969 </para>
4970 <para lang="en"> 4970 <para lang="en">
4971 "*domain.tld" names were handled incorrectly in 4971 "*domain.tld" names were handled incorrectly in
4972 "server_name", "valid_referers", and "map" directives, 4972 "server_name", "valid_referers", and "map" directives,
4973 if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; 4973 if ".domain.tld" and ".subdomain.domain.tld" wildcards were used;
4980 4980
4981 <changes ver="0.7.34" date="10.02.2009"> 4981 <changes ver="0.7.34" date="10.02.2009">
4982 4982
4983 <change type="feature"> 4983 <change type="feature">
4984 <para lang="ru"> 4984 <para lang="ru">
4985 параметр off в директиве if_modified_since. 4985 п©п╟я─п╟п╪п╣я┌я─ off п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if_modified_since.
4986 </para> 4986 </para>
4987 <para lang="en"> 4987 <para lang="en">
4988 the "off" parameter of the "if_modified_since" directive. 4988 the "off" parameter of the "if_modified_since" directive.
4989 </para> 4989 </para>
4990 </change> 4990 </change>
4991 4991
4992 <change type="feature"> 4992 <change type="feature">
4993 <para lang="ru"> 4993 <para lang="ru">
4994 теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/> 4994 я┌п╣п©п╣я─я▄ п©п╬я│п╩п╣ п╨п╬п╪п╟п╫п╢я▀ XCLIENT nginx п©п╬я│я▀п╩п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ HELO/EHLO.<br/>
4995 Спасибо Максиму Дунину. 4995 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
4996 </para> 4996 </para>
4997 <para lang="en"> 4997 <para lang="en">
4998 now nginx sends an HELO/EHLO command after a XCLIENT command.<br/> 4998 now nginx sends an HELO/EHLO command after a XCLIENT command.<br/>
4999 Thanks to Maxim Dounin. 4999 Thanks to Maxim Dounin.
5000 </para> 5000 </para>
5001 </change> 5001 </change>
5002 5002
5003 <change type="feature"> 5003 <change type="feature">
5004 <para lang="ru"> 5004 <para lang="ru">
5005 поддержка Microsoft-специфичного режима 5005 п©п╬п╢п╢п╣я─п╤п╨п╟ Microsoft-я│п©п╣я├п╦я└п╦я┤п╫п╬пЁп╬ я─п╣п╤п╦п╪п╟
5006 <nobr>"AUTH LOGIN with User Name"</nobr> 5006 <nobr>"AUTH LOGIN with User Name"</nobr>
5007 в почтовом прокси-сервере.<br/> 5007 п╡ п©п╬я┤я┌п╬п╡п╬п╪ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣.<br/>
5008 Спасибо Максиму Дунину. 5008 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5009 </para> 5009 </para>
5010 <para lang="en"> 5010 <para lang="en">
5011 Microsoft specific "AUTH LOGIN with User Name" mode support 5011 Microsoft specific "AUTH LOGIN with User Name" mode support
5012 in mail proxy server.<br/> 5012 in mail proxy server.<br/>
5013 Thanks to Maxim Dounin. 5013 Thanks to Maxim Dounin.
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 в директиве rewrite, возвращающей редирект, старые аргументы присоединялись 5019 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite, п╡п╬п╥п╡я─п╟я┴п╟я▌я┴п╣п╧ я─п╣п╢п╦я─п╣п╨я┌, я│я┌п╟я─я▀п╣ п╟я─пЁя┐п╪п╣п╫я┌я▀ п©я─п╦я│п╬п╣п╢п╦п╫я▐п╩п╦я│я▄
5020 к новым через символ "?" вместо "&amp;";<br/> 5020 п╨ п╫п╬п╡я▀п╪ я┤п╣я─п╣п╥ я│п╦п╪п╡п╬п╩ "?" п╡п╪п╣я│я┌п╬ "&amp;";<br/>
5021 ошибка появилась в 0.1.18.<br/> 5021 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.18.<br/>
5022 Спасибо Максиму Дунину. 5022 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5023 </para> 5023 </para>
5024 <para lang="en"> 5024 <para lang="en">
5025 in a redirect rewrite directive original arguments were concatenated with 5025 in a redirect rewrite directive original arguments were concatenated with
5026 new arguments by a "?" rather than an "&amp;";<br/> 5026 new arguments by a "?" rather than an "&amp;";<br/>
5027 the bug had appeared in 0.1.18.<br/> 5027 the bug had appeared in 0.1.18.<br/>
5029 </para> 5029 </para>
5030 </change> 5030 </change>
5031 5031
5032 <change type="bugfix"> 5032 <change type="bugfix">
5033 <para lang="ru"> 5033 <para lang="ru">
5034 nginx не собирался на AIX. 5034 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ AIX.
5035 </para> 5035 </para>
5036 <para lang="en"> 5036 <para lang="en">
5037 nginx could not be built on AIX. 5037 nginx could not be built on AIX.
5038 </para> 5038 </para>
5039 </change> 5039 </change>
5043 5043
5044 <changes ver="0.7.33" date="02.02.2009"> 5044 <changes ver="0.7.33" date="02.02.2009">
5045 5045
5046 <change type="bugfix"> 5046 <change type="bugfix">
5047 <para lang="ru"> 5047 <para lang="ru">
5048 если на запрос с телом возвращался редирект, то ответ мог быть двойным 5048 п╣я│п╩п╦ п╫п╟ п╥п╟п©я─п╬я│ я│ я┌п╣п╩п╬п╪ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ я─п╣п╢п╦я─п╣п╨я┌, я┌п╬ п╬я┌п╡п╣я┌ п╪п╬пЁ п╠я▀я┌я▄ п╢п╡п╬п╧п╫я▀п╪
5049 при использовании методов epoll или rtsig.<br/> 5049 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ epoll п╦п╩п╦ rtsig.<br/>
5050 Спасибо Eden Li. 5050 п║п©п╟я│п╦п╠п╬ Eden Li.
5051 </para> 5051 </para>
5052 <para lang="en"> 5052 <para lang="en">
5053 a double response might be returned if the epoll or rtsig methods are used 5053 a double response might be returned if the epoll or rtsig methods are used
5054 and a redirect was returned to a request with body.<br/> 5054 and a redirect was returned to a request with body.<br/>
5055 Thanks to Eden Li. 5055 Thanks to Eden Li.
5056 </para> 5056 </para>
5057 </change> 5057 </change>
5058 5058
5059 <change type="bugfix"> 5059 <change type="bugfix">
5060 <para lang="ru"> 5060 <para lang="ru">
5061 для некоторых типов редиректов в переменной $sent_http_location 5061 п╢п╩я▐ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┌п╦п©п╬п╡ я─п╣п╢п╦я─п╣п╨я┌п╬п╡ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $sent_http_location
5062 было пустое значение. 5062 п╠я▀п╩п╬ п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
5063 </para> 5063 </para>
5064 <para lang="en"> 5064 <para lang="en">
5065 the $sent_http_location variable was empty for some redirects types. 5065 the $sent_http_location variable was empty for some redirects types.
5066 </para> 5066 </para>
5067 </change> 5067 </change>
5068 5068
5069 <change type="bugfix"> 5069 <change type="bugfix">
5070 <para lang="ru"> 5070 <para lang="ru">
5071 при использовании директивы resolver в SMTP прокси-сервере 5071 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╡ SMTP п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣
5072 в рабочем процессе мог произойти segmentation fault. 5072 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
5073 </para> 5073 </para>
5074 <para lang="en"> 5074 <para lang="en">
5075 a segmentation fault might occur in worker process 5075 a segmentation fault might occur in worker process
5076 if "resolver" directive was used in SMTP proxy. 5076 if "resolver" directive was used in SMTP proxy.
5077 </para> 5077 </para>
5082 5082
5083 <changes ver="0.7.32" date="26.01.2009"> 5083 <changes ver="0.7.32" date="26.01.2009">
5084 5084
5085 <change type="feature"> 5085 <change type="feature">
5086 <para lang="ru"> 5086 <para lang="ru">
5087 теперь в директиве try_files можно явно указать проверку каталога. 5087 я┌п╣п©п╣я─я▄ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ try_files п╪п╬п╤п╫п╬ я▐п╡п╫п╬ я┐п╨п╟п╥п╟я┌я▄ п©я─п╬п╡п╣я─п╨я┐ п╨п╟я┌п╟п╩п╬пЁп╟.
5088 </para> 5088 </para>
5089 <para lang="en"> 5089 <para lang="en">
5090 now a directory existence testing can be set explicitly 5090 now a directory existence testing can be set explicitly
5091 in the "try_files" directive. 5091 in the "try_files" directive.
5092 </para> 5092 </para>
5093 </change> 5093 </change>
5094 5094
5095 <change type="bugfix"> 5095 <change type="bugfix">
5096 <para lang="ru"> 5096 <para lang="ru">
5097 fastcgi_store не всегда сохранял файлы. 5097 fastcgi_store п╫п╣ п╡я│п╣пЁп╢п╟ я│п╬я┘я─п╟п╫я▐п╩ я└п╟п╧п╩я▀.
5098 </para> 5098 </para>
5099 <para lang="en"> 5099 <para lang="en">
5100 fastcgi_store stored files not always. 5100 fastcgi_store stored files not always.
5101 </para> 5101 </para>
5102 </change> 5102 </change>
5103 5103
5104 <change type="bugfix"> 5104 <change type="bugfix">
5105 <para lang="ru"> 5105 <para lang="ru">
5106 в гео-диапазонах. 5106 п╡ пЁп╣п╬-п╢п╦п╟п©п╟п╥п╬п╫п╟я┘.
5107 </para> 5107 </para>
5108 <para lang="en"> 5108 <para lang="en">
5109 in geo ranges. 5109 in geo ranges.
5110 </para> 5110 </para>
5111 </change> 5111 </change>
5112 5112
5113 <change type="bugfix"> 5113 <change type="bugfix">
5114 <para lang="ru"> 5114 <para lang="ru">
5115 ошибки выделения больших блоков в разделяемой памяти, 5115 п╬я┬п╦п╠п╨п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╠п╬п╩я▄я┬п╦я┘ п╠п╩п╬п╨п╬п╡ п╡ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п©п╟п╪я▐я┌п╦,
5116 если nginx был собран без отладки.<br/> 5116 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ п╠п╣п╥ п╬я┌п╩п╟п╢п╨п╦.<br/>
5117 Спасибо Андрею Квасову. 5117 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п п╡п╟я│п╬п╡я┐.
5118 </para> 5118 </para>
5119 <para lang="en"> 5119 <para lang="en">
5120 in shared memory allocations if nginx was built without debugging.<br/> 5120 in shared memory allocations if nginx was built without debugging.<br/>
5121 Thanks to Andrey Kvasov. 5121 Thanks to Andrey Kvasov.
5122 </para> 5122 </para>
5127 5127
5128 <changes ver="0.7.31" date="19.01.2009"> 5128 <changes ver="0.7.31" date="19.01.2009">
5129 5129
5130 <change type="change"> 5130 <change type="change">
5131 <para lang="ru"> 5131 <para lang="ru">
5132 теперь директива try_files проверяет только файлы, игнорируя каталоги. 5132 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files п©я─п╬п╡п╣я─я▐п╣я┌ я┌п╬п╩я▄п╨п╬ я└п╟п╧п╩я▀, п╦пЁп╫п╬я─п╦я─я┐я▐ п╨п╟я┌п╟п╩п╬пЁп╦.
5133 </para> 5133 </para>
5134 <para lang="en"> 5134 <para lang="en">
5135 now the "try_files" directive tests files only and ignores directories. 5135 now the "try_files" directive tests files only and ignores directories.
5136 </para> 5136 </para>
5137 </change> 5137 </change>
5138 5138
5139 <change type="feature"> 5139 <change type="feature">
5140 <para lang="ru"> 5140 <para lang="ru">
5141 директива fastcgi_split_path_info. 5141 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_split_path_info.
5142 </para> 5142 </para>
5143 <para lang="en"> 5143 <para lang="en">
5144 the "fastcgi_split_path_info" directive. 5144 the "fastcgi_split_path_info" directive.
5145 </para> 5145 </para>
5146 </change> 5146 </change>
5147 5147
5148 <change> 5148 <change>
5149 <para lang="ru"> 5149 <para lang="ru">
5150 Исправления в поддержке строки "Expect" в заголовке запроса. 5150 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ я│я┌я─п╬п╨п╦ "Expect" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
5151 </para> 5151 </para>
5152 <para lang="en"> 5152 <para lang="en">
5153 Bugfixes in an "Expect" request header line support. 5153 Bugfixes in an "Expect" request header line support.
5154 </para> 5154 </para>
5155 </change> 5155 </change>
5156 5156
5157 <change> 5157 <change>
5158 <para lang="ru"> 5158 <para lang="ru">
5159 Исправления в гео-диапазонах. 5159 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ пЁп╣п╬-п╢п╦п╟п©п╟п╥п╬п╫п╟я┘.
5160 </para> 5160 </para>
5161 <para lang="en"> 5161 <para lang="en">
5162 Bugfixes in geo ranges. 5162 Bugfixes in geo ranges.
5163 </para> 5163 </para>
5164 </change> 5164 </change>
5165 5165
5166 <change type="bugfix"> 5166 <change type="bugfix">
5167 <para lang="ru"> 5167 <para lang="ru">
5168 при отсутствии ответа ngx_http_memcached_module возвращал 5168 п©я─п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╦ п╬я┌п╡п╣я┌п╟ ngx_http_memcached_module п╡п╬п╥п╡я─п╟я┴п╟п╩
5169 в теле ответа строку "END" вместо 404-ой страницы по умолчанию; 5169 п╡ я┌п╣п╩п╣ п╬я┌п╡п╣я┌п╟ я│я┌я─п╬п╨я┐ "END" п╡п╪п╣я│я┌п╬ 404-п╬п╧ я│я┌я─п╟п╫п╦я├я▀ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌;
5170 ошибка появилась в 0.7.18.<br/> 5170 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.18.<br/>
5171 Спасибо Максиму Дунину. 5171 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5172 </para> 5172 </para>
5173 <para lang="en"> 5173 <para lang="en">
5174 in a miss case ngx_http_memcached_module returned the "END" line 5174 in a miss case ngx_http_memcached_module returned the "END" line
5175 as response body instead of default 404 page body; 5175 as response body instead of default 404 page body;
5176 the bug had appeared in 0.7.18.<br/> 5176 the bug had appeared in 0.7.18.<br/>
5178 </para> 5178 </para>
5179 </change> 5179 </change>
5180 5180
5181 <change type="bugfix"> 5181 <change type="bugfix">
5182 <para lang="ru"> 5182 <para lang="ru">
5183 при проксировании SMPT nginx выдавал сообщение 5183 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ SMPT nginx п╡я▀п╢п╟п╡п╟п╩ я│п╬п╬п╠я┴п╣п╫п╦п╣
5184 <nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK"; 5184 <nobr>"250 2.0.0 OK"</nobr> п╡п╪п╣я│я┌п╬ "235 2.0.0 OK";
5185 ошибка появилась в 0.7.22.<br/> 5185 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.22.<br/>
5186 Спасибо Максиму Дунину. 5186 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5187 </para> 5187 </para>
5188 <para lang="en"> 5188 <para lang="en">
5189 while SMTP proxying nginx issued message 5189 while SMTP proxying nginx issued message
5190 "250 2.0.0 OK" instead of "235 2.0.0 OK"; 5190 "250 2.0.0 OK" instead of "235 2.0.0 OK";
5191 the bug had appeared in 0.7.22.<br/> 5191 the bug had appeared in 0.7.22.<br/>
5199 5199
5200 <changes ver="0.7.30" date="24.12.2008"> 5200 <changes ver="0.7.30" date="24.12.2008">
5201 5201
5202 <change type="bugfix"> 5202 <change type="bugfix">
5203 <para lang="ru"> 5203 <para lang="ru">
5204 в рабочем процессе происходил segmentation fault, 5204 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
5205 если в директивах fastcgi_pass или proxy_pass 5205 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ fastcgi_pass п╦п╩п╦ proxy_pass
5206 использовались переменные и имя хоста должно было резолвиться; 5206 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п╦п╪я▐ я┘п╬я│я┌п╟ п╢п╬п╩п╤п╫п╬ п╠я▀п╩п╬ я─п╣п╥п╬п╩п╡п╦я┌я▄я│я▐;
5207 ошибка появилась в 0.7.29. 5207 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.29.
5208 </para> 5208 </para>
5209 <para lang="en"> 5209 <para lang="en">
5210 a segmentation fault occurred in worker process, 5210 a segmentation fault occurred in worker process,
5211 if variables were used in the "fastcgi_pass" or "proxy_pass" directives 5211 if variables were used in the "fastcgi_pass" or "proxy_pass" directives
5212 and host name must be resolved; 5212 and host name must be resolved;
5219 5219
5220 <changes ver="0.7.29" date="24.12.2008"> 5220 <changes ver="0.7.29" date="24.12.2008">
5221 5221
5222 <change type="bugfix"> 5222 <change type="bugfix">
5223 <para lang="ru"> 5223 <para lang="ru">
5224 директивы fastcgi_pass и proxy_pass не поддерживали переменные 5224 п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_pass п╦ proxy_pass п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╦ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
5225 при использовании unix domain сокетов. 5225 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ unix domain я│п╬п╨п╣я┌п╬п╡.
5226 </para> 5226 </para>
5227 <para lang="en"> 5227 <para lang="en">
5228 the "fastcgi_pass" and "proxy_pass" directives did not support 5228 the "fastcgi_pass" and "proxy_pass" directives did not support
5229 variables if unix domain sockets were used. 5229 variables if unix domain sockets were used.
5230 </para> 5230 </para>
5231 </change> 5231 </change>
5232 5232
5233 <change> 5233 <change>
5234 <para lang="ru"> 5234 <para lang="ru">
5235 Исправления в обработке подзапросов; 5235 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡;
5236 ошибки появились в 0.7.25. 5236 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.25.
5237 </para> 5237 </para>
5238 <para lang="en"> 5238 <para lang="en">
5239 Bugfixes in subrequest processing; 5239 Bugfixes in subrequest processing;
5240 the bugs had appeared in 0.7.25. 5240 the bugs had appeared in 0.7.25.
5241 </para> 5241 </para>
5242 </change> 5242 </change>
5243 5243
5244 <change type="bugfix"> 5244 <change type="bugfix">
5245 <para lang="ru"> 5245 <para lang="ru">
5246 ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/> 5246 п╬я┌п╡п╣я┌ "100 Continue" п╡я▀п╢п╟п╡п╟п╩я│я▐ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ п╡п╣я─я│п╦п╦ HTTP/1.0;<br/>
5247 Спасибо Максиму Дунину. 5247 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5248 </para> 5248 </para>
5249 <para lang="en"> 5249 <para lang="en">
5250 a "100 Continue" response was issued for HTTP/1.0 requests;<br/> 5250 a "100 Continue" response was issued for HTTP/1.0 requests;<br/>
5251 Thanks to Maxim Dounin. 5251 Thanks to Maxim Dounin.
5252 </para> 5252 </para>
5253 </change> 5253 </change>
5254 5254
5255 <change type="bugfix"> 5255 <change type="bugfix">
5256 <para lang="ru"> 5256 <para lang="ru">
5257 в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin. 5257 п╡ п╡я▀п╢п╣п╩п╣п╫п╦п╦ п©п╟п╪я▐я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module п©п╬п╢ Cygwin.
5258 </para> 5258 </para>
5259 <para lang="en"> 5259 <para lang="en">
5260 in memory allocation in the ngx_http_gzip_filter_module on Cygwin. 5260 in memory allocation in the ngx_http_gzip_filter_module on Cygwin.
5261 </para> 5261 </para>
5262 </change> 5262 </change>
5266 5266
5267 <changes ver="0.7.28" date="22.12.2008"> 5267 <changes ver="0.7.28" date="22.12.2008">
5268 5268
5269 <change type="change"> 5269 <change type="change">
5270 <para lang="ru"> 5270 <para lang="ru">
5271 в выделении памяти в модуле ngx_http_gzip_filter_module. 5271 п╡ п╡я▀п╢п╣п╩п╣п╫п╦п╦ п©п╟п╪я▐я┌п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module.
5272 </para> 5272 </para>
5273 <para lang="en"> 5273 <para lang="en">
5274 in memory allocation in the ngx_http_gzip_filter_module. 5274 in memory allocation in the ngx_http_gzip_filter_module.
5275 </para> 5275 </para>
5276 </change> 5276 </change>
5277 5277
5278 <change type="change"> 5278 <change type="change">
5279 <para lang="ru"> 5279 <para lang="ru">
5280 значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k 5280 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╢п╩я▐ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_buffers п╦п╥п╪п╣п╫п╣п╫я▀ я│ 4 4k/8k
5281 на 32 4k или 16 8k. 5281 п╫п╟ 32 4k п╦п╩п╦ 16 8k.
5282 </para> 5282 </para>
5283 <para lang="en"> 5283 <para lang="en">
5284 the default "gzip_buffers" directive values have been changed 5284 the default "gzip_buffers" directive values have been changed
5285 to 32 4k or 16 8k from 4 4k/8k. 5285 to 32 4k or 16 8k from 4 4k/8k.
5286 </para> 5286 </para>
5291 5291
5292 <changes ver="0.7.27" date="15.12.2008"> 5292 <changes ver="0.7.27" date="15.12.2008">
5293 5293
5294 <change type="feature"> 5294 <change type="feature">
5295 <para lang="ru"> 5295 <para lang="ru">
5296 директива try_files. 5296 п╢п╦я─п╣п╨я┌п╦п╡п╟ try_files.
5297 </para> 5297 </para>
5298 <para lang="en"> 5298 <para lang="en">
5299 the "try_files" directive. 5299 the "try_files" directive.
5300 </para> 5300 </para>
5301 </change> 5301 </change>
5302 5302
5303 <change type="feature"> 5303 <change type="feature">
5304 <para lang="ru"> 5304 <para lang="ru">
5305 директива fastcgi_pass поддерживает переменные. 5305 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
5306 </para> 5306 </para>
5307 <para lang="en"> 5307 <para lang="en">
5308 variables support in the "fastcgi_pass" directive. 5308 variables support in the "fastcgi_pass" directive.
5309 </para> 5309 </para>
5310 </change> 5310 </change>
5311 5311
5312 <change type="feature"> 5312 <change type="feature">
5313 <para lang="ru"> 5313 <para lang="ru">
5314 теперь директива geo может брать адрес из переменной.<br/> 5314 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ geo п╪п╬п╤п╣я┌ п╠я─п╟я┌я▄ п╟п╢я─п╣я│ п╦п╥ п©п╣я─п╣п╪п╣п╫п╫п╬п╧.<br/>
5315 Спасибо Андрею Нигматулину. 5315 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
5316 </para> 5316 </para>
5317 <para lang="en"> 5317 <para lang="en">
5318 now the $geo variable may get an address from a variable.<br/> 5318 now the $geo variable may get an address from a variable.<br/>
5319 Thanks to Andrei Nigmatulin. 5319 Thanks to Andrei Nigmatulin.
5320 </para> 5320 </para>
5321 </change> 5321 </change>
5322 5322
5323 <change type="feature"> 5323 <change type="feature">
5324 <para lang="ru"> 5324 <para lang="ru">
5325 теперь модификатор location'а можно указывать без пробела перед названием. 5325 я┌п╣п©п╣я─я▄ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ location'п╟ п╪п╬п╤п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ п╠п╣п╥ п©я─п╬п╠п╣п╩п╟ п©п╣я─п╣п╢ п╫п╟п╥п╡п╟п╫п╦п╣п╪.
5326 </para> 5326 </para>
5327 <para lang="en"> 5327 <para lang="en">
5328 now a location's modifier may be used without space before name. 5328 now a location's modifier may be used without space before name.
5329 </para> 5329 </para>
5330 </change> 5330 </change>
5331 5331
5332 <change type="feature"> 5332 <change type="feature">
5333 <para lang="ru"> 5333 <para lang="ru">
5334 переменная $upstream_response_length. 5334 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_length.
5335 </para> 5335 </para>
5336 <para lang="en"> 5336 <para lang="en">
5337 the $upstream_response_length variable. 5337 the $upstream_response_length variable.
5338 </para> 5338 </para>
5339 </change> 5339 </change>
5340 5340
5341 <change type="bugfix"> 5341 <change type="bugfix">
5342 <para lang="ru"> 5342 <para lang="ru">
5343 теперь директива add_header не добавляет пустое значение. 5343 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╣я┌ п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
5344 </para> 5344 </para>
5345 <para lang="en"> 5345 <para lang="en">
5346 now a "add_header" directive does not add an empty value. 5346 now a "add_header" directive does not add an empty value.
5347 </para> 5347 </para>
5348 </change> 5348 </change>
5349 5349
5350 <change type="bugfix"> 5350 <change type="bugfix">
5351 <para lang="ru"> 5351 <para lang="ru">
5352 при запросе файла нулевой длины nginx закрывал соединение, ничего не передав; 5352 п©я─п╦ п╥п╟п©я─п╬я│п╣ я└п╟п╧п╩п╟ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀ nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣, п╫п╦я┤п╣пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡;
5353 ошибка появилась в 0.7.25. 5353 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.
5354 </para> 5354 </para>
5355 <para lang="en"> 5355 <para lang="en">
5356 if zero length static file was requested, then nginx just closed connection; 5356 if zero length static file was requested, then nginx just closed connection;
5357 the bug had appeared in 0.7.25. 5357 the bug had appeared in 0.7.25.
5358 </para> 5358 </para>
5359 </change> 5359 </change>
5360 5360
5361 <change type="bugfix"> 5361 <change type="bugfix">
5362 <para lang="ru"> 5362 <para lang="ru">
5363 метод MOVE не мог перемещать файл в несуществующий каталог. 5363 п╪п╣я┌п╬п╢ MOVE п╫п╣ п╪п╬пЁ п©п╣я─п╣п╪п╣я┴п╟я┌я▄ я└п╟п╧п╩ п╡ п╫п╣я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦п╧ п╨п╟я┌п╟п╩п╬пЁ.
5364 </para> 5364 </para>
5365 <para lang="en"> 5365 <para lang="en">
5366 a MOVE method could not move file in non-existent directory. 5366 a MOVE method could not move file in non-existent directory.
5367 </para> 5367 </para>
5368 </change> 5368 </change>
5369 5369
5370 <change type="bugfix"> 5370 <change type="bugfix">
5371 <para lang="ru"> 5371 <para lang="ru">
5372 если в сервере не был описан ни один именованный location, 5372 п╣я│п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩ п╬п©п╦я│п╟п╫ п╫п╦ п╬п╢п╦п╫ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location,
5373 но такой location использовался в директиве error_page, 5373 п╫п╬ я┌п╟п╨п╬п╧ location п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ error_page,
5374 то в рабочем процессе происходил segmentation fault.<br/> 5374 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
5375 Спасибо Сергею Боченкову. 5375 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
5376 </para> 5376 </para>
5377 <para lang="en"> 5377 <para lang="en">
5378 a segmentation fault occurred in worker process, 5378 a segmentation fault occurred in worker process,
5379 if no one named location was defined in server, 5379 if no one named location was defined in server,
5380 but some one was used in an error_page directive.<br/> 5380 but some one was used in an error_page directive.<br/>
5387 5387
5388 <changes ver="0.7.26" date="08.12.2008"> 5388 <changes ver="0.7.26" date="08.12.2008">
5389 5389
5390 <change type="bugfix"> 5390 <change type="bugfix">
5391 <para lang="ru"> 5391 <para lang="ru">
5392 в обработке подзапросов; 5392 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡;
5393 ошибка появилась в 0.7.25. 5393 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.25.
5394 </para> 5394 </para>
5395 <para lang="en"> 5395 <para lang="en">
5396 in subrequest processing; 5396 in subrequest processing;
5397 the bug had appeared in 0.7.25. 5397 the bug had appeared in 0.7.25.
5398 </para> 5398 </para>
5403 5403
5404 <changes ver="0.7.25" date="08.12.2008"> 5404 <changes ver="0.7.25" date="08.12.2008">
5405 5405
5406 <change type="change"> 5406 <change type="change">
5407 <para lang="ru"> 5407 <para lang="ru">
5408 в обработке подзапросов. 5408 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
5409 </para> 5409 </para>
5410 <para lang="en"> 5410 <para lang="en">
5411 in subrequest processing. 5411 in subrequest processing.
5412 </para> 5412 </para>
5413 </change> 5413 </change>
5414 5414
5415 <change type="change"> 5415 <change type="change">
5416 <para lang="ru"> 5416 <para lang="ru">
5417 теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса. 5417 я┌п╣п©п╣я─я▄ я─п╟п╥я─п╣я┬п╟я▌я┌я│я▐ POST'я▀ п╠п╣п╥ я│я┌я─п╬п╨п╦ "Content-Length" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
5418 </para> 5418 </para>
5419 <para lang="en"> 5419 <para lang="en">
5420 now POSTs without "Content-Length" header line are allowed. 5420 now POSTs without "Content-Length" header line are allowed.
5421 </para> 5421 </para>
5422 </change> 5422 </change>
5423 5423
5424 <change type="bugfix"> 5424 <change type="bugfix">
5425 <para lang="ru"> 5425 <para lang="ru">
5426 теперь директивы limit_req и limit_conn указывают причину запрета запроса. 5426 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ limit_req п╦ limit_conn я┐п╨п╟п╥я▀п╡п╟я▌я┌ п©я─п╦я┤п╦п╫я┐ п╥п╟п©я─п╣я┌п╟ п╥п╟п©я─п╬я│п╟.
5427 </para> 5427 </para>
5428 <para lang="en"> 5428 <para lang="en">
5429 now the "limit_req" and "limit_conn" directives log a prohibition reason. 5429 now the "limit_req" and "limit_conn" directives log a prohibition reason.
5430 </para> 5430 </para>
5431 </change> 5431 </change>
5432 5432
5433 <change type="bugfix"> 5433 <change type="bugfix">
5434 <para lang="ru"> 5434 <para lang="ru">
5435 в параметре delete директивы geo. 5435 п╡ п©п╟я─п╟п╪п╣я┌я─п╣ delete п╢п╦я─п╣п╨я┌п╦п╡я▀ geo.
5436 </para> 5436 </para>
5437 <para lang="en"> 5437 <para lang="en">
5438 in the "delete" parameter of the "geo" directive. 5438 in the "delete" parameter of the "geo" directive.
5439 </para> 5439 </para>
5440 </change> 5440 </change>
5444 5444
5445 <changes ver="0.7.24" date="01.12.2008"> 5445 <changes ver="0.7.24" date="01.12.2008">
5446 5446
5447 <change type="feature"> 5447 <change type="feature">
5448 <para lang="ru"> 5448 <para lang="ru">
5449 директива if_modified_since. 5449 п╢п╦я─п╣п╨я┌п╦п╡п╟ if_modified_since.
5450 </para> 5450 </para>
5451 <para lang="en"> 5451 <para lang="en">
5452 the "if_modified_since" directive. 5452 the "if_modified_since" directive.
5453 </para> 5453 </para>
5454 </change> 5454 </change>
5455 5455
5456 <change type="bugfix"> 5456 <change type="bugfix">
5457 <para lang="ru"> 5457 <para lang="ru">
5458 nginx не обрабатывал ответ FastCGI-сервера, 5458 nginx п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╬я┌п╡п╣я┌ FastCGI-я│п╣я─п╡п╣я─п╟,
5459 если перед ответом сервер передавал много сообщений в stderr. 5459 п╣я│п╩п╦ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪ я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п╪п╫п╬пЁп╬ я│п╬п╬п╠я┴п╣п╫п╦п╧ п╡ stderr.
5460 </para> 5460 </para>
5461 <para lang="en"> 5461 <para lang="en">
5462 nginx did not process a FastCGI server response, 5462 nginx did not process a FastCGI server response,
5463 if the server send too many messages to stderr before response. 5463 if the server send too many messages to stderr before response.
5464 </para> 5464 </para>
5465 </change> 5465 </change>
5466 5466
5467 <change type="bugfix"> 5467 <change type="bugfix">
5468 <para lang="ru"> 5468 <para lang="ru">
5469 переменные "$cookie_..." не работали в SSI and в перловом модуле. 5469 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$cookie_..." п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ п╡ SSI and п╡ п©п╣я─п╩п╬п╡п╬п╪ п╪п╬п╢я┐п╩п╣.
5470 </para> 5470 </para>
5471 <para lang="en"> 5471 <para lang="en">
5472 the "$cookie_..." variables did not work in the SSI and the perl module. 5472 the "$cookie_..." variables did not work in the SSI and the perl module.
5473 </para> 5473 </para>
5474 </change> 5474 </change>
5478 5478
5479 <changes ver="0.7.23" date="27.11.2008"> 5479 <changes ver="0.7.23" date="27.11.2008">
5480 5480
5481 <change type="feature"> 5481 <change type="feature">
5482 <para lang="ru"> 5482 <para lang="ru">
5483 параметры delete и ranges в директиве geo. 5483 п©п╟я─п╟п╪п╣я┌я─я▀ delete п╦ ranges п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo.
5484 </para> 5484 </para>
5485 <para lang="en"> 5485 <para lang="en">
5486 the "delete" and "ranges" parameters in the "geo" directive. 5486 the "delete" and "ranges" parameters in the "geo" directive.
5487 </para> 5487 </para>
5488 </change> 5488 </change>
5489 5489
5490 <change type="feature"> 5490 <change type="feature">
5491 <para lang="ru"> 5491 <para lang="ru">
5492 ускорение загрузки geo-базы с большим числом значений. 5492 я┐я│п╨п╬я─п╣п╫п╦п╣ п╥п╟пЁя─я┐п╥п╨п╦ geo-п╠п╟п╥я▀ я│ п╠п╬п╩я▄я┬п╦п╪ я┤п╦я│п╩п╬п╪ п╥п╫п╟я┤п╣п╫п╦п╧.
5493 </para> 5493 </para>
5494 <para lang="en"> 5494 <para lang="en">
5495 speeding up loading of geo base with large number of values. 5495 speeding up loading of geo base with large number of values.
5496 </para> 5496 </para>
5497 </change> 5497 </change>
5498 5498
5499 <change type="feature"> 5499 <change type="feature">
5500 <para lang="ru"> 5500 <para lang="ru">
5501 уменьшение памяти, необходимой для загрузки geo-базы. 5501 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п©п╟п╪я▐я┌п╦, п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬п╧ п╢п╩я▐ п╥п╟пЁя─я┐п╥п╨п╦ geo-п╠п╟п╥я▀.
5502 </para> 5502 </para>
5503 <para lang="en"> 5503 <para lang="en">
5504 decrease of memory required for geo base load. 5504 decrease of memory required for geo base load.
5505 </para> 5505 </para>
5506 </change> 5506 </change>
5510 5510
5511 <changes ver="0.7.22" date="20.11.2008"> 5511 <changes ver="0.7.22" date="20.11.2008">
5512 5512
5513 <change type="feature"> 5513 <change type="feature">
5514 <para lang="ru"> 5514 <para lang="ru">
5515 параметр none в директиве smtp_auth.<br/> 5515 п©п╟я─п╟п╪п╣я┌я─ none п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ smtp_auth.<br/>
5516 Спасибо Максиму Дунину. 5516 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5517 </para> 5517 </para>
5518 <para lang="en"> 5518 <para lang="en">
5519 the "none" parameter in the "smtp_auth" directive.<br/> 5519 the "none" parameter in the "smtp_auth" directive.<br/>
5520 Thanks to Maxim Dounin. 5520 Thanks to Maxim Dounin.
5521 </para> 5521 </para>
5522 </change> 5522 </change>
5523 5523
5524 <change type="feature"> 5524 <change type="feature">
5525 <para lang="ru"> 5525 <para lang="ru">
5526 переменные "$cookie_...". 5526 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$cookie_...".
5527 </para> 5527 </para>
5528 <para lang="en"> 5528 <para lang="en">
5529 the "$cookie_..." variables. 5529 the "$cookie_..." variables.
5530 </para> 5530 </para>
5531 </change> 5531 </change>
5532 5532
5533 <change type="bugfix"> 5533 <change type="bugfix">
5534 <para lang="ru"> 5534 <para lang="ru">
5535 директива directio не работала с файловой системой XFS. 5535 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪п╬п╧ XFS.
5536 </para> 5536 </para>
5537 <para lang="en"> 5537 <para lang="en">
5538 the "directio" directive did not work in XFS filesystem. 5538 the "directio" directive did not work in XFS filesystem.
5539 </para> 5539 </para>
5540 </change> 5540 </change>
5541 5541
5542 <change type="bugfix"> 5542 <change type="bugfix">
5543 <para lang="ru"> 5543 <para lang="ru">
5544 resolver не понимал большие DNS-ответы.<br/> 5544 resolver п╫п╣ п©п╬п╫п╦п╪п╟п╩ п╠п╬п╩я▄я┬п╦п╣ DNS-п╬я┌п╡п╣я┌я▀.<br/>
5545 Спасибо Zyb. 5545 п║п©п╟я│п╦п╠п╬ Zyb.
5546 </para> 5546 </para>
5547 <para lang="en"> 5547 <para lang="en">
5548 the resolver did not understand big DNS responses.<br/> 5548 the resolver did not understand big DNS responses.<br/>
5549 Thanks to Zyb. 5549 Thanks to Zyb.
5550 </para> 5550 </para>
5555 5555
5556 <changes ver="0.7.21" date="11.11.2008"> 5556 <changes ver="0.7.21" date="11.11.2008">
5557 5557
5558 <change> 5558 <change>
5559 <para lang="ru"> 5559 <para lang="ru">
5560 Изменения в модуле ngx_http_limit_req_module. 5560 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_limit_req_module.
5561 </para> 5561 </para>
5562 <para lang="en"> 5562 <para lang="en">
5563 Changes in the ngx_http_limit_req_module. 5563 Changes in the ngx_http_limit_req_module.
5564 </para> 5564 </para>
5565 </change> 5565 </change>
5566 5566
5567 <change type="feature"> 5567 <change type="feature">
5568 <para lang="ru"> 5568 <para lang="ru">
5569 поддержка EXSLT в модуле ngx_http_xslt_module.<br/> 5569 п©п╬п╢п╢п╣я─п╤п╨п╟ EXSLT п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_module.<br/>
5570 Спасибо Денису Латыпову. 5570 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐.
5571 </para> 5571 </para>
5572 <para lang="en"> 5572 <para lang="en">
5573 the EXSLT support in the ngx_http_xslt_module.<br/> 5573 the EXSLT support in the ngx_http_xslt_module.<br/>
5574 Thanks to Denis F. Latypoff. 5574 Thanks to Denis F. Latypoff.
5575 </para> 5575 </para>
5576 </change> 5576 </change>
5577 5577
5578 <change type="workaround"> 5578 <change type="workaround">
5579 <para lang="ru"> 5579 <para lang="ru">
5580 совместимость с glibc 2.3.<br/> 5580 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ glibc 2.3.<br/>
5581 Спасибо Eric Benson и Максиму Дунину. 5581 п║п©п╟я│п╦п╠п╬ Eric Benson п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5582 </para> 5582 </para>
5583 <para lang="en"> 5583 <para lang="en">
5584 compatibility with glibc 2.3.<br/> 5584 compatibility with glibc 2.3.<br/>
5585 Thanks to Eric Benson and Maxim Dounin. 5585 Thanks to Eric Benson and Maxim Dounin.
5586 </para> 5586 </para>
5587 </change> 5587 </change>
5588 5588
5589 <change type="bugfix"> 5589 <change type="bugfix">
5590 <para lang="ru"> 5590 <para lang="ru">
5591 nginx не запускался на MacOSX 10.4 и более ранних; 5591 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ MacOSX 10.4 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦я┘;
5592 ошибка появилась в 0.7.6. 5592 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.6.
5593 </para> 5593 </para>
5594 <para lang="en"> 5594 <para lang="en">
5595 nginx could not run on MacOSX 10.4 and earlier; 5595 nginx could not run on MacOSX 10.4 and earlier;
5596 the bug had appeared in 0.7.6. 5596 the bug had appeared in 0.7.6.
5597 </para> 5597 </para>
5602 5602
5603 <changes ver="0.7.20" date="10.11.2008"> 5603 <changes ver="0.7.20" date="10.11.2008">
5604 5604
5605 <change> 5605 <change>
5606 <para lang="ru"> 5606 <para lang="ru">
5607 Изменения в модуле ngx_http_gzip_filter_module. 5607 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_gzip_filter_module.
5608 </para> 5608 </para>
5609 <para lang="en"> 5609 <para lang="en">
5610 Changes in the ngx_http_gzip_filter_module. 5610 Changes in the ngx_http_gzip_filter_module.
5611 </para> 5611 </para>
5612 </change> 5612 </change>
5613 5613
5614 <change type="feature"> 5614 <change type="feature">
5615 <para lang="ru"> 5615 <para lang="ru">
5616 модуль ngx_http_limit_req_module. 5616 п╪п╬п╢я┐п╩я▄ ngx_http_limit_req_module.
5617 </para> 5617 </para>
5618 <para lang="en"> 5618 <para lang="en">
5619 the ngx_http_limit_req_module. 5619 the ngx_http_limit_req_module.
5620 </para> 5620 </para>
5621 </change> 5621 </change>
5622 5622
5623 <change type="bugfix"> 5623 <change type="bugfix">
5624 <para lang="ru"> 5624 <para lang="ru">
5625 на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS; 5625 п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘ sparc п╦ ppc я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╪п╬пЁп╩п╦ п╡я▀я┘п╬п╢п╦я┌я▄ п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGBUS;
5626 ошибка появилась в 0.7.3.<br/> 5626 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.3.<br/>
5627 Спасибо Максиму Дунину. 5627 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
5628 </para> 5628 </para>
5629 <para lang="en"> 5629 <para lang="en">
5630 worker processes might exit on a SIGBUS signal on sparc and ppc platforms; 5630 worker processes might exit on a SIGBUS signal on sparc and ppc platforms;
5631 the bug had appeared in 0.7.3.<br/> 5631 the bug had appeared in 0.7.3.<br/>
5632 Thanks to Maxim Dounin. 5632 Thanks to Maxim Dounin.
5633 </para> 5633 </para>
5634 </change> 5634 </change>
5635 5635
5636 <change type="bugfix"> 5636 <change type="bugfix">
5637 <para lang="ru"> 5637 <para lang="ru">
5638 директивы вида "proxy_pass http://host/some:uri" не работали; 5638 п╢п╦я─п╣п╨я┌п╦п╡я▀ п╡п╦п╢п╟ "proxy_pass http://host/some:uri" п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
5639 ошибка появилась в 0.7.12. 5639 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.12.
5640 </para> 5640 </para>
5641 <para lang="en"> 5641 <para lang="en">
5642 the "proxy_pass http://host/some:uri" directives did not work; 5642 the "proxy_pass http://host/some:uri" directives did not work;
5643 the bug had appeared in 0.7.12. 5643 the bug had appeared in 0.7.12.
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 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry". 5649 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry".
5650 </para> 5650 </para>
5651 <para lang="en"> 5651 <para lang="en">
5652 in HTTPS mode requests might fail with the "bad write retry" error. 5652 in HTTPS mode requests might fail with the "bad write retry" error.
5653 </para> 5653 </para>
5654 </change> 5654 </change>
5655 5655
5656 <change type="bugfix"> 5656 <change type="bugfix">
5657 <para lang="ru"> 5657 <para lang="ru">
5658 модуль ngx_http_secure_link_module не работал внутри location'ов 5658 п╪п╬п╢я┐п╩я▄ ngx_http_secure_link_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╡п╫я┐я┌я─п╦ location'п╬п╡
5659 с именами меньше 3 символов. 5659 я│ п╦п╪п╣п╫п╟п╪п╦ п╪п╣п╫я▄я┬п╣ 3 я│п╦п╪п╡п╬п╩п╬п╡.
5660 </para> 5660 </para>
5661 <para lang="en"> 5661 <para lang="en">
5662 the ngx_http_secure_link_module did not work inside locations, 5662 the ngx_http_secure_link_module did not work inside locations,
5663 whose names are less than 3 characters. 5663 whose names are less than 3 characters.
5664 </para> 5664 </para>
5665 </change> 5665 </change>
5666 5666
5667 <change type="bugfix"> 5667 <change type="bugfix">
5668 <para lang="ru"> 5668 <para lang="ru">
5669 переменная $server_addr могла не иметь значения. 5669 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $server_addr п╪п╬пЁп╩п╟ п╫п╣ п╦п╪п╣я┌я▄ п╥п╫п╟я┤п╣п╫п╦я▐.
5670 </para> 5670 </para>
5671 <para lang="en"> 5671 <para lang="en">
5672 $server_addr variable might have no value. 5672 $server_addr variable might have no value.
5673 </para> 5673 </para>
5674 </change> 5674 </change>
5678 5678
5679 <changes ver="0.7.19" date="13.10.2008"> 5679 <changes ver="0.7.19" date="13.10.2008">
5680 5680
5681 <change type="bugfix"> 5681 <change type="bugfix">
5682 <para lang="ru"> 5682 <para lang="ru">
5683 обновление номера версии. 5683 п╬п╠п╫п╬п╡п╩п╣п╫п╦п╣ п╫п╬п╪п╣я─п╟ п╡п╣я─я│п╦п╦.
5684 </para> 5684 </para>
5685 <para lang="en"> 5685 <para lang="en">
5686 version number update. 5686 version number update.
5687 </para> 5687 </para>
5688 </change> 5688 </change>
5692 5692
5693 <changes ver="0.7.18" date="13.10.2008"> 5693 <changes ver="0.7.18" date="13.10.2008">
5694 5694
5695 <change type="change"> 5695 <change type="change">
5696 <para lang="ru"> 5696 <para lang="ru">
5697 директива underscores_in_headers; 5697 п╢п╦я─п╣п╨я┌п╦п╡п╟ underscores_in_headers;
5698 теперь nginx по умолчанию не разрешает подчёркивания в именах строк 5698 я┌п╣п©п╣я─я▄ nginx п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╦п╪п╣п╫п╟я┘ я│я┌я─п╬п╨
5699 в заголовке запроса клиента. 5699 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟.
5700 </para> 5700 </para>
5701 <para lang="en"> 5701 <para lang="en">
5702 the "underscores_in_headers" directive; 5702 the "underscores_in_headers" directive;
5703 now nginx does not allows underscores in a client request header line names. 5703 now nginx does not allows underscores in a client request header line names.
5704 </para> 5704 </para>
5705 </change> 5705 </change>
5706 5706
5707 <change type="feature"> 5707 <change type="feature">
5708 <para lang="ru"> 5708 <para lang="ru">
5709 модуль ngx_http_secure_link_module. 5709 п╪п╬п╢я┐п╩я▄ ngx_http_secure_link_module.
5710 </para> 5710 </para>
5711 <para lang="en"> 5711 <para lang="en">
5712 the ngx_http_secure_link_module. 5712 the ngx_http_secure_link_module.
5713 </para> 5713 </para>
5714 </change> 5714 </change>
5715 5715
5716 <change type="feature"> 5716 <change type="feature">
5717 <para lang="ru"> 5717 <para lang="ru">
5718 директива real_ip_header поддерживает любой заголовок. 5718 п╢п╦я─п╣п╨я┌п╦п╡п╟ real_ip_header п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╩я▌п╠п╬п╧ п╥п╟пЁп╬п╩п╬п╡п╬п╨.
5719 </para> 5719 </para>
5720 <para lang="en"> 5720 <para lang="en">
5721 the "real_ip_header" directive supports any header. 5721 the "real_ip_header" directive supports any header.
5722 </para> 5722 </para>
5723 </change> 5723 </change>
5724 5724
5725 <change type="feature"> 5725 <change type="feature">
5726 <para lang="ru"> 5726 <para lang="ru">
5727 директива log_subrequest. 5727 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_subrequest.
5728 </para> 5728 </para>
5729 <para lang="en"> 5729 <para lang="en">
5730 the "log_subrequest" directive. 5730 the "log_subrequest" directive.
5731 </para> 5731 </para>
5732 </change> 5732 </change>
5733 5733
5734 <change type="feature"> 5734 <change type="feature">
5735 <para lang="ru"> 5735 <para lang="ru">
5736 переменная $realpath_root. 5736 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $realpath_root.
5737 </para> 5737 </para>
5738 <para lang="en"> 5738 <para lang="en">
5739 the $realpath_root variable. 5739 the $realpath_root variable.
5740 </para> 5740 </para>
5741 </change> 5741 </change>
5742 5742
5743 <change type="feature"> 5743 <change type="feature">
5744 <para lang="ru"> 5744 <para lang="ru">
5745 параметры http_502 и http_504 в директиве proxy_next_upstream. 5745 п©п╟я─п╟п╪п╣я┌я─я▀ http_502 п╦ http_504 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_next_upstream.
5746 </para> 5746 </para>
5747 <para lang="en"> 5747 <para lang="en">
5748 the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. 5748 the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive.
5749 </para> 5749 </para>
5750 </change> 5750 </change>
5751 5751
5752 <change type="bugfix"> 5752 <change type="bugfix">
5753 <para lang="ru"> 5753 <para lang="ru">
5754 параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream 5754 п©п╟я─п╟п╪п╣я┌я─ http_503 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream
5755 не работал. 5755 п╫п╣ я─п╟п╠п╬я┌п╟п╩.
5756 </para> 5756 </para>
5757 <para lang="en"> 5757 <para lang="en">
5758 the "http_503" parameter of the "proxy_next_upstream" or 5758 the "http_503" parameter of the "proxy_next_upstream" or
5759 "fastcgi_next_upstream" directives did not work. 5759 "fastcgi_next_upstream" directives did not work.
5760 </para> 5760 </para>
5761 </change> 5761 </change>
5762 5762
5763 <change type="bugfix"> 5763 <change type="bugfix">
5764 <para lang="ru"> 5764 <para lang="ru">
5765 nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD. 5765 nginx п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ я│я┌я─п╬п╨я┐ "Transfer-Encoding: chunked" п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ HEAD.
5766 </para> 5766 </para>
5767 <para lang="en"> 5767 <para lang="en">
5768 nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. 5768 nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests.
5769 </para> 5769 </para>
5770 </change> 5770 </change>
5771 5771
5772 <change type="bugfix"> 5772 <change type="bugfix">
5773 <para lang="ru"> 5773 <para lang="ru">
5774 теперь accept-лимит зависит от числа worker_connections. 5774 я┌п╣п©п╣я─я▄ accept-п╩п╦п╪п╦я┌ п╥п╟п╡п╦я│п╦я┌ п╬я┌ я┤п╦я│п╩п╟ worker_connections.
5775 </para> 5775 </para>
5776 <para lang="en"> 5776 <para lang="en">
5777 now accept threshold depends on worker_connections. 5777 now accept threshold depends on worker_connections.
5778 </para> 5778 </para>
5779 </change> 5779 </change>
5783 5783
5784 <changes ver="0.7.17" date="15.09.2008"> 5784 <changes ver="0.7.17" date="15.09.2008">
5785 5785
5786 <change type="feature"> 5786 <change type="feature">
5787 <para lang="ru"> 5787 <para lang="ru">
5788 директива directio теперь работает на Linux. 5788 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio я┌п╣п©п╣я─я▄ я─п╟п╠п╬я┌п╟п╣я┌ п╫п╟ Linux.
5789 </para> 5789 </para>
5790 <para lang="en"> 5790 <para lang="en">
5791 now the "directio" directive works on Linux. 5791 now the "directio" directive works on Linux.
5792 </para> 5792 </para>
5793 </change> 5793 </change>
5794 5794
5795 <change type="feature"> 5795 <change type="feature">
5796 <para lang="ru"> 5796 <para lang="ru">
5797 переменная $pid. 5797 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $pid.
5798 </para> 5798 </para>
5799 <para lang="en"> 5799 <para lang="en">
5800 the $pid variable. 5800 the $pid variable.
5801 </para> 5801 </para>
5802 </change> 5802 </change>
5803 5803
5804 <change type="bugfix"> 5804 <change type="bugfix">
5805 <para lang="ru"> 5805 <para lang="ru">
5806 оптимизация directio, появившаяся в 0.7.15, не работала при использовании 5806 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ directio, п©п╬я▐п╡п╦п╡я┬п╟я▐я│я▐ п╡ 0.7.15, п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
5807 open_file_cache. 5807 open_file_cache.
5808 </para> 5808 </para>
5809 <para lang="en"> 5809 <para lang="en">
5810 the "directio" optimization that had appeared in 0.7.15 did not work with 5810 the "directio" optimization that had appeared in 0.7.15 did not work with
5811 open_file_cache. 5811 open_file_cache.
5812 </para> 5812 </para>
5813 </change> 5813 </change>
5814 5814
5815 <change type="bugfix"> 5815 <change type="bugfix">
5816 <para lang="ru"> 5816 <para lang="ru">
5817 access_log с переменными не работал на Linux; 5817 access_log я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux;
5818 ошибка появилась в 0.7.7. 5818 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.
5819 </para> 5819 </para>
5820 <para lang="en"> 5820 <para lang="en">
5821 the "access_log" with variables did not work on Linux; 5821 the "access_log" with variables did not work on Linux;
5822 the bug had appeared in 0.7.7. 5822 the bug had appeared in 0.7.7.
5823 </para> 5823 </para>
5824 </change> 5824 </change>
5825 5825
5826 <change type="bugfix"> 5826 <change type="bugfix">
5827 <para lang="ru"> 5827 <para lang="ru">
5828 модуль ngx_http_charset_module не понимал название кодировки в кавычках, 5828 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п╫п╣ п©п╬п╫п╦п╪п╟п╩ п╫п╟п╥п╡п╟п╫п╦п╣ п╨п╬п╢п╦я─п╬п╡п╨п╦ п╡ п╨п╟п╡я▀я┤п╨п╟я┘,
5829 полученное от бэкенда. 5829 п©п╬п╩я┐я┤п╣п╫п╫п╬п╣ п╬я┌ п╠я█п╨п╣п╫п╢п╟.
5830 </para> 5830 </para>
5831 <para lang="en"> 5831 <para lang="en">
5832 the ngx_http_charset_module did not understand quoted charset name 5832 the ngx_http_charset_module did not understand quoted charset name
5833 received from backend. 5833 received from backend.
5834 </para> 5834 </para>
5839 5839
5840 <changes ver="0.7.16" date="08.09.2008"> 5840 <changes ver="0.7.16" date="08.09.2008">
5841 5841
5842 <change type="bugfix"> 5842 <change type="bugfix">
5843 <para lang="ru"> 5843 <para lang="ru">
5844 nginx не собирался на 64-битных платформах; 5844 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
5845 ошибка появилась в 0.7.15. 5845 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.15.
5846 </para> 5846 </para>
5847 <para lang="en"> 5847 <para lang="en">
5848 nginx could not be built on 64-bit platforms; 5848 nginx could not be built on 64-bit platforms;
5849 the bug had appeared in 0.7.15. 5849 the bug had appeared in 0.7.15.
5850 </para> 5850 </para>
5855 5855
5856 <changes ver="0.7.15" date="08.09.2008"> 5856 <changes ver="0.7.15" date="08.09.2008">
5857 5857
5858 <change type="feature"> 5858 <change type="feature">
5859 <para lang="ru"> 5859 <para lang="ru">
5860 модуль ngx_http_random_index_module. 5860 п╪п╬п╢я┐п╩я▄ ngx_http_random_index_module.
5861 </para> 5861 </para>
5862 <para lang="en"> 5862 <para lang="en">
5863 the ngx_http_random_index_module. 5863 the ngx_http_random_index_module.
5864 </para> 5864 </para>
5865 </change> 5865 </change>
5866 5866
5867 <change type="feature"> 5867 <change type="feature">
5868 <para lang="ru"> 5868 <para lang="ru">
5869 директива directio оптимизирована для запросов файлов, начинающихся 5869 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п╬п©я┌п╦п╪п╦п╥п╦я─п╬п╡п╟п╫п╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ я└п╟п╧п╩п╬п╡, п╫п╟я┤п╦п╫п╟я▌я┴п╦я┘я│я▐
5870 с произвольной позиции. 5870 я│ п©я─п╬п╦п╥п╡п╬п╩я▄п╫п╬п╧ п©п╬п╥п╦я├п╦п╦.
5871 </para> 5871 </para>
5872 <para lang="en"> 5872 <para lang="en">
5873 the "directio" directive has been optimized for file requests starting 5873 the "directio" directive has been optimized for file requests starting
5874 from arbitrary position. 5874 from arbitrary position.
5875 </para> 5875 </para>
5876 </change> 5876 </change>
5877 5877
5878 <change type="feature"> 5878 <change type="feature">
5879 <para lang="ru"> 5879 <para lang="ru">
5880 директива directio при необходимости запрещает использование sendfile. 5880 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio п©я─п╦ п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬я│я┌п╦ п╥п╟п©я─п╣я┴п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ sendfile.
5881 </para> 5881 </para>
5882 <para lang="en"> 5882 <para lang="en">
5883 the "directio" directive turns off sendfile if it is necessary. 5883 the "directio" directive turns off sendfile if it is necessary.
5884 </para> 5884 </para>
5885 </change> 5885 </change>
5886 5886
5887 <change type="feature"> 5887 <change type="feature">
5888 <para lang="ru"> 5888 <para lang="ru">
5889 теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента. 5889 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п©п╬п╢я┤я▒я─п╨п╦п╡п╟п╫п╦я▐ п╡ п╦п╪п╣п╫п╟я┘ я│я┌я─п╬п╨ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟.
5890 </para> 5890 </para>
5891 <para lang="en"> 5891 <para lang="en">
5892 now nginx allows underscores in a client request header line names. 5892 now nginx allows underscores in a client request header line names.
5893 </para> 5893 </para>
5894 </change> 5894 </change>
5898 5898
5899 <changes ver="0.7.14" date="01.09.2008"> 5899 <changes ver="0.7.14" date="01.09.2008">
5900 5900
5901 <change type="change"> 5901 <change type="change">
5902 <para lang="ru"> 5902 <para lang="ru">
5903 теперь директивы ssl_certificate и ssl_certificate_key не имеют 5903 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_certificate п╦ ssl_certificate_key п╫п╣ п╦п╪п╣я▌я┌
5904 значений по умолчанию. 5904 п╥п╫п╟я┤п╣п╫п╦п╧ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
5905 </para> 5905 </para>
5906 <para lang="en"> 5906 <para lang="en">
5907 now the ssl_certificate and ssl_certificate_key directives have not 5907 now the ssl_certificate and ssl_certificate_key directives have not
5908 default values. 5908 default values.
5909 </para> 5909 </para>
5910 </change> 5910 </change>
5911 5911
5912 <change type="feature"> 5912 <change type="feature">
5913 <para lang="ru"> 5913 <para lang="ru">
5914 директива listen поддерживает параметр ssl. 5914 п╢п╦я─п╣п╨я┌п╦п╡п╟ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ ssl.
5915 </para> 5915 </para>
5916 <para lang="en"> 5916 <para lang="en">
5917 the "listen" directive supports the "ssl" parameter. 5917 the "listen" directive supports the "ssl" parameter.
5918 </para> 5918 </para>
5919 </change> 5919 </change>
5920 5920
5921 <change type="feature"> 5921 <change type="feature">
5922 <para lang="ru"> 5922 <para lang="ru">
5923 теперь при переконфигурации nginx учитывает изменение временной зоны 5923 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ nginx я┐я┤п╦я┌я▀п╡п╟п╣я┌ п╦п╥п╪п╣п╫п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╫п╬п╧ п╥п╬п╫я▀
5924 на FreeBSD и Linux. 5924 п╫п╟ FreeBSD п╦ Linux.
5925 </para> 5925 </para>
5926 <para lang="en"> 5926 <para lang="en">
5927 now nginx takes into account a time zone change while reconfiguration 5927 now nginx takes into account a time zone change while reconfiguration
5928 on FreeBSD and Linux. 5928 on FreeBSD and Linux.
5929 </para> 5929 </para>
5930 </change> 5930 </change>
5931 5931
5932 <change type="bugfix"> 5932 <change type="bugfix">
5933 <para lang="ru"> 5933 <para lang="ru">
5934 параметры директивы listen, такие как backlog, rcvbuf и прочие, 5934 п©п╟я─п╟п╪п╣я┌я─я▀ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen, я┌п╟п╨п╦п╣ п╨п╟п╨ backlog, rcvbuf п╦ п©я─п╬я┤п╦п╣,
5935 не устанавливались, если сервером по умолчанию был не первый сервер. 5935 п╫п╣ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╦я│я▄, п╣я│п╩п╦ я│п╣я─п╡п╣я─п╬п╪ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╠я▀п╩ п╫п╣ п©п╣я─п╡я▀п╧ я│п╣я─п╡п╣я─.
5936 </para> 5936 </para>
5937 <para lang="en"> 5937 <para lang="en">
5938 the "listen" directive parameters such as "backlog", "rcvbuf", etc. 5938 the "listen" directive parameters such as "backlog", "rcvbuf", etc.
5939 were not set, if a default server was not the first one. 5939 were not set, if a default server was not the first one.
5940 </para> 5940 </para>
5941 </change> 5941 </change>
5942 5942
5943 <change type="bugfix"> 5943 <change type="bugfix">
5944 <para lang="ru"> 5944 <para lang="ru">
5945 при использовании в качестве аргументов части URI, выделенного с помощью 5945 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ я┤п╟я│я┌п╦ URI, п╡я▀п╢п╣п╩п╣п╫п╫п╬пЁп╬ я│ п©п╬п╪п╬я┴я▄я▌
5946 директивы rewrite, эти аргументы не экранировались. 5946 п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite, я█я┌п╦ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╫п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╦я│я▄.
5947 </para> 5947 </para>
5948 <para lang="en"> 5948 <para lang="en">
5949 if URI part captured by a "rewrite" directive was used as a query string, 5949 if URI part captured by a "rewrite" directive was used as a query string,
5950 then the query string was not escaped. 5950 then the query string was not escaped.
5951 </para> 5951 </para>
5952 </change> 5952 </change>
5953 5953
5954 <change type="bugfix"> 5954 <change type="bugfix">
5955 <para lang="ru"> 5955 <para lang="ru">
5956 улучшения тестирования правильности конфигурационного файла. 5956 я┐п╩я┐я┤я┬п╣п╫п╦я▐ я┌п╣я│я┌п╦я─п╬п╡п╟п╫п╦я▐ п©я─п╟п╡п╦п╩я▄п╫п╬я│я┌п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟.
5957 </para> 5957 </para>
5958 <para lang="en"> 5958 <para lang="en">
5959 configuration file validity test improvements. 5959 configuration file validity test improvements.
5960 </para> 5960 </para>
5961 </change> 5961 </change>
5966 5966
5967 <changes ver="0.7.13" date="26.08.2008"> 5967 <changes ver="0.7.13" date="26.08.2008">
5968 5968
5969 <change type="bugfix"> 5969 <change type="bugfix">
5970 <para lang="ru"> 5970 <para lang="ru">
5971 nginx не собирался на Linux и Solaris; 5971 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris;
5972 ошибка появилась в 0.7.12. 5972 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.12.
5973 </para> 5973 </para>
5974 <para lang="en"> 5974 <para lang="en">
5975 nginx could not be built on Linux and Solaris; 5975 nginx could not be built on Linux and Solaris;
5976 the bug had appeared in 0.7.12. 5976 the bug had appeared in 0.7.12.
5977 </para> 5977 </para>
5982 5982
5983 <changes ver="0.7.12" date="26.08.2008"> 5983 <changes ver="0.7.12" date="26.08.2008">
5984 5984
5985 <change type="feature"> 5985 <change type="feature">
5986 <para lang="ru"> 5986 <para lang="ru">
5987 директива server_name поддерживает пустое имя "". 5987 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я┐я│я┌п╬п╣ п╦п╪я▐ "".
5988 </para> 5988 </para>
5989 <para lang="en"> 5989 <para lang="en">
5990 the "server_name" directive supports empty name "". 5990 the "server_name" directive supports empty name "".
5991 </para> 5991 </para>
5992 </change> 5992 </change>
5993 5993
5994 <change type="feature"> 5994 <change type="feature">
5995 <para lang="ru"> 5995 <para lang="ru">
5996 директива gzip_disable поддерживает специальную маску msie6. 5996 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п©п╣я├п╦п╟п╩я▄п╫я┐я▌ п╪п╟я│п╨я┐ msie6.
5997 </para> 5997 </para>
5998 <para lang="en"> 5998 <para lang="en">
5999 the "gzip_disable" directive supports special "msie6" mask. 5999 the "gzip_disable" directive supports special "msie6" mask.
6000 </para> 6000 </para>
6001 </change> 6001 </change>
6002 6002
6003 <change type="bugfix"> 6003 <change type="bugfix">
6004 <para lang="ru"> 6004 <para lang="ru">
6005 при использовании параметра max_fails=0 в upstream'е с несколькими 6005 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╟я─п╟п╪п╣я┌я─п╟ max_fails=0 п╡ upstream'п╣ я│ п╫п╣я│п╨п╬п╩я▄п╨п╦п╪п╦
6006 серверами рабочий процесс выходил по сигналу SIGFPE.<br/> 6006 я│п╣я─п╡п╣я─п╟п╪п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╡я▀я┘п╬п╢п╦п╩ п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGFPE.<br/>
6007 Спасибо Максиму Дунину. 6007 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6008 </para> 6008 </para>
6009 <para lang="en"> 6009 <para lang="en">
6010 if the "max_fails=0" parameter was used in upstream with several servers, 6010 if the "max_fails=0" parameter was used in upstream with several servers,
6011 then a worker process exited on a SIGFPE signal.<br/> 6011 then a worker process exited on a SIGFPE signal.<br/>
6012 Thanks to Maxim Dounin. 6012 Thanks to Maxim Dounin.
6013 </para> 6013 </para>
6014 </change> 6014 </change>
6015 6015
6016 <change type="bugfix"> 6016 <change type="bugfix">
6017 <para lang="ru"> 6017 <para lang="ru">
6018 при перенаправлении запроса с помощью директивы error_page 6018 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
6019 терялось тело запроса. 6019 я┌п╣я─я▐п╩п╬я│я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟.
6020 </para> 6020 </para>
6021 <para lang="en"> 6021 <para lang="en">
6022 a request body was dropped while redirection via an "error_page" directive. 6022 a request body was dropped while redirection via an "error_page" directive.
6023 </para> 6023 </para>
6024 </change> 6024 </change>
6025 6025
6026 <change type="bugfix"> 6026 <change type="bugfix">
6027 <para lang="ru"> 6027 <para lang="ru">
6028 при перенаправлении запроса с методом HEAD с помощью директивы error_page 6028 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п╪п╣я┌п╬п╢п╬п╪ HEAD я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
6029 возвращался полный ответ. 6029 п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п©п╬п╩п╫я▀п╧ п╬я┌п╡п╣я┌.
6030 </para> 6030 </para>
6031 <para lang="en"> 6031 <para lang="en">
6032 a full response was returned for request method HEAD 6032 a full response was returned for request method HEAD
6033 while redirection via an "error_page" directive. 6033 while redirection via an "error_page" directive.
6034 </para> 6034 </para>
6035 </change> 6035 </change>
6036 6036
6037 <change type="bugfix"> 6037 <change type="bugfix">
6038 <para lang="ru"> 6038 <para lang="ru">
6039 метод $r->header_in() не возвращал значения строк "Host", "User-Agent", 6039 п╪п╣я┌п╬п╢ $r->header_in() п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╥п╫п╟я┤п╣п╫п╦я▐ я│я┌я─п╬п╨ "Host", "User-Agent",
6040 и "Connection" из заголовка запроса; 6040 п╦ "Connection" п╦п╥ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟;
6041 ошибка появилась в 0.7.0. 6041 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.0.
6042 </para> 6042 </para>
6043 <para lang="en"> 6043 <para lang="en">
6044 the $r->header_in() method did not return value of the "Host", 6044 the $r->header_in() method did not return value of the "Host",
6045 "User-Agent", and "Connection" request header lines; 6045 "User-Agent", and "Connection" request header lines;
6046 the bug had appeared in 0.7.0. 6046 the bug had appeared in 0.7.0.
6052 6052
6053 <changes ver="0.7.11" date="18.08.2008"> 6053 <changes ver="0.7.11" date="18.08.2008">
6054 6054
6055 <change type="change"> 6055 <change type="change">
6056 <para lang="ru"> 6056 <para lang="ru">
6057 теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css. 6057 я┌п╣п©п╣я─я▄ ngx_http_charset_module п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я─п╟п╠п╬я┌п╟п╣я┌ MIME-я┌п╦п©п╬п╪ text/css.
6058 </para> 6058 </para>
6059 <para lang="en"> 6059 <para lang="en">
6060 now ngx_http_charset_module does not work by default with text/css MIME type. 6060 now ngx_http_charset_module does not work by default with text/css MIME type.
6061 </para> 6061 </para>
6062 </change> 6062 </change>
6063 6063
6064 <change type="feature"> 6064 <change type="feature">
6065 <para lang="ru"> 6065 <para lang="ru">
6066 теперь nginx возвращает код 405 для метода POST при запросе статического 6066 я┌п╣п©п╣я─я▄ nginx п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╨п╬п╢ 405 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ POST п©я─п╦ п╥п╟п©я─п╬я│п╣ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬
6067 файла, только если файл существует. 6067 я└п╟п╧п╩п╟, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦ я└п╟п╧п╩ я│я┐я┴п╣я│я┌п╡я┐п╣я┌.
6068 </para> 6068 </para>
6069 <para lang="en"> 6069 <para lang="en">
6070 now nginx returns the 405 status code for POST method requesting a static file 6070 now nginx returns the 405 status code for POST method requesting a static file
6071 only if the file exists. 6071 only if the file exists.
6072 </para> 6072 </para>
6073 </change> 6073 </change>
6074 6074
6075 <change type="feature"> 6075 <change type="feature">
6076 <para lang="ru"> 6076 <para lang="ru">
6077 директива proxy_ssl_session_reuse. 6077 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_ssl_session_reuse.
6078 </para> 6078 </para>
6079 <para lang="en"> 6079 <para lang="en">
6080 the "proxy_ssl_session_reuse" directive. 6080 the "proxy_ssl_session_reuse" directive.
6081 </para> 6081 </para>
6082 </change> 6082 </change>
6083 6083
6084 <change type="bugfix"> 6084 <change type="bugfix">
6085 <para lang="ru"> 6085 <para lang="ru">
6086 после перенаправления запроса с помощью "X-Accel-Redirect" 6086 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ "X-Accel-Redirect"
6087 директива proxy_pass без URI могла использовать оригинальный запрос. 6087 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╠п╣п╥ URI п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╥п╟п©я─п╬я│.
6088 </para> 6088 </para>
6089 <para lang="en"> 6089 <para lang="en">
6090 a "proxy_pass" directive without URI part might use original request 6090 a "proxy_pass" directive without URI part might use original request
6091 after the "X-Accel-Redirect" redirection was used; 6091 after the "X-Accel-Redirect" redirection was used;
6092 </para> 6092 </para>
6093 </change> 6093 </change>
6094 6094
6095 <change type="bugfix"> 6095 <change type="bugfix">
6096 <para lang="ru"> 6096 <para lang="ru">
6097 если у каталога были права доступа только на поиск файлов 6097 п╣я│п╩п╦ я┐ п╨п╟я┌п╟п╩п╬пЁп╟ п╠я▀п╩п╦ п©я─п╟п╡п╟ п╢п╬я│я┌я┐п©п╟ я┌п╬п╩я▄п╨п╬ п╫п╟ п©п╬п╦я│п╨ я└п╟п╧п╩п╬п╡
6098 и первый индексный файл отсутствовал, то nginx возвращал ошибку 500. 6098 п╦ п©п╣я─п╡я▀п╧ п╦п╫п╢п╣п╨я│п╫я▀п╧ я└п╟п╧п╩ п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩, я┌п╬ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 500.
6099 </para> 6099 </para>
6100 <para lang="en"> 6100 <para lang="en">
6101 if a directory has search only rights and the first index file was absent, 6101 if a directory has search only rights and the first index file was absent,
6102 then nginx returned the 500 status code. 6102 then nginx returned the 500 status code.
6103 </para> 6103 </para>
6104 </change> 6104 </change>
6105 6105
6106 <change type="bugfix"> 6106 <change type="bugfix">
6107 <para lang="ru"> 6107 <para lang="ru">
6108 ошибок во вложенных location'ах; 6108 п╬я┬п╦п╠п╬п╨ п╡п╬ п╡п╩п╬п╤п╣п╫п╫я▀я┘ location'п╟я┘;
6109 ошибки появились в 0.7.1. 6109 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.1.
6110 </para> 6110 </para>
6111 <para lang="en"> 6111 <para lang="en">
6112 in inclusive locations; 6112 in inclusive locations;
6113 the bugs had appeared in 0.7.1. 6113 the bugs had appeared in 0.7.1.
6114 </para> 6114 </para>
6119 6119
6120 <changes ver="0.7.10" date="13.08.2008"> 6120 <changes ver="0.7.10" date="13.08.2008">
6121 6121
6122 <change type="bugfix"> 6122 <change type="bugfix">
6123 <para lang="ru"> 6123 <para lang="ru">
6124 ошибок в директивах addition_types, charset_types, 6124 п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ addition_types, charset_types,
6125 gzip_types, ssi_types, sub_filter_types и xslt_types; 6125 gzip_types, ssi_types, sub_filter_types п╦ xslt_types;
6126 ошибки появились в 0.7.9. 6126 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.9.
6127 </para> 6127 </para>
6128 <para lang="en"> 6128 <para lang="en">
6129 in the "addition_types", "charset_types", 6129 in the "addition_types", "charset_types",
6130 "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives; 6130 "gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives;
6131 the bugs had appeared in 0.7.9. 6131 the bugs had appeared in 0.7.9.
6132 </para> 6132 </para>
6133 </change> 6133 </change>
6134 6134
6135 <change type="bugfix"> 6135 <change type="bugfix">
6136 <para lang="ru"> 6136 <para lang="ru">
6137 рекурсивной error_page для 500 ошибки. 6137 я─п╣п╨я┐я─я│п╦п╡п╫п╬п╧ error_page п╢п╩я▐ 500 п╬я┬п╦п╠п╨п╦.
6138 </para> 6138 </para>
6139 <para lang="en"> 6139 <para lang="en">
6140 of recursive error_page for 500 status code. 6140 of recursive error_page for 500 status code.
6141 </para> 6141 </para>
6142 </change> 6142 </change>
6143 6143
6144 <change type="bugfix"> 6144 <change type="bugfix">
6145 <para lang="ru"> 6145 <para lang="ru">
6146 теперь модуль ngx_http_realip_module устанавливает адрес не для 6146 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_realip_module я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ п╟п╢я─п╣я│ п╫п╣ п╢п╩я▐
6147 всего keepalive соединения, а для каждого запроса по этому соединению. 6147 п╡я│п╣пЁп╬ keepalive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐, п╟ п╢п╩я▐ п╨п╟п╤п╢п╬пЁп╬ п╥п╟п©я─п╬я│п╟ п©п╬ я█я┌п╬п╪я┐ я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
6148 </para> 6148 </para>
6149 <para lang="en"> 6149 <para lang="en">
6150 now the ngx_http_realip_module sets address not for whole keepalive connection, 6150 now the ngx_http_realip_module sets address not for whole keepalive connection,
6151 but for each request passed via the connection. 6151 but for each request passed via the connection.
6152 </para> 6152 </para>
6157 6157
6158 <changes ver="0.7.9" date="12.08.2008"> 6158 <changes ver="0.7.9" date="12.08.2008">
6159 6159
6160 <change type="change"> 6160 <change type="change">
6161 <para lang="ru"> 6161 <para lang="ru">
6162 теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами: 6162 я┌п╣п©п╣я─я▄ ngx_http_charset_module п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я─п╟п╠п╬я┌п╟п╣я┌ я│п╬ я│п╩п╣п╢я┐я▌я┴п╦п╪п╦ MIME-я┌п╦п©п╟п╪п╦:
6163 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 6163 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
6164 application/x-javascript и application/rss+xml. 6164 application/x-javascript п╦ application/rss+xml.
6165 </para> 6165 </para>
6166 <para lang="en"> 6166 <para lang="en">
6167 now ngx_http_charset_module works by default with following MIME types: 6167 now ngx_http_charset_module works by default with following MIME types:
6168 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 6168 text/html, text/css, text/xml, text/plain, text/vnd.wap.wml,
6169 application/x-javascript, and application/rss+xml. 6169 application/x-javascript, and application/rss+xml.
6170 </para> 6170 </para>
6171 </change> 6171 </change>
6172 6172
6173 <change type="feature"> 6173 <change type="feature">
6174 <para lang="ru"> 6174 <para lang="ru">
6175 директивы charset_types и addition_types. 6175 п╢п╦я─п╣п╨я┌п╦п╡я▀ charset_types п╦ addition_types.
6176 </para> 6176 </para>
6177 <para lang="en"> 6177 <para lang="en">
6178 the "charset_types" and "addition_types" directives. 6178 the "charset_types" and "addition_types" directives.
6179 </para> 6179 </para>
6180 </change> 6180 </change>
6181 6181
6182 <change type="feature"> 6182 <change type="feature">
6183 <para lang="ru"> 6183 <para lang="ru">
6184 теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш. 6184 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ gzip_types, ssi_types п╦ sub_filter_types п╦я│п©п╬п╩я▄п╥я┐я▌я┌ я┘я█я┬.
6185 </para> 6185 </para>
6186 <para lang="en"> 6186 <para lang="en">
6187 now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. 6187 now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash.
6188 </para> 6188 </para>
6189 </change> 6189 </change>
6190 6190
6191 <change type="feature"> 6191 <change type="feature">
6192 <para lang="ru"> 6192 <para lang="ru">
6193 модуль ngx_cpp_test_module. 6193 п╪п╬п╢я┐п╩я▄ ngx_cpp_test_module.
6194 </para> 6194 </para>
6195 <para lang="en"> 6195 <para lang="en">
6196 the ngx_cpp_test_module. 6196 the ngx_cpp_test_module.
6197 </para> 6197 </para>
6198 </change> 6198 </change>
6199 6199
6200 <change type="feature"> 6200 <change type="feature">
6201 <para lang="ru"> 6201 <para lang="ru">
6202 директива expires поддерживает суточное время. 6202 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│я┐я┌п╬я┤п╫п╬п╣ п╡я─п╣п╪я▐.
6203 </para> 6203 </para>
6204 <para lang="en"> 6204 <para lang="en">
6205 the "expires" directive supports daily time. 6205 the "expires" directive supports daily time.
6206 </para> 6206 </para>
6207 </change> 6207 </change>
6208 6208
6209 <change type="feature"> 6209 <change type="feature">
6210 <para lang="ru"> 6210 <para lang="ru">
6211 улучшения и исправления в модуле ngx_http_xslt_module.<br/> 6211 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╦ п╦я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_xslt_module.<br/>
6212 Спасибо Денису Латыпову и Максиму Дунину. 6212 п║п©п╟я│п╦п╠п╬ п■п╣п╫п╦я│я┐ п⌡п╟я┌я▀п©п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6213 </para> 6213 </para>
6214 <para lang="en"> 6214 <para lang="en">
6215 the ngx_http_xslt_module improvements and bug fixing.<br/> 6215 the ngx_http_xslt_module improvements and bug fixing.<br/>
6216 Thanks to Denis F. Latypoff and Maxim Dounin. 6216 Thanks to Denis F. Latypoff and Maxim Dounin.
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 директива log_not_found не работала при поиске индексных файлов. 6222 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_not_found п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п©п╬п╦я│п╨п╣ п╦п╫п╢п╣п╨я│п╫я▀я┘ я└п╟п╧п╩п╬п╡.
6223 </para> 6223 </para>
6224 <para lang="en"> 6224 <para lang="en">
6225 the "log_not_found" directive did not work for index files tests. 6225 the "log_not_found" directive did not work for index files tests.
6226 </para> 6226 </para>
6227 </change> 6227 </change>
6228 6228
6229 <change type="bugfix"> 6229 <change type="bugfix">
6230 <para lang="ru"> 6230 <para lang="ru">
6231 HTTPS-соединения могли зависнуть, 6231 HTTPS-я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╦ п╥п╟п╡п╦я│п╫я┐я┌я▄,
6232 если использовались методы kqueue, epoll, rtsig или eventport; 6232 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢я▀ kqueue, epoll, rtsig п╦п╩п╦ eventport;
6233 ошибка появилась в 0.7.7. 6233 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.7.
6234 </para> 6234 </para>
6235 <para lang="en"> 6235 <para lang="en">
6236 HTTPS connections might hang, 6236 HTTPS connections might hang,
6237 if kqueue, epoll, rtsig, or eventport methods were used; 6237 if kqueue, epoll, rtsig, or eventport methods were used;
6238 the bug had appeared in 0.7.7. 6238 the bug had appeared in 0.7.7.
6239 </para> 6239 </para>
6240 </change> 6240 </change>
6241 6241
6242 <change type="bugfix"> 6242 <change type="bugfix">
6243 <para lang="ru"> 6243 <para lang="ru">
6244 если в директивах server_name, valid_referers и map 6244 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name, valid_referers п╦ map
6245 использовалась маска вида "*.domain.tld" и при этом полное имя 6245 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╪п╟я│п╨п╟ п╡п╦п╢п╟ "*.domain.tld" п╦ п©я─п╦ я█я┌п╬п╪ п©п╬п╩п╫п╬п╣ п╦п╪я▐
6246 вида "domain.tld" не было описано, то это имя попадало под маску; 6246 п╡п╦п╢п╟ "domain.tld" п╫п╣ п╠я▀п╩п╬ п╬п©п╦я│п╟п╫п╬, я┌п╬ я█я┌п╬ п╦п╪я▐ п©п╬п©п╟п╢п╟п╩п╬ п©п╬п╢ п╪п╟я│п╨я┐;
6247 ошибка появилась в 0.3.18. 6247 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
6248 </para> 6248 </para>
6249 <para lang="en"> 6249 <para lang="en">
6250 if the "server_name", "valid_referers", and "map" directives used 6250 if the "server_name", "valid_referers", and "map" directives used
6251 an "*.domain.tld" wildcard and exact name "domain.tld" was not set, 6251 an "*.domain.tld" wildcard and exact name "domain.tld" was not set,
6252 then the exact name was matched by the wildcard; 6252 then the exact name was matched by the wildcard;
6259 6259
6260 <changes ver="0.7.8" date="04.08.2008"> 6260 <changes ver="0.7.8" date="04.08.2008">
6261 6261
6262 <change type="feature"> 6262 <change type="feature">
6263 <para lang="ru"> 6263 <para lang="ru">
6264 модуль ngx_http_xslt_module. 6264 п╪п╬п╢я┐п╩я▄ ngx_http_xslt_module.
6265 </para> 6265 </para>
6266 <para lang="en"> 6266 <para lang="en">
6267 the ngx_http_xslt_module. 6267 the ngx_http_xslt_module.
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 переменные "$arg_...". 6273 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$arg_...".
6274 </para> 6274 </para>
6275 <para lang="en"> 6275 <para lang="en">
6276 the "$arg_..." variables. 6276 the "$arg_..." variables.
6277 </para> 6277 </para>
6278 </change> 6278 </change>
6279 6279
6280 <change type="feature"> 6280 <change type="feature">
6281 <para lang="ru"> 6281 <para lang="ru">
6282 поддержка directio в Solaris.<br/> 6282 п©п╬п╢п╢п╣я─п╤п╨п╟ directio п╡ Solaris.<br/>
6283 Спасибо Ivan Debnar. 6283 п║п©п╟я│п╦п╠п╬ Ivan Debnar.
6284 </para> 6284 </para>
6285 <para lang="en"> 6285 <para lang="en">
6286 Solaris directio support.<br/> 6286 Solaris directio support.<br/>
6287 Thanks to Ivan Debnar. 6287 Thanks to Ivan Debnar.
6288 </para> 6288 </para>
6289 </change> 6289 </change>
6290 6290
6291 <change type="bugfix"> 6291 <change type="bugfix">
6292 <para lang="ru"> 6292 <para lang="ru">
6293 теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа 6293 я┌п╣п©п╣я─я▄, п╣я│п╩п╦ FastCGI-я│п╣я─п╡п╣я─ п©я─п╦я│я▀п╩п╟п╣я┌ я│я┌я─п╬п╨я┐ "Location" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
6294 без строки статуса, то nginx использует код статуса 302.<br/> 6294 п╠п╣п╥ я│я┌я─п╬п╨п╦ я│я┌п╟я┌я┐я│п╟, я┌п╬ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╬п╢ я│я┌п╟я┌я┐я│п╟ 302.<br/>
6295 Спасибо Максиму Дунину. 6295 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6296 </para> 6296 </para>
6297 <para lang="en"> 6297 <para lang="en">
6298 now if FastCGI server sends a "Location" header line without status line, 6298 now if FastCGI server sends a "Location" header line without status line,
6299 then nginx uses 302 status code.<br/> 6299 then nginx uses 302 status code.<br/>
6300 Thanks to Maxim Dounin. 6300 Thanks to Maxim Dounin.
6306 6306
6307 <changes ver="0.7.7" date="30.07.2008"> 6307 <changes ver="0.7.7" date="30.07.2008">
6308 6308
6309 <change type="change"> 6309 <change type="change">
6310 <para lang="ru"> 6310 <para lang="ru">
6311 теперь ошибка EAGAIN при вызове connect() не считается временной. 6311 я┌п╣п©п╣я─я▄ п╬я┬п╦п╠п╨п╟ EAGAIN п©я─п╦ п╡я▀п╥п╬п╡п╣ connect() п╫п╣ я│я┤п╦я┌п╟п╣я┌я│я▐ п╡я─п╣п╪п╣п╫п╫п╬п╧.
6312 </para> 6312 </para>
6313 <para lang="en"> 6313 <para lang="en">
6314 now the EAGAIN error returned by connect() is not considered as temporary error. 6314 now the EAGAIN error returned by connect() is not considered as temporary error.
6315 </para> 6315 </para>
6316 </change> 6316 </change>
6317 6317
6318 <change type="change"> 6318 <change type="change">
6319 <para lang="ru"> 6319 <para lang="ru">
6320 значением переменной $ssl_client_cert теперь является сертификат, 6320 п╥п╫п╟я┤п╣п╫п╦п╣п╪ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $ssl_client_cert я┌п╣п©п╣я─я▄ я▐п╡п╩я▐п╣я┌я│я▐ я│п╣я─я┌п╦я└п╦п╨п╟я┌,
6321 перед каждой строкой которого, кроме первой, вставляется символ табуляции; 6321 п©п╣я─п╣п╢ п╨п╟п╤п╢п╬п╧ я│я┌я─п╬п╨п╬п╧ п╨п╬я┌п╬я─п╬пЁп╬, п╨я─п╬п╪п╣ п©п╣я─п╡п╬п╧, п╡я│я┌п╟п╡п╩я▐п╣я┌я│я▐ я│п╦п╪п╡п╬п╩ я┌п╟п╠я┐п╩я▐я├п╦п╦;
6322 неизменённый сертификат доступен через переменную $ssl_client_raw_cert. 6322 п╫п╣п╦п╥п╪п╣п╫я▒п╫п╫я▀п╧ я│п╣я─я┌п╦я└п╦п╨п╟я┌ п╢п╬я│я┌я┐п©п╣п╫ я┤п╣я─п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $ssl_client_raw_cert.
6323 </para> 6323 </para>
6324 <para lang="en"> 6324 <para lang="en">
6325 now the $ssl_client_cert variable value is a certificate with TAB character 6325 now the $ssl_client_cert variable value is a certificate with TAB character
6326 intended before each line except first one; 6326 intended before each line except first one;
6327 an unchanged certificate is available in the $ssl_client_raw_cert variable. 6327 an unchanged certificate is available in the $ssl_client_raw_cert variable.
6328 </para> 6328 </para>
6329 </change> 6329 </change>
6330 6330
6331 <change type="feature"> 6331 <change type="feature">
6332 <para lang="ru"> 6332 <para lang="ru">
6333 параметр ask директивы ssl_verify_client. 6333 п©п╟я─п╟п╪п╣я┌я─ ask п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client.
6334 </para> 6334 </para>
6335 <para lang="en"> 6335 <para lang="en">
6336 the "ask" parameter in the "ssl_verify_client" directive. 6336 the "ask" parameter in the "ssl_verify_client" directive.
6337 </para> 6337 </para>
6338 </change> 6338 </change>
6339 6339
6340 <change type="feature"> 6340 <change type="feature">
6341 <para lang="ru"> 6341 <para lang="ru">
6342 улучшения в обработке byte-range.<br/> 6342 я┐п╩я┐я┤я┬п╣п╫п╦я▐ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ byte-range.<br/>
6343 Спасибо Максиму Дунину. 6343 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6344 </para> 6344 </para>
6345 <para lang="en"> 6345 <para lang="en">
6346 byte-range processing improvements.<br/> 6346 byte-range processing improvements.<br/>
6347 Thanks to Maxim Dounin. 6347 Thanks to Maxim Dounin.
6348 </para> 6348 </para>
6349 </change> 6349 </change>
6350 6350
6351 <change type="feature"> 6351 <change type="feature">
6352 <para lang="ru"> 6352 <para lang="ru">
6353 директива directio.<br/> 6353 п╢п╦я─п╣п╨я┌п╦п╡п╟ directio.<br/>
6354 Спасибо Jiang Hong. 6354 п║п©п╟я│п╦п╠п╬ Jiang Hong.
6355 </para> 6355 </para>
6356 <para lang="en"> 6356 <para lang="en">
6357 the "directio" directive.<br/> 6357 the "directio" directive.<br/>
6358 Thanks to Jiang Hong. 6358 Thanks to Jiang Hong.
6359 </para> 6359 </para>
6360 </change> 6360 </change>
6361 6361
6362 <change type="feature"> 6362 <change type="feature">
6363 <para lang="ru"> 6363 <para lang="ru">
6364 поддержка sendfile() в MacOSX 10.5. 6364 п©п╬п╢п╢п╣я─п╤п╨п╟ sendfile() п╡ MacOSX 10.5.
6365 </para> 6365 </para>
6366 <para lang="en"> 6366 <para lang="en">
6367 MacOSX 10.5 sendfile() support. 6367 MacOSX 10.5 sendfile() support.
6368 </para> 6368 </para>
6369 </change> 6369 </change>
6370 6370
6371 <change type="bugfix"> 6371 <change type="bugfix">
6372 <para lang="ru"> 6372 <para lang="ru">
6373 в MacOSX и Cygwin при проверке location'ов теперь делается сравнение 6373 п╡ MacOSX п╦ Cygwin п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ location'п╬п╡ я┌п╣п©п╣я─я▄ п╢п╣п╩п╟п╣я┌я│я▐ я│я─п╟п╡п╫п╣п╫п╦п╣
6374 без учёта регистра символов; 6374 п╠п╣п╥ я┐я┤я▒я┌п╟ я─п╣пЁп╦я│я┌я─п╟ я│п╦п╪п╡п╬п╩п╬п╡;
6375 однако, сравнение ограничено только однобайтными locale'ями. 6375 п╬п╢п╫п╟п╨п╬, я│я─п╟п╡п╫п╣п╫п╦п╣ п╬пЁя─п╟п╫п╦я┤п╣п╫п╬ я┌п╬п╩я▄п╨п╬ п╬п╢п╫п╬п╠п╟п╧я┌п╫я▀п╪п╦ locale'я▐п╪п╦.
6376 </para> 6376 </para>
6377 <para lang="en"> 6377 <para lang="en">
6378 now in MacOSX and Cygwin locations are tested in case insensitive mode; 6378 now in MacOSX and Cygwin locations are tested in case insensitive mode;
6379 however, the compare is provided by single-byte locales only. 6379 however, the compare is provided by single-byte locales only.
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 соединения почтового прокси-сервера зависали в режиме SSL, 6385 я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟ п╥п╟п╡п╦я│п╟п╩п╦ п╡ я─п╣п╤п╦п╪п╣ SSL,
6386 если использовались методы select, poll или /dev/poll. 6386 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢я▀ select, poll п╦п╩п╦ /dev/poll.
6387 </para> 6387 </para>
6388 <para lang="en"> 6388 <para lang="en">
6389 mail proxy SSL connections hanged, 6389 mail proxy SSL connections hanged,
6390 if select, poll, or /dev/poll methods were used. 6390 if select, poll, or /dev/poll methods were used.
6391 </para> 6391 </para>
6392 </change> 6392 </change>
6393 6393
6394 <change type="bugfix"> 6394 <change type="bugfix">
6395 <para lang="ru"> 6395 <para lang="ru">
6396 ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module. 6396 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╨п╬п╢п╦я─п╬п╡п╨п╦ UTF-8 п╡ ngx_http_autoindex_module.
6397 </para> 6397 </para>
6398 <para lang="en"> 6398 <para lang="en">
6399 UTF-8 encoding usage in the ngx_http_autoindex_module. 6399 UTF-8 encoding usage in the ngx_http_autoindex_module.
6400 </para> 6400 </para>
6401 </change> 6401 </change>
6405 6405
6406 <changes ver="0.7.6" date="07.07.2008"> 6406 <changes ver="0.7.6" date="07.07.2008">
6407 6407
6408 <change type="bugfix"> 6408 <change type="bugfix">
6409 <para lang="ru"> 6409 <para lang="ru">
6410 теперь при использовании переменных в директиве access_log 6410 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log
6411 всегда проверяется существовании root'а для запроса. 6411 п╡я│п╣пЁп╢п╟ п©я─п╬п╡п╣я─я▐п╣я┌я│я▐ я│я┐я┴п╣я│я┌п╡п╬п╡п╟п╫п╦п╦ root'п╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╟.
6412 </para> 6412 </para>
6413 <para lang="en"> 6413 <para lang="en">
6414 now if variables are used in the "access_log" directive 6414 now if variables are used in the "access_log" directive
6415 a request root existence is always tested. 6415 a request root existence is always tested.
6416 </para> 6416 </para>
6417 </change> 6417 </change>
6418 6418
6419 <change type="bugfix"> 6419 <change type="bugfix">
6420 <para lang="ru"> 6420 <para lang="ru">
6421 модуль ngx_http_flv_module не поддерживал несколько значений в 6421 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╥п╫п╟я┤п╣п╫п╦п╧ п╡
6422 аргументах запроса. 6422 п╟я─пЁя┐п╪п╣п╫я┌п╟я┘ п╥п╟п©я─п╬я│п╟.
6423 </para> 6423 </para>
6424 <para lang="en"> 6424 <para lang="en">
6425 the ngx_http_flv_module did not support several values in a query string. 6425 the ngx_http_flv_module did not support several values in a query string.
6426 </para> 6426 </para>
6427 </change> 6427 </change>
6431 6431
6432 <changes ver="0.7.5" date="01.07.2008"> 6432 <changes ver="0.7.5" date="01.07.2008">
6433 6433
6434 <change> 6434 <change>
6435 <para lang="ru"> 6435 <para lang="ru">
6436 Исправления в поддержке переменных в директиве access_log; 6436 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ п©п╬п╢п╢п╣я─п╤п╨п╣ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log;
6437 ошибки появились в 0.7.4. 6437 п╬я┬п╦п╠п╨п╦ п©п╬я▐п╡п╦п╩п╦я│я▄ п╡ 0.7.4.
6438 </para> 6438 </para>
6439 <para lang="en"> 6439 <para lang="en">
6440 Bugfixes in variables support in the "access_log" directive; 6440 Bugfixes in variables support in the "access_log" directive;
6441 the bugs had appeared in 0.7.4. 6441 the bugs had appeared in 0.7.4.
6442 </para> 6442 </para>
6443 </change> 6443 </change>
6444 6444
6445 <change type="bugfix"> 6445 <change type="bugfix">
6446 <para lang="ru"> 6446 <para lang="ru">
6447 nginx не собирался с параметром --without-http_gzip_module; 6447 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_gzip_module;
6448 ошибка появилась в 0.7.3.<br/> 6448 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.3.<br/>
6449 Спасибо Кириллу Коринскому. 6449 п║п©п╟я│п╦п╠п╬ п п╦я─п╦п╩п╩я┐ п п╬я─п╦п╫я│п╨п╬п╪я┐.
6450 </para> 6450 </para>
6451 <para lang="en"> 6451 <para lang="en">
6452 nginx could not be built --without-http_gzip_module; 6452 nginx could not be built --without-http_gzip_module;
6453 the bug had appeared in 0.7.3.<br/> 6453 the bug had appeared in 0.7.3.<br/>
6454 Thanks to Kirill A. Korinskiy. 6454 Thanks to Kirill A. Korinskiy.
6455 </para> 6455 </para>
6456 </change> 6456 </change>
6457 6457
6458 <change type="bugfix"> 6458 <change type="bugfix">
6459 <para lang="ru"> 6459 <para lang="ru">
6460 при совместном использовании sub_filter и SSI 6460 п©я─п╦ я│п╬п╡п╪п╣я│я┌п╫п╬п╪ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sub_filter п╦ SSI
6461 ответы могли передаваться неверно. 6461 п╬я┌п╡п╣я┌я▀ п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫п╬.
6462 </para> 6462 </para>
6463 <para lang="en"> 6463 <para lang="en">
6464 if sub_filter and SSI were used together, then responses might 6464 if sub_filter and SSI were used together, then responses might
6465 were transferred incorrectly. 6465 were transferred incorrectly.
6466 </para> 6466 </para>
6471 6471
6472 <changes ver="0.7.4" date="30.06.2008"> 6472 <changes ver="0.7.4" date="30.06.2008">
6473 6473
6474 <change type="feature"> 6474 <change type="feature">
6475 <para lang="ru"> 6475 <para lang="ru">
6476 директива access_log поддерживает переменные. 6476 п╢п╦я─п╣п╨я┌п╦п╡п╟ access_log п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
6477 </para> 6477 </para>
6478 <para lang="en"> 6478 <para lang="en">
6479 variables support in the "access_log" directive. 6479 variables support in the "access_log" directive.
6480 </para> 6480 </para>
6481 </change> 6481 </change>
6482 6482
6483 <change type="feature"> 6483 <change type="feature">
6484 <para lang="ru"> 6484 <para lang="ru">
6485 директива open_log_file_cache. 6485 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_log_file_cache.
6486 </para> 6486 </para>
6487 <para lang="en"> 6487 <para lang="en">
6488 the "open_log_file_cache" directive. 6488 the "open_log_file_cache" directive.
6489 </para> 6489 </para>
6490 </change> 6490 </change>
6491 6491
6492 <change type="feature"> 6492 <change type="feature">
6493 <para lang="ru"> 6493 <para lang="ru">
6494 ключ -g. 6494 п╨п╩я▌я┤ -g.
6495 </para> 6495 </para>
6496 <para lang="en"> 6496 <para lang="en">
6497 the -g switch. 6497 the -g switch.
6498 </para> 6498 </para>
6499 </change> 6499 </change>
6500 6500
6501 <change type="feature"> 6501 <change type="feature">
6502 <para lang="ru"> 6502 <para lang="ru">
6503 поддержка строки "Expect" в заголовке запроса. 6503 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "Expect" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
6504 </para> 6504 </para>
6505 <para lang="en"> 6505 <para lang="en">
6506 the "Expect" request header line support. 6506 the "Expect" request header line support.
6507 </para> 6507 </para>
6508 </change> 6508 </change>
6509 6509
6510 <change type="bugfix"> 6510 <change type="bugfix">
6511 <para lang="ru"> 6511 <para lang="ru">
6512 большие включения в SSI могли передавались не полностью. 6512 п╠п╬п╩я▄я┬п╦п╣ п╡п╨п╩я▌я┤п╣п╫п╦я▐ п╡ SSI п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
6513 </para> 6513 </para>
6514 <para lang="en"> 6514 <para lang="en">
6515 large SSI inclusions might be truncated. 6515 large SSI inclusions might be truncated.
6516 </para> 6516 </para>
6517 </change> 6517 </change>
6521 6521
6522 <changes ver="0.7.3" date="23.06.2008"> 6522 <changes ver="0.7.3" date="23.06.2008">
6523 6523
6524 <change type="change"> 6524 <change type="change">
6525 <para lang="ru"> 6525 <para lang="ru">
6526 MIME-тип для расширения rss изменён на "application/rss+xml". 6526 MIME-я┌п╦п© п╢п╩я▐ я─п╟я│я┬п╦я─п╣п╫п╦я▐ rss п╦п╥п╪п╣п╫я▒п╫ п╫п╟ "application/rss+xml".
6527 </para> 6527 </para>
6528 <para lang="en"> 6528 <para lang="en">
6529 the "rss" extension MIME type has been changed to "application/rss+xml". 6529 the "rss" extension MIME type has been changed to "application/rss+xml".
6530 </para> 6530 </para>
6531 </change> 6531 </change>
6532 6532
6533 <change type="change"> 6533 <change type="change">
6534 <para lang="ru"> 6534 <para lang="ru">
6535 теперь директива "gzip_vary on" выдаёт строку 6535 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "gzip_vary on" п╡я▀п╢п╟я▒я┌ я│я┌я─п╬п╨я┐
6536 <nobr>"Vary: Accept-Encoding"</nobr> 6536 <nobr>"Vary: Accept-Encoding"</nobr>
6537 в заголовке ответа и для несжатых ответов. 6537 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╦ п╢п╩я▐ п╫п╣я│п╤п╟я┌я▀я┘ п╬я┌п╡п╣я┌п╬п╡.
6538 </para> 6538 </para>
6539 <para lang="en"> 6539 <para lang="en">
6540 now the "gzip_vary" directive turned on issues 6540 now the "gzip_vary" directive turned on issues
6541 a <nobr>"Vary: Accept-Encoding"</nobr> 6541 a <nobr>"Vary: Accept-Encoding"</nobr>
6542 header line for uncompressed responses too. 6542 header line for uncompressed responses too.
6543 </para> 6543 </para>
6544 </change> 6544 </change>
6545 6545
6546 <change type="feature"> 6546 <change type="feature">
6547 <para lang="ru"> 6547 <para lang="ru">
6548 теперь при использовании протокола "https://" в директиве rewrite 6548 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ "https://" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite
6549 автоматически делается редирект. 6549 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╦ п╢п╣п╩п╟п╣я┌я│я▐ я─п╣п╢п╦я─п╣п╨я┌.
6550 </para> 6550 </para>
6551 <para lang="en"> 6551 <para lang="en">
6552 now the "rewrite" directive does a redirect automatically 6552 now the "rewrite" directive does a redirect automatically
6553 if the "https://" protocol is used. 6553 if the "https://" protocol is used.
6554 </para> 6554 </para>
6555 </change> 6555 </change>
6556 6556
6557 <change type="bugfix"> 6557 <change type="bugfix">
6558 <para lang="ru"> 6558 <para lang="ru">
6559 директива proxy_pass не работала с протоколом HTTPS; 6559 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п©я─п╬я┌п╬п╨п╬п╩п╬п╪ HTTPS;
6560 ошибка появилась в 0.6.9. 6560 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.9.
6561 </para> 6561 </para>
6562 <para lang="en"> 6562 <para lang="en">
6563 the "proxy_pass" directive did not work with the HTTPS protocol; 6563 the "proxy_pass" directive did not work with the HTTPS protocol;
6564 the bug had appeared in 0.6.9. 6564 the bug had appeared in 0.6.9.
6565 </para> 6565 </para>
6570 6570
6571 <changes ver="0.7.2" date="16.06.2008"> 6571 <changes ver="0.7.2" date="16.06.2008">
6572 6572
6573 <change type="feature"> 6573 <change type="feature">
6574 <para lang="ru"> 6574 <para lang="ru">
6575 теперь nginx поддерживает шифры с обменом EDH-ключами. 6575 я┌п╣п©п╣я─я▄ nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┬п╦я└я─я▀ я│ п╬п╠п╪п╣п╫п╬п╪ EDH-п╨п╩я▌я┤п╟п╪п╦.
6576 </para> 6576 </para>
6577 <para lang="en"> 6577 <para lang="en">
6578 now nginx supports EDH key exchange ciphers. 6578 now nginx supports EDH key exchange ciphers.
6579 </para> 6579 </para>
6580 </change> 6580 </change>
6581 6581
6582 <change type="feature"> 6582 <change type="feature">
6583 <para lang="ru"> 6583 <para lang="ru">
6584 директива ssl_dhparam. 6584 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_dhparam.
6585 </para> 6585 </para>
6586 <para lang="en"> 6586 <para lang="en">
6587 the "ssl_dhparam" directive. 6587 the "ssl_dhparam" directive.
6588 </para> 6588 </para>
6589 </change> 6589 </change>
6590 6590
6591 <change type="feature"> 6591 <change type="feature">
6592 <para lang="ru"> 6592 <para lang="ru">
6593 переменная $ssl_client_cert.<br/> 6593 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_cert.<br/>
6594 Спасибо Manlio Perillo. 6594 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
6595 </para> 6595 </para>
6596 <para lang="en"> 6596 <para lang="en">
6597 the $ssl_client_cert variable.<br/> 6597 the $ssl_client_cert variable.<br/>
6598 Thanks to Manlio Perillo. 6598 Thanks to Manlio Perillo.
6599 </para> 6599 </para>
6600 </change> 6600 </change>
6601 6601
6602 <change type="bugfix"> 6602 <change type="bugfix">
6603 <para lang="ru"> 6603 <para lang="ru">
6604 после изменения URI с помощью директивы rewrite nginx не искал новый location; 6604 п©п╬я│п╩п╣ п╦п╥п╪п╣п╫п╣п╫п╦я▐ URI я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite nginx п╫п╣ п╦я│п╨п╟п╩ п╫п╬п╡я▀п╧ location;
6605 ошибка появилась в 0.7.1.<br/> 6605 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.<br/>
6606 Спасибо Максиму Дунину. 6606 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6607 </para> 6607 </para>
6608 <para lang="en"> 6608 <para lang="en">
6609 after changing URI via a "rewrite" directive nginx did not search 6609 after changing URI via a "rewrite" directive nginx did not search
6610 a new location; 6610 a new location;
6611 the bug had appeared in 0.7.1.<br/> 6611 the bug had appeared in 0.7.1.<br/>
6613 </para> 6613 </para>
6614 </change> 6614 </change>
6615 6615
6616 <change type="bugfix"> 6616 <change type="bugfix">
6617 <para lang="ru"> 6617 <para lang="ru">
6618 nginx не собирался без библиотеки PCRE; 6618 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
6619 ошибка появилась в 0.7.1. 6619 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.7.1.
6620 </para> 6620 </para>
6621 <para lang="en"> 6621 <para lang="en">
6622 nginx could not be built without PCRE library; 6622 nginx could not be built without PCRE library;
6623 the bug had appeared in 0.7.1. 6623 the bug had appeared in 0.7.1.
6624 </para> 6624 </para>
6625 </change> 6625 </change>
6626 6626
6627 <change type="bugfix"> 6627 <change type="bugfix">
6628 <para lang="ru"> 6628 <para lang="ru">
6629 при редиректе запроса к каталогу с добавлением слэша nginx 6629 п©я─п╦ я─п╣п╢п╦я─п╣п╨я┌п╣ п╥п╟п©я─п╬я│п╟ п╨ п╨п╟я┌п╟п╩п╬пЁя┐ я│ п╢п╬п╠п╟п╡п╩п╣п╫п╦п╣п╪ я│п╩я█я┬п╟ nginx
6630 не добавлял аргументы из оригинального запроса. 6630 п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩ п╟я─пЁя┐п╪п╣п╫я┌я▀ п╦п╥ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
6631 </para> 6631 </para>
6632 <para lang="en"> 6632 <para lang="en">
6633 when a request to a directory was redirected with the slash added, 6633 when a request to a directory was redirected with the slash added,
6634 nginx dropped a query string from the original request. 6634 nginx dropped a query string from the original request.
6635 </para> 6635 </para>
6640 6640
6641 <changes ver="0.7.1" date="26.05.2008"> 6641 <changes ver="0.7.1" date="26.05.2008">
6642 6642
6643 <change type="change"> 6643 <change type="change">
6644 <para lang="ru"> 6644 <para lang="ru">
6645 теперь поиск location'а делается с помощью дерева. 6645 я┌п╣п©п╣я─я▄ п©п╬п╦я│п╨ location'п╟ п╢п╣п╩п╟п╣я┌я│я▐ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╣я─п╣п╡п╟.
6646 </para> 6646 </para>
6647 <para lang="en"> 6647 <para lang="en">
6648 now locations are searched in a tree. 6648 now locations are searched in a tree.
6649 </para> 6649 </para>
6650 </change> 6650 </change>
6651 6651
6652 <change type="change"> 6652 <change type="change">
6653 <para lang="ru"> 6653 <para lang="ru">
6654 директива optimize_server_names упразднена в связи с появлением 6654 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_server_names я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╡ я│п╡я▐п╥п╦ я│ п©п╬я▐п╡п╩п╣п╫п╦п╣п╪
6655 директивы server_name_in_redirect. 6655 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name_in_redirect.
6656 </para> 6656 </para>
6657 <para lang="en"> 6657 <para lang="en">
6658 the "optimize_server_names" directive was canceled 6658 the "optimize_server_names" directive was canceled
6659 due to the "server_name_in_redirect" directive introduction. 6659 due to the "server_name_in_redirect" directive introduction.
6660 </para> 6660 </para>
6661 </change> 6661 </change>
6662 6662
6663 <change type="change"> 6663 <change type="change">
6664 <para lang="ru"> 6664 <para lang="ru">
6665 некоторые давно устаревшие директивы больше не поддерживаются. 6665 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╢п╟п╡п╫п╬ я┐я│я┌п╟я─п╣п╡я┬п╦п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
6666 </para> 6666 </para>
6667 <para lang="en"> 6667 <para lang="en">
6668 some long deprecated directives are not supported anymore. 6668 some long deprecated directives are not supported anymore.
6669 </para> 6669 </para>
6670 </change> 6670 </change>
6671 6671
6672 <change type="change"> 6672 <change type="change">
6673 <para lang="ru"> 6673 <para lang="ru">
6674 параметр "none" в директиве ssl_session_cache; 6674 п©п╟я─п╟п╪п╣я┌я─ "none" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ssl_session_cache;
6675 теперь этот параметр используется по умолчанию.<br/> 6675 я┌п╣п©п╣я─я▄ я█я┌п╬я┌ п©п╟я─п╟п╪п╣я┌я─ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.<br/>
6676 Спасибо Rob Mueller. 6676 п║п©п╟я│п╦п╠п╬ Rob Mueller.
6677 </para> 6677 </para>
6678 <para lang="en"> 6678 <para lang="en">
6679 the "none" parameter in the "ssl_session_cache" directive; 6679 the "none" parameter in the "ssl_session_cache" directive;
6680 now this is default parameter.<br/> 6680 now this is default parameter.<br/>
6681 Thanks to Rob Mueller. 6681 Thanks to Rob Mueller.
6682 </para> 6682 </para>
6683 </change> 6683 </change>
6684 6684
6685 <change type="bugfix"> 6685 <change type="bugfix">
6686 <para lang="ru"> 6686 <para lang="ru">
6687 рабочие процессы могли не реагировать на сигналы переконфигурации 6687 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╪п╬пЁп╩п╦ п╫п╣ я─п╣п╟пЁп╦я─п╬п╡п╟я┌я▄ п╫п╟ я│п╦пЁп╫п╟п╩я▀ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
6688 и ротации логов. 6688 п╦ я─п╬я┌п╟я├п╦п╦ п╩п╬пЁп╬п╡.
6689 </para> 6689 </para>
6690 <para lang="en"> 6690 <para lang="en">
6691 worker processes might not catch reconfiguration and log rotation signals. 6691 worker processes might not catch reconfiguration and log rotation signals.
6692 </para> 6692 </para>
6693 </change> 6693 </change>
6694 6694
6695 <change type="bugfix"> 6695 <change type="bugfix">
6696 <para lang="ru"> 6696 <para lang="ru">
6697 nginx не собирался на последних Fedora 9 Linux.<br/> 6697 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╬я│п╩п╣п╢п╫п╦я┘ Fedora 9 Linux.<br/>
6698 Спасибо Roxis. 6698 п║п©п╟я│п╦п╠п╬ Roxis.
6699 </para> 6699 </para>
6700 <para lang="en"> 6700 <para lang="en">
6701 nginx could not be built on latest Fedora 9 Linux.<br/> 6701 nginx could not be built on latest Fedora 9 Linux.<br/>
6702 Thanks to Roxis. 6702 Thanks to Roxis.
6703 </para> 6703 </para>
6708 6708
6709 <changes ver="0.7.0" date="19.05.2008"> 6709 <changes ver="0.7.0" date="19.05.2008">
6710 6710
6711 <change type="change"> 6711 <change type="change">
6712 <para lang="ru"> 6712 <para lang="ru">
6713 теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/> 6713 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ 0x00-0x1F, '"' п╦ '\' п╡ access_log п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ п╡п╦п╢п╣ \xXX.<br/>
6714 Спасибо Максиму Дунину. 6714 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
6715 </para> 6715 </para>
6716 <para lang="en"> 6716 <para lang="en">
6717 now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an 6717 now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an
6718 access_log.<br/> 6718 access_log.<br/>
6719 Thanks to Maxim Dounin. 6719 Thanks to Maxim Dounin.
6720 </para> 6720 </para>
6721 </change> 6721 </change>
6722 6722
6723 <change type="change"> 6723 <change type="change">
6724 <para lang="ru"> 6724 <para lang="ru">
6725 теперь nginx разрешает несколько строк "Host" в заголовке запроса. 6725 я┌п╣п©п╣я─я▄ nginx я─п╟п╥я─п╣я┬п╟п╣я┌ п╫п╣я│п╨п╬п╩я▄п╨п╬ я│я┌я─п╬п╨ "Host" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
6726 </para> 6726 </para>
6727 <para lang="en"> 6727 <para lang="en">
6728 now nginx allows several "Host" request header line. 6728 now nginx allows several "Host" request header line.
6729 </para> 6729 </para>
6730 </change> 6730 </change>
6731 6731
6732 <change type="feature"> 6732 <change type="feature">
6733 <para lang="ru"> 6733 <para lang="ru">
6734 директива expires поддерживает флаг modified. 6734 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я└п╩п╟пЁ modified.
6735 </para> 6735 </para>
6736 <para lang="en"> 6736 <para lang="en">
6737 the "modified" flag in the "expires" directive. 6737 the "modified" flag in the "expires" directive.
6738 </para> 6738 </para>
6739 </change> 6739 </change>
6740 6740
6741 <change type="feature"> 6741 <change type="feature">
6742 <para lang="ru"> 6742 <para lang="ru">
6743 переменные $uid_got и $uid_set можно использовать на любой стадии обработки 6743 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $uid_got п╦ $uid_set п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╫п╟ п╩я▌п╠п╬п╧ я│я┌п╟п╢п╦п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦
6744 запроса. 6744 п╥п╟п©я─п╬я│п╟.
6745 </para> 6745 </para>
6746 <para lang="en"> 6746 <para lang="en">
6747 the $uid_got and $uid_set variables may be used at any request processing stage. 6747 the $uid_got and $uid_set variables may be used at any request processing stage.
6748 </para> 6748 </para>
6749 </change> 6749 </change>
6750 6750
6751 <change type="feature"> 6751 <change type="feature">
6752 <para lang="ru"> 6752 <para lang="ru">
6753 переменная $hostname.<br/> 6753 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $hostname.<br/>
6754 Спасибо Андрею Нигматулину. 6754 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
6755 </para> 6755 </para>
6756 <para lang="en"> 6756 <para lang="en">
6757 the $hostname variable.<br/> 6757 the $hostname variable.<br/>
6758 Thanks to Andrei Nigmatulin. 6758 Thanks to Andrei Nigmatulin.
6759 </para> 6759 </para>
6760 </change> 6760 </change>
6761 6761
6762 <change type="feature"> 6762 <change type="feature">
6763 <para lang="ru"> 6763 <para lang="ru">
6764 поддержка DESTDIR.<br/> 6764 п©п╬п╢п╢п╣я─п╤п╨п╟ DESTDIR.<br/>
6765 Спасибо Todd A. Fisher и Andras Voroskoi. 6765 п║п©п╟я│п╦п╠п╬ Todd A. Fisher п╦ Andras Voroskoi.
6766 </para> 6766 </para>
6767 <para lang="en"> 6767 <para lang="en">
6768 DESTDIR support.<br/> 6768 DESTDIR support.<br/>
6769 Thanks to Todd A. Fisher and Andras Voroskoi. 6769 Thanks to Todd A. Fisher and Andras Voroskoi.
6770 </para> 6770 </para>
6771 </change> 6771 </change>
6772 6772
6773 <change type="bugfix"> 6773 <change type="bugfix">
6774 <para lang="ru"> 6774 <para lang="ru">
6775 при использовании keepalive на Linux 6775 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ keepalive п╫п╟ Linux
6776 в рабочем процессе мог произойти segmentation fault. 6776 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
6777 </para> 6777 </para>
6778 <para lang="en"> 6778 <para lang="en">
6779 a segmentation fault might occur in worker process on Linux, 6779 a segmentation fault might occur in worker process on Linux,
6780 if keepalive was enabled. 6780 if keepalive was enabled.
6781 </para> 6781 </para>
6786 6786
6787 <changes ver="0.6.31" date="12.05.2008"> 6787 <changes ver="0.6.31" date="12.05.2008">
6788 6788
6789 <change type="bugfix"> 6789 <change type="bugfix">
6790 <para lang="ru"> 6790 <para lang="ru">
6791 nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответ была 6791 nginx п╫п╣ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩ п╬я┌п╡п╣я┌ FastCGI-я│п╣я─п╡п╣я─п╟, п╣я│п╩п╦ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌ п╠я▀п╩п╟
6792 в конце записи FastCGI; 6792 п╡ п╨п╬п╫я├п╣ п╥п╟п©п╦я│п╦ FastCGI;
6793 ошибка появилась в 0.6.2.<br/> 6793 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.2.<br/>
6794 Спасибо Сергею Серову. 6794 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╣я─п╬п╡я┐.
6795 </para> 6795 </para>
6796 <para lang="en"> 6796 <para lang="en">
6797 nginx did not process FastCGI response 6797 nginx did not process FastCGI response
6798 if header was at the end of FastCGI record; 6798 if header was at the end of FastCGI record;
6799 the bug had appeared in 0.6.2.<br/> 6799 the bug had appeared in 0.6.2.<br/>
6801 </para> 6801 </para>
6802 </change> 6802 </change>
6803 6803
6804 <change type="bugfix"> 6804 <change type="bugfix">
6805 <para lang="ru"> 6805 <para lang="ru">
6806 при удалении файла и использовании директивы open_file_cache_errors off 6806 п©я─п╦ я┐п╢п╟п╩п╣п╫п╦п╦ я└п╟п╧п╩п╟ п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ open_file_cache_errors off
6807 в рабочем процессе мог произойти segmentation fault. 6807 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
6808 </para> 6808 </para>
6809 <para lang="en"> 6809 <para lang="en">
6810 a segmentation fault might occur in worker process if a file was deleted 6810 a segmentation fault might occur in worker process if a file was deleted
6811 and the "open_file_cache_errors" directive was off. 6811 and the "open_file_cache_errors" directive was off.
6812 </para> 6812 </para>
6817 6817
6818 <changes ver="0.6.30" date="29.04.2008"> 6818 <changes ver="0.6.30" date="29.04.2008">
6819 6819
6820 <change type="change"> 6820 <change type="change">
6821 <para lang="ru"> 6821 <para lang="ru">
6822 теперь, если маске, заданной в директиве include, не соответствует 6822 я┌п╣п©п╣я─я▄, п╣я│п╩п╦ п╪п╟я│п╨п╣, п╥п╟п╢п╟п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ include, п╫п╣ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐п╣я┌
6823 ни один файл, то nginx не выдаёт ошибку. 6823 п╫п╦ п╬п╢п╦п╫ я└п╟п╧п╩, я┌п╬ nginx п╫п╣ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐.
6824 </para> 6824 </para>
6825 <para lang="en"> 6825 <para lang="en">
6826 now if an "include" directive pattern does not match any file, 6826 now if an "include" directive pattern does not match any file,
6827 then nginx does not issue an error. 6827 then nginx does not issue an error.
6828 </para> 6828 </para>
6829 </change> 6829 </change>
6830 6830
6831 <change type="feature"> 6831 <change type="feature">
6832 <para lang="ru"> 6832 <para lang="ru">
6833 теперь время в директивах можно задавать без пробела, например, "1h50m". 6833 я┌п╣п©п╣я─я▄ п╡я─п╣п╪я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ п╪п╬п╤п╫п╬ п╥п╟п╢п╟п╡п╟я┌я▄ п╠п╣п╥ п©я─п╬п╠п╣п╩п╟, п╫п╟п©я─п╦п╪п╣я─, "1h50m".
6834 </para> 6834 </para>
6835 <para lang="en"> 6835 <para lang="en">
6836 now the time in directives may be specified without spaces, 6836 now the time in directives may be specified without spaces,
6837 for example, "1h50m". 6837 for example, "1h50m".
6838 </para> 6838 </para>
6839 </change> 6839 </change>
6840 6840
6841 <change type="bugfix"> 6841 <change type="bugfix">
6842 <para lang="ru"> 6842 <para lang="ru">
6843 утечек памяти, если директива ssl_verify_client имела значение on.<br/> 6843 я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦, п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_verify_client п╦п╪п╣п╩п╟ п╥п╫п╟я┤п╣п╫п╦п╣ on.<br/>
6844 Спасибо Chavelle Vincent. 6844 п║п©п╟я│п╦п╠п╬ Chavelle Vincent.
6845 </para> 6845 </para>
6846 <para lang="en"> 6846 <para lang="en">
6847 memory leaks if the "ssl_verify_client" directive was on.<br/> 6847 memory leaks if the "ssl_verify_client" directive was on.<br/>
6848 Thanks to Chavelle Vincent. 6848 Thanks to Chavelle Vincent.
6849 </para> 6849 </para>
6850 </change> 6850 </change>
6851 6851
6852 <change type="bugfix"> 6852 <change type="bugfix">
6853 <para lang="ru"> 6853 <para lang="ru">
6854 директива sub_filter могла вставлять заменяемый текст в вывод. 6854 п╢п╦я─п╣п╨я┌п╦п╡п╟ sub_filter п╪п╬пЁп╩п╟ п╡я│я┌п╟п╡п╩я▐я┌я▄ п╥п╟п╪п╣п╫я▐п╣п╪я▀п╧ я┌п╣п╨я│я┌ п╡ п╡я▀п╡п╬п╢.
6855 </para> 6855 </para>
6856 <para lang="en"> 6856 <para lang="en">
6857 the "sub_filter" directive might set text to change into output. 6857 the "sub_filter" directive might set text to change into output.
6858 </para> 6858 </para>
6859 </change> 6859 </change>
6860 6860
6861 <change type="bugfix"> 6861 <change type="bugfix">
6862 <para lang="ru"> 6862 <para lang="ru">
6863 директива error_page не воспринимала параметры в перенаправляемом URI. 6863 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п╡п╬я│п©я─п╦п╫п╦п╪п╟п╩п╟ п©п╟я─п╟п╪п╣я┌я─я▀ п╡ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╣п╪п╬п╪ URI.
6864 </para> 6864 </para>
6865 <para lang="en"> 6865 <para lang="en">
6866 the "error_page" directive did not take into account arguments in 6866 the "error_page" directive did not take into account arguments in
6867 redirected URI. 6867 redirected URI.
6868 </para> 6868 </para>
6869 </change> 6869 </change>
6870 6870
6871 <change type="bugfix"> 6871 <change type="bugfix">
6872 <para lang="ru"> 6872 <para lang="ru">
6873 теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме. 6873 я┌п╣п©п╣я─я▄ п©я─п╦ я│п╠п╬я─п╨п╣ я│ Cygwin nginx п╡я│п╣пЁп╢п╟ п╬я┌п╨я─я▀п╡п╟п╣я┌ я└п╟п╧п╩я▀ п╡ п╠п╦п╫п╟я─п╫п╬п╪ я─п╣п╤п╦п╪п╣.
6874 </para> 6874 </para>
6875 <para lang="en"> 6875 <para lang="en">
6876 now nginx always opens files in binary mode under Cygwin. 6876 now nginx always opens files in binary mode under Cygwin.
6877 </para> 6877 </para>
6878 </change> 6878 </change>
6879 6879
6880 <change type="bugfix"> 6880 <change type="bugfix">
6881 <para lang="ru"> 6881 <para lang="ru">
6882 nginx не собирался под OpenBSD; 6882 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ OpenBSD;
6883 ошибка появилась в 0.6.15. 6883 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.15.
6884 </para> 6884 </para>
6885 <para lang="en"> 6885 <para lang="en">
6886 nginx could not be built on OpenBSD; 6886 nginx could not be built on OpenBSD;
6887 the bug had appeared in 0.6.15. 6887 the bug had appeared in 0.6.15.
6888 </para> 6888 </para>
6893 6893
6894 <changes ver="0.6.29" date="18.03.2008"> 6894 <changes ver="0.6.29" date="18.03.2008">
6895 6895
6896 <change type="feature"> 6896 <change type="feature">
6897 <para lang="ru"> 6897 <para lang="ru">
6898 модуль ngx_google_perftools_module. 6898 п╪п╬п╢я┐п╩я▄ ngx_google_perftools_module.
6899 </para> 6899 </para>
6900 <para lang="en"> 6900 <para lang="en">
6901 the ngx_google_perftools_module. 6901 the ngx_google_perftools_module.
6902 </para> 6902 </para>
6903 </change> 6903 </change>
6904 6904
6905 <change type="bugfix"> 6905 <change type="bugfix">
6906 <para lang="ru"> 6906 <para lang="ru">
6907 модуль ngx_http_perl_module не собирался на 64-битных платформах; 6907 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
6908 ошибка появилась в 0.6.27. 6908 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.27.
6909 </para> 6909 </para>
6910 <para lang="en"> 6910 <para lang="en">
6911 the ngx_http_perl_module could not be built on 64-bit platforms; 6911 the ngx_http_perl_module could not be built on 64-bit platforms;
6912 the bug had appeared in 0.6.27. 6912 the bug had appeared in 0.6.27.
6913 </para> 6913 </para>
6918 6918
6919 <changes ver="0.6.28" date="13.03.2008"> 6919 <changes ver="0.6.28" date="13.03.2008">
6920 6920
6921 <change type="bugfix"> 6921 <change type="bugfix">
6922 <para lang="ru"> 6922 <para lang="ru">
6923 метод rtsig не собирался; 6923 п╪п╣я┌п╬п╢ rtsig п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐;
6924 ошибка появилась в 0.6.27. 6924 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.27.
6925 </para> 6925 </para>
6926 <para lang="en"> 6926 <para lang="en">
6927 the rtsig method could not be built; 6927 the rtsig method could not be built;
6928 the bug had appeared in 0.6.27. 6928 the bug had appeared in 0.6.27.
6929 </para> 6929 </para>
6934 6934
6935 <changes ver="0.6.27" date="12.03.2008"> 6935 <changes ver="0.6.27" date="12.03.2008">
6936 6936
6937 <change type="change"> 6937 <change type="change">
6938 <para lang="ru"> 6938 <para lang="ru">
6939 теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig. 6939 я┌п╣п©п╣я─я▄ п╫п╟ Linux 2.6.18+ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╫п╣ я│п╬п╠п╦я─п╟п╣я┌я│я▐ п╪п╣я┌п╬п╢ rtsig.
6940 </para> 6940 </para>
6941 <para lang="en"> 6941 <para lang="en">
6942 now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr> 6942 now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr>
6943 </para> 6943 </para>
6944 </change> 6944 </change>
6945 6945
6946 <change type="change"> 6946 <change type="change">
6947 <para lang="ru"> 6947 <para lang="ru">
6948 теперь при перенаправлении запроса в именованный location с помощью 6948 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location я│ п©п╬п╪п╬я┴я▄я▌
6949 директивы error_page метод запроса не изменяется. 6949 п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╪п╣я┌п╬п╢ п╥п╟п©я─п╬я│п╟ п╫п╣ п╦п╥п╪п╣п╫я▐п╣я┌я│я▐.
6950 </para> 6950 </para>
6951 <para lang="en"> 6951 <para lang="en">
6952 now a request method is not changed while redirection to a named location 6952 now a request method is not changed while redirection to a named location
6953 via an "error_page" directive. 6953 via an "error_page" directive.
6954 </para> 6954 </para>
6955 </change> 6955 </change>
6956 6956
6957 <change type="feature"> 6957 <change type="feature">
6958 <para lang="ru"> 6958 <para lang="ru">
6959 директивы resolver и resolver_timeout в SMTP прокси-сервере. 6959 п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╦ resolver_timeout п╡ SMTP п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣.
6960 </para> 6960 </para>
6961 <para lang="en"> 6961 <para lang="en">
6962 the "resolver" and "resolver_timeout" directives in SMTP proxy. 6962 the "resolver" and "resolver_timeout" directives in SMTP proxy.
6963 </para> 6963 </para>
6964 </change> 6964 </change>
6965 6965
6966 <change type="feature"> 6966 <change type="feature">
6967 <para lang="ru"> 6967 <para lang="ru">
6968 директива post_action поддерживает именованные location'ы. 6968 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ location'я▀.
6969 </para> 6969 </para>
6970 <para lang="en"> 6970 <para lang="en">
6971 the "post_action" directive supports named locations. 6971 the "post_action" directive supports named locations.
6972 </para> 6972 </para>
6973 </change> 6973 </change>
6974 6974
6975 <change type="bugfix"> 6975 <change type="bugfix">
6976 <para lang="ru"> 6976 <para lang="ru">
6977 при перенаправлении запроса из location'а c обработчиком proxy, FastCGI 6977 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╦п╥ location'п╟ c п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy, FastCGI
6978 или memcached в именованный location со статическим обработчиком 6978 п╦п╩п╦ memcached п╡ п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╧ location я│п╬ я│я┌п╟я┌п╦я┤п╣я│п╨п╦п╪ п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪
6979 в рабочем процессе происходил segmentation fault. 6979 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
6980 </para> 6980 </para>
6981 <para lang="en"> 6981 <para lang="en">
6982 a segmentation fault occurred in worker process, 6982 a segmentation fault occurred in worker process,
6983 if a request was redirected from proxy, FastCGI, or memcached location 6983 if a request was redirected from proxy, FastCGI, or memcached location
6984 to static named locations. 6984 to static named locations.
6985 </para> 6985 </para>
6986 </change> 6986 </change>
6987 6987
6988 <change type="bugfix"> 6988 <change type="bugfix">
6989 <para lang="ru"> 6989 <para lang="ru">
6990 браузеры не повторяли SSL handshake, если при первом handshake 6990 п╠я─п╟я┐п╥п╣я─я▀ п╫п╣ п©п╬п╡я┌п╬я─я▐п╩п╦ SSL handshake, п╣я│п╩п╦ п©я─п╦ п©п╣я─п╡п╬п╪ handshake
6991 не оказалось правильного клиентского сертификата. 6991 п╫п╣ п╬п╨п╟п╥п╟п╩п╬я│я▄ п©я─п╟п╡п╦п╩я▄п╫п╬пЁп╬ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟.
6992 <br/> 6992 <br/>
6993 Спасибо Александру Инюхину. 6993 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≤п╫я▌я┘п╦п╫я┐.
6994 </para> 6994 </para>
6995 <para lang="en"> 6995 <para lang="en">
6996 browsers did not repeat SSL handshake if there is no valid client certificate 6996 browsers did not repeat SSL handshake if there is no valid client certificate
6997 in first handshake. 6997 in first handshake.
6998 <br/> 6998 <br/>
7000 </para> 7000 </para>
7001 </change> 7001 </change>
7002 7002
7003 <change type="bugfix"> 7003 <change type="bugfix">
7004 <para lang="ru"> 7004 <para lang="ru">
7005 при перенаправлении ошибок 495-497 с помощью директивы error_page 7005 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╬п╨ 495-497 я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page
7006 без изменения кода ошибки nginx пытался выделить очень много памяти. 7006 п╠п╣п╥ п╦п╥п╪п╣п╫п╣п╫п╦я▐ п╨п╬п╢п╟ п╬я┬п╦п╠п╨п╦ nginx п©я▀я┌п╟п╩я│я▐ п╡я▀п╢п╣п╩п╦я┌я▄ п╬я┤п╣п╫я▄ п╪п╫п╬пЁп╬ п©п╟п╪я▐я┌п╦.
7007 </para> 7007 </para>
7008 <para lang="en"> 7008 <para lang="en">
7009 if response code 495-497 was redirected via an "error_page" directive 7009 if response code 495-497 was redirected via an "error_page" directive
7010 without code change, then nginx tried to allocate too many memory. 7010 without code change, then nginx tried to allocate too many memory.
7011 </para> 7011 </para>
7012 </change> 7012 </change>
7013 7013
7014 <change type="bugfix"> 7014 <change type="bugfix">
7015 <para lang="ru"> 7015 <para lang="ru">
7016 утечки памяти в долгоживущих небуфферизированных соединениях. 7016 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ п╢п╬п╩пЁп╬п╤п╦п╡я┐я┴п╦я┘ п╫п╣п╠я┐я└я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐я┘.
7017 </para> 7017 </para>
7018 <para lang="en"> 7018 <para lang="en">
7019 memory leak in long-lived non buffered connections. 7019 memory leak in long-lived non buffered connections.
7020 </para> 7020 </para>
7021 </change> 7021 </change>
7022 7022
7023 <change type="bugfix"> 7023 <change type="bugfix">
7024 <para lang="ru"> 7024 <para lang="ru">
7025 утечки памяти в resolver'е. 7025 я┐я┌п╣я┤п╨п╦ п©п╟п╪я▐я┌п╦ п╡ resolver'п╣.
7026 </para> 7026 </para>
7027 <para lang="en"> 7027 <para lang="en">
7028 memory leak in resolver. 7028 memory leak in resolver.
7029 </para> 7029 </para>
7030 </change> 7030 </change>
7031 7031
7032 <change type="bugfix"> 7032 <change type="bugfix">
7033 <para lang="ru"> 7033 <para lang="ru">
7034 при перенаправлении запроса из location'а c обработчиком proxy 7034 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ п╦п╥ location'п╟ c п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy
7035 в другой location с обработчиком proxy 7035 п╡ п╢я─я┐пЁп╬п╧ location я│ п╬п╠я─п╟п╠п╬я┌я┤п╦п╨п╬п╪ proxy
7036 в рабочем процессе происходил segmentation fault. 7036 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7037 </para> 7037 </para>
7038 <para lang="en"> 7038 <para lang="en">
7039 a segmentation fault occurred in worker process, 7039 a segmentation fault occurred in worker process,
7040 if a request was redirected from proxy, FastCGI, or memcached location 7040 if a request was redirected from proxy, FastCGI, or memcached location
7041 to static named locations. 7041 to static named locations.
7042 </para> 7042 </para>
7043 </change> 7043 </change>
7044 7044
7045 <change type="bugfix"> 7045 <change type="bugfix">
7046 <para lang="ru"> 7046 <para lang="ru">
7047 ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/> 7047 п╬я┬п╦п╠п╨п╦ п╡ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $proxy_host п╦ $proxy_port.<br/>
7048 Спасибо Сергею Боченкову. 7048 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
7049 </para> 7049 </para>
7050 <para lang="en"> 7050 <para lang="en">
7051 in the $proxy_host and $proxy_port variables caching.<br/> 7051 in the $proxy_host and $proxy_port variables caching.<br/>
7052 Thanks to Sergey Bochenkov. 7052 Thanks to Sergey Bochenkov.
7053 </para> 7053 </para>
7054 </change> 7054 </change>
7055 7055
7056 <change type="bugfix"> 7056 <change type="bugfix">
7057 <para lang="ru"> 7057 <para lang="ru">
7058 директива proxy_pass с переменными использовала порт, описанной в другой 7058 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass я│ п©п╣я─п╣п╪п╣п╫п╫я▀п╪п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п©п╬я─я┌, п╬п©п╦я│п╟п╫п╫п╬п╧ п╡ п╢я─я┐пЁп╬п╧
7059 директиве proxy_pass без переменных, но с таким же именем хоста.<br/> 7059 п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘, п╫п╬ я│ я┌п╟п╨п╦п╪ п╤п╣ п╦п╪п╣п╫п╣п╪ я┘п╬я│я┌п╟.<br/>
7060 Спасибо Сергею Боченкову. 7060 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п▒п╬я┤п╣п╫п╨п╬п╡я┐.
7061 </para> 7061 </para>
7062 <para lang="en"> 7062 <para lang="en">
7063 a "proxy_pass" directive with variables used incorrectly the same port 7063 a "proxy_pass" directive with variables used incorrectly the same port
7064 as in another "proxy_pass" directive with the same host name 7064 as in another "proxy_pass" directive with the same host name
7065 and without variables.<br/> 7065 and without variables.<br/>
7067 </para> 7067 </para>
7068 </change> 7068 </change>
7069 7069
7070 <change type="bugfix"> 7070 <change type="bugfix">
7071 <para lang="ru"> 7071 <para lang="ru">
7072 во время переконфигурации на некоторых 64-битном платформах в лог 7072 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╟ п╫п╣п╨п╬я┌п╬я─я▀я┘ 64-п╠п╦я┌п╫п╬п╪ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п╡ п╩п╬пЁ
7073 записывался alert "sendmsg() failed (9: Bad file descriptor)". 7073 п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ alert "sendmsg() failed (9: Bad file descriptor)".
7074 </para> 7074 </para>
7075 <para lang="en"> 7075 <para lang="en">
7076 an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms 7076 an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms
7077 while reconfiguration. 7077 while reconfiguration.
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 при повторном использовании в SSI пустого block'а в качестве заглушки 7083 п©я─п╦ п©п╬п╡я┌п╬я─п╫п╬п╪ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ SSI п©я┐я│я┌п╬пЁп╬ block'п╟ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╥п╟пЁп╩я┐я┬п╨п╦
7084 в рабочем процессе происходил segmentation fault. 7084 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7085 </para> 7085 </para>
7086 <para lang="en"> 7086 <para lang="en">
7087 a segmentation fault occurred in worker process, 7087 a segmentation fault occurred in worker process,
7088 if empty stub block was used second time in SSI. 7088 if empty stub block was used second time in SSI.
7089 </para> 7089 </para>
7090 </change> 7090 </change>
7091 7091
7092 <change type="bugfix"> 7092 <change type="bugfix">
7093 <para lang="ru"> 7093 <para lang="ru">
7094 ошибки при копировании части URI, содержащего экранированные символы, 7094 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╨п╬п©п╦я─п╬п╡п╟п╫п╦п╦ я┤п╟я│я┌п╦ URI, я│п╬п╢п╣я─п╤п╟я┴п╣пЁп╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀,
7095 в аргументы. 7095 п╡ п╟я─пЁя┐п╪п╣п╫я┌я▀.
7096 </para> 7096 </para>
7097 <para lang="en"> 7097 <para lang="en">
7098 in copying URI part contained escaped symbols into arguments. 7098 in copying URI part contained escaped symbols into arguments.
7099 </para> 7099 </para>
7100 </change> 7100 </change>
7104 7104
7105 <changes ver="0.6.26" date="11.02.2008"> 7105 <changes ver="0.6.26" date="11.02.2008">
7106 7106
7107 <change type="bugfix"> 7107 <change type="bugfix">
7108 <para lang="ru"> 7108 <para lang="ru">
7109 директивы proxy_store и fastcgi_store не проверяли длину ответа. 7109 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store п╫п╣ п©я─п╬п╡п╣я─я▐п╩п╦ п╢п╩п╦п╫я┐ п╬я┌п╡п╣я┌п╟.
7110 </para> 7110 </para>
7111 <para lang="en"> 7111 <para lang="en">
7112 the "proxy_store" and "fastcgi_store" directives did not check 7112 the "proxy_store" and "fastcgi_store" directives did not check
7113 a response length. 7113 a response length.
7114 </para> 7114 </para>
7115 </change> 7115 </change>
7116 7116
7117 <change type="bugfix"> 7117 <change type="bugfix">
7118 <para lang="ru"> 7118 <para lang="ru">
7119 при использовании большого значения в директиве expires 7119 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╥п╫п╟я┤п╣п╫п╦я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ expires
7120 в рабочем процессе происходил segmentation fault.<br/> 7120 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.<br/>
7121 Спасибо Joaquin Cuenca Abela. 7121 п║п©п╟я│п╦п╠п╬ Joaquin Cuenca Abela.
7122 </para> 7122 </para>
7123 <para lang="en"> 7123 <para lang="en">
7124 a segmentation fault occurred in worker process, 7124 a segmentation fault occurred in worker process,
7125 if big value was used in a "expires" directive.<br/> 7125 if big value was used in a "expires" directive.<br/>
7126 Thanks to Joaquin Cuenca Abela. 7126 Thanks to Joaquin Cuenca Abela.
7127 </para> 7127 </para>
7128 </change> 7128 </change>
7129 7129
7130 <change type="bugfix"> 7130 <change type="bugfix">
7131 <para lang="ru"> 7131 <para lang="ru">
7132 nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/> 7132 nginx п╫п╣п╡п╣я─п╫п╬ п╬п©я─п╣п╢п╣п╩я▐п╩ п╢п╩п╦п╫я┐ я│я┌я─п╬п╨п╦ п╨я█я┬п╟ п╫п╟ <nobr>Pentium 4.</nobr><br/>
7133 Спасибо Геннадию Махомеду. 7133 п║п©п╟я│п╦п╠п╬ п⌠п╣п╫п╫п╟п╢п╦я▌ п°п╟я┘п╬п╪п╣п╢я┐.
7134 </para> 7134 </para>
7135 <para lang="en"> 7135 <para lang="en">
7136 nginx incorrectly detected cache line size on Pentium 4.<br/> 7136 nginx incorrectly detected cache line size on Pentium 4.<br/>
7137 Thanks to Gena Makhomed. 7137 Thanks to Gena Makhomed.
7138 </para> 7138 </para>
7139 </change> 7139 </change>
7140 7140
7141 <change type="bugfix"> 7141 <change type="bugfix">
7142 <para lang="ru"> 7142 <para lang="ru">
7143 в проксированных подзапросах и подзапросах к FastCGI-серверу 7143 п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╦ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ п╨ FastCGI-я│п╣я─п╡п╣я─я┐
7144 вместо метода GET использовался оригинальный метод клиента. 7144 п╡п╪п╣я│я┌п╬ п╪п╣я┌п╬п╢п╟ GET п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╪п╣я┌п╬п╢ п╨п╩п╦п╣п╫я┌п╟.
7145 </para> 7145 </para>
7146 <para lang="en"> 7146 <para lang="en">
7147 in proxied or FastCGI subrequests a client original method was used 7147 in proxied or FastCGI subrequests a client original method was used
7148 instead of the GET method. 7148 instead of the GET method.
7149 </para> 7149 </para>
7150 </change> 7150 </change>
7151 7151
7152 <change type="bugfix"> 7152 <change type="bugfix">
7153 <para lang="ru"> 7153 <para lang="ru">
7154 утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 7154 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡ п╡ я─п╣п╤п╦п╪п╣ HTTPS п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╩п╬п╤п╣п╫п╫п╬пЁп╬ accept'п╟.<br/>
7155 Спасибо Ben Maurer. 7155 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7156 </para> 7156 </para>
7157 <para lang="en"> 7157 <para lang="en">
7158 socket leak in HTTPS mode if deferred accept was used.<br/> 7158 socket leak in HTTPS mode if deferred accept was used.<br/>
7159 Thanks to Ben Maurer. 7159 Thanks to Ben Maurer.
7160 </para> 7160 </para>
7161 </change> 7161 </change>
7162 7162
7163 <change type="bugfix"> 7163 <change type="bugfix">
7164 <para lang="ru"> 7164 <para lang="ru">
7165 nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; 7165 nginx п╡я▀п╢п╟п╡п╟п╩ п╬я┬п╦п╠п╬я┤п╫п╬п╣ я│п╬п╬п╠я┴п╣п╫п╦п╣ "SSL_shutdown() failed (SSL: )";
7166 ошибка появилась в 0.6.23. 7166 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7167 </para> 7167 </para>
7168 <para lang="en"> 7168 <para lang="en">
7169 nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; 7169 nginx issued the bogus error message "SSL_shutdown() failed (SSL: )";
7170 the bug had appeared in 0.6.23. 7170 the bug had appeared in 0.6.23.
7171 </para> 7171 </para>
7172 </change> 7172 </change>
7173 7173
7174 <change type="bugfix"> 7174 <change type="bugfix">
7175 <para lang="ru"> 7175 <para lang="ru">
7176 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 7176 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry";
7177 ошибка появилась в 0.6.23. 7177 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7178 </para> 7178 </para>
7179 <para lang="en"> 7179 <para lang="en">
7180 in HTTPS mode requests might fail with the "bad write retry" error; 7180 in HTTPS mode requests might fail with the "bad write retry" error;
7181 the bug had appeared in 0.6.23. 7181 the bug had appeared in 0.6.23.
7182 </para> 7182 </para>
7187 7187
7188 <changes ver="0.6.25" date="08.01.2008"> 7188 <changes ver="0.6.25" date="08.01.2008">
7189 7189
7190 <change type="change"> 7190 <change type="change">
7191 <para lang="ru"> 7191 <para lang="ru">
7192 вместо специального параметра "*" в директиве server_name теперь 7192 п╡п╪п╣я│я┌п╬ я│п©п╣я├п╦п╟п╩я▄п╫п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟ "*" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name я┌п╣п©п╣я─я▄
7193 используется директива server_name_in_redirect. 7193 п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name_in_redirect.
7194 </para> 7194 </para>
7195 <para lang="en"> 7195 <para lang="en">
7196 now the "server_name_in_redirect" directive is used instead of 7196 now the "server_name_in_redirect" directive is used instead of
7197 the "server_name" directive's special "*" parameter. 7197 the "server_name" directive's special "*" parameter.
7198 </para> 7198 </para>
7199 </change> 7199 </change>
7200 7200
7201 <change type="change"> 7201 <change type="change">
7202 <para lang="ru"> 7202 <para lang="ru">
7203 в качестве основного имени в директиве server_name теперь 7203 п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╬я│п╫п╬п╡п╫п╬пЁп╬ п╦п╪п╣п╫п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name я┌п╣п©п╣я─я▄
7204 можно использовать имена с масками и регулярными выражениями. 7204 п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╦п╪п╣п╫п╟ я│ п╪п╟я│п╨п╟п╪п╦ п╦ я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦.
7205 </para> 7205 </para>
7206 <para lang="en"> 7206 <para lang="en">
7207 now wildcard and regex names can be used as main name in 7207 now wildcard and regex names can be used as main name in
7208 a "server_name" directive. 7208 a "server_name" directive.
7209 </para> 7209 </para>
7210 </change> 7210 </change>
7211 7211
7212 <change type="change"> 7212 <change type="change">
7213 <para lang="ru"> 7213 <para lang="ru">
7214 директива satisfy_any заменена директивой satisfy. 7214 п╢п╦я─п╣п╨я┌п╦п╡п╟ satisfy_any п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ satisfy.
7215 </para> 7215 </para>
7216 <para lang="en"> 7216 <para lang="en">
7217 the "satisfy_any" directive was replaced by the "satisfy" directive. 7217 the "satisfy_any" directive was replaced by the "satisfy" directive.
7218 </para> 7218 </para>
7219 </change> 7219 </change>
7220 7220
7221 <change type="workaround"> 7221 <change type="workaround">
7222 <para lang="ru"> 7222 <para lang="ru">
7223 после переконфигурации старые рабочие процесс могли сильно нагружать процессор 7223 п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│я┌п╟я─я▀п╣ я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│ п╪п╬пЁп╩п╦ я│п╦п╩я▄п╫п╬ п╫п╟пЁя─я┐п╤п╟я┌я▄ п©я─п╬я├п╣я│я│п╬я─
7224 при запуске под Linux OpenVZ. 7224 п©я─п╦ п╥п╟п©я┐я│п╨п╣ п©п╬п╢ Linux OpenVZ.
7225 </para> 7225 </para>
7226 <para lang="en"> 7226 <para lang="en">
7227 old worker processes might hog CPU after reconfiguration if they was run 7227 old worker processes might hog CPU after reconfiguration if they was run
7228 under Linux OpenVZ. 7228 under Linux OpenVZ.
7229 </para> 7229 </para>
7230 </change> 7230 </change>
7231 7231
7232 <change type="feature"> 7232 <change type="feature">
7233 <para lang="ru"> 7233 <para lang="ru">
7234 директива min_delete_depth. 7234 п╢п╦я─п╣п╨я┌п╦п╡п╟ min_delete_depth.
7235 </para> 7235 </para>
7236 <para lang="en"> 7236 <para lang="en">
7237 the "min_delete_depth" directive. 7237 the "min_delete_depth" directive.
7238 </para> 7238 </para>
7239 </change> 7239 </change>
7240 7240
7241 <change type="bugfix"> 7241 <change type="bugfix">
7242 <para lang="ru"> 7242 <para lang="ru">
7243 методы COPY и MOVE не работали с одиночными файлами. 7243 п╪п╣я┌п╬п╢я▀ COPY п╦ MOVE п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я│ п╬п╢п╦п╫п╬я┤п╫я▀п╪п╦ я└п╟п╧п╩п╟п╪п╦.
7244 </para> 7244 </para>
7245 <para lang="en"> 7245 <para lang="en">
7246 the COPY and MOVE methods did not work with single files. 7246 the COPY and MOVE methods did not work with single files.
7247 </para> 7247 </para>
7248 </change> 7248 </change>
7249 7249
7250 <change type="bugfix"> 7250 <change type="bugfix">
7251 <para lang="ru"> 7251 <para lang="ru">
7252 модуль ngx_http_gzip_static_module не позволял работать модулю 7252 п╪п╬п╢я┐п╩я▄ ngx_http_gzip_static_module п╫п╣ п©п╬п╥п╡п╬п╩я▐п╩ я─п╟п╠п╬я┌п╟я┌я▄ п╪п╬п╢я┐п╩я▌
7253 ngx_http_dav_module; 7253 ngx_http_dav_module;
7254 ошибка появилась в 0.6.23. 7254 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7255 </para> 7255 </para>
7256 <para lang="en"> 7256 <para lang="en">
7257 the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; 7257 the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work;
7258 the bug had appeared in 0.6.23. 7258 the bug had appeared in 0.6.23.
7259 </para> 7259 </para>
7260 </change> 7260 </change>
7261 7261
7262 <change type="bugfix"> 7262 <change type="bugfix">
7263 <para lang="ru"> 7263 <para lang="ru">
7264 утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 7264 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡ п╡ я─п╣п╤п╦п╪п╣ HTTPS п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╩п╬п╤п╣п╫п╫п╬пЁп╬ accept'п╟.<br/>
7265 Спасибо Ben Maurer. 7265 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7266 </para> 7266 </para>
7267 <para lang="en"> 7267 <para lang="en">
7268 socket leak in HTTPS mode if deferred accept was used.<br/> 7268 socket leak in HTTPS mode if deferred accept was used.<br/>
7269 Thanks to Ben Maurer. 7269 Thanks to Ben Maurer.
7270 </para> 7270 </para>
7271 </change> 7271 </change>
7272 7272
7273 <change type="bugfix"> 7273 <change type="bugfix">
7274 <para lang="ru"> 7274 <para lang="ru">
7275 nginx не собирался без библиотеки PCRE; 7275 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE;
7276 ошибка появилась в 0.6.23. 7276 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7277 </para> 7277 </para>
7278 <para lang="en"> 7278 <para lang="en">
7279 nginx could not be built without PCRE library; 7279 nginx could not be built without PCRE library;
7280 the bug had appeared in 0.6.23. 7280 the bug had appeared in 0.6.23.
7281 </para> 7281 </para>
7285 7285
7286 <changes ver="0.6.24" date="27.12.2007"> 7286 <changes ver="0.6.24" date="27.12.2007">
7287 7287
7288 <change type="bugfix"> 7288 <change type="bugfix">
7289 <para lang="ru"> 7289 <para lang="ru">
7290 при использовании HTTPS в рабочем процессе мог произойти segmentation fault; 7290 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7291 ошибка появилась в 0.6.23. 7291 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.23.
7292 </para> 7292 </para>
7293 <para lang="en"> 7293 <para lang="en">
7294 a segmentation fault might occur in worker process if HTTPS was used; 7294 a segmentation fault might occur in worker process if HTTPS was used;
7295 the bug had appeared in 0.6.23. 7295 the bug had appeared in 0.6.23.
7296 </para> 7296 </para>
7301 7301
7302 <changes ver="0.6.23" date="27.12.2007"> 7302 <changes ver="0.6.23" date="27.12.2007">
7303 7303
7304 <change type="change"> 7304 <change type="change">
7305 <para lang="ru"> 7305 <para lang="ru">
7306 параметр "off" в директиве ssl_session_cache; 7306 п©п╟я─п╟п╪п╣я┌я─ "off" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ssl_session_cache;
7307 теперь этот параметр используется по умолчанию. 7307 я┌п╣п©п╣я─я▄ я█я┌п╬я┌ п©п╟я─п╟п╪п╣я┌я─ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
7308 </para> 7308 </para>
7309 <para lang="en"> 7309 <para lang="en">
7310 the "off" parameter in the "ssl_session_cache" directive; 7310 the "off" parameter in the "ssl_session_cache" directive;
7311 now this is default parameter. 7311 now this is default parameter.
7312 </para> 7312 </para>
7313 </change> 7313 </change>
7314 7314
7315 <change type="change"> 7315 <change type="change">
7316 <para lang="ru"> 7316 <para lang="ru">
7317 директива open_file_cache_retest переименована в open_file_cache_valid. 7317 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_file_cache_retest п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╟ п╡ open_file_cache_valid.
7318 </para> 7318 </para>
7319 <para lang="en"> 7319 <para lang="en">
7320 the "open_file_cache_retest" directive was renamed 7320 the "open_file_cache_retest" directive was renamed
7321 to the "open_file_cache_valid". 7321 to the "open_file_cache_valid".
7322 </para> 7322 </para>
7323 </change> 7323 </change>
7324 7324
7325 <change type="feature"> 7325 <change type="feature">
7326 <para lang="ru"> 7326 <para lang="ru">
7327 директива open_file_cache_min_uses. 7327 п╢п╦я─п╣п╨я┌п╦п╡п╟ open_file_cache_min_uses.
7328 </para> 7328 </para>
7329 <para lang="en"> 7329 <para lang="en">
7330 the "open_file_cache_min_uses" directive. 7330 the "open_file_cache_min_uses" directive.
7331 </para> 7331 </para>
7332 </change> 7332 </change>
7333 7333
7334 <change type="feature"> 7334 <change type="feature">
7335 <para lang="ru"> 7335 <para lang="ru">
7336 модуль ngx_http_gzip_static_module. 7336 п╪п╬п╢я┐п╩я▄ ngx_http_gzip_static_module.
7337 </para> 7337 </para>
7338 <para lang="en"> 7338 <para lang="en">
7339 the ngx_http_gzip_static_module. 7339 the ngx_http_gzip_static_module.
7340 </para> 7340 </para>
7341 </change> 7341 </change>
7342 7342
7343 <change type="feature"> 7343 <change type="feature">
7344 <para lang="ru"> 7344 <para lang="ru">
7345 директива gzip_disable. 7345 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_disable.
7346 </para> 7346 </para>
7347 <para lang="en"> 7347 <para lang="en">
7348 the "gzip_disable" directive. 7348 the "gzip_disable" directive.
7349 </para> 7349 </para>
7350 </change> 7350 </change>
7351 7351
7352 <change type="feature"> 7352 <change type="feature">
7353 <para lang="ru"> 7353 <para lang="ru">
7354 директиву memcached_pass можно использовать внутри блока if. 7354 п╢п╦я─п╣п╨я┌п╦п╡я┐ memcached_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
7355 </para> 7355 </para>
7356 <para lang="en"> 7356 <para lang="en">
7357 the "memcached_pass" directive may be used inside the "if" block. 7357 the "memcached_pass" directive may be used inside the "if" block.
7358 </para> 7358 </para>
7359 </change> 7359 </change>
7360 7360
7361 <change type="bugfix"> 7361 <change type="bugfix">
7362 <para lang="ru"> 7362 <para lang="ru">
7363 если внутри одного location'а использовались директивы "memcached_pass" и "if", 7363 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ location'п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ "memcached_pass" п╦ "if",
7364 то в рабочем процессе происходил segmentation fault. 7364 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7365 </para> 7365 </para>
7366 <para lang="en"> 7366 <para lang="en">
7367 a segmentation fault occurred in worker process, 7367 a segmentation fault occurred in worker process,
7368 if the "memcached_pass" and "if" directives were used in the same location. 7368 if the "memcached_pass" and "if" directives were used in the same location.
7369 </para> 7369 </para>
7370 </change> 7370 </change>
7371 7371
7372 <change type="bugfix"> 7372 <change type="bugfix">
7373 <para lang="ru"> 7373 <para lang="ru">
7374 если при использовании директивы satisfy_any on" были заданы директивы 7374 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ satisfy_any on" п╠я▀п╩п╦ п╥п╟п╢п╟п╫я▀ п╢п╦я─п╣п╨я┌п╦п╡я▀
7375 не всех модулей доступа, то заданные директивы не проверялись. 7375 п╫п╣ п╡я│п╣я┘ п╪п╬п╢я┐п╩п╣п╧ п╢п╬я│я┌я┐п©п╟, я┌п╬ п╥п╟п╢п╟п╫п╫я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╫п╣ п©я─п╬п╡п╣я─я▐п╩п╦я│я▄.
7376 </para> 7376 </para>
7377 <para lang="en"> 7377 <para lang="en">
7378 if a "satisfy_any on" directive was used and not all access and auth modules 7378 if a "satisfy_any on" directive was used and not all access and auth modules
7379 directives were set, then other given access and auth directives 7379 directives were set, then other given access and auth directives
7380 were not tested; 7380 were not tested;
7381 </para> 7381 </para>
7382 </change> 7382 </change>
7383 7383
7384 <change type="bugfix"> 7384 <change type="bugfix">
7385 <para lang="ru"> 7385 <para lang="ru">
7386 параметры, заданные регулярным выражением в директиве valid_referers, 7386 п©п╟я─п╟п╪п╣я┌я─я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers,
7387 не наследовалась с предыдущего уровня. 7387 п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╟я│я▄ я│ п©я─п╣п╢я▀п╢я┐я┴п╣пЁп╬ я┐я─п╬п╡п╫я▐.
7388 </para> 7388 </para>
7389 <para lang="en"> 7389 <para lang="en">
7390 regex parameters in a "valid_referers" directive were not inherited 7390 regex parameters in a "valid_referers" directive were not inherited
7391 from previous level. 7391 from previous level.
7392 </para> 7392 </para>
7393 </change> 7393 </change>
7394 7394
7395 <change type="bugfix"> 7395 <change type="bugfix">
7396 <para lang="ru"> 7396 <para lang="ru">
7397 директива post_action не работала, если запрос завершался с кодом 499. 7397 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╥п╟п╡п╣я─я┬п╟п╩я│я▐ я│ п╨п╬п╢п╬п╪ 499.
7398 </para> 7398 </para>
7399 <para lang="en"> 7399 <para lang="en">
7400 a "post_action" directive did run if a request was completed 7400 a "post_action" directive did run if a request was completed
7401 with 499 status code. 7401 with 499 status code.
7402 </para> 7402 </para>
7403 </change> 7403 </change>
7404 7404
7405 <change type="bugfix"> 7405 <change type="bugfix">
7406 <para lang="ru"> 7406 <para lang="ru">
7407 оптимизация использования 16K буфера для SSL-соединения.<br/> 7407 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ 16K п╠я┐я└п╣я─п╟ п╢п╩я▐ SSL-я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.<br/>
7408 Спасибо Ben Maurer. 7408 п║п©п╟я│п╦п╠п╬ Ben Maurer.
7409 </para> 7409 </para>
7410 <para lang="en"> 7410 <para lang="en">
7411 optimization of 16K buffer usage in a SSL connection.<br/> 7411 optimization of 16K buffer usage in a SSL connection.<br/>
7412 Thanks to Ben Maurer. 7412 Thanks to Ben Maurer.
7413 </para> 7413 </para>
7414 </change> 7414 </change>
7415 7415
7416 <change type="bugfix"> 7416 <change type="bugfix">
7417 <para lang="ru"> 7417 <para lang="ru">
7418 STARTTLS в режиме SMTP не работал.<br/> 7418 STARTTLS п╡ я─п╣п╤п╦п╪п╣ SMTP п╫п╣ я─п╟п╠п╬я┌п╟п╩.<br/>
7419 Спасибо Олегу Мотиенко. 7419 п║п©п╟я│п╦п╠п╬ п·п╩п╣пЁя┐ п°п╬я┌п╦п╣п╫п╨п╬.
7420 </para> 7420 </para>
7421 <para lang="en"> 7421 <para lang="en">
7422 the STARTTLS in SMTP mode did not work.<br/> 7422 the STARTTLS in SMTP mode did not work.<br/>
7423 Thanks to Oleg Motienko. 7423 Thanks to Oleg Motienko.
7424 </para> 7424 </para>
7425 </change> 7425 </change>
7426 7426
7427 <change type="bugfix"> 7427 <change type="bugfix">
7428 <para lang="ru"> 7428 <para lang="ru">
7429 при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 7429 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ HTTPS п╥п╟п©я─п╬я│я▀ п╪п╬пЁп╩п╦ п╥п╟п╡п╣я─я┬п╟я┌я▄я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧ "bad write retry";
7430 ошибка появилась в 0.5.13. 7430 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.13.
7431 </para> 7431 </para>
7432 <para lang="en"> 7432 <para lang="en">
7433 in HTTPS mode requests might fail with the "bad write retry" error; 7433 in HTTPS mode requests might fail with the "bad write retry" error;
7434 the bug had appeared in 0.5.13. 7434 the bug had appeared in 0.5.13.
7435 </para> 7435 </para>
7440 7440
7441 <changes ver="0.6.22" date="19.12.2007"> 7441 <changes ver="0.6.22" date="19.12.2007">
7442 7442
7443 <change type="change"> 7443 <change type="change">
7444 <para lang="ru"> 7444 <para lang="ru">
7445 теперь все методы модуля ngx_http_perl_module 7445 я┌п╣п©п╣я─я▄ п╡я│п╣ п╪п╣я┌п╬п╢я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module
7446 возвращают значения, скопированные в память, выделенную perl'ом. 7446 п╡п╬п╥п╡я─п╟я┴п╟я▌я┌ п╥п╫п╟я┤п╣п╫п╦я▐, я│п╨п╬п©п╦я─п╬п╡п╟п╫п╫я▀п╣ п╡ п©п╟п╪я▐я┌я▄, п╡я▀п╢п╣п╩п╣п╫п╫я┐я▌ perl'п╬п╪.
7447 </para> 7447 </para>
7448 <para lang="en"> 7448 <para lang="en">
7449 now all ngx_http_perl_module methods return values copied to perl's 7449 now all ngx_http_perl_module methods return values copied to perl's
7450 allocated memory. 7450 allocated memory.
7451 </para> 7451 </para>
7452 </change> 7452 </change>
7453 7453
7454 <change type="bugfix"> 7454 <change type="bugfix">
7455 <para lang="ru"> 7455 <para lang="ru">
7456 если nginx был собран с модулем ngx_http_perl_module, 7456 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module,
7457 использовался perl до версии 5.8.6 и perl поддерживал потоки, 7457 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ perl п╢п╬ п╡п╣я─я│п╦п╦ 5.8.6 п╦ perl п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦,
7458 то во время переконфигурации основной процесс аварийно выходил; 7458 я┌п╬ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╟п╡п╟я─п╦п╧п╫п╬ п╡я▀я┘п╬п╢п╦п╩;
7459 ошибка появилась в 0.5.9.<br/> 7459 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.<br/>
7460 Спасибо Борису Жмурову. 7460 п║п©п╟я│п╦п╠п╬ п▒п╬я─п╦я│я┐ п√п╪я┐я─п╬п╡я┐.
7461 </para> 7461 </para>
7462 <para lang="en"> 7462 <para lang="en">
7463 if nginx was built with ngx_http_perl_module, 7463 if nginx was built with ngx_http_perl_module,
7464 the perl before 5.8.6 was used, and perl supported threads, 7464 the perl before 5.8.6 was used, and perl supported threads,
7465 then during reconfiguration the master process aborted; 7465 then during reconfiguration the master process aborted;
7468 </para> 7468 </para>
7469 </change> 7469 </change>
7470 7470
7471 <change type="bugfix"> 7471 <change type="bugfix">
7472 <para lang="ru"> 7472 <para lang="ru">
7473 в методы модуля ngx_http_perl_module 7473 п╡ п╪п╣я┌п╬п╢я▀ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module
7474 могли передаваться неверные результаты выделения в регулярных выражениях. 7474 п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫я▀п╣ я─п╣п╥я┐п╩я▄я┌п╟я┌я▀ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
7475 </para> 7475 </para>
7476 <para lang="en"> 7476 <para lang="en">
7477 the ngx_http_perl_module methods may get invalid values of the regex captures. 7477 the ngx_http_perl_module methods may get invalid values of the regex captures.
7478 </para> 7478 </para>
7479 </change> 7479 </change>
7480 7480
7481 <change type="bugfix"> 7481 <change type="bugfix">
7482 <para lang="ru"> 7482 <para lang="ru">
7483 если метод $r->has_request_body() вызывался для запроса, 7483 п╣я│п╩п╦ п╪п╣я┌п╬п╢ $r->has_request_body() п╡я▀п╥я▀п╡п╟п╩я│я▐ п╢п╩я▐ п╥п╟п©я─п╬я│п╟,
7484 у которого небольшое тело запроса было уже полностью получено, 7484 я┐ п╨п╬я┌п╬я─п╬пЁп╬ п╫п╣п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠я▀п╩п╬ я┐п╤п╣ п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╬п╩я┐я┤п╣п╫п╬,
7485 то в рабочем процессе происходил segmentation fault. 7485 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7486 </para> 7486 </para>
7487 <para lang="en"> 7487 <para lang="en">
7488 a segmentation fault occurred in worker process, 7488 a segmentation fault occurred in worker process,
7489 if the $r->has_request_body() method was called for a request 7489 if the $r->has_request_body() method was called for a request
7490 whose small request body was already received. 7490 whose small request body was already received.
7491 </para> 7491 </para>
7492 </change> 7492 </change>
7493 7493
7494 <change type="bugfix"> 7494 <change type="bugfix">
7495 <para lang="ru"> 7495 <para lang="ru">
7496 large_client_header_buffers не освобождались перед переходом в состояние 7496 large_client_header_buffers п╫п╣ п╬я│п╡п╬п╠п╬п╤п╢п╟п╩п╦я│я▄ п©п╣я─п╣п╢ п©п╣я─п╣я┘п╬п╢п╬п╪ п╡ я│п╬я│я┌п╬я▐п╫п╦п╣
7497 keep-alive.<br/> 7497 keep-alive.<br/>
7498 Спасибо Олександру Штепе. 7498 п║п©п╟я│п╦п╠п╬ п·п╩п╣п╨я│п╟п╫п╢я─я┐ п╗я┌п╣п©п╣.
7499 </para> 7499 </para>
7500 <para lang="en"> 7500 <para lang="en">
7501 large_client_header_buffers did not freed before going to keep-alive state.<br/> 7501 large_client_header_buffers did not freed before going to keep-alive state.<br/>
7502 Thanks to Olexander Shtepa. 7502 Thanks to Olexander Shtepa.
7503 </para> 7503 </para>
7504 </change> 7504 </change>
7505 7505
7506 <change type="bugfix"> 7506 <change type="bugfix">
7507 <para lang="ru"> 7507 <para lang="ru">
7508 в переменной $upstream_addr не записывался последний адрес; 7508 п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $upstream_addr п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ п©п╬я│п╩п╣п╢п╫п╦п╧ п╟п╢я─п╣я│;
7509 ошибка появилась в 0.6.18. 7509 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.18.
7510 </para> 7510 </para>
7511 <para lang="en"> 7511 <para lang="en">
7512 the last address was missed in the $upstream_addr variable; 7512 the last address was missed in the $upstream_addr variable;
7513 the bug had appeared in 0.6.18. 7513 the bug had appeared in 0.6.18.
7514 </para> 7514 </para>
7515 </change> 7515 </change>
7516 7516
7517 <change type="bugfix"> 7517 <change type="bugfix">
7518 <para lang="ru"> 7518 <para lang="ru">
7519 директива fastcgi_catch_stderr не возвращала ошибку; 7519 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_catch_stderr п╫п╣ п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ п╬я┬п╦п╠п╨я┐;
7520 теперь она возвращает ошибку 502, которую можно направить на следующий сервер 7520 я┌п╣п©п╣я─я▄ п╬п╫п╟ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╬я┬п╦п╠п╨я┐ 502, п╨п╬я┌п╬я─я┐я▌ п╪п╬п╤п╫п╬ п╫п╟п©я─п╟п╡п╦я┌я▄ п╫п╟ я│п╩п╣п╢я┐я▌я┴п╦п╧ я│п╣я─п╡п╣я─
7521 с помощью "fastcgi_next_upstream invalid_header". 7521 я│ п©п╬п╪п╬я┴я▄я▌ "fastcgi_next_upstream invalid_header".
7522 </para> 7522 </para>
7523 <para lang="en"> 7523 <para lang="en">
7524 the "fastcgi_catch_stderr" directive did return error code; 7524 the "fastcgi_catch_stderr" directive did return error code;
7525 now it returns 502 code, that can be rerouted to a next server using 7525 now it returns 502 code, that can be rerouted to a next server using
7526 the "fastcgi_next_upstream invalid_header" directive. 7526 the "fastcgi_next_upstream invalid_header" directive.
7527 </para> 7527 </para>
7528 </change> 7528 </change>
7529 7529
7530 <change type="bugfix"> 7530 <change type="bugfix">
7531 <para lang="ru"> 7531 <para lang="ru">
7532 при использовании директивы fastcgi_catch_stderr 7532 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_catch_stderr
7533 в основном процессе происходил segmentation fault; 7533 п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
7534 ошибка появилась в 0.6.10.<br/> 7534 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.10.<br/>
7535 Спасибо Manlio Perillo. 7535 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
7536 </para> 7536 </para>
7537 <para lang="en"> 7537 <para lang="en">
7538 a segmentation fault occurred in master process 7538 a segmentation fault occurred in master process
7539 if the "fastcgi_catch_stderr" directive was used; 7539 if the "fastcgi_catch_stderr" directive was used;
7540 the bug had appeared in 0.6.10.<br/> 7540 the bug had appeared in 0.6.10.<br/>
7547 7547
7548 <changes ver="0.6.21" date="03.12.2007"> 7548 <changes ver="0.6.21" date="03.12.2007">
7549 7549
7550 <change type="change"> 7550 <change type="change">
7551 <para lang="ru"> 7551 <para lang="ru">
7552 если в значениях переменных директивы proxy_pass используются 7552 п╣я│п╩п╦ п╡ п╥п╫п╟я┤п╣п╫п╦я▐я┘ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐
7553 только IP-адреса, то указывать resolver не нужно. 7553 я┌п╬п╩я▄п╨п╬ IP-п╟п╢я─п╣я│п╟, я┌п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ resolver п╫п╣ п╫я┐п╤п╫п╬.
7554 </para> 7554 </para>
7555 <para lang="en"> 7555 <para lang="en">
7556 if variable values used in a "proxy_pass" directive contain IP-addresses only, 7556 if variable values used in a "proxy_pass" directive contain IP-addresses only,
7557 then a "resolver" directive is not mandatory. 7557 then a "resolver" directive is not mandatory.
7558 </para> 7558 </para>
7559 </change> 7559 </change>
7560 7560
7561 <change type="bugfix"> 7561 <change type="bugfix">
7562 <para lang="ru"> 7562 <para lang="ru">
7563 при использовании директивы proxy_pass c URI-частью 7563 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass c URI-я┤п╟я│я┌я▄я▌
7564 в рабочем процессе мог произойти segmentation fault; 7564 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7565 ошибка появилась в 0.6.19. 7565 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.19.
7566 </para> 7566 </para>
7567 <para lang="en"> 7567 <para lang="en">
7568 a segmentation fault might occur in worker process 7568 a segmentation fault might occur in worker process
7569 if a "proxy_pass" directive with URI-part was used; 7569 if a "proxy_pass" directive with URI-part was used;
7570 the bug had appeared in 0.6.19. 7570 the bug had appeared in 0.6.19.
7571 </para> 7571 </para>
7572 </change> 7572 </change>
7573 7573
7574 <change type="bugfix"> 7574 <change type="bugfix">
7575 <para lang="ru"> 7575 <para lang="ru">
7576 если resolver использовался на платформах, не поддерживающих метод kqueue, 7576 п╣я│п╩п╦ resolver п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ п╪п╣я┌п╬п╢ kqueue,
7577 то nginx выдавал alert "name is out of response".<br/> 7577 я┌п╬ nginx п╡я▀п╢п╟п╡п╟п╩ alert "name is out of response".<br/>
7578 Спасибо Андрею Нигматулину. 7578 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
7579 </para> 7579 </para>
7580 <para lang="en"> 7580 <para lang="en">
7581 if resolver was used on platform that does not support kqueue, 7581 if resolver was used on platform that does not support kqueue,
7582 then nginx issued an alert "name is out of response".<br/> 7582 then nginx issued an alert "name is out of response".<br/>
7583 Thanks to Andrei Nigmatulin. 7583 Thanks to Andrei Nigmatulin.
7584 </para> 7584 </para>
7585 </change> 7585 </change>
7586 7586
7587 <change type="bugfix"> 7587 <change type="bugfix">
7588 <para lang="ru"> 7588 <para lang="ru">
7589 При использовании переменной $server_protocol в FastCGI-параметрах 7589 п÷я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_protocol п╡ FastCGI-п©п╟я─п╟п╪п╣я┌я─п╟я┘
7590 и запросе, длина которого была близка к значению директивы 7590 п╦ п╥п╟п©я─п╬я│п╣, п╢п╩п╦п╫п╟ п╨п╬я┌п╬я─п╬пЁп╬ п╠я▀п╩п╟ п╠п╩п╦п╥п╨п╟ п╨ п╥п╫п╟я┤п╣п╫п╦я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀
7591 client_header_buffer_size, 7591 client_header_buffer_size,
7592 nginx выдавал alert "fastcgi: the request record is too big". 7592 nginx п╡я▀п╢п╟п╡п╟п╩ alert "fastcgi: the request record is too big".
7593 </para> 7593 </para>
7594 <para lang="en"> 7594 <para lang="en">
7595 if the $server_protocol was used in FastCGI parameters 7595 if the $server_protocol was used in FastCGI parameters
7596 and a request line length was near to the "client_header_buffer_size" 7596 and a request line length was near to the "client_header_buffer_size"
7597 directive value, 7597 directive value,
7599 </para> 7599 </para>
7600 </change> 7600 </change>
7601 7601
7602 <change type="bugfix"> 7602 <change type="bugfix">
7603 <para lang="ru"> 7603 <para lang="ru">
7604 при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал 7604 п©я─п╦ п╬п╠я▀я┤п╫п╬п╪ п╥п╟п©я─п╬я│п╣ п╡п╣я─я│п╦п╦ HTTP/0.9 п╨ HTTPS я│п╣я─п╡п╣я─я┐ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩
7605 обычный ответ. 7605 п╬п╠я▀я┤п╫я▀п╧ п╬я┌п╡п╣я┌.
7606 </para> 7606 </para>
7607 <para lang="en"> 7607 <para lang="en">
7608 if a plain text HTTP/0.9 version request was made to HTTPS server, 7608 if a plain text HTTP/0.9 version request was made to HTTPS server,
7609 then nginx returned usual response. 7609 then nginx returned usual response.
7610 </para> 7610 </para>
7615 7615
7616 <changes ver="0.6.20" date="28.11.2007"> 7616 <changes ver="0.6.20" date="28.11.2007">
7617 7617
7618 <change type="bugfix"> 7618 <change type="bugfix">
7619 <para lang="ru"> 7619 <para lang="ru">
7620 при использовании директивы proxy_pass c URI-частью 7620 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass c URI-я┤п╟я│я┌я▄я▌
7621 в рабочем процессе мог произойти segmentation fault; 7621 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
7622 ошибка появилась в 0.6.19. 7622 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.19.
7623 </para> 7623 </para>
7624 <para lang="en"> 7624 <para lang="en">
7625 a segmentation fault might occur in worker process 7625 a segmentation fault might occur in worker process
7626 if a "proxy_pass" directive with URI-part was used; 7626 if a "proxy_pass" directive with URI-part was used;
7627 the bug had appeared in 0.6.19. 7627 the bug had appeared in 0.6.19.
7633 7633
7634 <changes ver="0.6.19" date="27.11.2007"> 7634 <changes ver="0.6.19" date="27.11.2007">
7635 7635
7636 <change type="bugfix"> 7636 <change type="bugfix">
7637 <para lang="ru"> 7637 <para lang="ru">
7638 версия 0.6.18 не собиралась. 7638 п╡п╣я─я│п╦я▐ 0.6.18 п╫п╣ я│п╬п╠п╦я─п╟п╩п╟я│я▄.
7639 </para> 7639 </para>
7640 <para lang="en"> 7640 <para lang="en">
7641 the 0.6.18 version could not be built. 7641 the 0.6.18 version could not be built.
7642 </para> 7642 </para>
7643 </change> 7643 </change>
7646 7646
7647 <changes ver="0.6.18" date="27.11.2007"> 7647 <changes ver="0.6.18" date="27.11.2007">
7648 7648
7649 <change type="change"> 7649 <change type="change">
7650 <para lang="ru"> 7650 <para lang="ru">
7651 теперь модуль ngx_http_userid_module в поле куки с номером процесса 7651 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_userid_module п╡ п©п╬п╩п╣ п╨я┐п╨п╦ я│ п╫п╬п╪п╣я─п╬п╪ п©я─п╬я├п╣я│я│п╟
7652 добавляет микросекунды на время старта. 7652 п╢п╬п╠п╟п╡п╩я▐п╣я┌ п╪п╦п╨я─п╬я│п╣п╨я┐п╫п╢я▀ п╫п╟ п╡я─п╣п╪я▐ я│я┌п╟я─я┌п╟.
7653 </para> 7653 </para>
7654 <para lang="en"> 7654 <para lang="en">
7655 now the ngx_http_userid_module adds start time microseconds 7655 now the ngx_http_userid_module adds start time microseconds
7656 to the cookie field contains a pid value. 7656 to the cookie field contains a pid value.
7657 </para> 7657 </para>
7658 </change> 7658 </change>
7659 7659
7660 <change type="change"> 7660 <change type="change">
7661 <para lang="ru"> 7661 <para lang="ru">
7662 в error_log теперь записывается полная строка запроса вместо только URI. 7662 п╡ error_log я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п©п╬п╩п╫п╟я▐ я│я┌я─п╬п╨п╟ п╥п╟п©я─п╬я│п╟ п╡п╪п╣я│я┌п╬ я┌п╬п╩я▄п╨п╬ URI.
7663 </para> 7663 </para>
7664 <para lang="en"> 7664 <para lang="en">
7665 now the full request line instead of URI only is written to error_log. 7665 now the full request line instead of URI only is written to error_log.
7666 </para> 7666 </para>
7667 </change> 7667 </change>
7668 7668
7669 <change type="feature"> 7669 <change type="feature">
7670 <para lang="ru"> 7670 <para lang="ru">
7671 директива proxy_pass поддерживает переменные. 7671 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
7672 </para> 7672 </para>
7673 <para lang="en"> 7673 <para lang="en">
7674 variables support in the "proxy_pass" directive. 7674 variables support in the "proxy_pass" directive.
7675 </para> 7675 </para>
7676 </change> 7676 </change>
7677 7677
7678 <change type="feature"> 7678 <change type="feature">
7679 <para lang="ru"> 7679 <para lang="ru">
7680 директивы resolver и resolver_timeout. 7680 п╢п╦я─п╣п╨я┌п╦п╡я▀ resolver п╦ resolver_timeout.
7681 </para> 7681 </para>
7682 <para lang="en"> 7682 <para lang="en">
7683 the "resolver" and "resolver_timeout" directives. 7683 the "resolver" and "resolver_timeout" directives.
7684 </para> 7684 </para>
7685 </change> 7685 </change>
7686 7686
7687 <change type="feature"> 7687 <change type="feature">
7688 <para lang="ru"> 7688 <para lang="ru">
7689 теперь директива "add_header last-modified ''" удаляет в заголовке ответа 7689 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header last-modified ''" я┐п╢п╟п╩я▐п╣я┌ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟
7690 строку "Last-Modified". 7690 я│я┌я─п╬п╨я┐ "Last-Modified".
7691 </para> 7691 </para>
7692 <para lang="en"> 7692 <para lang="en">
7693 now the directive "add_header last-modified ''" deletes a "Last-Modified" 7693 now the directive "add_header last-modified ''" deletes a "Last-Modified"
7694 response header line. 7694 response header line.
7695 </para> 7695 </para>
7696 </change> 7696 </change>
7697 7697
7698 <change type="bugfix"> 7698 <change type="bugfix">
7699 <para lang="ru"> 7699 <para lang="ru">
7700 директива limit_rate не позволяла передавать на полной скорости, 7700 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п╫п╣ п©п╬п╥п╡п╬п╩я▐п╩п╟ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ п╫п╟ п©п╬п╩п╫п╬п╧ я│п╨п╬я─п╬я│я┌п╦,
7701 даже если был указан очень большой лимит. 7701 п╢п╟п╤п╣ п╣я│п╩п╦ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╬я┤п╣п╫я▄ п╠п╬п╩я▄я┬п╬п╧ п╩п╦п╪п╦я┌.
7702 </para> 7702 </para>
7703 <para lang="en"> 7703 <para lang="en">
7704 the "limit_rate" directive did not allow to use full throughput, 7704 the "limit_rate" directive did not allow to use full throughput,
7705 even if limit value was very high. 7705 even if limit value was very high.
7706 </para> 7706 </para>
7711 7711
7712 <changes ver="0.6.17" date="15.11.2007"> 7712 <changes ver="0.6.17" date="15.11.2007">
7713 7713
7714 <change type="feature"> 7714 <change type="feature">
7715 <para lang="ru"> 7715 <para lang="ru">
7716 поддержка строки "If-Range" в заголовке запроса.<br/> 7716 п©п╬п╢п╢п╣я─п╤п╨п╟ я│я┌я─п╬п╨п╦ "If-Range" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.<br/>
7717 Спасибо Александру Инюхину. 7717 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п≤п╫я▌я┘п╦п╫я┐.
7718 </para> 7718 </para>
7719 <para lang="en"> 7719 <para lang="en">
7720 the "If-Range" request header line support.<br/> 7720 the "If-Range" request header line support.<br/>
7721 Thanks to Alexander V. Inyukhin. 7721 Thanks to Alexander V. Inyukhin.
7722 </para> 7722 </para>
7723 </change> 7723 </change>
7724 7724
7725 <change type="bugfix"> 7725 <change type="bugfix">
7726 <para lang="ru"> 7726 <para lang="ru">
7727 при использовании директивы msie_refresh повторно экранировались 7727 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ msie_refresh п©п╬п╡я┌п╬я─п╫п╬ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩п╦я│я▄
7728 уже экранированные символы; 7728 я┐п╤п╣ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀;
7729 ошибка появилась в 0.6.4. 7729 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.4.
7730 </para> 7730 </para>
7731 <para lang="en"> 7731 <para lang="en">
7732 URL double escaping in a redirect of the "msie_refresh" directive; 7732 URL double escaping in a redirect of the "msie_refresh" directive;
7733 the bug had appeared in 0.6.4. 7733 the bug had appeared in 0.6.4.
7734 </para> 7734 </para>
7735 </change> 7735 </change>
7736 7736
7737 <change type="bugfix"> 7737 <change type="bugfix">
7738 <para lang="ru"> 7738 <para lang="ru">
7739 директива autoindex не работала при использовании "alias /". 7739 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "alias /".
7740 </para> 7740 </para>
7741 <para lang="en"> 7741 <para lang="en">
7742 the "autoindex" directive did not work with the "alias /" directive. 7742 the "autoindex" directive did not work with the "alias /" directive.
7743 </para> 7743 </para>
7744 </change> 7744 </change>
7745 7745
7746 <change type="bugfix"> 7746 <change type="bugfix">
7747 <para lang="ru"> 7747 <para lang="ru">
7748 при использовании подзапросов 7748 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡
7749 в рабочем процессе мог произойти segmentation fault. 7749 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
7750 </para> 7750 </para>
7751 <para lang="en"> 7751 <para lang="en">
7752 a segmentation fault might occur in worker process if subrequests were used. 7752 a segmentation fault might occur in worker process if subrequests were used.
7753 </para> 7753 </para>
7754 </change> 7754 </change>
7755 7755
7756 <change type="bugfix"> 7756 <change type="bugfix">
7757 <para lang="ru"> 7757 <para lang="ru">
7758 при использовании SSL и gzip большие ответы могли передаваться не полностью. 7758 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╦ gzip п╠п╬п╩я▄я┬п╦п╣ п╬я┌п╡п╣я┌я▀ п╪п╬пЁп╩п╦ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
7759 </para> 7759 </para>
7760 <para lang="en"> 7760 <para lang="en">
7761 the big responses may be transferred truncated if SSL and gzip were used. 7761 the big responses may be transferred truncated if SSL and gzip were used.
7762 </para> 7762 </para>
7763 </change> 7763 </change>
7764 7764
7765 <change type="bugfix"> 7765 <change type="bugfix">
7766 <para lang="ru"> 7766 <para lang="ru">
7767 если ответ проксированного сервера был версии HTTP/0.9, 7767 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╠я▀п╩ п╡п╣я─я│п╦п╦ HTTP/0.9,
7768 то переменная $status была равна 0. 7768 я┌п╬ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $status п╠я▀п╩п╟ я─п╟п╡п╫п╟ 0.
7769 </para> 7769 </para>
7770 <para lang="en"> 7770 <para lang="en">
7771 the $status variable was equal to 0 if a proxied server returned response 7771 the $status variable was equal to 0 if a proxied server returned response
7772 in HTTP/0.9 version. 7772 in HTTP/0.9 version.
7773 </para> 7773 </para>
7778 7778
7779 <changes ver="0.6.16" date="29.10.2007"> 7779 <changes ver="0.6.16" date="29.10.2007">
7780 7780
7781 <change type="change"> 7781 <change type="change">
7782 <para lang="ru"> 7782 <para lang="ru">
7783 теперь на Linux используется uname(2) вместо procfs.<br/> 7783 я┌п╣п©п╣я─я▄ п╫п╟ Linux п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ uname(2) п╡п╪п╣я│я┌п╬ procfs.<br/>
7784 Спасибо Илье Новикову. 7784 п║п©п╟я│п╦п╠п╬ п≤п╩я▄п╣ п²п╬п╡п╦п╨п╬п╡я┐.
7785 </para> 7785 </para>
7786 <para lang="en"> 7786 <para lang="en">
7787 now the uname(2) is used on Linux instead of procfs.<br/> 7787 now the uname(2) is used on Linux instead of procfs.<br/>
7788 Thanks to Ilya Novikov. 7788 Thanks to Ilya Novikov.
7789 </para> 7789 </para>
7790 </change> 7790 </change>
7791 7791
7792 <change type="bugfix"> 7792 <change type="bugfix">
7793 <para lang="ru"> 7793 <para lang="ru">
7794 если в директиве error_page использовался символ "?", то он экранировался 7794 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ error_page п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ "?", я┌п╬ п╬п╫ я█п╨я─п╟п╫п╦я─п╬п╡п╟п╩я│я▐
7795 при проксировании запроса; 7795 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╥п╟п©я─п╬я│п╟;
7796 ошибка появилась в 0.6.11. 7796 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.11.
7797 </para> 7797 </para>
7798 <para lang="en"> 7798 <para lang="en">
7799 if the "?" character was in a "error_page" directive, then it was escaped 7799 if the "?" character was in a "error_page" directive, then it was escaped
7800 in a proxied request; 7800 in a proxied request;
7801 the bug had appeared in 0.6.11. 7801 the bug had appeared in 0.6.11.
7802 </para> 7802 </para>
7803 </change> 7803 </change>
7804 7804
7805 <change type="bugfix"> 7805 <change type="bugfix">
7806 <para lang="ru"> 7806 <para lang="ru">
7807 совместимость с mget. 7807 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ mget.
7808 </para> 7808 </para>
7809 <para lang="en"> 7809 <para lang="en">
7810 compatibility with mget. 7810 compatibility with mget.
7811 </para> 7811 </para>
7812 </change> 7812 </change>
7816 7816
7817 <changes ver="0.6.15" date="22.10.2007"> 7817 <changes ver="0.6.15" date="22.10.2007">
7818 7818
7819 <change type="feature"> 7819 <change type="feature">
7820 <para lang="ru"> 7820 <para lang="ru">
7821 совместимость с Cygwin.<br/> 7821 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ Cygwin.<br/>
7822 Спасибо Владимиру Кутакову. 7822 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п я┐я┌п╟п╨п╬п╡я┐.
7823 </para> 7823 </para>
7824 <para lang="en"> 7824 <para lang="en">
7825 Cygwin compatibility.<br/> 7825 Cygwin compatibility.<br/>
7826 Thanks to Vladimir Kutakov. 7826 Thanks to Vladimir Kutakov.
7827 </para> 7827 </para>
7828 </change> 7828 </change>
7829 7829
7830 <change type="feature"> 7830 <change type="feature">
7831 <para lang="ru"> 7831 <para lang="ru">
7832 директива merge_slashes. 7832 п╢п╦я─п╣п╨я┌п╦п╡п╟ merge_slashes.
7833 </para> 7833 </para>
7834 <para lang="en"> 7834 <para lang="en">
7835 the "merge_slashes" directive. 7835 the "merge_slashes" directive.
7836 </para> 7836 </para>
7837 </change> 7837 </change>
7838 7838
7839 <change type="feature"> 7839 <change type="feature">
7840 <para lang="ru"> 7840 <para lang="ru">
7841 директива gzip_vary. 7841 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_vary.
7842 </para> 7842 </para>
7843 <para lang="en"> 7843 <para lang="en">
7844 the "gzip_vary" directive. 7844 the "gzip_vary" directive.
7845 </para> 7845 </para>
7846 </change> 7846 </change>
7847 7847
7848 <change type="feature"> 7848 <change type="feature">
7849 <para lang="ru"> 7849 <para lang="ru">
7850 директива server_tokens. 7850 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_tokens.
7851 </para> 7851 </para>
7852 <para lang="en"> 7852 <para lang="en">
7853 the "server_tokens" directive. 7853 the "server_tokens" directive.
7854 </para> 7854 </para>
7855 </change> 7855 </change>
7856 7856
7857 <change type="bugfix"> 7857 <change type="bugfix">
7858 <para lang="ru"> 7858 <para lang="ru">
7859 nginx не раскодировал URI в команде SSI include. 7859 nginx п╫п╣ я─п╟я│п╨п╬п╢п╦я─п╬п╡п╟п╩ URI п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
7860 </para> 7860 </para>
7861 <para lang="en"> 7861 <para lang="en">
7862 nginx did not unescape URI in the "include" SSI command. 7862 nginx did not unescape URI in the "include" SSI command.
7863 </para> 7863 </para>
7864 </change> 7864 </change>
7865 7865
7866 <change type="bugfix"> 7866 <change type="bugfix">
7867 <para lang="ru"> 7867 <para lang="ru">
7868 при использовании переменной в директивах charset или source_charset 7868 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ charset п╦п╩п╦ source_charset
7869 на старте или во время переконфигурации происходил segmentation fault, 7869 п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
7870 </para> 7870 </para>
7871 <para lang="en"> 7871 <para lang="en">
7872 the segmentation fault was occurred on start or while reconfiguration 7872 the segmentation fault was occurred on start or while reconfiguration
7873 if variable was used in the "charset" or "source_charset" directives. 7873 if variable was used in the "charset" or "source_charset" directives.
7874 </para> 7874 </para>
7875 </change> 7875 </change>
7876 7876
7877 <change type="bugfix"> 7877 <change type="bugfix">
7878 <para lang="ru"> 7878 <para lang="ru">
7879 nginx возвращал ошибку 400 на запросы вида 7879 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 400 п╫п╟ п╥п╟п©я─п╬я│я▀ п╡п╦п╢п╟
7880 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 7880 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
7881 Спасибо James Oakley. 7881 п║п©п╟я│п╦п╠п╬ James Oakley.
7882 </para> 7882 </para>
7883 <para lang="en"> 7883 <para lang="en">
7884 nginx returned the 400 response on requests like 7884 nginx returned the 400 response on requests like
7885 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 7885 <nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/>
7886 Thanks to James Oakley. 7886 Thanks to James Oakley.
7887 </para> 7887 </para>
7888 </change> 7888 </change>
7889 7889
7890 <change type="bugfix"> 7890 <change type="bugfix">
7891 <para lang="ru"> 7891 <para lang="ru">
7892 после перенаправления запроса с телом запроса с помощью директивы 7892 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟ я│ я┌п╣п╩п╬п╪ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀
7893 error_page nginx пытался снова прочитать тело запроса; 7893 error_page nginx п©я▀я┌п╟п╩я│я▐ я│п╫п╬п╡п╟ п©я─п╬я┤п╦я┌п╟я┌я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟;
7894 ошибка появилась в 0.6.7. 7894 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
7895 </para> 7895 </para>
7896 <para lang="en"> 7896 <para lang="en">
7897 if request with request body was redirected using the "error_page" directive, 7897 if request with request body was redirected using the "error_page" directive,
7898 then nginx tried to read the request body again; 7898 then nginx tried to read the request body again;
7899 the bug had appeared in 0.6.7. 7899 the bug had appeared in 0.6.7.
7900 </para> 7900 </para>
7901 </change> 7901 </change>
7902 7902
7903 <change type="bugfix"> 7903 <change type="bugfix">
7904 <para lang="ru"> 7904 <para lang="ru">
7905 в рабочем процессе происходил segmentation fault, если у сервера, 7905 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ я┐ я│п╣я─п╡п╣я─п╟,
7906 обрабатывающему запрос, не был явно определён server_name; 7906 п╬п╠я─п╟п╠п╟я┌я▀п╡п╟я▌я┴п╣п╪я┐ п╥п╟п©я─п╬я│, п╫п╣ п╠я▀п╩ я▐п╡п╫п╬ п╬п©я─п╣п╢п╣п╩я▒п╫ server_name;
7907 ошибка появилась в 0.6.7. 7907 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
7908 </para> 7908 </para>
7909 <para lang="en"> 7909 <para lang="en">
7910 a segmentation fault occurred in worker process 7910 a segmentation fault occurred in worker process
7911 if no server_name was explicitly defined for server processing request; 7911 if no server_name was explicitly defined for server processing request;
7912 the bug had appeared in 0.6.7. 7912 the bug had appeared in 0.6.7.
7918 7918
7919 <changes ver="0.6.14" date="15.10.2007"> 7919 <changes ver="0.6.14" date="15.10.2007">
7920 7920
7921 <change type="change"> 7921 <change type="change">
7922 <para lang="ru"> 7922 <para lang="ru">
7923 теперь по умолчанию команда SSI echo использует кодирование entity. 7923 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╨п╬п╪п╟п╫п╢п╟ SSI echo п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╣ entity.
7924 </para> 7924 </para>
7925 <para lang="en"> 7925 <para lang="en">
7926 now by default the "echo" SSI command uses entity encoding. 7926 now by default the "echo" SSI command uses entity encoding.
7927 </para> 7927 </para>
7928 </change> 7928 </change>
7929 7929
7930 <change type="feature"> 7930 <change type="feature">
7931 <para lang="ru"> 7931 <para lang="ru">
7932 параметр encoding в команде SSI echo. 7932 п©п╟я─п╟п╪п╣я┌я─ encoding п╡ п╨п╬п╪п╟п╫п╢п╣ SSI echo.
7933 </para> 7933 </para>
7934 <para lang="en"> 7934 <para lang="en">
7935 the "encoding" parameter in the "echo" SSI command. 7935 the "encoding" parameter in the "echo" SSI command.
7936 </para> 7936 </para>
7937 </change> 7937 </change>
7938 7938
7939 <change type="feature"> 7939 <change type="feature">
7940 <para lang="ru"> 7940 <para lang="ru">
7941 директиву access_log можно использовать внутри блока limit_except. 7941 п╢п╦я─п╣п╨я┌п╦п╡я┐ access_log п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
7942 </para> 7942 </para>
7943 <para lang="en"> 7943 <para lang="en">
7944 the "access_log" directive may be used inside the "limit_except" block. 7944 the "access_log" directive may be used inside the "limit_except" block.
7945 </para> 7945 </para>
7946 </change> 7946 </change>
7947 7947
7948 <change type="bugfix"> 7948 <change type="bugfix">
7949 <para lang="ru"> 7949 <para lang="ru">
7950 если все сервера апстрима оказывались недоступными, 7950 п╣я│п╩п╦ п╡я│п╣ я│п╣я─п╡п╣я─п╟ п╟п©я│я┌я─п╦п╪п╟ п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄ п╫п╣п╢п╬я│я┌я┐п©п╫я▀п╪п╦,
7951 то до восстановления работоспособности 7951 я┌п╬ п╢п╬ п╡п╬я│я│я┌п╟п╫п╬п╡п╩п╣п╫п╦я▐ я─п╟п╠п╬я┌п╬я│п©п╬я│п╬п╠п╫п╬я│я┌п╦
7952 у всех серверов вес становился равным одному; 7952 я┐ п╡я│п╣я┘ я│п╣я─п╡п╣я─п╬п╡ п╡п╣я│ я│я┌п╟п╫п╬п╡п╦п╩я│я▐ я─п╟п╡п╫я▀п╪ п╬п╢п╫п╬п╪я┐;
7953 ошибка появилась в 0.6.6. 7953 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
7954 </para> 7954 </para>
7955 <para lang="en"> 7955 <para lang="en">
7956 if all upstream servers were failed, then all servers had got weight 7956 if all upstream servers were failed, then all servers had got weight
7957 the was equal one until servers became alive; 7957 the was equal one until servers became alive;
7958 the bug had appeared in 0.6.6. 7958 the bug had appeared in 0.6.6.
7959 </para> 7959 </para>
7960 </change> 7960 </change>
7961 7961
7962 <change type="bugfix"> 7962 <change type="bugfix">
7963 <para lang="ru"> 7963 <para lang="ru">
7964 при использовании переменных $date_local и $date_gmt вне модуля 7964 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ $date_local п╦ $date_gmt п╡п╫п╣ п╪п╬п╢я┐п╩я▐
7965 ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault. 7965 ngx_http_ssi_filter_module п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
7966 </para> 7966 </para>
7967 <para lang="en"> 7967 <para lang="en">
7968 a segmentation fault occurred in worker process 7968 a segmentation fault occurred in worker process
7969 if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. 7969 if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module.
7970 </para> 7970 </para>
7971 </change> 7971 </change>
7972 7972
7973 <change type="bugfix"> 7973 <change type="bugfix">
7974 <para lang="ru"> 7974 <para lang="ru">
7975 при использовании включённом отладочном логе 7975 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ п╬я┌п╩п╟п╢п╬я┤п╫п╬п╪ п╩п╬пЁп╣
7976 в рабочем процессе мог произойти segmentation fault.<br/> 7976 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
7977 Спасибо Андрею Нигматулину. 7977 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
7978 </para> 7978 </para>
7979 <para lang="en"> 7979 <para lang="en">
7980 a segmentation fault might occur in worker process 7980 a segmentation fault might occur in worker process
7981 if debug log was enabled.<br/> 7981 if debug log was enabled.<br/>
7982 Thanks to Andrei Nigmatulin. 7982 Thanks to Andrei Nigmatulin.
7983 </para> 7983 </para>
7984 </change> 7984 </change>
7985 7985
7986 <change type="bugfix"> 7986 <change type="bugfix">
7987 <para lang="ru"> 7987 <para lang="ru">
7988 ngx_http_memcached_module не устанавливал $upstream_response_time.<br/> 7988 ngx_http_memcached_module п╫п╣ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩ $upstream_response_time.<br/>
7989 Спасибо Максиму Дунину. 7989 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
7990 </para> 7990 </para>
7991 <para lang="en"> 7991 <para lang="en">
7992 ngx_http_memcached_module did not set $upstream_response_time.<br/> 7992 ngx_http_memcached_module did not set $upstream_response_time.<br/>
7993 Thanks to Maxim Dounin. 7993 Thanks to Maxim Dounin.
7994 </para> 7994 </para>
7995 </change> 7995 </change>
7996 7996
7997 <change type="bugfix"> 7997 <change type="bugfix">
7998 <para lang="ru"> 7998 <para lang="ru">
7999 рабочий процесс мог зациклиться при использовании memcached. 7999 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ memcached.
8000 </para> 8000 </para>
8001 <para lang="en"> 8001 <para lang="en">
8002 a worker process may got caught in an endless loop, if the memcached was used. 8002 a worker process may got caught in an endless loop, if the memcached was used.
8003 </para> 8003 </para>
8004 </change> 8004 </change>
8005 8005
8006 <change type="bugfix"> 8006 <change type="bugfix">
8007 <para lang="ru"> 8007 <para lang="ru">
8008 nginx распознавал параметры "close" и "keep-alive" в строке "Connection" 8008 nginx я─п╟я│п©п╬п╥п╫п╟п╡п╟п╩ п©п╟я─п╟п╪п╣я┌я─я▀ "close" п╦ "keep-alive" п╡ я│я┌я─п╬п╨п╣ "Connection"
8009 в заголовке запроса только, если они были в нижнем регистре; 8009 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟ я┌п╬п╩я▄п╨п╬, п╣я│п╩п╦ п╬п╫п╦ п╠я▀п╩п╦ п╡ п╫п╦п╤п╫п╣п╪ я─п╣пЁп╦я│я┌я─п╣;
8010 ошибка появилась в 0.6.11. 8010 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.11.
8011 </para> 8011 </para>
8012 <para lang="en"> 8012 <para lang="en">
8013 nginx supported low case only "close" and "keep-alive" values 8013 nginx supported low case only "close" and "keep-alive" values
8014 in the "Connection" request header line; 8014 in the "Connection" request header line;
8015 the bug had appeared in 0.6.11. 8015 the bug had appeared in 0.6.11.
8016 </para> 8016 </para>
8017 </change> 8017 </change>
8018 8018
8019 <change type="bugfix"> 8019 <change type="bugfix">
8020 <para lang="ru"> 8020 <para lang="ru">
8021 sub_filter не работал с пустой строкой замены. 8021 sub_filter п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п©я┐я│я┌п╬п╧ я│я┌я─п╬п╨п╬п╧ п╥п╟п╪п╣п╫я▀.
8022 </para> 8022 </para>
8023 <para lang="en"> 8023 <para lang="en">
8024 sub_filter did not work with empty substitution. 8024 sub_filter did not work with empty substitution.
8025 </para> 8025 </para>
8026 </change> 8026 </change>
8027 8027
8028 <change type="bugfix"> 8028 <change type="bugfix">
8029 <para lang="ru"> 8029 <para lang="ru">
8030 в парсинге sub_filter. 8030 п╡ п©п╟я─я│п╦п╫пЁп╣ sub_filter.
8031 </para> 8031 </para>
8032 <para lang="en"> 8032 <para lang="en">
8033 in sub_filter parsing. 8033 in sub_filter parsing.
8034 </para> 8034 </para>
8035 </change> 8035 </change>
8039 8039
8040 <changes ver="0.6.13" date="24.09.2007"> 8040 <changes ver="0.6.13" date="24.09.2007">
8041 8041
8042 <change type="bugfix"> 8042 <change type="bugfix">
8043 <para lang="ru"> 8043 <para lang="ru">
8044 nginx не закрывал файл каталога для запроса HEAD, 8044 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я└п╟п╧п╩ п╨п╟я┌п╟п╩п╬пЁп╟ п╢п╩я▐ п╥п╟п©я─п╬я│п╟ HEAD,
8045 если использовался autoindex<br/> 8045 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ autoindex<br/>
8046 Спасибо Arkadiusz Patyk. 8046 п║п©п╟я│п╦п╠п╬ Arkadiusz Patyk.
8047 </para> 8047 </para>
8048 <para lang="en"> 8048 <para lang="en">
8049 nginx did not close directory file on HEAD request if autoindex was used.<br/> 8049 nginx did not close directory file on HEAD request if autoindex was used.<br/>
8050 Thanks to Arkadiusz Patyk. 8050 Thanks to Arkadiusz Patyk.
8051 </para> 8051 </para>
8056 8056
8057 <changes ver="0.6.12" date="21.09.2007"> 8057 <changes ver="0.6.12" date="21.09.2007">
8058 8058
8059 <change type="change"> 8059 <change type="change">
8060 <para lang="ru"> 8060 <para lang="ru">
8061 почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp. 8061 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ я─п╟п╥п╢п╣п╩я▒п╫ п╫п╟ я┌я─п╦ п╪п╬п╢я┐п╩я▐: pop3, imap п╦ smtp.
8062 </para> 8062 </para>
8063 <para lang="en"> 8063 <para lang="en">
8064 mail proxy was split on three modules: pop3, imap and smtp. 8064 mail proxy was split on three modules: pop3, imap and smtp.
8065 </para> 8065 </para>
8066 </change> 8066 </change>
8067 8067
8068 <change type="feature"> 8068 <change type="feature">
8069 <para lang="ru"> 8069 <para lang="ru">
8070 параметры конфигурации --without-mail_pop3_module, 8070 п©п╟я─п╟п╪п╣я┌я─я▀ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --without-mail_pop3_module,
8071 --without-mail_imap_module и --without-mail_smtp_module. 8071 --without-mail_imap_module п╦ --without-mail_smtp_module.
8072 </para> 8072 </para>
8073 <para lang="en"> 8073 <para lang="en">
8074 the --without-mail_pop3_module, --without-mail_imap_module, 8074 the --without-mail_pop3_module, --without-mail_imap_module,
8075 and --without-mail_smtp_module configuration parameters. 8075 and --without-mail_smtp_module configuration parameters.
8076 </para> 8076 </para>
8077 </change> 8077 </change>
8078 8078
8079 <change type="feature"> 8079 <change type="feature">
8080 <para lang="ru"> 8080 <para lang="ru">
8081 директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module. 8081 п╢п╦я─п╣п╨я┌п╦п╡я▀ smtp_greeting_delay п╦ smtp_client_buffer п╪п╬п╢я┐п╩я▐ ngx_mail_smtp_module.
8082 </para> 8082 </para>
8083 <para lang="en"> 8083 <para lang="en">
8084 the "smtp_greeting_delay" and "smtp_client_buffer" directives 8084 the "smtp_greeting_delay" and "smtp_client_buffer" directives
8085 of the ngx_mail_smtp_module. 8085 of the ngx_mail_smtp_module.
8086 </para> 8086 </para>
8087 </change> 8087 </change>
8088 8088
8089 <change type="bugfix"> 8089 <change type="bugfix">
8090 <para lang="ru"> 8090 <para lang="ru">
8091 wildcard в конце имени сервера не работали; 8091 wildcard п╡ п╨п╬п╫я├п╣ п╦п╪п╣п╫п╦ я│п╣я─п╡п╣я─п╟ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
8092 ошибка появилась в 0.6.9. 8092 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.9.
8093 </para> 8093 </para>
8094 <para lang="en"> 8094 <para lang="en">
8095 the trailing wildcards did not work; 8095 the trailing wildcards did not work;
8096 the bug had appeared in 0.6.9. 8096 the bug had appeared in 0.6.9.
8097 </para> 8097 </para>
8098 </change> 8098 </change>
8099 8099
8100 <change type="bugfix"> 8100 <change type="bugfix">
8101 <para lang="ru"> 8101 <para lang="ru">
8102 при использовании разделяемой библиотеки PCRE, 8102 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╟п╥п╢п╣п╩я▐п╣п╪п╬п╧ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE,
8103 расположенной в нестандартном месте, nginx не запускался на Solaris. 8103 я─п╟я│п©п╬п╩п╬п╤п╣п╫п╫п╬п╧ п╡ п╫п╣я│я┌п╟п╫п╢п╟я─я┌п╫п╬п╪ п╪п╣я│я┌п╣, nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ Solaris.
8104 </para> 8104 </para>
8105 <para lang="en"> 8105 <para lang="en">
8106 nginx could not start on Solaris if the shared PCRE library located 8106 nginx could not start on Solaris if the shared PCRE library located
8107 in non-standard place was used. 8107 in non-standard place was used.
8108 </para> 8108 </para>
8109 </change> 8109 </change>
8110 8110
8111 <change type="bugfix"> 8111 <change type="bugfix">
8112 <para lang="ru"> 8112 <para lang="ru">
8113 директивы proxy_hide_header и fastcgi_hide_header не скрывали 8113 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_hide_header п╦ fastcgi_hide_header п╫п╣ я│п╨я─я▀п╡п╟п╩п╦
8114 строки заголовка ответа с именем больше 32 символов.<br/> 8114 я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ я│ п╦п╪п╣п╫п╣п╪ п╠п╬п╩я▄я┬п╣ 32 я│п╦п╪п╡п╬п╩п╬п╡.<br/>
8115 Спасибо Manlio Perillo. 8115 п║п©п╟я│п╦п╠п╬ Manlio Perillo.
8116 </para> 8116 </para>
8117 <para lang="en"> 8117 <para lang="en">
8118 the "proxy_hide_header" and "fastcgi_hide_header" directives did not 8118 the "proxy_hide_header" and "fastcgi_hide_header" directives did not
8119 hide response header lines whose name was longer than 32 characters.<br/> 8119 hide response header lines whose name was longer than 32 characters.<br/>
8120 Thanks to Manlio Perillo. 8120 Thanks to Manlio Perillo.
8126 8126
8127 <changes ver="0.6.11" date="11.09.2007"> 8127 <changes ver="0.6.11" date="11.09.2007">
8128 8128
8129 <change type="bugfix"> 8129 <change type="bugfix">
8130 <para lang="ru"> 8130 <para lang="ru">
8131 счётчик активных соединений всегда рос при использовании почтового 8131 я│я┤я▒я┌я┤п╦п╨ п╟п╨я┌п╦п╡п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧ п╡я│п╣пЁп╢п╟ я─п╬я│ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬
8132 прокси-сервера. 8132 п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟.
8133 </para> 8133 </para>
8134 <para lang="en"> 8134 <para lang="en">
8135 active connection counter always increased if mail proxy was used. 8135 active connection counter always increased if mail proxy was used.
8136 </para> 8136 </para>
8137 </change> 8137 </change>
8138 8138
8139 <change type="bugfix"> 8139 <change type="bugfix">
8140 <para lang="ru"> 8140 <para lang="ru">
8141 если бэкенд возвращал только заголовок ответа при небуферизированном 8141 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п╡п╬п╥п╡я─п╟я┴п╟п╩ я┌п╬п╩я▄п╨п╬ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п©я─п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫п╬п╪
8142 проксировании, то nginx закрывал соединение с бэкендом по таймауту. 8142 п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╠я█п╨п╣п╫п╢п╬п╪ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
8143 </para> 8143 </para>
8144 <para lang="en"> 8144 <para lang="en">
8145 if backend returned response header only using non-buffered proxy, 8145 if backend returned response header only using non-buffered proxy,
8146 then nginx closed backend connection on timeout. 8146 then nginx closed backend connection on timeout.
8147 </para> 8147 </para>
8148 </change> 8148 </change>
8149 8149
8150 <change type="bugfix"> 8150 <change type="bugfix">
8151 <para lang="ru"> 8151 <para lang="ru">
8152 nginx не поддерживал несколько строк "Connection" в заголовке запроса. 8152 nginx п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╫п╣я│п╨п╬п╩я▄п╨п╬ я│я┌я─п╬п╨ "Connection" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
8153 </para> 8153 </para>
8154 <para lang="en"> 8154 <para lang="en">
8155 nginx did not support several "Connection" request header lines. 8155 nginx did not support several "Connection" request header lines.
8156 </para> 8156 </para>
8157 </change> 8157 </change>
8158 8158
8159 <change type="bugfix"> 8159 <change type="bugfix">
8160 <para lang="ru"> 8160 <para lang="ru">
8161 если в сервере апстрима был задан max_fails, то после первой же неудачной 8161 п╣я│п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╟п©я│я┌я─п╦п╪п╟ п╠я▀п╩ п╥п╟п╢п╟п╫ max_fails, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╡п╬п╧ п╤п╣ п╫п╣я┐п╢п╟я┤п╫п╬п╧
8162 попытки вес сервера навсегда становился равным одному; 8162 п©п╬п©я▀я┌п╨п╦ п╡п╣я│ я│п╣я─п╡п╣я─п╟ п╫п╟п╡я│п╣пЁп╢п╟ я│я┌п╟п╫п╬п╡п╦п╩я│я▐ я─п╟п╡п╫я▀п╪ п╬п╢п╫п╬п╪я┐;
8163 ошибка появилась в 0.6.6. 8163 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8164 </para> 8164 </para>
8165 <para lang="en"> 8165 <para lang="en">
8166 if the "max_fails" was set for upstream server, then after first 8166 if the "max_fails" was set for upstream server, then after first
8167 failure server weight was always one; 8167 failure server weight was always one;
8168 the bug had appeared in 0.6.6. 8168 the bug had appeared in 0.6.6.
8174 8174
8175 <changes ver="0.6.10" date="03.09.2007"> 8175 <changes ver="0.6.10" date="03.09.2007">
8176 8176
8177 <change type="feature"> 8177 <change type="feature">
8178 <para lang="ru"> 8178 <para lang="ru">
8179 директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. 8179 п╢п╦я─п╣п╨я┌п╦п╡я▀ open_file_cache, open_file_cache_retest п╦ open_file_cache_errors.
8180 </para> 8180 </para>
8181 <para lang="en"> 8181 <para lang="en">
8182 the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" 8182 the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors"
8183 directives. 8183 directives.
8184 </para> 8184 </para>
8185 </change> 8185 </change>
8186 8186
8187 <change type="bugfix"> 8187 <change type="bugfix">
8188 <para lang="ru"> 8188 <para lang="ru">
8189 утечки сокетов; 8189 я┐я┌п╣я┤п╨п╦ я│п╬п╨п╣я┌п╬п╡;
8190 ошибка появилась в 0.6.7. 8190 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8191 </para> 8191 </para>
8192 <para lang="en"> 8192 <para lang="en">
8193 socket leak; 8193 socket leak;
8194 the bug had appeared in 0.6.7. 8194 the bug had appeared in 0.6.7.
8195 </para> 8195 </para>
8196 </change> 8196 </change>
8197 8197
8198 <change type="bugfix"> 8198 <change type="bugfix">
8199 <para lang="ru"> 8199 <para lang="ru">
8200 В строку заголовка ответа "Content-Type", указанную в методе 8200 п▓ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Content-Type", я┐п╨п╟п╥п╟п╫п╫я┐я▌ п╡ п╪п╣я┌п╬п╢п╣
8201 $r->send_http_header(), не добавлялась кодировка, указанная в директиве charset. 8201 $r->send_http_header(), п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩п╟я│я▄ п╨п╬п╢п╦я─п╬п╡п╨п╟, я┐п╨п╟п╥п╟п╫п╫п╟я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ charset.
8202 </para> 8202 </para>
8203 <para lang="en"> 8203 <para lang="en">
8204 a charset set by the "charset" directive was not appended 8204 a charset set by the "charset" directive was not appended
8205 to the "Content-Type" header set by $r->send_http_header(). 8205 to the "Content-Type" header set by $r->send_http_header().
8206 </para> 8206 </para>
8207 </change> 8207 </change>
8208 8208
8209 <change type="bugfix"> 8209 <change type="bugfix">
8210 <para lang="ru"> 8210 <para lang="ru">
8211 при использовании метода /dev/poll 8211 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ /dev/poll
8212 в рабочем процессе мог произойти segmentation fault. 8212 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
8213 </para> 8213 </para>
8214 <para lang="en"> 8214 <para lang="en">
8215 a segmentation fault might occur in worker process 8215 a segmentation fault might occur in worker process
8216 if /dev/poll method was used. 8216 if /dev/poll method was used.
8217 </para> 8217 </para>
8222 8222
8223 <changes ver="0.6.9" date="28.08.2007"> 8223 <changes ver="0.6.9" date="28.08.2007">
8224 8224
8225 <change type="bugfix"> 8225 <change type="bugfix">
8226 <para lang="ru"> 8226 <para lang="ru">
8227 рабочий процесс мог зациклиться при использовании протокола HTTPS; 8227 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS;
8228 ошибка появилась в 0.6.7. 8228 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.7.
8229 </para> 8229 </para>
8230 <para lang="en"> 8230 <para lang="en">
8231 a worker process may got caught in an endless loop, 8231 a worker process may got caught in an endless loop,
8232 if the HTTPS protocol was used; 8232 if the HTTPS protocol was used;
8233 the bug had appeared in 0.6.7. 8233 the bug had appeared in 0.6.7.
8234 </para> 8234 </para>
8235 </change> 8235 </change>
8236 8236
8237 <change type="bugfix"> 8237 <change type="bugfix">
8238 <para lang="ru"> 8238 <para lang="ru">
8239 если сервер слушал на двух адресах или портах, то nginx не запускался 8239 п╣я│п╩п╦ я│п╣я─п╡п╣я─ я│п╩я┐я┬п╟п╩ п╫п╟ п╢п╡я┐я┘ п╟п╢я─п╣я│п╟я┘ п╦п╩п╦ п©п╬я─я┌п╟я┘, я┌п╬ nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐
8240 при использовании wildcard в конце имени сервера. 8240 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ wildcard п╡ п╨п╬п╫я├п╣ п╦п╪п╣п╫п╦ я│п╣я─п╡п╣я─п╟.
8241 </para> 8241 </para>
8242 <para lang="en"> 8242 <para lang="en">
8243 if server listened on two addresses or ports and trailing wildcard was used, 8243 if server listened on two addresses or ports and trailing wildcard was used,
8244 then nginx did not run. 8244 then nginx did not run.
8245 </para> 8245 </para>
8246 </change> 8246 </change>
8247 8247
8248 <change type="bugfix"> 8248 <change type="bugfix">
8249 <para lang="ru"> 8249 <para lang="ru">
8250 директива ip_hash могла неверно помечать сервера как нерабочие. 8250 п╢п╦я─п╣п╨я┌п╦п╡п╟ ip_hash п╪п╬пЁп╩п╟ п╫п╣п╡п╣я─п╫п╬ п©п╬п╪п╣я┤п╟я┌я▄ я│п╣я─п╡п╣я─п╟ п╨п╟п╨ п╫п╣я─п╟п╠п╬я┤п╦п╣.
8251 </para> 8251 </para>
8252 <para lang="en"> 8252 <para lang="en">
8253 the "ip_hash" directive might incorrectly mark servers as down. 8253 the "ip_hash" directive might incorrectly mark servers as down.
8254 </para> 8254 </para>
8255 </change> 8255 </change>
8256 8256
8257 <change type="bugfix"> 8257 <change type="bugfix">
8258 <para lang="ru"> 8258 <para lang="ru">
8259 nginx не собирался на amd64; 8259 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ amd64;
8260 ошибка появилась в 0.6.8. 8260 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.8.
8261 </para> 8261 </para>
8262 <para lang="en"> 8262 <para lang="en">
8263 nginx could not be built on amd64; 8263 nginx could not be built on amd64;
8264 the bug had appeared in 0.6.8. 8264 the bug had appeared in 0.6.8.
8265 </para> 8265 </para>
8270 8270
8271 <changes ver="0.6.8" date="20.08.2007"> 8271 <changes ver="0.6.8" date="20.08.2007">
8272 8272
8273 <change type="change"> 8273 <change type="change">
8274 <para lang="ru"> 8274 <para lang="ru">
8275 теперь nginx пытается установить директивы worker_priority, 8275 я┌п╣п©п╣я─я▄ nginx п©я▀я┌п╟п╣я┌я│я▐ я┐я│я┌п╟п╫п╬п╡п╦я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀ worker_priority,
8276 worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending 8276 worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending
8277 без привилегий root'а. 8277 п╠п╣п╥ п©я─п╦п╡п╦п╩п╣пЁп╦п╧ root'п╟.
8278 </para> 8278 </para>
8279 <para lang="en"> 8279 <para lang="en">
8280 now nginx tries to set the "worker_priority", "worker_rlimit_nofile", 8280 now nginx tries to set the "worker_priority", "worker_rlimit_nofile",
8281 "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user 8281 "worker_rlimit_core", and "worker_rlimit_sigpending" without super-user
8282 privileges. 8282 privileges.
8283 </para> 8283 </para>
8284 </change> 8284 </change>
8285 8285
8286 <change type="change"> 8286 <change type="change">
8287 <para lang="ru"> 8287 <para lang="ru">
8288 теперь nginx экранирует символы пробела и "%" при передаче запроса 8288 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ я│п╦п╪п╡п╬п╩я▀ п©я─п╬п╠п╣п╩п╟ п╦ "%" п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ п╥п╟п©я─п╬я│п╟
8289 серверу аутентификации почтового прокси-сервера. 8289 я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п©п╬я┤я┌п╬п╡п╬пЁп╬ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╟.
8290 </para> 8290 </para>
8291 <para lang="en"> 8291 <para lang="en">
8292 now nginx escapes space and "%" in request to a mail proxy authentication 8292 now nginx escapes space and "%" in request to a mail proxy authentication
8293 server. 8293 server.
8294 </para> 8294 </para>
8295 </change> 8295 </change>
8296 8296
8297 <change type="change"> 8297 <change type="change">
8298 <para lang="ru"> 8298 <para lang="ru">
8299 теперь nginx экранирует символ "%" в переменной $memcached_key. 8299 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ я│п╦п╪п╡п╬п╩ "%" п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
8300 </para> 8300 </para>
8301 <para lang="en"> 8301 <para lang="en">
8302 now nginx escapes "%" in $memcached_key variable. 8302 now nginx escapes "%" in $memcached_key variable.
8303 </para> 8303 </para>
8304 </change> 8304 </change>
8305 8305
8306 <change type="bugfix"> 8306 <change type="bugfix">
8307 <para lang="ru"> 8307 <para lang="ru">
8308 при указании относительного пути к конфигурационному файлу в качестве 8308 п©я─п╦ я┐п╨п╟п╥п╟п╫п╦п╦ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬пЁп╬ п©я┐я┌п╦ п╨ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬п╪я┐ я└п╟п╧п╩я┐ п╡ п╨п╟я┤п╣я│я┌п╡п╣
8309 параметра ключа -c nginx определял путь относительно конфигурационного префикса; 8309 п©п╟я─п╟п╪п╣я┌я─п╟ п╨п╩я▌я┤п╟ -c nginx п╬п©я─п╣п╢п╣п╩я▐п╩ п©я┐я┌я▄ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ п©я─п╣я└п╦п╨я│п╟;
8310 ошибка появилась в 0.6.6. 8310 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8311 </para> 8311 </para>
8312 <para lang="en"> 8312 <para lang="en">
8313 nginx used path relative to configuration prefix for non-absolute 8313 nginx used path relative to configuration prefix for non-absolute
8314 configuration file path specified in the "-c" key; 8314 configuration file path specified in the "-c" key;
8315 the bug had appeared in 0.6.6. 8315 the bug had appeared in 0.6.6.
8316 </para> 8316 </para>
8317 </change> 8317 </change>
8318 8318
8319 <change type="bugfix"> 8319 <change type="bugfix">
8320 <para lang="ru"> 8320 <para lang="ru">
8321 nginx не работал на FreeBSD/sparc64. 8321 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ FreeBSD/sparc64.
8322 </para> 8322 </para>
8323 <para lang="en"> 8323 <para lang="en">
8324 nginx did not work on FreeBSD/sparc64. 8324 nginx did not work on FreeBSD/sparc64.
8325 </para> 8325 </para>
8326 </change> 8326 </change>
8330 8330
8331 <changes ver="0.6.7" date="15.08.2007"> 8331 <changes ver="0.6.7" date="15.08.2007">
8332 8332
8333 <change type="change"> 8333 <change type="change">
8334 <para lang="ru"> 8334 <para lang="ru">
8335 теперь пути, указанные в директивах include, auth_basic_user_file, 8335 я┌п╣п©п╣я─я▄ п©я┐я┌п╦, я┐п╨п╟п╥п╟п╫п╫я▀п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ include, auth_basic_user_file,
8336 perl_modules, ssl_certificate, ssl_certificate_key и 8336 perl_modules, ssl_certificate, ssl_certificate_key п╦
8337 ssl_client_certificate, определяются относительно каталога конфигурационного 8337 ssl_client_certificate, п╬п©я─п╣п╢п╣п╩я▐я▌я┌я│я▐ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п╨п╟я┌п╟п╩п╬пЁп╟ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬
8338 файла nginx.conf, а не относительно префикса. 8338 я└п╟п╧п╩п╟ nginx.conf, п╟ п╫п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п©я─п╣я└п╦п╨я│п╟.
8339 </para> 8339 </para>
8340 <para lang="en"> 8340 <para lang="en">
8341 now the paths specified in the "include", "auth_basic_user_file", 8341 now the paths specified in the "include", "auth_basic_user_file",
8342 "perl_modules", "ssl_certificate", "ssl_certificate_key", and 8342 "perl_modules", "ssl_certificate", "ssl_certificate_key", and
8343 "ssl_client_certificate" directives are relative to directory of 8343 "ssl_client_certificate" directives are relative to directory of
8345 </para> 8345 </para>
8346 </change> 8346 </change>
8347 8347
8348 <change type="change"> 8348 <change type="change">
8349 <para lang="ru"> 8349 <para lang="ru">
8350 параметр --sysconfdir=PATH в configure упразднён. 8350 п©п╟я─п╟п╪п╣я┌я─ --sysconfdir=PATH п╡ configure я┐п©я─п╟п╥п╢п╫я▒п╫.
8351 </para> 8351 </para>
8352 <para lang="en"> 8352 <para lang="en">
8353 the --sysconfdir=PATH option in configure was canceled. 8353 the --sysconfdir=PATH option in configure was canceled.
8354 </para> 8354 </para>
8355 </change> 8355 </change>
8356 8356
8357 <change type="change"> 8357 <change type="change">
8358 <para lang="ru"> 8358 <para lang="ru">
8359 для обновления на лету версий 0.1.x создан специальный сценарий 8359 п╢п╩я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╫п╟ п╩п╣я┌я┐ п╡п╣я─я│п╦п╧ 0.1.x я│п╬п╥п╢п╟п╫ я│п©п╣я├п╦п╟п╩я▄п╫я▀п╧ я│я├п╣п╫п╟я─п╦п╧
8360 <nobr>make upgrade1.</nobr> 8360 <nobr>make upgrade1.</nobr>
8361 </para> 8361 </para>
8362 <para lang="en"> 8362 <para lang="en">
8363 the special make target "upgrade1" was defined for online upgrade of 8363 the special make target "upgrade1" was defined for online upgrade of
8364 0.1.x versions. 8364 0.1.x versions.
8365 </para> 8365 </para>
8366 </change> 8366 </change>
8367 8367
8368 <change type="feature"> 8368 <change type="feature">
8369 <para lang="ru"> 8369 <para lang="ru">
8370 директивы server_name и valid_referers поддерживают регулярные выражения. 8370 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name п╦ valid_referers п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ я─п╣пЁя┐п╩я▐я─п╫я▀п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐.
8371 </para> 8371 </para>
8372 <para lang="en"> 8372 <para lang="en">
8373 the "server_name" and "valid_referers" directives support regular expressions. 8373 the "server_name" and "valid_referers" directives support regular expressions.
8374 </para> 8374 </para>
8375 </change> 8375 </change>
8376 8376
8377 <change type="feature"> 8377 <change type="feature">
8378 <para lang="ru"> 8378 <para lang="ru">
8379 директива server в блоке upstream поддерживает параметр backup. 8379 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ backup.
8380 </para> 8380 </para>
8381 <para lang="en"> 8381 <para lang="en">
8382 the "server" directive in the "upstream" context supports 8382 the "server" directive in the "upstream" context supports
8383 the "backup" parameter. 8383 the "backup" parameter.
8384 </para> 8384 </para>
8385 </change> 8385 </change>
8386 8386
8387 <change type="feature"> 8387 <change type="feature">
8388 <para lang="ru"> 8388 <para lang="ru">
8389 модуль ngx_http_perl_module поддерживает метод $r->discard_request_body. 8389 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->discard_request_body.
8390 </para> 8390 </para>
8391 <para lang="en"> 8391 <para lang="en">
8392 the ngx_http_perl_module supports the $r->discard_request_body. 8392 the ngx_http_perl_module supports the $r->discard_request_body.
8393 </para> 8393 </para>
8394 </change> 8394 </change>
8395 8395
8396 <change type="feature"> 8396 <change type="feature">
8397 <para lang="ru"> 8397 <para lang="ru">
8398 директива "add_header Last-Modified ..." меняет строку "Last-Modified" 8398 п╢п╦я─п╣п╨я┌п╦п╡п╟ "add_header Last-Modified ..." п╪п╣п╫я▐п╣я┌ я│я┌я─п╬п╨я┐ "Last-Modified"
8399 в заголовке ответа. 8399 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟.
8400 </para> 8400 </para>
8401 <para lang="en"> 8401 <para lang="en">
8402 the "add_header Last-Modified ..." directive changes the "Last-Modified" 8402 the "add_header Last-Modified ..." directive changes the "Last-Modified"
8403 response header line. 8403 response header line.
8404 </para> 8404 </para>
8405 </change> 8405 </change>
8406 8406
8407 <change type="bugfix"> 8407 <change type="bugfix">
8408 <para lang="ru"> 8408 <para lang="ru">
8409 если на запрос с телом возвращался ответ с кодом HTTP отличным от 200, 8409 п╣я│п╩п╦ п╫п╟ п╥п╟п©я─п╬я│ я│ я┌п╣п╩п╬п╪ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ я│ п╨п╬п╢п╬п╪ HTTP п╬я┌п╩п╦я┤п╫я▀п╪ п╬я┌ 200,
8410 и после этого запроса соединение переходило в состояние keep-alive, 8410 п╦ п©п╬я│п╩п╣ я█я┌п╬пЁп╬ п╥п╟п©я─п╬я│п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п©п╣я─п╣я┘п╬п╢п╦п╩п╬ п╡ я│п╬я│я┌п╬я▐п╫п╦п╣ keep-alive,
8411 то на следующий запрос nginx возвращал 400. 8411 я┌п╬ п╫п╟ я│п╩п╣п╢я┐я▌я┴п╦п╧ п╥п╟п©я─п╬я│ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ 400.
8412 </para> 8412 </para>
8413 <para lang="en"> 8413 <para lang="en">
8414 if a response different than 200 was returned to a request with body 8414 if a response different than 200 was returned to a request with body
8415 and connection went to the keep-alive state after the request, then 8415 and connection went to the keep-alive state after the request, then
8416 nginx returned 400 for the next request. 8416 nginx returned 400 for the next request.
8417 </para> 8417 </para>
8418 </change> 8418 </change>
8419 8419
8420 <change type="bugfix"> 8420 <change type="bugfix">
8421 <para lang="ru"> 8421 <para lang="ru">
8422 если в директиве auth_http был задан неправильный адрес, то 8422 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ auth_http п╠я▀п╩ п╥п╟п╢п╟п╫ п╫п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╧ п╟п╢я─п╣я│, я┌п╬
8423 в рабочем процессе происходил segmentation fault. 8423 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
8424 </para> 8424 </para>
8425 <para lang="en"> 8425 <para lang="en">
8426 a segmentation fault occurred in worker process 8426 a segmentation fault occurred in worker process
8427 if invalid address was set in the "auth_http" directive. 8427 if invalid address was set in the "auth_http" directive.
8428 </para> 8428 </para>
8429 </change> 8429 </change>
8430 8430
8431 <change type="bugfix"> 8431 <change type="bugfix">
8432 <para lang="ru"> 8432 <para lang="ru">
8433 теперь по умолчанию nginx использует значение 511 для listen backlog 8433 я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╥п╫п╟я┤п╣п╫п╦п╣ 511 п╢п╩я▐ listen backlog
8434 на всех платформах, кроме FreeBSD.<br/> 8434 п╫п╟ п╡я│п╣я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╨я─п╬п╪п╣ FreeBSD.<br/>
8435 Спасибо Jiang Hong. 8435 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8436 </para> 8436 </para>
8437 <para lang="en"> 8437 <para lang="en">
8438 now nginx uses default listen backlog value 511 on all platforms 8438 now nginx uses default listen backlog value 511 on all platforms
8439 except FreeBSD.<br/> 8439 except FreeBSD.<br/>
8440 Thanks to Jiang Hong. 8440 Thanks to Jiang Hong.
8441 </para> 8441 </para>
8442 </change> 8442 </change>
8443 8443
8444 <change type="bugfix"> 8444 <change type="bugfix">
8445 <para lang="ru"> 8445 <para lang="ru">
8446 рабочий процесс мог зациклиться, если server в блоке upstream был помечен 8446 я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐, п╣я│п╩п╦ server п╡ п╠п╩п╬п╨п╣ upstream п╠я▀п╩ п©п╬п╪п╣я┤п╣п╫
8447 как down; 8447 п╨п╟п╨ down;
8448 ошибка появилась в 0.6.6. 8448 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.6.
8449 </para> 8449 </para>
8450 <para lang="en"> 8450 <para lang="en">
8451 a worker process may got caught in an endless loop, if a "server" inside 8451 a worker process may got caught in an endless loop, if a "server" inside
8452 "upstream" block was marked as "down"; 8452 "upstream" block was marked as "down";
8453 the bug had appeared in 0.6.6. 8453 the bug had appeared in 0.6.6.
8454 </para> 8454 </para>
8455 </change> 8455 </change>
8456 8456
8457 <change type="bugfix"> 8457 <change type="bugfix">
8458 <para lang="ru"> 8458 <para lang="ru">
8459 sendfilev() в Solaris теперь не используется при передаче тела запроса 8459 sendfilev() п╡ Solaris я┌п╣п©п╣я─я▄ п╫п╣ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟
8460 FastCGI-серверу через unix domain сокет. 8460 FastCGI-я│п╣я─п╡п╣я─я┐ я┤п╣я─п╣п╥ unix domain я│п╬п╨п╣я┌.
8461 </para> 8461 </para>
8462 <para lang="en"> 8462 <para lang="en">
8463 now Solaris sendfilev() is not used to transfer the client request body 8463 now Solaris sendfilev() is not used to transfer the client request body
8464 to FastCGI-server via the unix domain socket. 8464 to FastCGI-server via the unix domain socket.
8465 </para> 8465 </para>
8470 8470
8471 <changes ver="0.6.6" date="30.07.2007"> 8471 <changes ver="0.6.6" date="30.07.2007">
8472 8472
8473 <change type="feature"> 8473 <change type="feature">
8474 <para lang="ru"> 8474 <para lang="ru">
8475 параметр --sysconfdir=PATH в configure. 8475 п©п╟я─п╟п╪п╣я┌я─ --sysconfdir=PATH п╡ configure.
8476 </para> 8476 </para>
8477 <para lang="en"> 8477 <para lang="en">
8478 the --sysconfdir=PATH option in configure. 8478 the --sysconfdir=PATH option in configure.
8479 </para> 8479 </para>
8480 </change> 8480 </change>
8481 8481
8482 <change type="feature"> 8482 <change type="feature">
8483 <para lang="ru"> 8483 <para lang="ru">
8484 именованные location'ы. 8484 п╦п╪п╣п╫п╬п╡п╟п╫п╫я▀п╣ location'я▀.
8485 </para> 8485 </para>
8486 <para lang="en"> 8486 <para lang="en">
8487 named locations. 8487 named locations.
8488 </para> 8488 </para>
8489 </change> 8489 </change>
8490 8490
8491 <change type="feature"> 8491 <change type="feature">
8492 <para lang="ru"> 8492 <para lang="ru">
8493 переменную $args можно устанавливать с помощью set. 8493 п©п╣я─п╣п╪п╣п╫п╫я┐я▌ $args п╪п╬п╤п╫п╬ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄ я│ п©п╬п╪п╬я┴я▄я▌ set.
8494 </para> 8494 </para>
8495 <para lang="en"> 8495 <para lang="en">
8496 the $args variable can be set with the "set" directive. 8496 the $args variable can be set with the "set" directive.
8497 </para> 8497 </para>
8498 </change> 8498 </change>
8499 8499
8500 <change type="feature"> 8500 <change type="feature">
8501 <para lang="ru"> 8501 <para lang="ru">
8502 переменная $is_args. 8502 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $is_args.
8503 </para> 8503 </para>
8504 <para lang="en"> 8504 <para lang="en">
8505 the $is_args variable. 8505 the $is_args variable.
8506 </para> 8506 </para>
8507 </change> 8507 </change>
8508 8508
8509 <change type="bugfix"> 8509 <change type="bugfix">
8510 <para lang="ru"> 8510 <para lang="ru">
8511 равномерное распределение запросов к апстримам с большими весами. 8511 я─п╟п╡п╫п╬п╪п╣я─п╫п╬п╣ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦п╣ п╥п╟п©я─п╬я│п╬п╡ п╨ п╟п©я│я┌я─п╦п╪п╟п╪ я│ п╠п╬п╩я▄я┬п╦п╪п╦ п╡п╣я│п╟п╪п╦.
8512 </para> 8512 </para>
8513 <para lang="en"> 8513 <para lang="en">
8514 fair big weight upstream balancer. 8514 fair big weight upstream balancer.
8515 </para> 8515 </para>
8516 </change> 8516 </change>
8517 8517
8518 <change type="bugfix"> 8518 <change type="bugfix">
8519 <para lang="ru"> 8519 <para lang="ru">
8520 если клиент в почтовом прокси-сервере закрывал соединение, 8520 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ п╡ п©п╬я┤я┌п╬п╡п╬п╪ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣,
8521 то nginx мог не закрывать соединение с бэкендом. 8521 я┌п╬ nginx п╪п╬пЁ п╫п╣ п╥п╟п╨я─я▀п╡п╟я┌я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╠я█п╨п╣п╫п╢п╬п╪.
8522 </para> 8522 </para>
8523 <para lang="en"> 8523 <para lang="en">
8524 if a client has closed connection to mail proxy 8524 if a client has closed connection to mail proxy
8525 then nginx might not close connection to backend. 8525 then nginx might not close connection to backend.
8526 </para> 8526 </para>
8527 </change> 8527 </change>
8528 8528
8529 <change type="bugfix"> 8529 <change type="bugfix">
8530 <para lang="ru"> 8530 <para lang="ru">
8531 при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS 8531 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п╢п╫п╬пЁп╬ я┘п╬я│я┌п╟ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╠я█п╨п╣п╫п╢п╬п╡ п╢п╩я▐ п©я─п╬я┌п╬п╨п╬п╩п╬п╡ HTTP п╦ HTTPS
8532 без явного указания портов, nginx использовал только один порт&mdash;80 или 443. 8532 п╠п╣п╥ я▐п╡п╫п╬пЁп╬ я┐п╨п╟п╥п╟п╫п╦я▐ п©п╬я─я┌п╬п╡, nginx п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ п©п╬я─я┌&mdash;80 п╦п╩п╦ 443.
8533 </para> 8533 </para>
8534 <para lang="en"> 8534 <para lang="en">
8535 if the same host without specified port was used as backend for HTTP and HTTPS, 8535 if the same host without specified port was used as backend for HTTP and HTTPS,
8536 then nginx used only one port&mdash;80 or 443. 8536 then nginx used only one port&mdash;80 or 443.
8537 </para> 8537 </para>
8538 </change> 8538 </change>
8539 8539
8540 <change type="bugfix"> 8540 <change type="bugfix">
8541 <para lang="ru"> 8541 <para lang="ru">
8542 nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями; 8542 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris/amd64 Sun Studio 11 п╦ п╠п╬п╩п╣п╣ я─п╟п╫п╫п╦п╪п╦ п╡п╣я─я│п╦я▐п╪п╦;
8543 ошибка появилась в 0.6.4. 8543 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.6.4.
8544 </para> 8544 </para>
8545 <para lang="en"> 8545 <para lang="en">
8546 fix building on Solaris/amd64 by Sun Studio 11 and early versions; 8546 fix building on Solaris/amd64 by Sun Studio 11 and early versions;
8547 the bug had appeared in 0.6.4. 8547 the bug had appeared in 0.6.4.
8548 </para> 8548 </para>
8553 8553
8554 <changes ver="0.6.5" date="23.07.2007"> 8554 <changes ver="0.6.5" date="23.07.2007">
8555 8555
8556 <change type="feature"> 8556 <change type="feature">
8557 <para lang="ru"> 8557 <para lang="ru">
8558 переменная $nginx_version.<br/> 8558 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $nginx_version.<br/>
8559 Спасибо Николаю Гречуху. 8559 п║п©п╟я│п╦п╠п╬ п²п╦п╨п╬п╩п╟я▌ п⌠я─п╣я┤я┐я┘я┐.
8560 </para> 8560 </para>
8561 <para lang="en"> 8561 <para lang="en">
8562 $nginx_version variable.<br/> 8562 $nginx_version variable.<br/>
8563 Thanks to Nick S. Grechukh. 8563 Thanks to Nick S. Grechukh.
8564 </para> 8564 </para>
8565 </change> 8565 </change>
8566 8566
8567 <change type="feature"> 8567 <change type="feature">
8568 <para lang="ru"> 8568 <para lang="ru">
8569 почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/> 8569 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ AUTHENTICATE п╡ я─п╣п╤п╦п╪п╣ IMAP.<br/>
8570 Спасибо Максиму Дунину. 8570 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8571 </para> 8571 </para>
8572 <para lang="en"> 8572 <para lang="en">
8573 the mail proxy supports AUTHENTICATE in IMAP mode.<br/> 8573 the mail proxy supports AUTHENTICATE in IMAP mode.<br/>
8574 Thanks to Maxim Dounin. 8574 Thanks to Maxim Dounin.
8575 </para> 8575 </para>
8576 </change> 8576 </change>
8577 8577
8578 <change type="feature"> 8578 <change type="feature">
8579 <para lang="ru"> 8579 <para lang="ru">
8580 почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/> 8580 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ STARTTLS п╡ я─п╣п╤п╦п╪п╣ SMTP.<br/>
8581 Спасибо Максиму Дунину. 8581 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8582 </para> 8582 </para>
8583 <para lang="en"> 8583 <para lang="en">
8584 the mail proxy supports STARTTLS in SMTP mode.<br/> 8584 the mail proxy supports STARTTLS in SMTP mode.<br/>
8585 Thanks to Maxim Dounin. 8585 Thanks to Maxim Dounin.
8586 </para> 8586 </para>
8587 </change> 8587 </change>
8588 8588
8589 <change type="bugfix"> 8589 <change type="bugfix">
8590 <para lang="ru"> 8590 <para lang="ru">
8591 теперь nginx экранирует пробел в переменной $memcached_key. 8591 я┌п╣п©п╣я─я▄ nginx я█п╨я─п╟п╫п╦я─я┐п╣я┌ п©я─п╬п╠п╣п╩ п╡ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
8592 </para> 8592 </para>
8593 <para lang="en"> 8593 <para lang="en">
8594 now nginx escapes space in $memcached_key variable. 8594 now nginx escapes space in $memcached_key variable.
8595 </para> 8595 </para>
8596 </change> 8596 </change>
8597 8597
8598 <change type="bugfix"> 8598 <change type="bugfix">
8599 <para lang="ru"> 8599 <para lang="ru">
8600 nginx неправильно собирался Sun Studio на Solaris/amd64.<br/> 8600 nginx п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я│п╬п╠п╦я─п╟п╩я│я▐ Sun Studio п╫п╟ Solaris/amd64.<br/>
8601 Спасибо Jiang Hong. 8601 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8602 </para> 8602 </para>
8603 <para lang="en"> 8603 <para lang="en">
8604 nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/> 8604 nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/>
8605 Thanks to Jiang Hong. 8605 Thanks to Jiang Hong.
8606 </para> 8606 </para>
8607 </change> 8607 </change>
8608 8608
8609 <change type="bugfix"> 8609 <change type="bugfix">
8610 <para lang="ru"> 8610 <para lang="ru">
8611 незначительных потенциальных ошибок.<br/> 8611 п╫п╣п╥п╫п╟я┤п╦я┌п╣п╩я▄п╫я▀я┘ п©п╬я┌п╣п╫я├п╦п╟п╩я▄п╫я▀я┘ п╬я┬п╦п╠п╬п╨.<br/>
8612 Спасибо Coverity's Scan. 8612 п║п©п╟я│п╦п╠п╬ Coverity's Scan.
8613 </para> 8613 </para>
8614 <para lang="en"> 8614 <para lang="en">
8615 of minor potential bugs.<br/> 8615 of minor potential bugs.<br/>
8616 Thanks to Coverity's Scan. 8616 Thanks to Coverity's Scan.
8617 </para> 8617 </para>
8622 8622
8623 <changes ver="0.6.4" date="17.07.2007"> 8623 <changes ver="0.6.4" date="17.07.2007">
8624 8624
8625 <change type="security"> 8625 <change type="security">
8626 <para lang="ru"> 8626 <para lang="ru">
8627 при использовании директивы msie_refresh был возможен XSS.<br/> 8627 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ msie_refresh п╠я▀п╩ п╡п╬п╥п╪п╬п╤п╣п╫ XSS.<br/>
8628 Спасибо Максиму Богуку. 8628 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п▒п╬пЁя┐п╨я┐.
8629 </para> 8629 </para>
8630 <para lang="en"> 8630 <para lang="en">
8631 the "msie_refresh" directive allowed XSS.<br/> 8631 the "msie_refresh" directive allowed XSS.<br/>
8632 Thanks to Maxim Boguk. 8632 Thanks to Maxim Boguk.
8633 </para> 8633 </para>
8634 </change> 8634 </change>
8635 8635
8636 <change type="change"> 8636 <change type="change">
8637 <para lang="ru"> 8637 <para lang="ru">
8638 директивы proxy_store и fastcgi_store изменены. 8638 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store п╦п╥п╪п╣п╫п╣п╫я▀.
8639 </para> 8639 </para>
8640 <para lang="en"> 8640 <para lang="en">
8641 the "proxy_store" and "fastcgi_store" directives were changed. 8641 the "proxy_store" and "fastcgi_store" directives were changed.
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 директивы proxy_store_access и fastcgi_store_access. 8647 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store_access п╦ fastcgi_store_access.
8648 </para> 8648 </para>
8649 <para lang="en"> 8649 <para lang="en">
8650 the "proxy_store_access" and "fastcgi_store_access" directives. 8650 the "proxy_store_access" and "fastcgi_store_access" directives.
8651 </para> 8651 </para>
8652 </change> 8652 </change>
8653 8653
8654 <change type="bugfix"> 8654 <change type="bugfix">
8655 <para lang="ru"> 8655 <para lang="ru">
8656 nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 8656 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Solaris/sparc64, п╣я│п╩п╦ п╠я▀п╩ я│п╬п╠я─п╟п╫ Sun Studio.<br/>
8657 Спасибо Андрею Нигматулину. 8657 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
8658 </para> 8658 </para>
8659 <para lang="en"> 8659 <para lang="en">
8660 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 8660 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
8661 Thanks to Andrei Nigmatulin. 8661 Thanks to Andrei Nigmatulin.
8662 </para> 8662 </para>
8663 </change> 8663 </change>
8664 8664
8665 <change type="workaround"> 8665 <change type="workaround">
8666 <para lang="ru"> 8666 <para lang="ru">
8667 обход ошибки в Sun Studio 12.<br/> 8667 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ Sun Studio 12.<br/>
8668 Спасибо Jiang Hong. 8668 п║п©п╟я│п╦п╠п╬ Jiang Hong.
8669 </para> 8669 </para>
8670 <para lang="en"> 8670 <para lang="en">
8671 for Sun Studio 12.<br/> 8671 for Sun Studio 12.<br/>
8672 Thanks to Jiang Hong. 8672 Thanks to Jiang Hong.
8673 </para> 8673 </para>
8678 8678
8679 <changes ver="0.6.3" date="12.07.2007"> 8679 <changes ver="0.6.3" date="12.07.2007">
8680 8680
8681 <change type="feature"> 8681 <change type="feature">
8682 <para lang="ru"> 8682 <para lang="ru">
8683 директивы proxy_store и fastcgi_store. 8683 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_store п╦ fastcgi_store.
8684 </para> 8684 </para>
8685 <para lang="en"> 8685 <para lang="en">
8686 the "proxy_store" and "fastcgi_store" directives. 8686 the "proxy_store" and "fastcgi_store" directives.
8687 </para> 8687 </para>
8688 </change> 8688 </change>
8689 8689
8690 <change type="bugfix"> 8690 <change type="bugfix">
8691 <para lang="ru"> 8691 <para lang="ru">
8692 при использовании директивы auth_http_header 8692 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_http_header
8693 в рабочем процессе мог произойти segmentation fault.<br/> 8693 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.<br/>
8694 Спасибо Максиму Дунину. 8694 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
8695 </para> 8695 </para>
8696 <para lang="en"> 8696 <para lang="en">
8697 a segmentation fault might occur in worker process 8697 a segmentation fault might occur in worker process
8698 if the "auth_http_header" directive was used.<br/> 8698 if the "auth_http_header" directive was used.<br/>
8699 Thanks to Maxim Dounin. 8699 Thanks to Maxim Dounin.
8700 </para> 8700 </para>
8701 </change> 8701 </change>
8702 8702
8703 <change type="bugfix"> 8703 <change type="bugfix">
8704 <para lang="ru"> 8704 <para lang="ru">
8705 если использовался метод аутентификации CRAM-MD5, но он не был разрешён, 8705 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ CRAM-MD5, п╫п╬ п╬п╫ п╫п╣ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫,
8706 то в рабочем процессе происходил segmentation fault. 8706 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
8707 </para> 8707 </para>
8708 <para lang="en"> 8708 <para lang="en">
8709 a segmentation fault occurred in worker process 8709 a segmentation fault occurred in worker process
8710 if the CRAM-MD5 authentication method was used, but it was not enabled. 8710 if the CRAM-MD5 authentication method was used, but it was not enabled.
8711 </para> 8711 </para>
8712 </change> 8712 </change>
8713 8713
8714 <change type="bugfix"> 8714 <change type="bugfix">
8715 <para lang="ru"> 8715 <para lang="ru">
8716 при использовании протокола HTTPS в директиве proxy_pass 8716 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass
8717 в рабочем процессе мог произойти segmentation fault. 8717 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
8718 </para> 8718 </para>
8719 <para lang="en"> 8719 <para lang="en">
8720 a segmentation fault might occur in worker process when 8720 a segmentation fault might occur in worker process when
8721 the HTTPS protocol was used in the "proxy_pass" directive. 8721 the HTTPS protocol was used in the "proxy_pass" directive.
8722 </para> 8722 </para>
8723 </change> 8723 </change>
8724 8724
8725 <change type="bugfix"> 8725 <change type="bugfix">
8726 <para lang="ru"> 8726 <para lang="ru">
8727 в рабочем процессе мог произойти segmentation fault, 8727 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
8728 если использовался метод eventport. 8728 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ eventport.
8729 </para> 8729 </para>
8730 <para lang="en"> 8730 <para lang="en">
8731 a segmentation fault might occur in worker process 8731 a segmentation fault might occur in worker process
8732 if the eventport method was used. 8732 if the eventport method was used.
8733 </para> 8733 </para>
8734 </change> 8734 </change>
8735 8735
8736 <change type="bugfix"> 8736 <change type="bugfix">
8737 <para lang="ru"> 8737 <para lang="ru">
8738 директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали; 8738 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_client_abort п╦ fastcgi_ignore_client_abort п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦;
8739 ошибка появилась в 0.5.13. 8739 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.13.
8740 </para> 8740 </para>
8741 <para lang="en"> 8741 <para lang="en">
8742 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives 8742 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives
8743 did not work; 8743 did not work;
8744 the bug had appeared in 0.5.13. 8744 the bug had appeared in 0.5.13.
8750 8750
8751 <changes ver="0.6.2" date="09.07.2007"> 8751 <changes ver="0.6.2" date="09.07.2007">
8752 8752
8753 <change type="bugfix"> 8753 <change type="bugfix">
8754 <para lang="ru"> 8754 <para lang="ru">
8755 если заголовок ответа был разделён в FastCGI-записях, то nginx передавал 8755 п╣я│п╩п╦ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п╠я▀п╩ я─п╟п╥п╢п╣п╩я▒п╫ п╡ FastCGI-п╥п╟п©п╦я│я▐я┘, я┌п╬ nginx п©п╣я─п╣п╢п╟п╡п╟п╩
8756 клиенту мусор в таких заголовках. 8756 п╨п╩п╦п╣п╫я┌я┐ п╪я┐я│п╬я─ п╡ я┌п╟п╨п╦я┘ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘.
8757 </para> 8757 </para>
8758 <para lang="en"> 8758 <para lang="en">
8759 if the FastCGI header was split in records, 8759 if the FastCGI header was split in records,
8760 then nginx passed garbage in the header to a client. 8760 then nginx passed garbage in the header to a client.
8761 </para> 8761 </para>
8766 8766
8767 <changes ver="0.6.1" date="17.06.2007"> 8767 <changes ver="0.6.1" date="17.06.2007">
8768 8768
8769 <change type="bugfix"> 8769 <change type="bugfix">
8770 <para lang="ru"> 8770 <para lang="ru">
8771 в парсинге SSI. 8771 п╡ п©п╟я─я│п╦п╫пЁп╣ SSI.
8772 </para> 8772 </para>
8773 <para lang="en"> 8773 <para lang="en">
8774 in SSI parsing. 8774 in SSI parsing.
8775 </para> 8775 </para>
8776 </change> 8776 </change>
8777 8777
8778 <change type="bugfix"> 8778 <change type="bugfix">
8779 <para lang="ru"> 8779 <para lang="ru">
8780 при использовании удалённого подзапроса в SSI последующий 8780 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я┐п╢п╟п╩я▒п╫п╫п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟ п╡ SSI п©п╬я│п╩п╣п╢я┐я▌я┴п╦п╧
8781 подзапрос локального файла мог отдаваться клиенту в неверном порядке. 8781 п©п╬п╢п╥п╟п©я─п╬я│ п╩п╬п╨п╟п╩я▄п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╪п╬пЁ п╬я┌п╢п╟п╡п╟я┌я▄я│я▐ п╨п╩п╦п╣п╫я┌я┐ п╡ п╫п╣п╡п╣я─п╫п╬п╪ п©п╬я─я▐п╢п╨п╣.
8782 </para> 8782 </para>
8783 <para lang="en"> 8783 <para lang="en">
8784 if remote SSI subrequest was used, then posterior local file subrequest 8784 if remote SSI subrequest was used, then posterior local file subrequest
8785 might transferred to client in wrong order. 8785 might transferred to client in wrong order.
8786 </para> 8786 </para>
8787 </change> 8787 </change>
8788 8788
8789 <change type="bugfix"> 8789 <change type="bugfix">
8790 <para lang="ru"> 8790 <para lang="ru">
8791 большие включения в SSI, сохранённые во временные файлы, 8791 п╠п╬п╩я▄я┬п╦п╣ п╡п╨п╩я▌я┤п╣п╫п╦я▐ п╡ SSI, я│п╬я┘я─п╟п╫я▒п╫п╫я▀п╣ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀,
8792 передавались не полностью. 8792 п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
8793 </para> 8793 </para>
8794 <para lang="en"> 8794 <para lang="en">
8795 large SSI inclusions buffered in temporary files were truncated. 8795 large SSI inclusions buffered in temporary files were truncated.
8796 </para> 8796 </para>
8797 </change> 8797 </change>
8798 8798
8799 <change type="bugfix"> 8799 <change type="bugfix">
8800 <para lang="ru"> 8800 <para lang="ru">
8801 значение perl'овой переменной $$ модуля ngx_http_perl_module было равно 8801 п╥п╫п╟я┤п╣п╫п╦п╣ perl'п╬п╡п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $$ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module п╠я▀п╩п╬ я─п╟п╡п╫п╬
8802 номеру главного процесса. 8802 п╫п╬п╪п╣я─я┐ пЁп╩п╟п╡п╫п╬пЁп╬ п©я─п╬я├п╣я│я│п╟.
8803 </para> 8803 </para>
8804 <para lang="en"> 8804 <para lang="en">
8805 the perl $$ variable value in ngx_http_perl_module was equal to the master 8805 the perl $$ variable value in ngx_http_perl_module was equal to the master
8806 process identification number. 8806 process identification number.
8807 </para> 8807 </para>
8812 8812
8813 <changes ver="0.6.0" date="14.06.2007"> 8813 <changes ver="0.6.0" date="14.06.2007">
8814 8814
8815 <change type="feature"> 8815 <change type="feature">
8816 <para lang="ru"> 8816 <para lang="ru">
8817 директивы "server_name", "map", and "valid_referers" поддерживают 8817 п╢п╦я─п╣п╨я┌п╦п╡я▀ "server_name", "map", and "valid_referers" п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌
8818 маски вида "www.example.*". 8818 п╪п╟я│п╨п╦ п╡п╦п╢п╟ "www.example.*".
8819 </para> 8819 </para>
8820 <para lang="en"> 8820 <para lang="en">
8821 the "server_name", "map", and "valid_referers" directives support 8821 the "server_name", "map", and "valid_referers" directives support
8822 the "www.example.*" wildcards. 8822 the "www.example.*" wildcards.
8823 </para> 8823 </para>
8828 8828
8829 <changes ver="0.5.25" date="11.06.2007"> 8829 <changes ver="0.5.25" date="11.06.2007">
8830 8830
8831 <change type="bugfix"> 8831 <change type="bugfix">
8832 <para lang="ru"> 8832 <para lang="ru">
8833 nginx не собирался с параметром --without-http_rewrite_module; 8833 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-http_rewrite_module;
8834 ошибка появилась в 0.5.24. 8834 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.24.
8835 </para> 8835 </para>
8836 <para lang="en"> 8836 <para lang="en">
8837 nginx could not be built with the --without-http_rewrite_module parameter; 8837 nginx could not be built with the --without-http_rewrite_module parameter;
8838 the bug had appeared in 0.5.24. 8838 the bug had appeared in 0.5.24.
8839 </para> 8839 </para>
8844 8844
8845 <changes ver="0.5.24" date="06.06.2007"> 8845 <changes ver="0.5.24" date="06.06.2007">
8846 8846
8847 <change type="security"> 8847 <change type="security">
8848 <para lang="ru"> 8848 <para lang="ru">
8849 директива ssl_verify_client не работала, если запрос выполнялся 8849 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_verify_client п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╡я▀п©п╬п╩п╫я▐п╩я│я▐
8850 по протоколу HTTP/0.9. 8850 п©п╬ п©я─п╬я┌п╬п╨п╬п╩я┐ HTTP/0.9.
8851 </para> 8851 </para>
8852 <para lang="en"> 8852 <para lang="en">
8853 the "ssl_verify_client" directive did not work if request was made 8853 the "ssl_verify_client" directive did not work if request was made
8854 using HTTP/0.9. 8854 using HTTP/0.9.
8855 </para> 8855 </para>
8856 </change> 8856 </change>
8857 8857
8858 <change type="bugfix"> 8858 <change type="bugfix">
8859 <para lang="ru"> 8859 <para lang="ru">
8860 при использовании сжатия часть ответа могла передаваться несжатой; 8860 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я│п╤п╟я┌п╦я▐ я┤п╟я│я┌я▄ п╬я┌п╡п╣я┌п╟ п╪п╬пЁп╩п╟ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣я│п╤п╟я┌п╬п╧;
8861 ошибка появилась в 0.5.23. 8861 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.23.
8862 </para> 8862 </para>
8863 <para lang="en"> 8863 <para lang="en">
8864 a part of response body might be passed uncompressed if gzip was used; 8864 a part of response body might be passed uncompressed if gzip was used;
8865 the bug had appeared in 0.5.23. 8865 the bug had appeared in 0.5.23.
8866 </para> 8866 </para>
8871 8871
8872 <changes ver="0.5.23" date="04.06.2007"> 8872 <changes ver="0.5.23" date="04.06.2007">
8873 8873
8874 <change type="feature"> 8874 <change type="feature">
8875 <para lang="ru"> 8875 <para lang="ru">
8876 модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication. 8876 п╪п╬п╢я┐п╩я▄ ngx_http_ssl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╟я│я┬п╦я─п╣п╫п╦п╣ TLS Server Name Indication.
8877 </para> 8877 </para>
8878 <para lang="en"> 8878 <para lang="en">
8879 the ngx_http_ssl_module supports Server Name Indication TLS extension. 8879 the ngx_http_ssl_module supports Server Name Indication TLS extension.
8880 </para> 8880 </para>
8881 </change> 8881 </change>
8882 8882
8883 <change type="feature"> 8883 <change type="feature">
8884 <para lang="ru"> 8884 <para lang="ru">
8885 директива fastcgi_catch_stderr.<br/> 8885 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_catch_stderr.<br/>
8886 Спасибо Николаю Гречуху, проект OWOX. 8886 п║п©п╟я│п╦п╠п╬ п²п╦п╨п╬п╩п╟я▌ п⌠я─п╣я┤я┐я┘я┐, п©я─п╬п╣п╨я┌ OWOX.
8887 </para> 8887 </para>
8888 <para lang="en"> 8888 <para lang="en">
8889 the "fastcgi_catch_stderr" directive.<br/> 8889 the "fastcgi_catch_stderr" directive.<br/>
8890 Thanks to Nick S. Grechukh, OWOX project. 8890 Thanks to Nick S. Grechukh, OWOX project.
8891 </para> 8891 </para>
8892 </change> 8892 </change>
8893 8893
8894 <change type="bugfix"> 8894 <change type="bugfix">
8895 <para lang="ru"> 8895 <para lang="ru">
8896 на Линуксе в основном процессе происходил segmentation fault, 8896 п╫п╟ п⌡п╦п╫я┐п╨я│п╣ п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
8897 если два виртуальных сервера должны bind()ится к пересекающимся портам. 8897 п╣я│п╩п╦ п╢п╡п╟ п╡п╦я─я┌я┐п╟п╩я▄п╫я▀я┘ я│п╣я─п╡п╣я─п╟ п╢п╬п╩п╤п╫я▀ bind()п╦я┌я│я▐ п╨ п©п╣я─п╣я│п╣п╨п╟я▌я┴п╦п╪я│я▐ п©п╬я─я┌п╟п╪.
8898 </para> 8898 </para>
8899 <para lang="en"> 8899 <para lang="en">
8900 a segmentation fault occurred in master process if 8900 a segmentation fault occurred in master process if
8901 two virtual servers should bind() to the overlapping ports. 8901 two virtual servers should bind() to the overlapping ports.
8902 </para> 8902 </para>
8903 </change> 8903 </change>
8904 8904
8905 <change type="bugfix"> 8905 <change type="bugfix">
8906 <para lang="ru"> 8906 <para lang="ru">
8907 если nginx был собран с модулем ngx_http_perl_module и perl 8907 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
8908 поддерживал потоки, то во время второй переконфигурации 8908 п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п©п╬я┌п╬п╨п╦, я┌п╬ п╡п╬ п╡я─п╣п╪я▐ п╡я┌п╬я─п╬п╧ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
8909 выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 8909 п╡я▀п╢п╟п╡п╟п╩п╦я│я▄ п╬я┬п╦п╠п╨п╦ "panic: MUTEX_LOCK" п╦ "perl_parse() failed".
8910 </para> 8910 </para>
8911 <para lang="en"> 8911 <para lang="en">
8912 if nginx was built with ngx_http_perl_module and perl supported threads, 8912 if nginx was built with ngx_http_perl_module and perl supported threads,
8913 then during second reconfiguration the error messages 8913 then during second reconfiguration the error messages
8914 "panic: MUTEX_LOCK" and "perl_parse() failed" were issued. 8914 "panic: MUTEX_LOCK" and "perl_parse() failed" were issued.
8915 </para> 8915 </para>
8916 </change> 8916 </change>
8917 8917
8918 <change type="bugfix"> 8918 <change type="bugfix">
8919 <para lang="ru"> 8919 <para lang="ru">
8920 в использовании протокола HTTPS в директиве proxy_pass. 8920 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
8921 </para> 8921 </para>
8922 <para lang="en"> 8922 <para lang="en">
8923 in the HTTPS protocol in the "proxy_pass" directive. 8923 in the HTTPS protocol in the "proxy_pass" directive.
8924 </para> 8924 </para>
8925 </change> 8925 </change>
8929 8929
8930 <changes ver="0.5.22" date="29.05.2007"> 8930 <changes ver="0.5.22" date="29.05.2007">
8931 8931
8932 <change type="bugfix"> 8932 <change type="bugfix">
8933 <para lang="ru"> 8933 <para lang="ru">
8934 большое тело запроса могло не передаваться бэкенду; 8934 п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╪п╬пЁп╩п╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╠я█п╨п╣п╫п╢я┐;
8935 ошибка появилась в 0.5.21. 8935 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.21.
8936 </para> 8936 </para>
8937 <para lang="en"> 8937 <para lang="en">
8938 a big request body might not be passed to backend; 8938 a big request body might not be passed to backend;
8939 the bug had appeared in 0.5.21. 8939 the bug had appeared in 0.5.21.
8940 </para> 8940 </para>
8945 8945
8946 <changes ver="0.5.21" date="28.05.2007"> 8946 <changes ver="0.5.21" date="28.05.2007">
8947 8947
8948 <change type="bugfix"> 8948 <change type="bugfix">
8949 <para lang="ru"> 8949 <para lang="ru">
8950 если внутри сервера описано больше примерно десяти location'ов, 8950 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ я│п╣я─п╡п╣я─п╟ п╬п©п╦я│п╟п╫п╬ п╠п╬п╩я▄я┬п╣ п©я─п╦п╪п╣я─п╫п╬ п╢п╣я│я▐я┌п╦ location'п╬п╡,
8951 то location'ы, заданные с помощью регулярного выражения, 8951 я┌п╬ location'я▀, п╥п╟п╢п╟п╫п╫я▀п╣ я│ п©п╬п╪п╬я┴я▄я▌ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐,
8952 могли выполняться не в том, порядке, в каком они описаны. 8952 п╪п╬пЁп╩п╦ п╡я▀п©п╬п╩п╫я▐я┌я▄я│я▐ п╫п╣ п╡ я┌п╬п╪, п©п╬я─я▐п╢п╨п╣, п╡ п╨п╟п╨п╬п╪ п╬п╫п╦ п╬п©п╦я│п╟п╫я▀.
8953 </para> 8953 </para>
8954 <para lang="en"> 8954 <para lang="en">
8955 if server has more than about ten locations, then regex locations 8955 if server has more than about ten locations, then regex locations
8956 might be choosen not in that order as they were specified. 8956 might be choosen not in that order as they were specified.
8957 </para> 8957 </para>
8958 </change> 8958 </change>
8959 8959
8960 <change type="bugfix"> 8960 <change type="bugfix">
8961 <para lang="ru"> 8961 <para lang="ru">
8962 на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий 8962 п╫п╟ 64-п╠п╦я┌п╫п╬п╧ п©п╩п╟я┌я└п╬я─п╪п╣ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐, п╣я│п╩п╦ 33-я┌п╦п╧
8963 по счёту или последующий бэкенд упал.<br/> 8963 п©п╬ я│я┤я▒я┌я┐ п╦п╩п╦ п©п╬я│п╩п╣п╢я┐я▌я┴п╦п╧ п╠я█п╨п╣п╫п╢ я┐п©п╟п╩.<br/>
8964 Спасибо Антону Поварову. 8964 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п÷п╬п╡п╟я─п╬п╡я┐.
8965 </para> 8965 </para>
8966 <para lang="en"> 8966 <para lang="en">
8967 a worker process may got caught in an endless loop on 64-bit platform, 8967 a worker process may got caught in an endless loop on 64-bit platform,
8968 if the 33-rd or next in succession backend has failed.<br/> 8968 if the 33-rd or next in succession backend has failed.<br/>
8969 Thanks to Anton Povarov. 8969 Thanks to Anton Povarov.
8970 </para> 8970 </para>
8971 </change> 8971 </change>
8972 8972
8973 <change type="bugfix"> 8973 <change type="bugfix">
8974 <para lang="ru"> 8974 <para lang="ru">
8975 при использовании библиотеки PCRE на Solaris/sparc64 8975 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE п╫п╟ Solaris/sparc64
8976 мог произойти bus error.<br/> 8976 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ bus error.<br/>
8977 Спасибо Андрею Нигматулину. 8977 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
8978 </para> 8978 </para>
8979 <para lang="en"> 8979 <para lang="en">
8980 a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/> 8980 a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/>
8981 Thanks to Andrei Nigmatulin. 8981 Thanks to Andrei Nigmatulin.
8982 </para> 8982 </para>
8983 </change> 8983 </change>
8984 8984
8985 <change type="bugfix"> 8985 <change type="bugfix">
8986 <para lang="ru"> 8986 <para lang="ru">
8987 в использовании протокола HTTPS в директиве proxy_pass. 8987 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
8988 </para> 8988 </para>
8989 <para lang="en"> 8989 <para lang="en">
8990 in the HTTPS protocol in the "proxy_pass" directive. 8990 in the HTTPS protocol in the "proxy_pass" directive.
8991 </para> 8991 </para>
8992 </change> 8992 </change>
8996 8996
8997 <changes ver="0.5.20" date="07.05.2007"> 8997 <changes ver="0.5.20" date="07.05.2007">
8998 8998
8999 <change type="feature"> 8999 <change type="feature">
9000 <para lang="ru"> 9000 <para lang="ru">
9001 директива sendfile_max_chunk. 9001 п╢п╦я─п╣п╨я┌п╦п╡п╟ sendfile_max_chunk.
9002 </para> 9002 </para>
9003 <para lang="en"> 9003 <para lang="en">
9004 the "sendfile_max_chunk" directive. 9004 the "sendfile_max_chunk" directive.
9005 </para> 9005 </para>
9006 </change> 9006 </change>
9007 9007
9008 <change type="feature"> 9008 <change type="feature">
9009 <para lang="ru"> 9009 <para lang="ru">
9010 переменные "$http_...", "$sent_http_..." и "$upstream_http_..." 9010 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$http_...", "$sent_http_..." п╦ "$upstream_http_..."
9011 можно менять директивой set. 9011 п╪п╬п╤п╫п╬ п╪п╣п╫я▐я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set.
9012 </para> 9012 </para>
9013 <para lang="en"> 9013 <para lang="en">
9014 the "$http_...", "$sent_http_...", and "$upstream_http_..." variables 9014 the "$http_...", "$sent_http_...", and "$upstream_http_..." variables
9015 may be changed using the "set" directive. 9015 may be changed using the "set" directive.
9016 </para> 9016 </para>
9017 </change> 9017 </change>
9018 9018
9019 <change type="bugfix"> 9019 <change type="bugfix">
9020 <para lang="ru"> 9020 <para lang="ru">
9021 при использовании SSI-команды 'if expr="$var = /"' 9021 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI-п╨п╬п╪п╟п╫п╢я▀ 'if expr="$var = /"'
9022 в рабочем процессе мог произойти segmentation fault. 9022 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9023 </para> 9023 </para>
9024 <para lang="en"> 9024 <para lang="en">
9025 a segmentation fault might occur in worker process 9025 a segmentation fault might occur in worker process
9026 if the SSI command 'if expr="$var = /"' was used. 9026 if the SSI command 'if expr="$var = /"' was used.
9027 </para> 9027 </para>
9028 </change> 9028 </change>
9029 9029
9030 <change type="bugfix"> 9030 <change type="bugfix">
9031 <para lang="ru"> 9031 <para lang="ru">
9032 завершающая строка multipart range ответа передавалась неверно.<br/> 9032 п╥п╟п╡п╣я─я┬п╟я▌я┴п╟я▐ я│я┌я─п╬п╨п╟ multipart range п╬я┌п╡п╣я┌п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ п╫п╣п╡п╣я─п╫п╬.<br/>
9033 Спасибо Evan Miller. 9033 п║п©п╟я│п╦п╠п╬ Evan Miller.
9034 </para> 9034 </para>
9035 <para lang="en"> 9035 <para lang="en">
9036 trailing boundary of multipart range response was transferred incorrectly.<br/> 9036 trailing boundary of multipart range response was transferred incorrectly.<br/>
9037 Thanks to Evan Miller. 9037 Thanks to Evan Miller.
9038 </para> 9038 </para>
9039 </change> 9039 </change>
9040 9040
9041 <change type="bugfix"> 9041 <change type="bugfix">
9042 <para lang="ru"> 9042 <para lang="ru">
9043 nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 9043 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Solaris/sparc64, п╣я│п╩п╦ п╠я▀п╩ я│п╬п╠я─п╟п╫ Sun Studio.<br/>
9044 Спасибо Андрею Нигматулину. 9044 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9045 </para> 9045 </para>
9046 <para lang="en"> 9046 <para lang="en">
9047 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 9047 nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/>
9048 Thanks to Andrei Nigmatulin. 9048 Thanks to Andrei Nigmatulin.
9049 </para> 9049 </para>
9050 </change> 9050 </change>
9051 9051
9052 <change type="bugfix"> 9052 <change type="bugfix">
9053 <para lang="ru"> 9053 <para lang="ru">
9054 модуль ngx_http_perl_module не собирался make в Solaris.<br/> 9054 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ make п╡ Solaris.<br/>
9055 Спасибо Андрею Нигматулину. 9055 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9056 </para> 9056 </para>
9057 <para lang="en"> 9057 <para lang="en">
9058 the ngx_http_perl_module could not be built by Solaris make.<br/> 9058 the ngx_http_perl_module could not be built by Solaris make.<br/>
9059 Thanks to Andrei Nigmatulin. 9059 Thanks to Andrei Nigmatulin.
9060 </para> 9060 </para>
9065 9065
9066 <changes ver="0.5.19" date="24.04.2007"> 9066 <changes ver="0.5.19" date="24.04.2007">
9067 9067
9068 <change type="change"> 9068 <change type="change">
9069 <para lang="ru"> 9069 <para lang="ru">
9070 значение переменной $request_time теперь записывается с точностью 9070 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $request_time я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я│ я┌п╬я┤п╫п╬я│я┌я▄я▌
9071 до миллисекунд. 9071 п╢п╬ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢.
9072 </para> 9072 </para>
9073 <para lang="en"> 9073 <para lang="en">
9074 now the $request_time variable has millisecond precision. 9074 now the $request_time variable has millisecond precision.
9075 </para> 9075 </para>
9076 </change> 9076 </change>
9077 9077
9078 <change type="change"> 9078 <change type="change">
9079 <para lang="ru"> 9079 <para lang="ru">
9080 метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush. 9080 п╪п╣я┌п╬п╢ $r->rflush п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫ п╡ $r->flush.
9081 </para> 9081 </para>
9082 <para lang="en"> 9082 <para lang="en">
9083 the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. 9083 the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush.
9084 </para> 9084 </para>
9085 </change> 9085 </change>
9086 9086
9087 <change type="feature"> 9087 <change type="feature">
9088 <para lang="ru"> 9088 <para lang="ru">
9089 переменная $upstream_addr. 9089 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_addr.
9090 </para> 9090 </para>
9091 <para lang="en"> 9091 <para lang="en">
9092 the $upstream_addr variable. 9092 the $upstream_addr variable.
9093 </para> 9093 </para>
9094 </change> 9094 </change>
9095 9095
9096 <change type="feature"> 9096 <change type="feature">
9097 <para lang="ru"> 9097 <para lang="ru">
9098 директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/> 9098 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_headers_hash_max_size п╦ proxy_headers_hash_bucket_size.<br/>
9099 Спасибо Володымыру Костырко. 9099 п║п©п╟я│п╦п╠п╬ п▓п╬п╩п╬п╢я▀п╪я▀я─я┐ п п╬я│я┌я▀я─п╨п╬.
9100 </para> 9100 </para>
9101 <para lang="en"> 9101 <para lang="en">
9102 the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" 9102 the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size"
9103 directives.<br/> 9103 directives.<br/>
9104 Thanks to Volodymyr Kostyrko. 9104 Thanks to Volodymyr Kostyrko.
9105 </para> 9105 </para>
9106 </change> 9106 </change>
9107 9107
9108 <change type="bugfix"> 9108 <change type="bugfix">
9109 <para lang="ru"> 9109 <para lang="ru">
9110 при использовании sendfile и limit_rate на 64-битных платформах 9110 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╦ limit_rate п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘
9111 нельзя было передавать файлы больше 2G. 9111 п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G.
9112 </para> 9112 </para>
9113 <para lang="en"> 9113 <para lang="en">
9114 the files more than 2G could not be transferred using sendfile and limit_rate 9114 the files more than 2G could not be transferred using sendfile and limit_rate
9115 on 64-bit platforms. 9115 on 64-bit platforms.
9116 </para> 9116 </para>
9117 </change> 9117 </change>
9118 9118
9119 <change type="bugfix"> 9119 <change type="bugfix">
9120 <para lang="ru"> 9120 <para lang="ru">
9121 при использовании sendfile на 64-битном Linux нельзя было передавать файлы 9121 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╫п╟ 64-п╠п╦я┌п╫п╬п╪ Linux п╫п╣п╩я▄п╥я▐ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╡п╟я┌я▄ я└п╟п╧п╩я▀
9122 больше 2G. 9122 п╠п╬п╩я▄я┬п╣ 2G.
9123 </para> 9123 </para>
9124 <para lang="en"> 9124 <para lang="en">
9125 the files more than 2G could not be transferred using sendfile on 64-bit Linux. 9125 the files more than 2G could not be transferred using sendfile on 64-bit Linux.
9126 </para> 9126 </para>
9127 </change> 9127 </change>
9131 9131
9132 <changes ver="0.5.18" date="19.04.2007"> 9132 <changes ver="0.5.18" date="19.04.2007">
9133 9133
9134 <change type="feature"> 9134 <change type="feature">
9135 <para lang="ru"> 9135 <para lang="ru">
9136 модуль ngx_http_sub_filter_module. 9136 п╪п╬п╢я┐п╩я▄ ngx_http_sub_filter_module.
9137 </para> 9137 </para>
9138 <para lang="en"> 9138 <para lang="en">
9139 the ngx_http_sub_filter_module. 9139 the ngx_http_sub_filter_module.
9140 </para> 9140 </para>
9141 </change> 9141 </change>
9142 9142
9143 <change type="feature"> 9143 <change type="feature">
9144 <para lang="ru"> 9144 <para lang="ru">
9145 переменные "$upstream_http_...". 9145 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$upstream_http_...".
9146 </para> 9146 </para>
9147 <para lang="en"> 9147 <para lang="en">
9148 the "$upstream_http_..." variables. 9148 the "$upstream_http_..." variables.
9149 </para> 9149 </para>
9150 </change> 9150 </change>
9151 9151
9152 <change type="feature"> 9152 <change type="feature">
9153 <para lang="ru"> 9153 <para lang="ru">
9154 теперь переменные $upstream_status и $upstream_response_time 9154 я┌п╣п©п╣я─я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $upstream_status п╦ $upstream_response_time
9155 содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect. 9155 я│п╬п╢п╣я─п╤п╟я┌ п╢п╟п╫п╫я▀п╣ п╬ п╡я│п╣я┘ п╬п╠я─п╟я┴п╣п╫п╦я▐я┘ п╨ п╟п©я│я┌я─п╦п╪п╟п╪, я│п╢п╣п╩п╟п╫п╫я▀п╪ п╢п╬ X-Accel-Redirect.
9156 </para> 9156 </para>
9157 <para lang="en"> 9157 <para lang="en">
9158 now the $upstream_status and $upstream_response_time variables 9158 now the $upstream_status and $upstream_response_time variables
9159 keep data about all upstreams before X-Accel-Redirect. 9159 keep data about all upstreams before X-Accel-Redirect.
9160 </para> 9160 </para>
9161 </change> 9161 </change>
9162 9162
9163 <change type="bugfix"> 9163 <change type="bugfix">
9164 <para lang="ru"> 9164 <para lang="ru">
9165 если nginx был собран с модулем ngx_http_perl_module и perl 9165 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_perl_module п╦ perl
9166 не поддерживал multiplicity, то после первой переконфигурации 9166 п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ multiplicity, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╡п╬п╧ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
9167 и после получения любого сигнала 9167 п╦ п©п╬я│п╩п╣ п©п╬п╩я┐я┤п╣п╫п╦я▐ п╩я▌п╠п╬пЁп╬ я│п╦пЁп╫п╟п╩п╟
9168 в основном процессе происходил segmentation fault; 9168 п╡ п╬я│п╫п╬п╡п╫п╬п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
9169 ошибка появилась в 0.5.9. 9169 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.
9170 </para> 9170 </para>
9171 <para lang="en"> 9171 <para lang="en">
9172 a segmentation fault occurred in master process 9172 a segmentation fault occurred in master process
9173 after first reconfiguration and receiving any signal 9173 after first reconfiguration and receiving any signal
9174 if nginx was built with ngx_http_perl_module and perl 9174 if nginx was built with ngx_http_perl_module and perl
9177 </para> 9177 </para>
9178 </change> 9178 </change>
9179 9179
9180 <change type="bugfix"> 9180 <change type="bugfix">
9181 <para lang="ru"> 9181 <para lang="ru">
9182 если perl не поддерживал multiplicity, то после переконфигурации 9182 п╣я│п╩п╦ perl п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ multiplicity, я┌п╬ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
9183 перловый код не работал; 9183 п©п╣я─п╩п╬п╡я▀п╧ п╨п╬п╢ п╫п╣ я─п╟п╠п╬я┌п╟п╩;
9184 ошибка появилась в 0.3.38. 9184 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
9185 </para> 9185 </para>
9186 <para lang="en"> 9186 <para lang="en">
9187 if perl did not support multiplicity, then after reconfiguration 9187 if perl did not support multiplicity, then after reconfiguration
9188 perl code did not work; 9188 perl code did not work;
9189 the bug had appeared in 0.3.38. 9189 the bug had appeared in 0.3.38.
9195 9195
9196 <changes ver="0.5.17" date="02.04.2007"> 9196 <changes ver="0.5.17" date="02.04.2007">
9197 9197
9198 <change type="change"> 9198 <change type="change">
9199 <para lang="ru"> 9199 <para lang="ru">
9200 теперь nginx для метода TRACE всегда возвращает код 405. 9200 я┌п╣п©п╣я─я▄ nginx п╢п╩я▐ п╪п╣я┌п╬п╢п╟ TRACE п╡я│п╣пЁп╢п╟ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╨п╬п╢ 405.
9201 </para> 9201 </para>
9202 <para lang="en"> 9202 <para lang="en">
9203 now nginx always returns the 405 status for the TRACE method. 9203 now nginx always returns the 405 status for the TRACE method.
9204 </para> 9204 </para>
9205 </change> 9205 </change>
9206 9206
9207 <change type="feature"> 9207 <change type="feature">
9208 <para lang="ru"> 9208 <para lang="ru">
9209 теперь nginx поддерживает директиву include внутри блока types. 9209 я┌п╣п©п╣я─я▄ nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╦я─п╣п╨я┌п╦п╡я┐ include п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ types.
9210 </para> 9210 </para>
9211 <para lang="en"> 9211 <para lang="en">
9212 now nginx supports the "include" directive inside the "types" block. 9212 now nginx supports the "include" directive inside the "types" block.
9213 </para> 9213 </para>
9214 </change> 9214 </change>
9215 9215
9216 <change type="bugfix"> 9216 <change type="bugfix">
9217 <para lang="ru"> 9217 <para lang="ru">
9218 использование переменной $document_root в директиве root и alias 9218 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $document_root п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ root п╦ alias
9219 запрещено: оно вызывало рекурсивное переполнение стека. 9219 п╥п╟п©я─п╣я┴п╣п╫п╬: п╬п╫п╬ п╡я▀п╥я▀п╡п╟п╩п╬ я─п╣п╨я┐я─я│п╦п╡п╫п╬п╣ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦п╣ я│я┌п╣п╨п╟.
9220 </para> 9220 </para>
9221 <para lang="en"> 9221 <para lang="en">
9222 the $document_root variable usage in the "root" and "alias" directives 9222 the $document_root variable usage in the "root" and "alias" directives
9223 is disabled: this caused recursive stack overflow. 9223 is disabled: this caused recursive stack overflow.
9224 </para> 9224 </para>
9225 </change> 9225 </change>
9226 9226
9227 <change type="bugfix"> 9227 <change type="bugfix">
9228 <para lang="ru"> 9228 <para lang="ru">
9229 в использовании протокола HTTPS в директиве proxy_pass. 9229 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
9230 </para> 9230 </para>
9231 <para lang="en"> 9231 <para lang="en">
9232 in the HTTPS protocol in the "proxy_pass" directive. 9232 in the HTTPS protocol in the "proxy_pass" directive.
9233 </para> 9233 </para>
9234 </change> 9234 </change>
9235 9235
9236 <change type="bugfix"> 9236 <change type="bugfix">
9237 <para lang="ru"> 9237 <para lang="ru">
9238 в некоторых случаях некэшируемые переменные (такие, как $uri) 9238 п╡ п╫п╣п╨п╬я┌п╬я─я▀я┘ я│п╩я┐я┤п╟я▐я┘ п╫п╣п╨я█я┬п╦я─я┐п╣п╪я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ (я┌п╟п╨п╦п╣, п╨п╟п╨ $uri)
9239 возвращали старое закэшированное значение. 9239 п╡п╬п╥п╡я─п╟я┴п╟п╩п╦ я│я┌п╟я─п╬п╣ п╥п╟п╨я█я┬п╦я─п╬п╡п╟п╫п╫п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
9240 </para> 9240 </para>
9241 <para lang="en"> 9241 <para lang="en">
9242 in some cases non-cachable variables (such as $uri variable) 9242 in some cases non-cachable variables (such as $uri variable)
9243 returned old cached value. 9243 returned old cached value.
9244 </para> 9244 </para>
9249 9249
9250 <changes ver="0.5.16" date="26.03.2007"> 9250 <changes ver="0.5.16" date="26.03.2007">
9251 9251
9252 <change type="bugfix"> 9252 <change type="bugfix">
9253 <para lang="ru"> 9253 <para lang="ru">
9254 в качестве ключа для хэша в директиве ip_hash не использовалась сеть 9254 п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╨п╩я▌я┤п╟ п╢п╩я▐ я┘я█я┬п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ ip_hash п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ я│п╣я┌я▄
9255 класса С.<br/> 9255 п╨п╩п╟я│я│п╟ п║.<br/>
9256 Спасибо Павлу Ярковому. 9256 п║п©п╟я│п╦п╠п╬ п÷п╟п╡п╩я┐ п╞я─п╨п╬п╡п╬п╪я┐.
9257 </para> 9257 </para>
9258 <para lang="en"> 9258 <para lang="en">
9259 the C-class network was not used as hash key in the "ip_hash" directive.<br/> 9259 the C-class network was not used as hash key in the "ip_hash" directive.<br/>
9260 Thanks to Pavel Yarkovoy. 9260 Thanks to Pavel Yarkovoy.
9261 </para> 9261 </para>
9262 </change> 9262 </change>
9263 9263
9264 <change type="bugfix"> 9264 <change type="bugfix">
9265 <para lang="ru"> 9265 <para lang="ru">
9266 если в строке "Content-Type" в заголовке ответа бэкенда был указан charset 9266 п╣я│п╩п╦ п╡ я│я┌я─п╬п╨п╣ "Content-Type" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ charset
9267 и строка завершалась символом ";", 9267 п╦ я│я┌я─п╬п╨п╟ п╥п╟п╡п╣я─я┬п╟п╩п╟я│я▄ я│п╦п╪п╡п╬п╩п╬п╪ ";",
9268 то в рабочем процессе мог произойти segmentation fault; 9268 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
9269 ошибка появилась в 0.3.50. 9269 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
9270 </para> 9270 </para>
9271 <para lang="en"> 9271 <para lang="en">
9272 a segmentation fault might occur in worker process 9272 a segmentation fault might occur in worker process
9273 if a charset was set in the "Content-Type" header line and the line 9273 if a charset was set in the "Content-Type" header line and the line
9274 has trailing ";"; 9274 has trailing ";";
9276 </para> 9276 </para>
9277 </change> 9277 </change>
9278 9278
9279 <change type="bugfix"> 9279 <change type="bugfix">
9280 <para lang="ru"> 9280 <para lang="ru">
9281 ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если 9281 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪, п╣я│п╩п╦
9282 тело запроса, записанное во временный файл, было кратно 32K. 9282 я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟, п╥п╟п©п╦я│п╟п╫п╫п╬п╣ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩, п╠я▀п╩п╬ п╨я─п╟я┌п╫п╬ 32K.
9283 </para> 9283 </para>
9284 <para lang="en"> 9284 <para lang="en">
9285 the "[alert] zero size buf" error when FastCGI server was used and 9285 the "[alert] zero size buf" error when FastCGI server was used and
9286 a request body written in a temporary file was multiple of 32K. 9286 a request body written in a temporary file was multiple of 32K.
9287 </para> 9287 </para>
9288 </change> 9288 </change>
9289 9289
9290 <change type="bugfix"> 9290 <change type="bugfix">
9291 <para lang="ru"> 9291 <para lang="ru">
9292 nginx не собирался на Solaris без параметра --with-debug; 9292 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
9293 ошибка появилась в 0.5.15. 9293 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.15.
9294 </para> 9294 </para>
9295 <para lang="en"> 9295 <para lang="en">
9296 nginx could not be built on Solaris without the --with-debug option; 9296 nginx could not be built on Solaris without the --with-debug option;
9297 the bug had appeared in 0.5.15. 9297 the bug had appeared in 0.5.15.
9298 </para> 9298 </para>
9303 9303
9304 <changes ver="0.5.15" date="19.03.2007"> 9304 <changes ver="0.5.15" date="19.03.2007">
9305 9305
9306 <change type="feature"> 9306 <change type="feature">
9307 <para lang="ru"> 9307 <para lang="ru">
9308 почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и 9308 п©п╬я┤я┌п╬п╡я▀п╧ п©я─п╬п╨я│п╦-я│п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╟я┐я┌п╣п╫я┌п╦я└п╦я├п╦я─п╬п╡п╟п╫п╫п╬п╣ SMTP-п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣ п╦
9309 директивы smtp_auth, smtp_capablities и xclient.<br/> 9309 п╢п╦я─п╣п╨я┌п╦п╡я▀ smtp_auth, smtp_capablities п╦ xclient.<br/>
9310 Спасибо Антону Южанинову и Максиму Дунину. 9310 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п╝п╤п╟п╫п╦п╫п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
9311 </para> 9311 </para>
9312 <para lang="en"> 9312 <para lang="en">
9313 the mail proxy supports authenticated SMTP proxying and 9313 the mail proxy supports authenticated SMTP proxying and
9314 the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/> 9314 the "smtp_auth", "smtp_capablities", and "xclient" directives.<br/>
9315 Thanks to Anton Yuzhaninov and Maxim Dounin. 9315 Thanks to Anton Yuzhaninov and Maxim Dounin.
9316 </para> 9316 </para>
9317 </change> 9317 </change>
9318 9318
9319 <change type="feature"> 9319 <change type="feature">
9320 <para lang="ru"> 9320 <para lang="ru">
9321 теперь keep-alive соединения закрываются сразу же по получении сигнала 9321 я┌п╣п©п╣я─я▄ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╥п╟п╨я─я▀п╡п╟я▌я┌я│я▐ я│я─п╟п╥я┐ п╤п╣ п©п╬ п©п╬п╩я┐я┤п╣п╫п╦п╦ я│п╦пЁп╫п╟п╩п╟
9322 переконфигурации. 9322 п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
9323 </para> 9323 </para>
9324 <para lang="en"> 9324 <para lang="en">
9325 now the keep-alive connections are closed just after receiving 9325 now the keep-alive connections are closed just after receiving
9326 the reconfiguration signal. 9326 the reconfiguration signal.
9327 </para> 9327 </para>
9328 </change> 9328 </change>
9329 9329
9330 <change type="change"> 9330 <change type="change">
9331 <para lang="ru"> 9331 <para lang="ru">
9332 директивы imap и auth переименованы соответственно в mail и pop3_auth. 9332 п╢п╦я─п╣п╨я┌п╦п╡я▀ imap п╦ auth п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ mail п╦ pop3_auth.
9333 </para> 9333 </para>
9334 <para lang="en"> 9334 <para lang="en">
9335 the "imap" and "auth" directives were renamed 9335 the "imap" and "auth" directives were renamed
9336 to the "mail" and "pop3_auth" directives. 9336 to the "mail" and "pop3_auth" directives.
9337 </para> 9337 </para>
9338 </change> 9338 </change>
9339 9339
9340 <change type="bugfix"> 9340 <change type="bugfix">
9341 <para lang="ru"> 9341 <para lang="ru">
9342 если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP, 9342 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ CRAM-MD5 п╦ п╫п╣ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫ п╪п╣я┌п╬п╢ APOP,
9343 то в рабочем процессе происходил segmentation fault. 9343 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
9344 </para> 9344 </para>
9345 <para lang="en"> 9345 <para lang="en">
9346 a segmentation fault occurred in worker process 9346 a segmentation fault occurred in worker process
9347 if the CRAM-MD5 authentication method was used 9347 if the CRAM-MD5 authentication method was used
9348 and the APOP method was disabled. 9348 and the APOP method was disabled.
9349 </para> 9349 </para>
9350 </change> 9350 </change>
9351 9351
9352 <change type="bugfix"> 9352 <change type="bugfix">
9353 <para lang="ru"> 9353 <para lang="ru">
9354 при использовании директивы starttls only в протоколе POP3 nginx 9354 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ starttls only п╡ п©я─п╬я┌п╬п╨п╬п╩п╣ POP3 nginx
9355 разрешал аутентификацию без перехода в режим SSL. 9355 я─п╟п╥я─п╣я┬п╟п╩ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌ п╠п╣п╥ п©п╣я─п╣я┘п╬п╢п╟ п╡ я─п╣п╤п╦п╪ SSL.
9356 </para> 9356 </para>
9357 <para lang="en"> 9357 <para lang="en">
9358 if the "starttls only" directive was used in POP3 protocol, 9358 if the "starttls only" directive was used in POP3 protocol,
9359 then nginx allowed authentication without switching to the SSL mode. 9359 then nginx allowed authentication without switching to the SSL mode.
9360 </para> 9360 </para>
9361 </change> 9361 </change>
9362 9362
9363 <change type="bugfix"> 9363 <change type="bugfix">
9364 <para lang="ru"> 9364 <para lang="ru">
9365 рабочие процессы не выходили после переконфигурации и не переоткрывали логи, 9365 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╫п╣ п╡я▀я┘п╬п╢п╦п╩п╦ п©п╬я│п╩п╣ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╦ п╫п╣ п©п╣я─п╣п╬я┌п╨я─я▀п╡п╟п╩п╦ п╩п╬пЁп╦,
9366 если использовался метод eventport. 9366 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╪п╣я┌п╬п╢ eventport.
9367 </para> 9367 </para>
9368 <para lang="en"> 9368 <para lang="en">
9369 worker processes did not exit after reconfiguration and 9369 worker processes did not exit after reconfiguration and
9370 did not rotate logs if the eventport method was used. 9370 did not rotate logs if the eventport method was used.
9371 </para> 9371 </para>
9372 </change> 9372 </change>
9373 9373
9374 <change type="bugfix"> 9374 <change type="bugfix">
9375 <para lang="ru"> 9375 <para lang="ru">
9376 при использовании директивы ip_hash рабочий процесс мог зациклиться. 9376 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ ip_hash я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
9377 </para> 9377 </para>
9378 <para lang="en"> 9378 <para lang="en">
9379 a worker process may got caught in an endless loop, 9379 a worker process may got caught in an endless loop,
9380 if the "ip_hash" directive was used. 9380 if the "ip_hash" directive was used.
9381 </para> 9381 </para>
9382 </change> 9382 </change>
9383 9383
9384 <change type="bugfix"> 9384 <change type="bugfix">
9385 <para lang="ru"> 9385 <para lang="ru">
9386 теперь nginx не пишет в лог некоторые alert'ы, 9386 я┌п╣п©п╣я─я▄ nginx п╫п╣ п©п╦я┬п╣я┌ п╡ п╩п╬пЁ п╫п╣п╨п╬я┌п╬я─я▀п╣ alert'я▀,
9387 если используются методы eventport или /dev/poll. 9387 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ п╪п╣я┌п╬п╢я▀ eventport п╦п╩п╦ /dev/poll.
9388 </para> 9388 </para>
9389 <para lang="en"> 9389 <para lang="en">
9390 now nginx does not log some alerts if eventport or /dev/poll methods are used. 9390 now nginx does not log some alerts if eventport or /dev/poll methods are used.
9391 </para> 9391 </para>
9392 </change> 9392 </change>
9396 9396
9397 <changes ver="0.5.14" date="23.02.2007"> 9397 <changes ver="0.5.14" date="23.02.2007">
9398 9398
9399 <change type="bugfix"> 9399 <change type="bugfix">
9400 <para lang="ru"> 9400 <para lang="ru">
9401 nginx игнорировал лишние закрывающие скобки "}" в конце 9401 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╩п╦я┬п╫п╦п╣ п╥п╟п╨я─я▀п╡п╟я▌я┴п╦п╣ я│п╨п╬п╠п╨п╦ "}" п╡ п╨п╬п╫я├п╣
9402 конфигурационного файла. 9402 п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟.
9403 </para> 9403 </para>
9404 <para lang="en"> 9404 <para lang="en">
9405 nginx ignored superfluous closing "}" in the end of configuration file. 9405 nginx ignored superfluous closing "}" in the end of configuration file.
9406 </para> 9406 </para>
9407 </change> 9407 </change>
9411 9411
9412 <changes ver="0.5.13" date="19.02.2007"> 9412 <changes ver="0.5.13" date="19.02.2007">
9413 9413
9414 <change type="feature"> 9414 <change type="feature">
9415 <para lang="ru"> 9415 <para lang="ru">
9416 методы COPY и MOVE. 9416 п╪п╣я┌п╬п╢я▀ COPY п╦ MOVE.
9417 </para> 9417 </para>
9418 <para lang="en"> 9418 <para lang="en">
9419 the COPY and MOVE methods. 9419 the COPY and MOVE methods.
9420 </para> 9420 </para>
9421 </change> 9421 </change>
9422 9422
9423 <change type="bugfix"> 9423 <change type="bugfix">
9424 <para lang="ru"> 9424 <para lang="ru">
9425 модуль ngx_http_realip_module устанавливал мусор для запросов, 9425 п╪п╬п╢я┐п╩я▄ ngx_http_realip_module я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩ п╪я┐я│п╬я─ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡,
9426 переданных по keep-alive соединению. 9426 п©п╣я─п╣п╢п╟п╫п╫я▀я┘ п©п╬ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
9427 </para> 9427 </para>
9428 <para lang="en"> 9428 <para lang="en">
9429 the ngx_http_realip_module set garbage for requests passed via 9429 the ngx_http_realip_module set garbage for requests passed via
9430 keep-alive connection. 9430 keep-alive connection.
9431 </para> 9431 </para>
9432 </change> 9432 </change>
9433 9433
9434 <change type="bugfix"> 9434 <change type="bugfix">
9435 <para lang="ru"> 9435 <para lang="ru">
9436 nginx не работал на 64-битном big-endian Linux.<br/> 9436 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ 64-п╠п╦я┌п╫п╬п╪ big-endian Linux.<br/>
9437 Спасибо Андрею Нигматулину. 9437 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
9438 </para> 9438 </para>
9439 <para lang="en"> 9439 <para lang="en">
9440 nginx did not work on big-endian 64-bit Linux.<br/> 9440 nginx did not work on big-endian 64-bit Linux.<br/>
9441 Thanks to Andrei Nigmatulin. 9441 Thanks to Andrei Nigmatulin.
9442 </para> 9442 </para>
9443 </change> 9443 </change>
9444 9444
9445 <change type="bugfix"> 9445 <change type="bugfix">
9446 <para lang="ru"> 9446 <para lang="ru">
9447 при получении слишком длинной команды IMAP/POP3-прокси теперь сразу 9447 п©я─п╦ п©п╬п╩я┐я┤п╣п╫п╦п╦ я│п╩п╦я┬п╨п╬п╪ п╢п╩п╦п╫п╫п╬п╧ п╨п╬п╪п╟п╫п╢я▀ IMAP/POP3-п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ я│я─п╟п╥я┐
9448 закрывает соединение, а не по таймауту. 9448 п╥п╟п╨я─я▀п╡п╟п╣я┌ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣, п╟ п╫п╣ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
9449 </para> 9449 </para>
9450 <para lang="en"> 9450 <para lang="en">
9451 now when IMAP/POP3 proxy receives too long command it closes the connection 9451 now when IMAP/POP3 proxy receives too long command it closes the connection
9452 right away, but not after timeout. 9452 right away, but not after timeout.
9453 </para> 9453 </para>
9454 </change> 9454 </change>
9455 9455
9456 <change type="bugfix"> 9456 <change type="bugfix">
9457 <para lang="ru"> 9457 <para lang="ru">
9458 если при использовании метода epoll клиент закрывал преждевременно 9458 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ epoll п╨п╩п╦п╣п╫я┌ п╥п╟п╨я─я▀п╡п╟п╩ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬
9459 соединение со своей стороны, то nginx закрывал это соединение только 9459 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│п╬ я│п╡п╬п╣п╧ я│я┌п╬я─п╬п╫я▀, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я█я┌п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я┌п╬п╩я▄п╨п╬
9460 по истечении таймаута на передачу. 9460 п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ я┌п╟п╧п╪п╟я┐я┌п╟ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐.
9461 </para> 9461 </para>
9462 <para lang="en"> 9462 <para lang="en">
9463 if the "epoll" method was used and a client closed a connection prematurely, 9463 if the "epoll" method was used and a client closed a connection prematurely,
9464 then nginx closed the connection after a send timeout only. 9464 then nginx closed the connection after a send timeout only.
9465 </para> 9465 </para>
9466 </change> 9466 </change>
9467 9467
9468 <change type="bugfix"> 9468 <change type="bugfix">
9469 <para lang="ru"> 9469 <para lang="ru">
9470 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 9470 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
9471 ошибка появилась в 0.5.8. 9471 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9472 </para> 9472 </para>
9473 <para lang="en"> 9473 <para lang="en">
9474 nginx could not be built on platforms different from i386, amd64, sparc, 9474 nginx could not be built on platforms different from i386, amd64, sparc,
9475 and ppc; 9475 and ppc;
9476 the bug had appeared in 0.5.8. 9476 the bug had appeared in 0.5.8.
9482 9482
9483 <changes ver="0.5.12" date="12.02.2007"> 9483 <changes ver="0.5.12" date="12.02.2007">
9484 9484
9485 <change type="bugfix"> 9485 <change type="bugfix">
9486 <para lang="ru"> 9486 <para lang="ru">
9487 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 9487 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
9488 ошибка появилась в 0.5.8. 9488 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9489 </para> 9489 </para>
9490 <para lang="en"> 9490 <para lang="en">
9491 nginx could not be built on platforms different from i386, amd64, sparc, 9491 nginx could not be built on platforms different from i386, amd64, sparc,
9492 and ppc; 9492 and ppc;
9493 the bug had appeared in 0.5.8. 9493 the bug had appeared in 0.5.8.
9494 </para> 9494 </para>
9495 </change> 9495 </change>
9496 9496
9497 <change type="bugfix"> 9497 <change type="bugfix">
9498 <para lang="ru"> 9498 <para lang="ru">
9499 при использовании временных файлов в время работы с FastCGI-сервером 9499 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╡ п╡я─п╣п╪я▐ я─п╟п╠п╬я┌я▀ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪
9500 в рабочем процессе мог произойти segmentation fault; 9500 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
9501 ошибка появилась в 0.5.8. 9501 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.8.
9502 </para> 9502 </para>
9503 <para lang="en"> 9503 <para lang="en">
9504 a segmentation fault might occur in worker process 9504 a segmentation fault might occur in worker process
9505 if the temporary files were used while working with FastCGI server; 9505 if the temporary files were used while working with FastCGI server;
9506 the bug had appeared in 0.5.8. 9506 the bug had appeared in 0.5.8.
9507 </para> 9507 </para>
9508 </change> 9508 </change>
9509 9509
9510 <change type="bugfix"> 9510 <change type="bugfix">
9511 <para lang="ru"> 9511 <para lang="ru">
9512 если переменная $fastcgi_script_name записывалась в лог, 9512 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $fastcgi_script_name п╥п╟п©п╦я│я▀п╡п╟п╩п╟я│я▄ п╡ п╩п╬пЁ,
9513 то в рабочем процессе мог произойти segmentation fault. 9513 я┌п╬ п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9514 </para> 9514 </para>
9515 <para lang="en"> 9515 <para lang="en">
9516 a segmentation fault might occur in worker process 9516 a segmentation fault might occur in worker process
9517 if the $fastcgi_script_name variable was logged. 9517 if the $fastcgi_script_name variable was logged.
9518 </para> 9518 </para>
9519 </change> 9519 </change>
9520 9520
9521 <change type="bugfix"> 9521 <change type="bugfix">
9522 <para lang="ru"> 9522 <para lang="ru">
9523 ngx_http_perl_module не собирался на Solaris. 9523 ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Solaris.
9524 </para> 9524 </para>
9525 <para lang="en"> 9525 <para lang="en">
9526 ngx_http_perl_module could not be built on Solaris. 9526 ngx_http_perl_module could not be built on Solaris.
9527 </para> 9527 </para>
9528 </change> 9528 </change>
9532 9532
9533 <changes ver="0.5.11" date="05.02.2007"> 9533 <changes ver="0.5.11" date="05.02.2007">
9534 9534
9535 <change type="feature"> 9535 <change type="feature">
9536 <para lang="ru"> 9536 <para lang="ru">
9537 теперь configure определяет библиотеку PCRE в MacPorts.<br/> 9537 я┌п╣п©п╣я─я▄ configure п╬п©я─п╣п╢п╣п╩я▐п╣я┌ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ PCRE п╡ MacPorts.<br/>
9538 Спасибо Chris McGrath. 9538 п║п©п╟я│п╦п╠п╬ Chris McGrath.
9539 </para> 9539 </para>
9540 <para lang="en"> 9540 <para lang="en">
9541 now configure detects system PCRE library in MacPorts.<br/> 9541 now configure detects system PCRE library in MacPorts.<br/>
9542 Thanks to Chris McGrath. 9542 Thanks to Chris McGrath.
9543 </para> 9543 </para>
9544 </change> 9544 </change>
9545 9545
9546 <change type="bugfix"> 9546 <change type="bugfix">
9547 <para lang="ru"> 9547 <para lang="ru">
9548 ответ был неверным, если запрашивалось несколько диапазонов; 9548 п╬я┌п╡п╣я┌ п╠я▀п╩ п╫п╣п╡п╣я─п╫я▀п╪, п╣я│п╩п╦ п╥п╟п©я─п╟я┬п╦п╡п╟п╩п╬я│я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦п╟п©п╟п╥п╬п╫п╬п╡;
9549 ошибка появилась в 0.5.6. 9549 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.6.
9550 </para> 9550 </para>
9551 <para lang="en"> 9551 <para lang="en">
9552 the response was incorrect if several ranges were requested; 9552 the response was incorrect if several ranges were requested;
9553 the bug had appeared in 0.5.6. 9553 the bug had appeared in 0.5.6.
9554 </para> 9554 </para>
9555 </change> 9555 </change>
9556 9556
9557 <change type="bugfix"> 9557 <change type="bugfix">
9558 <para lang="ru"> 9558 <para lang="ru">
9559 директива create_full_put_path не могла создавать промежуточные каталоги, 9559 п╢п╦я─п╣п╨я┌п╦п╡п╟ create_full_put_path п╫п╣ п╪п╬пЁп╩п╟ я│п╬п╥п╢п╟п╡п╟я┌я▄ п©я─п╬п╪п╣п╤я┐я┌п╬я┤п╫я▀п╣ п╨п╟я┌п╟п╩п╬пЁп╦,
9560 если не была установлена директива dav_access.<br/> 9560 п╣я│п╩п╦ п╫п╣ п╠я▀п╩п╟ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access.<br/>
9561 Спасибо Evan Miller. 9561 п║п©п╟я│п╦п╠п╬ Evan Miller.
9562 </para> 9562 </para>
9563 <para lang="en"> 9563 <para lang="en">
9564 the "create_full_put_path" directive could not create the intermediate 9564 the "create_full_put_path" directive could not create the intermediate
9565 directories if no "dav_access" directive was set.<br/> 9565 directories if no "dav_access" directive was set.<br/>
9566 Thanks to Evan Miller. 9566 Thanks to Evan Miller.
9567 </para> 9567 </para>
9568 </change> 9568 </change>
9569 9569
9570 <change type="bugfix"> 9570 <change type="bugfix">
9571 <para lang="ru"> 9571 <para lang="ru">
9572 вместо кодов ошибок "400" и "408" в access_log мог записываться код "0". 9572 п╡п╪п╣я│я┌п╬ п╨п╬п╢п╬п╡ п╬я┬п╦п╠п╬п╨ "400" п╦ "408" п╡ access_log п╪п╬пЁ п╥п╟п©п╦я│я▀п╡п╟я┌я▄я│я▐ п╨п╬п╢ "0".
9573 </para> 9573 </para>
9574 <para lang="en"> 9574 <para lang="en">
9575 the "0" response code might be logged in the access_log instead of 9575 the "0" response code might be logged in the access_log instead of
9576 the "400" and "408" error codes. 9576 the "400" and "408" error codes.
9577 </para> 9577 </para>
9578 </change> 9578 </change>
9579 9579
9580 <change type="bugfix"> 9580 <change type="bugfix">
9581 <para lang="ru"> 9581 <para lang="ru">
9582 при сборке с оптимизацией -O2 в рабочем процессе мог произойти 9582 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ -O2 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
9583 segmentation fault. 9583 segmentation fault.
9584 </para> 9584 </para>
9585 <para lang="en"> 9585 <para lang="en">
9586 a segmentation fault might occur in worker process 9586 a segmentation fault might occur in worker process
9587 if nginx was built with -O2 optimization. 9587 if nginx was built with -O2 optimization.
9593 9593
9594 <changes ver="0.5.10" date="26.01.2007"> 9594 <changes ver="0.5.10" date="26.01.2007">
9595 9595
9596 <change type="bugfix"> 9596 <change type="bugfix">
9597 <para lang="ru"> 9597 <para lang="ru">
9598 во время обновления исполняемого файла новый процесс не наследовал 9598 п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╬п╡я▀п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩
9599 слушающие сокеты; 9599 я│п╩я┐я┬п╟я▌я┴п╦п╣ я│п╬п╨п╣я┌я▀;
9600 ошибка появилась в 0.5.9. 9600 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.9.
9601 </para> 9601 </para>
9602 <para lang="en"> 9602 <para lang="en">
9603 while online executable file upgrade the new master process did not 9603 while online executable file upgrade the new master process did not
9604 inherit the listening sockets; 9604 inherit the listening sockets;
9605 the bug had appeared in 0.5.9. 9605 the bug had appeared in 0.5.9.
9606 </para> 9606 </para>
9607 </change> 9607 </change>
9608 9608
9609 <change type="bugfix"> 9609 <change type="bugfix">
9610 <para lang="ru"> 9610 <para lang="ru">
9611 при сборке с оптимизацией -O2 в рабочем процессе мог произойти 9611 п©я─п╦ я│п╠п╬я─п╨п╣ я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ -O2 п╡ я─п╟п╠п╬я┤п╣п╪ п©я─п╬я├п╣я│я│п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
9612 segmentation fault; 9612 segmentation fault;
9613 ошибка появилась в 0.5.1. 9613 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.1.
9614 </para> 9614 </para>
9615 <para lang="en"> 9615 <para lang="en">
9616 a segmentation fault might occur in worker process 9616 a segmentation fault might occur in worker process
9617 if nginx was built with -O2 optimization; 9617 if nginx was built with -O2 optimization;
9618 the bug had appeared in 0.5.1. 9618 the bug had appeared in 0.5.1.
9624 9624
9625 <changes ver="0.5.9" date="25.01.2007"> 9625 <changes ver="0.5.9" date="25.01.2007">
9626 9626
9627 <change type="change"> 9627 <change type="change">
9628 <para lang="ru"> 9628 <para lang="ru">
9629 модуль ngx_http_memcached_module теперь в качестве ключа использует 9629 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module я┌п╣п©п╣я─я▄ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╨п╩я▌я┤п╟ п╦я│п©п╬п╩я▄п╥я┐п╣я┌
9630 значение переменной $memcached_key. 9630 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $memcached_key.
9631 </para> 9631 </para>
9632 <para lang="en"> 9632 <para lang="en">
9633 now the ngx_http_memcached_module uses the $memcached_key variable value 9633 now the ngx_http_memcached_module uses the $memcached_key variable value
9634 as a key. 9634 as a key.
9635 </para> 9635 </para>
9636 </change> 9636 </change>
9637 9637
9638 <change type="feature"> 9638 <change type="feature">
9639 <para lang="ru"> 9639 <para lang="ru">
9640 переменная $memcached_key. 9640 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $memcached_key.
9641 </para> 9641 </para>
9642 <para lang="en"> 9642 <para lang="en">
9643 the $memcached_key variable. 9643 the $memcached_key variable.
9644 </para> 9644 </para>
9645 </change> 9645 </change>
9646 9646
9647 <change type="feature"> 9647 <change type="feature">
9648 <para lang="ru"> 9648 <para lang="ru">
9649 параметр clean в директиве client_body_in_file_only. 9649 п©п╟я─п╟п╪п╣я┌я─ clean п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ client_body_in_file_only.
9650 </para> 9650 </para>
9651 <para lang="en"> 9651 <para lang="en">
9652 the "clean" parameter in the "client_body_in_file_only" directive. 9652 the "clean" parameter in the "client_body_in_file_only" directive.
9653 </para> 9653 </para>
9654 </change> 9654 </change>
9655 9655
9656 <change type="feature"> 9656 <change type="feature">
9657 <para lang="ru"> 9657 <para lang="ru">
9658 директива env. 9658 п╢п╦я─п╣п╨я┌п╦п╡п╟ env.
9659 </para> 9659 </para>
9660 <para lang="en"> 9660 <para lang="en">
9661 the "env" directive. 9661 the "env" directive.
9662 </para> 9662 </para>
9663 </change> 9663 </change>
9664 9664
9665 <change type="feature"> 9665 <change type="feature">
9666 <para lang="ru"> 9666 <para lang="ru">
9667 директива sendfile работает внутри блока if. 9667 п╢п╦я─п╣п╨я┌п╦п╡п╟ sendfile я─п╟п╠п╬я┌п╟п╣я┌ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
9668 </para> 9668 </para>
9669 <para lang="en"> 9669 <para lang="en">
9670 the "sendfile" directive is available inside the "if" block. 9670 the "sendfile" directive is available inside the "if" block.
9671 </para> 9671 </para>
9672 </change> 9672 </change>
9673 9673
9674 <change type="feature"> 9674 <change type="feature">
9675 <para lang="ru"> 9675 <para lang="ru">
9676 теперь при ошибке записи в access_log nginx записывает сообщение в error_log, 9676 я┌п╣п©п╣я─я▄ п©я─п╦ п╬я┬п╦п╠п╨п╣ п╥п╟п©п╦я│п╦ п╡ access_log nginx п╥п╟п©п╦я│я▀п╡п╟п╣я┌ я│п╬п╬п╠я┴п╣п╫п╦п╣ п╡ error_log,
9677 но не чаще одного раза в минуту. 9677 п╫п╬ п╫п╣ я┤п╟я┴п╣ п╬п╢п╫п╬пЁп╬ я─п╟п╥п╟ п╡ п╪п╦п╫я┐я┌я┐.
9678 </para> 9678 </para>
9679 <para lang="en"> 9679 <para lang="en">
9680 now on failure of the writing to access nginx logs a message to error_log, 9680 now on failure of the writing to access nginx logs a message to error_log,
9681 but not more often than once a minute. 9681 but not more often than once a minute.
9682 </para> 9682 </para>
9683 </change> 9683 </change>
9684 9684
9685 <change type="bugfix"> 9685 <change type="bugfix">
9686 <para lang="ru"> 9686 <para lang="ru">
9687 директива "access_log off" не всегда запрещала запись в лог. 9687 п╢п╦я─п╣п╨я┌п╦п╡п╟ "access_log off" п╫п╣ п╡я│п╣пЁп╢п╟ п╥п╟п©я─п╣я┴п╟п╩п╟ п╥п╟п©п╦я│я▄ п╡ п╩п╬пЁ.
9688 </para> 9688 </para>
9689 <para lang="en"> 9689 <para lang="en">
9690 the "access_log off" directive did not always turn off the logging. 9690 the "access_log off" directive did not always turn off the logging.
9691 </para> 9691 </para>
9692 </change> 9692 </change>
9696 9696
9697 <changes ver="0.5.8" date="19.01.2007"> 9697 <changes ver="0.5.8" date="19.01.2007">
9698 9698
9699 <change type="bugfix"> 9699 <change type="bugfix">
9700 <para lang="ru"> 9700 <para lang="ru">
9701 если использовалась директива <nobr>"client_body_in_file_only on"</nobr> 9701 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ <nobr>"client_body_in_file_only on"</nobr>
9702 и тело запроса было небольшое, то мог произойти segmentation fault. 9702 п╦ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠я▀п╩п╬ п╫п╣п╠п╬п╩я▄я┬п╬п╣, я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9703 </para> 9703 </para>
9704 <para lang="en"> 9704 <para lang="en">
9705 a segmentation fault might occur if 9705 a segmentation fault might occur if
9706 <nobr>"client_body_in_file_only on"</nobr> was used 9706 <nobr>"client_body_in_file_only on"</nobr> was used
9707 and a request body was small. 9707 and a request body was small.
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 происходил segmentation fault, если использовались директивы 9713 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╢п╦я─п╣п╨я┌п╦п╡я▀
9714 <nobr>"client_body_in_file_only on"</nobr> 9714 <nobr>"client_body_in_file_only on"</nobr>
9715 и <nobr>"proxy_pass_request_body off"</nobr> 9715 п╦ <nobr>"proxy_pass_request_body off"</nobr>
9716 или <nobr>"fastcgi_pass_request_body off"</nobr>, 9716 п╦п╩п╦ <nobr>"fastcgi_pass_request_body off"</nobr>,
9717 и делался переход к следующему бэкенду. 9717 п╦ п╢п╣п╩п╟п╩я│я▐ п©п╣я─п╣я┘п╬п╢ п╨ я│п╩п╣п╢я┐я▌я┴п╣п╪я┐ п╠я█п╨п╣п╫п╢я┐.
9718 </para> 9718 </para>
9719 <para lang="en"> 9719 <para lang="en">
9720 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 9720 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
9721 and <nobr>"proxy_pass_request_body off"</nobr> 9721 and <nobr>"proxy_pass_request_body off"</nobr>
9722 or <nobr>"fastcgi_pass_request_body off"</nobr> 9722 or <nobr>"fastcgi_pass_request_body off"</nobr>
9724 </para> 9724 </para>
9725 </change> 9725 </change>
9726 9726
9727 <change type="bugfix"> 9727 <change type="bugfix">
9728 <para lang="ru"> 9728 <para lang="ru">
9729 если при использовании директивы "proxy_buffering off" соединение с клиентом 9729 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ "proxy_buffering off" я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╨п╩п╦п╣п╫я┌п╬п╪
9730 было неактивно, то оно закрывалось по таймауту, заданному директивой 9730 п╠я▀п╩п╬ п╫п╣п╟п╨я┌п╦п╡п╫п╬, я┌п╬ п╬п╫п╬ п╥п╟п╨я─я▀п╡п╟п╩п╬я│я▄ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐, п╥п╟п╢п╟п╫п╫п╬п╪я┐ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
9731 send_timeout; 9731 send_timeout;
9732 ошибка появилась в 0.4.7. 9732 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.7.
9733 </para> 9733 </para>
9734 <para lang="en"> 9734 <para lang="en">
9735 if the "proxy_buffering off" directive was used and a client connection 9735 if the "proxy_buffering off" directive was used and a client connection
9736 was non-active, then the connection was closed after send timeout; 9736 was non-active, then the connection was closed after send timeout;
9737 the bug had appeared in 0.4.7. 9737 the bug had appeared in 0.4.7.
9738 </para> 9738 </para>
9739 </change> 9739 </change>
9740 9740
9741 <change type="bugfix"> 9741 <change type="bugfix">
9742 <para lang="ru"> 9742 <para lang="ru">
9743 если при использовании метода epoll клиент закрывал преждевременно 9743 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ epoll п╨п╩п╦п╣п╫я┌ п╥п╟п╨я─я▀п╡п╟п╩ п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬
9744 соединение со своей стороны, то nginx закрывал это соединение только 9744 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│п╬ я│п╡п╬п╣п╧ я│я┌п╬я─п╬п╫я▀, я┌п╬ nginx п╥п╟п╨я─я▀п╡п╟п╩ я█я┌п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я┌п╬п╩я▄п╨п╬
9745 по истечении таймаута на передачу. 9745 п©п╬ п╦я│я┌п╣я┤п╣п╫п╦п╦ я┌п╟п╧п╪п╟я┐я┌п╟ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐.
9746 </para> 9746 </para>
9747 <para lang="en"> 9747 <para lang="en">
9748 if the "epoll" method was used and a client closed a connection prematurely, 9748 if the "epoll" method was used and a client closed a connection prematurely,
9749 then nginx closed the connection after a send timeout only. 9749 then nginx closed the connection after a send timeout only.
9750 </para> 9750 </para>
9751 </change> 9751 </change>
9752 9752
9753 <change type="bugfix"> 9753 <change type="bugfix">
9754 <para lang="ru"> 9754 <para lang="ru">
9755 ошибки "[alert] zero size buf" при работе с FastCGI-сервером. 9755 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪.
9756 </para> 9756 </para>
9757 <para lang="en"> 9757 <para lang="en">
9758 the "[alert] zero size buf" error when FastCGI server was used. 9758 the "[alert] zero size buf" error when FastCGI server was used.
9759 </para> 9759 </para>
9760 </change> 9760 </change>
9761 9761
9762 <change> 9762 <change>
9763 <para lang="ru"> 9763 <para lang="ru">
9764 Исправление ошибок в директиве limit_zone. 9764 п≤я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ limit_zone.
9765 </para> 9765 </para>
9766 <para lang="en"> 9766 <para lang="en">
9767 Bugfixes in the "limit_zone" directive. 9767 Bugfixes in the "limit_zone" directive.
9768 </para> 9768 </para>
9769 </change> 9769 </change>
9773 9773
9774 <changes ver="0.5.7" date="15.01.2007"> 9774 <changes ver="0.5.7" date="15.01.2007">
9775 9775
9776 <change type="feature"> 9776 <change type="feature">
9777 <para lang="ru"> 9777 <para lang="ru">
9778 оптимизация использования памяти в ssl_session_cache. 9778 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п©п╟п╪я▐я┌п╦ п╡ ssl_session_cache.
9779 </para> 9779 </para>
9780 <para lang="en"> 9780 <para lang="en">
9781 the ssl_session_cache storage optimization. 9781 the ssl_session_cache storage optimization.
9782 </para> 9782 </para>
9783 </change> 9783 </change>
9784 9784
9785 <change> 9785 <change>
9786 <para lang="ru"> 9786 <para lang="ru">
9787 Исправление ошибок в директивах ssl_session_cache и limit_zone. 9787 п≤я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╬я┬п╦п╠п╬п╨ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ ssl_session_cache п╦ limit_zone.
9788 </para> 9788 </para>
9789 <para lang="en"> 9789 <para lang="en">
9790 Bugfixes in the "ssl_session_cache" and "limit_zone" directives. 9790 Bugfixes in the "ssl_session_cache" and "limit_zone" directives.
9791 </para> 9791 </para>
9792 </change> 9792 </change>
9793 9793
9794 <change type="bugfix"> 9794 <change type="bugfix">
9795 <para lang="ru"> 9795 <para lang="ru">
9796 на старте или во время переконфигурации происходил segmentation fault, 9796 п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault,
9797 если директивы ssl_session_cache или limit_zone использовались 9797 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_session_cache п╦п╩п╦ limit_zone п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄
9798 на 64-битных платформах. 9798 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘.
9799 </para> 9799 </para>
9800 <para lang="en"> 9800 <para lang="en">
9801 the segmentation fault was occurred on start or while reconfiguration 9801 the segmentation fault was occurred on start or while reconfiguration
9802 if the "ssl_session_cache" or "limit_zone" directives were used 9802 if the "ssl_session_cache" or "limit_zone" directives were used
9803 on 64-bit platforms. 9803 on 64-bit platforms.
9804 </para> 9804 </para>
9805 </change> 9805 </change>
9806 9806
9807 <change type="bugfix"> 9807 <change type="bugfix">
9808 <para lang="ru"> 9808 <para lang="ru">
9809 при использовании директив add_before_body или add_after_body происходил 9809 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡ add_before_body п╦п╩п╦ add_after_body п©я─п╬п╦я│я┘п╬п╢п╦п╩
9810 segmentation fault, если в заголовке ответа нет строки "Content-Type". 9810 segmentation fault, п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╫п╣я┌ я│я┌я─п╬п╨п╦ "Content-Type".
9811 </para> 9811 </para>
9812 <para lang="en"> 9812 <para lang="en">
9813 a segmentation fault occurred if the "add_before_body" or "add_after_body" 9813 a segmentation fault occurred if the "add_before_body" or "add_after_body"
9814 directives were used and there was no "Content-Type" header line in response. 9814 directives were used and there was no "Content-Type" header line in response.
9815 </para> 9815 </para>
9816 </change> 9816 </change>
9817 9817
9818 <change type="bugfix"> 9818 <change type="bugfix">
9819 <para lang="ru"> 9819 <para lang="ru">
9820 библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/> 9820 п╠п╦п╠п╩п╦п╬я┌п╣п╨п╟ OpenSSL п╡я│п╣пЁп╢п╟ я│п╬п╠п╦я─п╟п╩п╟я│я▄ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡.<br/>
9821 Спасибо Дену Иванову. 9821 п║п©п╟я│п╦п╠п╬ п■п╣п╫я┐ п≤п╡п╟п╫п╬п╡я┐.
9822 </para> 9822 </para>
9823 <para lang="en"> 9823 <para lang="en">
9824 the OpenSSL library was always built with the threads support.<br/> 9824 the OpenSSL library was always built with the threads support.<br/>
9825 Thanks to Den Ivanov. 9825 Thanks to Den Ivanov.
9826 </para> 9826 </para>
9827 </change> 9827 </change>
9828 9828
9829 <change type="bugfix"> 9829 <change type="bugfix">
9830 <para lang="ru"> 9830 <para lang="ru">
9831 совместимость библиотеки PCRE-6.5+ и компилятора icc. 9831 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╦ PCRE-6.5+ п╦ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟ icc.
9832 </para> 9832 </para>
9833 <para lang="en"> 9833 <para lang="en">
9834 the PCRE-6.5+ library and the icc compiler compatibility. 9834 the PCRE-6.5+ library and the icc compiler compatibility.
9835 </para> 9835 </para>
9836 </change> 9836 </change>
9840 9840
9841 <changes ver="0.5.6" date="09.01.2007"> 9841 <changes ver="0.5.6" date="09.01.2007">
9842 9842
9843 <change type="change"> 9843 <change type="change">
9844 <para lang="ru"> 9844 <para lang="ru">
9845 теперь модуль ngx_http_index_module игнорирует все методы, 9845 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_index_module п╦пЁп╫п╬я─п╦я─я┐п╣я┌ п╡я│п╣ п╪п╣я┌п╬п╢я▀,
9846 кроме GET, HEAD и POST. 9846 п╨я─п╬п╪п╣ GET, HEAD п╦ POST.
9847 </para> 9847 </para>
9848 <para lang="en"> 9848 <para lang="en">
9849 now the ngx_http_index_module ignores all methods except the GET, HEAD, and 9849 now the ngx_http_index_module ignores all methods except the GET, HEAD, and
9850 POST methods. 9850 POST methods.
9851 </para> 9851 </para>
9852 </change> 9852 </change>
9853 9853
9854 <change type="feature"> 9854 <change type="feature">
9855 <para lang="ru"> 9855 <para lang="ru">
9856 модуль ngx_http_limit_zone_module. 9856 п╪п╬п╢я┐п╩я▄ ngx_http_limit_zone_module.
9857 </para> 9857 </para>
9858 <para lang="en"> 9858 <para lang="en">
9859 the ngx_http_limit_zone_module. 9859 the ngx_http_limit_zone_module.
9860 </para> 9860 </para>
9861 </change> 9861 </change>
9862 9862
9863 <change type="feature"> 9863 <change type="feature">
9864 <para lang="ru"> 9864 <para lang="ru">
9865 переменная $binary_remote_addr. 9865 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $binary_remote_addr.
9866 </para> 9866 </para>
9867 <para lang="en"> 9867 <para lang="en">
9868 the $binary_remote_addr variable. 9868 the $binary_remote_addr variable.
9869 </para> 9869 </para>
9870 </change> 9870 </change>
9871 9871
9872 <change type="feature"> 9872 <change type="feature">
9873 <para lang="ru"> 9873 <para lang="ru">
9874 директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module. 9874 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_session_cache п╪п╬п╢я┐п╩п╣п╧ ngx_http_ssl_module п╦ ngx_imap_ssl_module.
9875 </para> 9875 </para>
9876 <para lang="en"> 9876 <para lang="en">
9877 the "ssl_session_cache" directives 9877 the "ssl_session_cache" directives
9878 of the ngx_http_ssl_module and ngx_imap_ssl_module. 9878 of the ngx_http_ssl_module and ngx_imap_ssl_module.
9879 </para> 9879 </para>
9880 </change> 9880 </change>
9881 9881
9882 <change type="feature"> 9882 <change type="feature">
9883 <para lang="ru"> 9883 <para lang="ru">
9884 метод DELETE поддерживает рекурсивное удаление. 9884 п╪п╣я┌п╬п╢ DELETE п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣п╨я┐я─я│п╦п╡п╫п╬п╣ я┐п╢п╟п╩п╣п╫п╦п╣.
9885 </para> 9885 </para>
9886 <para lang="en"> 9886 <para lang="en">
9887 the DELETE method supports recursive removal. 9887 the DELETE method supports recursive removal.
9888 </para> 9888 </para>
9889 </change> 9889 </change>
9890 9890
9891 <change type="bugfix"> 9891 <change type="bugfix">
9892 <para lang="ru"> 9892 <para lang="ru">
9893 при использовании $r->sendfile() byte-ranges передавались неверно. 9893 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ $r->sendfile() byte-ranges п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣п╡п╣я─п╫п╬.
9894 </para> 9894 </para>
9895 <para lang="en"> 9895 <para lang="en">
9896 the byte-ranges were transferred incorrectly if the $r->sendfile() was used. 9896 the byte-ranges were transferred incorrectly if the $r->sendfile() was used.
9897 </para> 9897 </para>
9898 </change> 9898 </change>
9902 9902
9903 <changes ver="0.5.5" date="24.12.2006"> 9903 <changes ver="0.5.5" date="24.12.2006">
9904 9904
9905 <change type="change"> 9905 <change type="change">
9906 <para lang="ru"> 9906 <para lang="ru">
9907 ключ -v больше не выводит информацию о компиляторе. 9907 п╨п╩я▌я┤ -v п╠п╬п╩я▄я┬п╣ п╫п╣ п╡я▀п╡п╬п╢п╦я┌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╣.
9908 </para> 9908 </para>
9909 <para lang="en"> 9909 <para lang="en">
9910 the -v switch does not show compiler information any more. 9910 the -v switch does not show compiler information any more.
9911 </para> 9911 </para>
9912 </change> 9912 </change>
9913 9913
9914 <change type="feature"> 9914 <change type="feature">
9915 <para lang="ru"> 9915 <para lang="ru">
9916 ключ -V. 9916 п╨п╩я▌я┤ -V.
9917 </para> 9917 </para>
9918 <para lang="en"> 9918 <para lang="en">
9919 the -V switch. 9919 the -V switch.
9920 </para> 9920 </para>
9921 </change> 9921 </change>
9922 9922
9923 <change type="feature"> 9923 <change type="feature">
9924 <para lang="ru"> 9924 <para lang="ru">
9925 директива worker_rlimit_core поддерживает указание размера в K, M и G. 9925 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_rlimit_core п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐п╨п╟п╥п╟п╫п╦п╣ я─п╟п╥п╪п╣я─п╟ п╡ K, M п╦ G.
9926 </para> 9926 </para>
9927 <para lang="en"> 9927 <para lang="en">
9928 the "worker_rlimit_core" directive supports size in K, M, and G. 9928 the "worker_rlimit_core" directive supports size in K, M, and G.
9929 </para> 9929 </para>
9930 </change> 9930 </change>
9931 9931
9932 <change type="bugfix"> 9932 <change type="bugfix">
9933 <para lang="ru"> 9933 <para lang="ru">
9934 модуль nginx.pm теперь может устанавливаться непривилегированным пользователем. 9934 п╪п╬п╢я┐п╩я▄ nginx.pm я┌п╣п©п╣я─я▄ п╪п╬п╤п╣я┌ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟я┌я▄я│я▐ п╫п╣п©я─п╦п╡п╦п╩п╣пЁп╦я─п╬п╡п╟п╫п╫я▀п╪ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╪.
9935 </para> 9935 </para>
9936 <para lang="en"> 9936 <para lang="en">
9937 the nginx.pm module now could be installed by an unprivileged user. 9937 the nginx.pm module now could be installed by an unprivileged user.
9938 </para> 9938 </para>
9939 </change> 9939 </change>
9940 9940
9941 <change type="bugfix"> 9941 <change type="bugfix">
9942 <para lang="ru"> 9942 <para lang="ru">
9943 при использовании методов $r->request_body или $r->request_body_file мог 9943 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ $r->request_body п╦п╩п╦ $r->request_body_file п╪п╬пЁ
9944 произойти segmentation fault. 9944 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
9945 </para> 9945 </para>
9946 <para lang="en"> 9946 <para lang="en">
9947 a segmentation fault might occur if the $r->request_body or 9947 a segmentation fault might occur if the $r->request_body or
9948 $r->request_body_file methods were used. 9948 $r->request_body_file methods were used.
9949 </para> 9949 </para>
9950 </change> 9950 </change>
9951 9951
9952 <change type="bugfix"> 9952 <change type="bugfix">
9953 <para lang="ru"> 9953 <para lang="ru">
9954 ошибок, специфичных для платформы ppc. 9954 п╬я┬п╦п╠п╬п╨, я│п©п╣я├п╦я└п╦я┤п╫я▀я┘ п╢п╩я▐ п©п╩п╟я┌я└п╬я─п╪я▀ ppc.
9955 </para> 9955 </para>
9956 <para lang="en"> 9956 <para lang="en">
9957 the ppc platform specific bugs. 9957 the ppc platform specific bugs.
9958 </para> 9958 </para>
9959 </change> 9959 </change>
9963 9963
9964 <changes ver="0.5.4" date="15.12.2006"> 9964 <changes ver="0.5.4" date="15.12.2006">
9965 9965
9966 <change type="feature"> 9966 <change type="feature">
9967 <para lang="ru"> 9967 <para lang="ru">
9968 директиву perl можно использовать внутри блока limit_except. 9968 п╢п╦я─п╣п╨я┌п╦п╡я┐ perl п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
9969 </para> 9969 </para>
9970 <para lang="en"> 9970 <para lang="en">
9971 the "perl" directive may be used inside the "limit_except" block. 9971 the "perl" directive may be used inside the "limit_except" block.
9972 </para> 9972 </para>
9973 </change> 9973 </change>
9974 9974
9975 <change type="bugfix"> 9975 <change type="bugfix">
9976 <para lang="ru"> 9976 <para lang="ru">
9977 модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса 9977 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module я┌я─п╣п╠п╬п╡п╟п╩ я│я┌я─п╬п╨я┐ "Date" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟
9978 для метода DELETE. 9978 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ DELETE.
9979 </para> 9979 </para>
9980 <para lang="en"> 9980 <para lang="en">
9981 the ngx_http_dav_module required the "Date" request header line 9981 the ngx_http_dav_module required the "Date" request header line
9982 for the DELETE method. 9982 for the DELETE method.
9983 </para> 9983 </para>
9984 </change> 9984 </change>
9985 9985
9986 <change type="bugfix"> 9986 <change type="bugfix">
9987 <para lang="ru"> 9987 <para lang="ru">
9988 при использовании одного параметра в директиве dav_access nginx мог 9988 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬п╢п╫п╬пЁп╬ п©п╟я─п╟п╪п╣я┌я─п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ dav_access nginx п╪п╬пЁ
9989 сообщить об ошибке в конфигурации. 9989 я│п╬п╬п╠я┴п╦я┌я▄ п╬п╠ п╬я┬п╦п╠п╨п╣ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦.
9990 </para> 9990 </para>
9991 <para lang="en"> 9991 <para lang="en">
9992 if one only parameter was used in the "dav_access" directive, then 9992 if one only parameter was used in the "dav_access" directive, then
9993 nginx might report about configuration error. 9993 nginx might report about configuration error.
9994 </para> 9994 </para>
9995 </change> 9995 </change>
9996 9996
9997 <change type="bugfix"> 9997 <change type="bugfix">
9998 <para lang="ru"> 9998 <para lang="ru">
9999 при использовании переменной $host мог произойти segmentation fault; 9999 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $host п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
10000 ошибка появилась в 0.4.14. 10000 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.14.
10001 </para> 10001 </para>
10002 <para lang="en"> 10002 <para lang="en">
10003 a segmentation fault might occur if the $host variable was used; 10003 a segmentation fault might occur if the $host variable was used;
10004 the bug had appeared in 0.4.14. 10004 the bug had appeared in 0.4.14.
10005 </para> 10005 </para>
10010 10010
10011 <changes ver="0.5.3" date="13.12.2006"> 10011 <changes ver="0.5.3" date="13.12.2006">
10012 10012
10013 <change type="feature"> 10013 <change type="feature">
10014 <para lang="ru"> 10014 <para lang="ru">
10015 модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error 10015 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->status, $r->log_error
10016 и $r->sleep. 10016 п╦ $r->sleep.
10017 </para> 10017 </para>
10018 <para lang="en"> 10018 <para lang="en">
10019 the ngx_http_perl_module supports the $r->status, $r->log_error, 10019 the ngx_http_perl_module supports the $r->status, $r->log_error,
10020 and $r->sleep methods. 10020 and $r->sleep methods.
10021 </para> 10021 </para>
10022 </change> 10022 </change>
10023 10023
10024 <change type="feature"> 10024 <change type="feature">
10025 <para lang="ru"> 10025 <para lang="ru">
10026 метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а. 10026 п╪п╣я┌п╬п╢ $r->variable п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣, п╫п╣п╬п©п╦я│п╟п╫п╫я▀п╣ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ nginx'п╟.
10027 </para> 10027 </para>
10028 <para lang="en"> 10028 <para lang="en">
10029 the $r->variable method supports variables that do not exist in nginx 10029 the $r->variable method supports variables that do not exist in nginx
10030 configuration. 10030 configuration.
10031 </para> 10031 </para>
10032 </change> 10032 </change>
10033 10033
10034 <change type="bugfix"> 10034 <change type="bugfix">
10035 <para lang="ru"> 10035 <para lang="ru">
10036 метод $r->has_request_body не работал. 10036 п╪п╣я┌п╬п╢ $r->has_request_body п╫п╣ я─п╟п╠п╬я┌п╟п╩.
10037 </para> 10037 </para>
10038 <para lang="en"> 10038 <para lang="en">
10039 the $r->has_request_body method did not work. 10039 the $r->has_request_body method did not work.
10040 </para> 10040 </para>
10041 </change> 10041 </change>
10045 10045
10046 <changes ver="0.5.2" date="11.12.2006"> 10046 <changes ver="0.5.2" date="11.12.2006">
10047 10047
10048 <change type="bugfix"> 10048 <change type="bugfix">
10049 <para lang="ru"> 10049 <para lang="ru">
10050 если в директивах proxy_pass использовалось имя, указанное в upstream, 10050 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╦п╪я▐, я┐п╨п╟п╥п╟п╫п╫п╬п╣ п╡ upstream,
10051 то nginx пытался найти IP-адрес этого имени; 10051 я┌п╬ nginx п©я▀я┌п╟п╩я│я▐ п╫п╟п╧я┌п╦ IP-п╟п╢я─п╣я│ я█я┌п╬пЁп╬ п╦п╪п╣п╫п╦;
10052 ошибка появилась в 0.5.1. 10052 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.1.
10053 </para> 10053 </para>
10054 <para lang="en"> 10054 <para lang="en">
10055 if the "proxy_pass" directive used the name of the "upstream" block, 10055 if the "proxy_pass" directive used the name of the "upstream" block,
10056 then nginx tried to resolve the name; 10056 then nginx tried to resolve the name;
10057 the bug had appeared in 0.5.1. 10057 the bug had appeared in 0.5.1.
10063 10063
10064 <changes ver="0.5.1" date="11.12.2006"> 10064 <changes ver="0.5.1" date="11.12.2006">
10065 10065
10066 <change type="bugfix"> 10066 <change type="bugfix">
10067 <para lang="ru"> 10067 <para lang="ru">
10068 директива post_action могла не работать после неудачного завершения запроса. 10068 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action п╪п╬пЁп╩п╟ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄ п©п╬я│п╩п╣ п╫п╣я┐п╢п╟я┤п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
10069 </para> 10069 </para>
10070 <para lang="en"> 10070 <para lang="en">
10071 the "post_action" directive might not run after a unsuccessful completion 10071 the "post_action" directive might not run after a unsuccessful completion
10072 of a request. 10072 of a request.
10073 </para> 10073 </para>
10074 </change> 10074 </change>
10075 10075
10076 <change type="workaround"> 10076 <change type="workaround">
10077 <para lang="ru"> 10077 <para lang="ru">
10078 обход ошибки в Eudora для Mac; 10078 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ Eudora п╢п╩я▐ Mac;
10079 ошибка появилась в 0.4.11.<br/> 10079 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.11.<br/>
10080 Спасибо Bron Gondwana. 10080 п║п©п╟я│п╦п╠п╬ Bron Gondwana.
10081 </para> 10081 </para>
10082 <para lang="en"> 10082 <para lang="en">
10083 for Eudora for Mac; 10083 for Eudora for Mac;
10084 the bug had appeared in 0.4.11.<br/> 10084 the bug had appeared in 0.4.11.<br/>
10085 Thanks to Bron Gondwana. 10085 Thanks to Bron Gondwana.
10086 </para> 10086 </para>
10087 </change> 10087 </change>
10088 10088
10089 <change type="bugfix"> 10089 <change type="bugfix">
10090 <para lang="ru"> 10090 <para lang="ru">
10091 при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось 10091 п©я─п╦ я┐п╨п╟п╥п╟п╫п╦п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_pass п╦п╪п╣п╫п╦ п╬п©п╦я│п╟п╫п╫п╬пЁп╬ upstream'п╟ п╡я▀п╢п╟п╡п╟п╩п╬я│я▄
10092 сообщение "no port in upstream"; 10092 я│п╬п╬п╠я┴п╣п╫п╦п╣ "no port in upstream";
10093 ошибка появилась в 0.5.0. 10093 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10094 </para> 10094 </para>
10095 <para lang="en"> 10095 <para lang="en">
10096 if the "upstream" name was used in the "fastcgi_pass", then the message 10096 if the "upstream" name was used in the "fastcgi_pass", then the message
10097 "no port in upstream" was issued; 10097 "no port in upstream" was issued;
10098 the bug had appeared in 0.5.0. 10098 the bug had appeared in 0.5.0.
10099 </para> 10099 </para>
10100 </change> 10100 </change>
10101 10101
10102 <change type="bugfix"> 10102 <change type="bugfix">
10103 <para lang="ru"> 10103 <para lang="ru">
10104 если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена 10104 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦ fastcgi_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╬п╢п╦п╫п╟п╨п╬п╡я▀я┘ п╦п╪п╣п╫п╟
10105 серверов, но с разными портами, то эти директивы использовали первый 10105 я│п╣я─п╡п╣я─п╬п╡, п╫п╬ я│ я─п╟п╥п╫я▀п╪п╦ п©п╬я─я┌п╟п╪п╦, я┌п╬ я█я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦ п©п╣я─п╡я▀п╧
10106 описанный порт; 10106 п╬п©п╦я│п╟п╫п╫я▀п╧ п©п╬я─я┌;
10107 ошибка появилась в 0.5.0. 10107 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10108 </para> 10108 </para>
10109 <para lang="en"> 10109 <para lang="en">
10110 if the "proxy_pass" and "fastcgi_pass" directives used the same servers but 10110 if the "proxy_pass" and "fastcgi_pass" directives used the same servers but
10111 different ports, then these directives uses the first described port; 10111 different ports, then these directives uses the first described port;
10112 the bug had appeared in 0.5.0. 10112 the bug had appeared in 0.5.0.
10113 </para> 10113 </para>
10114 </change> 10114 </change>
10115 10115
10116 <change type="bugfix"> 10116 <change type="bugfix">
10117 <para lang="ru"> 10117 <para lang="ru">
10118 если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты, 10118 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_pass п╦ fastcgi_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ unix domain я│п╬п╨п╣я┌я▀,
10119 то эти директивы использовали первый описанный сокет; 10119 я┌п╬ я█я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦ п©п╣я─п╡я▀п╧ п╬п©п╦я│п╟п╫п╫я▀п╧ я│п╬п╨п╣я┌;
10120 ошибка появилась в 0.5.0. 10120 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.5.0.
10121 </para> 10121 </para>
10122 <para lang="en"> 10122 <para lang="en">
10123 if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, 10123 if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets,
10124 then these directives used first described socket; 10124 then these directives used first described socket;
10125 the bug had appeared in 0.5.0. 10125 the bug had appeared in 0.5.0.
10126 </para> 10126 </para>
10127 </change> 10127 </change>
10128 10128
10129 <change type="bugfix"> 10129 <change type="bugfix">
10130 <para lang="ru"> 10130 <para lang="ru">
10131 ngx_http_auth_basic_module игнорировал пользователя, если он был указан 10131 ngx_http_auth_basic_module п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐, п╣я│п╩п╦ п╬п╫ п╠я▀п╩ я┐п╨п╟п╥п╟п╫
10132 в последней строке файла паролей и после пароля не было перевода строки, 10132 п╡ п©п╬я│п╩п╣п╢п╫п╣п╧ я│я┌я─п╬п╨п╣ я└п╟п╧п╩п╟ п©п╟я─п╬п╩п╣п╧ п╦ п©п╬я│п╩п╣ п©п╟я─п╬п╩я▐ п╫п╣ п╠я▀п╩п╬ п©п╣я─п╣п╡п╬п╢п╟ я│я┌я─п╬п╨п╦,
10133 возврата каретки или символа ":". 10133 п╡п╬п╥п╡я─п╟я┌п╟ п╨п╟я─п╣я┌п╨п╦ п╦п╩п╦ я│п╦п╪п╡п╬п╩п╟ ":".
10134 </para> 10134 </para>
10135 <para lang="en"> 10135 <para lang="en">
10136 ngx_http_auth_basic_module ignored the user if it was in the last line in 10136 ngx_http_auth_basic_module ignored the user if it was in the last line in
10137 the password file and there was no the carriage return, the line feed, 10137 the password file and there was no the carriage return, the line feed,
10138 or the ":" symbol after the password. 10138 or the ":" symbol after the password.
10139 </para> 10139 </para>
10140 </change> 10140 </change>
10141 10141
10142 <change type="bugfix"> 10142 <change type="bugfix">
10143 <para lang="ru"> 10143 <para lang="ru">
10144 переменная $upstream_response_time могла быть равна "0.000", хотя время 10144 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time п╪п╬пЁп╩п╟ п╠я▀я┌я▄ я─п╟п╡п╫п╟ "0.000", я┘п╬я┌я▐ п╡я─п╣п╪я▐
10145 обработки было больше 1 миллисекунды. 10145 п╬п╠я─п╟п╠п╬я┌п╨п╦ п╠я▀п╩п╬ п╠п╬п╩я▄я┬п╣ 1 п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢я▀.
10146 </para> 10146 </para>
10147 <para lang="en"> 10147 <para lang="en">
10148 the $upstream_response_time variable might be equal to "0.000", although 10148 the $upstream_response_time variable might be equal to "0.000", although
10149 response time was more than 1 millisecond. 10149 response time was more than 1 millisecond.
10150 </para> 10150 </para>
10155 10155
10156 <changes ver="0.5.0" date="04.12.2006"> 10156 <changes ver="0.5.0" date="04.12.2006">
10157 10157
10158 <change type="change"> 10158 <change type="change">
10159 <para lang="ru"> 10159 <para lang="ru">
10160 параметры в виде "%name" в директиве log_format больше не поддерживаются. 10160 п©п╟я─п╟п╪п╣я┌я─я▀ п╡ п╡п╦п╢п╣ "%name" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
10161 </para> 10161 </para>
10162 <para lang="en"> 10162 <para lang="en">
10163 the parameters in the "%name" form in the "log_format" directive 10163 the parameters in the "%name" form in the "log_format" directive
10164 are not supported anymore. 10164 are not supported anymore.
10165 </para> 10165 </para>
10166 </change> 10166 </change>
10167 10167
10168 <change type="change"> 10168 <change type="change">
10169 <para lang="ru"> 10169 <para lang="ru">
10170 директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 10170 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_upstream_max_fails, proxy_upstream_fail_timeout,
10171 fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout, 10171 fastcgi_upstream_max_fails, п╦ fastcgi_upstream_fail_timeout,
10172 memcached_upstream_max_fails и memcached_upstream_fail_timeout 10172 memcached_upstream_max_fails п╦ memcached_upstream_fail_timeout
10173 больше не поддерживаются. 10173 п╠п╬п╩я▄я┬п╣ п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐.
10174 </para> 10174 </para>
10175 <para lang="en"> 10175 <para lang="en">
10176 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 10176 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
10177 "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", 10177 "fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout",
10178 "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" 10178 "memcached_upstream_max_fails", and "memcached_upstream_fail_timeout"
10180 </para> 10180 </para>
10181 </change> 10181 </change>
10182 10182
10183 <change type="feature"> 10183 <change type="feature">
10184 <para lang="ru"> 10184 <para lang="ru">
10185 директива server в блоке upstream поддерживает параметры 10185 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─я▀
10186 max_fails, fail_timeout и down. 10186 max_fails, fail_timeout п╦ down.
10187 </para> 10187 </para>
10188 <para lang="en"> 10188 <para lang="en">
10189 the "server" directive in the "upstream" context supports 10189 the "server" directive in the "upstream" context supports
10190 the "max_fails", "fail_timeout", and "down" parameters. 10190 the "max_fails", "fail_timeout", and "down" parameters.
10191 </para> 10191 </para>
10192 </change> 10192 </change>
10193 10193
10194 <change type="feature"> 10194 <change type="feature">
10195 <para lang="ru"> 10195 <para lang="ru">
10196 директива ip_hash в блоке upstream. 10196 п╢п╦я─п╣п╨я┌п╦п╡п╟ ip_hash п╡ п╠п╩п╬п╨п╣ upstream.
10197 </para> 10197 </para>
10198 <para lang="en"> 10198 <para lang="en">
10199 the "ip_hash" directive inside the "upstream" block. 10199 the "ip_hash" directive inside the "upstream" block.
10200 </para> 10200 </para>
10201 </change> 10201 </change>
10202 10202
10203 <change type="feature"> 10203 <change type="feature">
10204 <para lang="ru"> 10204 <para lang="ru">
10205 статус WAIT в строке "Auth-Status" в заголовка ответа сервера аутентификации 10205 я│я┌п╟я┌я┐я│ WAIT п╡ я│я┌я─п╬п╨п╣ "Auth-Status" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ я│п╣я─п╡п╣я─п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦
10206 IMAP/POP3 прокси. 10206 IMAP/POP3 п©я─п╬п╨я│п╦.
10207 </para> 10207 </para>
10208 <para lang="en"> 10208 <para lang="en">
10209 the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy 10209 the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy
10210 authentication server response. 10210 authentication server response.
10211 </para> 10211 </para>
10212 </change> 10212 </change>
10213 10213
10214 <change type="bugfix"> 10214 <change type="bugfix">
10215 <para lang="ru"> 10215 <para lang="ru">
10216 nginx не собирался на 64-битных платформах; 10216 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘;
10217 ошибка появилась в 0.4.14. 10217 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.14.
10218 </para> 10218 </para>
10219 <para lang="en"> 10219 <para lang="en">
10220 nginx could not be built on 64-bit platforms; 10220 nginx could not be built on 64-bit platforms;
10221 the bug had appeared in 0.4.14. 10221 the bug had appeared in 0.4.14.
10222 </para> 10222 </para>
10227 10227
10228 <changes ver="0.4.14" date="27.11.2006"> 10228 <changes ver="0.4.14" date="27.11.2006">
10229 10229
10230 <change type="feature"> 10230 <change type="feature">
10231 <para lang="ru"> 10231 <para lang="ru">
10232 директива proxy_pass_error_message в IMAP/POP3 прокси. 10232 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_error_message п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
10233 </para> 10233 </para>
10234 <para lang="en"> 10234 <para lang="en">
10235 the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 10235 the "proxy_pass_error_message" directive in IMAP/POP3 proxy.
10236 </para> 10236 </para>
10237 </change> 10237 </change>
10238 10238
10239 <change type="feature"> 10239 <change type="feature">
10240 <para lang="ru"> 10240 <para lang="ru">
10241 теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD. 10241 я┌п╣п©п╣я─я▄ configure п╬п©я─п╣п╢п╣п╩я▐п╣я┌ п╠п╦п╠п╩п╦п╬я┌п╣п╨я┐ PCRE п╫п╟ FreeBSD, Linux п╦ NetBSD.
10242 </para> 10242 </para>
10243 <para lang="en"> 10243 <para lang="en">
10244 now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. 10244 now configure detects system PCRE library on FreeBSD, Linux, and NetBSD.
10245 </para> 10245 </para>
10246 </change> 10246 </change>
10247 10247
10248 <change type="bugfix"> 10248 <change type="bugfix">
10249 <para lang="ru"> 10249 <para lang="ru">
10250 ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков; 10250 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п©п╣я─п╩п╬п╪, я│п╬п╠я─п╟п╫п╫я▀п╪ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡;
10251 ошибка появилась в 0.3.38. 10251 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
10252 </para> 10252 </para>
10253 <para lang="en"> 10253 <para lang="en">
10254 ngx_http_perl_module did not work with perl built with the threads support; 10254 ngx_http_perl_module did not work with perl built with the threads support;
10255 the bug had appeared in 0.3.38. 10255 the bug had appeared in 0.3.38.
10256 </para> 10256 </para>
10257 </change> 10257 </change>
10258 10258
10259 <change type="bugfix"> 10259 <change type="bugfix">
10260 <para lang="ru"> 10260 <para lang="ru">
10261 ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно. 10261 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╨п╬я─я─п╣п╨я┌п╫п╬, п╣я│п╩п╦ п©п╣я─п╩ п╡я▀п╥я▀п╡п╟п╩я│я▐ я─п╣п╨я┐я─я│п╦п╡п╫п╬.
10262 </para> 10262 </para>
10263 <para lang="en"> 10263 <para lang="en">
10264 ngx_http_perl_module did not work if perl was called recursively. 10264 ngx_http_perl_module did not work if perl was called recursively.
10265 </para> 10265 </para>
10266 </change> 10266 </change>
10267 10267
10268 <change type="bugfix"> 10268 <change type="bugfix">
10269 <para lang="ru"> 10269 <para lang="ru">
10270 nginx игнорировал имя сервера в строке запроса. 10270 nginx п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩ п╦п╪я▐ я│п╣я─п╡п╣я─п╟ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟.
10271 </para> 10271 </para>
10272 <para lang="en"> 10272 <para lang="en">
10273 nginx ignored a host name in a request line. 10273 nginx ignored a host name in a request line.
10274 </para> 10274 </para>
10275 </change> 10275 </change>
10276 10276
10277 <change type="bugfix"> 10277 <change type="bugfix">
10278 <para lang="ru"> 10278 <para lang="ru">
10279 если FastCGI сервер передавал много в stderr, 10279 п╣я│п╩п╦ FastCGI я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п╪п╫п╬пЁп╬ п╡ stderr,
10280 то рабочий процесс мог зациклиться. 10280 я┌п╬ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
10281 </para> 10281 </para>
10282 <para lang="en"> 10282 <para lang="en">
10283 a worker process may got caught in an endless loop, 10283 a worker process may got caught in an endless loop,
10284 if a FastCGI server sent too many data to the stderr. 10284 if a FastCGI server sent too many data to the stderr.
10285 </para> 10285 </para>
10286 </change> 10286 </change>
10287 10287
10288 <change type="bugfix"> 10288 <change type="bugfix">
10289 <para lang="ru"> 10289 <para lang="ru">
10290 при изменении системного времени переменная $upstream_response_time 10290 п©я─п╦ п╦п╥п╪п╣п╫п╣п╫п╦п╦ я│п╦я│я┌п╣п╪п╫п╬пЁп╬ п╡я─п╣п╪п╣п╫п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time
10291 могла быть отрицательной. 10291 п╪п╬пЁп╩п╟ п╠я▀я┌я▄ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫п╬п╧.
10292 </para> 10292 </para>
10293 <para lang="en"> 10293 <para lang="en">
10294 the $upstream_response_time variable may be negative if the system time 10294 the $upstream_response_time variable may be negative if the system time
10295 was changed backward. 10295 was changed backward.
10296 </para> 10296 </para>
10297 </change> 10297 </change>
10298 10298
10299 <change type="bugfix"> 10299 <change type="bugfix">
10300 <para lang="ru"> 10300 <para lang="ru">
10301 при использовании POP3 серверу аутентификации IMAP/POP3 прокси 10301 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ POP3 я│п╣я─п╡п╣я─я┐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦
10302 не передавался параметр Auth-Login-Attempt. 10302 п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п©п╟я─п╟п╪п╣я┌я─ Auth-Login-Attempt.
10303 </para> 10303 </para>
10304 <para lang="en"> 10304 <para lang="en">
10305 the "Auth-Login-Attempt" parameter was not sent to 10305 the "Auth-Login-Attempt" parameter was not sent to
10306 IMAP/POP3 proxy authentication server when POP3 was used. 10306 IMAP/POP3 proxy authentication server when POP3 was used.
10307 </para> 10307 </para>
10308 </change> 10308 </change>
10309 10309
10310 <change type="bugfix"> 10310 <change type="bugfix">
10311 <para lang="ru"> 10311 <para lang="ru">
10312 при ошибке соединения с сервером аутентификации IMAP/POP3 прокси 10312 п©я─п╦ п╬я┬п╦п╠п╨п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ я│п╣я─п╡п╣я─п╬п╪ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦
10313 мог произойти segmentation fault. 10313 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10314 </para> 10314 </para>
10315 <para lang="en"> 10315 <para lang="en">
10316 a segmentation fault might occur if connect to IMAP/POP3 proxy 10316 a segmentation fault might occur if connect to IMAP/POP3 proxy
10317 authentication server failed. 10317 authentication server failed.
10318 </para> 10318 </para>
10323 10323
10324 <changes ver="0.4.13" date="15.11.2006"> 10324 <changes ver="0.4.13" date="15.11.2006">
10325 10325
10326 <change type="feature"> 10326 <change type="feature">
10327 <para lang="ru"> 10327 <para lang="ru">
10328 директиву proxy_pass можно использовать внутри блока limit_except. 10328 п╢п╦я─п╣п╨я┌п╦п╡я┐ proxy_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ limit_except.
10329 </para> 10329 </para>
10330 <para lang="en"> 10330 <para lang="en">
10331 the "proxy_pass" directive may be used inside the "limit_except" block. 10331 the "proxy_pass" directive may be used inside the "limit_except" block.
10332 </para> 10332 </para>
10333 </change> 10333 </change>
10334 10334
10335 <change type="feature"> 10335 <change type="feature">
10336 <para lang="ru"> 10336 <para lang="ru">
10337 директива limit_except поддерживает все WebDAV методы. 10337 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_except п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я│п╣ WebDAV п╪п╣я┌п╬п╢я▀.
10338 </para> 10338 </para>
10339 <para lang="en"> 10339 <para lang="en">
10340 the "limit_except" directive supports all WebDAV methods. 10340 the "limit_except" directive supports all WebDAV methods.
10341 </para> 10341 </para>
10342 </change> 10342 </change>
10343 10343
10344 <change type="bugfix"> 10344 <change type="bugfix">
10345 <para lang="ru"> 10345 <para lang="ru">
10346 при использовании директивы add_before_body без директивы add_after_body 10346 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ add_before_body п╠п╣п╥ п╢п╦я─п╣п╨я┌п╦п╡я▀ add_after_body
10347 ответ передавался не полностью. 10347 п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
10348 </para> 10348 </para>
10349 <para lang="en"> 10349 <para lang="en">
10350 if the "add_before_body" directive was used without 10350 if the "add_before_body" directive was used without
10351 the "add_after_body" directive, then a response did not transferred complete. 10351 the "add_after_body" directive, then a response did not transferred complete.
10352 </para> 10352 </para>
10353 </change> 10353 </change>
10354 10354
10355 <change type="bugfix"> 10355 <change type="bugfix">
10356 <para lang="ru"> 10356 <para lang="ru">
10357 большое тело запроса не принималось, если использовались метод epoll 10357 п╠п╬п╩я▄я┬п╬п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╫п╣ п©я─п╦п╫п╦п╪п╟п╩п╬я│я▄, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ п╪п╣я┌п╬п╢ epoll
10358 и deferred accept(). 10358 п╦ deferred accept().
10359 </para> 10359 </para>
10360 <para lang="en"> 10360 <para lang="en">
10361 a large request body did not receive if the epoll method 10361 a large request body did not receive if the epoll method
10362 and the deferred accept() were used. 10362 and the deferred accept() were used.
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 для ответов модуля ngx_http_autoindex_module не выставлялась кодировка; 10368 п╢п╩я▐ п╬я┌п╡п╣я┌п╬п╡ п╪п╬п╢я┐п╩я▐ ngx_http_autoindex_module п╫п╣ п╡я▀я│я┌п╟п╡п╩я▐п╩п╟я│я▄ п╨п╬п╢п╦я─п╬п╡п╨п╟;
10369 ошибка появилась в 0.3.50. 10369 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
10370 </para> 10370 </para>
10371 <para lang="en"> 10371 <para lang="en">
10372 a charset could not be set for ngx_http_autoindex_module responses; 10372 a charset could not be set for ngx_http_autoindex_module responses;
10373 the bug had appeared in 0.3.50. 10373 the bug had appeared in 0.3.50.
10374 </para> 10374 </para>
10375 </change> 10375 </change>
10376 10376
10377 <change type="bugfix"> 10377 <change type="bugfix">
10378 <para lang="ru"> 10378 <para lang="ru">
10379 ошибки "[alert] zero size buf" при работе с FastCGI-сервером; 10379 п╬я┬п╦п╠п╨п╦ "[alert] zero size buf" п©я─п╦ я─п╟п╠п╬я┌п╣ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪;
10380 </para> 10380 </para>
10381 <para lang="en"> 10381 <para lang="en">
10382 the "[alert] zero size buf" error when FastCGI server was used; 10382 the "[alert] zero size buf" error when FastCGI server was used;
10383 </para> 10383 </para>
10384 </change> 10384 </change>
10385 10385
10386 <change type="bugfix"> 10386 <change type="bugfix">
10387 <para lang="ru"> 10387 <para lang="ru">
10388 параметр конфигурации --group= игнорировался.<br/> 10388 п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --group= п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩я│я▐.<br/>
10389 Спасибо Thomas Moschny. 10389 п║п©п╟я│п╦п╠п╬ Thomas Moschny.
10390 </para> 10390 </para>
10391 <para lang="en"> 10391 <para lang="en">
10392 the --group= configuration parameter was ignored.<br/> 10392 the --group= configuration parameter was ignored.<br/>
10393 Thanks to Thomas Moschny. 10393 Thanks to Thomas Moschny.
10394 </para> 10394 </para>
10395 </change> 10395 </change>
10396 10396
10397 <change type="bugfix"> 10397 <change type="bugfix">
10398 <para lang="ru"> 10398 <para lang="ru">
10399 50-й подзапрос в SSI ответе не работал; 10399 50-п╧ п©п╬п╢п╥п╟п©я─п╬я│ п╡ SSI п╬я┌п╡п╣я┌п╣ п╫п╣ я─п╟п╠п╬я┌п╟п╩;
10400 ошибка появилась в 0.3.50. 10400 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
10401 </para> 10401 </para>
10402 <para lang="en"> 10402 <para lang="en">
10403 the 50th subrequest in SSI response did not work; 10403 the 50th subrequest in SSI response did not work;
10404 the bug had appeared in 0.3.50. 10404 the bug had appeared in 0.3.50.
10405 </para> 10405 </para>
10410 10410
10411 <changes ver="0.4.12" date="31.10.2006"> 10411 <changes ver="0.4.12" date="31.10.2006">
10412 10412
10413 <change type="feature"> 10413 <change type="feature">
10414 <para lang="ru"> 10414 <para lang="ru">
10415 модуль ngx_http_perl_module поддерживает метод $r->variable. 10415 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->variable.
10416 </para> 10416 </para>
10417 <para lang="en"> 10417 <para lang="en">
10418 the ngx_http_perl_module supports the $r->variable method. 10418 the ngx_http_perl_module supports the $r->variable method.
10419 </para> 10419 </para>
10420 </change> 10420 </change>
10421 10421
10422 <change type="bugfix"> 10422 <change type="bugfix">
10423 <para lang="ru"> 10423 <para lang="ru">
10424 при включении в ответ большого статического файла с помощью SSI 10424 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ п╬я┌п╡п╣я┌ п╠п╬п╩я▄я┬п╬пЁп╬ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬ я└п╟п╧п╩п╟ я│ п©п╬п╪п╬я┴я▄я▌ SSI
10425 ответ мог передаваться не полностью. 10425 п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
10426 </para> 10426 </para>
10427 <para lang="en"> 10427 <para lang="en">
10428 if a big static file was included using SSI in a response, 10428 if a big static file was included using SSI in a response,
10429 then the response may be transferred incomplete. 10429 then the response may be transferred incomplete.
10430 </para> 10430 </para>
10431 </change> 10431 </change>
10432 10432
10433 <change type="bugfix"> 10433 <change type="bugfix">
10434 <para lang="ru"> 10434 <para lang="ru">
10435 nginx не убирал "#fragment" в URI. 10435 nginx п╫п╣ я┐п╠п╦я─п╟п╩ "#fragment" п╡ URI.
10436 </para> 10436 </para>
10437 <para lang="en"> 10437 <para lang="en">
10438 nginx did not omit the "#fragment" part in URI. 10438 nginx did not omit the "#fragment" part in URI.
10439 </para> 10439 </para>
10440 </change> 10440 </change>
10444 10444
10445 <changes ver="0.4.11" date="25.10.2006"> 10445 <changes ver="0.4.11" date="25.10.2006">
10446 10446
10447 <change type="feature"> 10447 <change type="feature">
10448 <para lang="ru"> 10448 <para lang="ru">
10449 POP3 прокси поддерживает AUTH LOIGN PLAIN и CRAM-MD5. 10449 POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ AUTH LOIGN PLAIN п╦ CRAM-MD5.
10450 </para> 10450 </para>
10451 <para lang="en"> 10451 <para lang="en">
10452 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. 10452 the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5.
10453 </para> 10453 </para>
10454 </change> 10454 </change>
10455 10455
10456 <change type="feature"> 10456 <change type="feature">
10457 <para lang="ru"> 10457 <para lang="ru">
10458 модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. 10458 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->allow_ranges.
10459 </para> 10459 </para>
10460 <para lang="en"> 10460 <para lang="en">
10461 the ngx_http_perl_module supports the $r->allow_ranges method. 10461 the ngx_http_perl_module supports the $r->allow_ranges method.
10462 </para> 10462 </para>
10463 </change> 10463 </change>
10464 10464
10465 <change type="bugfix"> 10465 <change type="bugfix">
10466 <para lang="ru"> 10466 <para lang="ru">
10467 при включённой поддержке команды APOP в POP3 прокси могли 10467 п©я─п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╧ п©п╬п╢п╢п╣я─п╤п╨п╣ п╨п╬п╪п╟п╫п╢я▀ APOP п╡ POP3 п©я─п╬п╨я│п╦ п╪п╬пЁп╩п╦
10468 не работать команды USER/PASS; 10468 п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄ п╨п╬п╪п╟п╫п╢я▀ USER/PASS;
10469 ошибка появилась в 0.4.10. 10469 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.10.
10470 </para> 10470 </para>
10471 <para lang="en"> 10471 <para lang="en">
10472 if the APOP was enabled in the POP3 proxy, then the USER/PASS commands 10472 if the APOP was enabled in the POP3 proxy, then the USER/PASS commands
10473 might not work; 10473 might not work;
10474 the bug had appeared in 0.4.10. 10474 the bug had appeared in 0.4.10.
10480 10480
10481 <changes ver="0.4.10" date="23.10.2006"> 10481 <changes ver="0.4.10" date="23.10.2006">
10482 10482
10483 <change type="feature"> 10483 <change type="feature">
10484 <para lang="ru"> 10484 <para lang="ru">
10485 POP3 прокси поддерживает APOP. 10485 POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ APOP.
10486 </para> 10486 </para>
10487 <para lang="en"> 10487 <para lang="en">
10488 the POP3 proxy supports the APOP command. 10488 the POP3 proxy supports the APOP command.
10489 </para> 10489 </para>
10490 </change> 10490 </change>
10491 10491
10492 <change type="bugfix"> 10492 <change type="bugfix">
10493 <para lang="ru"> 10493 <para lang="ru">
10494 при использовании методов select, poll и /dev/poll во время ожидания 10494 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╬п╡ select, poll п╦ /dev/poll п╡п╬ п╡я─п╣п╪я▐ п╬п╤п╦п╢п╟п╫п╦я▐
10495 ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор. 10495 п╬я┌п╡п╣я┌п╟ п╬я┌ я│п╣я─п╡п╣я─п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п©я─п╬п╨я│п╦ п╫п╟пЁя─я┐п╤п╟п╩ п©я─п╬я├п╣я│я│п╬я─.
10496 </para> 10496 </para>
10497 <para lang="en"> 10497 <para lang="en">
10498 if the select, poll or /dev/poll methods were used, then while 10498 if the select, poll or /dev/poll methods were used, then while
10499 waiting authentication server response the IMAP/POP3 proxy hogged CPU. 10499 waiting authentication server response the IMAP/POP3 proxy hogged CPU.
10500 </para> 10500 </para>
10501 </change> 10501 </change>
10502 10502
10503 <change type="bugfix"> 10503 <change type="bugfix">
10504 <para lang="ru"> 10504 <para lang="ru">
10505 при использовании переменной $server_addr в директиве map мог 10505 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $server_addr п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ map п╪п╬пЁ
10506 произойти segmentation fault. 10506 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10507 </para> 10507 </para>
10508 <para lang="en"> 10508 <para lang="en">
10509 a segmentation fault might occur if the $server_addr variable was used 10509 a segmentation fault might occur if the $server_addr variable was used
10510 in the "map" directive. 10510 in the "map" directive.
10511 </para> 10511 </para>
10512 </change> 10512 </change>
10513 10513
10514 <change type="bugfix"> 10514 <change type="bugfix">
10515 <para lang="ru"> 10515 <para lang="ru">
10516 модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов; 10516 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ byte ranges п╢п╩я▐ п©п╬п╩п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡;
10517 ошибка появилась в 0.4.7. 10517 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.7.
10518 </para> 10518 </para>
10519 <para lang="en"> 10519 <para lang="en">
10520 the ngx_http_flv_module did not support the byte ranges for full responses; 10520 the ngx_http_flv_module did not support the byte ranges for full responses;
10521 the bug had appeared in 0.4.7. 10521 the bug had appeared in 0.4.7.
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 nginx не собирался на Debian amd64; 10527 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Debian amd64;
10528 ошибка появилась в 0.4.9. 10528 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.9.
10529 </para> 10529 </para>
10530 <para lang="en"> 10530 <para lang="en">
10531 nginx could not be built on Debian amd64; 10531 nginx could not be built on Debian amd64;
10532 the bug had appeared in 0.4.9. 10532 the bug had appeared in 0.4.9.
10533 </para> 10533 </para>
10538 10538
10539 <changes ver="0.4.9" date="13.10.2006"> 10539 <changes ver="0.4.9" date="13.10.2006">
10540 10540
10541 <change type="feature"> 10541 <change type="feature">
10542 <para lang="ru"> 10542 <para lang="ru">
10543 параметр set в команде SSI include. 10543 п©п╟я─п╟п╪п╣я┌я─ set п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
10544 </para> 10544 </para>
10545 <para lang="en"> 10545 <para lang="en">
10546 the "set" parameter in the "include" SSI command. 10546 the "set" parameter in the "include" SSI command.
10547 </para> 10547 </para>
10548 </change> 10548 </change>
10549 10549
10550 <change type="feature"> 10550 <change type="feature">
10551 <para lang="ru"> 10551 <para lang="ru">
10552 модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm. 10552 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╡п╣я─я│п╦я▌ п╪п╬п╢я┐п╩я▐ nginx.pm.
10553 </para> 10553 </para>
10554 <para lang="en"> 10554 <para lang="en">
10555 the ngx_http_perl_module now tests the nginx.pm module version. 10555 the ngx_http_perl_module now tests the nginx.pm module version.
10556 </para> 10556 </para>
10557 </change> 10557 </change>
10561 10561
10562 <changes ver="0.4.8" date="11.10.2006"> 10562 <changes ver="0.4.8" date="11.10.2006">
10563 10563
10564 <change type="bugfix"> 10564 <change type="bugfix">
10565 <para lang="ru"> 10565 <para lang="ru">
10566 если до команды SSI include с параметром wait выполнялась ещё 10566 п╣я│п╩п╦ п╢п╬ п╨п╬п╪п╟п╫п╢я▀ SSI include я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄ п╣я┴я▒
10567 одна команда SSI include, то параметр wait мог не работать. 10567 п╬п╢п╫п╟ п╨п╬п╪п╟п╫п╢п╟ SSI include, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ wait п╪п╬пЁ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄.
10568 </para> 10568 </para>
10569 <para lang="en"> 10569 <para lang="en">
10570 if an "include" SSI command were before another "include" SSI command 10570 if an "include" SSI command were before another "include" SSI command
10571 with a "wait" parameter, then the "wait" parameter might not work. 10571 with a "wait" parameter, then the "wait" parameter might not work.
10572 </para> 10572 </para>
10573 </change> 10573 </change>
10574 10574
10575 <change type="bugfix"> 10575 <change type="bugfix">
10576 <para lang="ru"> 10576 <para lang="ru">
10577 модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/> 10577 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module п╢п╬п╠п╟п╡п╩я▐п╩ FLV-п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╢п╩я▐ п©п╬п╩п╫я▀я┘ п╬я┌п╡п╣я┌п╬п╡.<br/>
10578 Спасибо Алексею Ковырину. 10578 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╣я▌ п п╬п╡я▀я─п╦п╫я┐.
10579 </para> 10579 </para>
10580 <para lang="en"> 10580 <para lang="en">
10581 the ngx_http_flv_module added the FLV header to the full responses.<br/> 10581 the ngx_http_flv_module added the FLV header to the full responses.<br/>
10582 Thanks to Alexey Kovyrin. 10582 Thanks to Alexey Kovyrin.
10583 </para> 10583 </para>
10588 10588
10589 <changes ver="0.4.7" date="10.10.2006"> 10589 <changes ver="0.4.7" date="10.10.2006">
10590 10590
10591 <change type="feature"> 10591 <change type="feature">
10592 <para lang="ru"> 10592 <para lang="ru">
10593 модуль ngx_http_flv_module. 10593 п╪п╬п╢я┐п╩я▄ ngx_http_flv_module.
10594 </para> 10594 </para>
10595 <para lang="en"> 10595 <para lang="en">
10596 the ngx_http_flv_module. 10596 the ngx_http_flv_module.
10597 </para> 10597 </para>
10598 </change> 10598 </change>
10599 10599
10600 <change type="feature"> 10600 <change type="feature">
10601 <para lang="ru"> 10601 <para lang="ru">
10602 переменная $request_body_file. 10602 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_body_file.
10603 </para> 10603 </para>
10604 <para lang="en"> 10604 <para lang="en">
10605 the $request_body_file variable. 10605 the $request_body_file variable.
10606 </para> 10606 </para>
10607 </change> 10607 </change>
10608 10608
10609 <change type="feature"> 10609 <change type="feature">
10610 <para lang="ru"> 10610 <para lang="ru">
10611 директивы charset и source_charset поддерживают переменные. 10611 п╢п╦я─п╣п╨я┌п╦п╡я▀ charset п╦ source_charset п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
10612 </para> 10612 </para>
10613 <para lang="en"> 10613 <para lang="en">
10614 the "charset" and "source_charset" directives support the variables. 10614 the "charset" and "source_charset" directives support the variables.
10615 </para> 10615 </para>
10616 </change> 10616 </change>
10617 10617
10618 <change type="bugfix"> 10618 <change type="bugfix">
10619 <para lang="ru"> 10619 <para lang="ru">
10620 если до команды SSI include с параметром wait выполнялась ещё 10620 п╣я│п╩п╦ п╢п╬ п╨п╬п╪п╟п╫п╢я▀ SSI include я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ wait п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄ п╣я┴я▒
10621 одна команда SSI include, то параметр wait мог не работать. 10621 п╬п╢п╫п╟ п╨п╬п╪п╟п╫п╢п╟ SSI include, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ wait п╪п╬пЁ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄.
10622 </para> 10622 </para>
10623 <para lang="en"> 10623 <para lang="en">
10624 if an "include" SSI command were before another "include" SSI command 10624 if an "include" SSI command were before another "include" SSI command
10625 with a "wait" parameter, then the "wait" parameter might not work. 10625 with a "wait" parameter, then the "wait" parameter might not work.
10626 </para> 10626 </para>
10627 </change> 10627 </change>
10628 10628
10629 <change type="bugfix"> 10629 <change type="bugfix">
10630 <para lang="ru"> 10630 <para lang="ru">
10631 при использовании директивы "proxy_buffering off" или при работе 10631 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ "proxy_buffering off" п╦п╩п╦ п©я─п╦ я─п╟п╠п╬я┌п╣
10632 с memcached соединения могли не закрываться по таймауту. 10632 я│ memcached я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╦ п╫п╣ п╥п╟п╨я─я▀п╡п╟я┌я▄я│я▐ п©п╬ я┌п╟п╧п╪п╟я┐я┌я┐.
10633 </para> 10633 </para>
10634 <para lang="en"> 10634 <para lang="en">
10635 if the "proxy_buffering off" directive was used or while working with 10635 if the "proxy_buffering off" directive was used or while working with
10636 memcached the connections might not be closed on timeout. 10636 memcached the connections might not be closed on timeout.
10637 </para> 10637 </para>
10638 </change> 10638 </change>
10639 10639
10640 <change type="bugfix"> 10640 <change type="bugfix">
10641 <para lang="ru"> 10641 <para lang="ru">
10642 nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 10642 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ amd64, sparc64 п╦ ppc64.
10643 </para> 10643 </para>
10644 <para lang="en"> 10644 <para lang="en">
10645 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 10645 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
10646 </para> 10646 </para>
10647 </change> 10647 </change>
10651 10651
10652 <changes ver="0.4.6" date="06.10.2006"> 10652 <changes ver="0.4.6" date="06.10.2006">
10653 10653
10654 <change type="bugfix"> 10654 <change type="bugfix">
10655 <para lang="ru"> 10655 <para lang="ru">
10656 nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 10656 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ amd64, sparc64 п╦ ppc64.
10657 </para> 10657 </para>
10658 <para lang="en"> 10658 <para lang="en">
10659 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 10659 nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
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 при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами, 10665 п©я─п╦ п╥п╟п©я─п╬я│п╣ п╡п╣я─я│п╦п╦ HTTP/1.1 nginx п©п╣я─п╣п╢п╟п╡п╟п╩ п╬я┌п╡п╣я┌ chunk'п╟п╪п╦,
10666 если длина ответа в методе $r->headers_out("Content-Length", ...) 10666 п╣я│п╩п╦ п╢п╩п╦п╫п╟ п╬я┌п╡п╣я┌п╟ п╡ п╪п╣я┌п╬п╢п╣ $r->headers_out("Content-Length", ...)
10667 была задана текстовой строкой. 10667 п╠я▀п╩п╟ п╥п╟п╢п╟п╫п╟ я┌п╣п╨я│я┌п╬п╡п╬п╧ я│я┌я─п╬п╨п╬п╧.
10668 </para> 10668 </para>
10669 <para lang="en"> 10669 <para lang="en">
10670 nginx sent the chunked response for HTTP/1.1 request,<br/> 10670 nginx sent the chunked response for HTTP/1.1 request,<br/>
10671 if its length was set by text string in 10671 if its length was set by text string in
10672 the $r->headers_out("Content-Length", ...) method. 10672 the $r->headers_out("Content-Length", ...) method.
10673 </para> 10673 </para>
10674 </change> 10674 </change>
10675 10675
10676 <change type="bugfix"> 10676 <change type="bugfix">
10677 <para lang="ru"> 10677 <para lang="ru">
10678 после перенаправления ошибки с помощью директивы error_page любая директива 10678 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╬я┬п╦п╠п╨п╦ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╩я▌п╠п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟
10679 модуля ngx_http_rewrite_module возвращала эту ошибку; 10679 п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ я█я┌я┐ п╬я┬п╦п╠п╨я┐;
10680 ошибка появилась в 0.4.4. 10680 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.4.
10681 </para> 10681 </para>
10682 <para lang="en"> 10682 <para lang="en">
10683 after redirecting error by an "error_page" directive 10683 after redirecting error by an "error_page" directive
10684 any ngx_http_rewrite_module directive returned this error code; 10684 any ngx_http_rewrite_module directive returned this error code;
10685 the bug had appeared in 0.4.4. 10685 the bug had appeared in 0.4.4.
10691 10691
10692 <changes ver="0.4.5" date="02.10.2006"> 10692 <changes ver="0.4.5" date="02.10.2006">
10693 10693
10694 <change type="bugfix"> 10694 <change type="bugfix">
10695 <para lang="ru"> 10695 <para lang="ru">
10696 nginx не собирался на Linux и Solaris; 10696 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris;
10697 ошибка появилась в 0.4.4. 10697 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.4.
10698 </para> 10698 </para>
10699 <para lang="en"> 10699 <para lang="en">
10700 nginx could not be built on Linux and Solaris; 10700 nginx could not be built on Linux and Solaris;
10701 the bug had appeared in 0.4.4. 10701 the bug had appeared in 0.4.4.
10702 </para> 10702 </para>
10707 10707
10708 <changes ver="0.4.4" date="02.10.2006"> 10708 <changes ver="0.4.4" date="02.10.2006">
10709 10709
10710 <change type="feature"> 10710 <change type="feature">
10711 <para lang="ru"> 10711 <para lang="ru">
10712 переменная $scheme. 10712 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $scheme.
10713 </para> 10713 </para>
10714 <para lang="en"> 10714 <para lang="en">
10715 the $scheme variable. 10715 the $scheme variable.
10716 </para> 10716 </para>
10717 </change> 10717 </change>
10718 10718
10719 <change type="feature"> 10719 <change type="feature">
10720 <para lang="ru"> 10720 <para lang="ru">
10721 директива expires поддерживает параметр max. 10721 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ max.
10722 </para> 10722 </para>
10723 <para lang="en"> 10723 <para lang="en">
10724 the "expires" directive supports the "max" parameter. 10724 the "expires" directive supports the "max" parameter.
10725 </para> 10725 </para>
10726 </change> 10726 </change>
10727 10727
10728 <change type="feature"> 10728 <change type="feature">
10729 <para lang="ru"> 10729 <para lang="ru">
10730 директива include поддерживает маску "*".<br/> 10730 п╢п╦я─п╣п╨я┌п╦п╡п╟ include п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╟я│п╨я┐ "*".<br/>
10731 Спасибо Jonathan Dance. 10731 п║п©п╟я│п╦п╠п╬ Jonathan Dance.
10732 </para> 10732 </para>
10733 <para lang="en"> 10733 <para lang="en">
10734 the "include" directive supports the "*" mask.<br/> 10734 the "include" directive supports the "*" mask.<br/>
10735 Thanks to Jonathan Dance. 10735 Thanks to Jonathan Dance.
10736 </para> 10736 </para>
10737 </change> 10737 </change>
10738 10738
10739 <change type="bugfix"> 10739 <change type="bugfix">
10740 <para lang="ru"> 10740 <para lang="ru">
10741 директива return всегда изменяла код ответа, перенаправленного 10741 п╢п╦я─п╣п╨я┌п╦п╡п╟ return п╡я│п╣пЁп╢п╟ п╦п╥п╪п╣п╫я▐п╩п╟ п╨п╬п╢ п╬я┌п╡п╣я┌п╟, п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╫п╬пЁп╬
10742 директивой error_page. 10742 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ error_page.
10743 </para> 10743 </para>
10744 <para lang="en"> 10744 <para lang="en">
10745 the "return" directive always overrode the "error_page" response code 10745 the "return" directive always overrode the "error_page" response code
10746 redirected by the "error_page" directive. 10746 redirected by the "error_page" directive.
10747 </para> 10747 </para>
10748 </change> 10748 </change>
10749 10749
10750 <change type="bugfix"> 10750 <change type="bugfix">
10751 <para lang="ru"> 10751 <para lang="ru">
10752 происходил segmentation fault, если в методе PUT передавалось 10752 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╪п╣я┌п╬п╢п╣ PUT п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄
10753 тело нулевой длины. 10753 я┌п╣п╩п╬ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀.
10754 </para> 10754 </para>
10755 <para lang="en"> 10755 <para lang="en">
10756 a segmentation fault occurred if zero-length body was in PUT method. 10756 a segmentation fault occurred if zero-length body was in PUT method.
10757 </para> 10757 </para>
10758 </change> 10758 </change>
10759 10759
10760 <change type="bugfix"> 10760 <change type="bugfix">
10761 <para lang="ru"> 10761 <para lang="ru">
10762 при использовании переменных в директиве proxy_redirect редирект 10762 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_redirect я─п╣п╢п╦я─п╣п╨я┌
10763 изменялся неверно. 10763 п╦п╥п╪п╣п╫я▐п╩я│я▐ п╫п╣п╡п╣я─п╫п╬.
10764 </para> 10764 </para>
10765 <para lang="en"> 10765 <para lang="en">
10766 the redirect was changed incorrectly if the variables were used 10766 the redirect was changed incorrectly if the variables were used
10767 in the "proxy_redirect" directive. 10767 in the "proxy_redirect" directive.
10768 </para> 10768 </para>
10773 10773
10774 <changes ver="0.4.3" date="26.09.2006"> 10774 <changes ver="0.4.3" date="26.09.2006">
10775 10775
10776 <change type="change"> 10776 <change type="change">
10777 <para lang="ru"> 10777 <para lang="ru">
10778 ошибку 499 теперь нельзя перенаправить с помощью директивы error_page. 10778 п╬я┬п╦п╠п╨я┐ 499 я┌п╣п©п╣я─я▄ п╫п╣п╩я▄п╥я▐ п©п╣я─п╣п╫п╟п©я─п╟п╡п╦я┌я▄ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page.
10779 </para> 10779 </para>
10780 <para lang="en"> 10780 <para lang="en">
10781 now the 499 error could not be redirected using an "error_page" directive. 10781 now the 499 error could not be redirected using an "error_page" directive.
10782 </para> 10782 </para>
10783 </change> 10783 </change>
10784 10784
10785 <change type="feature"> 10785 <change type="feature">
10786 <para lang="ru"> 10786 <para lang="ru">
10787 поддержка Solaris 10 event ports. 10787 п©п╬п╢п╢п╣я─п╤п╨п╟ Solaris 10 event ports.
10788 </para> 10788 </para>
10789 <para lang="en"> 10789 <para lang="en">
10790 the Solaris 10 event ports support. 10790 the Solaris 10 event ports support.
10791 </para> 10791 </para>
10792 </change> 10792 </change>
10793 10793
10794 <change type="feature"> 10794 <change type="feature">
10795 <para lang="ru"> 10795 <para lang="ru">
10796 модуль ngx_http_browser_module. 10796 п╪п╬п╢я┐п╩я▄ ngx_http_browser_module.
10797 </para> 10797 </para>
10798 <para lang="en"> 10798 <para lang="en">
10799 the ngx_http_browser_module. 10799 the ngx_http_browser_module.
10800 </para> 10800 </para>
10801 </change> 10801 </change>
10802 10802
10803 <change type="bugfix"> 10803 <change type="bugfix">
10804 <para lang="ru"> 10804 <para lang="ru">
10805 при перенаправлении ошибки 400 проксированному серверу 10805 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╨п╦ 400 п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪я┐ я│п╣я─п╡п╣я─я┐
10806 помощью директивы error_page мог произойти segmentation fault. 10806 п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ error_page п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
10807 </para> 10807 </para>
10808 <para lang="en"> 10808 <para lang="en">
10809 a segmentation fault may occur while redirecting the 400 error 10809 a segmentation fault may occur while redirecting the 400 error
10810 to the proxied server using a "proxy_pass" directive. 10810 to the proxied server using a "proxy_pass" directive.
10811 </para> 10811 </para>
10812 </change> 10812 </change>
10813 10813
10814 <change type="bugfix"> 10814 <change type="bugfix">
10815 <para lang="ru"> 10815 <para lang="ru">
10816 происходил segmentation fault, если в директиве proxy_pass использовался 10816 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
10817 unix domain сокет; 10817 unix domain я│п╬п╨п╣я┌;
10818 ошибка появилась в 0.3.47. 10818 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.47.
10819 </para> 10819 </para>
10820 <para lang="en"> 10820 <para lang="en">
10821 a segmentation fault occurred if an unix domain socket was used in 10821 a segmentation fault occurred if an unix domain socket was used in
10822 a "proxy_pass" directive; 10822 a "proxy_pass" directive;
10823 the bug had appeared in 0.3.47. 10823 the bug had appeared in 0.3.47.
10824 </para> 10824 </para>
10825 </change> 10825 </change>
10826 10826
10827 <change type="bugfix"> 10827 <change type="bugfix">
10828 <para lang="ru"> 10828 <para lang="ru">
10829 SSI не работал с ответами memcached и небуферизированными проксированными 10829 SSI п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│ п╬я┌п╡п╣я┌п╟п╪п╦ memcached п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪п╦
10830 ответами. 10830 п╬я┌п╡п╣я┌п╟п╪п╦.
10831 </para> 10831 </para>
10832 <para lang="en"> 10832 <para lang="en">
10833 SSI did work with memcached and nonbuffered responses. 10833 SSI did work with memcached and nonbuffered responses.
10834 </para> 10834 </para>
10835 </change> 10835 </change>
10836 10836
10837 <change type="workaround"> 10837 <change type="workaround">
10838 <para lang="ru"> 10838 <para lang="ru">
10839 обход ошибки PAUSE hardware capability в Sun Studio. 10839 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ PAUSE hardware capability п╡ Sun Studio.
10840 </para> 10840 </para>
10841 <para lang="en"> 10841 <para lang="en">
10842 of the Sun Studio PAUSE hardware capability bug. 10842 of the Sun Studio PAUSE hardware capability bug.
10843 </para> 10843 </para>
10844 </change> 10844 </change>
10848 10848
10849 <changes ver="0.4.2" date="14.09.2006"> 10849 <changes ver="0.4.2" date="14.09.2006">
10850 10850
10851 <change type="bugfix"> 10851 <change type="bugfix">
10852 <para lang="ru"> 10852 <para lang="ru">
10853 убрана поддержка флага O_NOATIME на Linux; 10853 я┐п╠я─п╟п╫п╟ п©п╬п╢п╢п╣я─п╤п╨п╟ я└п╩п╟пЁп╟ O_NOATIME п╫п╟ Linux;
10854 ошибка появилась в 0.4.1. 10854 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.4.1.
10855 </para> 10855 </para>
10856 <para lang="en"> 10856 <para lang="en">
10857 the O_NOATIME flag support on Linux was canceled; 10857 the O_NOATIME flag support on Linux was canceled;
10858 the bug had appeared in 0.4.1. 10858 the bug had appeared in 0.4.1.
10859 </para> 10859 </para>
10864 10864
10865 <changes ver="0.4.1" date="14.09.2006"> 10865 <changes ver="0.4.1" date="14.09.2006">
10866 10866
10867 <change type="bugfix"> 10867 <change type="bugfix">
10868 <para lang="ru"> 10868 <para lang="ru">
10869 совместимость с DragonFlyBSD.<br/> 10869 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ DragonFlyBSD.<br/>
10870 Спасибо Павлу Назарову. 10870 п║п©п╟я│п╦п╠п╬ п÷п╟п╡п╩я┐ п²п╟п╥п╟я─п╬п╡я┐.
10871 </para> 10871 </para>
10872 <para lang="en"> 10872 <para lang="en">
10873 the DragonFlyBSD compatibility.<br/> 10873 the DragonFlyBSD compatibility.<br/>
10874 Thanks to Pavel Nazarov. 10874 Thanks to Pavel Nazarov.
10875 </para> 10875 </para>
10876 </change> 10876 </change>
10877 10877
10878 <change type="workaround"> 10878 <change type="workaround">
10879 <para lang="ru"> 10879 <para lang="ru">
10880 обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G. 10880 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ sendfile() п╡ 64-п╠п╦я┌п╫п╬п╪ Linux п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я└п╟п╧п╩п╬п╡ п╠п╬п╩я▄я┬п╣ 2G.
10881 </para> 10881 </para>
10882 <para lang="en"> 10882 <para lang="en">
10883 of bug in 64-bit Linux sendfile(), when file is more than 2G. 10883 of bug in 64-bit Linux sendfile(), when file is more than 2G.
10884 </para> 10884 </para>
10885 </change> 10885 </change>
10886 10886
10887 <change type="feature"> 10887 <change type="feature">
10888 <para lang="ru"> 10888 <para lang="ru">
10889 теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/> 10889 я┌п╣п©п╣я─я▄ п╫п╟ Linux nginx п╢п╩я▐ я│я┌п╟я┌п╦я┤п╣я│п╨п╦я┘ п╥п╟п©я─п╬я│п╬п╡ п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я└п╩п╟пЁ O_NOATIME.<br/>
10890 Спасибо Yusuf Goolamabbas. 10890 п║п©п╟я│п╦п╠п╬ Yusuf Goolamabbas.
10891 </para> 10891 </para>
10892 <para lang="en"> 10892 <para lang="en">
10893 now on Linux nginx uses O_NOATIME flag for static requests.<br/> 10893 now on Linux nginx uses O_NOATIME flag for static requests.<br/>
10894 Thanks to Yusuf Goolamabbas. 10894 Thanks to Yusuf Goolamabbas.
10895 </para> 10895 </para>
10900 10900
10901 <changes ver="0.4.0" date="30.08.2006"> 10901 <changes ver="0.4.0" date="30.08.2006">
10902 10902
10903 <change> 10903 <change>
10904 <para lang="ru"> 10904 <para lang="ru">
10905 Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы 10905 п≤п╥п╪п╣п╫п╣п╫п╦п╣ п╡п╬ п╡п╫я┐я┌я─п╣п╫п╫п╣п╪ API: п╦п╫п╦я├п╦п╟п╩п╦п╥п╟я├п╦я▐ п╪п╬п╢я┐п╩п╣п╧ HTTP п©п╣я─п╣п╫п╣я│п╣п╫п╟ п╦п╥ я└п╟п╥я▀
10906 init module в фазу HTTP postconfiguration. 10906 init module п╡ я└п╟п╥я┐ HTTP postconfiguration.
10907 </para> 10907 </para>
10908 <para lang="en"> 10908 <para lang="en">
10909 Change in internal API: the HTTP modules initialization was moved 10909 Change in internal API: the HTTP modules initialization was moved
10910 from the init module phase to the HTTP postconfiguration phase. 10910 from the init module phase to the HTTP postconfiguration phase.
10911 </para> 10911 </para>
10912 </change> 10912 </change>
10913 10913
10914 <change type="change"> 10914 <change type="change">
10915 <para lang="ru"> 10915 <para lang="ru">
10916 теперь тело запроса в модуле ngx_http_perl_module не считывается 10916 я┌п╣п©п╣я─я▄ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module п╫п╣ я│я┤п╦я┌я▀п╡п╟п╣я┌я│я▐
10917 заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body. 10917 п╥п╟я─п╟п╫п╣п╣: п╫я┐п╤п╫п╬ я▐п╡п╫п╬ п╦п╫п╦я├п╦п╦я─п╬п╡п╟я┌я▄ я┤я┌п╣п╫п╦п╣ я│ п©п╬п╪п╬я┴я▄я▌ п╪п╣я┌п╬п╢п╟ $r->has_request_body.
10918 </para> 10918 </para>
10919 <para lang="en"> 10919 <para lang="en">
10920 now the request body is not read beforehand for the ngx_http_perl_module: 10920 now the request body is not read beforehand for the ngx_http_perl_module:
10921 it's required to start the reading using the $r->has_request_body method. 10921 it's required to start the reading using the $r->has_request_body method.
10922 </para> 10922 </para>
10923 </change> 10923 </change>
10924 10924
10925 <change type="feature"> 10925 <change type="feature">
10926 <para lang="ru"> 10926 <para lang="ru">
10927 модуль ngx_http_perl_module поддерживает код возврата DECLINED. 10927 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╢ п╡п╬п╥п╡я─п╟я┌п╟ DECLINED.
10928 </para> 10928 </para>
10929 <para lang="en"> 10929 <para lang="en">
10930 the ngx_http_perl_module supports the DECLINED return code. 10930 the ngx_http_perl_module supports the DECLINED return code.
10931 </para> 10931 </para>
10932 </change> 10932 </change>
10933 10933
10934 <change type="feature"> 10934 <change type="feature">
10935 <para lang="ru"> 10935 <para lang="ru">
10936 модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date" 10936 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я┘п╬п╢я▐я┴я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Date"
10937 для метода PUT. 10937 п╢п╩я▐ п╪п╣я┌п╬п╢п╟ PUT.
10938 </para> 10938 </para>
10939 <para lang="en"> 10939 <para lang="en">
10940 the ngx_http_dav_module supports the incoming "Date" header line 10940 the ngx_http_dav_module supports the incoming "Date" header line
10941 for the PUT method. 10941 for the PUT method.
10942 </para> 10942 </para>
10943 </change> 10943 </change>
10944 10944
10945 <change type="feature"> 10945 <change type="feature">
10946 <para lang="ru"> 10946 <para lang="ru">
10947 директива ssi работает внутри блока if. 10947 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi я─п╟п╠п╬я┌п╟п╣я┌ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
10948 </para> 10948 </para>
10949 <para lang="en"> 10949 <para lang="en">
10950 the "ssi" directive is available inside the "if" block. 10950 the "ssi" directive is available inside the "if" block.
10951 </para> 10951 </para>
10952 </change> 10952 </change>
10953 10953
10954 <change type="bugfix"> 10954 <change type="bugfix">
10955 <para lang="ru"> 10955 <para lang="ru">
10956 происходил segmentation fault, если в директиве index использовалась 10956 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ index п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄
10957 переменные и при этом первое имя индексного файла было без переменных; 10957 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п©я─п╦ я█я┌п╬п╪ п©п╣я─п╡п╬п╣ п╦п╪я▐ п╦п╫п╢п╣п╨я│п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╠я▀п╩п╬ п╠п╣п╥ п©п╣я─п╣п╪п╣п╫п╫я▀я┘;
10958 ошибка появилась в 0.1.29. 10958 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
10959 </para> 10959 </para>
10960 <para lang="en"> 10960 <para lang="en">
10961 a segmentation fault occurred if there was an "index" directive with 10961 a segmentation fault occurred if there was an "index" directive with
10962 variables and the first index name was without variables; 10962 variables and the first index name was without variables;
10963 the bug had appeared in 0.1.29. 10963 the bug had appeared in 0.1.29.
10969 10969
10970 <changes ver="0.3.61" date="28.08.2006"> 10970 <changes ver="0.3.61" date="28.08.2006">
10971 10971
10972 <change type="change"> 10972 <change type="change">
10973 <para lang="ru"> 10973 <para lang="ru">
10974 директива tcp_nodelay теперь по умолчанию включена. 10974 п╢п╦я─п╣п╨я┌п╦п╡п╟ tcp_nodelay я┌п╣п©п╣я─я▄ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ п╡п╨п╩я▌я┤п╣п╫п╟.
10975 </para> 10975 </para>
10976 <para lang="en"> 10976 <para lang="en">
10977 now the "tcp_nodelay" directive is turned on by default. 10977 now the "tcp_nodelay" directive is turned on by default.
10978 </para> 10978 </para>
10979 </change> 10979 </change>
10980 10980
10981 <change type="feature"> 10981 <change type="feature">
10982 <para lang="ru"> 10982 <para lang="ru">
10983 директива msie_refresh. 10983 п╢п╦я─п╣п╨я┌п╦п╡п╟ msie_refresh.
10984 </para> 10984 </para>
10985 <para lang="en"> 10985 <para lang="en">
10986 the "msie_refresh" directive. 10986 the "msie_refresh" directive.
10987 </para> 10987 </para>
10988 </change> 10988 </change>
10989 10989
10990 <change type="feature"> 10990 <change type="feature">
10991 <para lang="ru"> 10991 <para lang="ru">
10992 директива recursive_error_pages. 10992 п╢п╦я─п╣п╨я┌п╦п╡п╟ recursive_error_pages.
10993 </para> 10993 </para>
10994 <para lang="en"> 10994 <para lang="en">
10995 the "recursive_error_pages" directive. 10995 the "recursive_error_pages" directive.
10996 </para> 10996 </para>
10997 </change> 10997 </change>
10998 10998
10999 <change type="bugfix"> 10999 <change type="bugfix">
11000 <para lang="ru"> 11000 <para lang="ru">
11001 директива rewrite возвращала неправильный редирект, если редирект 11001 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ п╫п╣п©я─п╟п╡п╦п╩я▄п╫я▀п╧ я─п╣п╢п╦я─п╣п╨я┌, п╣я│п╩п╦ я─п╣п╢п╦я─п╣п╨я┌
11002 включал в себя выделенные закодированные символы из оригинального URI. 11002 п╡п╨п╩я▌я┤п╟п╩ п╡ я│п╣п╠я▐ п╡я▀п╢п╣п╩п╣п╫п╫я▀п╣ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╣ я│п╦п╪п╡п╬п╩я▀ п╦п╥ п╬я─п╦пЁп╦п╫п╟п╩я▄п╫п╬пЁп╬ URI.
11003 </para> 11003 </para>
11004 <para lang="en"> 11004 <para lang="en">
11005 the "rewrite" directive returned incorrect redirect, if the redirect 11005 the "rewrite" directive returned incorrect redirect, if the redirect
11006 had the captured escaped symbols from original URI. 11006 had the captured escaped symbols from original URI.
11007 </para> 11007 </para>
11012 11012
11013 <changes ver="0.3.60" date="18.08.2006"> 11013 <changes ver="0.3.60" date="18.08.2006">
11014 11014
11015 <change type="bugfix"> 11015 <change type="bugfix">
11016 <para lang="ru"> 11016 <para lang="ru">
11017 во время перенаправления ошибки рабочий процесс мог зациклиться; 11017 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ п╬я┬п╦п╠п╨п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
11018 ошибка появилась в 0.3.59. 11018 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.59.
11019 </para> 11019 </para>
11020 <para lang="en"> 11020 <para lang="en">
11021 a worker process may got caught in an endless loop 11021 a worker process may got caught in an endless loop
11022 while an error redirection; 11022 while an error redirection;
11023 the bug had appeared in 0.3.59. 11023 the bug had appeared in 0.3.59.
11029 11029
11030 <changes ver="0.3.59" date="16.08.2006"> 11030 <changes ver="0.3.59" date="16.08.2006">
11031 11031
11032 <change type="feature"> 11032 <change type="feature">
11033 <para lang="ru"> 11033 <para lang="ru">
11034 теперь можно делать несколько перенаправлений через директиву error_page. 11034 я┌п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╢п╣п╩п╟я┌я▄ п╫п╣я│п╨п╬п╩я▄п╨п╬ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╧ я┤п╣я─п╣п╥ п╢п╦я─п╣п╨я┌п╦п╡я┐ error_page.
11035 </para> 11035 </para>
11036 <para lang="en"> 11036 <para lang="en">
11037 now is possible to do several redirection using the "error_page" directive. 11037 now is possible to do several redirection using the "error_page" directive.
11038 </para> 11038 </para>
11039 </change> 11039 </change>
11040 11040
11041 <change type="bugfix"> 11041 <change type="bugfix">
11042 <para lang="ru"> 11042 <para lang="ru">
11043 директива dav_access не поддерживала три параметра. 11043 п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ я┌я─п╦ п©п╟я─п╟п╪п╣я┌я─п╟.
11044 </para> 11044 </para>
11045 <para lang="en"> 11045 <para lang="en">
11046 the "dav_access" directive did not support three parameters. 11046 the "dav_access" directive did not support three parameters.
11047 </para> 11047 </para>
11048 </change> 11048 </change>
11049 11049
11050 <change type="bugfix"> 11050 <change type="bugfix">
11051 <para lang="ru"> 11051 <para lang="ru">
11052 директива error_page не изменяла строку "Content-Type" 11052 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п╦п╥п╪п╣п╫я▐п╩п╟ я│я┌я─п╬п╨я┐ "Content-Type"
11053 после перенаправления с помощью "X-Accel-Redirect"; 11053 п©п╬я│п╩п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦я▐ я│ п©п╬п╪п╬я┴я▄я▌ "X-Accel-Redirect";
11054 ошибка появилась в 0.3.58. 11054 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.58.
11055 </para> 11055 </para>
11056 <para lang="en"> 11056 <para lang="en">
11057 the "error_page" directive did not changes the "Content-Type" header line 11057 the "error_page" directive did not changes the "Content-Type" header line
11058 after the "X-Accel-Redirect" was used; 11058 after the "X-Accel-Redirect" was used;
11059 the bug had appeared in 0.3.58. 11059 the bug had appeared in 0.3.58.
11065 11065
11066 <changes ver="0.3.58" date="14.08.2006"> 11066 <changes ver="0.3.58" date="14.08.2006">
11067 11067
11068 <change type="feature"> 11068 <change type="feature">
11069 <para lang="ru"> 11069 <para lang="ru">
11070 директива error_page поддерживает переменные. 11070 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
11071 </para> 11071 </para>
11072 <para lang="en"> 11072 <para lang="en">
11073 the "error_page" directive supports the variables. 11073 the "error_page" directive supports the variables.
11074 </para> 11074 </para>
11075 </change> 11075 </change>
11076 11076
11077 <change type="change"> 11077 <change type="change">
11078 <para lang="ru"> 11078 <para lang="ru">
11079 теперь на Linux используется интерфейс procfs вместо sysctl. 11079 я┌п╣п©п╣я─я▄ п╫п╟ Linux п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╦п╫я┌п╣я─я└п╣п╧я│ procfs п╡п╪п╣я│я┌п╬ sysctl.
11080 </para> 11080 </para>
11081 <para lang="en"> 11081 <para lang="en">
11082 now the procfs interface instead of sysctl is used on Linux. 11082 now the procfs interface instead of sysctl is used on Linux.
11083 </para> 11083 </para>
11084 </change> 11084 </change>
11085 11085
11086 <change type="change"> 11086 <change type="change">
11087 <para lang="ru"> 11087 <para lang="ru">
11088 теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется 11088 я┌п╣п©п╣я─я▄ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" я│я┌я─п╬п╨п╟ "Content-Type" п╫п╟я│п╩п╣п╢я┐п╣я┌я│я▐
11089 из первоначального ответа. 11089 п╦п╥ п©п╣я─п╡п╬п╫п╟я┤п╟п╩я▄п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟.
11090 </para> 11090 </para>
11091 <para lang="en"> 11091 <para lang="en">
11092 now the "Content-Type" header line is inherited from first response 11092 now the "Content-Type" header line is inherited from first response
11093 when the "X-Accel-Redirect" was used. 11093 when the "X-Accel-Redirect" was used.
11094 </para> 11094 </para>
11095 </change> 11095 </change>
11096 11096
11097 <change type="bugfix"> 11097 <change type="bugfix">
11098 <para lang="ru"> 11098 <para lang="ru">
11099 директива error_page не перенаправляла ошибку 413. 11099 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п╫п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟ п╬я┬п╦п╠п╨я┐ 413.
11100 </para> 11100 </para>
11101 <para lang="en"> 11101 <para lang="en">
11102 the "error_page" directive did not redirect the 413 error. 11102 the "error_page" directive did not redirect the 413 error.
11103 </para> 11103 </para>
11104 </change> 11104 </change>
11105 11105
11106 <change type="bugfix"> 11106 <change type="bugfix">
11107 <para lang="ru"> 11107 <para lang="ru">
11108 завершающий "?" не удалял старые аргументы, если в переписанном URI 11108 п╥п╟п╡п╣я─я┬п╟я▌я┴п╦п╧ "?" п╫п╣ я┐п╢п╟п╩я▐п╩ я│я┌п╟я─я▀п╣ п╟я─пЁя┐п╪п╣п╫я┌я▀, п╣я│п╩п╦ п╡ п©п╣я─п╣п©п╦я│п╟п╫п╫п╬п╪ URI
11109 не было новых аргументов. 11109 п╫п╣ п╠я▀п╩п╬ п╫п╬п╡я▀я┘ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
11110 </para> 11110 </para>
11111 <para lang="en"> 11111 <para lang="en">
11112 the trailing "?" did not remove old arguments if no new arguments 11112 the trailing "?" did not remove old arguments if no new arguments
11113 were added to a rewritten URI. 11113 were added to a rewritten URI.
11114 </para> 11114 </para>
11115 </change> 11115 </change>
11116 11116
11117 <change type="bugfix"> 11117 <change type="bugfix">
11118 <para lang="ru"> 11118 <para lang="ru">
11119 nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 11119 nginx п╫п╣ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п╫п╟ 64-п╠п╦я┌п╫п╬п╧ FreeBSD 7.0-CURRENT.
11120 </para> 11120 </para>
11121 <para lang="en"> 11121 <para lang="en">
11122 nginx could not run on 64-bit FreeBSD 7.0-CURRENT. 11122 nginx could not run on 64-bit FreeBSD 7.0-CURRENT.
11123 </para> 11123 </para>
11124 </change> 11124 </change>
11128 11128
11129 <changes ver="0.3.57" date="09.08.2006"> 11129 <changes ver="0.3.57" date="09.08.2006">
11130 11130
11131 <change type="feature"> 11131 <change type="feature">
11132 <para lang="ru"> 11132 <para lang="ru">
11133 переменная $ssl_client_serial. 11133 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $ssl_client_serial.
11134 </para> 11134 </para>
11135 <para lang="en"> 11135 <para lang="en">
11136 the $ssl_client_serial variable. 11136 the $ssl_client_serial variable.
11137 </para> 11137 </para>
11138 </change> 11138 </change>
11139 11139
11140 <change type="bugfix"> 11140 <change type="bugfix">
11141 <para lang="ru"> 11141 <para lang="ru">
11142 в операторе "!-e" в директиве if.<br/> 11142 п╡ п╬п©п╣я─п╟я┌п╬я─п╣ "!-e" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if.<br/>
11143 Спасибо Андриану Буданцову. 11143 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╦п╟п╫я┐ п▒я┐п╢п╟п╫я├п╬п╡я┐.
11144 </para> 11144 </para>
11145 <para lang="en"> 11145 <para lang="en">
11146 in the "!-e" operator of the "if" directive.<br/> 11146 in the "!-e" operator of the "if" directive.<br/>
11147 Thanks to Andrian Budanstov. 11147 Thanks to Andrian Budanstov.
11148 </para> 11148 </para>
11149 </change> 11149 </change>
11150 11150
11151 <change type="bugfix"> 11151 <change type="bugfix">
11152 <para lang="ru"> 11152 <para lang="ru">
11153 при проверке клиентского сертификата nginx не передавал клиенту 11153 п©я─п╦ п©я─п╬п╡п╣я─п╨п╣ п╨п╩п╦п╣п╫я┌я│п╨п╬пЁп╬ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟ nginx п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п╨п╩п╦п╣п╫я┌я┐
11154 информацию о требуемых сертификатах. 11154 п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ я┌я─п╣п╠я┐п╣п╪я▀я┘ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╟я┘.
11155 </para> 11155 </para>
11156 <para lang="en"> 11156 <para lang="en">
11157 while a client certificate verification nginx did not send to a client 11157 while a client certificate verification nginx did not send to a client
11158 the required certificates information. 11158 the required certificates information.
11159 </para> 11159 </para>
11160 </change> 11160 </change>
11161 11161
11162 <change type="bugfix"> 11162 <change type="bugfix">
11163 <para lang="ru"> 11163 <para lang="ru">
11164 переменная $document_root не поддерживала переменные в директиве root. 11164 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $document_root п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ root.
11165 </para> 11165 </para>
11166 <para lang="en"> 11166 <para lang="en">
11167 the $document_root variable did not support the variables in the "root" 11167 the $document_root variable did not support the variables in the "root"
11168 directive. 11168 directive.
11169 </para> 11169 </para>
11174 11174
11175 <changes ver="0.3.56" date="04.08.2006"> 11175 <changes ver="0.3.56" date="04.08.2006">
11176 11176
11177 <change type="feature"> 11177 <change type="feature">
11178 <para lang="ru"> 11178 <para lang="ru">
11179 директива dav_access. 11179 п╢п╦я─п╣п╨я┌п╦п╡п╟ dav_access.
11180 </para> 11180 </para>
11181 <para lang="en"> 11181 <para lang="en">
11182 the "dav_access" directive. 11182 the "dav_access" directive.
11183 </para> 11183 </para>
11184 </change> 11184 </change>
11185 11185
11186 <change type="feature"> 11186 <change type="feature">
11187 <para lang="ru"> 11187 <para lang="ru">
11188 директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x". 11188 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я┌п╬я─я▀ "-d", "!-d", "-e", "!-e", "-x" п╦ "!-x".
11189 </para> 11189 </para>
11190 <para lang="en"> 11190 <para lang="en">
11191 the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" 11191 the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x"
11192 operators. 11192 operators.
11193 </para> 11193 </para>
11194 </change> 11194 </change>
11195 11195
11196 <change type="bugfix"> 11196 <change type="bugfix">
11197 <para lang="ru"> 11197 <para lang="ru">
11198 при записи в access_log некоторых передаваемых клиенту строк заголовков 11198 п©я─п╦ п╥п╟п©п╦я│п╦ п╡ access_log п╫п╣п╨п╬я┌п╬я─я▀я┘ п©п╣я─п╣п╢п╟п╡п╟п╣п╪я▀я┘ п╨п╩п╦п╣п╫я┌я┐ я│я┌я─п╬п╨ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╡
11199 происходил segmentation fault, если запрос возвращал редирект. 11199 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╥п╟п©я─п╬я│ п╡п╬п╥п╡я─п╟я┴п╟п╩ я─п╣п╢п╦я─п╣п╨я┌.
11200 </para> 11200 </para>
11201 <para lang="en"> 11201 <para lang="en">
11202 a segmentation fault occurred if a request returned a redirect and 11202 a segmentation fault occurred if a request returned a redirect and
11203 some sent to client header lines were logged in the access log. 11203 some sent to client header lines were logged in the access log.
11204 </para> 11204 </para>
11209 11209
11210 <changes ver="0.3.55" date="28.07.2006"> 11210 <changes ver="0.3.55" date="28.07.2006">
11211 11211
11212 <change type="feature"> 11212 <change type="feature">
11213 <para lang="ru"> 11213 <para lang="ru">
11214 параметр stub в команде SSI include. 11214 п©п╟я─п╟п╪п╣я┌я─ stub п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
11215 </para> 11215 </para>
11216 <para lang="en"> 11216 <para lang="en">
11217 the "stub" parameter in the "include" SSI command. 11217 the "stub" parameter in the "include" SSI command.
11218 </para> 11218 </para>
11219 </change> 11219 </change>
11220 11220
11221 <change type="feature"> 11221 <change type="feature">
11222 <para lang="ru"> 11222 <para lang="ru">
11223 команда SSI block. 11223 п╨п╬п╪п╟п╫п╢п╟ SSI block.
11224 </para> 11224 </para>
11225 <para lang="en"> 11225 <para lang="en">
11226 the "block" SSI command. 11226 the "block" SSI command.
11227 </para> 11227 </para>
11228 </change> 11228 </change>
11229 11229
11230 <change type="feature"> 11230 <change type="feature">
11231 <para lang="ru"> 11231 <para lang="ru">
11232 скрипт unicode2nginx добавлен в contrib. 11232 я│п╨я─п╦п©я┌ unicode2nginx п╢п╬п╠п╟п╡п╩п╣п╫ п╡ contrib.
11233 </para> 11233 </para>
11234 <para lang="en"> 11234 <para lang="en">
11235 the unicode2nginx script was added to contrib. 11235 the unicode2nginx script was added to contrib.
11236 </para> 11236 </para>
11237 </change> 11237 </change>
11238 11238
11239 <change type="bugfix"> 11239 <change type="bugfix">
11240 <para lang="ru"> 11240 <para lang="ru">
11241 если root был задан только переменной, то корень задавался 11241 п╣я│п╩п╦ root п╠я▀п╩ п╥п╟п╢п╟п╫ я┌п╬п╩я▄п╨п╬ п©п╣я─п╣п╪п╣п╫п╫п╬п╧, я┌п╬ п╨п╬я─п╣п╫я▄ п╥п╟п╢п╟п╡п╟п╩я│я▐
11242 относительно префикса сервера. 11242 п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ п©я─п╣я└п╦п╨я│п╟ я│п╣я─п╡п╣я─п╟.
11243 </para> 11243 </para>
11244 <para lang="en"> 11244 <para lang="en">
11245 if a "root" was specified by variable only, then the root was relative 11245 if a "root" was specified by variable only, then the root was relative
11246 to a server prefix. 11246 to a server prefix.
11247 </para> 11247 </para>
11248 </change> 11248 </change>
11249 11249
11250 <change type="bugfix"> 11250 <change type="bugfix">
11251 <para lang="ru"> 11251 <para lang="ru">
11252 если в запросе был "//" или "/.", и после этого закодированные 11252 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╠я▀п╩ "//" п╦п╩п╦ "/.", п╦ п©п╬я│п╩п╣ я█я┌п╬пЁп╬ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╣
11253 символы в виде "%XX", то проксируемый запрос передавался незакодированным. 11253 я│п╦п╪п╡п╬п╩я▀ п╡ п╡п╦п╢п╣ "%XX", я┌п╬ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧ п╥п╟п©я─п╬я│ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╪.
11254 </para> 11254 </para>
11255 <para lang="en"> 11255 <para lang="en">
11256 if the request contained "//" or "/./" and escaped symbols after them, 11256 if the request contained "//" or "/./" and escaped symbols after them,
11257 then the proxied request was sent unescaped. 11257 then the proxied request was sent unescaped.
11258 </para> 11258 </para>
11259 </change> 11259 </change>
11260 11260
11261 <change type="bugfix"> 11261 <change type="bugfix">
11262 <para lang="ru"> 11262 <para lang="ru">
11263 метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает 11263 п╪п╣я┌п╬п╢ $r->header_in("Cookie") п╪п╬п╢я┐п╩я▐ ngx_http_perl_module я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌
11264 все строки "Cookie" в заголовке запроса. 11264 п╡я│п╣ я│я┌я─п╬п╨п╦ "Cookie" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
11265 </para> 11265 </para>
11266 <para lang="en"> 11266 <para lang="en">
11267 the $r->header_in("Cookie") of the ngx_http_perl_module now returns 11267 the $r->header_in("Cookie") of the ngx_http_perl_module now returns
11268 all "Cookie" header lines. 11268 all "Cookie" header lines.
11269 </para> 11269 </para>
11270 </change> 11270 </change>
11271 11271
11272 <change type="bugfix"> 11272 <change type="bugfix">
11273 <para lang="ru"> 11273 <para lang="ru">
11274 происходил segmentation fault, если использовался 11274 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
11275 <nobr>"client_body_in_file_only on"</nobr> 11275 <nobr>"client_body_in_file_only on"</nobr>
11276 и делался переход к следующему бэкенду. 11276 п╦ п╢п╣п╩п╟п╩я│я▐ п©п╣я─п╣я┘п╬п╢ п╨ я│п╩п╣п╢я┐я▌я┴п╣п╪я┐ п╠я█п╨п╣п╫п╢я┐.
11277 </para> 11277 </para>
11278 <para lang="en"> 11278 <para lang="en">
11279 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 11279 a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr>
11280 was used and nginx switched to a next upstream. 11280 was used and nginx switched to a next upstream.
11281 </para> 11281 </para>
11282 </change> 11282 </change>
11283 11283
11284 <change type="bugfix"> 11284 <change type="bugfix">
11285 <para lang="ru"> 11285 <para lang="ru">
11286 при некоторых условиях во время переконфигурации коды символов 11286 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╨п╬п╢я▀ я│п╦п╪п╡п╬п╩п╬п╡
11287 внутри директивы charset_map могли считаться неверными; 11287 п╡п╫я┐я┌я─п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ charset_map п╪п╬пЁп╩п╦ я│я┤п╦я┌п╟я┌я▄я│я▐ п╫п╣п╡п╣я─п╫я▀п╪п╦;
11288 ошибка появилась в 0.3.50. 11288 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11289 </para> 11289 </para>
11290 <para lang="en"> 11290 <para lang="en">
11291 on some condition while reconfiguration character codes 11291 on some condition while reconfiguration character codes
11292 inside the "charset_map" may be treated invalid; 11292 inside the "charset_map" may be treated invalid;
11293 the bug had appeared in 0.3.50. 11293 the bug had appeared in 0.3.50.
11299 11299
11300 <changes ver="0.3.54" date="11.07.2006"> 11300 <changes ver="0.3.54" date="11.07.2006">
11301 11301
11302 <change type="feature"> 11302 <change type="feature">
11303 <para lang="ru"> 11303 <para lang="ru">
11304 nginx теперь записывает в лог информацию о подзапросах. 11304 nginx я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟п╣я┌ п╡ п╩п╬пЁ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╬ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘.
11305 </para> 11305 </para>
11306 <para lang="en"> 11306 <para lang="en">
11307 nginx now logs the subrequest information to the error log. 11307 nginx now logs the subrequest information to the error log.
11308 </para> 11308 </para>
11309 </change> 11309 </change>
11310 11310
11311 <change type="feature"> 11311 <change type="feature">
11312 <para lang="ru"> 11312 <para lang="ru">
11313 директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream 11313 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_next_upstream, fastcgi_next_upstream п╦ memcached_next_upstream
11314 поддерживают параметр off. 11314 п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╟я─п╟п╪п╣я┌я─ off.
11315 </para> 11315 </para>
11316 <para lang="en"> 11316 <para lang="en">
11317 the "proxy_next_upstream", "fastcgi_next_upstream", 11317 the "proxy_next_upstream", "fastcgi_next_upstream",
11318 and "memcached_next_upstream" directives support the "off" parameter. 11318 and "memcached_next_upstream" directives support the "off" parameter.
11319 </para> 11319 </para>
11320 </change> 11320 </change>
11321 11321
11322 <change type="feature"> 11322 <change type="feature">
11323 <para lang="ru"> 11323 <para lang="ru">
11324 директива debug_connection поддерживает запись адресов в формате CIDR. 11324 п╢п╦я─п╣п╨я┌п╦п╡п╟ debug_connection п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╥п╟п©п╦я│я▄ п╟п╢я─п╣я│п╬п╡ п╡ я└п╬я─п╪п╟я┌п╣ CIDR.
11325 </para> 11325 </para>
11326 <para lang="en"> 11326 <para lang="en">
11327 the "debug_connection" directive supports the CIDR address form. 11327 the "debug_connection" directive supports the CIDR address form.
11328 </para> 11328 </para>
11329 </change> 11329 </change>
11330 11330
11331 <change type="bugfix"> 11331 <change type="bugfix">
11332 <para lang="ru"> 11332 <para lang="ru">
11333 при перекодировании ответа проксированного сервера или сервера FastCGI 11333 п©я─п╦ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╦ п╬я┌п╡п╣я┌п╟ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╦п╩п╦ я│п╣я─п╡п╣я─п╟ FastCGI
11334 в UTF-8 или наоборот ответ мог передаваться не полностью. 11334 п╡ UTF-8 п╦п╩п╦ п╫п╟п╬п╠п╬я─п╬я┌ п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
11335 </para> 11335 </para>
11336 <para lang="en"> 11336 <para lang="en">
11337 if a response of proxied server or FastCGI server was converted from UTF-8 11337 if a response of proxied server or FastCGI server was converted from UTF-8
11338 or back, then it may be transferred incomplete. 11338 or back, then it may be transferred incomplete.
11339 </para> 11339 </para>
11340 </change> 11340 </change>
11341 11341
11342 <change type="bugfix"> 11342 <change type="bugfix">
11343 <para lang="ru"> 11343 <para lang="ru">
11344 переменная $upstream_response_time содержала время только первого 11344 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $upstream_response_time я│п╬п╢п╣я─п╤п╟п╩п╟ п╡я─п╣п╪я▐ я┌п╬п╩я▄п╨п╬ п©п╣я─п╡п╬пЁп╬
11345 обращения к бэкенду. 11345 п╬п╠я─п╟я┴п╣п╫п╦я▐ п╨ п╠я█п╨п╣п╫п╢я┐.
11346 </para> 11346 </para>
11347 <para lang="en"> 11347 <para lang="en">
11348 the $upstream_response_time variable had the time of the first 11348 the $upstream_response_time variable had the time of the first
11349 request to a backend only. 11349 request to a backend only.
11350 </para> 11350 </para>
11351 </change> 11351 </change>
11352 11352
11353 <change type="bugfix"> 11353 <change type="bugfix">
11354 <para lang="ru"> 11354 <para lang="ru">
11355 nginx не собирался на платформе amd64; 11355 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╣ amd64;
11356 ошибка появилась в 0.3.53. 11356 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.53.
11357 </para> 11357 </para>
11358 <para lang="en"> 11358 <para lang="en">
11359 nginx could not be built on amd64 platform; 11359 nginx could not be built on amd64 platform;
11360 the bug had appeared in 0.3.53. 11360 the bug had appeared in 0.3.53.
11361 </para> 11361 </para>
11366 11366
11367 <changes ver="0.3.53" date="07.07.2006"> 11367 <changes ver="0.3.53" date="07.07.2006">
11368 11368
11369 <change type="change"> 11369 <change type="change">
11370 <para lang="ru"> 11370 <para lang="ru">
11371 директива add_header добавляет строки в ответы с кодом 204, 301 и 302. 11371 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п╢п╬п╠п╟п╡п╩я▐п╣я┌ я│я┌я─п╬п╨п╦ п╡ п╬я┌п╡п╣я┌я▀ я│ п╨п╬п╢п╬п╪ 204, 301 п╦ 302.
11372 </para> 11372 </para>
11373 <para lang="en"> 11373 <para lang="en">
11374 the "add_header" directive adds the string to 204, 301, and 302 responses. 11374 the "add_header" directive adds the string to 204, 301, and 302 responses.
11375 </para> 11375 </para>
11376 </change> 11376 </change>
11377 11377
11378 <change type="feature"> 11378 <change type="feature">
11379 <para lang="ru"> 11379 <para lang="ru">
11380 директива server в блоке upstream поддерживает параметр weight. 11380 п╢п╦я─п╣п╨я┌п╦п╡п╟ server п╡ п╠п╩п╬п╨п╣ upstream п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ weight.
11381 </para> 11381 </para>
11382 <para lang="en"> 11382 <para lang="en">
11383 the "server" directive in the "upstream" context supports 11383 the "server" directive in the "upstream" context supports
11384 the "weight" parameter. 11384 the "weight" parameter.
11385 </para> 11385 </para>
11386 </change> 11386 </change>
11387 11387
11388 <change type="feature"> 11388 <change type="feature">
11389 <para lang="ru"> 11389 <para lang="ru">
11390 директива server_name поддерживает маску "*". 11390 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╟я│п╨я┐ "*".
11391 </para> 11391 </para>
11392 <para lang="en"> 11392 <para lang="en">
11393 the "server_name" directive supports the "*" wildcard. 11393 the "server_name" directive supports the "*" wildcard.
11394 </para> 11394 </para>
11395 </change> 11395 </change>
11396 11396
11397 <change type="feature"> 11397 <change type="feature">
11398 <para lang="ru"> 11398 <para lang="ru">
11399 nginx поддерживает тело запроса больше 2G. 11399 nginx п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╠п╬п╩я▄я┬п╣ 2G.
11400 </para> 11400 </para>
11401 <para lang="en"> 11401 <para lang="en">
11402 nginx supports the request body size more than 2G. 11402 nginx supports the request body size more than 2G.
11403 </para> 11403 </para>
11404 </change> 11404 </change>
11405 11405
11406 <change type="bugfix"> 11406 <change type="bugfix">
11407 <para lang="ru"> 11407 <para lang="ru">
11408 если при использовании "satisfy_any on" клиент успешно проходил аутентификацию, 11408 п╣я│п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "satisfy_any on" п╨п╩п╦п╣п╫я┌ я┐я│п©п╣я┬п╫п╬ п©я─п╬я┘п╬п╢п╦п╩ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌,
11409 в лог всё равно записалоcь сообщение "access forbidden by rule". 11409 п╡ п╩п╬пЁ п╡я│я▒ я─п╟п╡п╫п╬ п╥п╟п©п╦я│п╟п╩п╬cя▄ я│п╬п╬п╠я┴п╣п╫п╦п╣ "access forbidden by rule".
11410 </para> 11410 </para>
11411 <para lang="en"> 11411 <para lang="en">
11412 if a client was successfully authorized using "satisfy_any on", then anyway 11412 if a client was successfully authorized using "satisfy_any on", then anyway
11413 the message "access forbidden by rule" was written in the log. 11413 the message "access forbidden by rule" was written in the log.
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 метод PUT мог ошибочно не создать файл и вернуть код 409. 11419 п╪п╣я┌п╬п╢ PUT п╪п╬пЁ п╬я┬п╦п╠п╬я┤п╫п╬ п╫п╣ я│п╬п╥п╢п╟я┌я▄ я└п╟п╧п╩ п╦ п╡п╣я─п╫я┐я┌я▄ п╨п╬п╢ 409.
11420 </para> 11420 </para>
11421 <para lang="en"> 11421 <para lang="en">
11422 the "PUT" method may erroneously not create a file and return the 409 code. 11422 the "PUT" method may erroneously not create a file and return the 409 code.
11423 </para> 11423 </para>
11424 </change> 11424 </change>
11425 11425
11426 <change type="bugfix"> 11426 <change type="bugfix">
11427 <para lang="ru"> 11427 <para lang="ru">
11428 если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx 11428 п╣я│п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ IMAP/POP3 п╠я█п╨п╣п╫п╢ п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐, nginx
11429 продолжал проксирование. 11429 п©я─п╬п╢п╬п╩п╤п╟п╩ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣.
11430 </para> 11430 </para>
11431 <para lang="en"> 11431 <para lang="en">
11432 if the IMAP/POP3 backend returned an error, then nginx continued proxying 11432 if the IMAP/POP3 backend returned an error, then nginx continued proxying
11433 anyway. 11433 anyway.
11434 </para> 11434 </para>
11439 11439
11440 <changes ver="0.3.52" date="03.07.2006"> 11440 <changes ver="0.3.52" date="03.07.2006">
11441 11441
11442 <change type="change"> 11442 <change type="change">
11443 <para lang="ru"> 11443 <para lang="ru">
11444 восстановлено поведение модуля ngx_http_index_module для запросов "POST /": 11444 п╡п╬я│я│я┌п╟п╫п╬п╡п╩п╣п╫п╬ п©п╬п╡п╣п╢п╣п╫п╦п╣ п╪п╬п╢я┐п╩я▐ ngx_http_index_module п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ "POST /":
11445 как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405. 11445 п╨п╟п╨ п╡ п╡п╣я─я│п╦п╦ п╢п╬ 0.3.40, п╪п╬п╢я┐п╩я▄ я┌п╣п©п╣я─я▄ п╫п╣ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 405.
11446 </para> 11446 </para>
11447 <para lang="en"> 11447 <para lang="en">
11448 the ngx_http_index_module behavior for the "POST /" requests is reverted 11448 the ngx_http_index_module behavior for the "POST /" requests is reverted
11449 to the 0.3.40 version state: the module now does not return the 405 error. 11449 to the 0.3.40 version state: the module now does not return the 405 error.
11450 </para> 11450 </para>
11451 </change> 11451 </change>
11452 11452
11453 <change type="bugfix"> 11453 <change type="bugfix">
11454 <para lang="ru"> 11454 <para lang="ru">
11455 при использовании ограничения скорости рабочий процесс мог зациклиться; 11455 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦я▐ я│п╨п╬я─п╬я│я┌п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐;
11456 ошибка появилась в 0.3.37. 11456 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.37.
11457 </para> 11457 </para>
11458 <para lang="en"> 11458 <para lang="en">
11459 the worker process may got caught in an endless loop if the limit rate was used; 11459 the worker process may got caught in an endless loop if the limit rate was used;
11460 the bug had appeared in 0.3.37. 11460 the bug had appeared in 0.3.37.
11461 </para> 11461 </para>
11462 </change> 11462 </change>
11463 11463
11464 <change type="bugfix"> 11464 <change type="bugfix">
11465 <para lang="ru"> 11465 <para lang="ru">
11466 модуль ngx_http_charset_module записывал в лог ошибку "unknown charset", 11466 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п╥п╟п©п╦я│я▀п╡п╟п╩ п╡ п╩п╬пЁ п╬я┬п╦п╠п╨я┐ "unknown charset",
11467 даже если перекодировка не требовалась; 11467 п╢п╟п╤п╣ п╣я│п╩п╦ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╟ п╫п╣ я┌я─п╣п╠п╬п╡п╟п╩п╟я│я▄;
11468 ошибка появилась в 0.3.50. 11468 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11469 </para> 11469 </para>
11470 <para lang="en"> 11470 <para lang="en">
11471 ngx_http_charset_module logged "unknown charset" alert, even if the recoding 11471 ngx_http_charset_module logged "unknown charset" alert, even if the recoding
11472 was not needed; 11472 was not needed;
11473 the bug had appeared in 0.3.50. 11473 the bug had appeared in 0.3.50.
11474 </para> 11474 </para>
11475 </change> 11475 </change>
11476 11476
11477 <change type="bugfix"> 11477 <change type="bugfix">
11478 <para lang="ru"> 11478 <para lang="ru">
11479 если в результате запроса PUT возвращался код 409, то временный файл 11479 п╣я│п╩п╦ п╡ я─п╣п╥я┐п╩я▄я┌п╟я┌п╣ п╥п╟п©я─п╬я│п╟ PUT п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╨п╬п╢ 409, я┌п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩
11480 не удалялся. 11480 п╫п╣ я┐п╢п╟п╩я▐п╩я│я▐.
11481 </para> 11481 </para>
11482 <para lang="en"> 11482 <para lang="en">
11483 if a code response of the PUT request was 409, then a temporary file 11483 if a code response of the PUT request was 409, then a temporary file
11484 was not removed. 11484 was not removed.
11485 </para> 11485 </para>
11490 11490
11491 <changes ver="0.3.51" date="30.06.2006"> 11491 <changes ver="0.3.51" date="30.06.2006">
11492 11492
11493 <change type="bugfix"> 11493 <change type="bugfix">
11494 <para lang="ru"> 11494 <para lang="ru">
11495 при некоторых условиях в SSI мог пропадать символы "&lt;"; 11495 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡ SSI п╪п╬пЁ п©я─п╬п©п╟п╢п╟я┌я▄ я│п╦п╪п╡п╬п╩я▀ "&lt;";
11496 ошибка появилась в 0.3.50. 11496 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.50.
11497 </para> 11497 </para>
11498 <para lang="en"> 11498 <para lang="en">
11499 the "&lt;" symbols might disappeared some conditions in the SSI; 11499 the "&lt;" symbols might disappeared some conditions in the SSI;
11500 the bug had appeared in 0.3.50. 11500 the bug had appeared in 0.3.50.
11501 </para> 11501 </para>
11506 11506
11507 <changes ver="0.3.50" date="28.06.2006"> 11507 <changes ver="0.3.50" date="28.06.2006">
11508 11508
11509 <change type="change"> 11509 <change type="change">
11510 <para lang="ru"> 11510 <para lang="ru">
11511 директивы proxy_redirect_errors и fastcgi_redirect_errors 11511 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_redirect_errors п╦ fastcgi_redirect_errors
11512 переименованы соответственно в proxy_intercept_errors и 11512 п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ proxy_intercept_errors п╦
11513 fastcgi_intercept_errors. 11513 fastcgi_intercept_errors.
11514 </para> 11514 </para>
11515 <para lang="en"> 11515 <para lang="en">
11516 the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives 11516 the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives
11517 was renamed to the "proxy_intercept_errors" and 11517 was renamed to the "proxy_intercept_errors" and
11519 </para> 11519 </para>
11520 </change> 11520 </change>
11521 11521
11522 <change type="feature"> 11522 <change type="feature">
11523 <para lang="ru"> 11523 <para lang="ru">
11524 модуль ngx_http_charset_module поддерживает перекодирование из 11524 п╪п╬п╢я┐п╩я▄ ngx_http_charset_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╣ п╦п╥
11525 однобайтных кодировок в UTF-8 и обратно. 11525 п╬п╢п╫п╬п╠п╟п╧я┌п╫я▀я┘ п╨п╬п╢п╦я─п╬п╡п╬п╨ п╡ UTF-8 п╦ п╬п╠я─п╟я┌п╫п╬.
11526 </para> 11526 </para>
11527 <para lang="en"> 11527 <para lang="en">
11528 the ngx_http_charset_module supports the recoding from the single byte 11528 the ngx_http_charset_module supports the recoding from the single byte
11529 encodings to the UTF-8 encoding and back. 11529 encodings to the UTF-8 encoding and back.
11530 </para> 11530 </para>
11531 </change> 11531 </change>
11532 11532
11533 <change type="feature"> 11533 <change type="feature">
11534 <para lang="ru"> 11534 <para lang="ru">
11535 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset" 11535 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Charset"
11536 в ответе бэкенда. 11536 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
11537 </para> 11537 </para>
11538 <para lang="en"> 11538 <para lang="en">
11539 the "X-Accel-Charset" response header line is supported in proxy 11539 the "X-Accel-Charset" response header line is supported in proxy
11540 and FastCGI mode. 11540 and FastCGI mode.
11541 </para> 11541 </para>
11542 </change> 11542 </change>
11543 11543
11544 <change type="bugfix"> 11544 <change type="bugfix">
11545 <para lang="ru"> 11545 <para lang="ru">
11546 символ "\" в парах "\"" и "\'" в SSI командах убирался, только если 11546 я│п╦п╪п╡п╬п╩ "\" п╡ п©п╟я─п╟я┘ "\"" п╦ "\'" п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ я┐п╠п╦я─п╟п╩я│я▐, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦
11547 также использовался символ "$". 11547 я┌п╟п╨п╤п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ "$".
11548 </para> 11548 </para>
11549 <para lang="en"> 11549 <para lang="en">
11550 the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 11550 the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
11551 was removed only if the command also has the "$" symbol. 11551 was removed only if the command also has the "$" symbol.
11552 </para> 11552 </para>
11553 </change> 11553 </change>
11554 11554
11555 <change type="bugfix"> 11555 <change type="bugfix">
11556 <para lang="ru"> 11556 <para lang="ru">
11557 при некоторых условиях в SSI после вставки могла быть добавлена 11557 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п╡ SSI п©п╬я│п╩п╣ п╡я│я┌п╟п╡п╨п╦ п╪п╬пЁп╩п╟ п╠я▀я┌я▄ п╢п╬п╠п╟п╡п╩п╣п╫п╟
11558 строка "&lt;!--". 11558 я│я┌я─п╬п╨п╟ "&lt;!--".
11559 </para> 11559 </para>
11560 <para lang="en"> 11560 <para lang="en">
11561 the "&lt;!--" string might be added on some conditions 11561 the "&lt;!--" string might be added on some conditions
11562 in the SSI after inclusion. 11562 in the SSI after inclusion.
11563 </para> 11563 </para>
11564 </change> 11564 </change>
11565 11565
11566 <change type="bugfix"> 11566 <change type="bugfix">
11567 <para lang="ru"> 11567 <para lang="ru">
11568 если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr> 11568 п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ <nobr>"Content-Length: 0",</nobr>
11569 то при использовании небуферизированного проксировании не закрывалось соединение 11569 я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩п╬я│я▄ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣
11570 с клиентом. 11570 я│ п╨п╩п╦п╣п╫я┌п╬п╪.
11571 </para> 11571 </para>
11572 <para lang="en"> 11572 <para lang="en">
11573 if the "Content-Length: 0" header line was in response, then 11573 if the "Content-Length: 0" header line was in response, then
11574 in nonbuffered proxying mode the client connection was not closed. 11574 in nonbuffered proxying mode the client connection was not closed.
11575 </para> 11575 </para>
11580 11580
11581 <changes ver="0.3.49" date="31.05.2006"> 11581 <changes ver="0.3.49" date="31.05.2006">
11582 11582
11583 <change type="bugfix"> 11583 <change type="bugfix">
11584 <para lang="ru"> 11584 <para lang="ru">
11585 в директиве set. 11585 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ set.
11586 </para> 11586 </para>
11587 <para lang="en"> 11587 <para lang="en">
11588 in the "set" directive. 11588 in the "set" directive.
11589 </para> 11589 </para>
11590 </change> 11590 </change>
11591 11591
11592 <change type="bugfix"> 11592 <change type="bugfix">
11593 <para lang="ru"> 11593 <para lang="ru">
11594 при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, 11594 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ ssi п╢п╡я┐я┘ п╦ п╠п╬п╩п╣п╣ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡, п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╣п╪я▀я┘ я┤п╣я─п╣п╥ FastCGI,
11595 вместо вывода второго и остальных подзапросов в ответ включался вывод 11595 п╡п╪п╣я│я┌п╬ п╡я▀п╡п╬п╢п╟ п╡я┌п╬я─п╬пЁп╬ п╦ п╬я│я┌п╟п╩я▄п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡ п╡ п╬я┌п╡п╣я┌ п╡п╨п╩я▌я┤п╟п╩я│я▐ п╡я▀п╡п╬п╢
11596 первого подзапроса. 11596 п©п╣я─п╡п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟.
11597 </para> 11597 </para>
11598 <para lang="en"> 11598 <para lang="en">
11599 if two or more FastCGI subrequests was in SSI, then first subrequest output 11599 if two or more FastCGI subrequests was in SSI, then first subrequest output
11600 was included instead of second and following subrequests. 11600 was included instead of second and following subrequests.
11601 </para> 11601 </para>
11606 11606
11607 <changes ver="0.3.48" date="29.05.2006"> 11607 <changes ver="0.3.48" date="29.05.2006">
11608 11608
11609 <change type="change"> 11609 <change type="change">
11610 <para lang="ru"> 11610 <para lang="ru">
11611 теперь модуль ngx_http_charset_module работает для подзапросов, 11611 я┌п╣п©п╣я─я▄ п╪п╬п╢я┐п╩я▄ ngx_http_charset_module я─п╟п╠п╬я┌п╟п╣я┌ п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡,
11612 в ответах которых нет строки заголовка "Content-Type". 11612 п╡ п╬я┌п╡п╣я┌п╟я┘ п╨п╬я┌п╬я─я▀я┘ п╫п╣я┌ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Content-Type".
11613 </para> 11613 </para>
11614 <para lang="en"> 11614 <para lang="en">
11615 now the ngx_http_charset_module works for subrequests, 11615 now the ngx_http_charset_module works for subrequests,
11616 if the response has no "Content-Type" header line. 11616 if the response has no "Content-Type" header line.
11617 </para> 11617 </para>
11618 </change> 11618 </change>
11619 11619
11620 <change type="bugfix"> 11620 <change type="bugfix">
11621 <para lang="ru"> 11621 <para lang="ru">
11622 если в директиве proxy_pass не было URI, 11622 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п╠я▀п╩п╬ URI,
11623 то директива "proxy_redirect default" добавляла в переписанный 11623 я┌п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟ "proxy_redirect default" п╢п╬п╠п╟п╡п╩я▐п╩п╟ п╡ п©п╣я─п╣п©п╦я│п╟п╫п╫я▀п╧
11624 редирект в начало лишний слэш. 11624 я─п╣п╢п╦я─п╣п╨я┌ п╡ п╫п╟я┤п╟п╩п╬ п╩п╦я┬п╫п╦п╧ я│п╩я█я┬.
11625 </para> 11625 </para>
11626 <para lang="en"> 11626 <para lang="en">
11627 if the "proxy_pass" directive has no URI part, 11627 if the "proxy_pass" directive has no URI part,
11628 then the "proxy_redirect default" directive add the unnecessary slash 11628 then the "proxy_redirect default" directive add the unnecessary slash
11629 in start of the rewritten redirect. 11629 in start of the rewritten redirect.
11630 </para> 11630 </para>
11631 </change> 11631 </change>
11632 11632
11633 <change type="bugfix"> 11633 <change type="bugfix">
11634 <para lang="ru"> 11634 <para lang="ru">
11635 внутренний редирект всегда превращал любой HTTP-метод в GET, 11635 п╡п╫я┐я┌я─п╣п╫п╫п╦п╧ я─п╣п╢п╦я─п╣п╨я┌ п╡я│п╣пЁп╢п╟ п©я─п╣п╡я─п╟я┴п╟п╩ п╩я▌п╠п╬п╧ HTTP-п╪п╣я┌п╬п╢ п╡ GET,
11636 теперь это делается только для редиректов, выполняемых с помощью 11636 я┌п╣п©п╣я─я▄ я█я┌п╬ п╢п╣п╩п╟п╣я┌я│я▐ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ я─п╣п╢п╦я─п╣п╨я┌п╬п╡, п╡я▀п©п╬п╩п╫я▐п╣п╪я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌
11637 X-Accel-Redirect, и у которых метод не равен HEAD; 11637 X-Accel-Redirect, п╦ я┐ п╨п╬я┌п╬я─я▀я┘ п╪п╣я┌п╬п╢ п╫п╣ я─п╟п╡п╣п╫ HEAD;
11638 ошибка появилась в 0.3.42. 11638 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.42.
11639 </para> 11639 </para>
11640 <para lang="en"> 11640 <para lang="en">
11641 the internal redirect always transform client's HTTP method to GET, 11641 the internal redirect always transform client's HTTP method to GET,
11642 now the transformation is made for the "X-Accel-Redirect" redirects only 11642 now the transformation is made for the "X-Accel-Redirect" redirects only
11643 and if the method is not HEAD; 11643 and if the method is not HEAD;
11645 </para> 11645 </para>
11646 </change> 11646 </change>
11647 11647
11648 <change type="bugfix"> 11648 <change type="bugfix">
11649 <para lang="ru"> 11649 <para lang="ru">
11650 модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков; 11650 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐, п╣я│п╩п╦ п©п╣я─п╩ п╠я▀п╩ я│ п©п╬п╢п╢п╣я─п╤п╨п╬п╧ п©п╬я┌п╬п╨п╬п╡;
11651 ошибка появилась в 0.3.46. 11651 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.46.
11652 </para> 11652 </para>
11653 <para lang="en"> 11653 <para lang="en">
11654 the ngx_http_perl_module could not be built, if the perl was built 11654 the ngx_http_perl_module could not be built, if the perl was built
11655 with the threads support; 11655 with the threads support;
11656 the bug had appeared in 0.3.46. 11656 the bug had appeared in 0.3.46.
11662 11662
11663 <changes ver="0.3.47" date="23.05.2006"> 11663 <changes ver="0.3.47" date="23.05.2006">
11664 11664
11665 <change type="feature"> 11665 <change type="feature">
11666 <para lang="ru"> 11666 <para lang="ru">
11667 директива upstream. 11667 п╢п╦я─п╣п╨я┌п╦п╡п╟ upstream.
11668 </para> 11668 </para>
11669 <para lang="en"> 11669 <para lang="en">
11670 the "upstream" directive. 11670 the "upstream" directive.
11671 </para> 11671 </para>
11672 </change> 11672 </change>
11673 11673
11674 <change type="change"> 11674 <change type="change">
11675 <para lang="ru"> 11675 <para lang="ru">
11676 символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается. 11676 я│п╦п╪п╡п╬п╩ "\" п╡ п©п╟я─п╟я┘ "\"" п╦ "\'" п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ я┌п╣п©п╣я─я▄ п╡я│п╣пЁп╢п╟ я┐п╠п╦я─п╟п╣я┌я│я▐.
11677 </para> 11677 </para>
11678 <para lang="en"> 11678 <para lang="en">
11679 now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 11679 now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command
11680 is always removed. 11680 is always removed.
11681 </para> 11681 </para>
11686 11686
11687 <changes ver="0.3.46" date="11.05.2006"> 11687 <changes ver="0.3.46" date="11.05.2006">
11688 11688
11689 <change type="feature"> 11689 <change type="feature">
11690 <para lang="ru"> 11690 <para lang="ru">
11691 директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header 11691 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_hide_header, proxy_pass_header, fastcgi_hide_header
11692 и fastcgi_pass_header. 11692 п╦ fastcgi_pass_header.
11693 </para> 11693 </para>
11694 <para lang="en"> 11694 <para lang="en">
11695 the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", 11695 the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header",
11696 and "fastcgi_pass_header" directives. 11696 and "fastcgi_pass_header" directives.
11697 </para> 11697 </para>
11698 </change> 11698 </change>
11699 11699
11700 <change type="change"> 11700 <change type="change">
11701 <para lang="ru"> 11701 <para lang="ru">
11702 директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server 11702 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass_x_powered_by, fastcgi_x_powered_by п╦ proxy_pass_server
11703 упразднены. 11703 я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
11704 </para> 11704 </para>
11705 <para lang="en"> 11705 <para lang="en">
11706 the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" 11706 the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server"
11707 directives were canceled. 11707 directives were canceled.
11708 </para> 11708 </para>
11709 </change> 11709 </change>
11710 11710
11711 <change type="feature"> 11711 <change type="feature">
11712 <para lang="ru"> 11712 <para lang="ru">
11713 в режиме прокси поддерживается строка заголовка "X-Accel-Buffering" 11713 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Buffering"
11714 в ответе бэкенда. 11714 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
11715 </para> 11715 </para>
11716 <para lang="en"> 11716 <para lang="en">
11717 the "X-Accel-Buffering" response header line is supported in proxy mode. 11717 the "X-Accel-Buffering" response header line is supported in proxy mode.
11718 </para> 11718 </para>
11719 </change> 11719 </change>
11720 11720
11721 <change type="bugfix"> 11721 <change type="bugfix">
11722 <para lang="ru"> 11722 <para lang="ru">
11723 ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module. 11723 п╬я┬п╦п╠п╬п╨ п╦ я┐я┌п╣я┤п╣п╨ п©п╟п╪я▐я┌п╦ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module.
11724 </para> 11724 </para>
11725 <para lang="en"> 11725 <para lang="en">
11726 the reconfiguration bug and memory leaks in the ngx_http_perl_module. 11726 the reconfiguration bug and memory leaks in the ngx_http_perl_module.
11727 </para> 11727 </para>
11728 </change> 11728 </change>
11732 11732
11733 <changes ver="0.3.45" date="06.05.2006"> 11733 <changes ver="0.3.45" date="06.05.2006">
11734 11734
11735 <change type="feature"> 11735 <change type="feature">
11736 <para lang="ru"> 11736 <para lang="ru">
11737 директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. 11737 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_verify_client, ssl_verify_depth п╦ ssl_client_certificate.
11738 </para> 11738 </para>
11739 <para lang="en"> 11739 <para lang="en">
11740 the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" 11740 the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate"
11741 directives. 11741 directives.
11742 </para> 11742 </para>
11743 </change> 11743 </change>
11744 11744
11745 <change type="change"> 11745 <change type="change">
11746 <para lang="ru"> 11746 <para lang="ru">
11747 теперь переменная $request_method возвращает метод только основного запроса. 11747 я┌п╣п©п╣я─я▄ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_method п╡п╬п╥п╡я─п╟я┴п╟п╣я┌ п╪п╣я┌п╬п╢ я┌п╬п╩я▄п╨п╬ п╬я│п╫п╬п╡п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟.
11748 </para> 11748 </para>
11749 <para lang="en"> 11749 <para lang="en">
11750 the $request_method variable now returns the main request method. 11750 the $request_method variable now returns the main request method.
11751 </para> 11751 </para>
11752 </change> 11752 </change>
11753 11753
11754 <change type="change"> 11754 <change type="change">
11755 <para lang="ru"> 11755 <para lang="ru">
11756 в таблице перекодировки koi-win изменены коды символа &amp;deg;. 11756 п╡ я┌п╟п╠п╩п╦я├п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╦п╥п╪п╣п╫п╣п╫я▀ п╨п╬п╢я▀ я│п╦п╪п╡п╬п╩п╟ &amp;deg;.
11757 </para> 11757 </para>
11758 <para lang="en"> 11758 <para lang="en">
11759 the &amp;deg; symbol codes were changed in koi-win conversion table. 11759 the &amp;deg; symbol codes were changed in koi-win conversion table.
11760 </para> 11760 </para>
11761 </change> 11761 </change>
11762 11762
11763 <change type="feature"> 11763 <change type="feature">
11764 <para lang="ru"> 11764 <para lang="ru">
11765 в таблицу перекодировки koi-win добавлены символы евро и номера. 11765 п╡ я┌п╟п╠п╩п╦я├я┐ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╢п╬п╠п╟п╡п╩п╣п╫я▀ я│п╦п╪п╡п╬п╩я▀ п╣п╡я─п╬ п╦ п╫п╬п╪п╣я─п╟.
11766 </para> 11766 </para>
11767 <para lang="en"> 11767 <para lang="en">
11768 the euro and N symbols were added to koi-win conversion table. 11768 the euro and N symbols were added to koi-win conversion table.
11769 </para> 11769 </para>
11770 </change> 11770 </change>
11771 11771
11772 <change type="bugfix"> 11772 <change type="bugfix">
11773 <para lang="ru"> 11773 <para lang="ru">
11774 если nginx распределял запросы на несколько машин, то при падении 11774 п╣я│п╩п╦ nginx я─п╟я│п©я─п╣п╢п╣п╩я▐п╩ п╥п╟п©я─п╬я│я▀ п╫п╟ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╪п╟я┬п╦п╫, я┌п╬ п©я─п╦ п©п╟п╢п╣п╫п╦п╦
11775 одной из них запросы, предназначенные для этой машины, перенаправлялись только 11775 п╬п╢п╫п╬п╧ п╦п╥ п╫п╦я┘ п╥п╟п©я─п╬я│я▀, п©я─п╣п╢п╫п╟п╥п╫п╟я┤п╣п╫п╫я▀п╣ п╢п╩я▐ я█я┌п╬п╧ п╪п╟я┬п╦п╫я▀, п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬
11776 на одну машину вместо того, чтобы равномерно распределяться между остальными. 11776 п╫п╟ п╬п╢п╫я┐ п╪п╟я┬п╦п╫я┐ п╡п╪п╣я│я┌п╬ я┌п╬пЁп╬, я┤я┌п╬п╠я▀ я─п╟п╡п╫п╬п╪п╣я─п╫п╬ я─п╟я│п©я─п╣п╢п╣п╩я▐я┌я▄я│я▐ п╪п╣п╤п╢я┐ п╬я│я┌п╟п╩я▄п╫я▀п╪п╦.
11777 </para> 11777 </para>
11778 <para lang="en"> 11778 <para lang="en">
11779 if nginx distributed the requests among several backends and some backend 11779 if nginx distributed the requests among several backends and some backend
11780 failed, then requests intended for this backend was directed to one live 11780 failed, then requests intended for this backend was directed to one live
11781 backend only instead of being distributed among the rest. 11781 backend only instead of being distributed among the rest.
11787 11787
11788 <changes ver="0.3.44" date="04.05.2006"> 11788 <changes ver="0.3.44" date="04.05.2006">
11789 11789
11790 <change type="feature"> 11790 <change type="feature">
11791 <para lang="ru"> 11791 <para lang="ru">
11792 параметр wait в команде SSI include. 11792 п©п╟я─п╟п╪п╣я┌я─ wait п╡ п╨п╬п╪п╟п╫п╢п╣ SSI include.
11793 </para> 11793 </para>
11794 <para lang="en"> 11794 <para lang="en">
11795 the "wait" parameter in the "include" SSI command. 11795 the "wait" parameter in the "include" SSI command.
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 в таблицу перекодировки koi-win добавлены украинские и белорусские символы. 11801 п╡ я┌п╟п╠п╩п╦я├я┐ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╨п╦ koi-win п╢п╬п╠п╟п╡п╩п╣п╫я▀ я┐п╨я─п╟п╦п╫я│п╨п╦п╣ п╦ п╠п╣п╩п╬я─я┐я│я│п╨п╦п╣ я│п╦п╪п╡п╬п╩я▀.
11802 </para> 11802 </para>
11803 <para lang="en"> 11803 <para lang="en">
11804 the Ukrainian and Byelorussian characters were added to koi-win conversion 11804 the Ukrainian and Byelorussian characters were added to koi-win conversion
11805 table. 11805 table.
11806 </para> 11806 </para>
11807 </change> 11807 </change>
11808 11808
11809 <change type="bugfix"> 11809 <change type="bugfix">
11810 <para lang="ru"> 11810 <para lang="ru">
11811 в SSI. 11811 п╡ SSI.
11812 </para> 11812 </para>
11813 <para lang="en"> 11813 <para lang="en">
11814 in the SSI. 11814 in the SSI.
11815 </para> 11815 </para>
11816 </change> 11816 </change>
11820 11820
11821 <changes ver="0.3.43" date="26.04.2006"> 11821 <changes ver="0.3.43" date="26.04.2006">
11822 11822
11823 <change type="bugfix"> 11823 <change type="bugfix">
11824 <para lang="ru"> 11824 <para lang="ru">
11825 в SSI. 11825 п╡ SSI.
11826 </para> 11826 </para>
11827 <para lang="en"> 11827 <para lang="en">
11828 in the SSI. 11828 in the SSI.
11829 </para> 11829 </para>
11830 </change> 11830 </change>
11834 11834
11835 <changes ver="0.3.42" date="26.04.2006"> 11835 <changes ver="0.3.42" date="26.04.2006">
11836 11836
11837 <change type="feature"> 11837 <change type="feature">
11838 <para lang="ru"> 11838 <para lang="ru">
11839 параметр bind в директиве listen в IMAP/POP3 прокси. 11839 п©п╟я─п╟п╪п╣я┌я─ bind п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
11840 </para> 11840 </para>
11841 <para lang="en"> 11841 <para lang="en">
11842 the "bind" option of the "listen" directive in IMAP/POP3 proxy. 11842 the "bind" option of the "listen" directive in IMAP/POP3 proxy.
11843 </para> 11843 </para>
11844 </change> 11844 </change>
11845 11845
11846 <change type="bugfix"> 11846 <change type="bugfix">
11847 <para lang="ru"> 11847 <para lang="ru">
11848 ошибки при использовании в директиве rewrite одного и того же 11848 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п╬п╢п╫п╬пЁп╬ п╦ я┌п╬пЁп╬ п╤п╣
11849 выделения более одного раза. 11849 п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╠п╬п╩п╣п╣ п╬п╢п╫п╬пЁп╬ я─п╟п╥п╟.
11850 </para> 11850 </para>
11851 <para lang="en"> 11851 <para lang="en">
11852 if the same capture in the "rewrite" directive was used more then once. 11852 if the same capture in the "rewrite" directive was used more then once.
11853 </para> 11853 </para>
11854 </change> 11854 </change>
11855 11855
11856 <change type="bugfix"> 11856 <change type="bugfix">
11857 <para lang="ru"> 11857 <para lang="ru">
11858 в лог не записывались переменные 11858 п╡ п╩п╬пЁ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩п╦я│я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
11859 $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, 11859 $sent_http_content_type, $sent_http_content_length, $sent_http_last_modified,
11860 $sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding. 11860 $sent_http_connection, $sent_http_keep_alive п╦ $sent_http_transfer_encoding.
11861 </para> 11861 </para>
11862 <para lang="en"> 11862 <para lang="en">
11863 the $sent_http_content_type, $sent_http_content_length, 11863 the $sent_http_content_type, $sent_http_content_length,
11864 $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, 11864 $sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive,
11865 and $sent_http_transfer_encoding variables were not written to access log. 11865 and $sent_http_transfer_encoding variables were not written to access log.
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 переменная $sent_http_cache_control возвращала содержимое только одной 11871 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $sent_http_cache_control п╡п╬п╥п╡я─п╟я┴п╟п╩п╟ я│п╬п╢п╣я─п╤п╦п╪п╬п╣ я┌п╬п╩я▄п╨п╬ п╬п╢п╫п╬п╧
11872 строки "Cache-Control" в заголовке ответа. 11872 я│я┌я─п╬п╨п╦ "Cache-Control" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟.
11873 </para> 11873 </para>
11874 <para lang="en"> 11874 <para lang="en">
11875 the $sent_http_cache_control returned value of the single "Cache-Control" 11875 the $sent_http_cache_control returned value of the single "Cache-Control"
11876 response header line. 11876 response header line.
11877 </para> 11877 </para>
11882 11882
11883 <changes ver="0.3.41" date="21.04.2006"> 11883 <changes ver="0.3.41" date="21.04.2006">
11884 11884
11885 <change type="feature"> 11885 <change type="feature">
11886 <para lang="ru"> 11886 <para lang="ru">
11887 ключ -v. 11887 п╨п╩я▌я┤ -v.
11888 </para> 11888 </para>
11889 <para lang="en"> 11889 <para lang="en">
11890 the -v switch. 11890 the -v switch.
11891 </para> 11891 </para>
11892 </change> 11892 </change>
11893 11893
11894 <change type="bugfix"> 11894 <change type="bugfix">
11895 <para lang="ru"> 11895 <para lang="ru">
11896 при включении в SSI удалённых подзапросов 11896 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ SSI я┐п╢п╟п╩я▒п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡
11897 мог произойти segmentation fault. 11897 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
11898 </para> 11898 </para>
11899 <para lang="en"> 11899 <para lang="en">
11900 the segmentation fault may occurred if the SSI page has remote subrequests. 11900 the segmentation fault may occurred if the SSI page has remote subrequests.
11901 </para> 11901 </para>
11902 </change> 11902 </change>
11903 11903
11904 <change type="bugfix"> 11904 <change type="bugfix">
11905 <para lang="ru"> 11905 <para lang="ru">
11906 в обработке FastCGI. 11906 п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ FastCGI.
11907 </para> 11907 </para>
11908 <para lang="en"> 11908 <para lang="en">
11909 in FastCGI handling. 11909 in FastCGI handling.
11910 </para> 11910 </para>
11911 </change> 11911 </change>
11912 11912
11913 <change type="bugfix"> 11913 <change type="bugfix">
11914 <para lang="ru"> 11914 <para lang="ru">
11915 если путь к перловым модулям не был указан с помощью 11915 п╣я│п╩п╦ п©я┐я┌я▄ п╨ п©п╣я─п╩п╬п╡я▀п╪ п╪п╬п╢я┐п╩я▐п╪ п╫п╣ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ я│ п©п╬п╪п╬я┴я▄я▌
11916 --with-perl_modules_path=PATH или директивы perl_modules, 11916 --with-perl_modules_path=PATH п╦п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ perl_modules,
11917 то на старте происходил segmentation fault. 11917 я┌п╬ п╫п╟ я│я┌п╟я─я┌п╣ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
11918 </para> 11918 </para>
11919 <para lang="en"> 11919 <para lang="en">
11920 if the perl modules path was not set using 11920 if the perl modules path was not set using
11921 --with-perl_modules_path=PATH or the "perl_modules", then 11921 --with-perl_modules_path=PATH or the "perl_modules", then
11922 the segmentation fault was occurred. 11922 the segmentation fault was occurred.
11928 11928
11929 <changes ver="0.3.40" date="19.04.2006"> 11929 <changes ver="0.3.40" date="19.04.2006">
11930 11930
11931 <change type="feature"> 11931 <change type="feature">
11932 <para lang="ru"> 11932 <para lang="ru">
11933 модуль ngx_http_dav_module поддерживает метод MKCOL. 11933 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ MKCOL.
11934 </para> 11934 </para>
11935 <para lang="en"> 11935 <para lang="en">
11936 the ngx_http_dav_module supports the MKCOL method. 11936 the ngx_http_dav_module supports the MKCOL method.
11937 </para> 11937 </para>
11938 </change> 11938 </change>
11939 11939
11940 <change type="feature"> 11940 <change type="feature">
11941 <para lang="ru"> 11941 <para lang="ru">
11942 директива create_full_put_path. 11942 п╢п╦я─п╣п╨я┌п╦п╡п╟ create_full_put_path.
11943 </para> 11943 </para>
11944 <para lang="en"> 11944 <para lang="en">
11945 the "create_full_put_path" directive. 11945 the "create_full_put_path" directive.
11946 </para> 11946 </para>
11947 </change> 11947 </change>
11948 11948
11949 <change type="feature"> 11949 <change type="feature">
11950 <para lang="ru"> 11950 <para lang="ru">
11951 переменная $limit_rate. 11951 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $limit_rate.
11952 </para> 11952 </para>
11953 <para lang="en"> 11953 <para lang="en">
11954 the "$limit_rate" variable. 11954 the "$limit_rate" variable.
11955 </para> 11955 </para>
11956 </change> 11956 </change>
11960 11960
11961 <changes ver="0.3.39" date="17.04.2006"> 11961 <changes ver="0.3.39" date="17.04.2006">
11962 11962
11963 <change type="feature"> 11963 <change type="feature">
11964 <para lang="ru"> 11964 <para lang="ru">
11965 директива uninitialized_variable_warn; уровень логгирования сообщения 11965 п╢п╦я─п╣п╨я┌п╦п╡п╟ uninitialized_variable_warn; я┐я─п╬п╡п╣п╫я▄ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ я│п╬п╬п╠я┴п╣п╫п╦я▐
11966 о неинициализированной переменной понижен с уровня alert на warn. 11966 п╬ п╫п╣п╦п╫п╦я├п╦п╟п╩п╦п╥п╦я─п╬п╡п╟п╫п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п©п╬п╫п╦п╤п╣п╫ я│ я┐я─п╬п╡п╫я▐ alert п╫п╟ warn.
11967 </para> 11967 </para>
11968 <para lang="en"> 11968 <para lang="en">
11969 the "uninitialized_variable_warn" directive; the logging level of the 11969 the "uninitialized_variable_warn" directive; the logging level of the
11970 "uninitialized variable" message was lowered from "alert" to "warn". 11970 "uninitialized variable" message was lowered from "alert" to "warn".
11971 </para> 11971 </para>
11972 </change> 11972 </change>
11973 11973
11974 <change type="feature"> 11974 <change type="feature">
11975 <para lang="ru"> 11975 <para lang="ru">
11976 директива override_charset. 11976 п╢п╦я─п╣п╨я┌п╦п╡п╟ override_charset.
11977 </para> 11977 </para>
11978 <para lang="en"> 11978 <para lang="en">
11979 the "override_charset" directive. 11979 the "override_charset" directive.
11980 </para> 11980 </para>
11981 </change> 11981 </change>
11982 11982
11983 <change type="change"> 11983 <change type="change">
11984 <para lang="ru"> 11984 <para lang="ru">
11985 при использовании неизвестной переменной в SSI-командах echo и if expr='$name' 11985 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣п╦п╥п╡п╣я│я┌п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ SSI-п╨п╬п╪п╟п╫п╢п╟я┘ echo п╦ if expr='$name'
11986 теперь не записывается в лог сообщение о неизвестной переменной. 11986 я┌п╣п©п╣я─я▄ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п╡ п╩п╬пЁ я│п╬п╬п╠я┴п╣п╫п╦п╣ п╬ п╫п╣п╦п╥п╡п╣я│я┌п╫п╬п╧ п©п╣я─п╣п╪п╣п╫п╫п╬п╧.
11987 </para> 11987 </para>
11988 <para lang="en"> 11988 <para lang="en">
11989 now if the unknown variable is used in the "echo" and "if expr='$name'" 11989 now if the unknown variable is used in the "echo" and "if expr='$name'"
11990 SSI-commands, then the "unknown variable" message is not logged. 11990 SSI-commands, then the "unknown variable" message is not logged.
11991 </para> 11991 </para>
11992 </change> 11992 </change>
11993 11993
11994 <change type="bugfix"> 11994 <change type="bugfix">
11995 <para lang="ru"> 11995 <para lang="ru">
11996 счётчик активных соединений рос при превышении лимита соединений, 11996 я│я┤я▒я┌я┤п╦п╨ п╟п╨я┌п╦п╡п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧ я─п╬я│ п©я─п╦ п©я─п╣п╡я▀я┬п╣п╫п╦п╦ п╩п╦п╪п╦я┌п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧,
11997 заданного директивой worker_connections; 11997 п╥п╟п╢п╟п╫п╫п╬пЁп╬ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ worker_connections;
11998 ошибка появилась в 0.2.0. 11998 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
11999 </para> 11999 </para>
12000 <para lang="en"> 12000 <para lang="en">
12001 the active connection counter increased on the exceeding of the connection 12001 the active connection counter increased on the exceeding of the connection
12002 limit specified by the "worker_connections" directive; 12002 limit specified by the "worker_connections" directive;
12003 the bug had appeared in 0.2.0. 12003 the bug had appeared in 0.2.0.
12004 </para> 12004 </para>
12005 </change> 12005 </change>
12006 12006
12007 <change type="bugfix"> 12007 <change type="bugfix">
12008 <para lang="ru"> 12008 <para lang="ru">
12009 при некоторых условия ограничение скорости соединения могло не работать; 12009 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ я│п╨п╬я─п╬я│я┌п╦ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╪п╬пЁп╩п╬ п╫п╣ я─п╟п╠п╬я┌п╟я┌я▄;
12010 ошибка появилась в 0.3.38. 12010 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.38.
12011 </para> 12011 </para>
12012 <para lang="en"> 12012 <para lang="en">
12013 the limit rate might not work on some condition; 12013 the limit rate might not work on some condition;
12014 the bug had appeared in 0.3.38. 12014 the bug had appeared in 0.3.38.
12015 </para> 12015 </para>
12020 12020
12021 <changes ver="0.3.38" date="14.04.2006"> 12021 <changes ver="0.3.38" date="14.04.2006">
12022 12022
12023 <change type="feature"> 12023 <change type="feature">
12024 <para lang="ru"> 12024 <para lang="ru">
12025 модуль ngx_http_dav_module. 12025 п╪п╬п╢я┐п╩я▄ ngx_http_dav_module.
12026 </para> 12026 </para>
12027 <para lang="en"> 12027 <para lang="en">
12028 the ngx_http_dav_module. 12028 the ngx_http_dav_module.
12029 </para> 12029 </para>
12030 </change> 12030 </change>
12031 12031
12032 <change type="change"> 12032 <change type="change">
12033 <para lang="ru"> 12033 <para lang="ru">
12034 оптимизация модуля ngx_http_perl_module.<br/> 12034 п╬п©я┌п╦п╪п╦п╥п╟я├п╦я▐ п╪п╬п╢я┐п╩я▐ ngx_http_perl_module.<br/>
12035 Спасибо Сергею Скворцову. 12035 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╨п╡п╬я─я├п╬п╡я┐.
12036 </para> 12036 </para>
12037 <para lang="en"> 12037 <para lang="en">
12038 the ngx_http_perl_module optimizations.<br/> 12038 the ngx_http_perl_module optimizations.<br/>
12039 Thanks to Sergey Skvortsov. 12039 Thanks to Sergey Skvortsov.
12040 </para> 12040 </para>
12041 </change> 12041 </change>
12042 12042
12043 <change type="feature"> 12043 <change type="feature">
12044 <para lang="ru"> 12044 <para lang="ru">
12045 модуль ngx_http_perl_module поддерживает метод $r->request_body_file. 12045 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->request_body_file.
12046 </para> 12046 </para>
12047 <para lang="en"> 12047 <para lang="en">
12048 the ngx_http_perl_module supports the $r->request_body_file method. 12048 the ngx_http_perl_module supports the $r->request_body_file method.
12049 </para> 12049 </para>
12050 </change> 12050 </change>
12051 12051
12052 <change type="feature"> 12052 <change type="feature">
12053 <para lang="ru"> 12053 <para lang="ru">
12054 директива client_body_in_file_only. 12054 п╢п╦я─п╣п╨я┌п╦п╡п╟ client_body_in_file_only.
12055 </para> 12055 </para>
12056 <para lang="en"> 12056 <para lang="en">
12057 the "client_body_in_file_only" directive. 12057 the "client_body_in_file_only" directive.
12058 </para> 12058 </para>
12059 </change> 12059 </change>
12060 12060
12061 <change type="workaround"> 12061 <change type="workaround">
12062 <para lang="ru"> 12062 <para lang="ru">
12063 теперь при переполнении диска nginx пытается писать access_log'и только 12063 я┌п╣п©п╣я─я▄ п©я─п╦ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦п╦ п╢п╦я│п╨п╟ nginx п©я▀я┌п╟п╣я┌я│я▐ п©п╦я│п╟я┌я▄ access_log'п╦ я┌п╬п╩я▄п╨п╬
12064 раз в секунду.<br/> 12064 я─п╟п╥ п╡ я│п╣п╨я┐п╫п╢я┐.<br/>
12065 Спасибо Антону Южанинову и Максиму Дунину. 12065 п║п©п╟я│п╦п╠п╬ п░п╫я┌п╬п╫я┐ п╝п╤п╟п╫п╦п╫п╬п╡я┐ п╦ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
12066 </para> 12066 </para>
12067 <para lang="en"> 12067 <para lang="en">
12068 now on disk overflow nginx tries to write access logs once a second only.<br/> 12068 now on disk overflow nginx tries to write access logs once a second only.<br/>
12069 Thanks to Anton Yuzhaninov and Maxim Dounin. 12069 Thanks to Anton Yuzhaninov and Maxim Dounin.
12070 </para> 12070 </para>
12071 </change> 12071 </change>
12072 12072
12073 <change type="bugfix"> 12073 <change type="bugfix">
12074 <para lang="ru"> 12074 <para lang="ru">
12075 теперь директива limit_rate точнее ограничивает скорость при значениях 12075 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate я┌п╬я┤п╫п╣п╣ п╬пЁя─п╟п╫п╦я┤п╦п╡п╟п╣я┌ я│п╨п╬я─п╬я│я┌я▄ п©я─п╦ п╥п╫п╟я┤п╣п╫п╦я▐я┘
12076 больше <nobr>100 Kbyte/s.</nobr><br/> 12076 п╠п╬п╩я▄я┬п╣ <nobr>100 Kbyte/s.</nobr><br/>
12077 Спасибо ForJest. 12077 п║п©п╟я│п╦п╠п╬ ForJest.
12078 </para> 12078 </para>
12079 <para lang="en"> 12079 <para lang="en">
12080 now the "limit_rate" directive more precisely limits rate if rate is more 12080 now the "limit_rate" directive more precisely limits rate if rate is more
12081 than <nobr>100 Kbyte/s.</nobr><br/> 12081 than <nobr>100 Kbyte/s.</nobr><br/>
12082 Thanks to ForJest. 12082 Thanks to ForJest.
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 IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n" 12088 IMAP/POP3 п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌ я│п╣я─п╡п╣я─я┐ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦ я│п╦п╪п╡п╬п╩я▀ "\r" п╦ "\n"
12089 в логине и пароле в закодированном виде.<br/> 12089 п╡ п╩п╬пЁп╦п╫п╣ п╦ п©п╟я─п╬п╩п╣ п╡ п╥п╟п╨п╬п╢п╦я─п╬п╡п╟п╫п╫п╬п╪ п╡п╦п╢п╣.<br/>
12090 Спасибо Максиму Дунину. 12090 п║п©п╟я│п╦п╠п╬ п°п╟п╨я│п╦п╪я┐ п■я┐п╫п╦п╫я┐.
12091 </para> 12091 </para>
12092 <para lang="en"> 12092 <para lang="en">
12093 now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and 12093 now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and
12094 password to pass authorization server.<br/> 12094 password to pass authorization server.<br/>
12095 Thanks to Maxim Dounin. 12095 Thanks to Maxim Dounin.
12101 12101
12102 <changes ver="0.3.37" date="07.04.2006"> 12102 <changes ver="0.3.37" date="07.04.2006">
12103 12103
12104 <change type="feature"> 12104 <change type="feature">
12105 <para lang="ru"> 12105 <para lang="ru">
12106 директива limit_except. 12106 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_except.
12107 </para> 12107 </para>
12108 <para lang="en"> 12108 <para lang="en">
12109 the "limit_except" directive. 12109 the "limit_except" directive.
12110 </para> 12110 </para>
12111 </change> 12111 </change>
12112 12112
12113 <change type="feature"> 12113 <change type="feature">
12114 <para lang="ru"> 12114 <para lang="ru">
12115 директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". 12115 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я┌п╬я─я▀ "!~", "!~*", "-f" п╦ "!-f".
12116 </para> 12116 </para>
12117 <para lang="en"> 12117 <para lang="en">
12118 the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators. 12118 the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators.
12119 </para> 12119 </para>
12120 </change> 12120 </change>
12121 12121
12122 <change type="feature"> 12122 <change type="feature">
12123 <para lang="ru"> 12123 <para lang="ru">
12124 модуль ngx_http_perl_module поддерживает метод $r->request_body. 12124 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢ $r->request_body.
12125 </para> 12125 </para>
12126 <para lang="en"> 12126 <para lang="en">
12127 the ngx_http_perl_module supports the $r->request_body method. 12127 the ngx_http_perl_module supports the $r->request_body method.
12128 </para> 12128 </para>
12129 </change> 12129 </change>
12130 12130
12131 <change type="bugfix"> 12131 <change type="bugfix">
12132 <para lang="ru"> 12132 <para lang="ru">
12133 в модуле ngx_http_addition_filter_module. 12133 п╡ п╪п╬п╢я┐п╩п╣ ngx_http_addition_filter_module.
12134 </para> 12134 </para>
12135 <para lang="en"> 12135 <para lang="en">
12136 in the ngx_http_addition_filter_module. 12136 in the ngx_http_addition_filter_module.
12137 </para> 12137 </para>
12138 </change> 12138 </change>
12142 12142
12143 <changes ver="0.3.36" date="05.04.2006"> 12143 <changes ver="0.3.36" date="05.04.2006">
12144 12144
12145 <change type="feature"> 12145 <change type="feature">
12146 <para lang="ru"> 12146 <para lang="ru">
12147 модуль ngx_http_addition_filter_module. 12147 п╪п╬п╢я┐п╩я▄ ngx_http_addition_filter_module.
12148 </para> 12148 </para>
12149 <para lang="en"> 12149 <para lang="en">
12150 the ngx_http_addition_filter_module. 12150 the ngx_http_addition_filter_module.
12151 </para> 12151 </para>
12152 </change> 12152 </change>
12153 12153
12154 <change type="feature"> 12154 <change type="feature">
12155 <para lang="ru"> 12155 <para lang="ru">
12156 директивы proxy_pass и fastcgi_pass можно использовать внутри блока if. 12156 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_pass п╦ fastcgi_pass п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if.
12157 </para> 12157 </para>
12158 <para lang="en"> 12158 <para lang="en">
12159 the "proxy_pass" and "fastcgi_pass" directives may be used inside 12159 the "proxy_pass" and "fastcgi_pass" directives may be used inside
12160 the "if" block. 12160 the "if" block.
12161 </para> 12161 </para>
12162 </change> 12162 </change>
12163 12163
12164 <change type="feature"> 12164 <change type="feature">
12165 <para lang="ru"> 12165 <para lang="ru">
12166 директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. 12166 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_ignore_client_abort п╦ fastcgi_ignore_client_abort.
12167 </para> 12167 </para>
12168 <para lang="en"> 12168 <para lang="en">
12169 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. 12169 the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives.
12170 </para> 12170 </para>
12171 </change> 12171 </change>
12172 12172
12173 <change type="feature"> 12173 <change type="feature">
12174 <para lang="ru"> 12174 <para lang="ru">
12175 переменная $request_completion. 12175 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $request_completion.
12176 </para> 12176 </para>
12177 <para lang="en"> 12177 <para lang="en">
12178 the "$request_completion" variable. 12178 the "$request_completion" variable.
12179 </para> 12179 </para>
12180 </change> 12180 </change>
12181 12181
12182 <change type="feature"> 12182 <change type="feature">
12183 <para lang="ru"> 12183 <para lang="ru">
12184 модуль ngx_http_perl_module поддерживает методы $r->request_method и 12184 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->request_method п╦
12185 $r->remote_addr. 12185 $r->remote_addr.
12186 </para> 12186 </para>
12187 <para lang="en"> 12187 <para lang="en">
12188 the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. 12188 the ngx_http_perl_module supports the $r->request_method and $r->remote_addr.
12189 </para> 12189 </para>
12190 </change> 12190 </change>
12191 12191
12192 <change type="feature"> 12192 <change type="feature">
12193 <para lang="ru"> 12193 <para lang="ru">
12194 модуль ngx_http_ssi_module поддерживает команду elif. 12194 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ elif.
12195 </para> 12195 </para>
12196 <para lang="en"> 12196 <para lang="en">
12197 the ngx_http_ssi_module supports the "elif" command. 12197 the ngx_http_ssi_module supports the "elif" command.
12198 </para> 12198 </para>
12199 </change> 12199 </change>
12200 12200
12201 <change type="bugfix"> 12201 <change type="bugfix">
12202 <para lang="ru"> 12202 <para lang="ru">
12203 строка "\/" в начале выражения команды if модуля ngx_http_ssi_module 12203 я│я┌я─п╬п╨п╟ "\/" п╡ п╫п╟я┤п╟п╩п╣ п╡я▀я─п╟п╤п╣п╫п╦я▐ п╨п╬п╪п╟п╫п╢я▀ if п╪п╬п╢я┐п╩я▐ ngx_http_ssi_module
12204 воспринималась неверно. 12204 п╡п╬я│п©я─п╦п╫п╦п╪п╟п╩п╟я│я▄ п╫п╣п╡п╣я─п╫п╬.
12205 </para> 12205 </para>
12206 <para lang="en"> 12206 <para lang="en">
12207 the "\/" string in the expression of the "if" command of the 12207 the "\/" string in the expression of the "if" command of the
12208 ngx_http_ssi_module was treated incorrectly. 12208 ngx_http_ssi_module was treated incorrectly.
12209 </para> 12209 </para>
12210 </change> 12210 </change>
12211 12211
12212 <change type="bugfix"> 12212 <change type="bugfix">
12213 <para lang="ru"> 12213 <para lang="ru">
12214 в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module. 12214 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╡ п╨п╬п╪п╟п╫п╢п╣ if п╪п╬п╢я┐п╩я▐ ngx_http_ssi_module.
12215 </para> 12215 </para>
12216 <para lang="en"> 12216 <para lang="en">
12217 in the regular expressions in the "if" command of the ngx_http_ssi_module. 12217 in the regular expressions in the "if" command of the ngx_http_ssi_module.
12218 </para> 12218 </para>
12219 </change> 12219 </change>
12220 12220
12221 <change type="bugfix"> 12221 <change type="bugfix">
12222 <para lang="ru"> 12222 <para lang="ru">
12223 при задании относительного пути в директивах 12223 п©я─п╦ п╥п╟п╢п╟п╫п╦п╦ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬пЁп╬ п©я┐я┌п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘
12224 client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules 12224 client_body_temp_path, proxy_temp_path, fastcgi_temp_path п╦ perl_modules
12225 использовался каталог относительно текущего каталога, а не относительно 12225 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п╨п╟я┌п╟п╩п╬пЁ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬ я┌п╣п╨я┐я┴п╣пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟, п╟ п╫п╣ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫п╬
12226 префикса сервера. 12226 п©я─п╣я└п╦п╨я│п╟ я│п╣я─п╡п╣я─п╟.
12227 </para> 12227 </para>
12228 <para lang="en"> 12228 <para lang="en">
12229 if the relative path was specified in the "client_body_temp_path", 12229 if the relative path was specified in the "client_body_temp_path",
12230 "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, 12230 "proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives,
12231 then the directory was used relatively to a current path but not 12231 then the directory was used relatively to a current path but not
12238 12238
12239 <changes ver="0.3.35" date="22.03.2006"> 12239 <changes ver="0.3.35" date="22.03.2006">
12240 12240
12241 <change type="bugfix"> 12241 <change type="bugfix">
12242 <para lang="ru"> 12242 <para lang="ru">
12243 accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой 12243 accept-я└п╦п╩я▄я┌я─ п╦ TCP_DEFER_ACCEPT я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╦я│я▄ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п©п╣я─п╡п╬п╧
12244 директивы listen; 12244 п╢п╦я─п╣п╨я┌п╦п╡я▀ listen;
12245 ошибка появилась в 0.3.31. 12245 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.31.
12246 </para> 12246 </para>
12247 <para lang="en"> 12247 <para lang="en">
12248 the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" 12248 the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen"
12249 directive only; 12249 directive only;
12250 the bug had appeared in 0.3.31. 12250 the bug had appeared in 0.3.31.
12251 </para> 12251 </para>
12252 </change> 12252 </change>
12253 12253
12254 <change type="bugfix"> 12254 <change type="bugfix">
12255 <para lang="ru"> 12255 <para lang="ru">
12256 в директиве proxy_pass без URI при использовании в подзапросе. 12256 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╠п╣п╥ URI п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡ п©п╬п╢п╥п╟п©я─п╬я│п╣.
12257 </para> 12257 </para>
12258 <para lang="en"> 12258 <para lang="en">
12259 in the "proxy_pass" directive without the URI part in a subrequest. 12259 in the "proxy_pass" directive without the URI part in a subrequest.
12260 </para> 12260 </para>
12261 </change> 12261 </change>
12265 12265
12266 <changes ver="0.3.34" date="21.03.2006"> 12266 <changes ver="0.3.34" date="21.03.2006">
12267 12267
12268 <change type="feature"> 12268 <change type="feature">
12269 <para lang="ru"> 12269 <para lang="ru">
12270 директива add_header поддерживает переменные. 12270 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
12271 </para> 12271 </para>
12272 <para lang="en"> 12272 <para lang="en">
12273 the "add_header" directive supports the variables. 12273 the "add_header" directive supports the variables.
12274 </para> 12274 </para>
12275 </change> 12275 </change>
12279 12279
12280 <changes ver="0.3.33" date="15.03.2006"> 12280 <changes ver="0.3.33" date="15.03.2006">
12281 12281
12282 <change type="feature"> 12282 <change type="feature">
12283 <para lang="ru"> 12283 <para lang="ru">
12284 параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. 12284 п©п╟я─п╟п╪п╣я┌я─ http_503 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream.
12285 </para> 12285 </para>
12286 <para lang="en"> 12286 <para lang="en">
12287 the "http_503" parameter of the "proxy_next_upstream" or 12287 the "http_503" parameter of the "proxy_next_upstream" or
12288 "fastcgi_next_upstream" directives. 12288 "fastcgi_next_upstream" directives.
12289 </para> 12289 </para>
12290 </change> 12290 </change>
12291 12291
12292 <change type="bugfix"> 12292 <change type="bugfix">
12293 <para lang="ru"> 12293 <para lang="ru">
12294 ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом, 12294 ngx_http_perl_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ я│п╬ п╡я│я┌я─п╬п╣п╫п╫я▀п╪ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫я▀п╧ я└п╟п╧п╩ п╨п╬п╢п╬п╪,
12295 если он не начинался сразу же с "sub". 12295 п╣я│п╩п╦ п╬п╫ п╫п╣ п╫п╟я┤п╦п╫п╟п╩я│я▐ я│я─п╟п╥я┐ п╤п╣ я│ "sub".
12296 </para> 12296 </para>
12297 <para lang="en"> 12297 <para lang="en">
12298 ngx_http_perl_module did not work with inlined in the configuration code, 12298 ngx_http_perl_module did not work with inlined in the configuration code,
12299 if it was not started with the "sub" word. 12299 if it was not started with the "sub" word.
12300 </para> 12300 </para>
12301 </change> 12301 </change>
12302 12302
12303 <change type="bugfix"> 12303 <change type="bugfix">
12304 <para lang="ru"> 12304 <para lang="ru">
12305 в директиве post_action. 12305 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ post_action.
12306 </para> 12306 </para>
12307 <para lang="en"> 12307 <para lang="en">
12308 in the "post_action" directive. 12308 in the "post_action" directive.
12309 </para> 12309 </para>
12310 </change> 12310 </change>
12314 12314
12315 <changes ver="0.3.32" date="11.03.2006"> 12315 <changes ver="0.3.32" date="11.03.2006">
12316 12316
12317 <change type="bugfix"> 12317 <change type="bugfix">
12318 <para lang="ru"> 12318 <para lang="ru">
12319 удаление отладочного логгирования на старте и при переконфигурации; 12319 я┐п╢п╟п╩п╣п╫п╦п╣ п╬я┌п╩п╟п╢п╬я┤п╫п╬пЁп╬ п╩п╬пЁпЁп╦я─п╬п╡п╟п╫п╦я▐ п╫п╟ я│я┌п╟я─я┌п╣ п╦ п©я─п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦;
12320 ошибка появилась в 0.3.31. 12320 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.31.
12321 </para> 12321 </para>
12322 <para lang="en"> 12322 <para lang="en">
12323 the debug logging on startup and reconfiguration time was removed; 12323 the debug logging on startup and reconfiguration time was removed;
12324 the bug had appeared in 0.3.31. 12324 the bug had appeared in 0.3.31.
12325 </para> 12325 </para>
12330 12330
12331 <changes ver="0.3.31" date="10.03.2006"> 12331 <changes ver="0.3.31" date="10.03.2006">
12332 12332
12333 <change type="change"> 12333 <change type="change">
12334 <para lang="ru"> 12334 <para lang="ru">
12335 теперь nginx передаёт неверные ответы проксированного бэкенда. 12335 я┌п╣п©п╣я─я▄ nginx п©п╣я─п╣п╢п╟я▒я┌ п╫п╣п╡п╣я─п╫я▀п╣ п╬я┌п╡п╣я┌я▀ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╠я█п╨п╣п╫п╢п╟.
12336 </para> 12336 </para>
12337 <para lang="en"> 12337 <para lang="en">
12338 now nginx passes the malformed proxied backend responses. 12338 now nginx passes the malformed proxied backend responses.
12339 </para> 12339 </para>
12340 </change> 12340 </change>
12341 12341
12342 <change type="feature"> 12342 <change type="feature">
12343 <para lang="ru"> 12343 <para lang="ru">
12344 директивы listen поддерживают адрес в виде "*:порт". 12344 п╢п╦я─п╣п╨я┌п╦п╡я▀ listen п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п╟п╢я─п╣я│ п╡ п╡п╦п╢п╣ "*:п©п╬я─я┌".
12345 </para> 12345 </para>
12346 <para lang="en"> 12346 <para lang="en">
12347 the "listen" directives support the address in the "*:port" form. 12347 the "listen" directives support the address in the "*:port" form.
12348 </para> 12348 </para>
12349 </change> 12349 </change>
12350 12350
12351 <change type="feature"> 12351 <change type="feature">
12352 <para lang="ru"> 12352 <para lang="ru">
12353 поддержка EVFILER_TIMER в MacOSX 10.4. 12353 п©п╬п╢п╢п╣я─п╤п╨п╟ EVFILER_TIMER п╡ MacOSX 10.4.
12354 </para> 12354 </para>
12355 <para lang="en"> 12355 <para lang="en">
12356 the EVFILER_TIMER support in MacOSX 10.4. 12356 the EVFILER_TIMER support in MacOSX 10.4.
12357 </para> 12357 </para>
12358 </change> 12358 </change>
12359 12359
12360 <change type="workaround"> 12360 <change type="workaround">
12361 <para lang="ru"> 12361 <para lang="ru">
12362 обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре 12362 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╫я▀я┘ я┌п╟п╧п╪п╟я┐я┌п╬п╡ kqueue п╡ 64-п╠п╦я┌п╫п╬п╪ я▐п╢я─п╣
12363 MacOSX.<br/> 12363 MacOSX.<br/>
12364 Спасибо Андрею Нигматулину. 12364 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
12365 </para> 12365 </para>
12366 <para lang="en"> 12366 <para lang="en">
12367 for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/> 12367 for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/>
12368 Thanks to Andrei Nigmatulin. 12368 Thanks to Andrei Nigmatulin.
12369 </para> 12369 </para>
12370 </change> 12370 </change>
12371 12371
12372 <change type="bugfix"> 12372 <change type="bugfix">
12373 <para lang="ru"> 12373 <para lang="ru">
12374 если внутри одного сервера описаны несколько директив listen, слушающих на 12374 п╣я│п╩п╦ п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╬п©п╦я│п╟п╫я▀ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╢п╦я─п╣п╨я┌п╦п╡ listen, я│п╩я┐я┬п╟я▌я┴п╦я┘ п╫п╟
12375 разных адресах, то имена серверов вида "*.domain.tld" работали только 12375 я─п╟п╥п╫я▀я┘ п╟п╢я─п╣я│п╟я┘, я┌п╬ п╦п╪п╣п╫п╟ я│п╣я─п╡п╣я─п╬п╡ п╡п╦п╢п╟ "*.domain.tld" я─п╟п╠п╬я┌п╟п╩п╦ я┌п╬п╩я▄п╨п╬
12376 для первого адреса; 12376 п╢п╩я▐ п©п╣я─п╡п╬пЁп╬ п╟п╢я─п╣я│п╟;
12377 ошибка появилась в 0.3.18. 12377 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
12378 </para> 12378 </para>
12379 <para lang="en"> 12379 <para lang="en">
12380 if there were several "listen" directives listening one various addresses 12380 if there were several "listen" directives listening one various addresses
12381 inside one server, then server names like "*.domain.tld" worked for first 12381 inside one server, then server names like "*.domain.tld" worked for first
12382 address only; 12382 address only;
12384 </para> 12384 </para>
12385 </change> 12385 </change>
12386 12386
12387 <change type="bugfix"> 12387 <change type="bugfix">
12388 <para lang="ru"> 12388 <para lang="ru">
12389 при использовании протокола HTTPS в директиве proxy_pass не передавались 12389 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
12390 запросы с телом, записанным во временный файл. 12390 п╥п╟п©я─п╬я│я▀ я│ я┌п╣п╩п╬п╪, п╥п╟п©п╦я│п╟п╫п╫я▀п╪ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩.
12391 </para> 12391 </para>
12392 <para lang="en"> 12392 <para lang="en">
12393 if the HTTPS protocol was used in the "proxy_pass" directive and 12393 if the HTTPS protocol was used in the "proxy_pass" directive and
12394 the request body was in temporary file then the request was not transferred. 12394 the request body was in temporary file then the request was not transferred.
12395 </para> 12395 </para>
12396 </change> 12396 </change>
12397 12397
12398 <change type="bugfix"> 12398 <change type="bugfix">
12399 <para lang="ru"> 12399 <para lang="ru">
12400 совместимость с perl 5.8.8. 12400 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ perl 5.8.8.
12401 </para> 12401 </para>
12402 <para lang="en"> 12402 <para lang="en">
12403 perl 5.8.8 compatibility. 12403 perl 5.8.8 compatibility.
12404 </para> 12404 </para>
12405 </change> 12405 </change>
12409 12409
12410 <changes ver="0.3.30" date="22.02.2006"> 12410 <changes ver="0.3.30" date="22.02.2006">
12411 12411
12412 <change type="change"> 12412 <change type="change">
12413 <para lang="ru"> 12413 <para lang="ru">
12414 уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. 12414 я┐я─п╬п╡п╣п╫я▄ п╥п╟п©п╦я│п╦ п╡ п╩п╬пЁ п╬я┬п╦п╠п╨п╦ ECONNABORTED п╦п╥п╪п╣п╫я▒п╫ п╫п╟ error я│ я┐я─п╬п╡п╫я▐ crit.
12415 </para> 12415 </para>
12416 <para lang="en"> 12416 <para lang="en">
12417 the ECONNABORTED error log level was changed to "error" from "crit". 12417 the ECONNABORTED error log level was changed to "error" from "crit".
12418 </para> 12418 </para>
12419 </change> 12419 </change>
12420 12420
12421 <change type="bugfix"> 12421 <change type="bugfix">
12422 <para lang="ru"> 12422 <para lang="ru">
12423 модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. 12423 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п╪п╬п╢я┐п╩я▐ ngx_http_ssi_filter_module.
12424 </para> 12424 </para>
12425 <para lang="en"> 12425 <para lang="en">
12426 the ngx_http_perl_module could not be build without 12426 the ngx_http_perl_module could not be build without
12427 the ngx_http_ssi_filter_module. 12427 the ngx_http_ssi_filter_module.
12428 </para> 12428 </para>
12429 </change> 12429 </change>
12430 12430
12431 <change type="bugfix"> 12431 <change type="bugfix">
12432 <para lang="ru"> 12432 <para lang="ru">
12433 nginx не собирался на i386 платформе, если использовался PIC; 12433 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ i386 п©п╩п╟я┌я└п╬я─п╪п╣, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ PIC;
12434 ошибка появилась в 0.3.27. 12434 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.27.
12435 </para> 12435 </para>
12436 <para lang="en"> 12436 <para lang="en">
12437 nginx could not be built on i386 platform, if the PIC was used; 12437 nginx could not be built on i386 platform, if the PIC was used;
12438 the bug had appeared in 0.3.27. 12438 the bug had appeared in 0.3.27.
12439 </para> 12439 </para>
12444 12444
12445 <changes ver="0.3.29" date="20.02.2006"> 12445 <changes ver="0.3.29" date="20.02.2006">
12446 12446
12447 <change type="feature"> 12447 <change type="feature">
12448 <para lang="ru"> 12448 <para lang="ru">
12449 теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт 12449 я┌п╣п©п╣я─я▄ nginx п╦я│п©п╬п╩я▄п╥я┐п╣я┌ п╪п╣п╫я▄я┬п╣ п©п╟п╪я▐я┌п╦, п╣я│п╩п╦ PHP п╡ я─п╣п╤п╦п╪п╣ FastCGI п©п╣я─п╣п╢п╟я▒я┌
12450 большое количество предупреждений перед ответом. 12450 п╠п╬п╩я▄я┬п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╧ п©п╣я─п╣п╢ п╬я┌п╡п╣я┌п╬п╪.
12451 </para> 12451 </para>
12452 <para lang="en"> 12452 <para lang="en">
12453 now nginx uses less memory, if PHP in FastCGI mode sends many warnings 12453 now nginx uses less memory, if PHP in FastCGI mode sends many warnings
12454 before the response. 12454 before the response.
12455 </para> 12455 </para>
12456 </change> 12456 </change>
12457 12457
12458 <change type="bugfix"> 12458 <change type="bugfix">
12459 <para lang="ru"> 12459 <para lang="ru">
12460 в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка 12460 п╡ п╬я┌п╡п╣я┌п╟я┘ 204 п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡ п╡п╣я─я│п╦п╦ HTTP/1.1 п╡я▀п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟
12461 "Transfer-Encoding: chunked". 12461 "Transfer-Encoding: chunked".
12462 </para> 12462 </para>
12463 <para lang="en"> 12463 <para lang="en">
12464 the "Transfer-Encoding: chunked" header line was issued in the 204 responses 12464 the "Transfer-Encoding: chunked" header line was issued in the 204 responses
12465 for the HTTP/1.1 requests. 12465 for the HTTP/1.1 requests.
12466 </para> 12466 </para>
12467 </change> 12467 </change>
12468 12468
12469 <change type="bugfix"> 12469 <change type="bugfix">
12470 <para lang="ru"> 12470 <para lang="ru">
12471 nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки 12471 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ 502 п╨п╬п╢ п╬я┌п╡п╣я┌п╟, п╣я│п╩п╦ FastCGI я│п╣я─п╡п╣я─ п©п╣я─п╣п╢п╟п╡п╟п╩ п©п╬п╩п╫я▀п╣ я│я┌я─п╬п╨п╦
12472 заголовка ответа в отдельных FastCGI записях. 12472 п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╡ п╬я┌п╢п╣п╩я▄п╫я▀я┘ FastCGI п╥п╟п©п╦я│я▐я┘.
12473 </para> 12473 </para>
12474 <para lang="en"> 12474 <para lang="en">
12475 nginx returned the 502 response, if the complete response header lines 12475 nginx returned the 502 response, if the complete response header lines
12476 were transferred in a separate FastCGI records. 12476 were transferred in a separate FastCGI records.
12477 </para> 12477 </para>
12478 </change> 12478 </change>
12479 12479
12480 <change type="bugfix"> 12480 <change type="bugfix">
12481 <para lang="ru"> 12481 <para lang="ru">
12482 если в директиве post_action был указан проксируемый URI, то он выполнялся 12482 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ post_action п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧ URI, я┌п╬ п╬п╫ п╡я▀п©п╬п╩п╫я▐п╩я│я▐
12483 только после успешного завершения запроса. 12483 я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣ я┐я│п©п╣я┬п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
12484 </para> 12484 </para>
12485 <para lang="en"> 12485 <para lang="en">
12486 if the proxied URI was specified in the "post_action" directive, then it ran 12486 if the proxied URI was specified in the "post_action" directive, then it ran
12487 only after a successful completion of a request. 12487 only after a successful completion of a request.
12488 </para> 12488 </para>
12493 12493
12494 <changes ver="0.3.28" date="16.02.2006"> 12494 <changes ver="0.3.28" date="16.02.2006">
12495 12495
12496 <change type="feature"> 12496 <change type="feature">
12497 <para lang="ru"> 12497 <para lang="ru">
12498 директива restrict_host_names упразднена. 12498 п╢п╦я─п╣п╨я┌п╦п╡п╟ restrict_host_names я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
12499 </para> 12499 </para>
12500 <para lang="en"> 12500 <para lang="en">
12501 the "restrict_host_names" directive was canceled. 12501 the "restrict_host_names" directive was canceled.
12502 </para> 12502 </para>
12503 </change> 12503 </change>
12504 12504
12505 <change type="feature"> 12505 <change type="feature">
12506 <para lang="ru"> 12506 <para lang="ru">
12507 параметр конфигурации --with-cpu-opt=ppc64. 12507 п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-cpu-opt=ppc64.
12508 </para> 12508 </para>
12509 <para lang="en"> 12509 <para lang="en">
12510 the --with-cpu-opt=ppc64 configuration parameter. 12510 the --with-cpu-opt=ppc64 configuration parameter.
12511 </para> 12511 </para>
12512 </change> 12512 </change>
12513 12513
12514 <change type="bugfix"> 12514 <change type="bugfix">
12515 <para lang="ru"> 12515 <para lang="ru">
12516 при некоторых условиях проксированное соединение с клиентом завершалось 12516 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ я┐я│п╩п╬п╡п╦я▐я┘ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ я│ п╨п╩п╦п╣п╫я┌п╬п╪ п╥п╟п╡п╣я─я┬п╟п╩п╬я│я▄
12517 преждевременно.<br/> 12517 п©я─п╣п╤п╢п╣п╡я─п╣п╪п╣п╫п╫п╬.<br/>
12518 Спасибо Владимиру Шутову. 12518 п║п©п╟я│п╦п╠п╬ п▓п╩п╟п╢п╦п╪п╦я─я┐ п╗я┐я┌п╬п╡я┐.
12519 </para> 12519 </para>
12520 <para lang="en"> 12520 <para lang="en">
12521 on some condition the proxied connection with a client was terminated 12521 on some condition the proxied connection with a client was terminated
12522 prematurely.<br/> 12522 prematurely.<br/>
12523 Thanks to Vladimir Shutoff. 12523 Thanks to Vladimir Shutoff.
12524 </para> 12524 </para>
12525 </change> 12525 </change>
12526 12526
12527 <change type="bugfix"> 12527 <change type="bugfix">
12528 <para lang="ru"> 12528 <para lang="ru">
12529 строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов, 12529 я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Limit-Rate" п╫п╣ я┐я┤п╦я┌я▀п╡п╟п╩п╟я│я▄ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡,
12530 перенаправленных с помощью строки "X-Accel-Redirect". 12530 п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╫я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌ я│я┌я─п╬п╨п╦ "X-Accel-Redirect".
12531 </para> 12531 </para>
12532 <para lang="en"> 12532 <para lang="en">
12533 the "X-Accel-Limit-Rate" header line was not taken into account 12533 the "X-Accel-Limit-Rate" header line was not taken into account
12534 if the request was redirected using the "X-Accel-Redirect" header line. 12534 if the request was redirected using the "X-Accel-Redirect" header line.
12535 </para> 12535 </para>
12536 </change> 12536 </change>
12537 12537
12538 <change type="bugfix"> 12538 <change type="bugfix">
12539 <para lang="ru"> 12539 <para lang="ru">
12540 директива post_action работала только после успешного завершения запроса. 12540 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action я─п╟п╠п╬я┌п╟п╩п╟ я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣ я┐я│п©п╣я┬п╫п╬пЁп╬ п╥п╟п╡п╣я─я┬п╣п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
12541 </para> 12541 </para>
12542 <para lang="en"> 12542 <para lang="en">
12543 the "post_action" directive ran only after a successful completion of a request. 12543 the "post_action" directive ran only after a successful completion of a request.
12544 </para> 12544 </para>
12545 </change> 12545 </change>
12546 12546
12547 <change type="bugfix"> 12547 <change type="bugfix">
12548 <para lang="ru"> 12548 <para lang="ru">
12549 тело проксированного ответа, создаваемого директивой post_action, 12549 я┌п╣п╩п╬ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ п╬я┌п╡п╣я┌п╟, я│п╬п╥п╢п╟п╡п╟п╣п╪п╬пЁп╬ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ post_action,
12550 передавалось клиенту. 12550 п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ п╨п╩п╦п╣п╫я┌я┐.
12551 </para> 12551 </para>
12552 <para lang="en"> 12552 <para lang="en">
12553 the proxied response body generated by the "post_action" directive 12553 the proxied response body generated by the "post_action" directive
12554 was transferred to a client. 12554 was transferred to a client.
12555 </para> 12555 </para>
12560 12560
12561 <changes ver="0.3.27" date="08.02.2006"> 12561 <changes ver="0.3.27" date="08.02.2006">
12562 12562
12563 <change type="change"> 12563 <change type="change">
12564 <para lang="ru"> 12564 <para lang="ru">
12565 директивы variables_hash_max_size и variables_hash_bucket_size. 12565 п╢п╦я─п╣п╨я┌п╦п╡я▀ variables_hash_max_size п╦ variables_hash_bucket_size.
12566 </para> 12566 </para>
12567 <para lang="en"> 12567 <para lang="en">
12568 the "variables_hash_max_size" and "variables_hash_bucket_size" directives. 12568 the "variables_hash_max_size" and "variables_hash_bucket_size" directives.
12569 </para> 12569 </para>
12570 </change> 12570 </change>
12571 12571
12572 <change type="feature"> 12572 <change type="feature">
12573 <para lang="ru"> 12573 <para lang="ru">
12574 переменная $body_bytes_sent доступна не только в директиве log_format. 12574 п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $body_bytes_sent п╢п╬я│я┌я┐п©п╫п╟ п╫п╣ я┌п╬п╩я▄п╨п╬ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format.
12575 </para> 12575 </para>
12576 <para lang="en"> 12576 <para lang="en">
12577 the $body_bytes_sent variable can be used not only in the "log_format" 12577 the $body_bytes_sent variable can be used not only in the "log_format"
12578 directive. 12578 directive.
12579 </para> 12579 </para>
12580 </change> 12580 </change>
12581 12581
12582 <change type="feature"> 12582 <change type="feature">
12583 <para lang="ru"> 12583 <para lang="ru">
12584 переменные $ssl_protocol и $ssl_cipher. 12584 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ $ssl_protocol п╦ $ssl_cipher.
12585 </para> 12585 </para>
12586 <para lang="en"> 12586 <para lang="en">
12587 the $ssl_protocol and $ssl_cipher variables. 12587 the $ssl_protocol and $ssl_cipher variables.
12588 </para> 12588 </para>
12589 </change> 12589 </change>
12590 12590
12591 <change type="feature"> 12591 <change type="feature">
12592 <para lang="ru"> 12592 <para lang="ru">
12593 определение размера строки кэша распространённых процессоров при старте. 12593 п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╣ я─п╟п╥п╪п╣я─п╟ я│я┌я─п╬п╨п╦ п╨я█я┬п╟ я─п╟я│п©я─п╬я│я┌я─п╟п╫я▒п╫п╫я▀я┘ п©я─п╬я├п╣я│я│п╬я─п╬п╡ п©я─п╦ я│я┌п╟я─я┌п╣.
12594 </para> 12594 </para>
12595 <para lang="en"> 12595 <para lang="en">
12596 the cache line size detection for widespread CPUs at start time. 12596 the cache line size detection for widespread CPUs at start time.
12597 </para> 12597 </para>
12598 </change> 12598 </change>
12599 12599
12600 <change type="feature"> 12600 <change type="feature">
12601 <para lang="ru"> 12601 <para lang="ru">
12602 директива accept_mutex теперь поддерживается посредством fcntl(2) 12602 п╢п╦я─п╣п╨я┌п╦п╡п╟ accept_mutex я┌п╣п©п╣я─я▄ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ п©п╬я│я─п╣п╢я│я┌п╡п╬п╪ fcntl(2)
12603 на платформах, отличных от i386, amd64, sparc64 и ppc. 12603 п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc64 п╦ ppc.
12604 </para> 12604 </para>
12605 <para lang="en"> 12605 <para lang="en">
12606 now the "accept_mutex" directive is supported using fcntl(2) 12606 now the "accept_mutex" directive is supported using fcntl(2)
12607 on platforms different from i386, amd64, sparc64, and ppc. 12607 on platforms different from i386, amd64, sparc64, and ppc.
12608 </para> 12608 </para>
12609 </change> 12609 </change>
12610 12610
12611 <change type="feature"> 12611 <change type="feature">
12612 <para lang="ru"> 12612 <para lang="ru">
12613 директива lock_file и параметр автоконфигурации --with-lock-path=PATH. 12613 п╢п╦я─п╣п╨я┌п╦п╡п╟ lock_file п╦ п©п╟я─п╟п╪п╣я┌я─ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-lock-path=PATH.
12614 </para> 12614 </para>
12615 <para lang="en"> 12615 <para lang="en">
12616 the "lock_file" directive and the --with-lock-path=PATH autoconfiguration 12616 the "lock_file" directive and the --with-lock-path=PATH autoconfiguration
12617 directive. 12617 directive.
12618 </para> 12618 </para>
12619 </change> 12619 </change>
12620 12620
12621 <change type="bugfix"> 12621 <change type="bugfix">
12622 <para lang="ru"> 12622 <para lang="ru">
12623 при использовании протокола HTTPS в директиве proxy_pass не передавались 12623 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
12624 запросы с телом. 12624 п╥п╟п©я─п╬я│я▀ я│ я┌п╣п╩п╬п╪.
12625 </para> 12625 </para>
12626 <para lang="en"> 12626 <para lang="en">
12627 if the HTTPS protocol was used in the "proxy_pass" directive then 12627 if the HTTPS protocol was used in the "proxy_pass" directive then
12628 the requests with the body was not transferred. 12628 the requests with the body was not transferred.
12629 </para> 12629 </para>
12634 12634
12635 <changes ver="0.3.26" date="03.02.2006"> 12635 <changes ver="0.3.26" date="03.02.2006">
12636 12636
12637 <change type="change"> 12637 <change type="change">
12638 <para lang="ru"> 12638 <para lang="ru">
12639 директива optimize_host_names переименована в optimize_server_names. 12639 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_host_names п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╟ п╡ optimize_server_names.
12640 </para> 12640 </para>
12641 <para lang="en"> 12641 <para lang="en">
12642 the "optimize_host_names" directive was renamed to the "optimize_server_names". 12642 the "optimize_host_names" directive was renamed to the "optimize_server_names".
12643 </para> 12643 </para>
12644 </change> 12644 </change>
12645 12645
12646 <change type="bugfix"> 12646 <change type="bugfix">
12647 <para lang="ru"> 12647 <para lang="ru">
12648 при проксировании подзапроса в SSI бэкенду передавался URI основного запроса, 12648 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п©п╬п╢п╥п╟п©я─п╬я│п╟ п╡ SSI п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ URI п╬я│п╫п╬п╡п╫п╬пЁп╬ п╥п╟п©я─п╬я│п╟,
12649 если в директиве proxy_pass отсутствовал URI. 12649 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩ URI.
12650 </para> 12650 </para>
12651 <para lang="en"> 12651 <para lang="en">
12652 if in the "proxy_pass" directive was no the URI part, then the main request 12652 if in the "proxy_pass" directive was no the URI part, then the main request
12653 URI was transferred to a backend while proxying the SSI subrequest. 12653 URI was transferred to a backend while proxying the SSI subrequest.
12654 </para> 12654 </para>
12659 12659
12660 <changes ver="0.3.25" date="01.02.2006"> 12660 <changes ver="0.3.25" date="01.02.2006">
12661 12661
12662 <change type="bugfix"> 12662 <change type="bugfix">
12663 <para lang="ru"> 12663 <para lang="ru">
12664 при неверной конфигурации на старте или во время переконфигурации происходил 12664 п©я─п╦ п╫п╣п╡п╣я─п╫п╬п╧ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╟ я│я┌п╟я─я┌п╣ п╦п╩п╦ п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п©я─п╬п╦я│я┘п╬п╢п╦п╩
12665 segmentation fault; 12665 segmentation fault;
12666 ошибка появилась в 0.3.24. 12666 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.24.
12667 </para> 12667 </para>
12668 <para lang="en"> 12668 <para lang="en">
12669 the segmentation fault was occurred on start or while reconfiguration 12669 the segmentation fault was occurred on start or while reconfiguration
12670 if there was invalid configuration; 12670 if there was invalid configuration;
12671 the bug had appeared in 0.3.24. 12671 the bug had appeared in 0.3.24.
12677 12677
12678 <changes ver="0.3.24" date="01.02.2006"> 12678 <changes ver="0.3.24" date="01.02.2006">
12679 12679
12680 <change type="workaround"> 12680 <change type="workaround">
12681 <para lang="ru"> 12681 <para lang="ru">
12682 обход ошибки в kqueue во FreeBSD. 12682 п╬п╠я┘п╬п╢ п╬я┬п╦п╠п╨п╦ п╡ kqueue п╡п╬ FreeBSD.
12683 </para> 12683 </para>
12684 <para lang="en"> 12684 <para lang="en">
12685 for bug in FreeBSD kqueue. 12685 for bug in FreeBSD kqueue.
12686 </para> 12686 </para>
12687 </change> 12687 </change>
12688 12688
12689 <change type="bugfix"> 12689 <change type="bugfix">
12690 <para lang="ru"> 12690 <para lang="ru">
12691 ответ, создаваемый директивой post_action, теперь не передаётся клиенту. 12691 п╬я┌п╡п╣я┌, я│п╬п╥п╢п╟п╡п╟п╣п╪я▀п╧ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ post_action, я┌п╣п©п╣я─я▄ п╫п╣ п©п╣я─п╣п╢п╟я▒я┌я│я▐ п╨п╩п╦п╣п╫я┌я┐.
12692 </para> 12692 </para>
12693 <para lang="en"> 12693 <para lang="en">
12694 now a response generated by the "post_action" directive is not transferred 12694 now a response generated by the "post_action" directive is not transferred
12695 to a client. 12695 to a client.
12696 </para> 12696 </para>
12697 </change> 12697 </change>
12698 12698
12699 <change type="bugfix"> 12699 <change type="bugfix">
12700 <para lang="ru"> 12700 <para lang="ru">
12701 при использовании большого количества лог-файлов происходила утечка памяти. 12701 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╟ п╩п╬пЁ-я└п╟п╧п╩п╬п╡ п©я─п╬п╦я│я┘п╬п╢п╦п╩п╟ я┐я┌п╣я┤п╨п╟ п©п╟п╪я▐я┌п╦.
12702 </para> 12702 </para>
12703 <para lang="en"> 12703 <para lang="en">
12704 the memory leaks were occurring if many log files were used. 12704 the memory leaks were occurring if many log files were used.
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 внутри одного location работала только первая директива proxy_redirect. 12710 п╡п╫я┐я┌я─п╦ п╬п╢п╫п╬пЁп╬ location я─п╟п╠п╬я┌п╟п╩п╟ я┌п╬п╩я▄п╨п╬ п©п╣я─п╡п╟я▐ п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_redirect.
12711 </para> 12711 </para>
12712 <para lang="en"> 12712 <para lang="en">
12713 the first "proxy_redirect" directive was working inside one location. 12713 the first "proxy_redirect" directive was working inside one location.
12714 </para> 12714 </para>
12715 </change> 12715 </change>
12716 12716
12717 <change type="bugfix"> 12717 <change type="bugfix">
12718 <para lang="ru"> 12718 <para lang="ru">
12719 на 64-битных платформах при старте мог произойти segmentation fault, 12719 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п©я─п╦ я│я┌п╟я─я┌п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault,
12720 если использовалось большое количество имён в директивах server_name; 12720 п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п╠п╬п╩я▄я┬п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п╦п╪я▒п╫ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ server_name;
12721 ошибка появилась в 0.3.18. 12721 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
12722 </para> 12722 </para>
12723 <para lang="en"> 12723 <para lang="en">
12724 on 64-bit platforms segmentation fault may occurred on start 12724 on 64-bit platforms segmentation fault may occurred on start
12725 if the many names were used in the "server_name" directives; 12725 if the many names were used in the "server_name" directives;
12726 the bug had appeared in 0.3.18. 12726 the bug had appeared in 0.3.18.
12732 12732
12733 <changes ver="0.3.23" date="24.01.2006"> 12733 <changes ver="0.3.23" date="24.01.2006">
12734 12734
12735 <change type="feature"> 12735 <change type="feature">
12736 <para lang="ru"> 12736 <para lang="ru">
12737 директива optimize_host_names. 12737 п╢п╦я─п╣п╨я┌п╦п╡п╟ optimize_host_names.
12738 </para> 12738 </para>
12739 <para lang="en"> 12739 <para lang="en">
12740 the "optimize_host_names" directive. 12740 the "optimize_host_names" directive.
12741 </para> 12741 </para>
12742 </change> 12742 </change>
12743 12743
12744 <change type="bugfix"> 12744 <change type="bugfix">
12745 <para lang="ru"> 12745 <para lang="ru">
12746 ошибки при использовании переменных в директивах path и alias. 12746 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ path п╦ alias.
12747 </para> 12747 </para>
12748 <para lang="en"> 12748 <para lang="en">
12749 in using of the variables in the "path" and "alias" directives. 12749 in using of the variables in the "path" and "alias" directives.
12750 </para> 12750 </para>
12751 </change> 12751 </change>
12752 12752
12753 <change type="bugfix"> 12753 <change type="bugfix">
12754 <para lang="ru"> 12754 <para lang="ru">
12755 модуль ngx_http_perl_module неправильно собирался на Linux и Solaris. 12755 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux п╦ Solaris.
12756 </para> 12756 </para>
12757 <para lang="en"> 12757 <para lang="en">
12758 the ngx_http_perl_module was incorrectly built on Linux and Solaris. 12758 the ngx_http_perl_module was incorrectly built on Linux and Solaris.
12759 </para> 12759 </para>
12760 </change> 12760 </change>
12764 12764
12765 <changes ver="0.3.22" date="17.01.2006"> 12765 <changes ver="0.3.22" date="17.01.2006">
12766 12766
12767 <change type="feature"> 12767 <change type="feature">
12768 <para lang="ru"> 12768 <para lang="ru">
12769 модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape. 12769 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╪п╣я┌п╬п╢я▀ $r->args п╦ $r->unescape.
12770 </para> 12770 </para>
12771 <para lang="en"> 12771 <para lang="en">
12772 the ngx_http_perl_module supports the $r->args and $r->unescape methods. 12772 the ngx_http_perl_module supports the $r->args and $r->unescape methods.
12773 </para> 12773 </para>
12774 </change> 12774 </change>
12775 12775
12776 <change type="feature"> 12776 <change type="feature">
12777 <para lang="ru"> 12777 <para lang="ru">
12778 метод $r->query_string в модуле ngx_http_perl_module упразднён. 12778 п╪п╣я┌п╬п╢ $r->query_string п╡ п╪п╬п╢я┐п╩п╣ ngx_http_perl_module я┐п©я─п╟п╥п╢п╫я▒п╫.
12779 </para> 12779 </para>
12780 <para lang="en"> 12780 <para lang="en">
12781 the method $r->query_string of ngx_http_perl_module was canceled. 12781 the method $r->query_string of ngx_http_perl_module was canceled.
12782 </para> 12782 </para>
12783 </change> 12783 </change>
12784 12784
12785 <change type="bugfix"> 12785 <change type="bugfix">
12786 <para lang="ru"> 12786 <para lang="ru">
12787 если в директиве valid_referers указаны только none или blocked, то 12787 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers я┐п╨п╟п╥п╟п╫я▀ я┌п╬п╩я▄п╨п╬ none п╦п╩п╦ blocked, я┌п╬
12788 происходил segmentation fault; 12788 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
12789 ошибка появилась в 0.3.18. 12789 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.18.
12790 </para> 12790 </para>
12791 <para lang="en"> 12791 <para lang="en">
12792 segmentation fault was occurred if the "none" or "blocked" values was 12792 segmentation fault was occurred if the "none" or "blocked" values was
12793 specified in the "valid_referers" directive; 12793 specified in the "valid_referers" directive;
12794 the bug had appeared in 0.3.18. 12794 the bug had appeared in 0.3.18.
12800 12800
12801 <changes ver="0.3.21" date="16.01.2006"> 12801 <changes ver="0.3.21" date="16.01.2006">
12802 12802
12803 <change type="feature"> 12803 <change type="feature">
12804 <para lang="ru"> 12804 <para lang="ru">
12805 модуль ngx_http_perl_module. 12805 п╪п╬п╢я┐п╩я▄ ngx_http_perl_module.
12806 </para> 12806 </para>
12807 <para lang="en"> 12807 <para lang="en">
12808 the ngx_http_perl_module. 12808 the ngx_http_perl_module.
12809 </para> 12809 </para>
12810 </change> 12810 </change>
12811 12811
12812 <change type="change"> 12812 <change type="change">
12813 <para lang="ru"> 12813 <para lang="ru">
12814 директива valid_referers разрешает использовать рефереры совсем без URI. 12814 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers я─п╟п╥я─п╣я┬п╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я─п╣я└п╣я─п╣я─я▀ я│п╬п╡я│п╣п╪ п╠п╣п╥ URI.
12815 </para> 12815 </para>
12816 <para lang="en"> 12816 <para lang="en">
12817 the "valid_referers" directive allows the referreres without URI part. 12817 the "valid_referers" directive allows the referreres without URI part.
12818 </para> 12818 </para>
12819 </change> 12819 </change>
12823 12823
12824 <changes ver="0.3.20" date="11.01.2006"> 12824 <changes ver="0.3.20" date="11.01.2006">
12825 12825
12826 <change type="bugfix"> 12826 <change type="bugfix">
12827 <para lang="ru"> 12827 <para lang="ru">
12828 ошибки в обработке SSI. 12828 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
12829 </para> 12829 </para>
12830 <para lang="en"> 12830 <para lang="en">
12831 in SSI handling. 12831 in SSI handling.
12832 </para> 12832 </para>
12833 </change> 12833 </change>
12834 12834
12835 <change type="bugfix"> 12835 <change type="bugfix">
12836 <para lang="ru"> 12836 <para lang="ru">
12837 модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args. 12837 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╨п╩я▌я┤п╦ п╡ п╡п╦п╢п╣ /uri?args.
12838 </para> 12838 </para>
12839 <para lang="en"> 12839 <para lang="en">
12840 the ngx_http_memcached_module did not support the keys in the "/usr?args" form. 12840 the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
12841 </para> 12841 </para>
12842 </change> 12842 </change>
12845 12845
12846 <changes ver="0.3.19" date="28.12.2005"> 12846 <changes ver="0.3.19" date="28.12.2005">
12847 12847
12848 <change type="feature"> 12848 <change type="feature">
12849 <para lang="ru"> 12849 <para lang="ru">
12850 директивы path и alias поддерживают переменные. 12850 п╢п╦я─п╣п╨я┌п╦п╡я▀ path п╦ alias п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
12851 </para> 12851 </para>
12852 <para lang="en"> 12852 <para lang="en">
12853 the "path" and "alias" directives support the variables. 12853 the "path" and "alias" directives support the variables.
12854 </para> 12854 </para>
12855 </change> 12855 </change>
12856 12856
12857 <change type="change"> 12857 <change type="change">
12858 <para lang="ru"> 12858 <para lang="ru">
12859 теперь директива valid_referers опять учитывает URI. 12859 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╬п©я▐я┌я▄ я┐я┤п╦я┌я▀п╡п╟п╣я┌ URI.
12860 </para> 12860 </para>
12861 <para lang="en"> 12861 <para lang="en">
12862 now the "valid_referers" directive again checks the URI part. 12862 now the "valid_referers" directive again checks the URI part.
12863 </para> 12863 </para>
12864 </change> 12864 </change>
12865 12865
12866 <change type="bugfix"> 12866 <change type="bugfix">
12867 <para lang="ru"> 12867 <para lang="ru">
12868 ошибки в обработке SSI. 12868 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
12869 </para> 12869 </para>
12870 <para lang="en"> 12870 <para lang="en">
12871 in SSI handling. 12871 in SSI handling.
12872 </para> 12872 </para>
12873 </change> 12873 </change>
12877 12877
12878 <changes ver="0.3.18" date="26.12.2005"> 12878 <changes ver="0.3.18" date="26.12.2005">
12879 12879
12880 <change type="feature"> 12880 <change type="feature">
12881 <para lang="ru"> 12881 <para lang="ru">
12882 директива server_names поддерживает имена вида ".domain.tld". 12882 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_names п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ ".domain.tld".
12883 </para> 12883 </para>
12884 <para lang="en"> 12884 <para lang="en">
12885 the "server_names" directive supports the ".domain.tld" names. 12885 the "server_names" directive supports the ".domain.tld" names.
12886 </para> 12886 </para>
12887 </change> 12887 </change>
12888 12888
12889 <change type="feature"> 12889 <change type="feature">
12890 <para lang="ru"> 12890 <para lang="ru">
12891 директива server_names использует хэш для имён вида "*.domain.tld" 12891 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_names п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я┘я█я┬ п╢п╩я▐ п╦п╪я▒п╫ п╡п╦п╢п╟ "*.domain.tld"
12892 и более эффективный хэш для обычных имён. 12892 п╦ п╠п╬п╩п╣п╣ я█я└я└п╣п╨я┌п╦п╡п╫я▀п╧ я┘я█я┬ п╢п╩я▐ п╬п╠я▀я┤п╫я▀я┘ п╦п╪я▒п╫.
12893 </para> 12893 </para>
12894 <para lang="en"> 12894 <para lang="en">
12895 the "server_names" directive uses the hash for the "*.domain.tld" names 12895 the "server_names" directive uses the hash for the "*.domain.tld" names
12896 and more effective hash for usual names. 12896 and more effective hash for usual names.
12897 </para> 12897 </para>
12898 </change> 12898 </change>
12899 12899
12900 <change type="change"> 12900 <change type="change">
12901 <para lang="ru"> 12901 <para lang="ru">
12902 директивы server_names_hash_max_size и server_names_hash_bucket_size. 12902 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash_max_size п╦ server_names_hash_bucket_size.
12903 </para> 12903 </para>
12904 <para lang="en"> 12904 <para lang="en">
12905 the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. 12905 the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives.
12906 </para> 12906 </para>
12907 </change> 12907 </change>
12908 12908
12909 <change type="change"> 12909 <change type="change">
12910 <para lang="ru"> 12910 <para lang="ru">
12911 директивы server_names_hash и server_names_hash_threshold упразднены. 12911 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash п╦ server_names_hash_threshold я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
12912 </para> 12912 </para>
12913 <para lang="en"> 12913 <para lang="en">
12914 the "server_names_hash" and "server_names_hash_threshold" directives 12914 the "server_names_hash" and "server_names_hash_threshold" directives
12915 were canceled. 12915 were canceled.
12916 </para> 12916 </para>
12917 </change> 12917 </change>
12918 12918
12919 <change type="feature"> 12919 <change type="feature">
12920 <para lang="ru"> 12920 <para lang="ru">
12921 директива valid_referers использует хэш для имён сайтов. 12921 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╦я│п©п╬п╩я▄п╥я┐п╣я┌ я┘я█я┬ п╢п╩я▐ п╦п╪я▒п╫ я│п╟п╧я┌п╬п╡.
12922 </para> 12922 </para>
12923 <para lang="en"> 12923 <para lang="en">
12924 the "valid_referers" directive uses the hash site names. 12924 the "valid_referers" directive uses the hash site names.
12925 </para> 12925 </para>
12926 </change> 12926 </change>
12927 12927
12928 <change type="change"> 12928 <change type="change">
12929 <para lang="ru"> 12929 <para lang="ru">
12930 теперь директива valid_referers проверяет только имена сайтов без учёта URI. 12930 я┌п╣п©п╣я─я▄ п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п©я─п╬п╡п╣я─я▐п╣я┌ я┌п╬п╩я▄п╨п╬ п╦п╪п╣п╫п╟ я│п╟п╧я┌п╬п╡ п╠п╣п╥ я┐я┤я▒я┌п╟ URI.
12931 </para> 12931 </para>
12932 <para lang="en"> 12932 <para lang="en">
12933 now the "valid_referers" directive checks the site names only without 12933 now the "valid_referers" directive checks the site names only without
12934 the URI part. 12934 the URI part.
12935 </para> 12935 </para>
12936 </change> 12936 </change>
12937 12937
12938 <change type="bugfix"> 12938 <change type="bugfix">
12939 <para lang="ru"> 12939 <para lang="ru">
12940 некоторые имена вида ".domain.tld" неверно обрабатывались модулем 12940 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╦п╪п╣п╫п╟ п╡п╦п╢п╟ ".domain.tld" п╫п╣п╡п╣я─п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╪п╬п╢я┐п╩п╣п╪
12941 ngx_http_map_module. 12941 ngx_http_map_module.
12942 </para> 12942 </para>
12943 <para lang="en"> 12943 <para lang="en">
12944 some ".domain.tld" names incorrectly processed by the ngx_http_map_module. 12944 some ".domain.tld" names incorrectly processed by the ngx_http_map_module.
12945 </para> 12945 </para>
12946 </change> 12946 </change>
12947 12947
12948 <change type="bugfix"> 12948 <change type="bugfix">
12949 <para lang="ru"> 12949 <para lang="ru">
12950 если конфигурационного файла не было, то происходил segmentation fault; 12950 п╣я│п╩п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╣ п╠я▀п╩п╬, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
12951 ошибка появилась в 0.3.12. 12951 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.12.
12952 </para> 12952 </para>
12953 <para lang="en"> 12953 <para lang="en">
12954 segmentation fault was occurred if configuration file did not exist; 12954 segmentation fault was occurred if configuration file did not exist;
12955 the bug had appeared in 0.3.12. 12955 the bug had appeared in 0.3.12.
12956 </para> 12956 </para>
12957 </change> 12957 </change>
12958 12958
12959 <change type="bugfix"> 12959 <change type="bugfix">
12960 <para lang="ru"> 12960 <para lang="ru">
12961 на 64-битных платформах при старте мог произойти segmentation fault; 12961 п╫п╟ 64-п╠п╦я┌п╫я▀я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘ п©я─п╦ я│я┌п╟я─я┌п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
12962 ошибка появилась в 0.3.16. 12962 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.16.
12963 </para> 12963 </para>
12964 <para lang="en"> 12964 <para lang="en">
12965 on 64-bit platforms segmentation fault may occurred on start; 12965 on 64-bit platforms segmentation fault may occurred on start;
12966 the bug had appeared in 0.3.16. 12966 the bug had appeared in 0.3.16.
12967 </para> 12967 </para>
12972 12972
12973 <changes ver="0.3.17" date="18.12.2005"> 12973 <changes ver="0.3.17" date="18.12.2005">
12974 12974
12975 <change type="change"> 12975 <change type="change">
12976 <para lang="ru"> 12976 <para lang="ru">
12977 на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре. 12977 п╫п╟ Linux configure я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╫п╟п╩п╦я┤п╦п╣ epoll п╦ sendfile64() п╡ я▐п╢я─п╣.
12978 </para> 12978 </para>
12979 <para lang="en"> 12979 <para lang="en">
12980 now on Linux configure checks the presence of epoll and sendfile64() in kernel. 12980 now on Linux configure checks the presence of epoll and sendfile64() in kernel.
12981 </para> 12981 </para>
12982 </change> 12982 </change>
12983 12983
12984 <change type="feature"> 12984 <change type="feature">
12985 <para lang="ru"> 12985 <para lang="ru">
12986 директива map поддерживает доменные имена в формате ".domain.tld". 12986 п╢п╦я─п╣п╨я┌п╦п╡п╟ map п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╬п╪п╣п╫п╫я▀п╣ п╦п╪п╣п╫п╟ п╡ я└п╬я─п╪п╟я┌п╣ ".domain.tld".
12987 </para> 12987 </para>
12988 <para lang="en"> 12988 <para lang="en">
12989 the "map" directive supports domain names in the ".domain.tld" form. 12989 the "map" directive supports domain names in the ".domain.tld" form.
12990 </para> 12990 </para>
12991 </change> 12991 </change>
12992 12992
12993 <change type="bugfix"> 12993 <change type="bugfix">
12994 <para lang="ru"> 12994 <para lang="ru">
12995 во время SSL handshake не иcпользовались таймауты; 12995 п╡п╬ п╡я─п╣п╪я▐ SSL handshake п╫п╣ п╦cп©п╬п╩я▄п╥п╬п╡п╟п╩п╦я│я▄ я┌п╟п╧п╪п╟я┐я┌я▀;
12996 ошибка появилась в 0.2.4. 12996 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.4.
12997 </para> 12997 </para>
12998 <para lang="en"> 12998 <para lang="en">
12999 the timeouts were not used in SSL handshake; 12999 the timeouts were not used in SSL handshake;
13000 the bug had appeared in 0.2.4. 13000 the bug had appeared in 0.2.4.
13001 </para> 13001 </para>
13002 </change> 13002 </change>
13003 13003
13004 <change type="bugfix"> 13004 <change type="bugfix">
13005 <para lang="ru"> 13005 <para lang="ru">
13006 в использовании протокола HTTPS в директиве proxy_pass. 13006 п╡ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass.
13007 </para> 13007 </para>
13008 <para lang="en"> 13008 <para lang="en">
13009 in the HTTPS protocol in the "proxy_pass" directive. 13009 in the HTTPS protocol in the "proxy_pass" directive.
13010 </para> 13010 </para>
13011 </change> 13011 </change>
13012 13012
13013 <change type="bugfix"> 13013 <change type="bugfix">
13014 <para lang="ru"> 13014 <para lang="ru">
13015 при использовании протокола HTTPS в директиве proxy_pass по умолчанию 13015 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©я─п╬я┌п╬п╨п╬п╩п╟ HTTPS п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌
13016 использовался порт 80. 13016 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╬я─я┌ 80.
13017 </para> 13017 </para>
13018 <para lang="en"> 13018 <para lang="en">
13019 when the HTTPS protocol was used in the "proxy_pass" directive the port 80 13019 when the HTTPS protocol was used in the "proxy_pass" directive the port 80
13020 was used by default. 13020 was used by default.
13021 </para> 13021 </para>
13026 13026
13027 <changes ver="0.3.16" date="16.12.2005"> 13027 <changes ver="0.3.16" date="16.12.2005">
13028 13028
13029 <change type="feature"> 13029 <change type="feature">
13030 <para lang="ru"> 13030 <para lang="ru">
13031 модуль ngx_http_map_module. 13031 п╪п╬п╢я┐п╩я▄ ngx_http_map_module.
13032 </para> 13032 </para>
13033 <para lang="en"> 13033 <para lang="en">
13034 the ngx_http_map_module. 13034 the ngx_http_map_module.
13035 </para> 13035 </para>
13036 </change> 13036 </change>
13037 13037
13038 <change type="feature"> 13038 <change type="feature">
13039 <para lang="ru"> 13039 <para lang="ru">
13040 директивы types_hash_max_size и types_hash_bucket_size. 13040 п╢п╦я─п╣п╨я┌п╦п╡я▀ types_hash_max_size п╦ types_hash_bucket_size.
13041 </para> 13041 </para>
13042 <para lang="en"> 13042 <para lang="en">
13043 the "types_hash_max_size" and "types_hash_bucket_size" directives. 13043 the "types_hash_max_size" and "types_hash_bucket_size" directives.
13044 </para> 13044 </para>
13045 </change> 13045 </change>
13046 13046
13047 <change type="feature"> 13047 <change type="feature">
13048 <para lang="ru"> 13048 <para lang="ru">
13049 директива ssi_value_length. 13049 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_value_length.
13050 </para> 13050 </para>
13051 <para lang="en"> 13051 <para lang="en">
13052 the "ssi_value_length" directive. 13052 the "ssi_value_length" directive.
13053 </para> 13053 </para>
13054 </change> 13054 </change>
13055 13055
13056 <change type="feature"> 13056 <change type="feature">
13057 <para lang="ru"> 13057 <para lang="ru">
13058 директива worker_rlimit_core. 13058 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_rlimit_core.
13059 </para> 13059 </para>
13060 <para lang="en"> 13060 <para lang="en">
13061 the "worker_rlimit_core" directive. 13061 the "worker_rlimit_core" directive.
13062 </para> 13062 </para>
13063 </change> 13063 </change>
13064 13064
13065 <change type="workaround"> 13065 <change type="workaround">
13066 <para lang="ru"> 13066 <para lang="ru">
13067 при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 13067 п©я─п╦ я│п╠п╬я─п╨п╣ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╟п╪п╦ icc 8.1 п╦ 9.0 я│ п╬п©я┌п╦п╪п╦п╥п╟я├п╦п╣п╧ п╢п╩я▐
13068 <nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1. 13068 <nobr>Pentium 4</nobr> п╫п╬п╪п╣я─ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╡ п╩п╬пЁп╟я┘ п╡я│п╣пЁп╢п╟ п╠я▀п╩ я─п╟п╡п╣п╫ 1.
13069 </para> 13069 </para>
13070 <para lang="en"> 13070 <para lang="en">
13071 the connection number in logs was always 1 if nginx was built by the 13071 the connection number in logs was always 1 if nginx was built by the
13072 icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr> 13072 icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr>
13073 </para> 13073 </para>
13074 </change> 13074 </change>
13075 13075
13076 <change type="bugfix"> 13076 <change type="bugfix">
13077 <para lang="ru"> 13077 <para lang="ru">
13078 команда config timefmt в SSI задавала неверный формат времени. 13078 п╨п╬п╪п╟п╫п╢п╟ config timefmt п╡ SSI п╥п╟п╢п╟п╡п╟п╩п╟ п╫п╣п╡п╣я─п╫я▀п╧ я└п╬я─п╪п╟я┌ п╡я─п╣п╪п╣п╫п╦.
13079 </para> 13079 </para>
13080 <para lang="en"> 13080 <para lang="en">
13081 the "config timefmt" SSI command set incorrect time format. 13081 the "config timefmt" SSI command set incorrect time format.
13082 </para> 13082 </para>
13083 </change> 13083 </change>
13084 13084
13085 <change type="bugfix"> 13085 <change type="bugfix">
13086 <para lang="ru"> 13086 <para lang="ru">
13087 nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL 13087 nginx п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ IMAP/POP3 п╠я█п╨п╣п╫п╢п╬п╪ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL
13088 соединений; 13088 я│п╬п╣п╢п╦п╫п╣п╫п╦п╧;
13089 ошибка появилась в 0.3.13.<br/> 13089 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.<br/>
13090 Спасибо Rob Mueller. 13090 п║п©п╟я│п╦п╠п╬ Rob Mueller.
13091 </para> 13091 </para>
13092 <para lang="en"> 13092 <para lang="en">
13093 nginx did not close connection to IMAP/POP3 backend for the SSL 13093 nginx did not close connection to IMAP/POP3 backend for the SSL
13094 connections; 13094 connections;
13095 the bug had appeared in 0.3.13.<br/> 13095 the bug had appeared in 0.3.13.<br/>
13097 </para> 13097 </para>
13098 </change> 13098 </change>
13099 13099
13100 <change type="bugfix"> 13100 <change type="bugfix">
13101 <para lang="ru"> 13101 <para lang="ru">
13102 segmentation fault мог произойти во время SSL shutdown; 13102 segmentation fault п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ п╡п╬ п╡я─п╣п╪я▐ SSL shutdown;
13103 ошибка появилась в 0.3.13. 13103 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.
13104 </para> 13104 </para>
13105 <para lang="en"> 13105 <para lang="en">
13106 segmentation fault may occurred in at SSL shutdown; 13106 segmentation fault may occurred in at SSL shutdown;
13107 the bug had appeared in 0.3.13. 13107 the bug had appeared in 0.3.13.
13108 </para> 13108 </para>
13113 13113
13114 <changes ver="0.3.15" date="07.12.2005"> 13114 <changes ver="0.3.15" date="07.12.2005">
13115 13115
13116 <change type="feature"> 13116 <change type="feature">
13117 <para lang="ru"> 13117 <para lang="ru">
13118 новой код 444 в директиве return для закрытия соединения. 13118 п╫п╬п╡п╬п╧ п╨п╬п╢ 444 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ return п╢п╩я▐ п╥п╟п╨я─я▀я┌п╦я▐ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.
13119 </para> 13119 </para>
13120 <para lang="en"> 13120 <para lang="en">
13121 the new 444 code of the "return" directive to close connection. 13121 the new 444 code of the "return" directive to close connection.
13122 </para> 13122 </para>
13123 </change> 13123 </change>
13124 13124
13125 <change type="feature"> 13125 <change type="feature">
13126 <para lang="ru"> 13126 <para lang="ru">
13127 директива so_keepalive в IMAP/POP3 прокси. 13127 п╢п╦я─п╣п╨я┌п╦п╡п╟ so_keepalive п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
13128 </para> 13128 </para>
13129 <para lang="en"> 13129 <para lang="en">
13130 the "so_keepalive" directive in IMAP/POP3 proxy. 13130 the "so_keepalive" directive in IMAP/POP3 proxy.
13131 </para> 13131 </para>
13132 </change> 13132 </change>
13133 13133
13134 <change type="bugfix"> 13134 <change type="bugfix">
13135 <para lang="ru"> 13135 <para lang="ru">
13136 nginx теперь вызывает abort() при обнаружении незакрытых соединений 13136 nginx я┌п╣п©п╣я─я▄ п╡я▀п╥я▀п╡п╟п╣я┌ abort() п©я─п╦ п╬п╠п╫п╟я─я┐п╤п╣п╫п╦п╦ п╫п╣п╥п╟п╨я─я▀я┌я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧
13137 только при планом выходе и включённой директиве debug_points. 13137 я┌п╬п╩я▄п╨п╬ п©я─п╦ п©п╩п╟п╫п╬п╪ п╡я▀я┘п╬п╢п╣ п╦ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡п╣ debug_points.
13138 </para> 13138 </para>
13139 <para lang="en"> 13139 <para lang="en">
13140 if there are unclosed connection nginx now calls abort() only on gracefull 13140 if there are unclosed connection nginx now calls abort() only on gracefull
13141 quit and active "debug_points" directive. 13141 quit and active "debug_points" directive.
13142 </para> 13142 </para>
13147 13147
13148 <changes ver="0.3.14" date="05.12.2005"> 13148 <changes ver="0.3.14" date="05.12.2005">
13149 13149
13150 <change type="bugfix"> 13150 <change type="bugfix">
13151 <para lang="ru"> 13151 <para lang="ru">
13152 в ответе 304 передавалось тело ответа; 13152 п╡ п╬я┌п╡п╣я┌п╣ 304 п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ я┌п╣п╩п╬ п╬я┌п╡п╣я┌п╟;
13153 ошибка появилась в 0.3.13. 13153 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.13.
13154 </para> 13154 </para>
13155 <para lang="en"> 13155 <para lang="en">
13156 in the 304 response the body was transferred; 13156 in the 304 response the body was transferred;
13157 the bug had appeared in 0.3.13. 13157 the bug had appeared in 0.3.13.
13158 </para> 13158 </para>
13163 13163
13164 <changes ver="0.3.13" date="05.12.2005"> 13164 <changes ver="0.3.13" date="05.12.2005">
13165 13165
13166 <change type="feature"> 13166 <change type="feature">
13167 <para lang="ru"> 13167 <para lang="ru">
13168 IMAP/POP3 прокси поддерживает STARTTLS и STLS. 13168 IMAP/POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ STARTTLS п╦ STLS.
13169 </para> 13169 </para>
13170 <para lang="en"> 13170 <para lang="en">
13171 the IMAP/POP3 proxy supports STARTTLS and STLS. 13171 the IMAP/POP3 proxy supports STARTTLS and STLS.
13172 </para> 13172 </para>
13173 </change> 13173 </change>
13174 13174
13175 <change type="bugfix"> 13175 <change type="bugfix">
13176 <para lang="ru"> 13176 <para lang="ru">
13177 IMAP/POP3 прокси не работала с методами select, poll и /dev/poll. 13177 IMAP/POP3 п©я─п╬п╨я│п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ я│ п╪п╣я┌п╬п╢п╟п╪п╦ select, poll п╦ /dev/poll.
13178 </para> 13178 </para>
13179 <para lang="en"> 13179 <para lang="en">
13180 the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. 13180 the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods.
13181 </para> 13181 </para>
13182 </change> 13182 </change>
13183 13183
13184 <change type="bugfix"> 13184 <change type="bugfix">
13185 <para lang="ru"> 13185 <para lang="ru">
13186 ошибки в обработке SSI. 13186 п╬я┬п╦п╠п╨п╦ п╡ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI.
13187 </para> 13187 </para>
13188 <para lang="en"> 13188 <para lang="en">
13189 in SSI handling. 13189 in SSI handling.
13190 </para> 13190 </para>
13191 </change> 13191 </change>
13192 13192
13193 <change type="bugfix"> 13193 <change type="bugfix">
13194 <para lang="ru"> 13194 <para lang="ru">
13195 sendfilev() в Solaris теперь не используется при передаче тела запроса 13195 sendfilev() п╡ Solaris я┌п╣п©п╣я─я▄ п╫п╣ п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п©я─п╦ п©п╣я─п╣п╢п╟я┤п╣ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟
13196 FastCGI-серверу через unix domain сокет. 13196 FastCGI-я│п╣я─п╡п╣я─я┐ я┤п╣я─п╣п╥ unix domain я│п╬п╨п╣я┌.
13197 </para> 13197 </para>
13198 <para lang="en"> 13198 <para lang="en">
13199 now Solaris sendfilev() is not used to transfer the client request body 13199 now Solaris sendfilev() is not used to transfer the client request body
13200 to FastCGI-server via the unix domain socket. 13200 to FastCGI-server via the unix domain socket.
13201 </para> 13201 </para>
13202 </change> 13202 </change>
13203 13203
13204 <change type="bugfix"> 13204 <change type="bugfix">
13205 <para lang="ru"> 13205 <para lang="ru">
13206 директива auth_basic не запрещала аутентификацию; 13206 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_basic п╫п╣ п╥п╟п©я─п╣я┴п╟п╩п╟ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦я▌;
13207 ошибка появилась в 0.3.11. 13207 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.11.
13208 </para> 13208 </para>
13209 <para lang="en"> 13209 <para lang="en">
13210 the "auth_basic" directive did not disable the authorization; 13210 the "auth_basic" directive did not disable the authorization;
13211 the bug had appeared in 0.3.11. 13211 the bug had appeared in 0.3.11.
13212 </para> 13212 </para>
13217 13217
13218 <changes ver="0.3.12" date="26.11.2005"> 13218 <changes ver="0.3.12" date="26.11.2005">
13219 13219
13220 <change type="security"> 13220 <change type="security">
13221 <para lang="ru"> 13221 <para lang="ru">
13222 если nginx был собран с модулем ngx_http_realip_module, то при использовании 13222 п╣я│п╩п╦ nginx п╠я▀п╩ я│п╬п╠я─п╟п╫ я│ п╪п╬п╢я┐п╩п╣п╪ ngx_http_realip_module, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
13223 директивы "satisfy_any on" директивы доступа и аутентификации не работали. 13223 п╢п╦я─п╣п╨я┌п╦п╡я▀ "satisfy_any on" п╢п╦я─п╣п╨я┌п╦п╡я▀ п╢п╬я│я┌я┐п©п╟ п╦ п╟я┐я┌п╣п╫я┌п╦я└п╦п╨п╟я├п╦п╦ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
13224 Модуль ngx_http_realip_module не собирался и не собирается по умолчанию. 13224 п°п╬п╢я┐п╩я▄ ngx_http_realip_module п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╦ п╫п╣ я│п╬п╠п╦я─п╟п╣я┌я│я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
13225 </para> 13225 </para>
13226 <para lang="en"> 13226 <para lang="en">
13227 if nginx was built with the ngx_http_realip_module and the "satisfy_any on" 13227 if nginx was built with the ngx_http_realip_module and the "satisfy_any on"
13228 directive was used, then access and authorization directives did not work. 13228 directive was used, then access and authorization directives did not work.
13229 The ngx_http_realip_module was not built and is not built by default. 13229 The ngx_http_realip_module was not built and is not built by default.
13230 </para> 13230 </para>
13231 </change> 13231 </change>
13232 13232
13233 <change type="change"> 13233 <change type="change">
13234 <para lang="ru"> 13234 <para lang="ru">
13235 имя переменной "$time_gmt" изменено на "$time_local". 13235 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ "$time_gmt" п╦п╥п╪п╣п╫п╣п╫п╬ п╫п╟ "$time_local".
13236 </para> 13236 </para>
13237 <para lang="en"> 13237 <para lang="en">
13238 the "$time_gmt" variable name was changed to "$time_local". 13238 the "$time_gmt" variable name was changed to "$time_local".
13239 </para> 13239 </para>
13240 </change> 13240 </change>
13241 13241
13242 <change type="change"> 13242 <change type="change">
13243 <para lang="ru"> 13243 <para lang="ru">
13244 директивы proxy_header_buffer_size и fastcgi_header_buffer_size 13244 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_header_buffer_size п╦ fastcgi_header_buffer_size
13245 переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size. 13245 п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ п╡ proxy_buffer_size п╦ fastcgi_buffer_size.
13246 </para> 13246 </para>
13247 <para lang="en"> 13247 <para lang="en">
13248 the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives 13248 the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives
13249 was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. 13249 was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives.
13250 </para> 13250 </para>
13251 </change> 13251 </change>
13252 13252
13253 <change type="feature"> 13253 <change type="feature">
13254 <para lang="ru"> 13254 <para lang="ru">
13255 модуль ngx_http_memcached_module. 13255 п╪п╬п╢я┐п╩я▄ ngx_http_memcached_module.
13256 </para> 13256 </para>
13257 <para lang="en"> 13257 <para lang="en">
13258 the ngx_http_memcached_module. 13258 the ngx_http_memcached_module.
13259 </para> 13259 </para>
13260 </change> 13260 </change>
13261 13261
13262 <change type="feature"> 13262 <change type="feature">
13263 <para lang="ru"> 13263 <para lang="ru">
13264 директива proxy_buffering. 13264 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_buffering.
13265 </para> 13265 </para>
13266 <para lang="en"> 13266 <para lang="en">
13267 the "proxy_buffering" directive. 13267 the "proxy_buffering" directive.
13268 </para> 13268 </para>
13269 </change> 13269 </change>
13270 13270
13271 <change type="bugfix"> 13271 <change type="bugfix">
13272 <para lang="ru"> 13272 <para lang="ru">
13273 изменение в работе с accept mutex при использовании метода rtsig; 13273 п╦п╥п╪п╣п╫п╣п╫п╦п╣ п╡ я─п╟п╠п╬я┌п╣ я│ accept mutex п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig;
13274 ошибка появилась в 0.3.0. 13274 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.0.
13275 </para> 13275 </para>
13276 <para lang="en"> 13276 <para lang="en">
13277 the changes in accept mutex handling when the "rtsig" method was used; 13277 the changes in accept mutex handling when the "rtsig" method was used;
13278 the bug had appeared in 0.3.0. 13278 the bug had appeared in 0.3.0.
13279 </para> 13279 </para>
13280 </change> 13280 </change>
13281 13281
13282 <change type="bugfix"> 13282 <change type="bugfix">
13283 <para lang="ru"> 13283 <para lang="ru">
13284 если клиент передал строку "Transfer-Encoding: chunked" в заголовке 13284 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ п©п╣я─п╣п╢п╟п╩ я│я┌я─п╬п╨я┐ "Transfer-Encoding: chunked" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣
13285 запроса, то nginx теперь выдаёт ошибку 411. 13285 п╥п╟п©я─п╬я│п╟, я┌п╬ nginx я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 411.
13286 </para> 13286 </para>
13287 <para lang="en"> 13287 <para lang="en">
13288 if the client sent the "Transfer-Encoding: chunked" header line, then 13288 if the client sent the "Transfer-Encoding: chunked" header line, then
13289 nginx returns the 411 error. 13289 nginx returns the 411 error.
13290 </para> 13290 </para>
13291 </change> 13291 </change>
13292 13292
13293 <change type="bugfix"> 13293 <change type="bugfix">
13294 <para lang="ru"> 13294 <para lang="ru">
13295 при наследовании директивы auth_basic с уровня http в строке 13295 п©я─п╦ п╫п╟я│п╩п╣п╢п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic я│ я┐я─п╬п╡п╫я▐ http п╡ я│я┌я─п╬п╨п╣
13296 "WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm". 13296 "WWW-Authenticate" п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╡я▀п╡п╬п╢п╦п╩я│я▐ realm п╠п╣п╥ я┌п╣п╨я│я┌п╟ "Basic realm".
13297 </para> 13297 </para>
13298 <para lang="en"> 13298 <para lang="en">
13299 if the "auth_basic" directive was inherited from the http level, 13299 if the "auth_basic" directive was inherited from the http level,
13300 then the realm in the "WWW-Authenticate" header line was without 13300 then the realm in the "WWW-Authenticate" header line was without
13301 the "Basic realm" text. 13301 the "Basic realm" text.
13302 </para> 13302 </para>
13303 </change> 13303 </change>
13304 13304
13305 <change type="bugfix"> 13305 <change type="bugfix">
13306 <para lang="ru"> 13306 <para lang="ru">
13307 если в директиве access_log был явно указан формат combined, то в лог 13307 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log п╠я▀п╩ я▐п╡п╫п╬ я┐п╨п╟п╥п╟п╫ я└п╬я─п╪п╟я┌ combined, я┌п╬ п╡ п╩п╬пЁ
13308 записывались пустые строки; 13308 п╥п╟п©п╦я│я▀п╡п╟п╩п╦я│я▄ п©я┐я│я┌я▀п╣ я│я┌я─п╬п╨п╦;
13309 ошибка появилась в 0.3.8. 13309 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.8.
13310 </para> 13310 </para>
13311 <para lang="en"> 13311 <para lang="en">
13312 if the "combined" format was explicitly specified in the "access_log" directive, 13312 if the "combined" format was explicitly specified in the "access_log" directive,
13313 then the empty lines was written to the log; 13313 then the empty lines was written to the log;
13314 the bug had appeared in 0.3.8. 13314 the bug had appeared in 0.3.8.
13315 </para> 13315 </para>
13316 </change> 13316 </change>
13317 13317
13318 <change type="bugfix"> 13318 <change type="bugfix">
13319 <para lang="ru"> 13319 <para lang="ru">
13320 nginx не работал на платформе sparc под любыми OS, кроме Solaris. 13320 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╣ sparc п©п╬п╢ п╩я▌п╠я▀п╪п╦ OS, п╨я─п╬п╪п╣ Solaris.
13321 </para> 13321 </para>
13322 <para lang="en"> 13322 <para lang="en">
13323 nginx did not run on the sparc platform under any OS except Solaris. 13323 nginx did not run on the sparc platform under any OS except Solaris.
13324 </para> 13324 </para>
13325 </change> 13325 </change>
13326 13326
13327 <change type="bugfix"> 13327 <change type="bugfix">
13328 <para lang="ru"> 13328 <para lang="ru">
13329 в директиве if теперь не нужно разделять пробелом строку в кавычках и 13329 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ if я┌п╣п©п╣я─я▄ п╫п╣ п╫я┐п╤п╫п╬ я─п╟п╥п╢п╣п╩я▐я┌я▄ п©я─п╬п╠п╣п╩п╬п╪ я│я┌я─п╬п╨я┐ п╡ п╨п╟п╡я▀я┤п╨п╟я┘ п╦
13330 закрывающую скобку. 13330 п╥п╟п╨я─я▀п╡п╟я▌я┴я┐я▌ я│п╨п╬п╠п╨я┐.
13331 </para> 13331 </para>
13332 <para lang="en"> 13332 <para lang="en">
13333 now it is not necessary to place space between the quoted string and closing 13333 now it is not necessary to place space between the quoted string and closing
13334 bracket in the "if" directive. 13334 bracket in the "if" directive.
13335 </para> 13335 </para>
13340 13340
13341 <changes ver="0.3.11" date="15.11.2005"> 13341 <changes ver="0.3.11" date="15.11.2005">
13342 13342
13343 <change type="bugfix"> 13343 <change type="bugfix">
13344 <para lang="ru"> 13344 <para lang="ru">
13345 nginx не передавал при проксировании тело запроса и строки заголовка клиента; 13345 nginx п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╦ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╨п╩п╦п╣п╫я┌п╟;
13346 ошибка появилась в 0.3.10. 13346 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.10.
13347 </para> 13347 </para>
13348 <para lang="en"> 13348 <para lang="en">
13349 nginx did not pass the client request headers and body while proxying; 13349 nginx did not pass the client request headers and body while proxying;
13350 the bug had appeared in 0.3.10. 13350 the bug had appeared in 0.3.10.
13351 </para> 13351 </para>
13356 13356
13357 <changes ver="0.3.10" date="15.11.2005"> 13357 <changes ver="0.3.10" date="15.11.2005">
13358 13358
13359 <change type="change"> 13359 <change type="change">
13360 <para lang="ru"> 13360 <para lang="ru">
13361 директива valid_referers и переменная $invalid_referer перенесены 13361 п╢п╦я─п╣п╨я┌п╦п╡п╟ valid_referers п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ $invalid_referer п©п╣я─п╣п╫п╣я│п╣п╫я▀
13362 из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module. 13362 п╦п╥ п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡ п╫п╬п╡я▀п╧ п╪п╬п╢я┐п╩я▄ ngx_http_referer_module.
13363 </para> 13363 </para>
13364 <para lang="en"> 13364 <para lang="en">
13365 the "valid_referers" directive and the "$invalid_referer" variable 13365 the "valid_referers" directive and the "$invalid_referer" variable
13366 were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. 13366 were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module.
13367 </para> 13367 </para>
13368 </change> 13368 </change>
13369 13369
13370 <change type="change"> 13370 <change type="change">
13371 <para lang="ru"> 13371 <para lang="ru">
13372 имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent". 13372 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ "$apache_bytes_sent" п╦п╥п╪п╣п╫п╣п╫п╬ п╫п╟ "$body_bytes_sent".
13373 </para> 13373 </para>
13374 <para lang="en"> 13374 <para lang="en">
13375 the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". 13375 the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent".
13376 </para> 13376 </para>
13377 </change> 13377 </change>
13378 13378
13379 <change type="feature"> 13379 <change type="feature">
13380 <para lang="ru"> 13380 <para lang="ru">
13381 переменные "$sent_http_...". 13381 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ "$sent_http_...".
13382 </para> 13382 </para>
13383 <para lang="en"> 13383 <para lang="en">
13384 the "$sent_http_..." variables. 13384 the "$sent_http_..." variables.
13385 </para> 13385 </para>
13386 </change> 13386 </change>
13387 13387
13388 <change type="feature"> 13388 <change type="feature">
13389 <para lang="ru"> 13389 <para lang="ru">
13390 директива if поддерживает операции "=" и "!=". 13390 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╬п©п╣я─п╟я├п╦п╦ "=" п╦ "!=".
13391 </para> 13391 </para>
13392 <para lang="en"> 13392 <para lang="en">
13393 the "if" directive supports the "=" and "!=" operations. 13393 the "if" directive supports the "=" and "!=" operations.
13394 </para> 13394 </para>
13395 </change> 13395 </change>
13396 13396
13397 <change type="feature"> 13397 <change type="feature">
13398 <para lang="ru"> 13398 <para lang="ru">
13399 директива proxy_pass поддерживает протокол HTTPS. 13399 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©я─п╬я┌п╬п╨п╬п╩ HTTPS.
13400 </para> 13400 </para>
13401 <para lang="en"> 13401 <para lang="en">
13402 the "proxy_pass" directive supports the HTTPS protocol. 13402 the "proxy_pass" directive supports the HTTPS protocol.
13403 </para> 13403 </para>
13404 </change> 13404 </change>
13405 13405
13406 <change type="feature"> 13406 <change type="feature">
13407 <para lang="ru"> 13407 <para lang="ru">
13408 директива proxy_set_body. 13408 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_body.
13409 </para> 13409 </para>
13410 <para lang="en"> 13410 <para lang="en">
13411 the "proxy_set_body" directive. 13411 the "proxy_set_body" directive.
13412 </para> 13412 </para>
13413 </change> 13413 </change>
13414 13414
13415 <change type="feature"> 13415 <change type="feature">
13416 <para lang="ru"> 13416 <para lang="ru">
13417 директива post_action. 13417 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_action.
13418 </para> 13418 </para>
13419 <para lang="en"> 13419 <para lang="en">
13420 the "post_action" directive. 13420 the "post_action" directive.
13421 </para> 13421 </para>
13422 </change> 13422 </change>
13423 13423
13424 <change type="feature"> 13424 <change type="feature">
13425 <para lang="ru"> 13425 <para lang="ru">
13426 модуль ngx_http_empty_gif_module. 13426 п╪п╬п╢я┐п╩я▄ ngx_http_empty_gif_module.
13427 </para> 13427 </para>
13428 <para lang="en"> 13428 <para lang="en">
13429 the ngx_http_empty_gif_module. 13429 the ngx_http_empty_gif_module.
13430 </para> 13430 </para>
13431 </change> 13431 </change>
13432 13432
13433 <change type="feature"> 13433 <change type="feature">
13434 <para lang="ru"> 13434 <para lang="ru">
13435 директива worker_cpu_affinity для Linux. 13435 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_cpu_affinity п╢п╩я▐ Linux.
13436 </para> 13436 </para>
13437 <para lang="en"> 13437 <para lang="en">
13438 the "worker_cpu_affinity" directive for Linux. 13438 the "worker_cpu_affinity" directive for Linux.
13439 </para> 13439 </para>
13440 </change> 13440 </change>
13441 13441
13442 <change type="bugfix"> 13442 <change type="bugfix">
13443 <para lang="ru"> 13443 <para lang="ru">
13444 директива rewrite не раскодировала символы в редиректах в URI, 13444 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣ я─п╟я│п╨п╬п╢п╦я─п╬п╡п╟п╩п╟ я│п╦п╪п╡п╬п╩я▀ п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘ п╡ URI,
13445 теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF. 13445 я┌п╣п©п╣я─я▄ я│п╦п╪п╡п╬п╩я▀ я─п╟я│п╨п╬п╢п╦я─я┐я▌я┌я│я▐, п╨я─п╬п╪п╣ я│п╦п╪п╡п╬п╩п╬п╡ %00-%25 п╦ %7F-%FF.
13446 </para> 13446 </para>
13447 <para lang="en"> 13447 <para lang="en">
13448 the "rewrite" directive did not unescape URI part in redirect, 13448 the "rewrite" directive did not unescape URI part in redirect,
13449 now it is unescaped except the %00-%25 and %7F-%FF characters. 13449 now it is unescaped except the %00-%25 and %7F-%FF characters.
13450 </para> 13450 </para>
13451 </change> 13451 </change>
13452 13452
13453 <change type="bugfix"> 13453 <change type="bugfix">
13454 <para lang="ru"> 13454 <para lang="ru">
13455 nginx не собирался компилятором icc 9.0. 13455 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ icc 9.0.
13456 </para> 13456 </para>
13457 <para lang="en"> 13457 <para lang="en">
13458 nginx could not be built by the icc 9.0 compiler. 13458 nginx could not be built by the icc 9.0 compiler.
13459 </para> 13459 </para>
13460 </change> 13460 </change>
13461 13461
13462 <change type="bugfix"> 13462 <change type="bugfix">
13463 <para lang="ru"> 13463 <para lang="ru">
13464 если для статического файла нулевого размера был разрешён SSI, 13464 п╣я│п╩п╦ п╢п╩я▐ я│я┌п╟я┌п╦я┤п╣я│п╨п╬пЁп╬ я└п╟п╧п╩п╟ п╫я┐п╩п╣п╡п╬пЁп╬ я─п╟п╥п╪п╣я─п╟ п╠я▀п╩ я─п╟п╥я─п╣я┬я▒п╫ SSI,
13465 то ответ передавался неверно при кодировании chunk'ами. 13465 я┌п╬ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣п╡п╣я─п╫п╬ п©я─п╦ п╨п╬п╢п╦я─п╬п╡п╟п╫п╦п╦ chunk'п╟п╪п╦.
13466 </para> 13466 </para>
13467 <para lang="en"> 13467 <para lang="en">
13468 if the SSI was enabled for zero size static file, then the chunked 13468 if the SSI was enabled for zero size static file, then the chunked
13469 response was encoded incorrectly. 13469 response was encoded incorrectly.
13470 </para> 13470 </para>
13475 13475
13476 <changes ver="0.3.9" date="10.11.2005"> 13476 <changes ver="0.3.9" date="10.11.2005">
13477 13477
13478 <change type="bugfix"> 13478 <change type="bugfix">
13479 <para lang="ru"> 13479 <para lang="ru">
13480 nginx считал небезопасными URI, в которых между двумя слэшами 13480 nginx я│я┤п╦я┌п╟п╩ п╫п╣п╠п╣п╥п╬п©п╟я│п╫я▀п╪п╦ URI, п╡ п╨п╬я┌п╬я─я▀я┘ п╪п╣п╤п╢я┐ п╢п╡я┐п╪я▐ я│п╩я█я┬п╟п╪п╦
13481 находилось два любых символа; 13481 п╫п╟я┘п╬п╢п╦п╩п╬я│я▄ п╢п╡п╟ п╩я▌п╠я▀я┘ я│п╦п╪п╡п╬п╩п╟;
13482 ошибка появилась в 0.3.8. 13482 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.8.
13483 </para> 13483 </para>
13484 <para lang="en"> 13484 <para lang="en">
13485 nginx considered URI as unsafe if two any symbols was between two slashes; 13485 nginx considered URI as unsafe if two any symbols was between two slashes;
13486 the bug had appeared in 0.3.8. 13486 the bug had appeared in 0.3.8.
13487 </para> 13487 </para>
13492 13492
13493 <changes ver="0.3.8" date="09.11.2005"> 13493 <changes ver="0.3.8" date="09.11.2005">
13494 13494
13495 <change type="security"> 13495 <change type="security">
13496 <para lang="ru"> 13496 <para lang="ru">
13497 nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect" 13497 nginx я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐я┌ URI, п©п╬п╩я┐я┤п╣п╫п╫я▀п╣ п╬я┌ п╠я█п╨п╣п╫п╢п╟ п╡ я│я┌я─п╬п╨п╣ "X-Accel-Redirect"
13498 в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей. 13498 п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟, п╦п╩п╦ п╡ SSI я└п╟п╧п╩п╣ п╫п╟ п╫п╟п╩п╦я┤п╦п╣ п©я┐я┌п╣п╧ "/../" п╦ п╫я┐п╩п╣п╧.
13499 </para> 13499 </para>
13500 <para lang="en"> 13500 <para lang="en">
13501 nginx now checks URI got from a backend in "X-Accel-Redirect" header line 13501 nginx now checks URI got from a backend in "X-Accel-Redirect" header line
13502 or in SSI file for the "/../" paths and zeroes. 13502 or in SSI file for the "/../" paths and zeroes.
13503 </para> 13503 </para>
13504 </change> 13504 </change>
13505 13505
13506 <change type="change"> 13506 <change type="change">
13507 <para lang="ru"> 13507 <para lang="ru">
13508 nginx теперь не воспринимает пустое имя как правильное 13508 nginx я┌п╣п©п╣я─я▄ п╫п╣ п╡п╬я│п©я─п╦п╫п╦п╪п╟п╣я┌ п©я┐я│я┌п╬п╣ п╦п╪я▐ п╨п╟п╨ п©я─п╟п╡п╦п╩я▄п╫п╬п╣
13509 в строке "Authorization" в заголовке запроса. 13509 п╡ я│я┌я─п╬п╨п╣ "Authorization" п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╟.
13510 </para> 13510 </para>
13511 <para lang="en"> 13511 <para lang="en">
13512 nginx now does not treat the empty user name in the "Authorization" header 13512 nginx now does not treat the empty user name in the "Authorization" header
13513 line as valid one. 13513 line as valid one.
13514 </para> 13514 </para>
13515 </change> 13515 </change>
13516 13516
13517 <change type="feature"> 13517 <change type="feature">
13518 <para lang="ru"> 13518 <para lang="ru">
13519 директива ssl_session_timeout модулей 13519 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_session_timeout п╪п╬п╢я┐п╩п╣п╧
13520 ngx_http_ssl_module и ngx_imap_ssl_module. 13520 ngx_http_ssl_module п╦ ngx_imap_ssl_module.
13521 </para> 13521 </para>
13522 <para lang="en"> 13522 <para lang="en">
13523 the "ssl_session_timeout" directives 13523 the "ssl_session_timeout" directives
13524 of the ngx_http_ssl_module and ngx_imap_ssl_module. 13524 of the ngx_http_ssl_module and ngx_imap_ssl_module.
13525 </para> 13525 </para>
13526 </change> 13526 </change>
13527 13527
13528 <change type="feature"> 13528 <change type="feature">
13529 <para lang="ru"> 13529 <para lang="ru">
13530 директива auth_http_header модуля ngx_imap_auth_http_module. 13530 п╢п╦я─п╣п╨я┌п╦п╡п╟ auth_http_header п╪п╬п╢я┐п╩я▐ ngx_imap_auth_http_module.
13531 </para> 13531 </para>
13532 <para lang="en"> 13532 <para lang="en">
13533 the "auth_http_header" directive of the ngx_imap_auth_http_module. 13533 the "auth_http_header" directive of the ngx_imap_auth_http_module.
13534 </para> 13534 </para>
13535 </change> 13535 </change>
13536 13536
13537 <change type="feature"> 13537 <change type="feature">
13538 <para lang="ru"> 13538 <para lang="ru">
13539 директива add_header. 13539 п╢п╦я─п╣п╨я┌п╦п╡п╟ add_header.
13540 </para> 13540 </para>
13541 <para lang="en"> 13541 <para lang="en">
13542 the "add_header" directive. 13542 the "add_header" directive.
13543 </para> 13543 </para>
13544 </change> 13544 </change>
13545 13545
13546 <change type="feature"> 13546 <change type="feature">
13547 <para lang="ru"> 13547 <para lang="ru">
13548 модуль ngx_http_realip_module. 13548 п╪п╬п╢я┐п╩я▄ ngx_http_realip_module.
13549 </para> 13549 </para>
13550 <para lang="en"> 13550 <para lang="en">
13551 the ngx_http_realip_module. 13551 the ngx_http_realip_module.
13552 </para> 13552 </para>
13553 </change> 13553 </change>
13554 13554
13555 <change type="feature"> 13555 <change type="feature">
13556 <para lang="ru"> 13556 <para lang="ru">
13557 новые переменные для использования в директиве log_format: 13557 п╫п╬п╡я▀п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╢п╩я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ log_format:
13558 $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 13558 $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
13559 $uri, $request_time, $request_length, 13559 $uri, $request_time, $request_length,
13560 $upstream_status, $upstream_response_time, 13560 $upstream_status, $upstream_response_time,
13561 $gzip_ratio, 13561 $gzip_ratio,
13562 $uid_got, $uid_set, 13562 $uid_got, $uid_set,
13563 $connection, $pipe и $msec. 13563 $connection, $pipe п╦ $msec.
13564 Параметры в виде "%name" скоро будут упразднены. 13564 п÷п╟я─п╟п╪п╣я┌я─я▀ п╡ п╡п╦п╢п╣ "%name" я│п╨п╬я─п╬ п╠я┐п╢я┐я┌ я┐п©я─п╟п╥п╢п╫п╣п╫я▀.
13565 </para> 13565 </para>
13566 <para lang="en"> 13566 <para lang="en">
13567 the new variables to use in the "log_format" directive: 13567 the new variables to use in the "log_format" directive:
13568 $bytes_sent, $apache_bytes_sent, $status, $time_gmt, 13568 $bytes_sent, $apache_bytes_sent, $status, $time_gmt,
13569 $uri, $request_time, $request_length, 13569 $uri, $request_time, $request_length,
13575 </para> 13575 </para>
13576 </change> 13576 </change>
13577 13577
13578 <change type="change"> 13578 <change type="change">
13579 <para lang="ru"> 13579 <para lang="ru">
13580 в директиве "if" ложными значениями переменных теперь являются 13580 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ "if" п╩п╬п╤п╫я▀п╪п╦ п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦ п©п╣я─п╣п╪п╣п╫п╫я▀я┘ я┌п╣п©п╣я─я▄ я▐п╡п╩я▐я▌я┌я│я▐
13581 пустая строка "" и строки, начинающиеся на "0". 13581 п©я┐я│я┌п╟я▐ я│я┌я─п╬п╨п╟ "" п╦ я│я┌я─п╬п╨п╦, п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ п╫п╟ "0".
13582 </para> 13582 </para>
13583 <para lang="en"> 13583 <para lang="en">
13584 now the false variable values in the "if" directive are the empty string "" 13584 now the false variable values in the "if" directive are the empty string ""
13585 and string starting with "0". 13585 and string starting with "0".
13586 </para> 13586 </para>
13587 </change> 13587 </change>
13588 13588
13589 <change type="bugfix"> 13589 <change type="bugfix">
13590 <para lang="ru"> 13590 <para lang="ru">
13591 при работает с проксированными или FastCGI-серверами nginx мог оставлять 13591 п©я─п╦ я─п╟п╠п╬я┌п╟п╣я┌ я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─п╟п╪п╦ nginx п╪п╬пЁ п╬я│я┌п╟п╡п╩я▐я┌я▄
13592 открытыми соединения и временные файлы с запросами клиентов. 13592 п╬я┌п╨я─я▀я┌я▀п╪п╦ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╦ п╡я─п╣п╪п╣п╫п╫я▀п╣ я└п╟п╧п╩я▀ я│ п╥п╟п©я─п╬я│п╟п╪п╦ п╨п╩п╦п╣п╫я┌п╬п╡.
13593 </para> 13593 </para>
13594 <para lang="en"> 13594 <para lang="en">
13595 while using proxied or FastCGI-server nginx may leave connections 13595 while using proxied or FastCGI-server nginx may leave connections
13596 and temporary files with client requests in open state. 13596 and temporary files with client requests in open state.
13597 </para> 13597 </para>
13598 </change> 13598 </change>
13599 13599
13600 <change type="bugfix"> 13600 <change type="bugfix">
13601 <para lang="ru"> 13601 <para lang="ru">
13602 рабочие процессы не сбрасывали буферизированные логи при плавном выходе. 13602 я─п╟п╠п╬я┤п╦п╣ п©я─п╬я├п╣я│я│я▀ п╫п╣ я│п╠я─п╟я│я▀п╡п╟п╩п╦ п╠я┐я└п╣я─п╦п╥п╦я─п╬п╡п╟п╫п╫я▀п╣ п╩п╬пЁп╦ п©я─п╦ п©п╩п╟п╡п╫п╬п╪ п╡я▀я┘п╬п╢п╣.
13603 </para> 13603 </para>
13604 <para lang="en"> 13604 <para lang="en">
13605 the worker processes did not flush the buffered logs on graceful exit. 13605 the worker processes did not flush the buffered logs on graceful exit.
13606 </para> 13606 </para>
13607 </change> 13607 </change>
13608 13608
13609 <change type="bugfix"> 13609 <change type="bugfix">
13610 <para lang="ru"> 13610 <para lang="ru">
13611 если URI запроса изменялось с помощью rewrite, а затем запрос проксировался 13611 п╣я│п╩п╦ URI п╥п╟п©я─п╬я│п╟ п╦п╥п╪п╣п╫я▐п╩п╬я│я▄ я│ п©п╬п╪п╬я┴я▄я▌ rewrite, п╟ п╥п╟я┌п╣п╪ п╥п╟п©я─п╬я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╩я│я▐
13612 в location, заданном регулярным выражением, то бэкенду передавался 13612 п╡ location, п╥п╟п╢п╟п╫п╫п╬п╪ я─п╣пЁя┐п╩я▐я─п╫я▀п╪ п╡я▀я─п╟п╤п╣п╫п╦п╣п╪, я┌п╬ п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐
13613 неверный запрос; 13613 п╫п╣п╡п╣я─п╫я▀п╧ п╥п╟п©я─п╬я│;
13614 ошибка появилась в 0.2.6. 13614 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.6.
13615 </para> 13615 </para>
13616 <para lang="en"> 13616 <para lang="en">
13617 if the request URI was changes by the "rewrite" directive and the request 13617 if the request URI was changes by the "rewrite" directive and the request
13618 was proxied in location given by regular expression, then the incorrect 13618 was proxied in location given by regular expression, then the incorrect
13619 request was transferred to backend; 13619 request was transferred to backend;
13621 </para> 13621 </para>
13622 </change> 13622 </change>
13623 13623
13624 <change type="bugfix"> 13624 <change type="bugfix">
13625 <para lang="ru"> 13625 <para lang="ru">
13626 директива expires не удаляла уже установленную строку заголовка "Expires". 13626 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п╫п╣ я┐п╢п╟п╩я▐п╩п╟ я┐п╤п╣ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Expires".
13627 </para> 13627 </para>
13628 <para lang="en"> 13628 <para lang="en">
13629 the "expires" directive did not remove the previous "Expires" header. 13629 the "expires" directive did not remove the previous "Expires" header.
13630 </para> 13630 </para>
13631 </change> 13631 </change>
13632 13632
13633 <change type="bugfix"> 13633 <change type="bugfix">
13634 <para lang="ru"> 13634 <para lang="ru">
13635 при использовании метода rtsig и нескольких рабочих процессах nginx 13635 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ я─п╟п╠п╬я┤п╦я┘ п©я─п╬я├п╣я│я│п╟я┘ nginx
13636 мог перестать принимать запросы. 13636 п╪п╬пЁ п©п╣я─п╣я│я┌п╟я┌я▄ п©я─п╦п╫п╦п╪п╟я┌я▄ п╥п╟п©я─п╬я│я▀.
13637 </para> 13637 </para>
13638 <para lang="en"> 13638 <para lang="en">
13639 nginx may stop to accept requests if the "rtsig" method and several worker 13639 nginx may stop to accept requests if the "rtsig" method and several worker
13640 processes were used. 13640 processes were used.
13641 </para> 13641 </para>
13642 </change> 13642 </change>
13643 13643
13644 <change type="bugfix"> 13644 <change type="bugfix">
13645 <para lang="ru"> 13645 <para lang="ru">
13646 в SSI командах неверно обрабатывались строки "\"" и "\'". 13646 п╡ SSI п╨п╬п╪п╟п╫п╢п╟я┘ п╫п╣п╡п╣я─п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ я│я┌я─п╬п╨п╦ "\"" п╦ "\'".
13647 </para> 13647 </para>
13648 <para lang="en"> 13648 <para lang="en">
13649 the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. 13649 the "\"" and "\'" escape symbols were incorrectly handled in SSI commands.
13650 </para> 13650 </para>
13651 </change> 13651 </change>
13652 13652
13653 <change type="bugfix"> 13653 <change type="bugfix">
13654 <para lang="ru"> 13654 <para lang="ru">
13655 если ответ заканчивался сразу же после SSI команды, то при использовании 13655 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п╥п╟п╨п╟п╫я┤п╦п╡п╟п╩я│я▐ я│я─п╟п╥я┐ п╤п╣ п©п╬я│п╩п╣ SSI п╨п╬п╪п╟п╫п╢я▀, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦
13656 сжатия ответ передавался не до конца или не передавался вообще. 13656 я│п╤п╟я┌п╦я▐ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟ п╦п╩п╦ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╡п╬п╬п╠я┴п╣.
13657 </para> 13657 </para>
13658 <para lang="en"> 13658 <para lang="en">
13659 if the response was ended just after the SSI command and gzipping was used, 13659 if the response was ended just after the SSI command and gzipping was used,
13660 then the response did not transferred complete or did not transferred at all. 13660 then the response did not transferred complete or did not transferred at all.
13661 </para> 13661 </para>
13666 13666
13667 <changes ver="0.3.7" date="27.10.2005"> 13667 <changes ver="0.3.7" date="27.10.2005">
13668 13668
13669 <change type="feature"> 13669 <change type="feature">
13670 <para lang="ru"> 13670 <para lang="ru">
13671 директива access_log поддерживает параметр buffer=. 13671 п╢п╦я─п╣п╨я┌п╦п╡п╟ access_log п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ buffer=.
13672 </para> 13672 </para>
13673 <para lang="en"> 13673 <para lang="en">
13674 the "access_log" supports the "buffer=" parameter. 13674 the "access_log" supports the "buffer=" parameter.
13675 </para> 13675 </para>
13676 </change> 13676 </change>
13677 13677
13678 <change type="bugfix"> 13678 <change type="bugfix">
13679 <para lang="ru"> 13679 <para lang="ru">
13680 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 13680 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
13681 ошибка появилась в 0.3.2. 13681 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.2.
13682 </para> 13682 </para>
13683 <para lang="en"> 13683 <para lang="en">
13684 nginx could not be built on platforms different from i386, amd64, sparc, 13684 nginx could not be built on platforms different from i386, amd64, sparc,
13685 and ppc; 13685 and ppc;
13686 the bug had appeared in 0.3.2. 13686 the bug had appeared in 0.3.2.
13692 13692
13693 <changes ver="0.3.6" date="24.10.2005"> 13693 <changes ver="0.3.6" date="24.10.2005">
13694 13694
13695 <change type="change"> 13695 <change type="change">
13696 <para lang="ru"> 13696 <para lang="ru">
13697 IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин. 13697 IMAP/POP3 п©я─п╬п╨я│п╦ я┌п╣п©п╣я─я▄ п╫п╣ п©п╣я─п╣п╢п╟я▒я┌ я│п╣я─п╡п╣я─я┐ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦ п©я┐я│я┌п╬п╧ п╩п╬пЁп╦п╫.
13698 </para> 13698 </para>
13699 <para lang="en"> 13699 <para lang="en">
13700 now the IMAP/POP3 proxy do not send the empty login to authorization server. 13700 now the IMAP/POP3 proxy do not send the empty login to authorization server.
13701 </para> 13701 </para>
13702 </change> 13702 </change>
13703 13703
13704 <change type="feature"> 13704 <change type="feature">
13705 <para lang="ru"> 13705 <para lang="ru">
13706 директива log_format поддерживает переменные в виде $name. 13706 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_format п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╡ п╡п╦п╢п╣ $name.
13707 </para> 13707 </para>
13708 <para lang="en"> 13708 <para lang="en">
13709 the "log_format" supports the variables in the $name form. 13709 the "log_format" supports the variables in the $name form.
13710 </para> 13710 </para>
13711 </change> 13711 </change>
13712 13712
13713 <change type="bugfix"> 13713 <change type="bugfix">
13714 <para lang="ru"> 13714 <para lang="ru">
13715 если хотя бы в одном сервере не было описано ни одной директивы listen, то 13715 п╣я│п╩п╦ я┘п╬я┌я▐ п╠я▀ п╡ п╬п╢п╫п╬п╪ я│п╣я─п╡п╣я─п╣ п╫п╣ п╠я▀п╩п╬ п╬п©п╦я│п╟п╫п╬ п╫п╦ п╬п╢п╫п╬п╧ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen, я┌п╬
13716 nginx не слушал на 80 порту; 13716 nginx п╫п╣ я│п╩я┐я┬п╟п╩ п╫п╟ 80 п©п╬я─я┌я┐;
13717 ошибка появилась в 0.3.3. 13717 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
13718 </para> 13718 </para>
13719 <para lang="en"> 13719 <para lang="en">
13720 if at least in one server was no the "listen" directive, then nginx did not 13720 if at least in one server was no the "listen" directive, then nginx did not
13721 listen on the 80 port; 13721 listen on the 80 port;
13722 the bug had appeared in 0.3.3. 13722 the bug had appeared in 0.3.3.
13723 </para> 13723 </para>
13724 </change> 13724 </change>
13725 13725
13726 <change type="bugfix"> 13726 <change type="bugfix">
13727 <para lang="ru"> 13727 <para lang="ru">
13728 если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80. 13728 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡п╬п╡п╟п╩ URI, я┌п╬ п╡я│п╣пЁп╢п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐ п©п╬я─я┌ 80.
13729 </para> 13729 </para>
13730 <para lang="en"> 13730 <para lang="en">
13731 if the URI part is omitted in "proxy_pass" directive, the the 80 port was 13731 if the URI part is omitted in "proxy_pass" directive, the the 80 port was
13732 always used. 13732 always used.
13733 </para> 13733 </para>
13738 13738
13739 <changes ver="0.3.5" date="21.10.2005"> 13739 <changes ver="0.3.5" date="21.10.2005">
13740 13740
13741 <change type="bugfix"> 13741 <change type="bugfix">
13742 <para lang="ru"> 13742 <para lang="ru">
13743 если логин IMAP/POP3 менялся сервером авторизации, то мог произойти 13743 п╣я│п╩п╦ п╩п╬пЁп╦п╫ IMAP/POP3 п╪п╣п╫я▐п╩я│я▐ я│п╣я─п╡п╣я─п╬п╪ п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦, я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦
13744 segmentation fault; 13744 segmentation fault;
13745 ошибка появилась в 0.2.2. 13745 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
13746 </para> 13746 </para>
13747 <para lang="en"> 13747 <para lang="en">
13748 the segmentation fault may occurred if the IMAP/POP3 login was changed 13748 the segmentation fault may occurred if the IMAP/POP3 login was changed
13749 by authorization server; 13749 by authorization server;
13750 the bug had appeared in 0.2.2. 13750 the bug had appeared in 0.2.2.
13751 </para> 13751 </para>
13752 </change> 13752 </change>
13753 13753
13754 <change type="bugfix"> 13754 <change type="bugfix">
13755 <para lang="ru"> 13755 <para lang="ru">
13756 accept mutex не работал, все соединения обрабатывались одним рабочим процессом; 13756 accept mutex п╫п╣ я─п╟п╠п╬я┌п╟п╩, п╡я│п╣ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩п╦я│я▄ п╬п╢п╫п╦п╪ я─п╟п╠п╬я┤п╦п╪ п©я─п╬я├п╣я│я│п╬п╪;
13757 ошибка появилась в 0.3.3. 13757 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
13758 </para> 13758 </para>
13759 <para lang="en"> 13759 <para lang="en">
13760 the accept mutex did not work and all connections were handled by one process; 13760 the accept mutex did not work and all connections were handled by one process;
13761 the bug had appeared in 0.3.3. 13761 the bug had appeared in 0.3.3.
13762 </para> 13762 </para>
13763 </change> 13763 </change>
13764 13764
13765 <change type="bugfix"> 13765 <change type="bugfix">
13766 <para lang="ru"> 13766 <para lang="ru">
13767 при использовании метода rtsig и директивы timer_resolution 13767 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ timer_resolution
13768 не работали таймауты. 13768 п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦ я┌п╟п╧п╪п╟я┐я┌я▀.
13769 </para> 13769 </para>
13770 <para lang="en"> 13770 <para lang="en">
13771 the timeout did not work if the "rtsig" method and the "timer_resolution" 13771 the timeout did not work if the "rtsig" method and the "timer_resolution"
13772 directive were used. 13772 directive were used.
13773 </para> 13773 </para>
13778 13778
13779 <changes ver="0.3.4" date="19.10.2005"> 13779 <changes ver="0.3.4" date="19.10.2005">
13780 13780
13781 <change type="bugfix"> 13781 <change type="bugfix">
13782 <para lang="ru"> 13782 <para lang="ru">
13783 nginx не собирался на Linux 2.4+ и MacOS X; 13783 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ Linux 2.4+ п╦ MacOS X;
13784 ошибка появилась в 0.3.3. 13784 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.3.
13785 </para> 13785 </para>
13786 <para lang="en"> 13786 <para lang="en">
13787 nginx could not be built on Linux 2.4+ and MacOS X; 13787 nginx could not be built on Linux 2.4+ and MacOS X;
13788 the bug had appeared in 0.3.3. 13788 the bug had appeared in 0.3.3.
13789 </para> 13789 </para>
13794 13794
13795 <changes ver="0.3.3" date="19.10.2005"> 13795 <changes ver="0.3.3" date="19.10.2005">
13796 13796
13797 <change type="change"> 13797 <change type="change">
13798 <para lang="ru"> 13798 <para lang="ru">
13799 параметры "bl" и "af" директивы listen переименованы в "backlog" 13799 п©п╟я─п╟п╪п╣я┌я─я▀ "bl" п╦ "af" п╢п╦я─п╣п╨я┌п╦п╡я▀ listen п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫я▀ п╡ "backlog"
13800 и "accept_filter". 13800 п╦ "accept_filter".
13801 </para> 13801 </para>
13802 <para lang="en"> 13802 <para lang="en">
13803 the "bl" and "af" parameters of the "listen" directive was renamed to 13803 the "bl" and "af" parameters of the "listen" directive was renamed to
13804 the "backlog" and "accept_filter". 13804 the "backlog" and "accept_filter".
13805 </para> 13805 </para>
13806 </change> 13806 </change>
13807 13807
13808 <change type="feature"> 13808 <change type="feature">
13809 <para lang="ru"> 13809 <para lang="ru">
13810 параметры "rcvbuf" и "sndbuf" в директиве listen. 13810 п©п╟я─п╟п╪п╣я┌я─я▀ "rcvbuf" п╦ "sndbuf" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
13811 </para> 13811 </para>
13812 <para lang="en"> 13812 <para lang="en">
13813 the "rcvbuf" and "sndbuf" parameters of the "listen" directive. 13813 the "rcvbuf" and "sndbuf" parameters of the "listen" directive.
13814 </para> 13814 </para>
13815 </change> 13815 </change>
13816 13816
13817 <change type="change"> 13817 <change type="change">
13818 <para lang="ru"> 13818 <para lang="ru">
13819 параметр лога $msec теперь не требует дополнительного системного 13819 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ $msec я┌п╣п©п╣я─я▄ п╫п╣ я┌я─п╣п╠я┐п╣я┌ п╢п╬п©п╬п╩п╫п╦я┌п╣п╩я▄п╫п╬пЁп╬ я│п╦я│я┌п╣п╪п╫п╬пЁп╬
13820 вызова gettimeofday(). 13820 п╡я▀п╥п╬п╡п╟ gettimeofday().
13821 </para> 13821 </para>
13822 <para lang="en"> 13822 <para lang="en">
13823 the "$msec" log parameter does not require now the additional 13823 the "$msec" log parameter does not require now the additional
13824 the gettimeofday() system call. 13824 the gettimeofday() system call.
13825 </para> 13825 </para>
13826 </change> 13826 </change>
13827 13827
13828 <change type="feature"> 13828 <change type="feature">
13829 <para lang="ru"> 13829 <para lang="ru">
13830 ключ -t теперь проверяет директивы listen. 13830 п╨п╩я▌я┤ -t я┌п╣п©п╣я─я▄ п©я─п╬п╡п╣я─я▐п╣я┌ п╢п╦я─п╣п╨я┌п╦п╡я▀ listen.
13831 </para> 13831 </para>
13832 <para lang="en"> 13832 <para lang="en">
13833 the -t switch now tests the "listen" directives. 13833 the -t switch now tests the "listen" directives.
13834 </para> 13834 </para>
13835 </change> 13835 </change>
13836 13836
13837 <change type="bugfix"> 13837 <change type="bugfix">
13838 <para lang="ru"> 13838 <para lang="ru">
13839 если в директиве listen был указан неверный адрес, то nginx после 13839 п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╫п╣п╡п╣я─п╫я▀п╧ п╟п╢я─п╣я│, я┌п╬ nginx п©п╬я│п╩п╣
13840 сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 13840 я│п╦пЁп╫п╟п╩п╟ -HUP п╬я│я┌п╟п╡п╩я▐п╩ п╬я┌п╨я─я▀я┌я▀п╧ я│п╬п╨п╣я┌ п╡ я│п╬я│я┌п╬я▐п╫п╦п╦ CLOSED.
13841 </para> 13841 </para>
13842 <para lang="en"> 13842 <para lang="en">
13843 if the invalid address was specified in the "listen" directive, then 13843 if the invalid address was specified in the "listen" directive, then
13844 after the -HUP signal nginx left an open socket in the CLOSED state. 13844 after the -HUP signal nginx left an open socket in the CLOSED state.
13845 </para> 13845 </para>
13846 </change> 13846 </change>
13847 13847
13848 <change type="bugfix"> 13848 <change type="bugfix">
13849 <para lang="ru"> 13849 <para lang="ru">
13850 для индексных файлов, содержащих в имени переменную, мог неверно выставляться 13850 п╢п╩я▐ п╦п╫п╢п╣п╨я│п╫я▀я┘ я└п╟п╧п╩п╬п╡, я│п╬п╢п╣я─п╤п╟я┴п╦я┘ п╡ п╦п╪п╣п╫п╦ п©п╣я─п╣п╪п╣п╫п╫я┐я▌, п╪п╬пЁ п╫п╣п╡п╣я─п╫п╬ п╡я▀я│я┌п╟п╡п╩я▐я┌я▄я│я▐
13851 тип mime по умолчанию; 13851 я┌п╦п© mime п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌;
13852 ошибка появилась в 0.3.0. 13852 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.3.0.
13853 </para> 13853 </para>
13854 <para lang="en"> 13854 <para lang="en">
13855 the mime type may be incorrectly set to default value for index file with 13855 the mime type may be incorrectly set to default value for index file with
13856 variable in the name; 13856 variable in the name;
13857 the bug had appeared in 0.3.0. 13857 the bug had appeared in 0.3.0.
13858 </para> 13858 </para>
13859 </change> 13859 </change>
13860 13860
13861 <change type="feature"> 13861 <change type="feature">
13862 <para lang="ru"> 13862 <para lang="ru">
13863 директива timer_resolution. 13863 п╢п╦я─п╣п╨я┌п╦п╡п╟ timer_resolution.
13864 </para> 13864 </para>
13865 <para lang="en"> 13865 <para lang="en">
13866 the "timer_resolution" directive. 13866 the "timer_resolution" directive.
13867 </para> 13867 </para>
13868 </change> 13868 </change>
13869 13869
13870 <change type="feature"> 13870 <change type="feature">
13871 <para lang="ru"> 13871 <para lang="ru">
13872 параметр лога $upstream_response_time в миллисекундах. 13872 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ $upstream_response_time п╡ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╟я┘.
13873 </para> 13873 </para>
13874 <para lang="en"> 13874 <para lang="en">
13875 the millisecond "$upstream_response_time" log parameter. 13875 the millisecond "$upstream_response_time" log parameter.
13876 </para> 13876 </para>
13877 </change> 13877 </change>
13878 13878
13879 <change type="bugfix"> 13879 <change type="bugfix">
13880 <para lang="ru"> 13880 <para lang="ru">
13881 временный файл с телом запроса клиента теперь удаляется сразу после того, 13881 п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩ я│ я┌п╣п╩п╬п╪ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ я┌п╣п©п╣я─я▄ я┐п╢п╟п╩я▐п╣я┌я│я▐ я│я─п╟п╥я┐ п©п╬я│п╩п╣ я┌п╬пЁп╬,
13882 как клиенту передан заголовок ответа. 13882 п╨п╟п╨ п╨п╩п╦п╣п╫я┌я┐ п©п╣я─п╣п╢п╟п╫ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟.
13883 </para> 13883 </para>
13884 <para lang="en"> 13884 <para lang="en">
13885 a temporary file with client request body now is removed just after 13885 a temporary file with client request body now is removed just after
13886 the response header was transferred to a client. 13886 the response header was transferred to a client.
13887 </para> 13887 </para>
13888 </change> 13888 </change>
13889 13889
13890 <change type="bugfix"> 13890 <change type="bugfix">
13891 <para lang="ru"> 13891 <para lang="ru">
13892 совместимость с OpenSSL 0.9.6. 13892 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ OpenSSL 0.9.6.
13893 </para> 13893 </para>
13894 <para lang="en"> 13894 <para lang="en">
13895 OpenSSL 0.9.6 compatibility. 13895 OpenSSL 0.9.6 compatibility.
13896 </para> 13896 </para>
13897 </change> 13897 </change>
13898 13898
13899 <change type="bugfix"> 13899 <change type="bugfix">
13900 <para lang="ru"> 13900 <para lang="ru">
13901 пути к файлам с SSL сертификатом и ключом не могли быть относительными. 13901 п©я┐я┌п╦ п╨ я└п╟п╧п╩п╟п╪ я│ SSL я│п╣я─я┌п╦я└п╦п╨п╟я┌п╬п╪ п╦ п╨п╩я▌я┤п╬п╪ п╫п╣ п╪п╬пЁп╩п╦ п╠я▀я┌я▄ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╪п╦.
13902 </para> 13902 </para>
13903 <para lang="en"> 13903 <para lang="en">
13904 the SSL certificate and key file paths could not be relative. 13904 the SSL certificate and key file paths could not be relative.
13905 </para> 13905 </para>
13906 </change> 13906 </change>
13907 13907
13908 <change type="bugfix"> 13908 <change type="bugfix">
13909 <para lang="ru"> 13909 <para lang="ru">
13910 директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module. 13910 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_prefer_server_ciphers п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╢п╩я▐ п╪п╬п╢я┐п╩я▐ ngx_imap_ssl_module.
13911 </para> 13911 </para>
13912 <para lang="en"> 13912 <para lang="en">
13913 the "ssl_prefer_server_ciphers" directive did not work in 13913 the "ssl_prefer_server_ciphers" directive did not work in
13914 the ngx_imap_ssl_module. 13914 the ngx_imap_ssl_module.
13915 </para> 13915 </para>
13916 </change> 13916 </change>
13917 13917
13918 <change type="bugfix"> 13918 <change type="bugfix">
13919 <para lang="ru"> 13919 <para lang="ru">
13920 директива ssl_protocols позволяла задать только один протокол. 13920 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_protocols п©п╬п╥п╡п╬п╩я▐п╩п╟ п╥п╟п╢п╟я┌я▄ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ п©я─п╬я┌п╬п╨п╬п╩.
13921 </para> 13921 </para>
13922 <para lang="en"> 13922 <para lang="en">
13923 the "ssl_protocols" directive allowed to specify the single protocol only. 13923 the "ssl_protocols" directive allowed to specify the single protocol only.
13924 </para> 13924 </para>
13925 </change> 13925 </change>
13929 13929
13930 <changes ver="0.3.2" date="12.10.2005"> 13930 <changes ver="0.3.2" date="12.10.2005">
13931 13931
13932 <change type="feature"> 13932 <change type="feature">
13933 <para lang="ru"> 13933 <para lang="ru">
13934 поддержка Sun Studio 10 C compiler. 13934 п©п╬п╢п╢п╣я─п╤п╨п╟ Sun Studio 10 C compiler.
13935 </para> 13935 </para>
13936 <para lang="en"> 13936 <para lang="en">
13937 the Sun Studio 10 C compiler support. 13937 the Sun Studio 10 C compiler support.
13938 </para> 13938 </para>
13939 </change> 13939 </change>
13940 13940
13941 <change type="feature"> 13941 <change type="feature">
13942 <para lang="ru"> 13942 <para lang="ru">
13943 директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 13943 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_upstream_max_fails, proxy_upstream_fail_timeout,
13944 fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout. 13944 fastcgi_upstream_max_fails п╦ fastcgi_upstream_fail_timeout.
13945 </para> 13945 </para>
13946 <para lang="en"> 13946 <para lang="en">
13947 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 13947 the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout",
13948 "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" 13948 "fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout"
13949 directives. 13949 directives.
13955 13955
13956 <changes ver="0.3.1" date="10.10.2005"> 13956 <changes ver="0.3.1" date="10.10.2005">
13957 13957
13958 <change type="bugfix"> 13958 <change type="bugfix">
13959 <para lang="ru"> 13959 <para lang="ru">
13960 во время переполнения очереди сигналов при использовании метода rtsig 13960 п╡п╬ п╡я─п╣п╪я▐ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦я▐ п╬я┤п╣я─п╣п╢п╦ я│п╦пЁп╫п╟п╩п╬п╡ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig
13961 происходил segmentation fault; 13961 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
13962 ошибка появилась в 0.2.0. 13962 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
13963 </para> 13963 </para>
13964 <para lang="en"> 13964 <para lang="en">
13965 the segmentation fault occurred when the signal queue overflowed 13965 the segmentation fault occurred when the signal queue overflowed
13966 if the "rtsig" method was used; 13966 if the "rtsig" method was used;
13967 the bug had appeared in 0.2.0. 13967 the bug had appeared in 0.2.0.
13968 </para> 13968 </para>
13969 </change> 13969 </change>
13970 13970
13971 <change type="change"> 13971 <change type="change">
13972 <para lang="ru"> 13972 <para lang="ru">
13973 корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 13973 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ п©п╟я─ "\\", "\"", "\'" п╦ "\$" п╡ SSI.
13974 </para> 13974 </para>
13975 <para lang="en"> 13975 <para lang="en">
13976 correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. 13976 correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
13977 </para> 13977 </para>
13978 </change> 13978 </change>
13982 13982
13983 <changes ver="0.3.0" date="07.10.2005"> 13983 <changes ver="0.3.0" date="07.10.2005">
13984 13984
13985 <change type="change"> 13985 <change type="change">
13986 <para lang="ru"> 13986 <para lang="ru">
13987 убрано десятидневное ограничение времени работы рабочего процесса. 13987 я┐п╠я─п╟п╫п╬ п╢п╣я│я▐я┌п╦п╢п╫п╣п╡п╫п╬п╣ п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ п╡я─п╣п╪п╣п╫п╦ я─п╟п╠п╬я┌я▀ я─п╟п╠п╬я┤п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
13988 Ограничение было введено из-за переполнения миллисекундных таймеров. 13988 п·пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ п╠я▀п╩п╬ п╡п╡п╣п╢п╣п╫п╬ п╦п╥-п╥п╟ п©п╣я─п╣п©п╬п╩п╫п╣п╫п╦я▐ п╪п╦п╩п╩п╦я│п╣п╨я┐п╫п╢п╫я▀я┘ я┌п╟п╧п╪п╣я─п╬п╡.
13989 </para> 13989 </para>
13990 <para lang="en"> 13990 <para lang="en">
13991 the 10-days live time limit of worker process was eliminated. 13991 the 10-days live time limit of worker process was eliminated.
13992 The limit was introduced because of millisecond timers overflow. 13992 The limit was introduced because of millisecond timers overflow.
13993 </para> 13993 </para>
13998 13998
13999 <changes ver="0.2.6" date="05.10.2005"> 13999 <changes ver="0.2.6" date="05.10.2005">
14000 14000
14001 <change type="change"> 14001 <change type="change">
14002 <para lang="ru"> 14002 <para lang="ru">
14003 с 60 до 10 секунд уменьшено время повторного обращения к бэкенду 14003 я│ 60 п╢п╬ 10 я│п╣п╨я┐п╫п╢ я┐п╪п╣п╫я▄я┬п╣п╫п╬ п╡я─п╣п╪я▐ п©п╬п╡я┌п╬я─п╫п╬пЁп╬ п╬п╠я─п╟я┴п╣п╫п╦я▐ п╨ п╠я█п╨п╣п╫п╢я┐
14004 при использовании распределения нагрузки. 14004 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я─п╟я│п©я─п╣п╢п╣п╩п╣п╫п╦я▐ п╫п╟пЁя─я┐п╥п╨п╦.
14005 </para> 14005 </para>
14006 <para lang="en"> 14006 <para lang="en">
14007 while using load-balancing the time before the failed backend retry 14007 while using load-balancing the time before the failed backend retry
14008 was decreased from 60 to 10 seconds. 14008 was decreased from 60 to 10 seconds.
14009 </para> 14009 </para>
14010 </change> 14010 </change>
14011 14011
14012 <change type="change"> 14012 <change type="change">
14013 <para lang="ru"> 14013 <para lang="ru">
14014 директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь 14014 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_unparsed_uri я┐п©я─п╟п╥п╢п╫п╣п╫п╟, п╬я─п╦пЁп╦п╫п╟п╩я▄п╫я▀п╧ п╥п╟п©я─п╬я│ я┌п╣п©п╣я─я▄
14015 передаётся, если в директиве proxy_pass отсутствует URI. 14015 п©п╣я─п╣п╢п╟я▒я┌я│я▐, п╣я│п╩п╦ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╬я┌я│я┐я┌я│я┌п╡я┐п╣я┌ URI.
14016 </para> 14016 </para>
14017 <para lang="en"> 14017 <para lang="en">
14018 the "proxy_pass_unparsed_uri" was canceled, the original URI now passed, 14018 the "proxy_pass_unparsed_uri" was canceled, the original URI now passed,
14019 if the URI part is omitted in "proxy_pass" directive. 14019 if the URI part is omitted in "proxy_pass" directive.
14020 </para> 14020 </para>
14021 </change> 14021 </change>
14022 14022
14023 <change type="feature"> 14023 <change type="feature">
14024 <para lang="ru"> 14024 <para lang="ru">
14025 директива error_page поддерживает редиректы и позволяет более гибко 14025 п╢п╦я─п╣п╨я┌п╦п╡п╟ error_page п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я─п╣п╢п╦я─п╣п╨я┌я▀ п╦ п©п╬п╥п╡п╬п╩я▐п╣я┌ п╠п╬п╩п╣п╣ пЁп╦п╠п╨п╬
14026 менять код ошибки. 14026 п╪п╣п╫я▐я┌я▄ п╨п╬п╢ п╬я┬п╦п╠п╨п╦.
14027 </para> 14027 </para>
14028 <para lang="en"> 14028 <para lang="en">
14029 the "error_page" directive supports redirects and allows more flexible 14029 the "error_page" directive supports redirects and allows more flexible
14030 to change an error code. 14030 to change an error code.
14031 </para> 14031 </para>
14032 </change> 14032 </change>
14033 14033
14034 <change type="change"> 14034 <change type="change">
14035 <para lang="ru"> 14035 <para lang="ru">
14036 в проксированных подзапросах теперь игнорируется переданный charset. 14036 п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀я┘ п©п╬п╢п╥п╟п©я─п╬я│п╟я┘ я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п©п╣я─п╣п╢п╟п╫п╫я▀п╧ charset.
14037 </para> 14037 </para>
14038 <para lang="en"> 14038 <para lang="en">
14039 the charset in the "Content-Type" header line now is ignored 14039 the charset in the "Content-Type" header line now is ignored
14040 in proxied subrequests. 14040 in proxied subrequests.
14041 </para> 14041 </para>
14042 </change> 14042 </change>
14043 14043
14044 <change type="bugfix"> 14044 <change type="bugfix">
14045 <para lang="ru"> 14045 <para lang="ru">
14046 если после изменения URI в блоке if для запроса не находилась 14046 п╣я│п╩п╦ п©п╬я│п╩п╣ п╦п╥п╪п╣п╫п╣п╫п╦я▐ URI п╡ п╠п╩п╬п╨п╣ if п╢п╩я▐ п╥п╟п©я─п╬я│п╟ п╫п╣ п╫п╟я┘п╬п╢п╦п╩п╟я│я▄
14047 новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись 14047 п╫п╬п╡п╟я▐ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐, я┌п╬ п©я─п╟п╡п╦п╩п╟ п╪п╬п╢я┐п╩я▐ ngx_http_rewrite_module п╡я▀п©п╬п╩п╫я▐п╩п╦я│я▄
14048 снова. 14048 я│п╫п╬п╡п╟.
14049 </para> 14049 </para>
14050 <para lang="en"> 14050 <para lang="en">
14051 if the URI was changed in the "if" block and request did not found 14051 if the URI was changed in the "if" block and request did not found
14052 new configuration, then the ngx_http_rewrite_module rules ran again. 14052 new configuration, then the ngx_http_rewrite_module rules ran again.
14053 </para> 14053 </para>
14054 </change> 14054 </change>
14055 14055
14056 <change type="bugfix"> 14056 <change type="bugfix">
14057 <para lang="ru"> 14057 <para lang="ru">
14058 если директива set устанавливала переменную модуля ngx_http_geo_module 14058 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ set я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╩п╟ п©п╣я─п╣п╪п╣п╫п╫я┐я▌ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module
14059 в какой-либо части конфигурации, то эта переменная не была доступна в 14059 п╡ п╨п╟п╨п╬п╧-п╩п╦п╠п╬ я┤п╟я│я┌п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦, я┌п╬ я█я┌п╟ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╫п╣ п╠я▀п╩п╟ п╢п╬я│я┌я┐п©п╫п╟ п╡
14060 других частях конфигурации и выдавалась ошибка "using uninitialized variable"; 14060 п╢я─я┐пЁп╦я┘ я┤п╟я│я┌я▐я┘ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╦ п╡я▀п╢п╟п╡п╟п╩п╟я│я▄ п╬я┬п╦п╠п╨п╟ "using uninitialized variable";
14061 ошибка появилась в 0.2.2. 14061 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
14062 </para> 14062 </para>
14063 <para lang="en"> 14063 <para lang="en">
14064 if the "set" directive set the ngx_http_geo_module variable in some 14064 if the "set" directive set the ngx_http_geo_module variable in some
14065 configuration part, the this variable was not available in other 14065 configuration part, the this variable was not available in other
14066 configuration parts and the "using uninitialized variable" error was occurred; 14066 configuration parts and the "using uninitialized variable" error was occurred;
14073 14073
14074 <changes ver="0.2.5" date="04.10.2005"> 14074 <changes ver="0.2.5" date="04.10.2005">
14075 14075
14076 <change type="change"> 14076 <change type="change">
14077 <para lang="ru"> 14077 <para lang="ru">
14078 дублирующее значение переменной модуля ngx_http_geo_module теперь 14078 п╢я┐п╠п╩п╦я─я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module я┌п╣п©п╣я─я▄
14079 выдаёт предупреждение и изменяет старое значение. 14079 п╡я▀п╢п╟я▒я┌ п©я─п╣п╢я┐п©я─п╣п╤п╢п╣п╫п╦п╣ п╦ п╦п╥п╪п╣п╫я▐п╣я┌ я│я┌п╟я─п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
14080 </para> 14080 </para>
14081 <para lang="en"> 14081 <para lang="en">
14082 the duplicate value of the ngx_http_geo_module variable now causes 14082 the duplicate value of the ngx_http_geo_module variable now causes
14083 the warning and changes old value. 14083 the warning and changes old value.
14084 </para> 14084 </para>
14085 </change> 14085 </change>
14086 14086
14087 <change type="feature"> 14087 <change type="feature">
14088 <para lang="ru"> 14088 <para lang="ru">
14089 модуль ngx_http_ssi_module поддерживает команду set. 14089 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ set.
14090 </para> 14090 </para>
14091 <para lang="en"> 14091 <para lang="en">
14092 the ngx_http_ssi_module supports the "set" command. 14092 the ngx_http_ssi_module supports the "set" command.
14093 </para> 14093 </para>
14094 </change> 14094 </change>
14095 14095
14096 <change type="feature"> 14096 <change type="feature">
14097 <para lang="ru"> 14097 <para lang="ru">
14098 модуль ngx_http_ssi_module поддерживает параметр file в команде include. 14098 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╟я─п╟п╪п╣я┌я─ file п╡ п╨п╬п╪п╟п╫п╢п╣ include.
14099 </para> 14099 </para>
14100 <para lang="en"> 14100 <para lang="en">
14101 the ngx_http_ssi_module supports the "file" parameter in the "include" command. 14101 the ngx_http_ssi_module supports the "file" parameter in the "include" command.
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 модуль ngx_http_ssi_module поддерживает подстановку значений переменных 14107 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╬п╢я│я┌п╟п╫п╬п╡п╨я┐ п╥п╫п╟я┤п╣п╫п╦п╧ п©п╣я─п╣п╪п╣п╫п╫я▀я┘
14108 в выражениях команды if. 14108 п╡ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘ п╨п╬п╪п╟п╫п╢я▀ if.
14109 </para> 14109 </para>
14110 <para lang="en"> 14110 <para lang="en">
14111 the ngx_http_ssi_module supports the variable value substitutions in 14111 the ngx_http_ssi_module supports the variable value substitutions in
14112 expressions of the "if" command. 14112 expressions of the "if" command.
14113 </para> 14113 </para>
14118 14118
14119 <changes ver="0.2.4" date="03.10.2005"> 14119 <changes ver="0.2.4" date="03.10.2005">
14120 14120
14121 <change type="feature"> 14121 <change type="feature">
14122 <para lang="ru"> 14122 <para lang="ru">
14123 модуль ngx_http_ssi_module поддерживает выражения 14123 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀я─п╟п╤п╣п╫п╦я▐
14124 "$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" 14124 "$var=text", "$var!=text", "$var=/text/" п╦ "$var!=/text/"
14125 в команде if. 14125 п╡ п╨п╬п╪п╟п╫п╢п╣ if.
14126 </para> 14126 </para>
14127 <para lang="en"> 14127 <para lang="en">
14128 the ngx_http_ssi_module supports 14128 the ngx_http_ssi_module supports
14129 "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions 14129 "$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions
14130 in the "if" command. 14130 in the "if" command.
14131 </para> 14131 </para>
14132 </change> 14132 </change>
14133 14133
14134 <change type="bugfix"> 14134 <change type="bugfix">
14135 <para lang="ru"> 14135 <para lang="ru">
14136 ошибки при проксировании location без слэша в конце; 14136 п╬я┬п╦п╠п╨п╦ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ location п╠п╣п╥ я│п╩я█я┬п╟ п╡ п╨п╬п╫я├п╣;
14137 ошибка появилась в 0.1.44. 14137 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.44.
14138 </para> 14138 </para>
14139 <para lang="en"> 14139 <para lang="en">
14140 in proxying location without trailing slash; 14140 in proxying location without trailing slash;
14141 the bug had appeared in 0.1.44. 14141 the bug had appeared in 0.1.44.
14142 </para> 14142 </para>
14143 </change> 14143 </change>
14144 14144
14145 <change type="bugfix"> 14145 <change type="bugfix">
14146 <para lang="ru"> 14146 <para lang="ru">
14147 при использовании метода rtsig мог произойти segmentation fault; 14147 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
14148 ошибка появилась в 0.2.0. 14148 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
14149 </para> 14149 </para>
14150 <para lang="en"> 14150 <para lang="en">
14151 the segmentation fault may occurred if the "rtsig" method was used; 14151 the segmentation fault may occurred if the "rtsig" method was used;
14152 the bug had appeared in 0.2.0. 14152 the bug had appeared in 0.2.0.
14153 </para> 14153 </para>
14158 14158
14159 <changes ver="0.2.3" date="30.09.2005"> 14159 <changes ver="0.2.3" date="30.09.2005">
14160 14160
14161 <change type="bugfix"> 14161 <change type="bugfix">
14162 <para lang="ru"> 14162 <para lang="ru">
14163 nginx не собирался без параметра --with-debug; 14163 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╠п╣п╥ п©п╟я─п╟п╪п╣я┌я─п╟ --with-debug;
14164 ошибка появилась в 0.2.2. 14164 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.2.
14165 </para> 14165 </para>
14166 <para lang="en"> 14166 <para lang="en">
14167 nginx could not be built without the --with-debug option; 14167 nginx could not be built without the --with-debug option;
14168 the bug had appeared in 0.2.2. 14168 the bug had appeared in 0.2.2.
14169 </para> 14169 </para>
14174 14174
14175 <changes ver="0.2.2" date="30.09.2005"> 14175 <changes ver="0.2.2" date="30.09.2005">
14176 14176
14177 <change type="feature"> 14177 <change type="feature">
14178 <para lang="ru"> 14178 <para lang="ru">
14179 команда config errmsg в модуле ngx_http_ssi_module. 14179 п╨п╬п╪п╟п╫п╢п╟ config errmsg п╡ п╪п╬п╢я┐п╩п╣ ngx_http_ssi_module.
14180 </para> 14180 </para>
14181 <para lang="en"> 14181 <para lang="en">
14182 the "config errmsg" command of the ngx_http_ssi_module. 14182 the "config errmsg" command of the ngx_http_ssi_module.
14183 </para> 14183 </para>
14184 </change> 14184 </change>
14185 14185
14186 <change type="change"> 14186 <change type="change">
14187 <para lang="ru"> 14187 <para lang="ru">
14188 переменные модуля ngx_http_geo_module можно переопределять директивой set. 14188 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module п╪п╬п╤п╫п╬ п©п╣я─п╣п╬п©я─п╣п╢п╣п╩я▐я┌я▄ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set.
14189 </para> 14189 </para>
14190 <para lang="en"> 14190 <para lang="en">
14191 the ngx_http_geo_module variables can be overridden by the "set" directive. 14191 the ngx_http_geo_module variables can be overridden by the "set" directive.
14192 </para> 14192 </para>
14193 </change> 14193 </change>
14194 14194
14195 <change type="feature"> 14195 <change type="feature">
14196 <para lang="ru"> 14196 <para lang="ru">
14197 директивы ssl_protocols и ssl_prefer_server_ciphers модулей 14197 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_protocols п╦ ssl_prefer_server_ciphers п╪п╬п╢я┐п╩п╣п╧
14198 ngx_http_ssl_module и ngx_imap_ssl_module. 14198 ngx_http_ssl_module п╦ ngx_imap_ssl_module.
14199 </para> 14199 </para>
14200 <para lang="en"> 14200 <para lang="en">
14201 the "ssl_protocols" and "ssl_prefer_server_ciphers" directives 14201 the "ssl_protocols" and "ssl_prefer_server_ciphers" directives
14202 of the ngx_http_ssl_module and ngx_imap_ssl_module. 14202 of the ngx_http_ssl_module and ngx_imap_ssl_module.
14203 </para> 14203 </para>
14204 </change> 14204 </change>
14205 14205
14206 <change type="bugfix"> 14206 <change type="bugfix">
14207 <para lang="ru"> 14207 <para lang="ru">
14208 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 14208 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡;
14209 </para> 14209 </para>
14210 <para lang="en"> 14210 <para lang="en">
14211 the ngx_http_autoindex_module did not show correctly the long file names; 14211 the ngx_http_autoindex_module did not show correctly the long file names;
14212 </para> 14212 </para>
14213 </change> 14213 </change>
14214 14214
14215 <change type="bugfix"> 14215 <change type="bugfix">
14216 <para lang="ru"> 14216 <para lang="ru">
14217 модуль ngx_http_autoindex_module теперь не показывает файлы, 14217 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module я┌п╣п©п╣я─я▄ п╫п╣ п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ я└п╟п╧п╩я▀,
14218 начинающиеся на точку. 14218 п╫п╟я┤п╦п╫п╟я▌я┴п╦п╣я│я▐ п╫п╟ я┌п╬я┤п╨я┐.
14219 </para> 14219 </para>
14220 <para lang="en"> 14220 <para lang="en">
14221 the ngx_http_autoindex_module now do not show the files starting by dot. 14221 the ngx_http_autoindex_module now do not show the files starting by dot.
14222 </para> 14222 </para>
14223 </change> 14223 </change>
14224 14224
14225 <change type="bugfix"> 14225 <change type="bugfix">
14226 <para lang="ru"> 14226 <para lang="ru">
14227 если SSL handshake завершался с ошибкой, то это могло привести также 14227 п╣я│п╩п╦ SSL handshake п╥п╟п╡п╣я─я┬п╟п╩я│я▐ я│ п╬я┬п╦п╠п╨п╬п╧, я┌п╬ я█я┌п╬ п╪п╬пЁп╩п╬ п©я─п╦п╡п╣я│я┌п╦ я┌п╟п╨п╤п╣
14228 к закрытию другого соединения.<br/> 14228 п╨ п╥п╟п╨я─я▀я┌п╦я▌ п╢я─я┐пЁп╬пЁп╬ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐.<br/>
14229 Спасибо Rob Mueller. 14229 п║п©п╟я│п╦п╠п╬ Rob Mueller.
14230 </para> 14230 </para>
14231 <para lang="en"> 14231 <para lang="en">
14232 if the SSL handshake failed then another connection may be closed too.<br/> 14232 if the SSL handshake failed then another connection may be closed too.<br/>
14233 Thanks to Rob Mueller. 14233 Thanks to Rob Mueller.
14234 </para> 14234 </para>
14235 </change> 14235 </change>
14236 14236
14237 <change type="bugfix"> 14237 <change type="bugfix">
14238 <para lang="ru"> 14238 <para lang="ru">
14239 экспортные версии MSIE 5.x не могли соединиться по HTTPS. 14239 я█п╨я│п©п╬я─я┌п╫я▀п╣ п╡п╣я─я│п╦п╦ MSIE 5.x п╫п╣ п╪п╬пЁп╩п╦ я│п╬п╣п╢п╦п╫п╦я┌я▄я│я▐ п©п╬ HTTPS.
14240 </para> 14240 </para>
14241 <para lang="en"> 14241 <para lang="en">
14242 the export versions of MSIE 5.x could not connect via HTTPS. 14242 the export versions of MSIE 5.x could not connect via HTTPS.
14243 </para> 14243 </para>
14244 </change> 14244 </change>
14248 14248
14249 <changes ver="0.2.1" date="23.09.2005"> 14249 <changes ver="0.2.1" date="23.09.2005">
14250 14250
14251 <change type="bugfix"> 14251 <change type="bugfix">
14252 <para lang="ru"> 14252 <para lang="ru">
14253 если все бэкенды, используемые для балансировки нагрузки, оказывались 14253 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╢п╩я▐ п╠п╟п╩п╟п╫я│п╦я─п╬п╡п╨п╦ п╫п╟пЁя─я┐п╥п╨п╦, п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄
14254 в нерабочем состоянии после одной ошибки, то nginx мог зациклится; 14254 п╡ п╫п╣я─п╟п╠п╬я┤п╣п╪ я│п╬я│я┌п╬я▐п╫п╦п╦ п©п╬я│п╩п╣ п╬п╢п╫п╬п╧ п╬я┬п╦п╠п╨п╦, я┌п╬ nginx п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я│я▐;
14255 ошибка появилась в 0.2.0. 14255 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.2.0.
14256 </para> 14256 </para>
14257 <para lang="en"> 14257 <para lang="en">
14258 if all backend using in load-balancing failed after one error, then 14258 if all backend using in load-balancing failed after one error, then
14259 nginx may got caught in an endless loop; 14259 nginx may got caught in an endless loop;
14260 the bug had appeared in 0.2.0. 14260 the bug had appeared in 0.2.0.
14266 14266
14267 <changes ver="0.2.0" date="23.09.2005"> 14267 <changes ver="0.2.0" date="23.09.2005">
14268 14268
14269 <change> 14269 <change>
14270 <para lang="ru"> 14270 <para lang="ru">
14271 Изменились имена pid-файлов, используемые во время обновления исполняемого 14271 п≤п╥п╪п╣п╫п╦п╩п╦я│я▄ п╦п╪п╣п╫п╟ pid-я└п╟п╧п╩п╬п╡, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╡п╬ п╡я─п╣п╪я▐ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬
14272 файла. Ручное переименование теперь не нужно. 14272 я└п╟п╧п╩п╟. п═я┐я┤п╫п╬п╣ п©п╣я─п╣п╦п╪п╣п╫п╬п╡п╟п╫п╦п╣ я┌п╣п©п╣я─я▄ п╫п╣ п╫я┐п╤п╫п╬.
14273 Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin" 14273 п║я┌п╟я─я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╢п╬п╠п╟п╡п╩я▐п╣я┌ п╨ я│п╡п╬п╣п╪я┐ pid-я└п╟п╧п╩ я│я┐я└я└п╦п╨я│ ".oldbin"
14274 и запускает новый исполняемый файл. 14274 п╦ п╥п╟п©я┐я│п╨п╟п╣я┌ п╫п╬п╡я▀п╧ п╦я│п©п╬п╩п╫я▐п╣п╪я▀п╧ я└п╟п╧п╩.
14275 Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin". 14275 п²п╬п╡я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ я│п╬п╥п╢п╟я▒я┌ п╬п╠я▀я┤п╫я▀п╧ pid-я└п╟п╧п╩ п╠п╣п╥ я│я┐я└я└п╦п╨я│п╟ ".newbin".
14276 Если новый основной процесс выходит, то старый процесс переименовывает свой 14276 п∙я│п╩п╦ п╫п╬п╡я▀п╧ п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╡я▀я┘п╬п╢п╦я┌, я┌п╬ я│я┌п╟я─я▀п╧ п©я─п╬я├п╣я│я│ п©п╣я─п╣п╦п╪п╣п╫п╬п╡я▀п╡п╟п╣я┌ я│п╡п╬п╧
14277 pid-файл c суффиксом ".oldbin" в pid-файл без суффикса. 14277 pid-я└п╟п╧п╩ c я│я┐я└я└п╦п╨я│п╬п╪ ".oldbin" п╡ pid-я└п╟п╧п╩ п╠п╣п╥ я│я┐я└я└п╦п╨я│п╟.
14278 При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба 14278 п÷я─п╦ п╬п╠п╫п╬п╡п╩п╣п╫п╦п╦ я│ п╡п╣я─я│п╦п╦ 0.1.я┘ п╢п╬ 0.2.0 п╫я┐п╤п╫п╬ я┐я┤п╦я┌я▀п╡п╟я┌я▄, я┤я┌п╬ п╬п╠п╟
14279 процесса&mdash;старый 0.1.x и новый 0.2.0&mdash;используют pid-файл 14279 п©я─п╬я├п╣я│я│п╟&mdash;я│я┌п╟я─я▀п╧ 0.1.x п╦ п╫п╬п╡я▀п╧ 0.2.0&mdash;п╦я│п©п╬п╩я▄п╥я┐я▌я┌ pid-я└п╟п╧п╩
14280 без суффиксов. 14280 п╠п╣п╥ я│я┐я└я└п╦п╨я│п╬п╡.
14281 </para> 14281 </para>
14282 <para lang="en"> 14282 <para lang="en">
14283 The pid-file names used during online upgrade was changed and now is not 14283 The pid-file names used during online upgrade was changed and now is not
14284 required a manual rename operation. 14284 required a manual rename operation.
14285 The old master process adds the ".oldbin" suffix to its pid-file and 14285 The old master process adds the ".oldbin" suffix to its pid-file and
14290 </para> 14290 </para>
14291 </change> 14291 </change>
14292 14292
14293 <change type="change"> 14293 <change type="change">
14294 <para lang="ru"> 14294 <para lang="ru">
14295 директива worker_connections, новое название директивы connections; 14295 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_connections, п╫п╬п╡п╬п╣ п╫п╟п╥п╡п╟п╫п╦п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ connections;
14296 директива теперь задаёт максимальное число соединений, 14296 п╢п╦я─п╣п╨я┌п╦п╡п╟ я┌п╣п©п╣я─я▄ п╥п╟п╢п╟я▒я┌ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╬п╣ я┤п╦я│п╩п╬ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧,
14297 а не максимально возможный номер дескриптора для сокета. 14297 п╟ п╫п╣ п╪п╟п╨я│п╦п╪п╟п╩я▄п╫п╬ п╡п╬п╥п╪п╬п╤п╫я▀п╧ п╫п╬п╪п╣я─ п╢п╣я│п╨я─п╦п©я┌п╬я─п╟ п╢п╩я▐ я│п╬п╨п╣я┌п╟.
14298 </para> 14298 </para>
14299 <para lang="en"> 14299 <para lang="en">
14300 the "worker_connections" directive, new name of the "connections" directive; 14300 the "worker_connections" directive, new name of the "connections" directive;
14301 now the directive specifies maximum number of connections, 14301 now the directive specifies maximum number of connections,
14302 but not maximum socket descriptor number. 14302 but not maximum socket descriptor number.
14303 </para> 14303 </para>
14304 </change> 14304 </change>
14305 14305
14306 <change type="feature"> 14306 <change type="feature">
14307 <para lang="ru"> 14307 <para lang="ru">
14308 SSL поддерживает кэширование сессий в пределах одного рабочего процесса. 14308 SSL п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨я█я┬п╦я─п╬п╡п╟п╫п╦п╣ я│п╣я│я│п╦п╧ п╡ п©я─п╣п╢п╣п╩п╟я┘ п╬п╢п╫п╬пЁп╬ я─п╟п╠п╬я┤п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.
14309 </para> 14309 </para>
14310 <para lang="en"> 14310 <para lang="en">
14311 SSL supports the session cache inside one worker process. 14311 SSL supports the session cache inside one worker process.
14312 </para> 14312 </para>
14313 </change> 14313 </change>
14314 14314
14315 <change type="feature"> 14315 <change type="feature">
14316 <para lang="ru"> 14316 <para lang="ru">
14317 директива satisfy_any. 14317 п╢п╦я─п╣п╨я┌п╦п╡п╟ satisfy_any.
14318 </para> 14318 </para>
14319 <para lang="en"> 14319 <para lang="en">
14320 the "satisfy_any" directive. 14320 the "satisfy_any" directive.
14321 </para> 14321 </para>
14322 </change> 14322 </change>
14323 14323
14324 <change type="change"> 14324 <change type="change">
14325 <para lang="ru"> 14325 <para lang="ru">
14326 модули ngx_http_access_module и ngx_http_auth_basic_module не работают 14326 п╪п╬п╢я┐п╩п╦ ngx_http_access_module п╦ ngx_http_auth_basic_module п╫п╣ я─п╟п╠п╬я┌п╟я▌я┌
14327 для подзапросов. 14327 п╢п╩я▐ п©п╬п╢п╥п╟п©я─п╬я│п╬п╡.
14328 </para> 14328 </para>
14329 <para lang="en"> 14329 <para lang="en">
14330 the ngx_http_access_module and ngx_http_auth_basic_module do not run 14330 the ngx_http_access_module and ngx_http_auth_basic_module do not run
14331 for subrequests. 14331 for subrequests.
14332 </para> 14332 </para>
14333 </change> 14333 </change>
14334 14334
14335 <change type="feature"> 14335 <change type="feature">
14336 <para lang="ru"> 14336 <para lang="ru">
14337 директивы worker_rlimit_nofile и worker_rlimit_sigpending. 14337 п╢п╦я─п╣п╨я┌п╦п╡я▀ worker_rlimit_nofile п╦ worker_rlimit_sigpending.
14338 </para> 14338 </para>
14339 <para lang="en"> 14339 <para lang="en">
14340 the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives. 14340 the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives.
14341 </para> 14341 </para>
14342 </change> 14342 </change>
14343 14343
14344 <change type="bugfix"> 14344 <change type="bugfix">
14345 <para lang="ru"> 14345 <para lang="ru">
14346 если все бэкенды, используемые для балансировки нагрузки, оказывались 14346 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀, п╦я│п©п╬п╩я▄п╥я┐п╣п╪я▀п╣ п╢п╩я▐ п╠п╟п╩п╟п╫я│п╦я─п╬п╡п╨п╦ п╫п╟пЁя─я┐п╥п╨п╦, п╬п╨п╟п╥я▀п╡п╟п╩п╦я│я▄
14347 в нерабочем состоянии после одной ошибки, то nginx не обращался к ним 14347 п╡ п╫п╣я─п╟п╠п╬я┤п╣п╪ я│п╬я│я┌п╬я▐п╫п╦п╦ п©п╬я│п╩п╣ п╬п╢п╫п╬п╧ п╬я┬п╦п╠п╨п╦, я┌п╬ nginx п╫п╣ п╬п╠я─п╟я┴п╟п╩я│я▐ п╨ п╫п╦п╪
14348 в течение 60 секунд. 14348 п╡ я┌п╣я┤п╣п╫п╦п╣ 60 я│п╣п╨я┐п╫п╢.
14349 </para> 14349 </para>
14350 <para lang="en"> 14350 <para lang="en">
14351 if all backend using in load-balancing failed after one error, then 14351 if all backend using in load-balancing failed after one error, then
14352 nginx did not try do connect to them during 60 seconds. 14352 nginx did not try do connect to them during 60 seconds.
14353 </para> 14353 </para>
14354 </change> 14354 </change>
14355 14355
14356 <change type="bugfix"> 14356 <change type="bugfix">
14357 <para lang="ru"> 14357 <para lang="ru">
14358 в парсинге аргументов IMAP/POP3 команд.<br/> 14358 п╡ п©п╟я─я│п╦п╫пЁп╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ IMAP/POP3 п╨п╬п╪п╟п╫п╢.<br/>
14359 Спасибо Rob Mueller. 14359 п║п©п╟я│п╦п╠п╬ Rob Mueller.
14360 </para> 14360 </para>
14361 <para lang="en"> 14361 <para lang="en">
14362 in IMAP/POP3 command argument parsing.<br/> 14362 in IMAP/POP3 command argument parsing.<br/>
14363 Thanks to Rob Mueller. 14363 Thanks to Rob Mueller.
14364 </para> 14364 </para>
14365 </change> 14365 </change>
14366 14366
14367 <change type="bugfix"> 14367 <change type="bugfix">
14368 <para lang="ru"> 14368 <para lang="ru">
14369 ошибки при использовании SSL в IMAP/POP3 прокси. 14369 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
14370 </para> 14370 </para>
14371 <para lang="en"> 14371 <para lang="en">
14372 errors while using SSL in IMAP/POP3 proxy. 14372 errors while using SSL in IMAP/POP3 proxy.
14373 </para> 14373 </para>
14374 </change> 14374 </change>
14375 14375
14376 <change type="bugfix"> 14376 <change type="bugfix">
14377 <para lang="ru"> 14377 <para lang="ru">
14378 ошибки при использовании SSI и сжатия. 14378 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI п╦ я│п╤п╟я┌п╦я▐.
14379 </para> 14379 </para>
14380 <para lang="en"> 14380 <para lang="en">
14381 errors while using SSI and gzipping. 14381 errors while using SSI and gzipping.
14382 </para> 14382 </para>
14383 </change> 14383 </change>
14384 14384
14385 <change type="bugfix"> 14385 <change type="bugfix">
14386 <para lang="ru"> 14386 <para lang="ru">
14387 в ответах 304 не добавлялись строки заголовка ответа "Expires" и 14387 п╡ п╬я┌п╡п╣я┌п╟я┘ 304 п╫п╣ п╢п╬п╠п╟п╡п╩я▐п╩п╦я│я▄ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ "Expires" п╦
14388 "Cache-Control".<br/> 14388 "Cache-Control".<br/>
14389 Спасибо Александру Кукушкину. 14389 п║п©п╟я│п╦п╠п╬ п░п╩п╣п╨я│п╟п╫п╢я─я┐ п я┐п╨я┐я┬п╨п╦п╫я┐.
14390 </para> 14390 </para>
14391 <para lang="en"> 14391 <para lang="en">
14392 the "Expires" and "Cache-Control" header lines were omitted 14392 the "Expires" and "Cache-Control" header lines were omitted
14393 from the 304 responses.<br/> 14393 from the 304 responses.<br/>
14394 Thanks to Alexandr Kukushkin. 14394 Thanks to Alexandr Kukushkin.
14400 14400
14401 <changes ver="0.1.45" date="08.09.2005"> 14401 <changes ver="0.1.45" date="08.09.2005">
14402 14402
14403 <change type="change"> 14403 <change type="change">
14404 <para lang="ru"> 14404 <para lang="ru">
14405 директива ssl_engine упразднена в модуле ngx_http_ssl_module и 14405 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssl_engine я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_ssl_module п╦
14406 перенесена на глобальный уровень. 14406 п©п╣я─п╣п╫п╣я│п╣п╫п╟ п╫п╟ пЁп╩п╬п╠п╟п╩я▄п╫я▀п╧ я┐я─п╬п╡п╣п╫я▄.
14407 </para> 14407 </para>
14408 <para lang="en"> 14408 <para lang="en">
14409 the "ssl_engine" directive was canceled in the ngx_http_ssl_module 14409 the "ssl_engine" directive was canceled in the ngx_http_ssl_module
14410 and now is introduced at global level. 14410 and now is introduced at global level.
14411 </para> 14411 </para>
14412 </change> 14412 </change>
14413 14413
14414 <change type="bugfix"> 14414 <change type="bugfix">
14415 <para lang="ru"> 14415 <para lang="ru">
14416 ответы с подзапросами, включённые с помощью SSI, не передавались 14416 п╬я┌п╡п╣я┌я▀ я│ п©п╬п╢п╥п╟п©я─п╬я│п╟п╪п╦, п╡п╨п╩я▌я┤я▒п╫п╫я▀п╣ я│ п©п╬п╪п╬я┴я▄я▌ SSI, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄
14417 через SSL соединение. 14417 я┤п╣я─п╣п╥ SSL я│п╬п╣п╢п╦п╫п╣п╫п╦п╣.
14418 </para> 14418 </para>
14419 <para lang="en"> 14419 <para lang="en">
14420 the responses with SSI subrequests did not transferred via SSL connection. 14420 the responses with SSI subrequests did not transferred via SSL connection.
14421 </para> 14421 </para>
14422 </change> 14422 </change>
14423 14423
14424 <change> 14424 <change>
14425 <para lang="ru"> 14425 <para lang="ru">
14426 Разные исправления в IMAP/POP3 прокси. 14426 п═п╟п╥п╫я▀п╣ п╦я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ IMAP/POP3 п©я─п╬п╨я│п╦.
14427 </para> 14427 </para>
14428 <para lang="en"> 14428 <para lang="en">
14429 Various bug fixes in the IMAP/POP3 proxy. 14429 Various bug fixes in the IMAP/POP3 proxy.
14430 </para> 14430 </para>
14431 </change> 14431 </change>
14435 14435
14436 <changes ver="0.1.44" date="06.09.2005"> 14436 <changes ver="0.1.44" date="06.09.2005">
14437 14437
14438 <change type="feature"> 14438 <change type="feature">
14439 <para lang="ru"> 14439 <para lang="ru">
14440 IMAP/POP3 прокси поддерживает SSL. 14440 IMAP/POP3 п©я─п╬п╨я│п╦ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ SSL.
14441 </para> 14441 </para>
14442 <para lang="en"> 14442 <para lang="en">
14443 the IMAP/POP3 proxy supports SSL. 14443 the IMAP/POP3 proxy supports SSL.
14444 </para> 14444 </para>
14445 </change> 14445 </change>
14446 14446
14447 <change type="feature"> 14447 <change type="feature">
14448 <para lang="ru"> 14448 <para lang="ru">
14449 директива proxy_timeout модуля ngx_imap_proxy_module. 14449 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_timeout п╪п╬п╢я┐п╩я▐ ngx_imap_proxy_module.
14450 </para> 14450 </para>
14451 <para lang="en"> 14451 <para lang="en">
14452 the "proxy_timeout" directive of the ngx_imap_proxy_module. 14452 the "proxy_timeout" directive of the ngx_imap_proxy_module.
14453 </para> 14453 </para>
14454 </change> 14454 </change>
14455 14455
14456 <change type="feature"> 14456 <change type="feature">
14457 <para lang="ru"> 14457 <para lang="ru">
14458 директива userid_mark. 14458 п╢п╦я─п╣п╨я┌п╦п╡п╟ userid_mark.
14459 </para> 14459 </para>
14460 <para lang="en"> 14460 <para lang="en">
14461 the "userid_mark" directive. 14461 the "userid_mark" directive.
14462 </para> 14462 </para>
14463 </change> 14463 </change>
14464 14464
14465 <change type="feature"> 14465 <change type="feature">
14466 <para lang="ru"> 14466 <para lang="ru">
14467 значение переменной $remote_user определяется независимо от того, 14467 п╥п╫п╟я┤п╣п╫п╦п╣ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ $remote_user п╬п©я─п╣п╢п╣п╩я▐п╣я┌я│я▐ п╫п╣п╥п╟п╡п╦я│п╦п╪п╬ п╬я┌ я┌п╬пЁп╬,
14468 используется ли авторизация или нет. 14468 п╦я│п©п╬п╩я▄п╥я┐п╣я┌я│я▐ п╩п╦ п╟п╡я┌п╬я─п╦п╥п╟я├п╦я▐ п╦п╩п╦ п╫п╣я┌.
14469 </para> 14469 </para>
14470 <para lang="en"> 14470 <para lang="en">
14471 the $remote_user variable value is determined independently of 14471 the $remote_user variable value is determined independently of
14472 authorization use. 14472 authorization use.
14473 </para> 14473 </para>
14478 14478
14479 <changes ver="0.1.43" date="30.08.2005"> 14479 <changes ver="0.1.43" date="30.08.2005">
14480 14480
14481 <change type="feature"> 14481 <change type="feature">
14482 <para lang="ru"> 14482 <para lang="ru">
14483 listen(2) backlog в директиве listen можно менять по сигналу -HUP. 14483 listen(2) backlog п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen п╪п╬п╤п╫п╬ п╪п╣п╫я▐я┌я▄ п©п╬ я│п╦пЁп╫п╟п╩я┐ -HUP.
14484 </para> 14484 </para>
14485 <para lang="en"> 14485 <para lang="en">
14486 the listen(2) backlog in the "listen" directive 14486 the listen(2) backlog in the "listen" directive
14487 can be changed using the -HUP signal. 14487 can be changed using the -HUP signal.
14488 </para> 14488 </para>
14489 </change> 14489 </change>
14490 14490
14491 <change type="feature"> 14491 <change type="feature">
14492 <para lang="ru"> 14492 <para lang="ru">
14493 скрипт geo2nginx.pl добавлен в contrib. 14493 я│п╨я─п╦п©я┌ geo2nginx.pl п╢п╬п╠п╟п╡п╩п╣п╫ п╡ contrib.
14494 </para> 14494 </para>
14495 <para lang="en"> 14495 <para lang="en">
14496 the geo2nginx.pl script was added to contrib. 14496 the geo2nginx.pl script was added to contrib.
14497 </para> 14497 </para>
14498 </change> 14498 </change>
14499 14499
14500 <change type="change"> 14500 <change type="change">
14501 <para lang="ru"> 14501 <para lang="ru">
14502 параметры FastCGI с пустым значениями теперь передаются серверу. 14502 п©п╟я─п╟п╪п╣я┌я─я▀ FastCGI я│ п©я┐я│я┌я▀п╪ п╥п╫п╟я┤п╣п╫п╦я▐п╪п╦ я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▌я┌я│я▐ я│п╣я─п╡п╣я─я┐.
14503 </para> 14503 </para>
14504 <para lang="en"> 14504 <para lang="en">
14505 the FastCGI parameters with the empty values now are passed to a server. 14505 the FastCGI parameters with the empty values now are passed to a server.
14506 </para> 14506 </para>
14507 </change> 14507 </change>
14508 14508
14509 <!-- 14509 <!--
14510 14510
14511 <change type="bugfix"> 14511 <change type="bugfix">
14512 <para lang="ru"> 14512 <para lang="ru">
14513 при ошибках в работе с проксированным сервером или FastCGI сервером 14513 п©я─п╦ п╬я┬п╦п╠п╨п╟я┘ п╡ я─п╟п╠п╬я┌п╣ я│ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫я▀п╪ я│п╣я─п╡п╣я─п╬п╪ п╦п╩п╦ FastCGI я│п╣я─п╡п╣я─п╬п╪
14514 мог произойти segmentation fault; 14514 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault;
14515 в режиме прокси ошибка появилась в 0.1.29. 14515 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14516 </para> 14516 </para>
14517 <para lang="en"> 14517 <para lang="en">
14518 the segmentation fault may occurred if there were errors while 14518 the segmentation fault may occurred if there were errors while
14519 working with proxied or FastCGI server; 14519 working with proxied or FastCGI server;
14520 in the proxied mode the the bug had appeared in 0.1.29. 14520 in the proxied mode the the bug had appeared in 0.1.29.
14523 14523
14524 --> 14524 -->
14525 14525
14526 <change type="bugfix"> 14526 <change type="bugfix">
14527 <para lang="ru"> 14527 <para lang="ru">
14528 если в ответе проксированного сервера или FastCGI сервера была строка 14528 п╣я│п╩п╦ п╡ п╬я┌п╡п╣я┌п╣ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬пЁп╬ я│п╣я─п╡п╣я─п╟ п╦п╩п╦ FastCGI я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟
14529 "Cache-Control", то при использовании директивы expires происходил 14529 "Cache-Control", я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ expires п©я─п╬п╦я│я┘п╬п╢п╦п╩
14530 segmentation fault или рабочий процесс мог зациклится; 14530 segmentation fault п╦п╩п╦ я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я│я▐;
14531 в режиме прокси ошибка появилась в 0.1.29. 14531 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14532 </para> 14532 </para>
14533 <para lang="en"> 14533 <para lang="en">
14534 the segmentation fault occurred or the worker process may got caught 14534 the segmentation fault occurred or the worker process may got caught
14535 in an endless loop if the proxied or FastCGI server sent the "Cache-Control" 14535 in an endless loop if the proxied or FastCGI server sent the "Cache-Control"
14536 header line and the "expires" directive was used; 14536 header line and the "expires" directive was used;
14543 14543
14544 <changes ver="0.1.42" date="23.08.2005"> 14544 <changes ver="0.1.42" date="23.08.2005">
14545 14545
14546 <change type="bugfix"> 14546 <change type="bugfix">
14547 <para lang="ru"> 14547 <para lang="ru">
14548 если URI запроса получался нулевой длины после обработки модулем 14548 п╣я│п╩п╦ URI п╥п╟п©я─п╬я│п╟ п©п╬п╩я┐я┤п╟п╩я│я▐ п╫я┐п╩п╣п╡п╬п╧ п╢п╩п╦п╫я▀ п©п╬я│п╩п╣ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╪п╬п╢я┐п╩п╣п╪
14549 ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил 14549 ngx_http_rewrite_module, я┌п╬ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module п©я─п╬п╦я│я┘п╬п╢п╦п╩
14550 segmentation fault или bus error. 14550 segmentation fault п╦п╩п╦ bus error.
14551 </para> 14551 </para>
14552 <para lang="en"> 14552 <para lang="en">
14553 if the request URI had a zero length after the processing in 14553 if the request URI had a zero length after the processing in
14554 the ngx_http_proxy_module, then the segmentation fault or bus error occurred 14554 the ngx_http_proxy_module, then the segmentation fault or bus error occurred
14555 in the ngx_http_proxy_module. 14555 in the ngx_http_proxy_module.
14556 </para> 14556 </para>
14557 </change> 14557 </change>
14558 14558
14559 <change type="bugfix"> 14559 <change type="bugfix">
14560 <para lang="ru"> 14560 <para lang="ru">
14561 директива limit_rate не работала внутри блока if; 14561 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╡п╫я┐я┌я─п╦ п╠п╩п╬п╨п╟ if;
14562 ошибка появилась в 0.1.38. 14562 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
14563 </para> 14563 </para>
14564 <para lang="en"> 14564 <para lang="en">
14565 the "limit_rate" directive did not work inside the "if" block; 14565 the "limit_rate" directive did not work inside the "if" block;
14566 the bug had appeared in 0.1.38. 14566 the bug had appeared in 0.1.38.
14567 </para> 14567 </para>
14572 14572
14573 <changes ver="0.1.41" date="25.07.2005"> 14573 <changes ver="0.1.41" date="25.07.2005">
14574 14574
14575 <change type="bugfix"> 14575 <change type="bugfix">
14576 <para lang="ru"> 14576 <para lang="ru">
14577 если переменная использовалась в файле конфигурации, 14577 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╡ я└п╟п╧п╩п╣ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦,
14578 то она не могла использоваться в SSI. 14578 я┌п╬ п╬п╫п╟ п╫п╣ п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ SSI.
14579 </para> 14579 </para>
14580 <para lang="en"> 14580 <para lang="en">
14581 if the variable was used in the configuration file, 14581 if the variable was used in the configuration file,
14582 then it can not be used in SSI. 14582 then it can not be used in SSI.
14583 </para> 14583 </para>
14588 14588
14589 <changes ver="0.1.40" date="22.07.2005"> 14589 <changes ver="0.1.40" date="22.07.2005">
14590 14590
14591 <change type="bugfix"> 14591 <change type="bugfix">
14592 <para lang="ru"> 14592 <para lang="ru">
14593 если клиент слал очень длинную строку заголовка, то в логе не помещалась 14593 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌ я│п╩п╟п╩ п╬я┤п╣п╫я▄ п╢п╩п╦п╫п╫я┐я▌ я│я┌я─п╬п╨я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟, я┌п╬ п╡ п╩п╬пЁп╣ п╫п╣ п©п╬п╪п╣я┴п╟п╩п╟я│я▄
14594 информация, связанная с этим запросом. 14594 п╦п╫я└п╬я─п╪п╟я├п╦я▐, я│п╡я▐п╥п╟п╫п╫п╟я▐ я│ я█я┌п╦п╪ п╥п╟п©я─п╬я│п╬п╪.
14595 </para> 14595 </para>
14596 <para lang="en"> 14596 <para lang="en">
14597 if a client sent too long header line, then the request information 14597 if a client sent too long header line, then the request information
14598 did not logged in the error log. 14598 did not logged in the error log.
14599 </para> 14599 </para>
14600 </change> 14600 </change>
14601 14601
14602 <change type="bugfix"> 14602 <change type="bugfix">
14603 <para lang="ru"> 14603 <para lang="ru">
14604 при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie"; 14604 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟ "Set-Cookie";
14605 ошибка появилась в 0.1.39. 14605 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.39.
14606 </para> 14606 </para>
14607 <para lang="en"> 14607 <para lang="en">
14608 the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect" 14608 the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect"
14609 was used; 14609 was used;
14610 the bug had appeared in 0.1.39. 14610 the bug had appeared in 0.1.39.
14611 </para> 14611 </para>
14612 </change> 14612 </change>
14613 14613
14614 <change type="bugfix"> 14614 <change type="bugfix">
14615 <para lang="ru"> 14615 <para lang="ru">
14616 при использовании "X-Accel-Redirect" не передавалась строка 14616 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ "X-Accel-Redirect" п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ я│я┌я─п╬п╨п╟
14617 "Content-Disposition". 14617 "Content-Disposition".
14618 </para> 14618 </para>
14619 <para lang="en"> 14619 <para lang="en">
14620 the "Content-Disposition" header line was not transferred when 14620 the "Content-Disposition" header line was not transferred when
14621 the "X-Accel-Redirect" was used. 14621 the "X-Accel-Redirect" was used.
14622 </para> 14622 </para>
14623 </change> 14623 </change>
14624 14624
14625 <change type="bugfix"> 14625 <change type="bugfix">
14626 <para lang="ru"> 14626 <para lang="ru">
14627 по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал. 14627 п©п╬ я│п╦пЁп╫п╟п╩я┐ SIGQUIT п╬я│п╫п╬п╡п╫п╬п╧ п©я─п╬я├п╣я│я│ п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩ я│п╬п╨п╣я┌я▀, п╫п╟ п╨п╬я┌п╬я─я▀я┘ п╬п╫ я│п╩я┐я┬п╟п╩.
14628 </para> 14628 </para>
14629 <para lang="en"> 14629 <para lang="en">
14630 the master process did not close the listen socket on the SIGQUIT signal. 14630 the master process did not close the listen socket on the SIGQUIT signal.
14631 </para> 14631 </para>
14632 </change> 14632 </change>
14633 14633
14634 <change type="bugfix"> 14634 <change type="bugfix">
14635 <para lang="ru"> 14635 <para lang="ru">
14636 после обновления исполняемого файла на лету на Linux и Solaris 14636 п©п╬я│п╩п╣ п╬п╠п╫п╬п╡п╩п╣п╫п╦я▐ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╟ п╩п╣я┌я┐ п╫п╟ Linux п╦ Solaris
14637 название процесса в команде ps становилось короче. 14637 п╫п╟п╥п╡п╟п╫п╦п╣ п©я─п╬я├п╣я│я│п╟ п╡ п╨п╬п╪п╟п╫п╢п╣ ps я│я┌п╟п╫п╬п╡п╦п╩п╬я│я▄ п╨п╬я─п╬я┤п╣.
14638 </para> 14638 </para>
14639 <para lang="en"> 14639 <para lang="en">
14640 after on-line upgrade on Linux and Solaris the process name 14640 after on-line upgrade on Linux and Solaris the process name
14641 became shorter in the "ps" command. 14641 became shorter in the "ps" command.
14642 </para> 14642 </para>
14647 14647
14648 <changes ver="0.1.39" date="14.07.2005"> 14648 <changes ver="0.1.39" date="14.07.2005">
14649 14649
14650 <change> 14650 <change>
14651 <para lang="ru"> 14651 <para lang="ru">
14652 Изменения в модуле ngx_http_charset_module: 14652 п≤п╥п╪п╣п╫п╣п╫п╦я▐ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_charset_module:
14653 директива default_charset упразднена; 14653 п╢п╦я─п╣п╨я┌п╦п╡п╟ default_charset я┐п©я─п╟п╥п╢п╫п╣п╫п╟;
14654 директива charset задаёт кодировку ответа; 14654 п╢п╦я─п╣п╨я┌п╦п╡п╟ charset п╥п╟п╢п╟я▒я┌ п╨п╬п╢п╦я─п╬п╡п╨я┐ п╬я┌п╡п╣я┌п╟;
14655 директива source_charset задаёт только исходную кодировку. 14655 п╢п╦я─п╣п╨я┌п╦п╡п╟ source_charset п╥п╟п╢п╟я▒я┌ я┌п╬п╩я▄п╨п╬ п╦я│я┘п╬п╢п╫я┐я▌ п╨п╬п╢п╦я─п╬п╡п╨я┐.
14656 </para> 14656 </para>
14657 <para lang="en"> 14657 <para lang="en">
14658 The changes in the ngx_http_charset_module: 14658 The changes in the ngx_http_charset_module:
14659 the "default_charset" directive was canceled; 14659 the "default_charset" directive was canceled;
14660 the "charset" directive sets the response charset; 14660 the "charset" directive sets the response charset;
14662 </para> 14662 </para>
14663 </change> 14663 </change>
14664 14664
14665 <change type="bugfix"> 14665 <change type="bugfix">
14666 <para lang="ru"> 14666 <para lang="ru">
14667 при перенаправлении ошибки 401, полученной от бэкенда, не передавалась 14667 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╬я┬п╦п╠п╨п╦ 401, п©п╬п╩я┐я┤п╣п╫п╫п╬п╧ п╬я┌ п╠я█п╨п╣п╫п╢п╟, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄
14668 строка заголовка "WWW-Authenticate". 14668 я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "WWW-Authenticate".
14669 </para> 14669 </para>
14670 <para lang="en"> 14670 <para lang="en">
14671 the backend "WWW-Authenticate" header line did not transferred while 14671 the backend "WWW-Authenticate" header line did not transferred while
14672 the 401 response code redirecting. 14672 the 401 response code redirecting.
14673 </para> 14673 </para>
14674 </change> 14674 </change>
14675 14675
14676 <change type="bugfix"> 14676 <change type="bugfix">
14677 <para lang="ru"> 14677 <para lang="ru">
14678 модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть 14678 п╪п╬п╢я┐п╩п╦ ngx_http_proxy_module п╦ ngx_http_fastcgi_module п╪п╬пЁп╩п╦ п╥п╟п╨я─я▀я┌я▄
14679 соединение до того, как что-нибудь было передано клиенту; 14679 я│п╬п╣п╢п╦п╫п╣п╫п╦п╣ п╢п╬ я┌п╬пЁп╬, п╨п╟п╨ я┤я┌п╬-п╫п╦п╠я┐п╢я▄ п╠я▀п╩п╬ п©п╣я─п╣п╢п╟п╫п╬ п╨п╩п╦п╣п╫я┌я┐;
14680 ошибка появилась в 0.1.38. 14680 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
14681 </para> 14681 </para>
14682 <para lang="en"> 14682 <para lang="en">
14683 the ngx_http_proxy_module and ngx_http_fastcgi_module may close 14683 the ngx_http_proxy_module and ngx_http_fastcgi_module may close
14684 a connection before anything was transferred to a client; 14684 a connection before anything was transferred to a client;
14685 the bug had appeared in 0.1.38. 14685 the bug had appeared in 0.1.38.
14686 </para> 14686 </para>
14687 </change> 14687 </change>
14688 14688
14689 <change type="workaround"> 14689 <change type="workaround">
14690 <para lang="ru"> 14690 <para lang="ru">
14691 обработка ошибки инициализации в crypt_r() в Linux glibc. 14691 п╬п╠я─п╟п╠п╬я┌п╨п╟ п╬я┬п╦п╠п╨п╦ п╦п╫п╦я├п╦п╟п╩п╦п╥п╟я├п╦п╦ п╡ crypt_r() п╡ Linux glibc.
14692 </para> 14692 </para>
14693 <para lang="en"> 14693 <para lang="en">
14694 the Linux glibc crypt_r() initialization bug. 14694 the Linux glibc crypt_r() initialization bug.
14695 </para> 14695 </para>
14696 </change> 14696 </change>
14697 14697
14698 <change type="bugfix"> 14698 <change type="bugfix">
14699 <para lang="ru"> 14699 <para lang="ru">
14700 модуль ngx_http_ssi_module не поддерживал относительные URI в 14700 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╣ URI п╡
14701 команде include virtual. 14701 п╨п╬п╪п╟п╫п╢п╣ include virtual.
14702 </para> 14702 </para>
14703 <para lang="en"> 14703 <para lang="en">
14704 the ngx_http_ssi_module did not support the relative URI in 14704 the ngx_http_ssi_module did not support the relative URI in
14705 the "include virtual" command. 14705 the "include virtual" command.
14706 </para> 14706 </para>
14707 </change> 14707 </change>
14708 14708
14709 <change type="bugfix"> 14709 <change type="bugfix">
14710 <para lang="ru"> 14710 <para lang="ru">
14711 если в строке заголовка ответа бэкенда была строка "Location", 14711 п╣я│п╩п╦ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╠я▀п╩п╟ я│я┌я─п╬п╨п╟ "Location",
14712 которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки; 14712 п╨п╬я┌п╬я─я┐я▌ nginx п╫п╣ п╢п╬п╩п╤п╣п╫ п╠я▀п╩ п╦п╥п╪п╣п╫я▐я┌я▄, я┌п╬ п╡ п╬я┌п╡п╣я┌п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄ я┌п╣п╩п╬ 500 п╬я┬п╦п╠п╨п╦;
14713 ошибка появилась в 0.1.29. 14713 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14714 </para> 14714 </para>
14715 <para lang="en"> 14715 <para lang="en">
14716 if the backend response had the "Location" header line and nginx 14716 if the backend response had the "Location" header line and nginx
14717 should not rewrite this line, then the 500 code response body was transferred; 14717 should not rewrite this line, then the 500 code response body was transferred;
14718 the bug had appeared in 0.1.29. 14718 the bug had appeared in 0.1.29.
14719 </para> 14719 </para>
14720 </change> 14720 </change>
14721 14721
14722 <change type="bugfix"> 14722 <change type="bugfix">
14723 <para lang="ru"> 14723 <para lang="ru">
14724 некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module 14724 п╫п╣п╨п╬я┌п╬я─я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╪п╬п╢я┐п╩п╣п╧ ngx_http_proxy_module п╦ ngx_http_fastcgi_module
14725 не наследовались с уровня server на уровень location; 14725 п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄ я│ я┐я─п╬п╡п╫я▐ server п╫п╟ я┐я─п╬п╡п╣п╫я▄ location;
14726 ошибка появилась в 0.1.29. 14726 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14727 </para> 14727 </para>
14728 <para lang="en"> 14728 <para lang="en">
14729 some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module 14729 some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module
14730 were not inherited from the server to the location level; 14730 were not inherited from the server to the location level;
14731 the bug had appeared in 0.1.29. 14731 the bug had appeared in 0.1.29.
14732 </para> 14732 </para>
14733 </change> 14733 </change>
14734 14734
14735 <change type="bugfix"> 14735 <change type="bugfix">
14736 <para lang="ru"> 14736 <para lang="ru">
14737 модуль ngx_http_ssl_module не поддерживал цепочки сертификатов. 14737 п╪п╬п╢я┐п╩я▄ ngx_http_ssl_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ я├п╣п©п╬я┤п╨п╦ я│п╣я─я┌п╦я└п╦п╨п╟я┌п╬п╡.
14738 </para> 14738 </para>
14739 <para lang="en"> 14739 <para lang="en">
14740 the ngx_http_ssl_module did not support the certificate chain. 14740 the ngx_http_ssl_module did not support the certificate chain.
14741 </para> 14741 </para>
14742 </change> 14742 </change>
14743 14743
14744 <change type="bugfix"> 14744 <change type="bugfix">
14745 <para lang="ru"> 14745 <para lang="ru">
14746 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 14746 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡;
14747 ошибка появилась в 0.1.38. 14747 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.38.
14748 </para> 14748 </para>
14749 <para lang="en"> 14749 <para lang="en">
14750 the ngx_http_autoindex_module did not show correctly the long file names; 14750 the ngx_http_autoindex_module did not show correctly the long file names;
14751 the bug had appeared in 0.1.38. 14751 the bug had appeared in 0.1.38.
14752 </para> 14752 </para>
14753 </change> 14753 </change>
14754 14754
14755 <change> 14755 <change>
14756 <para lang="ru"> 14756 <para lang="ru">
14757 Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login. 14757 п≤я│п©я─п╟п╡п╩п╣п╫п╦я▐ п╡ IMAP/POP3 п©я─п╬п╨я│п╦ п©я─п╦ п╡п╥п╟п╦п╪п╬п╢п╣п╧я│я┌п╡п╦п╦ я│ п╠я█п╨п╣п╫п╢п╬п╪ п╫п╟ я│я┌п╟п╢п╦п╦ login.
14758 </para> 14758 </para>
14759 <para lang="en"> 14759 <para lang="en">
14760 Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. 14760 Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state.
14761 </para> 14761 </para>
14762 </change> 14762 </change>
14766 14766
14767 <changes ver="0.1.38" date="08.07.2005"> 14767 <changes ver="0.1.38" date="08.07.2005">
14768 14768
14769 <change type="feature"> 14769 <change type="feature">
14770 <para lang="ru"> 14770 <para lang="ru">
14771 директива limit_rate поддерживается в режиме прокси и FastCGI. 14771 п╢п╦я─п╣п╨я┌п╦п╡п╟ limit_rate п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI.
14772 </para> 14772 </para>
14773 <para lang="en"> 14773 <para lang="en">
14774 the "limit_rate" directive is supported in in proxy and FastCGI mode. 14774 the "limit_rate" directive is supported in in proxy and FastCGI mode.
14775 </para> 14775 </para>
14776 </change> 14776 </change>
14777 14777
14778 <change type="feature"> 14778 <change type="feature">
14779 <para lang="ru"> 14779 <para lang="ru">
14780 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate" 14780 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Limit-Rate"
14781 в ответе бэкенда. 14781 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
14782 </para> 14782 </para>
14783 <para lang="en"> 14783 <para lang="en">
14784 the "X-Accel-Limit-Rate" response header line is supported in proxy 14784 the "X-Accel-Limit-Rate" response header line is supported in proxy
14785 and FastCGI mode. 14785 and FastCGI mode.
14786 </para> 14786 </para>
14787 </change> 14787 </change>
14788 14788
14789 <change type="feature"> 14789 <change type="feature">
14790 <para lang="ru"> 14790 <para lang="ru">
14791 директива break. 14791 п╢п╦я─п╣п╨я┌п╦п╡п╟ break.
14792 </para> 14792 </para>
14793 <para lang="en"> 14793 <para lang="en">
14794 the "break" directive. 14794 the "break" directive.
14795 </para> 14795 </para>
14796 </change> 14796 </change>
14797 14797
14798 <change type="feature"> 14798 <change type="feature">
14799 <para lang="ru"> 14799 <para lang="ru">
14800 директива log_not_found. 14800 п╢п╦я─п╣п╨я┌п╦п╡п╟ log_not_found.
14801 </para> 14801 </para>
14802 <para lang="en"> 14802 <para lang="en">
14803 the "log_not_found" directive. 14803 the "log_not_found" directive.
14804 </para> 14804 </para>
14805 </change> 14805 </change>
14806 14806
14807 <change type="bugfix"> 14807 <change type="bugfix">
14808 <para lang="ru"> 14808 <para lang="ru">
14809 при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect" 14809 п©я─п╦ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╦ п╥п╟п©я─п╬я│п╟ я│ п©п╬п╪п╬я┴я▄я▌ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Redirect"
14810 не изменялся код ответа. 14810 п╫п╣ п╦п╥п╪п╣п╫я▐п╩я│я▐ п╨п╬п╢ п╬я┌п╡п╣я┌п╟.
14811 </para> 14811 </para>
14812 <para lang="en"> 14812 <para lang="en">
14813 the response status code was not changed when request was redirected 14813 the response status code was not changed when request was redirected
14814 by the ""X-Accel-Redirect" header line. 14814 by the ""X-Accel-Redirect" header line.
14815 </para> 14815 </para>
14816 </change> 14816 </change>
14817 14817
14818 <change type="bugfix"> 14818 <change type="bugfix">
14819 <para lang="ru"> 14819 <para lang="ru">
14820 переменные, установленные директивой set не могли использоваться в SSI. 14820 п©п╣я─п╣п╪п╣п╫п╫я▀п╣, я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ set п╫п╣ п╪п╬пЁп╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ SSI.
14821 </para> 14821 </para>
14822 <para lang="en"> 14822 <para lang="en">
14823 the variables set by the "set" directive could not be used in SSI. 14823 the variables set by the "set" directive could not be used in SSI.
14824 </para> 14824 </para>
14825 </change> 14825 </change>
14826 14826
14827 <change type="bugfix"> 14827 <change type="bugfix">
14828 <para lang="ru"> 14828 <para lang="ru">
14829 при включении в SSI более одного удалённого подзапроса 14829 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╡ SSI п╠п╬п╩п╣п╣ п╬п╢п╫п╬пЁп╬ я┐п╢п╟п╩я▒п╫п╫п╬пЁп╬ п©п╬п╢п╥п╟п©я─п╬я│п╟
14830 мог произойти segmentation fault. 14830 п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
14831 </para> 14831 </para>
14832 <para lang="en"> 14832 <para lang="en">
14833 the segmentation fault may occurred if the SSI page has more than one 14833 the segmentation fault may occurred if the SSI page has more than one
14834 remote subrequest. 14834 remote subrequest.
14835 </para> 14835 </para>
14836 </change> 14836 </change>
14837 14837
14838 <change type="bugfix"> 14838 <change type="bugfix">
14839 <para lang="ru"> 14839 <para lang="ru">
14840 если статусная строка в ответе бэкенда передавалась в двух пакетах, то 14840 п╣я│п╩п╦ я│я┌п╟я┌я┐я│п╫п╟я▐ я│я┌я─п╬п╨п╟ п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟ п©п╣я─п╣п╢п╟п╡п╟п╩п╟я│я▄ п╡ п╢п╡я┐я┘ п©п╟п╨п╣я┌п╟я┘, я┌п╬
14841 nginx считал ответ неверным; 14841 nginx я│я┤п╦я┌п╟п╩ п╬я┌п╡п╣я┌ п╫п╣п╡п╣я─п╫я▀п╪;
14842 ошибка появилась в 0.1.29. 14842 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
14843 </para> 14843 </para>
14844 <para lang="en"> 14844 <para lang="en">
14845 nginx treated the backend response as invalid if the status line in the 14845 nginx treated the backend response as invalid if the status line in the
14846 header was transferred in two packets; 14846 header was transferred in two packets;
14847 the bug had appeared in 0.1.29. 14847 the bug had appeared in 0.1.29.
14848 </para> 14848 </para>
14849 </change> 14849 </change>
14850 14850
14851 <change type="feature"> 14851 <change type="feature">
14852 <para lang="ru"> 14852 <para lang="ru">
14853 директива ssi_types. 14853 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_types.
14854 </para> 14854 </para>
14855 <para lang="en"> 14855 <para lang="en">
14856 the "ssi_types" directive. 14856 the "ssi_types" directive.
14857 </para> 14857 </para>
14858 </change> 14858 </change>
14859 14859
14860 <change type="feature"> 14860 <change type="feature">
14861 <para lang="ru"> 14861 <para lang="ru">
14862 директива autoindex_exact_size. 14862 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex_exact_size.
14863 </para> 14863 </para>
14864 <para lang="en"> 14864 <para lang="en">
14865 the "autoindex_exact_size" directive. 14865 the "autoindex_exact_size" directive.
14866 </para> 14866 </para>
14867 </change> 14867 </change>
14868 14868
14869 <change type="bugfix"> 14869 <change type="bugfix">
14870 <para lang="ru"> 14870 <para lang="ru">
14871 модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8. 14871 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╢п╩п╦п╫п╫я▀п╣ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡ п╡ UTF-8.
14872 </para> 14872 </para>
14873 <para lang="en"> 14873 <para lang="en">
14874 the ngx_http_autoindex_module did not support the long file names in UTF-8. 14874 the ngx_http_autoindex_module did not support the long file names in UTF-8.
14875 </para> 14875 </para>
14876 </change> 14876 </change>
14877 14877
14878 <change type="feature"> 14878 <change type="feature">
14879 <para lang="ru"> 14879 <para lang="ru">
14880 IMAP/POP3 прокси. 14880 IMAP/POP3 п©я─п╬п╨я│п╦.
14881 </para> 14881 </para>
14882 <para lang="en"> 14882 <para lang="en">
14883 the IMAP/POP3 proxy. 14883 the IMAP/POP3 proxy.
14884 </para> 14884 </para>
14885 </change> 14885 </change>
14889 14889
14890 <changes ver="0.1.37" date="23.06.2005"> 14890 <changes ver="0.1.37" date="23.06.2005">
14891 14891
14892 <change type="change"> 14892 <change type="change">
14893 <para lang="ru"> 14893 <para lang="ru">
14894 в конце файла nginx.pid теперь добавляется "\n". 14894 п╡ п╨п╬п╫я├п╣ я└п╟п╧п╩п╟ nginx.pid я┌п╣п©п╣я─я▄ п╢п╬п╠п╟п╡п╩я▐п╣я┌я│я▐ "\n".
14895 </para> 14895 </para>
14896 <para lang="en"> 14896 <para lang="en">
14897 now the "\n" is added to the end of the "nginx.pid" file. 14897 now the "\n" is added to the end of the "nginx.pid" file.
14898 </para> 14898 </para>
14899 </change> 14899 </change>
14900 14900
14901 <change type="bugfix"> 14901 <change type="bugfix">
14902 <para lang="ru"> 14902 <para lang="ru">
14903 при включении большого количества вставок или нескольких больших вставок 14903 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╠п╬п╩я▄я┬п╬пЁп╬ п╨п╬п╩п╦я┤п╣я│я┌п╡п╟ п╡я│я┌п╟п╡п╬п╨ п╦п╩п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘ п╠п╬п╩я▄я┬п╦я┘ п╡я│я┌п╟п╡п╬п╨
14904 с помощью SSI ответ мог передаваться не полностью. 14904 я│ п©п╬п╪п╬я┴я▄я▌ SSI п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
14905 </para> 14905 </para>
14906 <para lang="en"> 14906 <para lang="en">
14907 the responses may be transferred not completely, 14907 the responses may be transferred not completely,
14908 if many parts or the big parts were included by SSI. 14908 if many parts or the big parts were included by SSI.
14909 </para> 14909 </para>
14910 </change> 14910 </change>
14911 14911
14912 <change type="bugfix"> 14912 <change type="bugfix">
14913 <para lang="ru"> 14913 <para lang="ru">
14914 если все бэкенды возвращали ответ 404, то при использовании параметра http_404 14914 п╣я│п╩п╦ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀ п╡п╬п╥п╡я─п╟я┴п╟п╩п╦ п╬я┌п╡п╣я┌ 404, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п©п╟я─п╟п╪п╣я┌я─п╟ http_404
14915 в директивах proxy_next_upstream или fastcgi_next_upstream, nginx 14915 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ proxy_next_upstream п╦п╩п╦ fastcgi_next_upstream, nginx
14916 начинал запрашивать все бэкенды снова. 14916 п╫п╟я┤п╦п╫п╟п╩ п╥п╟п©я─п╟я┬п╦п╡п╟я┌я▄ п╡я│п╣ п╠я█п╨п╣п╫п╢я▀ я│п╫п╬п╡п╟.
14917 </para> 14917 </para>
14918 <para lang="en"> 14918 <para lang="en">
14919 if all backends had returned the 404 reponse and the "http_404" parameter of 14919 if all backends had returned the 404 reponse and the "http_404" parameter of
14920 the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used, 14920 the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used,
14921 then nginx started to request all backends again. 14921 then nginx started to request all backends again.
14927 14927
14928 <changes ver="0.1.36" date="15.06.2005"> 14928 <changes ver="0.1.36" date="15.06.2005">
14929 14929
14930 <change type="change"> 14930 <change type="change">
14931 <para lang="ru"> 14931 <para lang="ru">
14932 если в заголовке запросе есть дублирующиеся строки "Host", "Connection", 14932 п╣я│п╩п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ п╢я┐п╠п╩п╦я─я┐я▌я┴п╦п╣я│я▐ я│я┌я─п╬п╨п╦ "Host", "Connection",
14933 "Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400. 14933 "Content-Length" п╦ "Authorization", я┌п╬ nginx я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ п╬я┬п╦п╠п╨я┐ 400.
14934 </para> 14934 </para>
14935 <para lang="en"> 14935 <para lang="en">
14936 if the request header has duplicate the "Host", "Connection", "Content-Length", 14936 if the request header has duplicate the "Host", "Connection", "Content-Length",
14937 or "Authorization" lines, then nginx now returns the 400 error. 14937 or "Authorization" lines, then nginx now returns the 400 error.
14938 </para> 14938 </para>
14939 </change> 14939 </change>
14940 14940
14941 <change type="change"> 14941 <change type="change">
14942 <para lang="ru"> 14942 <para lang="ru">
14943 директива post_accept_timeout упразднена. 14943 п╢п╦я─п╣п╨я┌п╦п╡п╟ post_accept_timeout я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
14944 </para> 14944 </para>
14945 <para lang="en"> 14945 <para lang="en">
14946 the "post_accept_timeout" directive was canceled. 14946 the "post_accept_timeout" directive was canceled.
14947 </para> 14947 </para>
14948 </change> 14948 </change>
14949 14949
14950 <change type="feature"> 14950 <change type="feature">
14951 <para lang="ru"> 14951 <para lang="ru">
14952 параметры default, af=, bl=, deferred и bind в директиве listen. 14952 п©п╟я─п╟п╪п╣я┌я─я▀ default, af=, bl=, deferred п╦ bind п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ listen.
14953 </para> 14953 </para>
14954 <para lang="en"> 14954 <para lang="en">
14955 the "default", "af=", "bl=", "deferred", and "bind" parameters 14955 the "default", "af=", "bl=", "deferred", and "bind" parameters
14956 of the "listen" directive. 14956 of the "listen" directive.
14957 </para> 14957 </para>
14958 </change> 14958 </change>
14959 14959
14960 <change type="feature"> 14960 <change type="feature">
14961 <para lang="ru"> 14961 <para lang="ru">
14962 поддержка accept фильтров во FreeBSD. 14962 п©п╬п╢п╢п╣я─п╤п╨п╟ accept я└п╦п╩я▄я┌я─п╬п╡ п╡п╬ FreeBSD.
14963 </para> 14963 </para>
14964 <para lang="en"> 14964 <para lang="en">
14965 the FreeBSD accept filters support. 14965 the FreeBSD accept filters support.
14966 </para> 14966 </para>
14967 </change> 14967 </change>
14968 14968
14969 <change type="feature"> 14969 <change type="feature">
14970 <para lang="ru"> 14970 <para lang="ru">
14971 поддержка TCP_DEFER_ACCEPT в Linux. 14971 п©п╬п╢п╢п╣я─п╤п╨п╟ TCP_DEFER_ACCEPT п╡ Linux.
14972 </para> 14972 </para>
14973 <para lang="en"> 14973 <para lang="en">
14974 the Linux TCP_DEFER_ACCEPT support. 14974 the Linux TCP_DEFER_ACCEPT support.
14975 </para> 14975 </para>
14976 </change> 14976 </change>
14977 14977
14978 <change type="bugfix"> 14978 <change type="bugfix">
14979 <para lang="ru"> 14979 <para lang="ru">
14980 модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8. 14980 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╩ п╦п╪п╣п╫п╟ я└п╟п╧п╩п╬п╡ п╡ UTF-8.
14981 </para> 14981 </para>
14982 <para lang="en"> 14982 <para lang="en">
14983 the ngx_http_autoindex_module did not support the file names in UTF-8. 14983 the ngx_http_autoindex_module did not support the file names in UTF-8.
14984 </para> 14984 </para>
14985 </change> 14985 </change>
14986 14986
14987 <change type="bugfix"> 14987 <change type="bugfix">
14988 <para lang="ru"> 14988 <para lang="ru">
14989 после добавления новый лог-файл ротация этого лога по сигналу -USR1 14989 п©п╬я│п╩п╣ п╢п╬п╠п╟п╡п╩п╣п╫п╦я▐ п╫п╬п╡я▀п╧ п╩п╬пЁ-я└п╟п╧п╩ я─п╬я┌п╟я├п╦я▐ я█я┌п╬пЁп╬ п╩п╬пЁп╟ п©п╬ я│п╦пЁп╫п╟п╩я┐ -USR1
14990 выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP. 14990 п╡я▀п©п╬п╩п╫я▐п╩п╟я│я▄, я┌п╬п╩я▄п╨п╬ п╣я│п╩п╦ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟я┌я▄ nginx п╢п╡п╟ я─п╟п╥п╟ п©п╬ я│п╦пЁп╫п╟п╩я┐ -HUP.
14991 </para> 14991 </para>
14992 <para lang="en"> 14992 <para lang="en">
14993 the new log file can be rotated by the -USR1 signal only if 14993 the new log file can be rotated by the -USR1 signal only if
14994 the reconfiguration by the -HUP signal was made twice. 14994 the reconfiguration by the -HUP signal was made twice.
14995 </para> 14995 </para>
15000 15000
15001 <changes ver="0.1.35" date="07.06.2005"> 15001 <changes ver="0.1.35" date="07.06.2005">
15002 15002
15003 <change type="feature"> 15003 <change type="feature">
15004 <para lang="ru"> 15004 <para lang="ru">
15005 директива working_directory. 15005 п╢п╦я─п╣п╨я┌п╦п╡п╟ working_directory.
15006 </para> 15006 </para>
15007 <para lang="en"> 15007 <para lang="en">
15008 the "working_directory" directive. 15008 the "working_directory" directive.
15009 </para> 15009 </para>
15010 </change> 15010 </change>
15011 15011
15012 <change type="feature"> 15012 <change type="feature">
15013 <para lang="ru"> 15013 <para lang="ru">
15014 директива port_in_redirect. 15014 п╢п╦я─п╣п╨я┌п╦п╡п╟ port_in_redirect.
15015 </para> 15015 </para>
15016 <para lang="en"> 15016 <para lang="en">
15017 the "port_in_redirect" directive. 15017 the "port_in_redirect" directive.
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 если заголовок ответа бэкенда не помещался в один пакет, то 15023 п╣я│п╩п╦ п╥п╟пЁп╬п╩п╬п╡п╬п╨ п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟ п╫п╣ п©п╬п╪п╣я┴п╟п╩я│я▐ п╡ п╬п╢п╦п╫ п©п╟п╨п╣я┌, я┌п╬
15024 происходил segmentation fault; 15024 п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault;
15025 ошибка появилась в 0.1.29. 15025 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15026 </para> 15026 </para>
15027 <para lang="en"> 15027 <para lang="en">
15028 the segmentation fault was occurred if the backend response header was in 15028 the segmentation fault was occurred if the backend response header was in
15029 several packets; 15029 several packets;
15030 the bug had appeared in 0.1.29. 15030 the bug had appeared in 0.1.29.
15031 </para> 15031 </para>
15032 </change> 15032 </change>
15033 15033
15034 <change type="bugfix"> 15034 <change type="bugfix">
15035 <para lang="ru"> 15035 <para lang="ru">
15036 если было сконфигурировано более 10 серверов или в сервере не описана 15036 п╣я│п╩п╦ п╠я▀п╩п╬ я│п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟п╫п╬ п╠п╬п╩п╣п╣ 10 я│п╣я─п╡п╣я─п╬п╡ п╦п╩п╦ п╡ я│п╣я─п╡п╣я─п╣ п╫п╣ п╬п©п╦я│п╟п╫п╟
15037 директива "listen", 15037 п╢п╦я─п╣п╨я┌п╦п╡п╟ "listen",
15038 то при запуске мог произойти segmentation fault. 15038 я┌п╬ п©я─п╦ п╥п╟п©я┐я│п╨п╣ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
15039 </para> 15039 </para>
15040 <para lang="en"> 15040 <para lang="en">
15041 if more than 10 servers were configured or some server did not use the 15041 if more than 10 servers were configured or some server did not use the
15042 "listen" directive, then the segmentation fault was occurred on the start. 15042 "listen" directive, then the segmentation fault was occurred on the start.
15043 </para> 15043 </para>
15044 </change> 15044 </change>
15045 15045
15046 <change type="bugfix"> 15046 <change type="bugfix">
15047 <para lang="ru"> 15047 <para lang="ru">
15048 если ответ не помещался во временный файл, 15048 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п╫п╣ п©п╬п╪п╣я┴п╟п╩я│я▐ п╡п╬ п╡я─п╣п╪п╣п╫п╫я▀п╧ я└п╟п╧п╩,
15049 то мог произойти segmentation fault. 15049 я┌п╬ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault.
15050 </para> 15050 </para>
15051 <para lang="en"> 15051 <para lang="en">
15052 the segmentation fault might occur if the response was bigger than 15052 the segmentation fault might occur if the response was bigger than
15053 the temporary file. 15053 the temporary file.
15054 </para> 15054 </para>
15055 </change> 15055 </change>
15056 15056
15057 <change type="bugfix"> 15057 <change type="bugfix">
15058 <para lang="ru"> 15058 <para lang="ru">
15059 nginx возвращал ошибку 400 на запросы вида 15059 nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 400 п╫п╟ п╥п╟п©я─п╬я│я▀ п╡п╦п╢п╟
15060 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 15060 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
15061 ошибка появилась в 0.1.28. 15061 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.28.
15062 </para> 15062 </para>
15063 <para lang="en"> 15063 <para lang="en">
15064 nginx returned the 400 response on requests like 15064 nginx returned the 400 response on requests like
15065 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 15065 <nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>;
15066 the bug had appeared in 0.1.28. 15066 the bug had appeared in 0.1.28.
15072 15072
15073 <changes ver="0.1.34" date="26.05.2005"> 15073 <changes ver="0.1.34" date="26.05.2005">
15074 15074
15075 <change type="bugfix"> 15075 <change type="bugfix">
15076 <para lang="ru"> 15076 <para lang="ru">
15077 при включении больших ответов с помощью SSI рабочий процесс мог зациклиться. 15077 п©я─п╦ п╡п╨п╩я▌я┤п╣п╫п╦п╦ п╠п╬п╩я▄я┬п╦я┘ п╬я┌п╡п╣я┌п╬п╡ я│ п©п╬п╪п╬я┴я▄я▌ SSI я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
15078 </para> 15078 </para>
15079 <para lang="en"> 15079 <para lang="en">
15080 the worker process may got caught in an endless loop if the big response 15080 the worker process may got caught in an endless loop if the big response
15081 part were include by SSI. 15081 part were include by SSI.
15082 </para> 15082 </para>
15083 </change> 15083 </change>
15084 15084
15085 <change type="bugfix"> 15085 <change type="bugfix">
15086 <para lang="ru"> 15086 <para lang="ru">
15087 переменные, устанавливаемые директивой "set", не были доступны в SSI. 15087 п©п╣я─п╣п╪п╣п╫п╫я▀п╣, я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣п╪я▀п╣ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ "set", п╫п╣ п╠я▀п╩п╦ п╢п╬я│я┌я┐п©п╫я▀ п╡ SSI.
15088 </para> 15088 </para>
15089 <para lang="en"> 15089 <para lang="en">
15090 the variables set by the "set" directive were not available in SSI. 15090 the variables set by the "set" directive were not available in SSI.
15091 </para> 15091 </para>
15092 </change> 15092 </change>
15093 15093
15094 <change type="feature"> 15094 <change type="feature">
15095 <para lang="ru"> 15095 <para lang="ru">
15096 директива autoindex_localtime. 15096 п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex_localtime.
15097 </para> 15097 </para>
15098 <para lang="en"> 15098 <para lang="en">
15099 the "autoindex_localtime" directive. 15099 the "autoindex_localtime" directive.
15100 </para> 15100 </para>
15101 </change> 15101 </change>
15102 15102
15103 <change type="bugfix"> 15103 <change type="bugfix">
15104 <para lang="ru"> 15104 <para lang="ru">
15105 пустое значение в директиве proxy_set_header запрещает передачу заголовка. 15105 п©я┐я│я┌п╬п╣ п╥п╫п╟я┤п╣п╫п╦п╣ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_set_header п╥п╟п©я─п╣я┴п╟п╣я┌ п©п╣я─п╣п╢п╟я┤я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟.
15106 </para> 15106 </para>
15107 <para lang="en"> 15107 <para lang="en">
15108 the empty value of the "proxy_set_header" directive forbids the client 15108 the empty value of the "proxy_set_header" directive forbids the client
15109 request header line passing. 15109 request header line passing.
15110 </para> 15110 </para>
15115 15115
15116 <changes ver="0.1.33" date="23.05.2005"> 15116 <changes ver="0.1.33" date="23.05.2005">
15117 15117
15118 <change type="bugfix"> 15118 <change type="bugfix">
15119 <para lang="ru"> 15119 <para lang="ru">
15120 nginx не собирался с параметром --without-pcre; 15120 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ я│ п©п╟я─п╟п╪п╣я┌я─п╬п╪ --without-pcre;
15121 ошибка появилась в 0.1.29. 15121 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15122 </para> 15122 </para>
15123 <para lang="en"> 15123 <para lang="en">
15124 nginx could not be built with the --without-pcre parameter; 15124 nginx could not be built with the --without-pcre parameter;
15125 the bug had appeared in 0.1.29. 15125 the bug had appeared in 0.1.29.
15126 </para> 15126 </para>
15127 </change> 15127 </change>
15128 15128
15129 <change type="bugfix"> 15129 <change type="bugfix">
15130 <para lang="ru"> 15130 <para lang="ru">
15131 3, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали 15131 3, 5, 7 п╦ 8 п╢п╦я─п╣п╨я┌п╦п╡ proxy_set_header п╫п╟ п╬п╢п╫п╬п╪ я┐я─п╬п╡п╫п╣ п╡я▀п╥я▀п╡п╟п╩п╦
15132 bus fault при запуске. 15132 bus fault п©я─п╦ п╥п╟п©я┐я│п╨п╣.
15133 </para> 15133 </para>
15134 <para lang="en"> 15134 <para lang="en">
15135 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause 15135 3, 4, 7, and 8 the "proxy_set_header" directives in one level cause
15136 the bus fault on start up. 15136 the bus fault on start up.
15137 </para> 15137 </para>
15138 </change> 15138 </change>
15139 15139
15140 <change type="bugfix"> 15140 <change type="bugfix">
15141 <para lang="ru"> 15141 <para lang="ru">
15142 в редиректах внутри HTTPS сервера был указан протокол HTTP. 15142 п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘ п╡п╫я┐я┌я─п╦ HTTPS я│п╣я─п╡п╣я─п╟ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©я─п╬я┌п╬п╨п╬п╩ HTTP.
15143 </para> 15143 </para>
15144 <para lang="en"> 15144 <para lang="en">
15145 the HTTP protocol was specified in the HTTPS redirects. 15145 the HTTP protocol was specified in the HTTPS redirects.
15146 </para> 15146 </para>
15147 </change> 15147 </change>
15148 15148
15149 <change type="bugfix"> 15149 <change type="bugfix">
15150 <para lang="ru"> 15150 <para lang="ru">
15151 если директива rewrite использовала выделения внутри директивы if, то 15151 п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡п╫я┐я┌я─п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ if, я┌п╬
15152 возвращалась ошибка 500. 15152 п╡п╬п╥п╡я─п╟я┴п╟п╩п╟я│я▄ п╬я┬п╦п╠п╨п╟ 500.
15153 </para> 15153 </para>
15154 <para lang="en"> 15154 <para lang="en">
15155 if the "rewrite" directive used the captures inside the "if" directive, then 15155 if the "rewrite" directive used the captures inside the "if" directive, then
15156 the 500 error code was returned. 15156 the 500 error code was returned.
15157 </para> 15157 </para>
15162 15162
15163 <changes ver="0.1.32" date="19.05.2005"> 15163 <changes ver="0.1.32" date="19.05.2005">
15164 15164
15165 <change type="bugfix"> 15165 <change type="bugfix">
15166 <para lang="ru"> 15166 <para lang="ru">
15167 в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы; 15167 п╡ я─п╣п╢п╦я─п╣п╨я┌п╟я┘, п╡я▀п╢п╟п╡п╟п╣п╪я▀я┘ я│ п©п╬п╪п╬я┴я▄я▌ п╢п╦я─п╣п╨я┌п╦п╡я▀ rewrite, п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╟я─пЁя┐п╪п╣п╫я┌я▀;
15168 ошибка появилась в 0.1.29. 15168 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.29.
15169 </para> 15169 </para>
15170 <para lang="en"> 15170 <para lang="en">
15171 the arguments were omitted in the redirects, issued by the "rewrite" directive; 15171 the arguments were omitted in the redirects, issued by the "rewrite" directive;
15172 the bug had appeared in 0.1.29. 15172 the bug had appeared in 0.1.29.
15173 </para> 15173 </para>
15174 </change> 15174 </change>
15175 15175
15176 <change type="feature"> 15176 <change type="feature">
15177 <para lang="ru"> 15177 <para lang="ru">
15178 директива if поддерживает выделения в регулярных выражениях. 15178 п╢п╦я─п╣п╨я┌п╦п╡п╟ if п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╡ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦я▐я┘.
15179 </para> 15179 </para>
15180 <para lang="en"> 15180 <para lang="en">
15181 the "if" directive supports the captures in regular expressions. 15181 the "if" directive supports the captures in regular expressions.
15182 </para> 15182 </para>
15183 </change> 15183 </change>
15184 15184
15185 <change type="feature"> 15185 <change type="feature">
15186 <para lang="ru"> 15186 <para lang="ru">
15187 директива set поддерживает переменные и выделения из регулярных выражений. 15187 п╢п╦я─п╣п╨я┌п╦п╡п╟ set п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ п╡я▀п╢п╣п╩п╣п╫п╦я▐ п╦п╥ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦п╧.
15188 </para> 15188 </para>
15189 <para lang="en"> 15189 <para lang="en">
15190 the "set" directive supports the variables and the captures of regular 15190 the "set" directive supports the variables and the captures of regular
15191 expressions. 15191 expressions.
15192 </para> 15192 </para>
15193 </change> 15193 </change>
15194 15194
15195 <change type="feature"> 15195 <change type="feature">
15196 <para lang="ru"> 15196 <para lang="ru">
15197 в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect" 15197 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╦ FastCGI п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌я│я▐ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "X-Accel-Redirect"
15198 в ответе бэкенда. 15198 п╡ п╬я┌п╡п╣я┌п╣ п╠я█п╨п╣п╫п╢п╟.
15199 </para> 15199 </para>
15200 <para lang="en"> 15200 <para lang="en">
15201 the "X-Accel-Redirect" response header line is supported in proxy and FastCGI 15201 the "X-Accel-Redirect" response header line is supported in proxy and FastCGI
15202 mode. 15202 mode.
15203 </para> 15203 </para>
15208 15208
15209 <changes ver="0.1.31" date="16.05.2005"> 15209 <changes ver="0.1.31" date="16.05.2005">
15210 15210
15211 <change type="bugfix"> 15211 <change type="bugfix">
15212 <para lang="ru"> 15212 <para lang="ru">
15213 при использовании SSL ответ мог передаваться не до конца. 15213 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
15214 </para> 15214 </para>
15215 <para lang="en"> 15215 <para lang="en">
15216 the response encrypted by SSL may not transferred complete. 15216 the response encrypted by SSL may not transferred complete.
15217 </para> 15217 </para>
15218 </change> 15218 </change>
15219 15219
15220 <change type="bugfix"> 15220 <change type="bugfix">
15221 <para lang="ru"> 15221 <para lang="ru">
15222 ошибки при обработке SSI в ответе, полученного от FastCGI-сервера. 15222 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ SSI п╡ п╬я┌п╡п╣я┌п╣, п©п╬п╩я┐я┤п╣п╫п╫п╬пЁп╬ п╬я┌ FastCGI-я│п╣я─п╡п╣я─п╟.
15223 </para> 15223 </para>
15224 <para lang="en"> 15224 <para lang="en">
15225 errors while processing FastCGI response by SSI. 15225 errors while processing FastCGI response by SSI.
15226 </para> 15226 </para>
15227 </change> 15227 </change>
15228 15228
15229 <change type="bugfix"> 15229 <change type="bugfix">
15230 <para lang="ru"> 15230 <para lang="ru">
15231 ошибки при использовании SSI и сжатия. 15231 п╬я┬п╦п╠п╨п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI п╦ я│п╤п╟я┌п╦я▐.
15232 </para> 15232 </para>
15233 <para lang="en"> 15233 <para lang="en">
15234 errors while using SSI and gzipping. 15234 errors while using SSI and gzipping.
15235 </para> 15235 </para>
15236 </change> 15236 </change>
15237 15237
15238 <change type="bugfix"> 15238 <change type="bugfix">
15239 <para lang="ru"> 15239 <para lang="ru">
15240 редирект с кодом 301 передавался без тела ответа; 15240 я─п╣п╢п╦я─п╣п╨я┌ я│ п╨п╬п╢п╬п╪ 301 п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╠п╣п╥ я┌п╣п╩п╟ п╬я┌п╡п╣я┌п╟;
15241 ошибка появилась в 0.1.30. 15241 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.30.
15242 </para> 15242 </para>
15243 <para lang="en"> 15243 <para lang="en">
15244 the redirect with the 301 code was transferred without response body; 15244 the redirect with the 301 code was transferred without response body;
15245 the bug had appeared in 0.1.30. 15245 the bug had appeared in 0.1.30.
15246 </para> 15246 </para>
15251 15251
15252 <changes ver="0.1.30" date="14.05.2005"> 15252 <changes ver="0.1.30" date="14.05.2005">
15253 15253
15254 <change type="bugfix"> 15254 <change type="bugfix">
15255 <para lang="ru"> 15255 <para lang="ru">
15256 при использовании SSI рабочий процесс мог зациклиться. 15256 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSI я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟я├п╦п╨п╩п╦я┌я▄я│я▐.
15257 </para> 15257 </para>
15258 <para lang="en"> 15258 <para lang="en">
15259 the worker process may got caught in an endless loop if the SSI was used. 15259 the worker process may got caught in an endless loop if the SSI was used.
15260 </para> 15260 </para>
15261 </change> 15261 </change>
15262 15262
15263 <change type="bugfix"> 15263 <change type="bugfix">
15264 <para lang="ru"> 15264 <para lang="ru">
15265 при использовании SSL ответ мог передаваться не до конца. 15265 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
15266 </para> 15266 </para>
15267 <para lang="en"> 15267 <para lang="en">
15268 the response encrypted by SSL may not transferred complete. 15268 the response encrypted by SSL may not transferred complete.
15269 </para> 15269 </para>
15270 </change> 15270 </change>
15271 15271
15272 <change type="bugfix"> 15272 <change type="bugfix">
15273 <para lang="ru"> 15273 <para lang="ru">
15274 если длина части ответа, полученного за один раз от проксируемого или 15274 п╣я│п╩п╦ п╢п╩п╦п╫п╟ я┤п╟я│я┌п╦ п╬я┌п╡п╣я┌п╟, п©п╬п╩я┐я┤п╣п╫п╫п╬пЁп╬ п╥п╟ п╬п╢п╦п╫ я─п╟п╥ п╬я┌ п©я─п╬п╨я│п╦я─я┐п╣п╪п╬пЁп╬ п╦п╩п╦
15275 FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500; 15275 FastCGI я│п╣я─п╡п╣я─п╟ п╠я▀п╩п╟ я─п╟п╡п╫п╟ 500 п╠п╟п╧я┌, я┌п╬ nginx п╡п╬п╥п╡я─п╟я┴п╟п╩ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ 500;
15276 в режиме прокси ошибка появилась только в 0.1.29. 15276 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ я┌п╬п╩я▄п╨п╬ п╡ 0.1.29.
15277 </para> 15277 </para>
15278 <para lang="en"> 15278 <para lang="en">
15279 if the length of the response part received at once from proxied 15279 if the length of the response part received at once from proxied
15280 or FastCGI server was equal to 500, then nginx returns the 500 response code; 15280 or FastCGI server was equal to 500, then nginx returns the 500 response code;
15281 in proxy mode the the bug had appeared in 0.1.29 only. 15281 in proxy mode the the bug had appeared in 0.1.29 only.
15282 </para> 15282 </para>
15283 </change> 15283 </change>
15284 15284
15285 <change type="bugfix"> 15285 <change type="bugfix">
15286 <para lang="ru"> 15286 <para lang="ru">
15287 nginx не считал неверными директивы с 8-ю или 9-ю параметрами. 15287 nginx п╫п╣ я│я┤п╦я┌п╟п╩ п╫п╣п╡п╣я─п╫я▀п╪п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ я│ 8-я▌ п╦п╩п╦ 9-я▌ п©п╟я─п╟п╪п╣я┌я─п╟п╪п╦.
15288 </para> 15288 </para>
15289 <para lang="en"> 15289 <para lang="en">
15290 nginx did not consider the directives with 8 or 9 parameters as invalid. 15290 nginx did not consider the directives with 8 or 9 parameters as invalid.
15291 </para> 15291 </para>
15292 </change> 15292 </change>
15293 15293
15294 <change type="feature"> 15294 <change type="feature">
15295 <para lang="ru"> 15295 <para lang="ru">
15296 директива return может возвращать код ответа 204. 15296 п╢п╦я─п╣п╨я┌п╦п╡п╟ return п╪п╬п╤п╣я┌ п╡п╬п╥п╡я─п╟я┴п╟я┌я▄ п╨п╬п╢ п╬я┌п╡п╣я┌п╟ 204.
15297 </para> 15297 </para>
15298 <para lang="en"> 15298 <para lang="en">
15299 the "return" directive can return the 204 response code. 15299 the "return" directive can return the 204 response code.
15300 </para> 15300 </para>
15301 </change> 15301 </change>
15302 15302
15303 <change type="feature"> 15303 <change type="feature">
15304 <para lang="ru"> 15304 <para lang="ru">
15305 директива ignore_invalid_headers. 15305 п╢п╦я─п╣п╨я┌п╦п╡п╟ ignore_invalid_headers.
15306 </para> 15306 </para>
15307 <para lang="en"> 15307 <para lang="en">
15308 the "ignore_invalid_headers" directive. 15308 the "ignore_invalid_headers" directive.
15309 </para> 15309 </para>
15310 </change> 15310 </change>
15314 15314
15315 <changes ver="0.1.29" date="12.05.2005"> 15315 <changes ver="0.1.29" date="12.05.2005">
15316 15316
15317 <change type="feature"> 15317 <change type="feature">
15318 <para lang="ru"> 15318 <para lang="ru">
15319 модуль ngx_http_ssi_module поддерживает команду include virtual. 15319 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╨п╬п╪п╟п╫п╢я┐ include virtual.
15320 </para> 15320 </para>
15321 <para lang="en"> 15321 <para lang="en">
15322 the ngx_http_ssi_module supports "include virtual" command. 15322 the ngx_http_ssi_module supports "include virtual" command.
15323 </para> 15323 </para>
15324 </change> 15324 </change>
15325 15325
15326 <change type="feature"> 15326 <change type="feature">
15327 <para lang="ru"> 15327 <para lang="ru">
15328 модуль ngx_http_ssi_module поддерживает условную команду вида 15328 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐я│п╩п╬п╡п╫я┐я▌ п╨п╬п╪п╟п╫п╢я┐ п╡п╦п╢п╟
15329 'if expr="$NAME"' и команды else и endif. 15329 'if expr="$NAME"' п╦ п╨п╬п╪п╟п╫п╢я▀ else п╦ endif.
15330 Допускается только один уровень вложенности. 15330 п■п╬п©я┐я│п╨п╟п╣я┌я│я▐ я┌п╬п╩я▄п╨п╬ п╬п╢п╦п╫ я┐я─п╬п╡п╣п╫я▄ п╡п╩п╬п╤п╣п╫п╫п╬я│я┌п╦.
15331 </para> 15331 </para>
15332 <para lang="en"> 15332 <para lang="en">
15333 the ngx_http_ssi_module supports the condition command like 15333 the ngx_http_ssi_module supports the condition command like
15334 'if expr="$NAME"' and "else" and "endif" commands. 15334 'if expr="$NAME"' and "else" and "endif" commands.
15335 Only one nested level is supported. 15335 Only one nested level is supported.
15336 </para> 15336 </para>
15337 </change> 15337 </change>
15338 15338
15339 <change type="feature"> 15339 <change type="feature">
15340 <para lang="ru"> 15340 <para lang="ru">
15341 модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT 15341 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п╢п╡п╣ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ DATE_LOCAL п╦ DATE_GMT
15342 и команду config timefmt. 15342 п╦ п╨п╬п╪п╟п╫п╢я┐ config timefmt.
15343 </para> 15343 </para>
15344 <para lang="en"> 15344 <para lang="en">
15345 the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables 15345 the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables
15346 and "config timefmt" command. 15346 and "config timefmt" command.
15347 </para> 15347 </para>
15348 </change> 15348 </change>
15349 15349
15350 <change type="feature"> 15350 <change type="feature">
15351 <para lang="ru"> 15351 <para lang="ru">
15352 директива ssi_ignore_recycled_buffers. 15352 п╢п╦я─п╣п╨я┌п╦п╡п╟ ssi_ignore_recycled_buffers.
15353 </para> 15353 </para>
15354 <para lang="en"> 15354 <para lang="en">
15355 the "ssi_ignore_recycled_buffers" directive. 15355 the "ssi_ignore_recycled_buffers" directive.
15356 </para> 15356 </para>
15357 </change> 15357 </change>
15358 15358
15359 <change type="bugfix"> 15359 <change type="bugfix">
15360 <para lang="ru"> 15360 <para lang="ru">
15361 если переменная QUERY_STRING не была определена, то в команде echo 15361 п╣я│п╩п╦ п©п╣я─п╣п╪п╣п╫п╫п╟я▐ QUERY_STRING п╫п╣ п╠я▀п╩п╟ п╬п©я─п╣п╢п╣п╩п╣п╫п╟, я┌п╬ п╡ п╨п╬п╪п╟п╫п╢п╣ echo
15362 не ставилось значение по умолчанию. 15362 п╫п╣ я│я┌п╟п╡п╦п╩п╬я│я▄ п╥п╫п╟я┤п╣п╫п╦п╣ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌.
15363 </para> 15363 </para>
15364 <para lang="en"> 15364 <para lang="en">
15365 the "echo" command did not show the default value for the empty QUERY_STRING 15365 the "echo" command did not show the default value for the empty QUERY_STRING
15366 variable. 15366 variable.
15367 </para> 15367 </para>
15368 </change> 15368 </change>
15369 15369
15370 <change type="change"> 15370 <change type="change">
15371 <para lang="ru"> 15371 <para lang="ru">
15372 модуль ngx_http_proxy_module полностью переписан. 15372 п╪п╬п╢я┐п╩я▄ ngx_http_proxy_module п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╣я─п╣п©п╦я│п╟п╫.
15373 </para> 15373 </para>
15374 <para lang="en"> 15374 <para lang="en">
15375 the ngx_http_proxy_module was rewritten. 15375 the ngx_http_proxy_module was rewritten.
15376 </para> 15376 </para>
15377 </change> 15377 </change>
15378 15378
15379 <change type="feature"> 15379 <change type="feature">
15380 <para lang="ru"> 15380 <para lang="ru">
15381 директивы proxy_redirect, proxy_pass_request_headers, 15381 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_redirect, proxy_pass_request_headers,
15382 proxy_pass_request_body и proxy_method. 15382 proxy_pass_request_body п╦ proxy_method.
15383 </para> 15383 </para>
15384 <para lang="en"> 15384 <para lang="en">
15385 the "proxy_redirect", "proxy_pass_request_headers", 15385 the "proxy_redirect", "proxy_pass_request_headers",
15386 "proxy_pass_request_body", and "proxy_method" directives. 15386 "proxy_pass_request_body", and "proxy_method" directives.
15387 </para> 15387 </para>
15388 </change> 15388 </change>
15389 15389
15390 <change type="feature"> 15390 <change type="feature">
15391 <para lang="ru"> 15391 <para lang="ru">
15392 директива proxy_set_header. 15392 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_header.
15393 Директива proxy_x_var упразднена и должна быть заменена директивой 15393 п■п╦я─п╣п╨я┌п╦п╡п╟ proxy_x_var я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15394 proxy_set_header. 15394 proxy_set_header.
15395 </para> 15395 </para>
15396 <para lang="en"> 15396 <para lang="en">
15397 the "proxy_set_header" directive. 15397 the "proxy_set_header" directive.
15398 The "proxy_x_var" was canceled and must be replaced with the proxy_set_header 15398 The "proxy_x_var" was canceled and must be replaced with the proxy_set_header
15400 </para> 15400 </para>
15401 </change> 15401 </change>
15402 15402
15403 <change type="change"> 15403 <change type="change">
15404 <para lang="ru"> 15404 <para lang="ru">
15405 директива proxy_preserve_host упразднена и должна быть заменена директивами 15405 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_preserve_host я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦
15406 "proxy_set_header Host $host" и "proxy_redirect off" 15406 "proxy_set_header Host $host" п╦ "proxy_redirect off"
15407 или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr> 15407 п╦п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ <nobr>"proxy_set_header Host $host:$proxy_port"</nobr>
15408 и соответствующими ей директивами proxy_redirect. 15408 п╦ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╦п╪п╦ п╣п╧ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ proxy_redirect.
15409 </para> 15409 </para>
15410 <para lang="en"> 15410 <para lang="en">
15411 the "proxy_preserve_host" is canceled and must be replaced with 15411 the "proxy_preserve_host" is canceled and must be replaced with
15412 the "proxy_set_header Host $host" and the "proxy_redirect off" directives, 15412 the "proxy_set_header Host $host" and the "proxy_redirect off" directives,
15413 the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr> 15413 the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr>
15415 </para> 15415 </para>
15416 </change> 15416 </change>
15417 15417
15418 <change type="change"> 15418 <change type="change">
15419 <para lang="ru"> 15419 <para lang="ru">
15420 директива proxy_set_x_real_ip упразднена и должна быть заменена директивой 15420 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_real_ip я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15421 "proxy_set_header X-Real-IP $remote_addr". 15421 "proxy_set_header X-Real-IP $remote_addr".
15422 </para> 15422 </para>
15423 <para lang="en"> 15423 <para lang="en">
15424 the "proxy_set_x_real_ip" is canceled and must be replaced with 15424 the "proxy_set_x_real_ip" is canceled and must be replaced with
15425 the "proxy_set_header X-Real-IP $remote_addr" directive. 15425 the "proxy_set_header X-Real-IP $remote_addr" directive.
15426 </para> 15426 </para>
15427 </change> 15427 </change>
15428 15428
15429 <change type="change"> 15429 <change type="change">
15430 <para lang="ru"> 15430 <para lang="ru">
15431 директива proxy_add_x_forwarded_for упразднена и должна быть заменена 15431 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_add_x_forwarded_for я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟
15432 директивой 15432 п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15433 <nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr> 15433 <nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr>
15434 </para> 15434 </para>
15435 <para lang="en"> 15435 <para lang="en">
15436 the "proxy_add_x_forwarded_for" is canceled and must be replaced with 15436 the "proxy_add_x_forwarded_for" is canceled and must be replaced with
15437 <nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr> 15437 <nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr>
15439 </para> 15439 </para>
15440 </change> 15440 </change>
15441 15441
15442 <change type="change"> 15442 <change type="change">
15443 <para lang="ru"> 15443 <para lang="ru">
15444 директива proxy_set_x_url упразднена и должна быть заменена директивой 15444 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_url я┐п©я─п╟п╥п╢п╫п╣п╫п╟ п╦ п╢п╬п╩п╤п╫п╟ п╠я▀я┌я▄ п╥п╟п╪п╣п╫п╣п╫п╟ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧
15445 <nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr> 15445 <nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr>
15446 </para> 15446 </para>
15447 <para lang="en"> 15447 <para lang="en">
15448 the "proxy_set_x_url" is canceled and must be replaced with 15448 the "proxy_set_x_url" is canceled and must be replaced with
15449 the "proxy_set_header X-URL http://$host:$server_port$request_uri" 15449 the "proxy_set_header X-URL http://$host:$server_port$request_uri"
15451 </para> 15451 </para>
15452 </change> 15452 </change>
15453 15453
15454 <change type="feature"> 15454 <change type="feature">
15455 <para lang="ru"> 15455 <para lang="ru">
15456 директива fastcgi_param. 15456 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_param.
15457 </para> 15457 </para>
15458 <para lang="en"> 15458 <para lang="en">
15459 the "fastcgi_param" directive. 15459 the "fastcgi_param" directive.
15460 </para> 15460 </para>
15461 </change> 15461 </change>
15462 15462
15463 <change type="change"> 15463 <change type="change">
15464 <para lang="ru"> 15464 <para lang="ru">
15465 директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены 15465 п╢п╦я─п╣п╨я┌п╦п╡я▀ fastcgi_root, fastcgi_set_var п╦ fastcgi_params я┐п©я─п╟п╥п╢п╫п╣п╫я▀
15466 и должны быть замены директивами fastcgi_param. 15466 п╦ п╢п╬п╩п╤п╫я▀ п╠я▀я┌я▄ п╥п╟п╪п╣п╫я▀ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪п╦ fastcgi_param.
15467 </para> 15467 </para>
15468 <para lang="en"> 15468 <para lang="en">
15469 the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive 15469 the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive
15470 are canceled and must be replaced with the fastcgi_param directives. 15470 are canceled and must be replaced with the fastcgi_param directives.
15471 </para> 15471 </para>
15472 </change> 15472 </change>
15473 15473
15474 <change type="feature"> 15474 <change type="feature">
15475 <para lang="ru"> 15475 <para lang="ru">
15476 директива index может использовать переменные. 15476 п╢п╦я─п╣п╨я┌п╦п╡п╟ index п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
15477 </para> 15477 </para>
15478 <para lang="en"> 15478 <para lang="en">
15479 the "index" directive can use the variables. 15479 the "index" directive can use the variables.
15480 </para> 15480 </para>
15481 </change> 15481 </change>
15482 15482
15483 <change type="feature"> 15483 <change type="feature">
15484 <para lang="ru"> 15484 <para lang="ru">
15485 директива index может быть указана на уровне http и server. 15485 п╢п╦я─п╣п╨я┌п╦п╡п╟ index п╪п╬п╤п╣я┌ п╠я▀я┌я▄ я┐п╨п╟п╥п╟п╫п╟ п╫п╟ я┐я─п╬п╡п╫п╣ http п╦ server.
15486 </para> 15486 </para>
15487 <para lang="en"> 15487 <para lang="en">
15488 the "index" directive can be used at http and server levels. 15488 the "index" directive can be used at http and server levels.
15489 </para> 15489 </para>
15490 </change> 15490 </change>
15491 15491
15492 <change type="change"> 15492 <change type="change">
15493 <para lang="ru"> 15493 <para lang="ru">
15494 только последний параметр в директиве index может быть абсолютным. 15494 я┌п╬п╩я▄п╨п╬ п©п╬я│п╩п╣п╢п╫п╦п╧ п©п╟я─п╟п╪п╣я┌я─ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ index п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╟п╠я│п╬п╩я▌я┌п╫я▀п╪.
15495 </para> 15495 </para>
15496 <para lang="en"> 15496 <para lang="en">
15497 the last index only in the "index" directive can be absolute. 15497 the last index only in the "index" directive can be absolute.
15498 </para> 15498 </para>
15499 </change> 15499 </change>
15500 15500
15501 <change type="feature"> 15501 <change type="feature">
15502 <para lang="ru"> 15502 <para lang="ru">
15503 в директиве rewrite могут использоваться переменные. 15503 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п╪п╬пЁя┐я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п©п╣я─п╣п╪п╣п╫п╫я▀п╣.
15504 </para> 15504 </para>
15505 <para lang="en"> 15505 <para lang="en">
15506 the "rewrite" directive can use the variables. 15506 the "rewrite" directive can use the variables.
15507 </para> 15507 </para>
15508 </change> 15508 </change>
15509 15509
15510 <change type="feature"> 15510 <change type="feature">
15511 <para lang="ru"> 15511 <para lang="ru">
15512 директива internal. 15512 п╢п╦я─п╣п╨я┌п╦п╡п╟ internal.
15513 </para> 15513 </para>
15514 <para lang="en"> 15514 <para lang="en">
15515 the "internal" directive. 15515 the "internal" directive.
15516 </para> 15516 </para>
15517 </change> 15517 </change>
15518 15518
15519 <change type="feature"> 15519 <change type="feature">
15520 <para lang="ru"> 15520 <para lang="ru">
15521 переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 15521 п©п╣я─п╣п╪п╣п╫п╫я▀п╣ CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
15522 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 15522 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
15523 REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 15523 REQUEST_METHOD, REQUEST_URI п╦ REMOTE_USER.
15524 </para> 15524 </para>
15525 <para lang="en"> 15525 <para lang="en">
15526 the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 15526 the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
15527 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 15527 SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
15528 REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. 15528 REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
15529 </para> 15529 </para>
15530 </change> 15530 </change>
15531 15531
15532 <change type="change"> 15532 <change type="change">
15533 <para lang="ru"> 15533 <para lang="ru">
15534 nginx теперь передаёт неверные строки в заголовках запроса клиента и 15534 nginx я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌ п╫п╣п╡п╣я─п╫я▀п╣ я│я┌я─п╬п╨п╦ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╟я┘ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п╦
15535 ответа бэкенда. 15535 п╬я┌п╡п╣я┌п╟ п╠я█п╨п╣п╫п╢п╟.
15536 </para> 15536 </para>
15537 <para lang="en"> 15537 <para lang="en">
15538 nginx now passes the invalid lines in a client request headers 15538 nginx now passes the invalid lines in a client request headers
15539 or a backend response header. 15539 or a backend response header.
15540 </para> 15540 </para>
15541 </change> 15541 </change>
15542 15542
15543 <change type="bugfix"> 15543 <change type="bugfix">
15544 <para lang="ru"> 15544 <para lang="ru">
15545 если бэкенд долго не передавал ответ и send_timeout был меньше, чем 15545 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п╢п╬п╩пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩ п╬я┌п╡п╣я┌ п╦ send_timeout п╠я▀п╩ п╪п╣п╫я▄я┬п╣, я┤п╣п╪
15546 proxy_read_timeout, то клиенту возвращался ответ 408. 15546 proxy_read_timeout, я┌п╬ п╨п╩п╦п╣п╫я┌я┐ п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ 408.
15547 </para> 15547 </para>
15548 <para lang="en"> 15548 <para lang="en">
15549 if the backend did not transfer response for a long time and 15549 if the backend did not transfer response for a long time and
15550 the "send_timeout" was less than "proxy_read_timeout", then nginx 15550 the "send_timeout" was less than "proxy_read_timeout", then nginx
15551 returned the 408 response. 15551 returned the 408 response.
15552 </para> 15552 </para>
15553 </change> 15553 </change>
15554 15554
15555 <change type="bugfix"> 15555 <change type="bugfix">
15556 <para lang="ru"> 15556 <para lang="ru">
15557 если бэкенд передавал неверную строку в заголовке ответа, то происходил 15557 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ п©п╣я─п╣п╢п╟п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌я─п╬п╨я┐ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ п╬я┌п╡п╣я┌п╟, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩
15558 segmentation fault; 15558 segmentation fault;
15559 ошибка появилась в 0.1.26. 15559 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.26.
15560 </para> 15560 </para>
15561 <para lang="en"> 15561 <para lang="en">
15562 the segmentation fault was occurred if the backend sent an invalid line 15562 the segmentation fault was occurred if the backend sent an invalid line
15563 in response header; 15563 in response header;
15564 the bug had appeared in 0.1.26. 15564 the bug had appeared in 0.1.26.
15565 </para> 15565 </para>
15566 </change> 15566 </change>
15567 15567
15568 <change type="bugfix"> 15568 <change type="bugfix">
15569 <para lang="ru"> 15569 <para lang="ru">
15570 при использовании отказоустойчивой конфигурации в FastCGI мог 15570 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╬я┌п╨п╟п╥п╬я┐я│я┌п╬п╧я┤п╦п╡п╬п╧ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╡ FastCGI п╪п╬пЁ
15571 происходить segmentation fault. 15571 п©я─п╬п╦я│я┘п╬п╢п╦я┌я▄ segmentation fault.
15572 </para> 15572 </para>
15573 <para lang="en"> 15573 <para lang="en">
15574 the segmentation fault may occurred in FastCGI fault tolerance configuration. 15574 the segmentation fault may occurred in FastCGI fault tolerance configuration.
15575 </para> 15575 </para>
15576 </change> 15576 </change>
15577 15577
15578 <change type="bugfix"> 15578 <change type="bugfix">
15579 <para lang="ru"> 15579 <para lang="ru">
15580 директива expires не удаляла уже установленные строки заголовка 15580 п╢п╦я─п╣п╨я┌п╦п╡п╟ expires п╫п╣ я┐п╢п╟п╩я▐п╩п╟ я┐п╤п╣ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫п╫я▀п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟
15581 "Expires" и "Cache-Control". 15581 "Expires" п╦ "Cache-Control".
15582 </para> 15582 </para>
15583 <para lang="en"> 15583 <para lang="en">
15584 the "expires" directive did not remove the previous "Expires" and 15584 the "expires" directive did not remove the previous "Expires" and
15585 "Cache-Control" headers. 15585 "Cache-Control" headers.
15586 </para> 15586 </para>
15587 </change> 15587 </change>
15588 15588
15589 <change type="bugfix"> 15589 <change type="bugfix">
15590 <para lang="ru"> 15590 <para lang="ru">
15591 nginx не учитывал завершающую точку в строке заголовка запроса "Host". 15591 nginx п╫п╣ я┐я┤п╦я┌я▀п╡п╟п╩ п╥п╟п╡п╣я─я┬п╟я▌я┴я┐я▌ я┌п╬я┤п╨я┐ п╡ я│я┌я─п╬п╨п╣ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host".
15592 </para> 15592 </para>
15593 <para lang="en"> 15593 <para lang="en">
15594 nginx did not take into account trailing dot in "Host" header line. 15594 nginx did not take into account trailing dot in "Host" header line.
15595 </para> 15595 </para>
15596 </change> 15596 </change>
15597 15597
15598 <change type="bugfix"> 15598 <change type="bugfix">
15599 <para lang="ru"> 15599 <para lang="ru">
15600 модуль ngx_http_auth_module не работал на Linux. 15600 п╪п╬п╢я┐п╩я▄ ngx_http_auth_module п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux.
15601 </para> 15601 </para>
15602 <para lang="en"> 15602 <para lang="en">
15603 the ngx_http_auth_module did not work under Linux. 15603 the ngx_http_auth_module did not work under Linux.
15604 </para> 15604 </para>
15605 </change> 15605 </change>
15606 15606
15607 <change type="bugfix"> 15607 <change type="bugfix">
15608 <para lang="ru"> 15608 <para lang="ru">
15609 директива rewrite неверно работала, если в запросе присутствовали аргументы. 15609 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п╫п╣п╡п╣я─п╫п╬ я─п╟п╠п╬я┌п╟п╩п╟, п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п©я─п╦я│я┐я┌я│я┌п╡п╬п╡п╟п╩п╦ п╟я─пЁя┐п╪п╣п╫я┌я▀.
15610 </para> 15610 </para>
15611 <para lang="en"> 15611 <para lang="en">
15612 the rewrite directive worked incorrectly, if the arguments were in a request. 15612 the rewrite directive worked incorrectly, if the arguments were in a request.
15613 </para> 15613 </para>
15614 </change> 15614 </change>
15615 15615
15616 <change type="bugfix"> 15616 <change type="bugfix">
15617 <para lang="ru"> 15617 <para lang="ru">
15618 nginx не собирался на MacOS X. 15618 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ MacOS X.
15619 </para> 15619 </para>
15620 <para lang="en"> 15620 <para lang="en">
15621 nginx could not be built on MacOS X. 15621 nginx could not be built on MacOS X.
15622 </para> 15622 </para>
15623 </change> 15623 </change>
15627 15627
15628 <changes ver="0.1.28" date="08.04.2005"> 15628 <changes ver="0.1.28" date="08.04.2005">
15629 15629
15630 <change type="bugfix"> 15630 <change type="bugfix">
15631 <para lang="ru"> 15631 <para lang="ru">
15632 при проксировании больших файлов nginx сильно нагружал процессор. 15632 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╠п╬п╩я▄я┬п╦я┘ я└п╟п╧п╩п╬п╡ nginx я│п╦п╩я▄п╫п╬ п╫п╟пЁя─я┐п╤п╟п╩ п©я─п╬я├п╣я│я│п╬я─.
15633 </para> 15633 </para>
15634 <para lang="en"> 15634 <para lang="en">
15635 nginx hogs CPU while proxying the huge files. 15635 nginx hogs CPU while proxying the huge files.
15636 </para> 15636 </para>
15637 </change> 15637 </change>
15638 15638
15639 <change type="bugfix"> 15639 <change type="bugfix">
15640 <para lang="ru"> 15640 <para lang="ru">
15641 nginx не собирался gcc 4.0 на Linux. 15641 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ gcc 4.0 п╫п╟ Linux.
15642 </para> 15642 </para>
15643 <para lang="en"> 15643 <para lang="en">
15644 nginx could not be built by gcc 4.0 on Linux. 15644 nginx could not be built by gcc 4.0 on Linux.
15645 </para> 15645 </para>
15646 </change> 15646 </change>
15650 15650
15651 <changes ver="0.1.27" date="28.03.2005"> 15651 <changes ver="0.1.27" date="28.03.2005">
15652 15652
15653 <change type="feature"> 15653 <change type="feature">
15654 <para lang="ru"> 15654 <para lang="ru">
15655 параметр blocked в директиве valid_referers. 15655 п©п╟я─п╟п╪п╣я┌я─ blocked п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ valid_referers.
15656 </para> 15656 </para>
15657 <para lang="en"> 15657 <para lang="en">
15658 the "blocked" parameter of the "valid_referers" directive. 15658 the "blocked" parameter of the "valid_referers" directive.
15659 </para> 15659 </para>
15660 </change> 15660 </change>
15661 15661
15662 <change type="change"> 15662 <change type="change">
15663 <para lang="ru"> 15663 <para lang="ru">
15664 ошибки обработки заголовка запроса теперь записываются на уровне 15664 п╬я┬п╦п╠п╨п╦ п╬п╠я─п╟п╠п╬я┌п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ я┌п╣п©п╣я─я▄ п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╫п╟ я┐я─п╬п╡п╫п╣
15665 info, в лог также записывается имя сервера и строки заголовка 15665 info, п╡ п╩п╬пЁ я┌п╟п╨п╤п╣ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ п╦п╪я▐ я│п╣я─п╡п╣я─п╟ п╦ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟
15666 запроса "Host" и "Referer". 15666 п╥п╟п©я─п╬я│п╟ "Host" п╦ "Referer".
15667 </para> 15667 </para>
15668 <para lang="en"> 15668 <para lang="en">
15669 the errors while handling the request header now logged at "info" level. 15669 the errors while handling the request header now logged at "info" level.
15670 The server name and the "Host" and "Referer" header lines also logged. 15670 The server name and the "Host" and "Referer" header lines also logged.
15671 </para> 15671 </para>
15672 </change> 15672 </change>
15673 15673
15674 <change type="change"> 15674 <change type="change">
15675 <para lang="ru"> 15675 <para lang="ru">
15676 при записи ошибок в лог записывается также строка заголовка запроса "Host". 15676 п©я─п╦ п╥п╟п©п╦я│п╦ п╬я┬п╦п╠п╬п╨ п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я┌п╟п╨п╤п╣ я│я┌я─п╬п╨п╟ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╥п╟п©я─п╬я│п╟ "Host".
15677 </para> 15677 </para>
15678 <para lang="en"> 15678 <para lang="en">
15679 the "Host" header line is also logged in error log. 15679 the "Host" header line is also logged in error log.
15680 </para> 15680 </para>
15681 </change> 15681 </change>
15682 15682
15683 <change type="feature"> 15683 <change type="feature">
15684 <para lang="ru"> 15684 <para lang="ru">
15685 директива proxy_pass_unparsed_uri. 15685 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass_unparsed_uri.
15686 Специальная обработка символов "://" в URI, введённая в версии 0.1.11, 15686 п║п©п╣я├п╦п╟п╩я▄п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я│п╦п╪п╡п╬п╩п╬п╡ "://" п╡ URI, п╡п╡п╣п╢я▒п╫п╫п╟я▐ п╡ п╡п╣я─я│п╦п╦ 0.1.11,
15687 теперь упразднена. 15687 я┌п╣п©п╣я─я▄ я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
15688 </para> 15688 </para>
15689 <para lang="en"> 15689 <para lang="en">
15690 the proxy_pass_unparsed_uri directive. 15690 the proxy_pass_unparsed_uri directive.
15691 The special handling of the "://" symbols in URI, appeared in 0.1.11 version, 15691 The special handling of the "://" symbols in URI, appeared in 0.1.11 version,
15692 now is canceled. 15692 now is canceled.
15693 </para> 15693 </para>
15694 </change> 15694 </change>
15695 15695
15696 <change type="bugfix"> 15696 <change type="bugfix">
15697 <para lang="ru"> 15697 <para lang="ru">
15698 nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации 15698 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ FreeBSD п╦ Linux, п╣я│п╩п╦ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п©п╟я─п╟п╪п╣я┌я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
15699 --without-ngx_http_auth_basic_module. 15699 --without-ngx_http_auth_basic_module.
15700 </para> 15700 </para>
15701 <para lang="en"> 15701 <para lang="en">
15702 nginx could not be built on FreeBSD and Linux, if the 15702 nginx could not be built on FreeBSD and Linux, if the
15703 --without-ngx_http_auth_basic_module configuration parameter was used. 15703 --without-ngx_http_auth_basic_module configuration parameter was used.
15709 15709
15710 <changes ver="0.1.26" date="22.03.2005"> 15710 <changes ver="0.1.26" date="22.03.2005">
15711 15711
15712 <change type="change"> 15712 <change type="change">
15713 <para lang="ru"> 15713 <para lang="ru">
15714 неверные строки заголовка, переданные клиентом, теперь игнорируется и 15714 п╫п╣п╡п╣я─п╫я▀п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟, п©п╣я─п╣п╢п╟п╫п╫я▀п╣ п╨п╩п╦п╣п╫я┌п╬п╪, я┌п╣п©п╣я─я▄ п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п╦
15715 записываются в error_log на уровне info. 15715 п╥п╟п©п╦я│я▀п╡п╟я▌я┌я│я▐ п╡ error_log п╫п╟ я┐я─п╬п╡п╫п╣ info.
15716 </para> 15716 </para>
15717 <para lang="en"> 15717 <para lang="en">
15718 the invalid client header lines are now ignored and logged at the info level. 15718 the invalid client header lines are now ignored and logged at the info level.
15719 </para> 15719 </para>
15720 </change> 15720 </change>
15721 15721
15722 <change type="change"> 15722 <change type="change">
15723 <para lang="ru"> 15723 <para lang="ru">
15724 при записи ошибок в лог записывается также имя сервера, при обращении 15724 п©я─п╦ п╥п╟п©п╦я│п╦ п╬я┬п╦п╠п╬п╨ п╡ п╩п╬пЁ п╥п╟п©п╦я│я▀п╡п╟п╣я┌я│я▐ я┌п╟п╨п╤п╣ п╦п╪я▐ я│п╣я─п╡п╣я─п╟, п©я─п╦ п╬п╠я─п╟я┴п╣п╫п╦п╦
15725 к которому произошла ошибка. 15725 п╨ п╨п╬я┌п╬я─п╬п╪я┐ п©я─п╬п╦п╥п╬я┬п╩п╟ п╬я┬п╦п╠п╨п╟.
15726 </para> 15726 </para>
15727 <para lang="en"> 15727 <para lang="en">
15728 the server name is also logged in error log. 15728 the server name is also logged in error log.
15729 </para> 15729 </para>
15730 </change> 15730 </change>
15731 15731
15732 <change type="feature"> 15732 <change type="feature">
15733 <para lang="ru"> 15733 <para lang="ru">
15734 модуль ngx_http_auth_basic_module и директивы auth_basic и 15734 п╪п╬п╢я┐п╩я▄ ngx_http_auth_basic_module п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ auth_basic п╦
15735 auth_basic_user_file. 15735 auth_basic_user_file.
15736 </para> 15736 </para>
15737 <para lang="en"> 15737 <para lang="en">
15738 the ngx_http_auth_basic_module module and the auth_basic and 15738 the ngx_http_auth_basic_module module and the auth_basic and
15739 auth_basic_user_file directives. 15739 auth_basic_user_file directives.
15745 15745
15746 <changes ver="0.1.25" date="19.03.2005"> 15746 <changes ver="0.1.25" date="19.03.2005">
15747 15747
15748 <change type="bugfix"> 15748 <change type="bugfix">
15749 <para lang="ru"> 15749 <para lang="ru">
15750 nginx не работал на Linux parisc. 15750 nginx п╫п╣ я─п╟п╠п╬я┌п╟п╩ п╫п╟ Linux parisc.
15751 </para> 15751 </para>
15752 <para lang="en"> 15752 <para lang="en">
15753 nginx did run on Linux parisc. 15753 nginx did run on Linux parisc.
15754 </para> 15754 </para>
15755 </change> 15755 </change>
15756 15756
15757 <change type="feature"> 15757 <change type="feature">
15758 <para lang="ru"> 15758 <para lang="ru">
15759 nginx теперь не запускается под FreeBSD, если значение 15759 nginx я┌п╣п©п╣я─я▄ п╫п╣ п╥п╟п©я┐я│п╨п╟п╣я┌я│я▐ п©п╬п╢ FreeBSD, п╣я│п╩п╦ п╥п╫п╟я┤п╣п╫п╦п╣
15760 sysctl kern.ipc.somaxconn слишком большое. 15760 sysctl kern.ipc.somaxconn я│п╩п╦я┬п╨п╬п╪ п╠п╬п╩я▄я┬п╬п╣.
15761 </para> 15761 </para>
15762 <para lang="en"> 15762 <para lang="en">
15763 nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn 15763 nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn
15764 value is too big. 15764 value is too big.
15765 </para> 15765 </para>
15766 </change> 15766 </change>
15767 15767
15768 <change type="bugfix"> 15768 <change type="bugfix">
15769 <para lang="ru"> 15769 <para lang="ru">
15770 если модуль ngx_http_index_module делал внутреннее перенаправление запроса 15770 п╣я│п╩п╦ п╪п╬п╢я┐п╩я▄ ngx_http_index_module п╢п╣п╩п╟п╩ п╡п╫я┐я┌я─п╣п╫п╫п╣п╣ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩п╣п╫п╦п╣ п╥п╟п©я─п╬я│п╟
15771 в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса 15771 п╡ п╪п╬п╢я┐п╩п╦ ngx_http_proxy_module п╦п╩п╦ ngx_http_fastcgi_module, я┌п╬ я└п╟п╧п╩ п╦п╫п╢п╣п╨я│п╟
15772 не закрывался после обслуживания запроса. 15772 п╫п╣ п╥п╟п╨я─я▀п╡п╟п╩я│я▐ п©п╬я│п╩п╣ п╬п╠я│п╩я┐п╤п╦п╡п╟п╫п╦я▐ п╥п╟п©я─п╬я│п╟.
15773 </para> 15773 </para>
15774 <para lang="en"> 15774 <para lang="en">
15775 if a request was internally redirected by the ngx_http_index_module 15775 if a request was internally redirected by the ngx_http_index_module
15776 module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, 15776 module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules,
15777 then the index file was not closed after request completion. 15777 then the index file was not closed after request completion.
15778 </para> 15778 </para>
15779 </change> 15779 </change>
15780 15780
15781 <change type="feature"> 15781 <change type="feature">
15782 <para lang="ru"> 15782 <para lang="ru">
15783 директива proxy_pass может использоваться в location, заданных регулярным 15783 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_pass п╪п╬п╤п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╡ location, п╥п╟п╢п╟п╫п╫я▀я┘ я─п╣пЁя┐п╩я▐я─п╫я▀п╪
15784 выражением. 15784 п╡я▀я─п╟п╤п╣п╫п╦п╣п╪.
15785 </para> 15785 </para>
15786 <para lang="en"> 15786 <para lang="en">
15787 the "proxy_pass" can be used in location with regular expression. 15787 the "proxy_pass" can be used in location with regular expression.
15788 </para> 15788 </para>
15789 </change> 15789 </change>
15790 15790
15791 <change type="feature"> 15791 <change type="feature">
15792 <para lang="ru"> 15792 <para lang="ru">
15793 модуль ngx_http_rewrite_filter_module поддерживает условия вида 15793 п╪п╬п╢я┐п╩я▄ ngx_http_rewrite_filter_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я┐я│п╩п╬п╡п╦я▐ п╡п╦п╢п╟
15794 "if ($HTTP_USER_AGENT ~ MSIE)". 15794 "if ($HTTP_USER_AGENT ~ MSIE)".
15795 </para> 15795 </para>
15796 <para lang="en"> 15796 <para lang="en">
15797 the ngx_http_rewrite_filter_module module supports the condition like 15797 the ngx_http_rewrite_filter_module module supports the condition like
15798 "if ($HTTP_USER_AGENT ~ MSIE)". 15798 "if ($HTTP_USER_AGENT ~ MSIE)".
15799 </para> 15799 </para>
15800 </change> 15800 </change>
15801 15801
15802 <change type="bugfix"> 15802 <change type="bugfix">
15803 <para lang="ru"> 15803 <para lang="ru">
15804 nginx очень медленно запускался при большом количестве адресов и 15804 nginx п╬я┤п╣п╫я▄ п╪п╣п╢п╩п╣п╫п╫п╬ п╥п╟п©я┐я│п╨п╟п╩я│я▐ п©я─п╦ п╠п╬п╩я▄я┬п╬п╪ п╨п╬п╩п╦я┤п╣я│я┌п╡п╣ п╟п╢я─п╣я│п╬п╡ п╦
15805 использовании текстовых значений в директиве geo. 15805 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ я┌п╣п╨я│я┌п╬п╡я▀я┘ п╥п╫п╟я┤п╣п╫п╦п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo.
15806 </para> 15806 </para>
15807 <para lang="en"> 15807 <para lang="en">
15808 nginx started too slow if the large number of addresses and text values 15808 nginx started too slow if the large number of addresses and text values
15809 were used in the "geo" directive. 15809 were used in the "geo" directive.
15810 </para> 15810 </para>
15811 </change> 15811 </change>
15812 15812
15813 <change type="change"> 15813 <change type="change">
15814 <para lang="ru"> 15814 <para lang="ru">
15815 имя переменной в директиве geo нужно указывать, как $name. 15815 п╦п╪я▐ п©п╣я─п╣п╪п╣п╫п╫п╬п╧ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ geo п╫я┐п╤п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄, п╨п╟п╨ $name.
15816 Прежний вариант без "$" пока работает, но вскоре будет убран. 15816 п÷я─п╣п╤п╫п╦п╧ п╡п╟я─п╦п╟п╫я┌ п╠п╣п╥ "$" п©п╬п╨п╟ я─п╟п╠п╬я┌п╟п╣я┌, п╫п╬ п╡я│п╨п╬я─п╣ п╠я┐п╢п╣я┌ я┐п╠я─п╟п╫.
15817 </para> 15817 </para>
15818 <para lang="en"> 15818 <para lang="en">
15819 a variable name must be declared as "$name" in the "geo" directive. 15819 a variable name must be declared as "$name" in the "geo" directive.
15820 The previous variant without "$" is still supported, but will be removed soon. 15820 The previous variant without "$" is still supported, but will be removed soon.
15821 </para> 15821 </para>
15822 </change> 15822 </change>
15823 15823
15824 <change type="feature"> 15824 <change type="feature">
15825 <para lang="ru"> 15825 <para lang="ru">
15826 параметр лога "%{VARIABLE}v". 15826 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ "%{VARIABLE}v".
15827 </para> 15827 </para>
15828 <para lang="en"> 15828 <para lang="en">
15829 the "%{VARIABLE}v" logging parameter. 15829 the "%{VARIABLE}v" logging parameter.
15830 </para> 15830 </para>
15831 </change> 15831 </change>
15832 15832
15833 <change type="feature"> 15833 <change type="feature">
15834 <para lang="ru"> 15834 <para lang="ru">
15835 директива "set $name value". 15835 п╢п╦я─п╣п╨я┌п╦п╡п╟ "set $name value".
15836 </para> 15836 </para>
15837 <para lang="en"> 15837 <para lang="en">
15838 the "set $name value" directive. 15838 the "set $name value" directive.
15839 </para> 15839 </para>
15840 </change> 15840 </change>
15841 15841
15842 <change type="bugfix"> 15842 <change type="bugfix">
15843 <para lang="ru"> 15843 <para lang="ru">
15844 совместимость с gcc 4.0. 15844 я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌я▄ я│ gcc 4.0.
15845 </para> 15845 </para>
15846 <para lang="en"> 15846 <para lang="en">
15847 gcc 4.0 compatibility. 15847 gcc 4.0 compatibility.
15848 </para> 15848 </para>
15849 </change> 15849 </change>
15850 15850
15851 <change type="feature"> 15851 <change type="feature">
15852 <para lang="ru"> 15852 <para lang="ru">
15853 параметр автоконфигурации --with-openssl-opt=OPTIONS. 15853 п©п╟я─п╟п╪п╣я┌я─ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ --with-openssl-opt=OPTIONS.
15854 </para> 15854 </para>
15855 <para lang="en"> 15855 <para lang="en">
15856 the --with-openssl-opt=OPTIONS autoconfiguration directive. 15856 the --with-openssl-opt=OPTIONS autoconfiguration directive.
15857 </para> 15857 </para>
15858 </change> 15858 </change>
15862 15862
15863 <changes ver="0.1.24" date="04.03.2005"> 15863 <changes ver="0.1.24" date="04.03.2005">
15864 15864
15865 <change type="feature"> 15865 <change type="feature">
15866 <para lang="ru"> 15866 <para lang="ru">
15867 модуль ngx_http_ssi_filter_module поддерживает переменные 15867 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╪п╣п╫п╫я▀п╣
15868 QUERY_STRING и DOCUMENT_URI. 15868 QUERY_STRING п╦ DOCUMENT_URI.
15869 </para> 15869 </para>
15870 <para lang="en"> 15870 <para lang="en">
15871 the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI 15871 the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI
15872 variables. 15872 variables.
15873 </para> 15873 </para>
15874 </change> 15874 </change>
15875 15875
15876 <change type="bugfix"> 15876 <change type="bugfix">
15877 <para lang="ru"> 15877 <para lang="ru">
15878 модуль ngx_http_autoindex_module мог выдавать ответ 404 15878 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╪п╬пЁ п╡я▀п╢п╟п╡п╟я┌я▄ п╬я┌п╡п╣я┌ 404
15879 на существующий каталог, если этот каталог был указан как alias. 15879 п╫п╟ я│я┐я┴п╣я│я┌п╡я┐я▌я┴п╦п╧ п╨п╟я┌п╟п╩п╬пЁ, п╣я│п╩п╦ я█я┌п╬я┌ п╨п╟я┌п╟п╩п╬пЁ п╠я▀п╩ я┐п╨п╟п╥п╟п╫ п╨п╟п╨ alias.
15880 </para> 15880 </para>
15881 <para lang="en"> 15881 <para lang="en">
15882 the ngx_http_autoindex_module may some times return the 404 response 15882 the ngx_http_autoindex_module may some times return the 404 response
15883 for existent directory, if this directory was used in "alias" directive. 15883 for existent directory, if this directory was used in "alias" directive.
15884 </para> 15884 </para>
15885 </change> 15885 </change>
15886 15886
15887 <change type="bugfix"> 15887 <change type="bugfix">
15888 <para lang="ru"> 15888 <para lang="ru">
15889 модуль ngx_http_ssi_filter_module неправильно работал при больших 15889 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ я─п╟п╠п╬я┌п╟п╩ п©я─п╦ п╠п╬п╩я▄я┬п╦я┘
15890 ответах. 15890 п╬я┌п╡п╣я┌п╟я┘.
15891 </para> 15891 </para>
15892 <para lang="en"> 15892 <para lang="en">
15893 the ngx_http_ssi_filter_module ran incorrectly for large responses. 15893 the ngx_http_ssi_filter_module ran incorrectly for large responses.
15894 </para> 15894 </para>
15895 </change> 15895 </change>
15896 15896
15897 <change type="bugfix"> 15897 <change type="bugfix">
15898 <para lang="ru"> 15898 <para lang="ru">
15899 отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом. 15899 п╬я┌я│я┐я┌я│я┌п╡п╦п╣ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Referer" п╡я│п╣пЁп╢п╟ я│я┤п╦я┌п╟п╩п╬я│я▄ п©я─п╟п╡п╦п╩я▄п╫я▀п╪ referrer'п╬п╪.
15900 </para> 15900 </para>
15901 <para lang="en"> 15901 <para lang="en">
15902 the lack of the "Referer" header line was always accounted as valid referrer. 15902 the lack of the "Referer" header line was always accounted as valid referrer.
15903 </para> 15903 </para>
15904 </change> 15904 </change>
15908 15908
15909 <changes ver="0.1.23" date="01.03.2005"> 15909 <changes ver="0.1.23" date="01.03.2005">
15910 15910
15911 <change type="feature"> 15911 <change type="feature">
15912 <para lang="ru"> 15912 <para lang="ru">
15913 модуль ngx_http_ssi_filter_module и 15913 п╪п╬п╢я┐п╩я▄ ngx_http_ssi_filter_module п╦
15914 директивы ssi, ssi_silent_errors и ssi_min_file_chunk. 15914 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssi, ssi_silent_errors п╦ ssi_min_file_chunk.
15915 Поддерживаются команды 'echo var="HTTP_..." default=""' и 15915 п÷п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┌я│я▐ п╨п╬п╪п╟п╫п╢я▀ 'echo var="HTTP_..." default=""' п╦
15916 'echo var="REMOTE_ADDR"'. 15916 'echo var="REMOTE_ADDR"'.
15917 </para> 15917 </para>
15918 <para lang="en"> 15918 <para lang="en">
15919 the ngx_http_ssi_filter_module and 15919 the ngx_http_ssi_filter_module and
15920 the ssi, ssi_silent_errors, and ssi_min_file_chunk directives. 15920 the ssi, ssi_silent_errors, and ssi_min_file_chunk directives.
15923 </para> 15923 </para>
15924 </change> 15924 </change>
15925 15925
15926 <change type="feature"> 15926 <change type="feature">
15927 <para lang="ru"> 15927 <para lang="ru">
15928 параметр лога %request_time. 15928 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_time.
15929 </para> 15929 </para>
15930 <para lang="en"> 15930 <para lang="en">
15931 the %request_time log parameter. 15931 the %request_time log parameter.
15932 </para> 15932 </para>
15933 </change> 15933 </change>
15934 15934
15935 <change type="feature"> 15935 <change type="feature">
15936 <para lang="ru"> 15936 <para lang="ru">
15937 если запрос пришёл без строки заголовка "Host", то директива 15937 п╣я│п╩п╦ п╥п╟п©я─п╬я│ п©я─п╦я┬я▒п╩ п╠п╣п╥ я│я┌я─п╬п╨п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Host", я┌п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟
15938 proxy_preserve_host устанавливает в качестве этого заголовка первое имя 15938 proxy_preserve_host я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ п╡ п╨п╟я┤п╣я│я┌п╡п╣ я█я┌п╬пЁп╬ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п©п╣я─п╡п╬п╣ п╦п╪я▐
15939 сервера из директивы server_name. 15939 я│п╣я─п╡п╣я─п╟ п╦п╥ п╢п╦я─п╣п╨я┌п╦п╡я▀ server_name.
15940 </para> 15940 </para>
15941 <para lang="en"> 15941 <para lang="en">
15942 if the request has no the "Host" header line, then the "proxy_preserve_host" 15942 if the request has no the "Host" header line, then the "proxy_preserve_host"
15943 directive set this header line to the first server name of the "server_name" 15943 directive set this header line to the first server name of the "server_name"
15944 directive. 15944 directive.
15945 </para> 15945 </para>
15946 </change> 15946 </change>
15947 15947
15948 <change type="bugfix"> 15948 <change type="bugfix">
15949 <para lang="ru"> 15949 <para lang="ru">
15950 nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 15950 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╬я┌п╩п╦я┤п╫я▀я┘ п╬я┌ i386, amd64, sparc п╦ ppc;
15951 ошибка появилась в 0.1.22. 15951 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.22.
15952 </para> 15952 </para>
15953 <para lang="en"> 15953 <para lang="en">
15954 nginx could not be built on platforms different from i386, amd64, sparc, 15954 nginx could not be built on platforms different from i386, amd64, sparc,
15955 and ppc; 15955 and ppc;
15956 the bug had appeared in 0.1.22. 15956 the bug had appeared in 0.1.22.
15957 </para> 15957 </para>
15958 </change> 15958 </change>
15959 15959
15960 <change type="bugfix"> 15960 <change type="bugfix">
15961 <para lang="ru"> 15961 <para lang="ru">
15962 модуль ngx_http_autoindex_module теперь показывает информацию не о 15962 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module я┌п╣п©п╣я─я▄ п©п╬п╨п╟п╥я▀п╡п╟п╣я┌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п╫п╣ п╬
15963 символическом линке, а о файле или каталоге, на который он указывает. 15963 я│п╦п╪п╡п╬п╩п╦я┤п╣я│п╨п╬п╪ п╩п╦п╫п╨п╣, п╟ п╬ я└п╟п╧п╩п╣ п╦п╩п╦ п╨п╟я┌п╟п╩п╬пЁп╣, п╫п╟ п╨п╬я┌п╬я─я▀п╧ п╬п╫ я┐п╨п╟п╥я▀п╡п╟п╣я┌.
15964 </para> 15964 </para>
15965 <para lang="en"> 15965 <para lang="en">
15966 the ngx_http_autoindex_module now shows the information not about the symlink, 15966 the ngx_http_autoindex_module now shows the information not about the symlink,
15967 but about file or directory it points to. 15967 but about file or directory it points to.
15968 </para> 15968 </para>
15969 </change> 15969 </change>
15970 15970
15971 <change type="bugfix"> 15971 <change type="bugfix">
15972 <para lang="ru"> 15972 <para lang="ru">
15973 если клиенту ничего не передавалось, то параметр %apache_length 15973 п╣я│п╩п╦ п╨п╩п╦п╣п╫я┌я┐ п╫п╦я┤п╣пЁп╬ п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╬я│я▄, я┌п╬ п©п╟я─п╟п╪п╣я┌я─ %apache_length
15974 записывал в лог отрицательную длину заголовка ответа. 15974 п╥п╟п©п╦я│я▀п╡п╟п╩ п╡ п╩п╬пЁ п╬я┌я─п╦я├п╟я┌п╣п╩я▄п╫я┐я▌ п╢п╩п╦п╫я┐ п╥п╟пЁп╬п╩п╬п╡п╨п╟ п╬я┌п╡п╣я┌п╟.
15975 </para> 15975 </para>
15976 <para lang="en"> 15976 <para lang="en">
15977 the %apache_length parameter logged the negative length 15977 the %apache_length parameter logged the negative length
15978 of the response header if the no response was transferred to a client. 15978 of the response header if the no response was transferred to a client.
15979 </para> 15979 </para>
15984 15984
15985 <changes ver="0.1.22" date="22.02.2005"> 15985 <changes ver="0.1.22" date="22.02.2005">
15986 15986
15987 <change type="bugfix"> 15987 <change type="bugfix">
15988 <para lang="ru"> 15988 <para lang="ru">
15989 модуль ngx_http_stub_status_module показывал неверную статистику 15989 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module п©п╬п╨п╟п╥я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌п╟я┌п╦я│я┌п╦п╨я┐
15990 для обработанных соединений, если использовалось проксирование 15990 п╢п╩я▐ п╬п╠я─п╟п╠п╬я┌п╟п╫п╫я▀я┘ я│п╬п╣п╢п╦п╫п╣п╫п╦п╧, п╣я│п╩п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╬я│я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╣
15991 или FastCGI-сервер. 15991 п╦п╩п╦ FastCGI-я│п╣я─п╡п╣я─.
15992 </para> 15992 </para>
15993 <para lang="en"> 15993 <para lang="en">
15994 the ngx_http_stub_status_module showed incorrect handled connections 15994 the ngx_http_stub_status_module showed incorrect handled connections
15995 statistics if the proxying or FastCGI server were used. 15995 statistics if the proxying or FastCGI server were used.
15996 </para> 15996 </para>
15997 </change> 15997 </change>
15998 15998
15999 <change type="bugfix"> 15999 <change type="bugfix">
16000 <para lang="ru"> 16000 <para lang="ru">
16001 на Linux и Solaris установочные пути были неверно заключены в кавычки; 16001 п╫п╟ Linux п╦ Solaris я┐я│я┌п╟п╫п╬п╡п╬я┤п╫я▀п╣ п©я┐я┌п╦ п╠я▀п╩п╦ п╫п╣п╡п╣я─п╫п╬ п╥п╟п╨п╩я▌я┤п╣п╫я▀ п╡ п╨п╟п╡я▀я┤п╨п╦;
16002 ошибка появилась в 0.1.21. 16002 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.21.
16003 </para> 16003 </para>
16004 <para lang="en"> 16004 <para lang="en">
16005 the installation paths were incorrectly quoted on Linux and Solaris; 16005 the installation paths were incorrectly quoted on Linux and Solaris;
16006 the bug had appeared in 0.1.21. 16006 the bug had appeared in 0.1.21.
16007 </para> 16007 </para>
16012 16012
16013 <changes ver="0.1.21" date="22.02.2005"> 16013 <changes ver="0.1.21" date="22.02.2005">
16014 16014
16015 <change type="bugfix"> 16015 <change type="bugfix">
16016 <para lang="ru"> 16016 <para lang="ru">
16017 модуль ngx_http_stub_status_module показывал неверную статистику 16017 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module п©п╬п╨п╟п╥я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ я│я┌п╟я┌п╦я│я┌п╦п╨я┐
16018 при использовании метода rtsig или при использовании нескольких 16018 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ rtsig п╦п╩п╦ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╫п╣я│п╨п╬п╩я▄п╨п╦я┘
16019 рабочих процессов на SMP машине. 16019 я─п╟п╠п╬я┤п╦я┘ п©я─п╬я├п╣я│я│п╬п╡ п╫п╟ SMP п╪п╟я┬п╦п╫п╣.
16020 </para> 16020 </para>
16021 <para lang="en"> 16021 <para lang="en">
16022 the ngx_http_stub_status_module showed incorrect statistics 16022 the ngx_http_stub_status_module showed incorrect statistics
16023 if "rtsig" method was used or if several worker process ran on SMP. 16023 if "rtsig" method was used or if several worker process ran on SMP.
16024 </para> 16024 </para>
16025 </change> 16025 </change>
16026 16026
16027 <change type="bugfix"> 16027 <change type="bugfix">
16028 <para lang="ru"> 16028 <para lang="ru">
16029 nginx не собирался компилятором icc под Линуксом или 16029 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п╨п╬п╪п©п╦п╩я▐я┌п╬я─п╬п╪ icc п©п╬п╢ п⌡п╦п╫я┐п╨я│п╬п╪ п╦п╩п╦
16030 если библиотека zlib-1.2.x собиралась из исходных текстов. 16030 п╣я│п╩п╦ п╠п╦п╠п╩п╦п╬я┌п╣п╨п╟ zlib-1.2.x я│п╬п╠п╦я─п╟п╩п╟я│я▄ п╦п╥ п╦я│я┘п╬п╢п╫я▀я┘ я┌п╣п╨я│я┌п╬п╡.
16031 </para> 16031 </para>
16032 <para lang="en"> 16032 <para lang="en">
16033 nginx could not be built by the icc compiler on Linux or 16033 nginx could not be built by the icc compiler on Linux or
16034 if the zlib-1.2.x library was building from sources. 16034 if the zlib-1.2.x library was building from sources.
16035 </para> 16035 </para>
16036 </change> 16036 </change>
16037 16037
16038 <change type="bugfix"> 16038 <change type="bugfix">
16039 <para lang="ru"> 16039 <para lang="ru">
16040 nginx не собирался под NetBSD 2.0. 16040 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ NetBSD 2.0.
16041 </para> 16041 </para>
16042 <para lang="en"> 16042 <para lang="en">
16043 nginx could not be built on NetBSD 2.0. 16043 nginx could not be built on NetBSD 2.0.
16044 </para> 16044 </para>
16045 </change> 16045 </change>
16049 16049
16050 <changes ver="0.1.20" date="17.02.2005"> 16050 <changes ver="0.1.20" date="17.02.2005">
16051 16051
16052 <change type="feature"> 16052 <change type="feature">
16053 <para lang="ru"> 16053 <para lang="ru">
16054 новые параметры script_filename и remote_port в директиве fastcgi_params. 16054 п╫п╬п╡я▀п╣ п©п╟я─п╟п╪п╣я┌я─я▀ script_filename п╦ remote_port п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_params.
16055 </para> 16055 </para>
16056 <para lang="en"> 16056 <para lang="en">
16057 the new "script_filename" and "remote_port" parameters 16057 the new "script_filename" and "remote_port" parameters
16058 of the fastcgi_params directive. 16058 of the fastcgi_params directive.
16059 </para> 16059 </para>
16060 </change> 16060 </change>
16061 16061
16062 <change type="bugfix"> 16062 <change type="bugfix">
16063 <para lang="ru"> 16063 <para lang="ru">
16064 неправильно обрабатывался поток stderr от FastCGI-сервера. 16064 п╫п╣п©я─п╟п╡п╦п╩я▄п╫п╬ п╬п╠я─п╟п╠п╟я┌я▀п╡п╟п╩я│я▐ п©п╬я┌п╬п╨ stderr п╬я┌ FastCGI-я│п╣я─п╡п╣я─п╟.
16065 </para> 16065 </para>
16066 <para lang="en"> 16066 <para lang="en">
16067 the FastCGI stderr stream was handled incorrectly. 16067 the FastCGI stderr stream was handled incorrectly.
16068 </para> 16068 </para>
16069 </change> 16069 </change>
16073 16073
16074 <changes ver="0.1.19" date="16.02.2005"> 16074 <changes ver="0.1.19" date="16.02.2005">
16075 16075
16076 <change type="bugfix"> 16076 <change type="bugfix">
16077 <para lang="ru"> 16077 <para lang="ru">
16078 если в запросе есть нуль, то для локальных запросов теперь возвращается 16078 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ п╫я┐п╩я▄, я┌п╬ п╢п╩я▐ п╩п╬п╨п╟п╩я▄п╫я▀я┘ п╥п╟п©я─п╬я│п╬п╡ я┌п╣п©п╣я─я▄ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐
16079 ошибка 404. 16079 п╬я┬п╦п╠п╨п╟ 404.
16080 </para> 16080 </para>
16081 <para lang="en"> 16081 <para lang="en">
16082 now, if request contains the zero, then the 404 error is returned 16082 now, if request contains the zero, then the 404 error is returned
16083 for the local requests. 16083 for the local requests.
16084 </para> 16084 </para>
16085 </change> 16085 </change>
16086 16086
16087 <change type="bugfix"> 16087 <change type="bugfix">
16088 <para lang="ru"> 16088 <para lang="ru">
16089 nginx не собирался под NetBSD 2.0. 16089 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ NetBSD 2.0.
16090 </para> 16090 </para>
16091 <para lang="en"> 16091 <para lang="en">
16092 nginx could not be built on NetBSD 2.0. 16092 nginx could not be built on NetBSD 2.0.
16093 </para> 16093 </para>
16094 </change> 16094 </change>
16095 16095
16096 <change type="bugfix"> 16096 <change type="bugfix">
16097 <para lang="ru"> 16097 <para lang="ru">
16098 во время чтения тела запроса клиента в SSL соединении мог произойти таймаут. 16098 п╡п╬ п╡я─п╣п╪я▐ я┤я┌п╣п╫п╦я▐ я┌п╣п╩п╟ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟ п╡ SSL я│п╬п╣п╢п╦п╫п╣п╫п╦п╦ п╪п╬пЁ п©я─п╬п╦п╥п╬п╧я┌п╦ я┌п╟п╧п╪п╟я┐я┌.
16099 </para> 16099 </para>
16100 <para lang="en"> 16100 <para lang="en">
16101 the timeout may occur while reading of the the client request body 16101 the timeout may occur while reading of the the client request body
16102 via SSL connections. 16102 via SSL connections.
16103 </para> 16103 </para>
16108 16108
16109 <changes ver="0.1.18" date="09.02.2005"> 16109 <changes ver="0.1.18" date="09.02.2005">
16110 16110
16111 <change type="workaround"> 16111 <change type="workaround">
16112 <para lang="ru"> 16112 <para lang="ru">
16113 для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes 16113 п╢п╩я▐ я│п╬п╡п╪п╣я│я┌п╦п╪п╬я│я┌п╦ я│ Solaris 10 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╟я┘ devpoll_events п╦ devpoll_changes
16114 значения по умолчанию уменьшены с 512 до 32. 16114 п╥п╫п╟я┤п╣п╫п╦я▐ п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ я┐п╪п╣п╫я▄я┬п╣п╫я▀ я│ 512 п╢п╬ 32.
16115 </para> 16115 </para>
16116 <para lang="en"> 16116 <para lang="en">
16117 the default values of the devpoll_events and the devpoll_changes directives 16117 the default values of the devpoll_events and the devpoll_changes directives
16118 changed from 512 to 32 to be compatible with Solaris 10. 16118 changed from 512 to 32 to be compatible with Solaris 10.
16119 </para> 16119 </para>
16120 </change> 16120 </change>
16121 16121
16122 <change type="bugfix"> 16122 <change type="bugfix">
16123 <para lang="ru"> 16123 <para lang="ru">
16124 директивы proxy_set_x_var и fastcgi_set_var не наследовались. 16124 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_set_x_var п╦ fastcgi_set_var п╫п╣ п╫п╟я│п╩п╣п╢п╬п╡п╟п╩п╦я│я▄.
16125 </para> 16125 </para>
16126 <para lang="en"> 16126 <para lang="en">
16127 the proxy_set_x_var and fastcgi_set_var directives were not inherited. 16127 the proxy_set_x_var and fastcgi_set_var directives were not inherited.
16128 </para> 16128 </para>
16129 </change> 16129 </change>
16130 16130
16131 <change type="bugfix"> 16131 <change type="bugfix">
16132 <para lang="ru"> 16132 <para lang="ru">
16133 в директиве rewrite, возвращающей редирект, аргументы присоединялись 16133 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite, п╡п╬п╥п╡я─п╟я┴п╟я▌я┴п╣п╧ я─п╣п╢п╦я─п╣п╨я┌, п╟я─пЁя┐п╪п╣п╫я┌я▀ п©я─п╦я│п╬п╣п╢п╦п╫я▐п╩п╦я│я▄
16134 к URI через символ "&amp;" вместо "?". 16134 п╨ URI я┤п╣я─п╣п╥ я│п╦п╪п╡п╬п╩ "&amp;" п╡п╪п╣я│я┌п╬ "?".
16135 </para> 16135 </para>
16136 <para lang="en"> 16136 <para lang="en">
16137 in a redirect rewrite directive arguments were concatenated with URI 16137 in a redirect rewrite directive arguments were concatenated with URI
16138 by an "&amp;" rather than a "?". 16138 by an "&amp;" rather than a "?".
16139 </para> 16139 </para>
16140 </change> 16140 </change>
16141 16141
16142 <change type="bugfix"> 16142 <change type="bugfix">
16143 <para lang="ru"> 16143 <para lang="ru">
16144 строки для модуля ngx_http_geo_module без символа ";" во включённом файле 16144 я│я┌я─п╬п╨п╦ п╢п╩я▐ п╪п╬п╢я┐п╩я▐ ngx_http_geo_module п╠п╣п╥ я│п╦п╪п╡п╬п╩п╟ ";" п╡п╬ п╡п╨п╩я▌я┤я▒п╫п╫п╬п╪ я└п╟п╧п╩п╣
16145 игнорировались. 16145 п╦пЁп╫п╬я─п╦я─п╬п╡п╟п╩п╦я│я▄.
16146 </para> 16146 </para>
16147 <para lang="en"> 16147 <para lang="en">
16148 the lines without trailing ";" in the file being included 16148 the lines without trailing ";" in the file being included
16149 by the ngx_http_geo_module were silently ignored. 16149 by the ngx_http_geo_module were silently ignored.
16150 </para> 16150 </para>
16151 </change> 16151 </change>
16152 16152
16153 <change type="feature"> 16153 <change type="feature">
16154 <para lang="ru"> 16154 <para lang="ru">
16155 модуль ngx_http_stub_status_module. 16155 п╪п╬п╢я┐п╩я▄ ngx_http_stub_status_module.
16156 </para> 16156 </para>
16157 <para lang="en"> 16157 <para lang="en">
16158 the ngx_http_stub_status_module. 16158 the ngx_http_stub_status_module.
16159 </para> 16159 </para>
16160 </change> 16160 </change>
16161 16161
16162 <change type="bugfix"> 16162 <change type="bugfix">
16163 <para lang="ru"> 16163 <para lang="ru">
16164 неизвестный формат лог-файла в директиве access_log вызывал segmentation fault. 16164 п╫п╣п╦п╥п╡п╣я│я┌п╫я▀п╧ я└п╬я─п╪п╟я┌ п╩п╬пЁ-я└п╟п╧п╩п╟ п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ access_log п╡я▀п╥я▀п╡п╟п╩ segmentation fault.
16165 </para> 16165 </para>
16166 <para lang="en"> 16166 <para lang="en">
16167 the unknown log format in the access_log directive caused 16167 the unknown log format in the access_log directive caused
16168 the segmentation fault. 16168 the segmentation fault.
16169 </para> 16169 </para>
16170 </change> 16170 </change>
16171 16171
16172 <change type="feature"> 16172 <change type="feature">
16173 <para lang="ru"> 16173 <para lang="ru">
16174 новый параметр document_root в директиве fastcgi_params. 16174 п╫п╬п╡я▀п╧ п©п╟я─п╟п╪п╣я┌я─ document_root п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ fastcgi_params.
16175 </para> 16175 </para>
16176 <para lang="en"> 16176 <para lang="en">
16177 the new "document_root" parameter of the fastcgi_params directive. 16177 the new "document_root" parameter of the fastcgi_params directive.
16178 </para> 16178 </para>
16179 </change> 16179 </change>
16180 16180
16181 <change type="feature"> 16181 <change type="feature">
16182 <para lang="ru"> 16182 <para lang="ru">
16183 директива fastcgi_redirect_errors. 16183 п╢п╦я─п╣п╨я┌п╦п╡п╟ fastcgi_redirect_errors.
16184 </para> 16184 </para>
16185 <para lang="en"> 16185 <para lang="en">
16186 the fastcgi_redirect_errors directive. 16186 the fastcgi_redirect_errors directive.
16187 </para> 16187 </para>
16188 </change> 16188 </change>
16189 16189
16190 <change type="feature"> 16190 <change type="feature">
16191 <para lang="ru"> 16191 <para lang="ru">
16192 новый модификатор break в директиве rewrite позволяет прекратить 16192 п╫п╬п╡я▀п╧ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ break п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ rewrite п©п╬п╥п╡п╬п╩я▐п╣я┌ п©я─п╣п╨я─п╟я┌п╦я┌я▄
16193 цикл rewrite/location и устанавливает текущую конфигурацию для запроса. 16193 я├п╦п╨п╩ rewrite/location п╦ я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌ я┌п╣п╨я┐я┴я┐я▌ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▌ п╢п╩я▐ п╥п╟п©я─п╬я│п╟.
16194 </para> 16194 </para>
16195 <para lang="en"> 16195 <para lang="en">
16196 the new "break" modifier of the "rewrite" directive allows to stop 16196 the new "break" modifier of the "rewrite" directive allows to stop
16197 the rewrite/location cycle and sets the current configuration to the request. 16197 the rewrite/location cycle and sets the current configuration to the request.
16198 </para> 16198 </para>
16203 16203
16204 <changes ver="0.1.17" date="03.02.2005"> 16204 <changes ver="0.1.17" date="03.02.2005">
16205 16205
16206 <change type="change"> 16206 <change type="change">
16207 <para lang="ru"> 16207 <para lang="ru">
16208 модуль ngx_http_rewrite_module полностью переписан. 16208 п╪п╬п╢я┐п╩я▄ ngx_http_rewrite_module п©п╬п╩п╫п╬я│я┌я▄я▌ п©п╣я─п╣п©п╦я│п╟п╫.
16209 Теперь можно делать редиректы, возвращать коды ошибок 16209 п╒п╣п©п╣я─я▄ п╪п╬п╤п╫п╬ п╢п╣п╩п╟я┌я▄ я─п╣п╢п╦я─п╣п╨я┌я▀, п╡п╬п╥п╡я─п╟я┴п╟я┌я▄ п╨п╬п╢я▀ п╬я┬п╦п╠п╬п╨
16210 и проверять переменные и рефереры. 16210 п╦ п©я─п╬п╡п╣я─я▐я┌я▄ п©п╣я─п╣п╪п╣п╫п╫я▀п╣ п╦ я─п╣я└п╣я─п╣я─я▀.
16211 Эти директивы можно использовать внутри location. 16211 п╜я┌п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀ п╪п╬п╤п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ п╡п╫я┐я┌я─п╦ location.
16212 Директива redirect упразднена. 16212 п■п╦я─п╣п╨я┌п╦п╡п╟ redirect я┐п©я─п╟п╥п╢п╫п╣п╫п╟.
16213 </para> 16213 </para>
16214 <para lang="en"> 16214 <para lang="en">
16215 the ngx_http_rewrite_module was rewritten from the scratch. 16215 the ngx_http_rewrite_module was rewritten from the scratch.
16216 Now it is possible to redirect, to return the error codes, 16216 Now it is possible to redirect, to return the error codes,
16217 to check the variables and referrers. The directives can be used 16217 to check the variables and referrers. The directives can be used
16220 </para> 16220 </para>
16221 </change> 16221 </change>
16222 16222
16223 <change type="feature"> 16223 <change type="feature">
16224 <para lang="ru"> 16224 <para lang="ru">
16225 модуль ngx_http_geo_module. 16225 п╪п╬п╢я┐п╩я▄ ngx_http_geo_module.
16226 </para> 16226 </para>
16227 <para lang="en"> 16227 <para lang="en">
16228 the ngx_http_geo_module. 16228 the ngx_http_geo_module.
16229 </para> 16229 </para>
16230 </change> 16230 </change>
16231 16231
16232 <change type="feature"> 16232 <change type="feature">
16233 <para lang="ru"> 16233 <para lang="ru">
16234 директивы proxy_set_x_var и fastcgi_set_var. 16234 п╢п╦я─п╣п╨я┌п╦п╡я▀ proxy_set_x_var п╦ fastcgi_set_var.
16235 </para> 16235 </para>
16236 <para lang="en"> 16236 <para lang="en">
16237 the proxy_set_x_var and fastcgi_set_var directives. 16237 the proxy_set_x_var and fastcgi_set_var directives.
16238 </para> 16238 </para>
16239 </change> 16239 </change>
16240 16240
16241 <change type="bugfix"> 16241 <change type="bugfix">
16242 <para lang="ru"> 16242 <para lang="ru">
16243 конфигурация location с модификатором "=" могла использоваться 16243 п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐ location я│ п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─п╬п╪ "=" п╪п╬пЁп╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐
16244 в другом location. 16244 п╡ п╢я─я┐пЁп╬п╪ location.
16245 </para> 16245 </para>
16246 <para lang="en"> 16246 <para lang="en">
16247 the location configuration with "=" modifier may be used in another 16247 the location configuration with "=" modifier may be used in another
16248 location. 16248 location.
16249 </para> 16249 </para>
16250 </change> 16250 </change>
16251 16251
16252 <change type="bugfix"> 16252 <change type="bugfix">
16253 <para lang="ru"> 16253 <para lang="ru">
16254 правильный тип ответа выставлялся только для запросов, у которых в расширении 16254 п©я─п╟п╡п╦п╩я▄п╫я▀п╧ я┌п╦п© п╬я┌п╡п╣я┌п╟ п╡я▀я│я┌п╟п╡п╩я▐п╩я│я▐ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ п╥п╟п©я─п╬я│п╬п╡, я┐ п╨п╬я┌п╬я─я▀я┘ п╡ я─п╟я│я┬п╦я─п╣п╫п╦п╦
16255 были только маленькие буквы. 16255 п╠я▀п╩п╦ я┌п╬п╩я▄п╨п╬ п╪п╟п╩п╣п╫я▄п╨п╦п╣ п╠я┐п╨п╡я▀.
16256 </para> 16256 </para>
16257 <para lang="en"> 16257 <para lang="en">
16258 the correct content type was set only for requests that use small caps letters 16258 the correct content type was set only for requests that use small caps letters
16259 in extension. 16259 in extension.
16260 </para> 16260 </para>
16261 </change> 16261 </change>
16262 16262
16263 <change type="bugfix"> 16263 <change type="bugfix">
16264 <para lang="ru"> 16264 <para lang="ru">
16265 если для location установлен proxy_pass или fastcgi_pass, и доступ 16265 п╣я│п╩п╦ п╢п╩я▐ location я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ proxy_pass п╦п╩п╦ fastcgi_pass, п╦ п╢п╬я│я┌я┐п©
16266 к нему запрещался, а ошибка перенаправлялась на статическую страницу, 16266 п╨ п╫п╣п╪я┐ п╥п╟п©я─п╣я┴п╟п╩я│я▐, п╟ п╬я┬п╦п╠п╨п╟ п©п╣я─п╣п╫п╟п©я─п╟п╡п╩я▐п╩п╟я│я▄ п╫п╟ я│я┌п╟я┌п╦я┤п╣я│п╨я┐я▌ я│я┌я─п╟п╫п╦я├я┐,
16267 то происходил segmentation fault. 16267 я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
16268 </para> 16268 </para>
16269 <para lang="en"> 16269 <para lang="en">
16270 if the proxy_pass or fastcgi_pass directives were set in the location, 16270 if the proxy_pass or fastcgi_pass directives were set in the location,
16271 and access was denied, and the error was redirected to a static page, 16271 and access was denied, and the error was redirected to a static page,
16272 then the segmentation fault occurred. 16272 then the segmentation fault occurred.
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 если в проксированном ответе в заголовке "Location" передавался 16278 п╣я│п╩п╦ п╡ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╫п╬п╪ п╬я┌п╡п╣я┌п╣ п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ "Location" п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐
16279 относительный URL, то к нему добавлялось имя хоста и слэш; 16279 п╬я┌п╫п╬я│п╦я┌п╣п╩я▄п╫я▀п╧ URL, я┌п╬ п╨ п╫п╣п╪я┐ п╢п╬п╠п╟п╡п╩я▐п╩п╬я│я▄ п╦п╪я▐ я┘п╬я│я┌п╟ п╦ я│п╩я█я┬;
16280 ошибка появилась в 0.1.14. 16280 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16281 </para> 16281 </para>
16282 <para lang="en"> 16282 <para lang="en">
16283 if in a proxied "Location" header was a relative URL, 16283 if in a proxied "Location" header was a relative URL,
16284 then a host name and a slash were added to them; 16284 then a host name and a slash were added to them;
16285 the bug had appeared in 0.1.14. 16285 the bug had appeared in 0.1.14.
16286 </para> 16286 </para>
16287 </change> 16287 </change>
16288 16288
16289 <change type="bugfix"> 16289 <change type="bugfix">
16290 <para lang="ru"> 16290 <para lang="ru">
16291 на Linux в лог не записывался текст системной ошибки. 16291 п╫п╟ Linux п╡ п╩п╬пЁ п╫п╣ п╥п╟п©п╦я│я▀п╡п╟п╩я│я▐ я┌п╣п╨я│я┌ я│п╦я│я┌п╣п╪п╫п╬п╧ п╬я┬п╦п╠п╨п╦.
16292 </para> 16292 </para>
16293 <para lang="en"> 16293 <para lang="en">
16294 the system error message was not logged on Linux. 16294 the system error message was not logged on Linux.
16295 </para> 16295 </para>
16296 </change> 16296 </change>
16300 16300
16301 <changes ver="0.1.16" date="25.01.2005"> 16301 <changes ver="0.1.16" date="25.01.2005">
16302 16302
16303 <change type="bugfix"> 16303 <change type="bugfix">
16304 <para lang="ru"> 16304 <para lang="ru">
16305 если ответ передавался chunk'ами, то при запросе HEAD выдавался 16305 п╣я│п╩п╦ п╬я┌п╡п╣я┌ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ chunk'п╟п╪п╦, я┌п╬ п©я─п╦ п╥п╟п©я─п╬я│п╣ HEAD п╡я▀п╢п╟п╡п╟п╩я│я▐
16306 завершающий chunk. 16306 п╥п╟п╡п╣я─я┬п╟я▌я┴п╦п╧ chunk.
16307 </para> 16307 </para>
16308 <para lang="en"> 16308 <para lang="en">
16309 if the response were transferred by chunks, then on the HEAD request 16309 if the response were transferred by chunks, then on the HEAD request
16310 the final chunk was issued. 16310 the final chunk was issued.
16311 </para> 16311 </para>
16312 </change> 16312 </change>
16313 16313
16314 <change type="bugfix"> 16314 <change type="bugfix">
16315 <para lang="ru"> 16315 <para lang="ru">
16316 заголовок "Connection: keep-alive" выдавался, даже если директива 16316 п╥п╟пЁп╬п╩п╬п╡п╬п╨ "Connection: keep-alive" п╡я▀п╢п╟п╡п╟п╩я│я▐, п╢п╟п╤п╣ п╣я│п╩п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟
16317 keepalive_timeout запрещала использование keep-alive. 16317 keepalive_timeout п╥п╟п©я─п╣я┴п╟п╩п╟ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣ keep-alive.
16318 </para> 16318 </para>
16319 <para lang="en"> 16319 <para lang="en">
16320 the "Connection: keep-alive" header were issued, even if the 16320 the "Connection: keep-alive" header were issued, even if the
16321 keepalive_timeout directive forbade the keep-alive use. 16321 keepalive_timeout directive forbade the keep-alive use.
16322 </para> 16322 </para>
16323 </change> 16323 </change>
16324 16324
16325 <change type="bugfix"> 16325 <change type="bugfix">
16326 <para lang="ru"> 16326 <para lang="ru">
16327 ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. 16327 п╬я┬п╦п╠п╨п╦ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_fastcgi_module п╡я▀п╥я▀п╡п╟п╩п╦ segmentation fault.
16328 </para> 16328 </para>
16329 <para lang="en"> 16329 <para lang="en">
16330 the errors in the ngx_http_fastcgi_module caused the segmentation faults. 16330 the errors in the ngx_http_fastcgi_module caused the segmentation faults.
16331 </para> 16331 </para>
16332 </change> 16332 </change>
16333 16333
16334 <change type="bugfix"> 16334 <change type="bugfix">
16335 <para lang="ru"> 16335 <para lang="ru">
16336 при использовании SSL сжатый ответ мог передаваться не до конца. 16336 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ SSL я│п╤п╟я┌я▀п╧ п╬я┌п╡п╣я┌ п╪п╬пЁ п©п╣я─п╣п╢п╟п╡п╟я┌я▄я│я▐ п╫п╣ п╢п╬ п╨п╬п╫я├п╟.
16337 </para> 16337 </para>
16338 <para lang="en"> 16338 <para lang="en">
16339 the compressed response encrypted by SSL may not transferred complete. 16339 the compressed response encrypted by SSL may not transferred complete.
16340 </para> 16340 </para>
16341 </change> 16341 </change>
16342 16342
16343 <change type="bugfix"> 16343 <change type="bugfix">
16344 <para lang="ru"> 16344 <para lang="ru">
16345 опции TCP_NODELAY, TCP_NOPSUH и TCP_CORK, специфичные для TCP сокетов, 16345 п╬п©я├п╦п╦ TCP_NODELAY, TCP_NOPSUH п╦ TCP_CORK, я│п©п╣я├п╦я└п╦я┤п╫я▀п╣ п╢п╩я▐ TCP я│п╬п╨п╣я┌п╬п╡,
16346 не используются для unix domain сокетов. 16346 п╫п╣ п╦я│п©п╬п╩я▄п╥я┐я▌я┌я│я▐ п╢п╩я▐ unix domain я│п╬п╨п╣я┌п╬п╡.
16347 </para> 16347 </para>
16348 <para lang="en"> 16348 <para lang="en">
16349 the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options, 16349 the TCP-specific TCP_NODELAY, TCP_NOPSUH, and TCP_CORK options,
16350 are not used for the unix domain sockets. 16350 are not used for the unix domain sockets.
16351 </para> 16351 </para>
16352 </change> 16352 </change>
16353 16353
16354 <change type="feature"> 16354 <change type="feature">
16355 <para lang="ru"> 16355 <para lang="ru">
16356 директива rewrite поддерживает перезаписывание аргументов. 16356 п╢п╦я─п╣п╨я┌п╦п╡п╟ rewrite п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ п©п╣я─п╣п╥п╟п©п╦я│я▀п╡п╟п╫п╦п╣ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
16357 </para> 16357 </para>
16358 <para lang="en"> 16358 <para lang="en">
16359 the rewrite directive supports the arguments rewriting. 16359 the rewrite directive supports the arguments rewriting.
16360 </para> 16360 </para>
16361 </change> 16361 </change>
16362 16362
16363 <change type="bugfix"> 16363 <change type="bugfix">
16364 <para lang="ru"> 16364 <para lang="ru">
16365 на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400; 16365 п╫п╟ п╥п╟п©я─п╬я│ POST я│ п╥п╟пЁп╬п╩п╬п╡п╨п╬п╪ "Content-Length: 0" п╡п╬п╥п╡я─п╟я┴п╟п╩я│я▐ п╬я┌п╡п╣я┌ 400;
16366 ошибка появилась в 0.1.14. 16366 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16367 </para> 16367 </para>
16368 <para lang="en"> 16368 <para lang="en">
16369 the response code 400 was returned for the POST request with the 16369 the response code 400 was returned for the POST request with the
16370 "Content-Length: 0" header; 16370 "Content-Length: 0" header;
16371 the bug had appeared in 0.1.14. 16371 the bug had appeared in 0.1.14.
16377 16377
16378 <changes ver="0.1.15" date="19.01.2005"> 16378 <changes ver="0.1.15" date="19.01.2005">
16379 16379
16380 <change type="bugfix"> 16380 <change type="bugfix">
16381 <para lang="ru"> 16381 <para lang="ru">
16382 ошибка соединения с FastCGI-сервером вызывала segmentation fault. 16382 п╬я┬п╦п╠п╨п╟ я│п╬п╣п╢п╦п╫п╣п╫п╦я▐ я│ FastCGI-я│п╣я─п╡п╣я─п╬п╪ п╡я▀п╥я▀п╡п╟п╩п╟ segmentation fault.
16383 </para> 16383 </para>
16384 <para lang="en"> 16384 <para lang="en">
16385 the error while the connecting to the FastCGI server caused 16385 the error while the connecting to the FastCGI server caused
16386 segmentation fault. 16386 segmentation fault.
16387 </para> 16387 </para>
16388 </change> 16388 </change>
16389 16389
16390 <change type="bugfix"> 16390 <change type="bugfix">
16391 <para lang="ru"> 16391 <para lang="ru">
16392 корректная обработка регулярного выражения, в котором число 16392 п╨п╬я─я─п╣п╨я┌п╫п╟я▐ п╬п╠я─п╟п╠п╬я┌п╨п╟ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐, п╡ п╨п╬я┌п╬я─п╬п╪ я┤п╦я│п╩п╬
16393 выделенных частей не совпадает с числом подстановок. 16393 п╡я▀п╢п╣п╩п╣п╫п╫я▀я┘ я┤п╟я│я┌п╣п╧ п╫п╣ я│п╬п╡п©п╟п╢п╟п╣я┌ я│ я┤п╦я│п╩п╬п╪ п©п╬п╢я│я┌п╟п╫п╬п╡п╬п╨.
16394 </para> 16394 </para>
16395 <para lang="en"> 16395 <para lang="en">
16396 the correct handling of the regular expression, that 16396 the correct handling of the regular expression, that
16397 has different number of the captures and substitutions. 16397 has different number of the captures and substitutions.
16398 </para> 16398 </para>
16399 </change> 16399 </change>
16400 16400
16401 <change type="feature"> 16401 <change type="feature">
16402 <para lang="ru"> 16402 <para lang="ru">
16403 location, который передаётся FastCGI-серверу, может быть задан 16403 location, п╨п╬я┌п╬я─я▀п╧ п©п╣я─п╣п╢п╟я▒я┌я│я▐ FastCGI-я│п╣я─п╡п╣я─я┐, п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╥п╟п╢п╟п╫
16404 с помощью регулярного выражения. 16404 я│ п©п╬п╪п╬я┴я▄я▌ я─п╣пЁя┐п╩я▐я─п╫п╬пЁп╬ п╡я▀я─п╟п╤п╣п╫п╦я▐.
16405 </para> 16405 </para>
16406 <para lang="en"> 16406 <para lang="en">
16407 the location, that is passed to the FastCGI server, can be 16407 the location, that is passed to the FastCGI server, can be
16408 regular expression. 16408 regular expression.
16409 </para> 16409 </para>
16410 </change> 16410 </change>
16411 16411
16412 <change type="bugfix"> 16412 <change type="bugfix">
16413 <para lang="ru"> 16413 <para lang="ru">
16414 параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами 16414 п©п╟я─п╟п╪п╣я┌я─ FastCGI REQUEST_URI я┌п╣п©п╣я─я▄ п©п╣я─п╣п╢п╟я▒я┌я│я▐ п╡п╪п╣я│я┌п╣ я│ п╟я─пЁя┐п╪п╣п╫я┌п╟п╪п╦
16415 и в том виде, в котором был получен от клиента. 16415 п╦ п╡ я┌п╬п╪ п╡п╦п╢п╣, п╡ п╨п╬я┌п╬я─п╬п╪ п╠я▀п╩ п©п╬п╩я┐я┤п╣п╫ п╬я┌ п╨п╩п╦п╣п╫я┌п╟.
16416 </para> 16416 </para>
16417 <para lang="en"> 16417 <para lang="en">
16418 the FastCGI's parameter REQUEST_URI is now passed with the arguments 16418 the FastCGI's parameter REQUEST_URI is now passed with the arguments
16419 and in the original state. 16419 and in the original state.
16420 </para> 16420 </para>
16421 </change> 16421 </change>
16422 16422
16423 <change type="bugfix"> 16423 <change type="bugfix">
16424 <para lang="ru"> 16424 <para lang="ru">
16425 для использования регулярных выражений в location нужно было 16425 п╢п╩я▐ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ я─п╣пЁя┐п╩я▐я─п╫я▀я┘ п╡я▀я─п╟п╤п╣п╫п╦п╧ п╡ location п╫я┐п╤п╫п╬ п╠я▀п╩п╬
16426 собирать nginx вместе с ngx_http_rewrite_module. 16426 я│п╬п╠п╦я─п╟я┌я▄ nginx п╡п╪п╣я│я┌п╣ я│ ngx_http_rewrite_module.
16427 </para> 16427 </para>
16428 <para lang="en"> 16428 <para lang="en">
16429 the ngx_http_rewrite_module module was required to be built to use 16429 the ngx_http_rewrite_module module was required to be built to use
16430 the regular expressions in locations. 16430 the regular expressions in locations.
16431 </para> 16431 </para>
16432 </change> 16432 </change>
16433 16433
16434 <change type="bugfix"> 16434 <change type="bugfix">
16435 <para lang="ru"> 16435 <para lang="ru">
16436 если бэкенд слушал на 80-ом порту, то при использовании директивы 16436 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ я│п╩я┐я┬п╟п╩ п╫п╟ 80-п╬п╪ п©п╬я─я┌я┐, я┌п╬ п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀
16437 <nobr>"proxy_preserve_host on"</nobr> в заголовке "Host" указывался 16437 <nobr>"proxy_preserve_host on"</nobr> п╡ п╥п╟пЁп╬п╩п╬п╡п╨п╣ "Host" я┐п╨п╟п╥я▀п╡п╟п╩я│я▐
16438 также порт 80; 16438 я┌п╟п╨п╤п╣ п©п╬я─я┌ 80;
16439 ошибка появилась в 0.1.14. 16439 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.14.
16440 </para> 16440 </para>
16441 <para lang="en"> 16441 <para lang="en">
16442 the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80 16442 the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80
16443 to the "Host" headers, if upstream listen on port 80; 16443 to the "Host" headers, if upstream listen on port 80;
16444 the bug had appeared in 0.1.14. 16444 the bug had appeared in 0.1.14.
16445 </para> 16445 </para>
16446 </change> 16446 </change>
16447 16447
16448 <change type="bugfix"> 16448 <change type="bugfix">
16449 <para lang="ru"> 16449 <para lang="ru">
16450 если задать одинаковые пути в параметрах автоконфигурации 16450 п╣я│п╩п╦ п╥п╟п╢п╟я┌я▄ п╬п╢п╦п╫п╟п╨п╬п╡я▀п╣ п©я┐я┌п╦ п╡ п©п╟я─п╟п╪п╣я┌я─п╟я┘ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
16451 --http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH 16451 --http-client-body-temp-path=PATH п╦ --http-proxy-temp-path=PATH
16452 или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH, 16452 п╦п╩п╦ --http-client-body-temp-path=PATH п╦ --http-fastcgi-temp-path=PATH,
16453 то происходил segmentation fault. 16453 я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
16454 </para> 16454 </para>
16455 <para lang="en"> 16455 <para lang="en">
16456 the same paths in autoconfiguration parameters 16456 the same paths in autoconfiguration parameters
16457 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 16457 --http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH,
16458 or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH 16458 or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH
16465 16465
16466 <changes ver="0.1.14" date="18.01.2005"> 16466 <changes ver="0.1.14" date="18.01.2005">
16467 16467
16468 <change type="feature"> 16468 <change type="feature">
16469 <para lang="ru"> 16469 <para lang="ru">
16470 параметры автоконфигурации 16470 п©п╟я─п╟п╪п╣я┌я─я▀ п╟п╡я┌п╬п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦
16471 --http-client-body-temp-path=PATH, 16471 --http-client-body-temp-path=PATH,
16472 --http-proxy-temp-path=PATH 16472 --http-proxy-temp-path=PATH
16473 и --http-fastcgi-temp-path=PATH 16473 п╦ --http-fastcgi-temp-path=PATH
16474 </para> 16474 </para>
16475 <para lang="en"> 16475 <para lang="en">
16476 the autoconfiguration directives: 16476 the autoconfiguration directives:
16477 --http-client-body-temp-path=PATH, 16477 --http-client-body-temp-path=PATH,
16478 --http-proxy-temp-path=PATH, 16478 --http-proxy-temp-path=PATH,
16480 </para> 16480 </para>
16481 </change> 16481 </change>
16482 16482
16483 <change type="change"> 16483 <change type="change">
16484 <para lang="ru"> 16484 <para lang="ru">
16485 имя каталога с временными файлами, содержащие тело запроса клиента, 16485 п╦п╪я▐ п╨п╟я┌п╟п╩п╬пЁп╟ я│ п╡я─п╣п╪п╣п╫п╫я▀п╪п╦ я└п╟п╧п╩п╟п╪п╦, я│п╬п╢п╣я─п╤п╟я┴п╦п╣ я┌п╣п╩п╬ п╥п╟п©я─п╬я│п╟ п╨п╩п╦п╣п╫я┌п╟,
16486 задаётся директивой client_body_temp_path, 16486 п╥п╟п╢п╟я▒я┌я│я▐ п╢п╦я─п╣п╨я┌п╦п╡п╬п╧ client_body_temp_path,
16487 по умолчанию &lt;prefix&gt;/client_body_temp. 16487 п©п╬ я┐п╪п╬п╩я┤п╟п╫п╦я▌ &lt;prefix&gt;/client_body_temp.
16488 </para> 16488 </para>
16489 <para lang="en"> 16489 <para lang="en">
16490 the directory name for the temporary files with the client request body 16490 the directory name for the temporary files with the client request body
16491 is specified by directive client_body_temp_path, 16491 is specified by directive client_body_temp_path,
16492 by default it is &lt;prefix&gt;/client_body_temp. 16492 by default it is &lt;prefix&gt;/client_body_temp.
16493 </para> 16493 </para>
16494 </change> 16494 </change>
16495 16495
16496 <change type="feature"> 16496 <change type="feature">
16497 <para lang="ru"> 16497 <para lang="ru">
16498 модуль ngx_http_fastcgi_module и директивы 16498 п╪п╬п╢я┐п╩я▄ ngx_http_fastcgi_module п╦ п╢п╦я─п╣п╨я┌п╦п╡я▀
16499 fastcgi_pass, 16499 fastcgi_pass,
16500 fastcgi_root, 16500 fastcgi_root,
16501 fastcgi_index, 16501 fastcgi_index,
16502 fastcgi_params, 16502 fastcgi_params,
16503 fastcgi_connect_timeout, 16503 fastcgi_connect_timeout,
16509 fastcgi_busy_buffers_size, 16509 fastcgi_busy_buffers_size,
16510 fastcgi_temp_path, 16510 fastcgi_temp_path,
16511 fastcgi_max_temp_file_size, 16511 fastcgi_max_temp_file_size,
16512 fastcgi_temp_file_write_size, 16512 fastcgi_temp_file_write_size,
16513 fastcgi_next_upstream 16513 fastcgi_next_upstream
16514 и fastcgi_x_powered_by. 16514 п╦ fastcgi_x_powered_by.
16515 16515
16516 </para> 16516 </para>
16517 <para lang="en"> 16517 <para lang="en">
16518 the ngx_http_fastcgi_module and the directives: 16518 the ngx_http_fastcgi_module and the directives:
16519 fastcgi_pass, 16519 fastcgi_pass,
16535 </para> 16535 </para>
16536 </change> 16536 </change>
16537 16537
16538 <change type="bugfix"> 16538 <change type="bugfix">
16539 <para lang="ru"> 16539 <para lang="ru">
16540 ошибка "[alert] zero size buf"; 16540 п╬я┬п╦п╠п╨п╟ "[alert] zero size buf";
16541 ошибка появилась в 0.1.3. 16541 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.3.
16542 </para> 16542 </para>
16543 <para lang="en"> 16543 <para lang="en">
16544 the "[alert] zero size buf" error; 16544 the "[alert] zero size buf" error;
16545 the bug had appeared in 0.1.3. 16545 the bug had appeared in 0.1.3.
16546 </para> 16546 </para>
16547 </change> 16547 </change>
16548 16548
16549 <change type="change"> 16549 <change type="change">
16550 <para lang="ru"> 16550 <para lang="ru">
16551 в директиве proxy_pass нужно обязательно указывать URI после имени хоста. 16551 п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ proxy_pass п╫я┐п╤п╫п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ я┐п╨п╟п╥я▀п╡п╟я┌я▄ URI п©п╬я│п╩п╣ п╦п╪п╣п╫п╦ я┘п╬я│я┌п╟.
16552 </para> 16552 </para>
16553 <para lang="en"> 16553 <para lang="en">
16554 the URI must be specified after the host name in the proxy_pass directive. 16554 the URI must be specified after the host name in the proxy_pass directive.
16555 </para> 16555 </para>
16556 </change> 16556 </change>
16557 16557
16558 <change type="change"> 16558 <change type="change">
16559 <para lang="ru"> 16559 <para lang="ru">
16560 если в URI встречался символ %3F, то он считался началом строки аргументов. 16560 п╣я│п╩п╦ п╡ URI п╡я│я┌я─п╣я┤п╟п╩я│я▐ я│п╦п╪п╡п╬п╩ %3F, я┌п╬ п╬п╫ я│я┤п╦я┌п╟п╩я│я▐ п╫п╟я┤п╟п╩п╬п╪ я│я┌я─п╬п╨п╦ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
16561 </para> 16561 </para>
16562 <para lang="en"> 16562 <para lang="en">
16563 the %3F symbol in the URI was considered as the argument string start. 16563 the %3F symbol in the URI was considered as the argument string start.
16564 </para> 16564 </para>
16565 </change> 16565 </change>
16566 16566
16567 <change type="feature"> 16567 <change type="feature">
16568 <para lang="ru"> 16568 <para lang="ru">
16569 поддержка unix domain сoкетов в модуле ngx_http_proxy_module. 16569 п©п╬п╢п╢п╣я─п╤п╨п╟ unix domain я│oп╨п╣я┌п╬п╡ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_proxy_module.
16570 </para> 16570 </para>
16571 <para lang="en"> 16571 <para lang="en">
16572 the unix domain sockets support in the ngx_http_proxy_module. 16572 the unix domain sockets support in the ngx_http_proxy_module.
16573 </para> 16573 </para>
16574 </change> 16574 </change>
16575 16575
16576 <change type="feature"> 16576 <change type="feature">
16577 <para lang="ru"> 16577 <para lang="ru">
16578 директивы ssl_engine и ssl_ciphers.<br/> 16578 п╢п╦я─п╣п╨я┌п╦п╡я▀ ssl_engine п╦ ssl_ciphers.<br/>
16579 Спасибо Сергею Скворцову за SSL-акселератор. 16579 п║п©п╟я│п╦п╠п╬ п║п╣я─пЁп╣я▌ п║п╨п╡п╬я─я├п╬п╡я┐ п╥п╟ SSL-п╟п╨я│п╣п╩п╣я─п╟я┌п╬я─.
16580 </para> 16580 </para>
16581 <para lang="en"> 16581 <para lang="en">
16582 the ssl_engine and ssl_ciphers directives.<br/> 16582 the ssl_engine and ssl_ciphers directives.<br/>
16583 Thanks to Sergey Skvortsov for SSL-accelerator. 16583 Thanks to Sergey Skvortsov for SSL-accelerator.
16584 </para> 16584 </para>
16589 16589
16590 <changes ver="0.1.13" date="21.12.2004"> 16590 <changes ver="0.1.13" date="21.12.2004">
16591 16591
16592 <change type="feature"> 16592 <change type="feature">
16593 <para lang="ru"> 16593 <para lang="ru">
16594 директивы server_names_hash и server_names_hash_threshold. 16594 п╢п╦я─п╣п╨я┌п╦п╡я▀ server_names_hash п╦ server_names_hash_threshold.
16595 </para> 16595 </para>
16596 <para lang="en"> 16596 <para lang="en">
16597 the server_names_hash and server_names_hash_threshold directives. 16597 the server_names_hash and server_names_hash_threshold directives.
16598 </para> 16598 </para>
16599 </change> 16599 </change>
16600 16600
16601 <change type="bugfix"> 16601 <change type="bugfix">
16602 <para lang="ru"> 16602 <para lang="ru">
16603 имена *.domain.tld в директиве server_name не работали. 16603 п╦п╪п╣п╫п╟ *.domain.tld п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ server_name п╫п╣ я─п╟п╠п╬я┌п╟п╩п╦.
16604 </para> 16604 </para>
16605 <para lang="en"> 16605 <para lang="en">
16606 the *.domain.tld names in the "server_name" directive did not work. 16606 the *.domain.tld names in the "server_name" directive did not work.
16607 </para> 16607 </para>
16608 </change> 16608 </change>
16609 16609
16610 <change type="bugfix"> 16610 <change type="bugfix">
16611 <para lang="ru"> 16611 <para lang="ru">
16612 параметр лога %request_length записывал неверную длину. 16612 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_length п╥п╟п©п╦я│я▀п╡п╟п╩ п╫п╣п╡п╣я─п╫я┐я▌ п╢п╩п╦п╫я┐.
16613 </para> 16613 </para>
16614 <para lang="en"> 16614 <para lang="en">
16615 the %request_length log parameter logged the incorrect length. 16615 the %request_length log parameter logged the incorrect length.
16616 </para> 16616 </para>
16617 </change> 16617 </change>
16621 16621
16622 <changes ver="0.1.12" date="06.12.2004"> 16622 <changes ver="0.1.12" date="06.12.2004">
16623 16623
16624 <change type="feature"> 16624 <change type="feature">
16625 <para lang="ru"> 16625 <para lang="ru">
16626 параметр лога %request_length. 16626 п©п╟я─п╟п╪п╣я┌я─ п╩п╬пЁп╟ %request_length.
16627 </para> 16627 </para>
16628 <para lang="en"> 16628 <para lang="en">
16629 the %request_length log parameter. 16629 the %request_length log parameter.
16630 </para> 16630 </para>
16631 </change> 16631 </change>
16632 16632
16633 <change type="bugfix"> 16633 <change type="bugfix">
16634 <para lang="ru"> 16634 <para lang="ru">
16635 при использовании /dev/poll, select и poll на платформах, где возможны 16635 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ /dev/poll, select п╦ poll п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, пЁп╢п╣ п╡п╬п╥п╪п╬п╤п╫я▀
16636 ложные срабатывания указанных методов, могли быть длительные задержки 16636 п╩п╬п╤п╫я▀п╣ я│я─п╟п╠п╟я┌я▀п╡п╟п╫п╦я▐ я┐п╨п╟п╥п╟п╫п╫я▀я┘ п╪п╣я┌п╬п╢п╬п╡, п╪п╬пЁп╩п╦ п╠я▀я┌я▄ п╢п╩п╦я┌п╣п╩я▄п╫я▀п╣ п╥п╟п╢п╣я─п╤п╨п╦
16637 при обработке запроса по keep-alive соединению. 16637 п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ п╥п╟п©я─п╬я│п╟ п©п╬ keep-alive я│п╬п╣п╢п╦п╫п╣п╫п╦я▌.
16638 Наблюдалось по крайней мере на Solaris с использованием /dev/poll. 16638 п²п╟п╠п╩я▌п╢п╟п╩п╬я│я▄ п©п╬ п╨я─п╟п╧п╫п╣п╧ п╪п╣я─п╣ п╫п╟ Solaris я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ /dev/poll.
16639 </para> 16639 </para>
16640 <para lang="en"> 16640 <para lang="en">
16641 when using the /dev/poll, select and poll on the platforms, where 16641 when using the /dev/poll, select and poll on the platforms, where
16642 these methods may do the false reports, there may be the long delay when 16642 these methods may do the false reports, there may be the long delay when
16643 the request was passed via the keep-alive connection. 16643 the request was passed via the keep-alive connection.
16645 </para> 16645 </para>
16646 </change> 16646 </change>
16647 16647
16648 <change type="bugfix"> 16648 <change type="bugfix">
16649 <para lang="ru"> 16649 <para lang="ru">
16650 директива send_lowat игнорируется на Linux, так как Linux не поддерживает 16650 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat п╦пЁп╫п╬я─п╦я─я┐п╣я┌я│я▐ п╫п╟ Linux, я┌п╟п╨ п╨п╟п╨ Linux п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌
16651 опцию SO_SNDLOWAT. 16651 п╬п©я├п╦я▌ SO_SNDLOWAT.
16652 </para> 16652 </para>
16653 <para lang="en"> 16653 <para lang="en">
16654 the send_lowat directive is ignored on Linux because Linux does not support 16654 the send_lowat directive is ignored on Linux because Linux does not support
16655 the SO_SNDLOWAT option. 16655 the SO_SNDLOWAT option.
16656 </para> 16656 </para>
16661 16661
16662 <changes ver="0.1.11" date="02.12.2004"> 16662 <changes ver="0.1.11" date="02.12.2004">
16663 16663
16664 <change type="feature"> 16664 <change type="feature">
16665 <para lang="ru"> 16665 <para lang="ru">
16666 директива worker_priority. 16666 п╢п╦я─п╣п╨я┌п╦п╡п╟ worker_priority.
16667 </para> 16667 </para>
16668 <para lang="en"> 16668 <para lang="en">
16669 the worker_priority directive. 16669 the worker_priority directive.
16670 </para> 16670 </para>
16671 </change> 16671 </change>
16672 16672
16673 <change type="change"> 16673 <change type="change">
16674 <para lang="ru"> 16674 <para lang="ru">
16675 под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу 16675 п©п╬п╢ FreeBSD п╢п╦я─п╣п╨я┌п╦п╡я▀ tcp_nopush п╦ tcp_nodelay п╡п╪п╣я│я┌п╣ п╡п╩п╦я▐я▌я┌ п╫п╟ п©п╣я─п╣п╢п╟я┤я┐
16676 ответа. 16676 п╬я┌п╡п╣я┌п╟.
16677 </para> 16677 </para>
16678 <para lang="en"> 16678 <para lang="en">
16679 both tcp_nopush and tcp_nodelay directives affect the transferred response. 16679 both tcp_nopush and tcp_nodelay directives affect the transferred response.
16680 </para> 16680 </para>
16681 </change> 16681 </change>
16682 16682
16683 <change type="bugfix"> 16683 <change type="bugfix">
16684 <para lang="ru"> 16684 <para lang="ru">
16685 nginx не вызывал initgroups().<br/> 16685 nginx п╫п╣ п╡я▀п╥я▀п╡п╟п╩ initgroups().<br/>
16686 Спасибо Андрею Ситникову и Андрею Нигматулину. 16686 п║п©п╟я│п╦п╠п╬ п░п╫п╢я─п╣я▌ п║п╦я┌п╫п╦п╨п╬п╡я┐ п╦ п░п╫п╢я─п╣я▌ п²п╦пЁп╪п╟я┌я┐п╩п╦п╫я┐.
16687 </para> 16687 </para>
16688 <para lang="en"> 16688 <para lang="en">
16689 nginx did not call initgroups().<br/> 16689 nginx did not call initgroups().<br/>
16690 Thanks to Andrew Sitnikov and Andrei Nigmatulin. 16690 Thanks to Andrew Sitnikov and Andrei Nigmatulin.
16691 </para> 16691 </para>
16692 </change> 16692 </change>
16693 16693
16694 <change type="change"> 16694 <change type="change">
16695 <para lang="ru"> 16695 <para lang="ru">
16696 ngx_http_auto_index_module теперь выдаёт размер файлов в байтах. 16696 ngx_http_auto_index_module я┌п╣п©п╣я─я▄ п╡я▀п╢п╟я▒я┌ я─п╟п╥п╪п╣я─ я└п╟п╧п╩п╬п╡ п╡ п╠п╟п╧я┌п╟я┘.
16697 </para> 16697 </para>
16698 <para lang="en"> 16698 <para lang="en">
16699 now the ngx_http_autoindex_module shows the file size in the bytes. 16699 now the ngx_http_autoindex_module shows the file size in the bytes.
16700 </para> 16700 </para>
16701 </change> 16701 </change>
16702 16702
16703 <change type="bugfix"> 16703 <change type="bugfix">
16704 <para lang="ru"> 16704 <para lang="ru">
16705 ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть 16705 ngx_http_auto_index_module п╡п╬п╥п╡я─п╟я┴п╟п╩ п╬я┬п╦п╠п╨я┐ 500, п╣я│п╩п╦ п╡ п╨п╟я┌п╟п╩п╬пЁп╣ п╣я│я┌я▄
16706 битый symlink. 16706 п╠п╦я┌я▀п╧ symlink.
16707 </para> 16707 </para>
16708 <para lang="en"> 16708 <para lang="en">
16709 the ngx_http_autoindex_module returned the 500 error if the broken symlink 16709 the ngx_http_autoindex_module returned the 500 error if the broken symlink
16710 was in a directory. 16710 was in a directory.
16711 </para> 16711 </para>
16712 </change> 16712 </change>
16713 16713
16714 <change type="bugfix"> 16714 <change type="bugfix">
16715 <para lang="ru"> 16715 <para lang="ru">
16716 файлы больше 4G не передавались с использованием sendfile. 16716 я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 4G п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я│ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╣п╪ sendfile.
16717 </para> 16717 </para>
16718 <para lang="en"> 16718 <para lang="en">
16719 the files bigger than 4G could not be transferred using sendfile. 16719 the files bigger than 4G could not be transferred using sendfile.
16720 </para> 16720 </para>
16721 </change> 16721 </change>
16722 16722
16723 <change type="bugfix"> 16723 <change type="bugfix">
16724 <para lang="ru"> 16724 <para lang="ru">
16725 если бэкенд резолвился в несколько адресов и при ожидании от него ответа 16725 п╣я│п╩п╦ п╠я█п╨п╣п╫п╢ я─п╣п╥п╬п╩п╡п╦п╩я│я▐ п╡ п╫п╣я│п╨п╬п╩я▄п╨п╬ п╟п╢я─п╣я│п╬п╡ п╦ п©я─п╦ п╬п╤п╦п╢п╟п╫п╦п╦ п╬я┌ п╫п╣пЁп╬ п╬я┌п╡п╣я┌п╟
16726 происходила ошибка, то процесс зацикливался. 16726 п©я─п╬п╦я│я┘п╬п╢п╦п╩п╟ п╬я┬п╦п╠п╨п╟, я┌п╬ п©я─п╬я├п╣я│я│ п╥п╟я├п╦п╨п╩п╦п╡п╟п╩я│я▐.
16727 </para> 16727 </para>
16728 <para lang="en"> 16728 <para lang="en">
16729 if the backend was resolved to several backends and there was an error while 16729 if the backend was resolved to several backends and there was an error while
16730 the response waiting then process may got caught in an endless loop. 16730 the response waiting then process may got caught in an endless loop.
16731 </para> 16731 </para>
16732 </change> 16732 </change>
16733 16733
16734 <change type="bugfix"> 16734 <change type="bugfix">
16735 <para lang="ru"> 16735 <para lang="ru">
16736 при использовании метода /dev/poll рабочий процесс мог завершиться 16736 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╪п╣я┌п╬п╢п╟ /dev/poll я─п╟п╠п╬я┤п╦п╧ п©я─п╬я├п╣я│я│ п╪п╬пЁ п╥п╟п╡п╣я─я┬п╦я┌я▄я│я▐
16737 с сообщением "unknown cycle". 16737 я│ я│п╬п╬п╠я┴п╣п╫п╦п╣п╪ "unknown cycle".
16738 </para> 16738 </para>
16739 <para lang="en"> 16739 <para lang="en">
16740 the worker process may exit with the "unknown cycle" message when the /dev/poll 16740 the worker process may exit with the "unknown cycle" message when the /dev/poll
16741 method was used. 16741 method was used.
16742 </para> 16742 </para>
16743 </change> 16743 </change>
16744 16744
16745 <change type="bugfix"> 16745 <change type="bugfix">
16746 <para lang="ru"> 16746 <para lang="ru">
16747 ошибки "close() channel failed". 16747 п╬я┬п╦п╠п╨п╦ "close() channel failed".
16748 </para> 16748 </para>
16749 <para lang="en"> 16749 <para lang="en">
16750 "close() channel failed" errors. 16750 "close() channel failed" errors.
16751 </para> 16751 </para>
16752 </change> 16752 </change>
16753 16753
16754 <change type="bugfix"> 16754 <change type="bugfix">
16755 <para lang="ru"> 16755 <para lang="ru">
16756 автоматическое определение групп nobody и nogroup. 16756 п╟п╡я┌п╬п╪п╟я┌п╦я┤п╣я│п╨п╬п╣ п╬п©я─п╣п╢п╣п╩п╣п╫п╦п╣ пЁя─я┐п©п© nobody п╦ nogroup.
16757 </para> 16757 </para>
16758 <para lang="en"> 16758 <para lang="en">
16759 the autodetection of the "nobody" and "nogroup" groups. 16759 the autodetection of the "nobody" and "nogroup" groups.
16760 </para> 16760 </para>
16761 </change> 16761 </change>
16762 16762
16763 <change type="bugfix"> 16763 <change type="bugfix">
16764 <para lang="ru"> 16764 <para lang="ru">
16765 директива send_lowat не работала на Linux. 16765 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat п╫п╣ я─п╟п╠п╬я┌п╟п╩п╟ п╫п╟ Linux.
16766 </para> 16766 </para>
16767 <para lang="en"> 16767 <para lang="en">
16768 the send_lowat directive did not work on Linux. 16768 the send_lowat directive did not work on Linux.
16769 </para> 16769 </para>
16770 </change> 16770 </change>
16771 16771
16772 <change type="bugfix"> 16772 <change type="bugfix">
16773 <para lang="ru"> 16773 <para lang="ru">
16774 если в конфигурации не было раздела events, то происходил segmentation fault. 16774 п╣я│п╩п╦ п╡ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ п╫п╣ п╠я▀п╩п╬ я─п╟п╥п╢п╣п╩п╟ events, я┌п╬ п©я─п╬п╦я│я┘п╬п╢п╦п╩ segmentation fault.
16775 </para> 16775 </para>
16776 <para lang="en"> 16776 <para lang="en">
16777 the segmentation fault occurred if there was no events section 16777 the segmentation fault occurred if there was no events section
16778 in configuration. 16778 in configuration.
16779 </para> 16779 </para>
16780 </change> 16780 </change>
16781 16781
16782 <change type="bugfix"> 16782 <change type="bugfix">
16783 <para lang="ru"> 16783 <para lang="ru">
16784 nginx не собирался под OpenBSD. 16784 nginx п╫п╣ я│п╬п╠п╦я─п╟п╩я│я▐ п©п╬п╢ OpenBSD.
16785 </para> 16785 </para>
16786 <para lang="en"> 16786 <para lang="en">
16787 nginx could not be built on OpenBSD. 16787 nginx could not be built on OpenBSD.
16788 </para> 16788 </para>
16789 </change> 16789 </change>
16790 16790
16791 <change type="bugfix"> 16791 <change type="bugfix">
16792 <para lang="ru"> 16792 <para lang="ru">
16793 двойные слэшы в "://" в URI превращались в ":/". 16793 п╢п╡п╬п╧п╫я▀п╣ я│п╩я█я┬я▀ п╡ "://" п╡ URI п©я─п╣п╡я─п╟я┴п╟п╩п╦я│я▄ п╡ ":/".
16794 </para> 16794 </para>
16795 <para lang="en"> 16795 <para lang="en">
16796 the double slashes in "://" in the URI were converted to ":/". 16796 the double slashes in "://" in the URI were converted to ":/".
16797 </para> 16797 </para>
16798 </change> 16798 </change>
16802 16802
16803 <changes ver="0.1.10" date="26.11.2004"> 16803 <changes ver="0.1.10" date="26.11.2004">
16804 16804
16805 <change type="bugfix"> 16805 <change type="bugfix">
16806 <para lang="ru"> 16806 <para lang="ru">
16807 если в запросе без аргументов есть "//", "/./", "/../" или "%XX", 16807 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╠п╣п╥ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡ п╣я│я┌я▄ "//", "/./", "/../" п╦п╩п╦ "%XX",
16808 то терялся последний символ в строке запроса; 16808 я┌п╬ я┌п╣я─я▐п╩я│я▐ п©п╬я│п╩п╣п╢п╫п╦п╧ я│п╦п╪п╡п╬п╩ п╡ я│я┌я─п╬п╨п╣ п╥п╟п©я─п╬я│п╟;
16809 ошибка появилась в 0.1.9. 16809 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.9.
16810 </para> 16810 </para>
16811 <para lang="en"> 16811 <para lang="en">
16812 if the request without arguments contains "//", "/./", "/../" or "%XX" 16812 if the request without arguments contains "//", "/./", "/../" or "%XX"
16813 then the last character in the request line was lost; 16813 then the last character in the request line was lost;
16814 the bug had appeared in 0.1.9. 16814 the bug had appeared in 0.1.9.
16815 </para> 16815 </para>
16816 </change> 16816 </change>
16817 16817
16818 <change type="bugfix"> 16818 <change type="bugfix">
16819 <para lang="ru"> 16819 <para lang="ru">
16820 исправление в версии 0.1.9 для файлов больше 2G на Linux не работало. 16820 п╦я│п©я─п╟п╡п╩п╣п╫п╦п╣ п╡ п╡п╣я─я│п╦п╦ 0.1.9 п╢п╩я▐ я└п╟п╧п╩п╬п╡ п╠п╬п╩я▄я┬п╣ 2G п╫п╟ Linux п╫п╣ я─п╟п╠п╬я┌п╟п╩п╬.
16821 </para> 16821 </para>
16822 <para lang="en"> 16822 <para lang="en">
16823 the fix in 0.1.9 for the files bigger than 2G on Linux did not work. 16823 the fix in 0.1.9 for the files bigger than 2G on Linux did not work.
16824 </para> 16824 </para>
16825 </change> 16825 </change>
16829 16829
16830 <changes ver="0.1.9" date="25.11.2004"> 16830 <changes ver="0.1.9" date="25.11.2004">
16831 16831
16832 <change type="bugfix"> 16832 <change type="bugfix">
16833 <para lang="ru"> 16833 <para lang="ru">
16834 если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый 16834 п╣я│п╩п╦ п╡ п╥п╟п©я─п╬я│п╣ п╣я│я┌я▄ "//", "/./", "/../" п╦п╩п╦ "%XX", я┌п╬ п©я─п╬п╨я│п╦я─я┐п╣п╪я▀п╧
16835 запрос передавался без аргументов. 16835 п╥п╟п©я─п╬я│ п©п╣я─п╣п╢п╟п╡п╟п╩я│я▐ п╠п╣п╥ п╟я─пЁя┐п╪п╣п╫я┌п╬п╡.
16836 </para> 16836 </para>
16837 <para lang="en"> 16837 <para lang="en">
16838 the proxied request was sent without arguments if the request contains 16838 the proxied request was sent without arguments if the request contains
16839 "//", "/./", "/../" or "%XX". 16839 "//", "/./", "/../" or "%XX".
16840 </para> 16840 </para>
16841 </change> 16841 </change>
16842 16842
16843 <change type="bugfix"> 16843 <change type="bugfix">
16844 <para lang="ru"> 16844 <para lang="ru">
16845 при сжатии больших ответов иногда они передавались не полностью. 16845 п©я─п╦ я│п╤п╟я┌п╦п╦ п╠п╬п╩я▄я┬п╦я┘ п╬я┌п╡п╣я┌п╬п╡ п╦п╫п╬пЁп╢п╟ п╬п╫п╦ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╫п╣ п©п╬п╩п╫п╬я│я┌я▄я▌.
16846 </para> 16846 </para>
16847 <para lang="en"> 16847 <para lang="en">
16848 the large compressed responses may be transferred not completely. 16848 the large compressed responses may be transferred not completely.
16849 </para> 16849 </para>
16850 </change> 16850 </change>
16851 16851
16852 <change type="bugfix"> 16852 <change type="bugfix">
16853 <para lang="ru"> 16853 <para lang="ru">
16854 не передавались файлы больше 2G на Linux, неподдерживающем sendfile64(). 16854 п╫п╣ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ я└п╟п╧п╩я▀ п╠п╬п╩я▄я┬п╣ 2G п╫п╟ Linux, п╫п╣п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╣п╪ sendfile64().
16855 </para> 16855 </para>
16856 <para lang="en"> 16856 <para lang="en">
16857 the files bigger than 2G was not transferred on Linux that does not support 16857 the files bigger than 2G was not transferred on Linux that does not support
16858 sendfile64(). 16858 sendfile64().
16859 </para> 16859 </para>
16860 </change> 16860 </change>
16861 16861
16862 <change type="bugfix"> 16862 <change type="bugfix">
16863 <para lang="ru"> 16863 <para lang="ru">
16864 на Linux при конфигурации сборки нужно было обязательно использовать 16864 п╫п╟ Linux п©я─п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│п╠п╬я─п╨п╦ п╫я┐п╤п╫п╬ п╠я▀п╩п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄
16865 параметр --with-poll_module; 16865 п©п╟я─п╟п╪п╣я┌я─ --with-poll_module;
16866 ошибка появилась в 0.1.8. 16866 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.8.
16867 </para> 16867 </para>
16868 <para lang="en"> 16868 <para lang="en">
16869 while the build configuration on Linux the --with-poll_module parameter 16869 while the build configuration on Linux the --with-poll_module parameter
16870 was required; 16870 was required;
16871 the bug had appeared in 0.1.8. 16871 the bug had appeared in 0.1.8.
16877 16877
16878 <changes ver="0.1.8" date="20.11.2004"> 16878 <changes ver="0.1.8" date="20.11.2004">
16879 16879
16880 <change type="bugfix"> 16880 <change type="bugfix">
16881 <para lang="ru"> 16881 <para lang="ru">
16882 ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов. 16882 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module п©я─п╦ п©п╬п╨п╟п╥п╣ п╢п╩п╦п╫п╫я▀я┘ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡.
16883 </para> 16883 </para>
16884 <para lang="en"> 16884 <para lang="en">
16885 in the ngx_http_autoindex_module if the long file names were in the listing. 16885 in the ngx_http_autoindex_module if the long file names were in the listing.
16886 </para> 16886 </para>
16887 </change> 16887 </change>
16888 16888
16889 <change type="feature"> 16889 <change type="feature">
16890 <para lang="ru"> 16890 <para lang="ru">
16891 модификатор "^~" в директиве location. 16891 п╪п╬п╢п╦я└п╦п╨п╟я┌п╬я─ "^~" п╡ п╢п╦я─п╣п╨я┌п╦п╡п╣ location.
16892 </para> 16892 </para>
16893 <para lang="en"> 16893 <para lang="en">
16894 the "^~" modifier in the location directive. 16894 the "^~" modifier in the location directive.
16895 </para> 16895 </para>
16896 </change> 16896 </change>
16897 16897
16898 <change type="feature"> 16898 <change type="feature">
16899 <para lang="ru"> 16899 <para lang="ru">
16900 директива proxy_max_temp_file_size. 16900 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_max_temp_file_size.
16901 </para> 16901 </para>
16902 <para lang="en"> 16902 <para lang="en">
16903 the proxy_max_temp_file_size directive. 16903 the proxy_max_temp_file_size directive.
16904 </para> 16904 </para>
16905 </change> 16905 </change>
16909 16909
16910 <changes ver="0.1.7" date="12.11.2004"> 16910 <changes ver="0.1.7" date="12.11.2004">
16911 16911
16912 <change type="bugfix"> 16912 <change type="bugfix">
16913 <para lang="ru"> 16913 <para lang="ru">
16914 при использовании sendfile, если передаваемый файл менялся, то мог 16914 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile, п╣я│п╩п╦ п©п╣я─п╣п╢п╟п╡п╟п╣п╪я▀п╧ я└п╟п╧п╩ п╪п╣п╫я▐п╩я│я▐, я┌п╬ п╪п╬пЁ
16915 произойти segmentation fault на FreeBSD; 16915 п©я─п╬п╦п╥п╬п╧я┌п╦ segmentation fault п╫п╟ FreeBSD;
16916 ошибка появилась в 0.1.5. 16916 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.5.
16917 </para> 16917 </para>
16918 <para lang="en"> 16918 <para lang="en">
16919 on FreeBSD the segmentation fault may occur if the size of the transferred 16919 on FreeBSD the segmentation fault may occur if the size of the transferred
16920 file was changed; 16920 file was changed;
16921 the bug had appeared in 0.1.5. 16921 the bug had appeared in 0.1.5.
16927 16927
16928 <changes ver="0.1.6" date="11.11.2004"> 16928 <changes ver="0.1.6" date="11.11.2004">
16929 16929
16930 <change type="bugfix"> 16930 <change type="bugfix">
16931 <para lang="ru"> 16931 <para lang="ru">
16932 при некоторых комбинациях директив location c регулярными выражениями 16932 п©я─п╦ п╫п╣п╨п╬я┌п╬я─я▀я┘ п╨п╬п╪п╠п╦п╫п╟я├п╦я▐я┘ п╢п╦я─п╣п╨я┌п╦п╡ location c я─п╣пЁя┐п╩я▐я─п╫я▀п╪п╦ п╡я▀я─п╟п╤п╣п╫п╦я▐п╪п╦
16933 использовалась конфигурация не из того location. 16933 п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩п╟я│я▄ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦я▐ п╫п╣ п╦п╥ я┌п╬пЁп╬ location.
16934 </para> 16934 </para>
16935 <para lang="en"> 16935 <para lang="en">
16936 some location directive combinations with the regular expressions caused 16936 some location directive combinations with the regular expressions caused
16937 the wrong configuration choose. 16937 the wrong configuration choose.
16938 </para> 16938 </para>
16943 16943
16944 <changes ver="0.1.5" date="11.11.2004"> 16944 <changes ver="0.1.5" date="11.11.2004">
16945 16945
16946 <change type="bugfix"> 16946 <change type="bugfix">
16947 <para lang="ru"> 16947 <para lang="ru">
16948 на Solaris и Linux могло быть очень много сообщений "recvmsg() returned 16948 п╫п╟ Solaris п╦ Linux п╪п╬пЁп╩п╬ п╠я▀я┌я▄ п╬я┤п╣п╫я▄ п╪п╫п╬пЁп╬ я│п╬п╬п╠я┴п╣п╫п╦п╧ "recvmsg() returned
16949 not enough data". 16949 not enough data".
16950 </para> 16950 </para>
16951 <para lang="en"> 16951 <para lang="en">
16952 on Solaris and Linux there may be too many "recvmsg() returned not enough data" 16952 on Solaris and Linux there may be too many "recvmsg() returned not enough data"
16953 alerts. 16953 alerts.
16954 </para> 16954 </para>
16955 </change> 16955 </change>
16956 16956
16957 <change type="bugfix"> 16957 <change type="bugfix">
16958 <para lang="ru"> 16958 <para lang="ru">
16959 в режиме прокси без использования sendfile на Solaris возникала 16959 п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╠п╣п╥ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦я▐ sendfile п╫п╟ Solaris п╡п╬п╥п╫п╦п╨п╟п╩п╟
16960 ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr> 16960 п╬я┬п╦п╠п╨п╟ "writev() failed <nobr>(22: Invalid argument)".</nobr>
16961 На других платформах, не поддерживающих sendfile, процесс зацикливался. 16961 п²п╟ п╢я─я┐пЁп╦я┘ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ sendfile, п©я─п╬я├п╣я│я│ п╥п╟я├п╦п╨п╩п╦п╡п╟п╩я│я▐.
16962 </para> 16962 </para>
16963 <para lang="en"> 16963 <para lang="en">
16964 there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on 16964 there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on
16965 Solaris in proxy mode without sendfile. On other platforms that do not 16965 Solaris in proxy mode without sendfile. On other platforms that do not
16966 support sendfile at all the process got caught in an endless loop. 16966 support sendfile at all the process got caught in an endless loop.
16967 </para> 16967 </para>
16968 </change> 16968 </change>
16969 16969
16970 <change type="bugfix"> 16970 <change type="bugfix">
16971 <para lang="ru"> 16971 <para lang="ru">
16972 при использовании sendfile в режиме прокси на Solaris возникал 16972 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile п╡ я─п╣п╤п╦п╪п╣ п©я─п╬п╨я│п╦ п╫п╟ Solaris п╡п╬п╥п╫п╦п╨п╟п╩
16973 segmentation fault. 16973 segmentation fault.
16974 </para> 16974 </para>
16975 <para lang="en"> 16975 <para lang="en">
16976 segmentation fault on Solaris in proxy mode and using sendfile. 16976 segmentation fault on Solaris in proxy mode and using sendfile.
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 segmentation fault на Solaris. 16982 segmentation fault п╫п╟ Solaris.
16983 </para> 16983 </para>
16984 <para lang="en"> 16984 <para lang="en">
16985 segmentation fault on Solaris. 16985 segmentation fault on Solaris.
16986 </para> 16986 </para>
16987 </change> 16987 </change>
16988 16988
16989 <change type="bugfix"> 16989 <change type="bugfix">
16990 <para lang="ru"> 16990 <para lang="ru">
16991 обновление исполняемого файла на лету не работало на Linux. 16991 п╬п╠п╫п╬п╡п╩п╣п╫п╦п╣ п╦я│п©п╬п╩п╫я▐п╣п╪п╬пЁп╬ я└п╟п╧п╩п╟ п╫п╟ п╩п╣я┌я┐ п╫п╣ я─п╟п╠п╬я┌п╟п╩п╬ п╫п╟ Linux.
16992 </para> 16992 </para>
16993 <para lang="en"> 16993 <para lang="en">
16994 on-line upgrade did not work on Linux. 16994 on-line upgrade did not work on Linux.
16995 </para> 16995 </para>
16996 </change> 16996 </change>
16997 16997
16998 <change type="bugfix"> 16998 <change type="bugfix">
16999 <para lang="ru"> 16999 <para lang="ru">
17000 в списке файлов, выдаваемом модулем ngx_http_autoindex_module, 17000 п╡ я│п©п╦я│п╨п╣ я└п╟п╧п╩п╬п╡, п╡я▀п╢п╟п╡п╟п╣п╪п╬п╪ п╪п╬п╢я┐п╩п╣п╪ ngx_http_autoindex_module,
17001 не перекодировались пробелы, кавычки и знаки процента. 17001 п╫п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╩п╦я│я▄ п©я─п╬п╠п╣п╩я▀, п╨п╟п╡я▀я┤п╨п╦ п╦ п╥п╫п╟п╨п╦ п©я─п╬я├п╣п╫я┌п╟.
17002 </para> 17002 </para>
17003 <para lang="en"> 17003 <para lang="en">
17004 the ngx_http_autoindex_module module did not escape the spaces, 17004 the ngx_http_autoindex_module module did not escape the spaces,
17005 the quotes, and the percent signs in the directory listing. 17005 the quotes, and the percent signs in the directory listing.
17006 </para> 17006 </para>
17007 </change> 17007 </change>
17008 17008
17009 <change type="change"> 17009 <change type="change">
17010 <para lang="ru"> 17010 <para lang="ru">
17011 уменьшение операций копирования. 17011 я┐п╪п╣п╫я▄я┬п╣п╫п╦п╣ п╬п©п╣я─п╟я├п╦п╧ п╨п╬п©п╦я─п╬п╡п╟п╫п╦я▐.
17012 </para> 17012 </para>
17013 <para lang="en"> 17013 <para lang="en">
17014 the decrease of the copy operations. 17014 the decrease of the copy operations.
17015 </para> 17015 </para>
17016 </change> 17016 </change>
17017 17017
17018 <change type="feature"> 17018 <change type="feature">
17019 <para lang="ru"> 17019 <para lang="ru">
17020 директива userid_p3p. 17020 п╢п╦я─п╣п╨я┌п╦п╡п╟ userid_p3p.
17021 </para> 17021 </para>
17022 <para lang="en"> 17022 <para lang="en">
17023 the userid_p3p directive. 17023 the userid_p3p directive.
17024 </para> 17024 </para>
17025 </change> 17025 </change>
17029 17029
17030 <changes ver="0.1.4" date="26.10.2004"> 17030 <changes ver="0.1.4" date="26.10.2004">
17031 17031
17032 <change type="bugfix"> 17032 <change type="bugfix">
17033 <para lang="ru"> 17033 <para lang="ru">
17034 ошибка в модуле ngx_http_autoindex_module. 17034 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_autoindex_module.
17035 </para> 17035 </para>
17036 <para lang="en"> 17036 <para lang="en">
17037 in the ngx_http_autoindex_module. 17037 in the ngx_http_autoindex_module.
17038 </para> 17038 </para>
17039 </change> 17039 </change>
17043 17043
17044 <changes ver="0.1.3" date="25.10.2004"> 17044 <changes ver="0.1.3" date="25.10.2004">
17045 17045
17046 <change type="feature"> 17046 <change type="feature">
17047 <para lang="ru"> 17047 <para lang="ru">
17048 модуль ngx_http_autoindex_module и директива autoindex. 17048 п╪п╬п╢я┐п╩я▄ ngx_http_autoindex_module п╦ п╢п╦я─п╣п╨я┌п╦п╡п╟ autoindex.
17049 </para> 17049 </para>
17050 <para lang="en"> 17050 <para lang="en">
17051 the ngx_http_autoindex_module and the autoindex directive. 17051 the ngx_http_autoindex_module and the autoindex directive.
17052 </para> 17052 </para>
17053 </change> 17053 </change>
17054 17054
17055 <change type="feature"> 17055 <change type="feature">
17056 <para lang="ru"> 17056 <para lang="ru">
17057 директива proxy_set_x_url. 17057 п╢п╦я─п╣п╨я┌п╦п╡п╟ proxy_set_x_url.
17058 </para> 17058 </para>
17059 <para lang="en"> 17059 <para lang="en">
17060 the proxy_set_x_url directive. 17060 the proxy_set_x_url directive.
17061 </para> 17061 </para>
17062 </change> 17062 </change>
17063 17063
17064 <change type="bugfix"> 17064 <change type="bugfix">
17065 <para lang="ru"> 17065 <para lang="ru">
17066 модуль проксировании мог привести к зацикливанию, если не использовался 17066 п╪п╬п╢я┐п╩я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╪п╬пЁ п©я─п╦п╡п╣я│я┌п╦ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
17067 sendfile. 17067 sendfile.
17068 </para> 17068 </para>
17069 <para lang="en"> 17069 <para lang="en">
17070 proxy module may get caught in an endless loop when sendfile is not used. 17070 proxy module may get caught in an endless loop when sendfile is not used.
17071 </para> 17071 </para>
17076 17076
17077 <changes ver="0.1.2" date="21.10.2004"> 17077 <changes ver="0.1.2" date="21.10.2004">
17078 17078
17079 <change type="feature"> 17079 <change type="feature">
17080 <para lang="ru"> 17080 <para lang="ru">
17081 параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure. 17081 п©п╟я─п╟п╪п╣я┌я─я▀ --user=USER, --group=GROUP п╦ --with-ld-opt=OPTIONS п╡ configure.
17082 </para> 17082 </para>
17083 <para lang="en"> 17083 <para lang="en">
17084 the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. 17084 the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure.
17085 </para> 17085 </para>
17086 </change> 17086 </change>
17087 17087
17088 <change type="feature"> 17088 <change type="feature">
17089 <para lang="ru"> 17089 <para lang="ru">
17090 директива server_name поддерживает *.domain.tld. 17090 п╢п╦я─п╣п╨я┌п╦п╡п╟ server_name п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ *.domain.tld.
17091 </para> 17091 </para>
17092 <para lang="en"> 17092 <para lang="en">
17093 the server_name directive supports *.domain.tld. 17093 the server_name directive supports *.domain.tld.
17094 </para> 17094 </para>
17095 </change> 17095 </change>
17096 17096
17097 <change type="bugfix"> 17097 <change type="bugfix">
17098 <para lang="ru"> 17098 <para lang="ru">
17099 улучшена переносимость на неизвестные платформы. 17099 я┐п╩я┐я┤я┬п╣п╫п╟ п©п╣я─п╣п╫п╬я│п╦п╪п╬я│я┌я▄ п╫п╟ п╫п╣п╦п╥п╡п╣я│я┌п╫я▀п╣ п©п╩п╟я┌я└п╬я─п╪я▀.
17100 </para> 17100 </para>
17101 <para lang="en"> 17101 <para lang="en">
17102 the portability improvements. 17102 the portability improvements.
17103 </para> 17103 </para>
17104 </change> 17104 </change>
17105 17105
17106 <change type="bugfix"> 17106 <change type="bugfix">
17107 <para lang="ru"> 17107 <para lang="ru">
17108 нельзя переконфигурировать nginx, если конфигурационный файл указан 17108 п╫п╣п╩я▄п╥я▐ п©п╣я─п╣п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟я┌я▄ nginx, п╣я│п╩п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫я▀п╧ я└п╟п╧п╩ я┐п╨п╟п╥п╟п╫
17109 в командной строке; 17109 п╡ п╨п╬п╪п╟п╫п╢п╫п╬п╧ я│я┌я─п╬п╨п╣;
17110 ошибка появилась в 0.1.1. 17110 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.1.
17111 </para> 17111 </para>
17112 <para lang="en"> 17112 <para lang="en">
17113 if configuration file was set in command line, the reconfiguration 17113 if configuration file was set in command line, the reconfiguration
17114 was impossible; 17114 was impossible;
17115 the bug had appeared in 0.1.1. 17115 the bug had appeared in 0.1.1.
17116 </para> 17116 </para>
17117 </change> 17117 </change>
17118 17118
17119 <change type="bugfix"> 17119 <change type="bugfix">
17120 <para lang="ru"> 17120 <para lang="ru">
17121 модуль проксировании мог привести к зацикливанию, если не использовался 17121 п╪п╬п╢я┐п╩я▄ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╪п╬пЁ п©я─п╦п╡п╣я│я┌п╦ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌, п╣я│п╩п╦ п╫п╣ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╩я│я▐
17122 sendfile. 17122 sendfile.
17123 </para> 17123 </para>
17124 <para lang="en"> 17124 <para lang="en">
17125 proxy module may get caught in an endless loop when sendfile is not used. 17125 proxy module may get caught in an endless loop when sendfile is not used.
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 при использовании sendfile текст ответа не перекодировался 17131 п©я─п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ sendfile я┌п╣п╨я│я┌ п╬я┌п╡п╣я┌п╟ п╫п╣ п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╩я│я▐
17132 согласно директивам модуля charset; 17132 я│п╬пЁп╩п╟я│п╫п╬ п╢п╦я─п╣п╨я┌п╦п╡п╟п╪ п╪п╬п╢я┐п╩я▐ charset;
17133 ошибка появилась в 0.1.1. 17133 п╬я┬п╦п╠п╨п╟ п©п╬я▐п╡п╦п╩п╟я│я▄ п╡ 0.1.1.
17134 </para> 17134 </para>
17135 <para lang="en"> 17135 <para lang="en">
17136 with sendfile the response was not recoded according to the charset 17136 with sendfile the response was not recoded according to the charset
17137 module directives; 17137 module directives;
17138 the bug had appeared in 0.1.1. 17138 the bug had appeared in 0.1.1.
17139 </para> 17139 </para>
17140 </change> 17140 </change>
17141 17141
17142 <change type="bugfix"> 17142 <change type="bugfix">
17143 <para lang="ru"> 17143 <para lang="ru">
17144 очень редкая ошибка при обработке kqueue. 17144 п╬я┤п╣п╫я▄ я─п╣п╢п╨п╟я▐ п╬я┬п╦п╠п╨п╟ п©я─п╦ п╬п╠я─п╟п╠п╬я┌п╨п╣ kqueue.
17145 </para> 17145 </para>
17146 <para lang="en"> 17146 <para lang="en">
17147 very seldom bug in the kqueue processing. 17147 very seldom bug in the kqueue processing.
17148 </para> 17148 </para>
17149 </change> 17149 </change>
17150 17150
17151 <change type="bugfix"> 17151 <change type="bugfix">
17152 <para lang="ru"> 17152 <para lang="ru">
17153 модуль сжатия сжимал уже сжатые ответы, полученные при проксировании. 17153 п╪п╬п╢я┐п╩я▄ я│п╤п╟я┌п╦я▐ я│п╤п╦п╪п╟п╩ я┐п╤п╣ я│п╤п╟я┌я▀п╣ п╬я┌п╡п╣я┌я▀, п©п╬п╩я┐я┤п╣п╫п╫я▀п╣ п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦.
17154 </para> 17154 </para>
17155 <para lang="en"> 17155 <para lang="en">
17156 the gzip module compressed the proxied responses that was already compressed. 17156 the gzip module compressed the proxied responses that was already compressed.
17157 </para> 17157 </para>
17158 </change> 17158 </change>
17162 17162
17163 <changes ver="0.1.1" date="11.10.2004"> 17163 <changes ver="0.1.1" date="11.10.2004">
17164 17164
17165 <change type="feature"> 17165 <change type="feature">
17166 <para lang="ru"> 17166 <para lang="ru">
17167 директива gzip_types. 17167 п╢п╦я─п╣п╨я┌п╦п╡п╟ gzip_types.
17168 </para> 17168 </para>
17169 <para lang="en"> 17169 <para lang="en">
17170 the gzip_types directive. 17170 the gzip_types directive.
17171 </para> 17171 </para>
17172 </change> 17172 </change>
17173 17173
17174 <change type="feature"> 17174 <change type="feature">
17175 <para lang="ru"> 17175 <para lang="ru">
17176 директива tcp_nodelay. 17176 п╢п╦я─п╣п╨я┌п╦п╡п╟ tcp_nodelay.
17177 </para> 17177 </para>
17178 <para lang="en"> 17178 <para lang="en">
17179 the tcp_nodelay directive. 17179 the tcp_nodelay directive.
17180 </para> 17180 </para>
17181 </change> 17181 </change>
17182 17182
17183 <change type="feature"> 17183 <change type="feature">
17184 <para lang="ru"> 17184 <para lang="ru">
17185 директива send_lowat работает не только на платформах, поддерживающих 17185 п╢п╦я─п╣п╨я┌п╦п╡п╟ send_lowat я─п╟п╠п╬я┌п╟п╣я┌ п╫п╣ я┌п╬п╩я▄п╨п╬ п╫п╟ п©п╩п╟я┌я└п╬я─п╪п╟я┘, п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘
17186 kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT. 17186 kqueue NOTE_LOWAT, п╫п╬ п╦ п╫п╟ п╡я│п╣я┘, п©п╬п╢п╢п╣я─п╤п╦п╡п╟я▌я┴п╦я┘ SO_SNDLOWAT.
17187 </para> 17187 </para>
17188 <para lang="en"> 17188 <para lang="en">
17189 the send_lowat directive is working not only on OSes that support 17189 the send_lowat directive is working not only on OSes that support
17190 kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. 17190 kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT.
17191 </para> 17191 </para>
17192 </change> 17192 </change>
17193 17193
17194 <change type="feature"> 17194 <change type="feature">
17195 <para lang="ru"> 17195 <para lang="ru">
17196 эмуляция setproctitle() для Linux и Solaris. 17196 я█п╪я┐п╩я▐я├п╦я▐ setproctitle() п╢п╩я▐ Linux п╦ Solaris.
17197 </para> 17197 </para>
17198 <para lang="en"> 17198 <para lang="en">
17199 the setproctitle() emulation for Linux and Solaris. 17199 the setproctitle() emulation for Linux and Solaris.
17200 </para> 17200 </para>
17201 </change> 17201 </change>
17202 17202
17203 <change type="bugfix"> 17203 <change type="bugfix">
17204 <para lang="ru"> 17204 <para lang="ru">
17205 ошибка при переписывании заголовка "Location" при проксировании. 17205 п╬я┬п╦п╠п╨п╟ п©я─п╦ п©п╣я─п╣п©п╦я│я▀п╡п╟п╫п╦п╦ п╥п╟пЁп╬п╩п╬п╡п╨п╟ "Location" п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦.
17206 </para> 17206 </para>
17207 <para lang="en"> 17207 <para lang="en">
17208 the "Location" header rewrite bug fixed while the proxying. 17208 the "Location" header rewrite bug fixed while the proxying.
17209 </para> 17209 </para>
17210 </change> 17210 </change>
17211 17211
17212 <change type="bugfix"> 17212 <change type="bugfix">
17213 <para lang="ru"> 17213 <para lang="ru">
17214 ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию. 17214 п╬я┬п╦п╠п╨п╟ п╡ п╪п╬п╢я┐п╩п╣ ngx_http_chunked_module, п©я─п╦п╡п╬п╢п╦п╡я┬п╟я▐ п╨ п╥п╟я├п╦п╨п╩п╦п╡п╟п╫п╦я▌.
17215 </para> 17215 </para>
17216 <para lang="en"> 17216 <para lang="en">
17217 the ngx_http_chunked_module module may get caught in an endless loop. 17217 the ngx_http_chunked_module module may get caught in an endless loop.
17218 </para> 17218 </para>
17219 </change> 17219 </change>
17220 17220
17221 <change type="bugfix"> 17221 <change type="bugfix">
17222 <para lang="ru"> 17222 <para lang="ru">
17223 ошибки в модуле /dev/poll. 17223 п╬я┬п╦п╠п╨п╦ п╡ п╪п╬п╢я┐п╩п╣ /dev/poll.
17224 </para> 17224 </para>
17225 <para lang="en"> 17225 <para lang="en">
17226 the /dev/poll module bugs fixed. 17226 the /dev/poll module bugs fixed.
17227 </para> 17227 </para>
17228 </change> 17228 </change>
17229 17229
17230 <change type="bugfix"> 17230 <change type="bugfix">
17231 <para lang="ru"> 17231 <para lang="ru">
17232 при проксировании и использовании временных файлов ответы портились. 17232 п©я─п╦ п©я─п╬п╨я│п╦я─п╬п╡п╟п╫п╦п╦ п╦ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╦п╦ п╡я─п╣п╪п╣п╫п╫я▀я┘ я└п╟п╧п╩п╬п╡ п╬я┌п╡п╣я┌я▀ п©п╬я─я┌п╦п╩п╦я│я▄.
17233 </para> 17233 </para>
17234 <para lang="en"> 17234 <para lang="en">
17235 the responses were corrupted when the temporary files were used 17235 the responses were corrupted when the temporary files were used
17236 while the proxying. 17236 while the proxying.
17237 </para> 17237 </para>
17238 </change> 17238 </change>
17239 17239
17240 <change type="bugfix"> 17240 <change type="bugfix">
17241 <para lang="ru"> 17241 <para lang="ru">
17242 бэкенду передавались запросы с неперекодированными символами. 17242 п╠я█п╨п╣п╫п╢я┐ п©п╣я─п╣п╢п╟п╡п╟п╩п╦я│я▄ п╥п╟п©я─п╬я│я▀ я│ п╫п╣п©п╣я─п╣п╨п╬п╢п╦я─п╬п╡п╟п╫п╫я▀п╪п╦ я│п╦п╪п╡п╬п╩п╟п╪п╦.
17243 </para> 17243 </para>
17244 <para lang="en"> 17244 <para lang="en">
17245 the unescaped requests were passed to the backend. 17245 the unescaped requests were passed to the backend.
17246 </para> 17246 </para>
17247 </change> 17247 </change>
17248 17248
17249 <change type="bugfix"> 17249 <change type="bugfix">
17250 <para lang="ru"> 17250 <para lang="ru">
17251 на Linux 2.4 при конфигурации сборки нужно было обязательно использовать 17251 п╫п╟ Linux 2.4 п©я─п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ я│п╠п╬я─п╨п╦ п╫я┐п╤п╫п╬ п╠я▀п╩п╬ п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄
17252 параметр --with-poll_module. 17252 п©п╟я─п╟п╪п╣я┌я─ --with-poll_module.
17253 </para> 17253 </para>
17254 <para lang="en"> 17254 <para lang="en">
17255 while the build configuration on Linux 2.4 the --with-poll_module parameter 17255 while the build configuration on Linux 2.4 the --with-poll_module parameter
17256 was required. 17256 was required.
17257 </para> 17257 </para>
17262 17262
17263 <changes ver="0.1.0" date="04.10.2004"> 17263 <changes ver="0.1.0" date="04.10.2004">
17264 17264
17265 <change> 17265 <change>
17266 <para lang="ru"> 17266 <para lang="ru">
17267 Первая публично доступная версия. 17267 п÷п╣я─п╡п╟я▐ п©я┐п╠п╩п╦я┤п╫п╬ п╢п╬я│я┌я┐п©п╫п╟я▐ п╡п╣я─я│п╦я▐.
17268 </para> 17268 </para>
17269 <para lang="en"> 17269 <para lang="en">
17270 The first public version. 17270 The first public version.
17271 </para> 17271 </para>
17272 </change> 17272 </change>