1<?xml version="1.0" ?> 2<!DOCTYPE change_log SYSTEM "../../dtd/changes.dtd" > 3 4 5<change_log title="nginx"> 6 7 8<changes ver="1.19.7" date="2021-02-16"> 9 10<change type="change"> 11<para lang="ru"> 12обработка соединений в HTTP/2 была изменена 13и теперь более соответствует HTTP/1.x; 14директивы http2_recv_timeout, http2_idle_timeout 15и http2_max_requests упразднены, 16вместо них следует использовать директивы 17keepalive_timeout и keepalive_requests. 18</para> 19<para lang="en"> 20connections handling in HTTP/2 has been changed 21to better match HTTP/1.x; 22the "http2_recv_timeout", "http2_idle_timeout", 23and "http2_max_requests" directives have been removed, 24the "keepalive_timeout" and "keepalive_requests" directives 25should be used instead. 26</para> 27</change> 28 29<change type="change"> 30<para lang="ru"> 31директивы http2_max_field_size и http2_max_header_size упразднены, 32вместо них следует использовать директиву large_client_header_buffers. 33</para> 34<para lang="en"> 35the "http2_max_field_size" and "http2_max_header_size" directives 36have been removed, 37the "large_client_header_buffers" directive should be used instead. 38</para> 39</change> 40 41<change type="feature"> 42<para lang="ru"> 43теперь при исчерпании свободных соединений 44nginx закрывает не только keepalive-соединения, 45но и соединения в lingering close. 46</para> 47<para lang="en"> 48now, if free worker connections are exhausted, 49nginx starts closing not only keepalive connections, 50but also connections in lingering close. 51</para> 52</change> 53 54<change type="bugfix"> 55<para lang="ru"> 56в логах могли появляться сообщения "zero size buf in output", 57если бэкенд возвращал некорректный ответ 58при небуферизированном проксировании; 59ошибка появилась в 1.19.1. 60</para> 61<para lang="en"> 62"zero size buf in output" alerts might appear in logs 63if an upstream server returned an incorrect response 64during unbuffered proxying; 65the bug had appeared in 1.19.1. 66</para> 67</change> 68 69<change type="bugfix"> 70<para lang="ru"> 71при использовании директивы return 72вместе с image_filter или xslt_stylesheet 73HEAD-запросы обрабатывались некорректно. 74</para> 75<para lang="en"> 76HEAD requests were handled incorrectly 77if the "return" directive was used 78with the "image_filter" or "xslt_stylesheet" directives. 79</para> 80</change> 81 82<change type="bugfix"> 83<para lang="ru"> 84в директиве add_trailer. 85</para> 86<para lang="en"> 87in the "add_trailer" directive. 88</para> 89</change> 90 91</changes> 92 93 94<changes ver="1.19.6" date="2020-12-15"> 95 96<change type="bugfix"> 97<para lang="ru"> 98ошибки "no live upstreams", 99если server в блоке upstream был помечен как down. 100</para> 101<para lang="en"> 102"no live upstreams" errors 103if a "server" inside "upstream" block was marked as "down". 104</para> 105</change> 106 107<change type="bugfix"> 108<para lang="ru"> 109при использовании HTTPS в рабочем процессе мог произойти segmentation fault; 110ошибка появилась в 1.19.5. 111</para> 112<para lang="en"> 113a segmentation fault might occur in a worker process if HTTPS was used; 114the bug had appeared in 1.19.5. 115</para> 116</change> 117 118<change type="bugfix"> 119<para lang="ru"> 120nginx возвращал ошибку 400 на запросы вида 121<nobr>"GET http://example.com?args HTTP/1.0"</nobr>. 122</para> 123<para lang="en"> 124nginx returned the 400 response on requests like 125<nobr>"GET http://example.com?args HTTP/1.0"</nobr>. 126</para> 127</change> 128 129<change type="bugfix"> 130<para lang="ru"> 131в модулях ngx_http_flv_module и ngx_http_mp4_module.<br/> 132Спасибо Chris Newton. 133</para> 134<para lang="en"> 135in the ngx_http_flv_module and ngx_http_mp4_module.<br/> 136Thanks to Chris Newton. 137</para> 138</change> 139 140</changes> 141 142 143<changes ver="1.19.5" date="2020-11-24"> 144 145<change type="feature"> 146<para lang="ru"> 147ключ -e. 148</para> 149<para lang="en"> 150the -e switch. 151</para> 152</change> 153 154<change type="feature"> 155<para lang="ru"> 156при сборке дополнительных модулей 157теперь можно указывать одни и те же исходные файлы в разных модулях. 158</para> 159<para lang="en"> 160the same source files can now be specified in different modules 161while building addon modules. 162</para> 163</change> 164 165<change type="bugfix"> 166<para lang="ru"> 167SSL shutdown не работал 168при закрытии соединений с ожиданием дополнительных данных (lingering close). 169</para> 170<para lang="en"> 171SSL shutdown did not work 172when lingering close was used. 173</para> 174</change> 175 176<change type="bugfix"> 177<para lang="ru"> 178при работе с gRPC-бэкендами 179могли возникать ошибки "upstream sent frame for closed stream". 180</para> 181<para lang="en"> 182"upstream sent frame for closed stream" errors might occur 183when working with gRPC backends. 184</para> 185</change> 186 187<change type="bugfix"> 188<para lang="ru"> 189во внутреннем API для обработки тела запроса. 190</para> 191<para lang="en"> 192in request body filters internal API. 193</para> 194</change> 195 196</changes> 197 198 199<changes ver="1.19.4" date="2020-10-27"> 200 201<change type="feature"> 202<para lang="ru"> 203директивы ssl_conf_command, proxy_ssl_conf_command, grpc_ssl_conf_command 204и uwsgi_ssl_conf_command. 205</para> 206<para lang="en"> 207the "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command", 208and "uwsgi_ssl_conf_command" directives. 209</para> 210</change> 211 212<change type="feature"> 213<para lang="ru"> 214директива ssl_reject_handshake. 215</para> 216<para lang="en"> 217the "ssl_reject_handshake" directive. 218</para> 219</change> 220 221<change type="feature"> 222<para lang="ru"> 223директива proxy_smtp_auth в почтовом прокси-сервере. 224</para> 225<para lang="en"> 226the "proxy_smtp_auth" directive in mail proxy. 227</para> 228</change> 229 230</changes> 231 232 233<changes ver="1.19.3" date="2020-09-29"> 234 235<change type="feature"> 236<para lang="ru"> 237модуль ngx_stream_set_module. 238</para> 239<para lang="en"> 240the ngx_stream_set_module. 241</para> 242</change> 243 244<change type="feature"> 245<para lang="ru"> 246директива proxy_cookie_flags. 247</para> 248<para lang="en"> 249the "proxy_cookie_flags" directive. 250</para> 251</change> 252 253<change type="feature"> 254<para lang="ru"> 255директива userid_flags. 256</para> 257<para lang="en"> 258the "userid_flags" directive. 259</para> 260</change> 261 262<change type="bugfix"> 263<para lang="ru"> 264расширение управления кэшированием stale-if-error 265ошибочно применялось, если бэкенд возвращал ответ 266с кодом 500, 502, 503, 504, 403, 404 или 429. 267</para> 268<para lang="en"> 269the "stale-if-error" cache control extension 270was erroneously applied if backend returned a response 271with status code 500, 502, 503, 504, 403, 404, or 429. 272</para> 273</change> 274 275<change type="bugfix"> 276<para lang="ru"> 277если использовалось кэширование 278и бэкенд возвращал ответы с строкой заголовка Vary, 279в логах могли появляться сообщения "[crit] cache file ... has too long header". 280</para> 281<para lang="en"> 282"[crit] cache file ... has too long header" messages might appear in logs 283if caching was used 284and the backend returned responses with the "Vary" header line. 285</para> 286</change> 287 288<change type="workaround"> 289<para lang="ru"> 290при использовании OpenSSL 1.1.1 291в логах могли появляться сообщения "[crit] SSL_write() failed". 292</para> 293<para lang="en"> 294"[crit] SSL_write() failed" messages might appear in logs 295when using OpenSSL 1.1.1. 296</para> 297</change> 298 299<change type="bugfix"> 300<para lang="ru"> 301в логах могли появляться сообщения 302"SSL_shutdown() failed (SSL: ... bad write retry)"; 303ошибка появилась в 1.19.2. 304</para> 305<para lang="en"> 306"SSL_shutdown() failed (SSL: ... bad write retry)" 307messages might appear in logs; 308the bug had appeared in 1.19.2. 309</para> 310</change> 311 312<change type="bugfix"> 313<para lang="ru"> 314при использовании HTTP/2 315в рабочем процессе мог произойти segmentation fault, 316если ошибки с кодом 400 с помощью директивы error_page 317перенаправлялись в проксируемый location. 318</para> 319<para lang="en"> 320a segmentation fault might occur in a worker process 321when using HTTP/2 322if errors with code 400 were redirected to a proxied location 323using the "error_page" directive. 324</para> 325</change> 326 327<change type="bugfix"> 328<para lang="ru"> 329утечки сокетов при использовании HTTP/2 и подзапросов в модуле njs. 330</para> 331<para lang="en"> 332socket leak when using HTTP/2 and subrequests in the njs module. 333</para> 334</change> 335 336</changes> 337 338 339<changes ver="1.19.2" date="2020-08-11"> 340 341<change type="change"> 342<para lang="ru"> 343теперь nginx начинает закрывать keepalive-соединения, 344не дожидаясь исчерпания всех свободных соединений, 345а также пишет об этом предупреждение в лог ошибок. 346</para> 347<para lang="en"> 348now nginx starts closing keepalive connections 349before all free worker connections are exhausted, 350and logs a warning about this to the error log. 351</para> 352</change> 353 354<change type="change"> 355<para lang="ru"> 356оптимизация чтения тела запроса 357при использовании chunked transfer encoding. 358</para> 359<para lang="en"> 360optimization of client request body reading 361when using chunked transfer encoding. 362</para> 363</change> 364 365<change type="bugfix"> 366<para lang="ru"> 367утечки памяти при использовании директивы ssl_ocsp. 368</para> 369<para lang="en"> 370memory leak if the "ssl_ocsp" directive was used. 371</para> 372</change> 373 374<change type="bugfix"> 375<para lang="ru"> 376в логах могли появляться сообщения "zero size buf in output", 377если FastCGI-сервер возвращал некорректный ответ; 378ошибка появилась в 1.19.1. 379</para> 380<para lang="en"> 381"zero size buf in output" alerts might appear in logs 382if a FastCGI server returned an incorrect response; 383the bug had appeared in 1.19.1. 384</para> 385</change> 386 387<change type="bugfix"> 388<para lang="ru"> 389в рабочем процессе мог произойти segmentation fault, 390если размеры large_client_header_buffers отличались 391в разных виртуальных серверах. 392</para> 393<para lang="en"> 394a segmentation fault might occur in a worker process 395if different large_client_header_buffers sizes were used 396in different virtual servers. 397</para> 398</change> 399 400<change type="bugfix"> 401<para lang="ru"> 402SSL shutdown мог не работать. 403</para> 404<para lang="en"> 405SSL shutdown might not work. 406</para> 407</change> 408 409<change type="bugfix"> 410<para lang="ru"> 411в логах могли появляться сообщения 412"SSL_shutdown() failed (SSL: ... bad write retry)". 413</para> 414<para lang="en"> 415"SSL_shutdown() failed (SSL: ... bad write retry)" 416messages might appear in logs. 417</para> 418</change> 419 420<change type="bugfix"> 421<para lang="ru"> 422в модуле ngx_http_slice_module. 423</para> 424<para lang="en"> 425in the ngx_http_slice_module. 426</para> 427</change> 428 429<change type="bugfix"> 430<para lang="ru"> 431в модуле ngx_http_xslt_filter_module. 432</para> 433<para lang="en"> 434in the ngx_http_xslt_filter_module. 435</para> 436</change> 437 438</changes> 439 440 441<changes ver="1.19.1" date="2020-07-07"> 442 443<change type="change"> 444<para lang="ru"> 445директивы lingering_close, lingering_time и lingering_timeout 446теперь работают при использовании HTTP/2. 447</para> 448<para lang="en"> 449the "lingering_close", "lingering_time", and "lingering_timeout" directives 450now work when using HTTP/2. 451</para> 452</change> 453 454<change type="change"> 455<para lang="ru"> 456теперь лишние данные, присланные бэкендом, всегда отбрасываются. 457</para> 458<para lang="en"> 459now extra data sent by a backend are always discarded. 460</para> 461</change> 462 463<change type="change"> 464<para lang="ru"> 465теперь при получении слишком короткого ответа от FastCGI-сервера 466nginx пытается отправить клиенту доступную часть ответа, 467после чего закрывает соединение с клиентом. 468</para> 469<para lang="en"> 470now after receiving a too short response from a FastCGI server 471nginx tries to send the available part of the response to the client, 472and then closes the client connection. 473</para> 474</change> 475 476<change type="change"> 477<para lang="ru"> 478теперь при получении ответа некорректной длины от gRPC-бэкенда 479nginx прекращает обработку ответа с ошибкой. 480</para> 481<para lang="en"> 482now after receiving a response with incorrect length from a gRPC backend 483nginx stops response processing with an error. 484</para> 485</change> 486 487<change type="feature"> 488<para lang="ru"> 489параметр min_free в директивах proxy_cache_path, fastcgi_cache_path, 490scgi_cache_path и uwsgi_cache_path.<br/> 491Спасибо Adam Bambuch. 492</para> 493<para lang="en"> 494the "min_free" parameter of the "proxy_cache_path", "fastcgi_cache_path", 495"scgi_cache_path", and "uwsgi_cache_path" directives.<br/> 496Thanks to Adam Bambuch. 497</para> 498</change> 499 500<change type="bugfix"> 501<para lang="ru"> 502nginx не удалял unix domain listen-сокеты 503при плавном завершении по сигналу SIGQUIT. 504</para> 505<para lang="en"> 506nginx did not delete unix domain listen sockets 507during graceful shutdown on the SIGQUIT signal. 508</para> 509</change> 510 511<change type="bugfix"> 512<para lang="ru"> 513UDP-пакеты нулевого размера не проксировались. 514</para> 515<para lang="en"> 516zero length UDP datagrams were not proxied. 517</para> 518</change> 519 520<change type="bugfix"> 521<para lang="ru"> 522проксирование на uwsgi-бэкенды с использованием SSL могло не работать.<br/> 523Спасибо Guanzhong Chen. 524</para> 525<para lang="en"> 526proxying to uwsgi backends using SSL might not work.<br/> 527Thanks to Guanzhong Chen. 528</para> 529</change> 530 531<change type="bugfix"> 532<para lang="ru"> 533в обработке ошибок при использовании директивы ssl_ocsp. 534</para> 535<para lang="en"> 536in error handling when using the "ssl_ocsp" directive. 537</para> 538</change> 539 540<change type="bugfix"> 541<para lang="ru"> 542при использовании файловых систем XFS и NFS 543размер кэша на диске мог считаться некорректно. 544</para> 545<para lang="en"> 546on XFS and NFS file systems 547disk cache size might be calculated incorrectly. 548</para> 549</change> 550 551<change type="bugfix"> 552<para lang="ru"> 553если сервер memcached возвращал некорректный ответ, 554в логах могли появляться сообщения "negative size buf in writer". 555</para> 556<para lang="en"> 557"negative size buf in writer" alerts might appear in logs 558if a memcached server returned a malformed response. 559</para> 560</change> 561 562</changes> 563 564 565<changes ver="1.19.0" date="2020-05-26"> 566 567<change type="feature"> 568<para lang="ru"> 569проверка клиентских сертификатов с помощью OCSP. 570</para> 571<para lang="en"> 572client certificate validation with OCSP. 573</para> 574</change> 575 576<change type="bugfix"> 577<para lang="ru"> 578при работе с gRPC-бэкендами 579могли возникать ошибки "upstream sent frame for closed stream". 580</para> 581<para lang="en"> 582"upstream sent frame for closed stream" errors might occur 583when working with gRPC backends. 584</para> 585</change> 586 587<change type="bugfix"> 588<para lang="ru"> 589OCSP stapling мог не работать, 590если не была указана директива resolver. 591</para> 592<para lang="en"> 593OCSP stapling might not work 594if the "resolver" directive was not specified. 595</para> 596</change> 597 598<change type="bugfix"> 599<para lang="ru"> 600соединения с некорректным HTTP/2 preface не логгировались. 601</para> 602<para lang="en"> 603connections with incorrect HTTP/2 preface were not logged. 604</para> 605</change> 606 607</changes> 608 609 610<changes ver="1.17.10" date="2020-04-14"> 611 612<change type="feature"> 613<para lang="ru"> 614директива auth_delay. 615</para> 616<para lang="en"> 617the "auth_delay" directive. 618</para> 619</change> 620 621</changes> 622 623 624<changes ver="1.17.9" date="2020-03-03"> 625 626<change type="change"> 627<para lang="ru"> 628теперь nginx не разрешает 629несколько строк "Host" в заголовке запроса. 630</para> 631<para lang="en"> 632now nginx does not allow 633several "Host" request header lines. 634</para> 635</change> 636 637<change type="bugfix"> 638<para lang="ru"> 639nginx игнорировал дополнительные 640строки "Transfer-Encoding" в заголовке запроса. 641</para> 642<para lang="en"> 643nginx ignored additional 644"Transfer-Encoding" request header lines. 645</para> 646</change> 647 648<change type="bugfix"> 649<para lang="ru"> 650утечки сокетов при использовании HTTP/2. 651</para> 652<para lang="en"> 653socket leak when using HTTP/2. 654</para> 655</change> 656 657<change type="bugfix"> 658<para lang="ru"> 659в рабочем процессе мог произойти segmentation fault, 660если использовался OCSP stapling. 661</para> 662<para lang="en"> 663a segmentation fault might occur in a worker process 664if OCSP stapling was used. 665</para> 666</change> 667 668<change type="bugfix"> 669<para lang="ru"> 670в модуле ngx_http_mp4_module. 671</para> 672<para lang="en"> 673in the ngx_http_mp4_module. 674</para> 675</change> 676 677<change type="bugfix"> 678<para lang="ru"> 679при перенаправлении ошибок с кодом 494 с помощью директивы error_page 680nginx возвращал ответ с кодом 494 вместо 400. 681</para> 682<para lang="en"> 683nginx used status code 494 instead of 400 684if errors with code 494 were redirected with the "error_page" directive. 685</para> 686</change> 687 688<change type="bugfix"> 689<para lang="ru"> 690утечки сокетов при использовании подзапросов в модуле njs и директивы aio. 691</para> 692<para lang="en"> 693socket leak when using subrequests in the njs module and the "aio" directive. 694</para> 695</change> 696 697</changes> 698 699 700<changes ver="1.17.8" date="2020-01-21"> 701 702<change type="feature"> 703<para lang="ru"> 704директива grpc_pass поддерживает переменные. 705</para> 706<para lang="en"> 707variables support in the "grpc_pass" directive. 708</para> 709</change> 710 711<change type="bugfix"> 712<para lang="ru"> 713при обработке pipelined-запросов по SSL-соединению мог произойти таймаут; 714ошибка появилась в 1.17.5. 715</para> 716<para lang="en"> 717a timeout might occur while handling pipelined requests in an SSL connection; 718the bug had appeared in 1.17.5. 719</para> 720</change> 721 722<change type="bugfix"> 723<para lang="ru"> 724в директиве debug_points при использовании HTTP/2.<br/> 725Спасибо Даниилу Бондареву. 726</para> 727<para lang="en"> 728in the "debug_points" directive when using HTTP/2.<br/> 729Thanks to Daniil Bondarev. 730</para> 731</change> 732 733</changes> 734 735 736<changes ver="1.17.7" date="2019-12-24"> 737 738<change type="bugfix"> 739<para lang="ru"> 740на старте или во время переконфигурации мог произойти segmentation fault, 741если в конфигурации использовалась 742директива rewrite с пустой строкой замены. 743</para> 744<para lang="en"> 745a segmentation fault might occur on start or during reconfiguration 746if the "rewrite" directive with an empty replacement string 747was used in the configuration. 748</para> 749</change> 750 751<change type="bugfix"> 752<para lang="ru"> 753в рабочем процессе мог произойти segmentation fault, 754если директива break использовалась совместно с директивой alias 755или директивой proxy_pass с URI. 756</para> 757<para lang="en"> 758a segmentation fault might occur in a worker process 759if the "break" directive was used with the "alias" directive 760or with the "proxy_pass" directive with a URI. 761</para> 762</change> 763 764<change type="bugfix"> 765<para lang="ru"> 766строка Location заголовка ответа могла содержать мусор, 767если URI запроса был изменён на URI, содержащий нулевой символ. 768</para> 769<para lang="en"> 770the "Location" response header line might contain garbage 771if the request URI was rewritten to the one containing a null character. 772</para> 773</change> 774 775<change type="bugfix"> 776<para lang="ru"> 777при возврате перенаправлений с помощью директивы error_page 778запросы с телом обрабатывались некорректно; 779ошибка появилась в 0.7.12. 780</para> 781<para lang="en"> 782requests with bodies were handled incorrectly 783when returning redirections with the "error_page" directive; 784the bug had appeared in 0.7.12. 785</para> 786</change> 787 788<change type="bugfix"> 789<para lang="ru"> 790утечки сокетов при использовании HTTP/2. 791</para> 792<para lang="en"> 793socket leak when using HTTP/2. 794</para> 795</change> 796 797<change type="bugfix"> 798<para lang="ru"> 799при обработке pipelined-запросов по SSL-соединению мог произойти таймаут; 800ошибка появилась в 1.17.5. 801</para> 802<para lang="en"> 803a timeout might occur while handling pipelined requests in an SSL connection; 804the bug had appeared in 1.17.5. 805</para> 806</change> 807 808<change type="bugfix"> 809<para lang="ru"> 810в модуле ngx_http_dav_module. 811</para> 812<para lang="en"> 813in the ngx_http_dav_module. 814</para> 815</change> 816 817</changes> 818 819 820<changes ver="1.17.6" date="2019-11-19"> 821 822<change type="feature"> 823<para lang="ru"> 824переменные $proxy_protocol_server_addr и $proxy_protocol_server_port. 825</para> 826<para lang="en"> 827the $proxy_protocol_server_addr and $proxy_protocol_server_port variables. 828</para> 829</change> 830 831<change type="feature"> 832<para lang="ru"> 833директива limit_conn_dry_run. 834</para> 835<para lang="en"> 836the "limit_conn_dry_run" directive. 837</para> 838</change> 839 840<change type="feature"> 841<para lang="ru"> 842переменные $limit_req_status и $limit_conn_status. 843</para> 844<para lang="en"> 845the $limit_req_status and $limit_conn_status variables. 846</para> 847</change> 848 849</changes> 850 851 852<changes ver="1.17.5" date="2019-10-22"> 853 854<change type="feature"> 855<para lang="ru"> 856теперь nginx использует вызов ioctl(FIONREAD), если он доступен, 857чтобы избежать чтения из быстрого соединения в течение долгого времени. 858</para> 859<para lang="en"> 860now nginx uses ioctl(FIONREAD), if available, 861to avoid reading from a fast connection for a long time. 862</para> 863</change> 864 865<change type="bugfix"> 866<para lang="ru"> 867неполные закодированные символы в конце URI запроса игнорировались. 868</para> 869<para lang="en"> 870incomplete escaped characters at the end of the request URI were ignored. 871</para> 872</change> 873 874<change type="bugfix"> 875<para lang="ru"> 876"/." и "/.." в конце URI запроса не нормализовывались. 877</para> 878<para lang="en"> 879"/." and "/.." at the end of the request URI were not normalized. 880</para> 881</change> 882 883<change type="bugfix"> 884<para lang="ru"> 885в директиве merge_slashes. 886</para> 887<para lang="en"> 888in the "merge_slashes" directive. 889</para> 890</change> 891 892<change type="bugfix"> 893<para lang="ru"> 894в директиве ignore_invalid_headers.<br/> 895Спасибо Alan Kemp. 896</para> 897<para lang="en"> 898in the "ignore_invalid_headers" directive.<br/> 899Thanks to Alan Kemp. 900</para> 901</change> 902 903<change type="bugfix"> 904<para lang="ru"> 905nginx не собирался с MinGW-w64 gcc 8.1 и новее. 906</para> 907<para lang="en"> 908nginx could not be built with MinGW-w64 gcc 8.1 or newer. 909</para> 910</change> 911 912</changes> 913 914 915<changes ver="1.17.4" date="2019-09-24"> 916 917<change type="change"> 918<para lang="ru"> 919улучшено детектирование некорректного поведения клиентов в HTTP/2. 920</para> 921<para lang="en"> 922better detection of incorrect client behavior in HTTP/2. 923</para> 924</change> 925 926<change type="change"> 927<para lang="ru"> 928в обработке непрочитанного тела запроса 929при возврате ошибок в HTTP/2. 930</para> 931<para lang="en"> 932in handling of not fully read client request body 933when returning errors in HTTP/2. 934</para> 935</change> 936 937<change type="bugfix"> 938<para lang="ru"> 939директива worker_shutdown_timeout могла не работать 940при использовании HTTP/2. 941</para> 942<para lang="en"> 943the "worker_shutdown_timeout" directive might not work 944when using HTTP/2. 945</para> 946</change> 947 948<change type="bugfix"> 949<para lang="ru"> 950при использовании HTTP/2 и директивы proxy_request_buffering 951в рабочем процессе мог произойти segmentation fault. 952</para> 953<para lang="en"> 954a segmentation fault might occur in a worker process 955when using HTTP/2 and the "proxy_request_buffering" directive. 956</para> 957</change> 958 959<change type="bugfix"> 960<para lang="ru"> 961на Windows при использовании SSL 962уровень записи в лог ошибки ECONNABORTED был "crit" вместо "error". 963</para> 964<para lang="en"> 965the ECONNABORTED error log level was "crit" instead of "error" 966on Windows when using SSL. 967</para> 968</change> 969 970<change type="bugfix"> 971<para lang="ru"> 972nginx игнорировал лишние данные при использовании chunked transfer encoding. 973</para> 974<para lang="en"> 975nginx ignored extra data when using chunked transfer encoding. 976</para> 977</change> 978 979<change type="bugfix"> 980<para lang="ru"> 981если использовалась директива return и 982при чтении тела запроса возникала ошибка, 983nginx всегда возвращал ошибку 500. 984</para> 985<para lang="en"> 986nginx always returned the 500 error 987if the "return" directive was used 988and an error occurred during reading client request body. 989</para> 990</change> 991 992<change type="bugfix"> 993<para lang="ru"> 994в обработке ошибок выделения памяти. 995</para> 996<para lang="en"> 997in memory allocation error handling. 998</para> 999</change> 1000 1001</changes> 1002 1003 1004<changes ver="1.17.3" date="2019-08-13"> 1005 1006<change type="security"> 1007<para lang="ru"> 1008при использовании HTTP/2 клиент мог вызвать 1009чрезмерное потребление памяти и ресурсов процессора 1010(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516). 1011</para> 1012<para lang="en"> 1013when using HTTP/2 a client might cause 1014excessive memory consumption and CPU usage 1015(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516). 1016</para> 1017</change> 1018 1019<change type="bugfix"> 1020<para lang="ru"> 1021при использовании сжатия в логах могли появляться сообщения "zero size buf"; 1022ошибка появилась в 1.17.2. 1023</para> 1024<para lang="en"> 1025"zero size buf" alerts might appear in logs when using gzipping; 1026the bug had appeared in 1.17.2. 1027</para> 1028</change> 1029 1030<change type="bugfix"> 1031<para lang="ru"> 1032при использовании директивы resolver в SMTP прокси-сервере 1033в рабочем процессе мог произойти segmentation fault. 1034</para> 1035<para lang="en"> 1036a segmentation fault might occur in a worker process 1037if the "resolver" directive was used in SMTP proxy. 1038</para> 1039</change> 1040 1041</changes> 1042 1043 1044<changes ver="1.17.2" date="2019-07-23"> 1045 1046<change type="change"> 1047<para lang="ru"> 1048минимальная поддерживаемая версия zlib—1.2.0.4.<br/> 1049Спасибо Илье Леошкевичу. 1050</para> 1051<para lang="en"> 1052minimum supported zlib version is 1.2.0.4.<br/> 1053Thanks to Ilya Leoshkevich. 1054</para> 1055</change> 1056 1057<change type="change"> 1058<para lang="ru"> 1059метод $r->internal_redirect() встроенного перла 1060теперь ожидает закодированный URI. 1061</para> 1062<para lang="en"> 1063the $r->internal_redirect() embedded perl method 1064now expects escaped URIs. 1065</para> 1066</change> 1067 1068<change type="feature"> 1069<para lang="ru"> 1070теперь с помощью метода $r->internal_redirect() встроенного перла 1071можно перейти в именованный location. 1072</para> 1073<para lang="en"> 1074it is now possible to switch to a named location 1075using the $r->internal_redirect() embedded perl method. 1076</para> 1077</change> 1078 1079<change type="bugfix"> 1080<para lang="ru"> 1081в обработке ошибок во встроенном перле. 1082</para> 1083<para lang="en"> 1084in error handling in embedded perl. 1085</para> 1086</change> 1087 1088<change type="bugfix"> 1089<para lang="ru"> 1090на старте или во время переконфигурации мог произойти segmentation fault, 1091если в конфигурации использовалось значение hash bucket size больше 64 килобайт. 1092</para> 1093<para lang="en"> 1094a segmentation fault might occur on start or during reconfiguration 1095if hash bucket size larger than 64 kilobytes was used in the configuration. 1096</para> 1097</change> 1098 1099<change type="bugfix"> 1100<para lang="ru"> 1101при использовании методов обработки соединений select, poll и /dev/poll 1102nginx мог нагружать процессор во время небуферизованного проксирования 1103и при проксировании WebSocket-соединений. 1104</para> 1105<para lang="en"> 1106nginx might hog CPU during unbuffered proxying 1107and when proxying WebSocket connections 1108if the select, poll, or /dev/poll methods were used. 1109</para> 1110</change> 1111 1112<change type="bugfix"> 1113<para lang="ru"> 1114в модуле ngx_http_xslt_filter_module. 1115</para> 1116<para lang="en"> 1117in the ngx_http_xslt_filter_module. 1118</para> 1119</change> 1120 1121<change type="bugfix"> 1122<para lang="ru"> 1123в модуле ngx_http_ssi_filter_module. 1124</para> 1125<para lang="en"> 1126in the ngx_http_ssi_filter_module. 1127</para> 1128</change> 1129 1130</changes> 1131 1132 1133<changes ver="1.17.1" date="2019-06-25"> 1134 1135<change type="feature"> 1136<para lang="ru"> 1137директива limit_req_dry_run. 1138</para> 1139<para lang="en"> 1140the "limit_req_dry_run" directive. 1141</para> 1142</change> 1143 1144<change type="feature"> 1145<para lang="ru"> 1146при использовании директивы hash в блоке upstream 1147пустой ключ хэширования теперь приводит к переключению 1148на round-robin балансировку.<br/> 1149Спасибо Niklas Keller. 1150</para> 1151<para lang="en"> 1152when using the "hash" directive inside the "upstream" block 1153an empty hash key now triggers round-robin balancing.<br/> 1154Thanks to Niklas Keller. 1155</para> 1156</change> 1157 1158<change type="bugfix"> 1159<para lang="ru"> 1160в рабочем процессе мог произойти segmentation fault, 1161если использовалось кэширование и директива image_filter, 1162а ошибки с кодом 415 перенаправлялись с помощью директивы error_page; 1163ошибка появилась в 1.11.10. 1164</para> 1165<para lang="en"> 1166a segmentation fault might occur in a worker process 1167if caching was used along with the "image_filter" directive, 1168and errors with code 415 were redirected with the "error_page" directive; 1169the bug had appeared in 1.11.10. 1170</para> 1171</change> 1172 1173<change type="bugfix"> 1174<para lang="ru"> 1175в рабочем процессе мог произойти segmentation fault, 1176если использовался встроенный перл; 1177ошибка появилась в 1.7.3. 1178</para> 1179<para lang="en"> 1180a segmentation fault might occur in a worker process 1181if embedded perl was used; 1182the bug had appeared in 1.7.3. 1183</para> 1184</change> 1185 1186</changes> 1187 1188 1189<changes ver="1.17.0" date="2019-05-21"> 1190 1191<change type="feature"> 1192<para lang="ru"> 1193директивы limit_rate и limit_rate_after поддерживают переменные. 1194</para> 1195<para lang="en"> 1196variables support in the "limit_rate" and "limit_rate_after" directives. 1197</para> 1198</change> 1199 1200<change type="feature"> 1201<para lang="ru"> 1202директивы proxy_upload_rate и proxy_download_rate в модуле stream 1203поддерживают переменные. 1204</para> 1205<para lang="en"> 1206variables support 1207in the "proxy_upload_rate" and "proxy_download_rate" directives 1208in the stream module. 1209</para> 1210</change> 1211 1212<change type="change"> 1213<para lang="ru"> 1214минимальная поддерживаемая версия OpenSSL—0.9.8. 1215</para> 1216<para lang="en"> 1217minimum supported OpenSSL version is 0.9.8. 1218</para> 1219</change> 1220 1221<change type="change"> 1222<para lang="ru"> 1223теперь postpone-фильтр собирается всегда. 1224</para> 1225<para lang="en"> 1226now the postpone filter is always built. 1227</para> 1228</change> 1229 1230<change type="bugfix"> 1231<para lang="ru"> 1232директива include не работала в блоках if и limit_except. 1233</para> 1234<para lang="en"> 1235the "include" directive did not work inside the "if" and "limit_except" blocks. 1236</para> 1237</change> 1238 1239<change type="bugfix"> 1240<para lang="ru"> 1241в обработке byte ranges. 1242</para> 1243<para lang="en"> 1244in byte ranges processing. 1245</para> 1246</change> 1247 1248</changes> 1249 1250 1251<changes ver="1.15.12" date="2019-04-16"> 1252 1253<change type="bugfix"> 1254<para lang="ru"> 1255в рабочем процессе мог произойти segmentation fault, 1256если в директивах ssl_certificate или ssl_certificate_key 1257использовались переменные 1258и был включён OCSP stapling. 1259</para> 1260<para lang="en"> 1261a segmentation fault might occur in a worker process 1262if variables were used 1263in the "ssl_certificate" or "ssl_certificate_key" directives 1264and OCSP stapling was enabled. 1265</para> 1266</change> 1267 1268</changes> 1269 1270 1271<changes ver="1.15.11" date="2019-04-09"> 1272 1273<change type="bugfix"> 1274<para lang="ru"> 1275в директиве ssl_stapling_file на Windows. 1276</para> 1277<para lang="en"> 1278in the "ssl_stapling_file" directive on Windows. 1279</para> 1280</change> 1281 1282</changes> 1283 1284 1285<changes ver="1.15.10" date="2019-03-26"> 1286 1287<change type="change"> 1288<para lang="ru"> 1289теперь при использовании имени хоста в директиве listen 1290nginx создаёт listen-сокеты для всех адресов, 1291соответствующих этому имени 1292(ранее использовался только первый адрес). 1293</para> 1294<para lang="en"> 1295when using a hostname in the "listen" directive 1296nginx now creates listening sockets 1297for all addresses the hostname resolves to 1298(previously, only the first address was used). 1299</para> 1300</change> 1301 1302<change type="feature"> 1303<para lang="ru"> 1304диапазоны портов в директиве listen. 1305</para> 1306<para lang="en"> 1307port ranges in the "listen" directive. 1308</para> 1309</change> 1310 1311<change type="feature"> 1312<para lang="ru"> 1313возможность загрузки SSL-сертификатов и секретных ключей из переменных. 1314</para> 1315<para lang="en"> 1316loading of SSL certificates and secret keys from variables. 1317</para> 1318</change> 1319 1320<change type="workaround"> 1321<para lang="ru"> 1322переменная $ssl_server_name могла быть пустой 1323при использовании OpenSSL 1.1.1. 1324</para> 1325<para lang="en"> 1326the $ssl_server_name variable might be empty 1327when using OpenSSL 1.1.1. 1328</para> 1329</change> 1330 1331<change type="bugfix"> 1332<para lang="ru"> 1333nginx/Windows не собирался с Visual Studio 2015 и новее; 1334ошибка появилась в 1.15.9. 1335</para> 1336<para lang="en"> 1337nginx/Windows could not be built with Visual Studio 2015 or newer; 1338the bug had appeared in 1.15.9. 1339</para> 1340</change> 1341 1342</changes> 1343 1344 1345<changes ver="1.15.9" date="2019-02-26"> 1346 1347<change type="feature"> 1348<para lang="ru"> 1349директивы ssl_certificate и ssl_certificate_key 1350поддерживают переменные. 1351</para> 1352<para lang="en"> 1353variables support 1354in the "ssl_certificate" and "ssl_certificate_key" directives. 1355</para> 1356</change> 1357 1358<change type="feature"> 1359<para lang="ru"> 1360метод poll теперь доступен на Windows 1361при использовании Windows Vista и новее. 1362</para> 1363<para lang="en"> 1364the "poll" method is now available on Windows 1365when using Windows Vista or newer. 1366</para> 1367</change> 1368 1369<change type="bugfix"> 1370<para lang="ru"> 1371если при использовании метода select на Windows 1372происходила ошибка при установлении соединения с бэкендом, 1373nginx ожидал истечения таймаута на установление соединения. 1374</para> 1375<para lang="en"> 1376if the "select" method was used on Windows 1377and an error occurred while establishing a backend connection, 1378nginx waited for the connection establishment timeout to expire. 1379</para> 1380</change> 1381 1382<change type="bugfix"> 1383<para lang="ru"> 1384директивы proxy_upload_rate и proxy_download_rate 1385в модуле stream 1386работали некорректно при проксировании UDP-пакетов. 1387</para> 1388<para lang="en"> 1389the "proxy_upload_rate" and "proxy_download_rate" directives 1390in the stream module 1391worked incorrectly when proxying UDP datagrams. 1392</para> 1393</change> 1394 1395</changes> 1396 1397 1398<changes ver="1.15.8" date="2018-12-25"> 1399 1400<change type="feature"> 1401<para lang="ru"> 1402переменная $upstream_bytes_sent.<br/> 1403Спасибо Piotr Sikora. 1404</para> 1405<para lang="en"> 1406the $upstream_bytes_sent variable.<br/> 1407Thanks to Piotr Sikora. 1408</para> 1409</change> 1410 1411<change type="feature"> 1412<para lang="ru"> 1413новые директивы в скриптах подсветки синтаксиса для vim.<br/> 1414Спасибо Геннадию Махомеду. 1415</para> 1416<para lang="en"> 1417new directives in vim syntax highlighting scripts.<br/> 1418Thanks to Gena Makhomed. 1419</para> 1420</change> 1421 1422<change type="bugfix"> 1423<para lang="ru"> 1424в директиве proxy_cache_background_update. 1425</para> 1426<para lang="en"> 1427in the "proxy_cache_background_update" directive. 1428</para> 1429</change> 1430 1431<change type="bugfix"> 1432<para lang="ru"> 1433в директиве geo при использовании unix domain listen-сокетов. 1434</para> 1435<para lang="en"> 1436in the "geo" directive when using unix domain listen sockets. 1437</para> 1438</change> 1439 1440<change type="workaround"> 1441<para lang="ru"> 1442при использовании директивы ssl_early_data с OpenSSL 1443в логах могли появляться сообщения 1444"ignoring stale global SSL error ... bad length". 1445</para> 1446<para lang="en"> 1447the "ignoring stale global SSL error ... bad length" 1448alerts might appear in logs 1449when using the "ssl_early_data" directive with OpenSSL. 1450</para> 1451</change> 1452 1453<change type="bugfix"> 1454<para lang="ru"> 1455в nginx/Windows. 1456</para> 1457<para lang="en"> 1458in nginx/Windows. 1459</para> 1460</change> 1461 1462<change type="bugfix"> 1463<para lang="ru"> 1464в модуле ngx_http_autoindex_module на 32-битных платформах. 1465</para> 1466<para lang="en"> 1467in the ngx_http_autoindex_module on 32-bit platforms. 1468</para> 1469</change> 1470 1471</changes> 1472 1473 1474<changes ver="1.15.7" date="2018-11-27"> 1475 1476<change type="feature"> 1477<para lang="ru"> 1478директива proxy_requests в модуле stream. 1479</para> 1480<para lang="en"> 1481the "proxy_requests" directive in the stream module. 1482</para> 1483</change> 1484 1485<change type="feature"> 1486<para lang="ru"> 1487параметр "delay" директивы "limit_req".<br/> 1488Спасибо Владиславу Шабанову и Петру Щучкину. 1489</para> 1490<para lang="en"> 1491the "delay" parameter of the "limit_req" directive.<br/> 1492Thanks to Vladislav Shabanov and Peter Shchuchkin. 1493</para> 1494</change> 1495 1496<change type="bugfix"> 1497<para lang="ru"> 1498утечки памяти в случае ошибок при переконфигурации. 1499</para> 1500<para lang="en"> 1501memory leak on errors during reconfiguration. 1502</para> 1503</change> 1504 1505<change type="bugfix"> 1506<para lang="ru"> 1507в переменных $upstream_response_time, $upstream_connect_time и 1508$upstream_header_time. 1509</para> 1510<para lang="en"> 1511in the $upstream_response_time, $upstream_connect_time, and 1512$upstream_header_time variables. 1513</para> 1514</change> 1515 1516<change type="bugfix"> 1517<para lang="ru"> 1518в рабочем процессе мог произойти segmentation fault, 1519если использовался модуль ngx_http_mp4_module на 32-битных платформах. 1520</para> 1521<para lang="en"> 1522a segmentation fault might occur in a worker process 1523if the ngx_http_mp4_module was used on 32-bit platforms. 1524</para> 1525</change> 1526 1527</changes> 1528 1529 1530<changes ver="1.15.6" date="2018-11-06"> 1531 1532<change type="security"> 1533<para lang="ru"> 1534при использовании HTTP/2 клиент мог вызвать 1535чрезмерное потреблению памяти (CVE-2018-16843) 1536и ресурсов процессора (CVE-2018-16844). 1537</para> 1538<para lang="en"> 1539when using HTTP/2 a client might cause 1540excessive memory consumption (CVE-2018-16843) 1541and CPU usage (CVE-2018-16844). 1542</para> 1543</change> 1544 1545<change type="security"> 1546<para lang="ru"> 1547при обработке специально созданного mp4-файла модулем ngx_http_mp4_module 1548содержимое памяти рабочего процесса могло быть отправлено клиенту 1549(CVE-2018-16845). 1550</para> 1551<para lang="en"> 1552processing of a specially crafted mp4 file with the ngx_http_mp4_module 1553might result in worker process memory disclosure 1554(CVE-2018-16845). 1555</para> 1556</change> 1557 1558<change type="feature"> 1559<para lang="ru"> 1560директивы proxy_socket_keepalive, fastcgi_socket_keepalive, 1561grpc_socket_keepalive, memcached_socket_keepalive, 1562scgi_socket_keepalive и uwsgi_socket_keepalive. 1563</para> 1564<para lang="en"> 1565the "proxy_socket_keepalive", "fastcgi_socket_keepalive", 1566"grpc_socket_keepalive", "memcached_socket_keepalive", 1567"scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives. 1568</para> 1569</change> 1570 1571<change type="bugfix"> 1572<para lang="ru"> 1573если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1, 1574протокол TLS 1.3 всегда был разрешён. 1575</para> 1576<para lang="en"> 1577if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1, 1578the TLS 1.3 protocol was always enabled. 1579</para> 1580</change> 1581 1582<change type="bugfix"> 1583<para lang="ru"> 1584при работе с gRPC-бэкендами могло расходоваться большое количество памяти. 1585</para> 1586<para lang="en"> 1587working with gRPC backends might result in excessive memory consumption. 1588</para> 1589</change> 1590 1591</changes> 1592 1593 1594<changes ver="1.15.5" date="2018-10-02"> 1595 1596<change type="bugfix"> 1597<para lang="ru"> 1598при использовании OpenSSL 1.1.0h и новее 1599в рабочем процессе мог произойти segmentation fault; 1600ошибка появилась в 1.15.4. 1601</para> 1602<para lang="en"> 1603a segmentation fault might occur in a worker process 1604when using OpenSSL 1.1.0h or newer; 1605the bug had appeared in 1.15.4. 1606</para> 1607</change> 1608 1609<change type="bugfix"> 1610<para lang="ru"> 1611незначительных потенциальных ошибок. 1612</para> 1613<para lang="en"> 1614of minor potential bugs. 1615</para> 1616</change> 1617 1618</changes> 1619 1620 1621<changes ver="1.15.4" date="2018-09-25"> 1622 1623<change type="feature"> 1624<para lang="ru"> 1625теперь директиву ssl_early_data можно использовать с OpenSSL. 1626</para> 1627<para lang="en"> 1628now the "ssl_early_data" directive can be used with OpenSSL. 1629</para> 1630</change> 1631 1632<change type="bugfix"> 1633<para lang="ru"> 1634в модуле ngx_http_uwsgi_module.<br/> 1635Спасибо Chris Caputo. 1636</para> 1637<para lang="en"> 1638in the ngx_http_uwsgi_module.<br/> 1639Thanks to Chris Caputo. 1640</para> 1641</change> 1642 1643<change type="bugfix"> 1644<para lang="ru"> 1645соединения к некоторым gRPC-бэкендам могли не кэшироваться 1646при использовании директивы keepalive. 1647</para> 1648<para lang="en"> 1649connections with some gRPC backends might not be cached 1650when using the "keepalive" directive. 1651</para> 1652</change> 1653 1654<change type="bugfix"> 1655<para lang="ru"> 1656при использовании директивы error_page для перенаправления ошибок, 1657возникающих на ранних этапах обработки запроса, 1658в частности ошибок с кодом 400, 1659могла происходить утечка сокетов. 1660</para> 1661<para lang="en"> 1662a socket leak might occur 1663when using the "error_page" directive 1664to redirect early request processing errors, 1665notably errors with code 400. 1666</para> 1667</change> 1668 1669<change type="bugfix"> 1670<para lang="ru"> 1671директива return при возврате ошибок не изменяла код ответа, 1672если запрос был перенаправлен с помощью директивы error_page. 1673</para> 1674<para lang="en"> 1675the "return" directive did not change the response code when returning errors 1676if the request was redirected by the "error_page" directive. 1677</para> 1678</change> 1679 1680<change type="bugfix"> 1681<para lang="ru"> 1682стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module 1683содержали атрибут bgcolor, что могло приводить к их некорректному отображению 1684при использовании пользовательских настроек цветов в браузерах.<br/> 1685Спасибо Nova DasSarma. 1686</para> 1687<para lang="en"> 1688standard error pages and responses of the ngx_http_autoindex_module module 1689used the "bgcolor" attribute, and might be displayed incorrectly when using 1690custom color settings in browsers.<br/> 1691Thanks to Nova DasSarma. 1692</para> 1693</change> 1694 1695<change type="change"> 1696<para lang="ru"> 1697уровень логгирования ошибок SSL "no suitable key share" и 1698"no suitable signature algorithm" 1699понижен с уровня crit до info. 1700</para> 1701<para lang="en"> 1702the logging level of the "no suitable key share" and 1703"no suitable signature algorithm" SSL errors 1704has been lowered from "crit" to "info". 1705</para> 1706</change> 1707 1708</changes> 1709 1710 1711<changes ver="1.15.3" date="2018-08-28"> 1712 1713<change type="feature"> 1714<para lang="ru"> 1715теперь TLSv1.3 можно использовать с BoringSSL. 1716</para> 1717<para lang="en"> 1718now TLSv1.3 can be used with BoringSSL. 1719</para> 1720</change> 1721 1722<change type="feature"> 1723<para lang="ru"> 1724директива ssl_early_data, 1725сейчас доступна при использовании BoringSSL. 1726</para> 1727<para lang="en"> 1728the "ssl_early_data" directive, 1729currently available with BoringSSL. 1730</para> 1731</change> 1732 1733<change type="feature"> 1734<para lang="ru"> 1735директивы keepalive_timeout и keepalive_requests 1736в блоке upstream. 1737</para> 1738<para lang="en"> 1739the "keepalive_timeout" and "keepalive_requests" directives 1740in the "upstream" block. 1741</para> 1742</change> 1743 1744<change type="bugfix"> 1745<para lang="ru"> 1746модуль ngx_http_dav_module 1747при копировании файла поверх существующего файла с помощью метода COPY 1748не обнулял целевой файл. 1749</para> 1750<para lang="en"> 1751the ngx_http_dav_module 1752did not truncate destination file when copying a file over an existing one 1753with the COPY method. 1754</para> 1755</change> 1756 1757<change type="bugfix"> 1758<para lang="ru"> 1759модуль ngx_http_dav_module 1760при перемещении файла между файловыми системами с помощью метода MOVE 1761устанавливал нулевые права доступа на результирующий файл 1762и не сохранял время изменения файла. 1763</para> 1764<para lang="en"> 1765the ngx_http_dav_module 1766used zero access rights on the destination file 1767and did not preserve file modification time 1768when moving a file between different file systems with the MOVE method. 1769</para> 1770</change> 1771 1772<change type="bugfix"> 1773<para lang="ru"> 1774модуль ngx_http_dav_module 1775при копировании файла с помощью метода COPY 1776для результирующего файла использовал права доступа по умолчанию. 1777</para> 1778<para lang="en"> 1779the ngx_http_dav_module 1780used default access rights 1781when copying a file with the COPY method. 1782</para> 1783</change> 1784 1785<change type="workaround"> 1786<para lang="ru"> 1787некоторые клиенты могли не работать при использовании HTTP/2; 1788ошибка появилась в 1.13.5. 1789</para> 1790<para lang="en"> 1791some clients might not work when using HTTP/2; 1792the bug had appeared in 1.13.5. 1793</para> 1794</change> 1795 1796<change type="bugfix"> 1797<para lang="ru"> 1798nginx не собирался с LibreSSL 2.8.0. 1799</para> 1800<para lang="en"> 1801nginx could not be built with LibreSSL 2.8.0. 1802</para> 1803</change> 1804 1805</changes> 1806 1807 1808<changes ver="1.15.2" date="2018-07-24"> 1809 1810<change type="feature"> 1811<para lang="ru"> 1812переменная $ssl_preread_protocol 1813в модуле ngx_stream_ssl_preread_module. 1814</para> 1815<para lang="en"> 1816the $ssl_preread_protocol variable 1817in the ngx_stream_ssl_preread_module. 1818</para> 1819</change> 1820 1821<change type="feature"> 1822<para lang="ru"> 1823теперь при использовании директивы reset_timedout_connection 1824nginx сбрасывает соединения, закрываемые с кодом 444. 1825</para> 1826<para lang="en"> 1827now when using the "reset_timedout_connection" directive 1828nginx will reset connections being closed with the 444 code. 1829</para> 1830</change> 1831 1832<change type="change"> 1833<para lang="ru"> 1834уровень логгирования ошибок SSL "http request", "https proxy request", 1835"unsupported protocol" и "version too low" 1836понижен с уровня crit до info. 1837</para> 1838<para lang="en"> 1839a logging level of the "http request", "https proxy request", 1840"unsupported protocol", and "version too low" SSL errors 1841has been lowered from "crit" to "info". 1842</para> 1843</change> 1844 1845<change type="bugfix"> 1846<para lang="ru"> 1847запросы к DNS-серверу не отправлялись повторно, 1848если при первой попытке отправки происходила ошибка. 1849</para> 1850<para lang="en"> 1851DNS requests were not resent 1852if initial sending of a request failed. 1853</para> 1854</change> 1855 1856<change type="bugfix"> 1857<para lang="ru"> 1858параметр reuseport директивы listen игнорировался, 1859если количество рабочих процессов было задано после директивы listen. 1860</para> 1861<para lang="en"> 1862the "reuseport" parameter of the "listen" directive was ignored 1863if the number of worker processes was specified after the "listen" directive. 1864</para> 1865</change> 1866 1867<change type="bugfix"> 1868<para lang="ru"> 1869при использовании OpenSSL 1.1.0 и новее 1870директиву ssl_prefer_server_ciphers нельзя было выключить 1871в виртуальном сервере, если она была включена в сервере по умолчанию. 1872</para> 1873<para lang="en"> 1874when using OpenSSL 1.1.0 or newer 1875it was not possible to switch off "ssl_prefer_server_ciphers" in 1876a virtual server if it was switched on in the default server. 1877</para> 1878</change> 1879 1880<change type="bugfix"> 1881<para lang="ru"> 1882повторное использование SSL-сессий к бэкендам 1883не работало с протоколом TLS 1.3. 1884</para> 1885<para lang="en"> 1886SSL session reuse with upstream servers 1887did not work with the TLS 1.3 protocol. 1888</para> 1889</change> 1890 1891</changes> 1892 1893 1894<changes ver="1.15.1" date="2018-07-03"> 1895 1896<change type="feature"> 1897<para lang="ru"> 1898директива random в блоке upstream. 1899</para> 1900<para lang="en"> 1901the "random" directive inside the "upstream" block. 1902</para> 1903</change> 1904 1905<change type="feature"> 1906<para lang="ru"> 1907улучшена производительность при использовании директив hash и ip_hash 1908совместно с директивой zone. 1909</para> 1910<para lang="en"> 1911improved performance when using the "hash" and "ip_hash" directives 1912with the "zone" directive. 1913</para> 1914</change> 1915 1916<change type="feature"> 1917<para lang="ru"> 1918параметр reuseport директивы listen 1919теперь использует SO_REUSEPORT_LB на FreeBSD 12. 1920</para> 1921<para lang="en"> 1922the "reuseport" parameter of the "listen" directive 1923now uses SO_REUSEPORT_LB on FreeBSD 12. 1924</para> 1925</change> 1926 1927<change type="bugfix"> 1928<para lang="ru"> 1929HTTP/2 server push не работал, если SSL терминировался прокси-сервером 1930перед nginx'ом. 1931</para> 1932<para lang="en"> 1933HTTP/2 server push did not work if SSL was terminated by a proxy server 1934in front of nginx. 1935</para> 1936</change> 1937 1938<change type="bugfix"> 1939<para lang="ru"> 1940директива tcp_nopush всегда использовалась для соединений к бэкендам. 1941</para> 1942<para lang="en"> 1943the "tcp_nopush" directive was always used on backend connections. 1944</para> 1945</change> 1946 1947<change type="bugfix"> 1948<para lang="ru"> 1949при отправке сохранённого на диск тела запроса на gRPC-бэкенд 1950могли возникать ошибки. 1951</para> 1952<para lang="en"> 1953sending a disk-buffered request body to a gRPC backend 1954might fail. 1955</para> 1956</change> 1957 1958</changes> 1959 1960 1961<changes ver="1.15.0" date="2018-06-05"> 1962 1963<change type="change"> 1964<para lang="ru"> 1965директива "ssl" теперь считается устаревшей; 1966вместо неё следует использовать параметр ssl директивы listen. 1967</para> 1968<para lang="en"> 1969the "ssl" directive is deprecated; 1970the "ssl" parameter of the "listen" directive should be used instead. 1971</para> 1972</change> 1973 1974<change type="change"> 1975<para lang="ru"> 1976теперь при использовании директивы listen с параметром ssl 1977nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации. 1978</para> 1979<para lang="en"> 1980now nginx detects missing SSL certificates during configuration testing 1981when using the "ssl" parameter of the "listen" directive. 1982</para> 1983</change> 1984 1985<change type="feature"> 1986<para lang="ru"> 1987теперь модуль stream умеет обрабатывать 1988несколько входящих UDP-пакетов от клиента в рамках одной сессии. 1989</para> 1990<para lang="en"> 1991now the stream module can handle 1992multiple incoming UDP datagrams from a client within a single session. 1993</para> 1994</change> 1995 1996<change type="bugfix"> 1997<para lang="ru"> 1998в директиве proxy_cache_valid 1999можно было указать некорректный код ответа. 2000</para> 2001<para lang="en"> 2002it was possible to specify an incorrect response code 2003in the "proxy_cache_valid" directive. 2004</para> 2005</change> 2006 2007<change type="bugfix"> 2008<para lang="ru"> 2009nginx не собирался gcc 8.1. 2010</para> 2011<para lang="en"> 2012nginx could not be built by gcc 8.1. 2013</para> 2014</change> 2015 2016<change type="bugfix"> 2017<para lang="ru"> 2018логгирование в syslog останавливалось при изменении локального IP-адреса. 2019</para> 2020<para lang="en"> 2021logging to syslog stopped on local IP address changes. 2022</para> 2023</change> 2024 2025<change type="bugfix"> 2026<para lang="ru"> 2027nginx не собирался компилятором clang, если был установлен CUDA SDK; 2028ошибка появилась в 1.13.8. 2029</para> 2030<para lang="en"> 2031nginx could not be built by clang with CUDA SDK installed; 2032the bug had appeared in 1.13.8. 2033</para> 2034</change> 2035 2036<change type="bugfix"> 2037<para lang="ru"> 2038при использовании unix domain listen-сокетов на FreeBSD 2039в процессе обновления исполняемого файла 2040в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed". 2041</para> 2042<para lang="en"> 2043"getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs 2044during binary upgrade 2045when using unix domain listen sockets on FreeBSD. 2046</para> 2047</change> 2048 2049<change type="bugfix"> 2050<para lang="ru"> 2051nginx не собирался на Fedora 28 Linux. 2052</para> 2053<para lang="en"> 2054nginx could not be built on Fedora 28 Linux. 2055</para> 2056</change> 2057 2058<change type="bugfix"> 2059<para lang="ru"> 2060при использовании директивы limit_req 2061заданная скорость обработки запросов могла не соблюдаться. 2062</para> 2063<para lang="en"> 2064request processing rate might exceed configured rate 2065when using the "limit_req" directive. 2066</para> 2067</change> 2068 2069<change type="bugfix"> 2070<para lang="ru"> 2071в обработке адресов клиентов при использовании unix domain listen-сокетов 2072для работы с датаграммами на Linux. 2073</para> 2074<para lang="en"> 2075in handling of client addresses when using unix domain listen sockets 2076to work with datagrams on Linux. 2077</para> 2078</change> 2079 2080<change type="bugfix"> 2081<para lang="ru"> 2082в обработке ошибок выделения памяти. 2083</para> 2084<para lang="en"> 2085in memory allocation error handling. 2086</para> 2087</change> 2088 2089</changes> 2090 2091 2092<changes ver="1.13.12" date="2018-04-10"> 2093 2094<change type="bugfix"> 2095<para lang="ru"> 2096при возврате большого ответа 2097соединения с gRPC-бэкендами могли неожиданно закрываться. 2098</para> 2099<para lang="en"> 2100connections with gRPC backends might be closed unexpectedly 2101when returning a large response. 2102</para> 2103</change> 2104 2105</changes> 2106 2107 2108<changes ver="1.13.11" date="2018-04-03"> 2109 2110<change type="feature"> 2111<para lang="ru"> 2112параметр proxy_protocol директивы listen 2113теперь поддерживает протокол PROXY версии 2. 2114</para> 2115<para lang="en"> 2116the "proxy_protocol" parameter of the "listen" directive 2117now supports the PROXY protocol version 2. 2118</para> 2119</change> 2120 2121<change type="bugfix"> 2122<para lang="ru"> 2123nginx не собирался с OpenSSL 1.1.1 статически на Linux. 2124</para> 2125<para lang="en"> 2126nginx could not be built with OpenSSL 1.1.1 statically on Linux. 2127</para> 2128</change> 2129 2130<change type="bugfix"> 2131<para lang="ru"> 2132в параметрах http_404, http_500 и им подобных 2133директивы proxy_next_upstream. 2134</para> 2135<para lang="en"> 2136in the "http_404", "http_500", etc. parameters 2137of the "proxy_next_upstream" directive. 2138</para> 2139</change> 2140 2141</changes> 2142 2143 2144<changes ver="1.13.10" date="2018-03-20"> 2145 2146<change type="feature"> 2147<para lang="ru"> 2148теперь параметр set в SSI-директиве include 2149позволяет сохранять в переменную любые ответы; 2150максимальный размер ответа задаётся директивой subrequest_output_buffer_size. 2151</para> 2152<para lang="en"> 2153the "set" parameter of the "include" SSI directive now allows 2154writing arbitrary responses to a variable; 2155the "subrequest_output_buffer_size" directive defines maximum response size. 2156</para> 2157</change> 2158 2159<change type="feature"> 2160<para lang="ru"> 2161теперь nginx использует вызов clock_gettime(CLOCK_MONOTONIC), если он доступен, 2162что позволяет избежать некорректного срабатывания таймаутов 2163при изменениях системного времени. 2164</para> 2165<para lang="en"> 2166now nginx uses clock_gettime(CLOCK_MONOTONIC) if available, 2167to avoid timeouts being incorrectly triggered 2168on system time changes. 2169</para> 2170</change> 2171 2172<change type="feature"> 2173<para lang="ru"> 2174параметр "escape=none" директивы log_format.<br/> 2175Спасибо Johannes Baiter и Calin Don. 2176</para> 2177<para lang="en"> 2178the "escape=none" parameter of the "log_format" directive.<br/> 2179Thanks to Johannes Baiter and Calin Don. 2180</para> 2181</change> 2182 2183<change type="feature"> 2184<para lang="ru"> 2185переменная $ssl_preread_alpn_protocols 2186в модуле ngx_stream_ssl_preread_module. 2187</para> 2188<para lang="en"> 2189the $ssl_preread_alpn_protocols variable 2190in the ngx_stream_ssl_preread_module. 2191</para> 2192</change> 2193 2194<change type="feature"> 2195<para lang="ru"> 2196модуль ngx_http_grpc_module. 2197</para> 2198<para lang="en"> 2199the ngx_http_grpc_module. 2200</para> 2201</change> 2202 2203<change type="bugfix"> 2204<para lang="ru"> 2205в обработке ошибок выделения памяти в директиве geo. 2206</para> 2207<para lang="en"> 2208in memory allocation error handling in the "geo" directive. 2209</para> 2210</change> 2211 2212<change type="bugfix"> 2213<para lang="ru"> 2214при использовании переменных в директиве auth_basic_user_file 2215в лог мог выводиться символ '\0'.<br/> 2216Спасибо Вадиму Филимонову. 2217</para> 2218<para lang="en"> 2219when using variables in the "auth_basic_user_file" directive 2220a null character might appear in logs.<br/> 2221Thanks to Vadim Filimonov. 2222</para> 2223</change> 2224 2225</changes> 2226 2227 2228<changes ver="1.13.9" date="2018-02-20"> 2229 2230<change type="feature"> 2231<para lang="ru"> 2232поддержка HTTP/2 server push; 2233директивы http2_push и http2_push_preload. 2234</para> 2235<para lang="en"> 2236HTTP/2 server push support; 2237the "http2_push" and "http2_push_preload" directives. 2238</para> 2239</change> 2240 2241<change type="bugfix"> 2242<para lang="ru"> 2243при использовании кэша 2244в логах могли появляться сообщения "header already sent"; 2245ошибка появилась в 1.9.13. 2246</para> 2247<para lang="en"> 2248"header already sent" alerts might appear in logs 2249when using cache; 2250the bug had appeared in 1.9.13. 2251</para> 2252</change> 2253 2254<change type="bugfix"> 2255<para lang="ru"> 2256при использовании директивы ssl_verify_client 2257в рабочем процессе мог произойти segmentation fault, 2258если в виртуальном сервере не был указан SSL-сертификат. 2259</para> 2260<para lang="en"> 2261a segmentation fault might occur in a worker process 2262if the "ssl_verify_client" directive was used 2263and no SSL certificate was specified in a virtual server. 2264</para> 2265</change> 2266 2267<change type="bugfix"> 2268<para lang="ru"> 2269в модуле ngx_http_v2_module. 2270</para> 2271<para lang="en"> 2272in the ngx_http_v2_module. 2273</para> 2274</change> 2275 2276<change type="bugfix"> 2277<para lang="ru"> 2278в модуле ngx_http_dav_module. 2279</para> 2280<para lang="en"> 2281in the ngx_http_dav_module. 2282</para> 2283</change> 2284 2285</changes> 2286 2287 2288<changes ver="1.13.8" date="2017-12-26"> 2289 2290<change type="feature"> 2291<para lang="ru"> 2292теперь при использовании параметра transparent директив proxy_bind, 2293fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 2294nginx автоматически сохраняет capability CAP_NET_RAW в рабочих процессах. 2295</para> 2296<para lang="en"> 2297now nginx automatically preserves the CAP_NET_RAW capability in worker processes 2298when using the "transparent" parameter of the "proxy_bind", 2299"fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 2300</para> 2301</change> 2302 2303<change type="feature"> 2304<para lang="ru"> 2305улучшения в определении размера строки кэша процессора.<br/> 2306Спасибо Debayan Ghosh. 2307</para> 2308<para lang="en"> 2309improved CPU cache line size detection.<br/> 2310Thanks to Debayan Ghosh. 2311</para> 2312</change> 2313 2314<change type="feature"> 2315<para lang="ru"> 2316новые директивы в скриптах подсветки синтаксиса для vim.<br/> 2317Спасибо Геннадию Махомеду. 2318</para> 2319<para lang="en"> 2320new directives in vim syntax highlighting scripts.<br/> 2321Thanks to Gena Makhomed. 2322</para> 2323</change> 2324 2325<change type="bugfix"> 2326<para lang="ru"> 2327процедура обновления исполняемого файла не работала, 2328если после завершения родительского процесса 2329новым родительским процессом nginx'а становился процесс с PID, отличным от 1. 2330</para> 2331<para lang="en"> 2332binary upgrade refused to work 2333if nginx was re-parented to a process with PID different from 1 2334after its parent process has finished. 2335</para> 2336</change> 2337 2338<change type="bugfix"> 2339<para lang="ru"> 2340модуль ngx_http_autoindex_module неправильно обрабатывал запросы с телом. 2341</para> 2342<para lang="en"> 2343the ngx_http_autoindex_module incorrectly handled requests with bodies. 2344</para> 2345</change> 2346 2347<change type="bugfix"> 2348<para lang="ru"> 2349в директиве proxy_limit_rate при использовании с директивой keepalive. 2350</para> 2351<para lang="en"> 2352in the "proxy_limit_rate" directive when used with the "keepalive" directive. 2353</para> 2354</change> 2355 2356<change type="bugfix"> 2357<para lang="ru"> 2358при использовании "proxy_buffering off" часть ответа могла буферизироваться, 2359если клиентское соединение использовало SSL.<br/> 2360Спасибо Patryk Lesiewicz. 2361</para> 2362<para lang="en"> 2363some parts of a response might be buffered when using "proxy_buffering off" 2364if the client connection used SSL.<br/> 2365Thanks to Patryk Lesiewicz. 2366</para> 2367</change> 2368 2369<change type="bugfix"> 2370<para lang="ru"> 2371в директиве proxy_cache_background_update. 2372</para> 2373<para lang="en"> 2374in the "proxy_cache_background_update" directive. 2375</para> 2376</change> 2377 2378<change type="bugfix"> 2379<para lang="ru"> 2380переменную вида "${name}" с именем в фигурных скобках 2381нельзя было использовать в начале параметра 2382не заключив весь параметр в кавычки. 2383</para> 2384<para lang="en"> 2385it was not possible to start a parameter 2386with a variable in the "${name}" form with the name in curly brackets 2387without enclosing the parameter into single or double quotes. 2388</para> 2389</change> 2390 2391</changes> 2392 2393 2394<changes ver="1.13.7" date="2017-11-21"> 2395 2396<change type="bugfix"> 2397<para lang="ru"> 2398в переменной $upstream_status. 2399</para> 2400<para lang="en"> 2401in the $upstream_status variable. 2402</para> 2403</change> 2404 2405<change type="bugfix"> 2406<para lang="ru"> 2407в рабочем процессе мог произойти segmentation fault, 2408если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос. 2409</para> 2410<para lang="en"> 2411a segmentation fault might occur in a worker process 2412if a backend returned a "101 Switching Protocols" response to a subrequest. 2413</para> 2414</change> 2415 2416<change type="bugfix"> 2417<para lang="ru"> 2418если при переконфигурации изменялся размер зоны разделяемой памяти 2419и переконфигурация завершалась неудачно, 2420то в главном процессе происходил segmentation fault. 2421</para> 2422<para lang="en"> 2423a segmentation fault occurred in a master process 2424if a shared memory zone size was changed during a reconfiguration 2425and the reconfiguration failed. 2426</para> 2427</change> 2428 2429<change type="bugfix"> 2430<para lang="ru"> 2431в модуле ngx_http_fastcgi_module. 2432</para> 2433<para lang="en"> 2434in the ngx_http_fastcgi_module. 2435</para> 2436</change> 2437 2438<change type="bugfix"> 2439<para lang="ru"> 2440nginx возвращал ошибку 500, 2441если в директиве xslt_stylesheet 2442были заданы параметры без использования переменных. 2443</para> 2444<para lang="en"> 2445nginx returned the 500 error 2446if parameters without variables were specified 2447in the "xslt_stylesheet" directive. 2448</para> 2449</change> 2450 2451<change type="workaround"> 2452<para lang="ru"> 2453при использовании варианта библиотеки zlib от Intel 2454в лог писались сообщения "gzip filter failed to use preallocated memory". 2455</para> 2456<para lang="en"> 2457"gzip filter failed to use preallocated memory" alerts appeared in logs 2458when using a zlib library variant from Intel. 2459</para> 2460</change> 2461 2462<change type="bugfix"> 2463<para lang="ru"> 2464директива worker_shutdown_timeout не работала 2465при использовании почтового прокси-сервера 2466и при проксировании WebSocket-соединений. 2467</para> 2468<para lang="en"> 2469the "worker_shutdown_timeout" directive did not work 2470when using mail proxy and when proxying WebSocket connections. 2471</para> 2472</change> 2473 2474</changes> 2475 2476 2477<changes ver="1.13.6" date="2017-10-10"> 2478 2479<change type="bugfix"> 2480<para lang="ru"> 2481при использовании директивы ssl_preread 2482в модуле stream не работало переключение на следующий бэкенд. 2483</para> 2484<para lang="en"> 2485switching to the next upstream server in the stream module did not work 2486when using the "ssl_preread" directive. 2487</para> 2488</change> 2489 2490<change type="bugfix"> 2491<para lang="ru"> 2492в модуле ngx_http_v2_module.<br/> 2493Спасибо Piotr Sikora. 2494</para> 2495<para lang="en"> 2496in the ngx_http_v2_module.<br/> 2497Thanks to Piotr Sikora. 2498</para> 2499</change> 2500 2501<change type="bugfix"> 2502<para lang="ru"> 2503nginx не поддерживал даты после 2038 года 2504на 32-битных платформах с 64-битным time_t. 2505</para> 2506<para lang="en"> 2507nginx did not support dates after the year 2038 2508on 32-bit platforms with 64-bit time_t. 2509</para> 2510</change> 2511 2512<change type="bugfix"> 2513<para lang="ru"> 2514в обработке дат до 1970 года и после 10000 года. 2515</para> 2516<para lang="en"> 2517in handling of dates prior to the year 1970 and after the year 10000. 2518</para> 2519</change> 2520 2521<change type="bugfix"> 2522<para lang="ru"> 2523в модуле stream таймауты ожидания UDP-пакетов от бэкендов 2524не логгировались или логгировались на уровне info вместо error. 2525</para> 2526<para lang="en"> 2527in the stream module timeouts waiting for UDP datagrams from upstream servers 2528were not logged or logged at the "info" level instead of "error". 2529</para> 2530</change> 2531 2532<change type="bugfix"> 2533<para lang="ru"> 2534при использовании HTTP/2 nginx мог вернуть ошибку 400, 2535не указав в логе причину. 2536</para> 2537<para lang="en"> 2538when using HTTP/2 nginx might return the 400 response 2539without logging the reason. 2540</para> 2541</change> 2542 2543<change type="bugfix"> 2544<para lang="ru"> 2545в обработке повреждённых файлов кэша. 2546</para> 2547<para lang="en"> 2548in processing of corrupted cache files. 2549</para> 2550</change> 2551 2552<change type="bugfix"> 2553<para lang="ru"> 2554при кэшировании ошибок, перехваченных error_page, 2555не учитывались заголовки управления кэшированием. 2556</para> 2557<para lang="en"> 2558cache control headers were ignored 2559when caching errors intercepted by error_page. 2560</para> 2561</change> 2562 2563<change type="bugfix"> 2564<para lang="ru"> 2565при использовании HTTP/2 тело запроса могло быть повреждено. 2566</para> 2567<para lang="en"> 2568when using HTTP/2 client request body might be corrupted. 2569</para> 2570</change> 2571 2572<change type="bugfix"> 2573<para lang="ru"> 2574в обработке адресов клиентов при использовании unix domain сокетов. 2575</para> 2576<para lang="en"> 2577in handling of client addresses when using unix domain sockets. 2578</para> 2579</change> 2580 2581<change type="bugfix"> 2582<para lang="ru"> 2583при использовании директивы "hash ... consistent" в блоке upstream 2584nginx нагружал процессор, если использовались большие веса 2585и все или почти все бэкенды были недоступны. 2586</para> 2587<para lang="en"> 2588nginx hogged CPU 2589when using the "hash ... consistent" directive in the upstream block 2590if large weights were used and all or most of the servers were unavailable. 2591</para> 2592</change> 2593 2594</changes> 2595 2596 2597<changes ver="1.13.5" date="2017-09-05"> 2598 2599<change type="feature"> 2600<para lang="ru"> 2601переменная $ssl_client_escaped_cert. 2602</para> 2603<para lang="en"> 2604the $ssl_client_escaped_cert variable. 2605</para> 2606</change> 2607 2608<change type="bugfix"> 2609<para lang="ru"> 2610директива ssl_session_ticket_key и параметр include директивы geo 2611не работали на Windows. 2612</para> 2613<para lang="en"> 2614the "ssl_session_ticket_key" directive and 2615the "include" parameter of the "geo" directive did not work on Windows. 2616</para> 2617</change> 2618 2619<change type="bugfix"> 2620<para lang="ru"> 2621на 32-битных платформах 2622при запросе более 4 гигабайт с помощью нескольких диапазонов 2623возвращалась некорректная длина ответа. 2624</para> 2625<para lang="en"> 2626incorrect response length was returned 2627on 32-bit platforms when requesting more than 4 gigabytes 2628with multiple ranges. 2629</para> 2630</change> 2631 2632<change type="bugfix"> 2633<para lang="ru"> 2634директива "expires modified" и 2635обработка строки If-Range заголовка запроса 2636не учитывали время последнего изменения ответа, 2637если использовалось проксирование без кэширования. 2638</para> 2639<para lang="en"> 2640the "expires modified" directive and 2641processing of the "If-Range" request header line 2642did not use the response last modification time 2643if proxying without caching was used. 2644</para> 2645</change> 2646 2647</changes> 2648 2649 2650<changes ver="1.13.4" date="2017-08-08"> 2651 2652<change type="feature"> 2653<para lang="ru"> 2654модуль ngx_http_mirror_module. 2655</para> 2656<para lang="en"> 2657the ngx_http_mirror_module. 2658</para> 2659</change> 2660 2661<change type="bugfix"> 2662<para lang="ru"> 2663клиентские соединения могли сбрасываться при тестировании конфигурации, 2664если использовался параметр reuseport директивы listen на Linux. 2665</para> 2666<para lang="en"> 2667client connections might be dropped during configuration testing 2668when using the "reuseport" parameter of the "listen" directive on Linux. 2669</para> 2670</change> 2671 2672<change type="bugfix"> 2673<para lang="ru"> 2674тело запроса могло быть недоступно в подзапросах, 2675если оно было сохранено в файл и использовалось проксирование. 2676</para> 2677<para lang="en"> 2678request body might not be available in subrequests 2679if it was saved to a file and proxying was used. 2680</para> 2681</change> 2682 2683<change type="bugfix"> 2684<para lang="ru"> 2685очистка кэша по max_size не работала на Windows. 2686</para> 2687<para lang="en"> 2688cleaning cache based on the "max_size" parameter did not work on Windows. 2689</para> 2690</change> 2691 2692<change type="bugfix"> 2693<para lang="ru"> 2694любое выделение разделяемой памяти на Windows требовало 4096 байт памяти. 2695</para> 2696<para lang="en"> 2697any shared memory allocation required 4096 bytes on Windows. 2698</para> 2699</change> 2700 2701<change type="bugfix"> 2702<para lang="ru"> 2703при использовании директивы zone в блоке upstream на Windows 2704рабочий процесс мог завершаться аварийно. 2705</para> 2706<para lang="en"> 2707nginx worker might be terminated abnormally 2708when using the "zone" directive inside the "upstream" block on Windows. 2709</para> 2710</change> 2711 2712</changes> 2713 2714 2715<changes ver="1.13.3" date="2017-07-11"> 2716 2717<change type="security"> 2718<para lang="ru"> 2719специально созданный запрос мог вызвать целочисленное переполнение 2720в range-фильтре и последующую некорректную обработку запрошенных диапазонов, 2721что потенциально могло привести к утечке конфиденциальной информации 2722(CVE-2017-7529). 2723</para> 2724<para lang="en"> 2725a specially crafted request might result in an integer overflow 2726and incorrect processing of ranges in the range filter, 2727potentially resulting in sensitive information leak 2728(CVE-2017-7529). 2729</para> 2730</change> 2731 2732</changes> 2733 2734 2735<changes ver="1.13.2" date="2017-06-27"> 2736 2737<change type="change"> 2738<para lang="ru"> 2739теперь при запросе диапазона, начинающегося с 0, из пустого файла 2740nginx возвращает ответ 200 вместо 416. 2741</para> 2742<para lang="en"> 2743nginx now returns 200 instead of 416 2744when a range starting with 0 is requested from an empty file. 2745</para> 2746</change> 2747 2748<change type="feature"> 2749<para lang="ru"> 2750директива add_trailer.<br/> 2751Спасибо Piotr Sikora. 2752</para> 2753<para lang="en"> 2754the "add_trailer" directive.<br/> 2755Thanks to Piotr Sikora. 2756</para> 2757</change> 2758 2759<change type="bugfix"> 2760<para lang="ru"> 2761nginx не собирался под Cygwin и NetBSD; 2762ошибка появилась в 1.13.0. 2763</para> 2764<para lang="en"> 2765nginx could not be built on Cygwin and NetBSD; 2766the bug had appeared in 1.13.0. 2767</para> 2768</change> 2769 2770<change type="bugfix"> 2771<para lang="ru"> 2772nginx не собирался под MSYS2 / MinGW 64-bit.<br/> 2773Спасибо Orgad Shaneh. 2774</para> 2775<para lang="en"> 2776nginx could not be built under MSYS2 / MinGW 64-bit.<br/> 2777Thanks to Orgad Shaneh. 2778</para> 2779</change> 2780 2781<change type="bugfix"> 2782<para lang="ru"> 2783при использовании SSI с большим количеством подзапросов 2784и proxy_pass с переменными 2785в рабочем процессе мог произойти segmentation fault. 2786</para> 2787<para lang="en"> 2788a segmentation fault might occur in a worker process 2789when using SSI with many includes 2790and proxy_pass with variables. 2791</para> 2792</change> 2793 2794<change type="bugfix"> 2795<para lang="ru"> 2796в модуле ngx_http_v2_module.<br/> 2797Спасибо Piotr Sikora. 2798</para> 2799<para lang="en"> 2800in the ngx_http_v2_module.<br/> 2801Thanks to Piotr Sikora. 2802</para> 2803</change> 2804 2805</changes> 2806 2807 2808<changes ver="1.13.1" date="2017-05-30"> 2809 2810<change type="feature"> 2811<para lang="ru"> 2812теперь в качестве параметра директивы set_real_ip_from 2813можно указывать имя хоста. 2814</para> 2815<para lang="en"> 2816now a hostname can be used 2817as the "set_real_ip_from" directive parameter. 2818</para> 2819</change> 2820 2821<change type="feature"> 2822<para lang="ru"> 2823улучшения в скриптах подсветки синтаксиса для vim. 2824</para> 2825<para lang="en"> 2826vim syntax highlighting scripts improvements. 2827</para> 2828</change> 2829 2830<change type="feature"> 2831<para lang="ru"> 2832директива worker_cpu_affinity теперь работает на DragonFly BSD.<br/> 2833Спасибо Sepherosa Ziehau. 2834</para> 2835<para lang="en"> 2836the "worker_cpu_affinity" directive now works on DragonFly BSD.<br/> 2837Thanks to Sepherosa Ziehau. 2838</para> 2839</change> 2840 2841<change type="bugfix"> 2842<para lang="ru"> 2843SSL renegotiation в соединениях к бэкендам 2844не работал при использовании OpenSSL до 1.1.0. 2845</para> 2846<para lang="en"> 2847SSL renegotiation on backend connections 2848did not work when using OpenSSL before 1.1.0. 2849</para> 2850</change> 2851 2852<change type="workaround"> 2853<para lang="ru"> 2854nginx не собирался с Oracle Developer Studio 12.5. 2855</para> 2856<para lang="en"> 2857nginx could not be built with Oracle Developer Studio 12.5. 2858</para> 2859</change> 2860 2861<change type="workaround"> 2862<para lang="ru"> 2863теперь cache manager пропускает заблокированные записи 2864при очистке кэша по max_size. 2865</para> 2866<para lang="en"> 2867now cache manager ignores long locked cache entries 2868when cleaning cache based on the "max_size" parameter. 2869</para> 2870</change> 2871 2872<change type="bugfix"> 2873<para lang="ru"> 2874клиентские SSL-соединения сразу закрывались, если использовался 2875отложенный accept и параметр proxy_protocol директивы listen. 2876</para> 2877<para lang="en"> 2878client SSL connections were immediately closed if deferred accept 2879and the "proxy_protocol" parameter of the "listen" directive were used. 2880</para> 2881</change> 2882 2883<change type="bugfix"> 2884<para lang="ru"> 2885в директиве proxy_cache_background_update. 2886</para> 2887<para lang="en"> 2888in the "proxy_cache_background_update" directive. 2889</para> 2890</change> 2891 2892<change type="workaround"> 2893<para lang="ru"> 2894теперь директива tcp_nodelay 2895устанавливает опцию TCP_NODELAY перед SSL handshake. 2896</para> 2897<para lang="en"> 2898now the "tcp_nodelay" directive 2899sets the TCP_NODELAY option before an SSL handshake. 2900</para> 2901</change> 2902 2903</changes> 2904 2905 2906<changes ver="1.13.0" date="2017-04-25"> 2907 2908<change type="change"> 2909<para lang="ru"> 2910теперь SSL renegotiation допускается в соединениях к бэкендам. 2911</para> 2912<para lang="en"> 2913SSL renegotiation is now allowed on backend connections. 2914</para> 2915</change> 2916 2917<change type="feature"> 2918<para lang="ru"> 2919параметры rcvbuf и sndbuf директив listen 2920в почтовом прокси-сервере и модуле stream. 2921</para> 2922<para lang="en"> 2923the "rcvbuf" and "sndbuf" parameters of the "listen" directives 2924of the mail proxy and stream modules. 2925</para> 2926</change> 2927 2928<change type="feature"> 2929<para lang="ru"> 2930директивы return и error_page теперь могут использоваться для возврата 2931перенаправлений с кодом 308.<br/> 2932Спасибо Simon Leblanc. 2933</para> 2934<para lang="en"> 2935the "return" and "error_page" directives can now be used to return 308 2936redirections.<br/> 2937Thanks to Simon Leblanc. 2938</para> 2939</change> 2940 2941<change type="feature"> 2942<para lang="ru"> 2943параметр TLSv1.3 в директиве ssl_protocols. 2944</para> 2945<para lang="en"> 2946the "TLSv1.3" parameter of the "ssl_protocols" directive. 2947</para> 2948</change> 2949 2950<change type="feature"> 2951<para lang="ru"> 2952при логгировании сигналов теперь указывается PID отправившего сигнал процесса. 2953</para> 2954<para lang="en"> 2955when logging signals nginx now logs PID of the process which sent the signal. 2956</para> 2957</change> 2958 2959<change type="bugfix"> 2960<para lang="ru"> 2961в обработке ошибок выделения памяти. 2962</para> 2963<para lang="en"> 2964in memory allocation error handling. 2965</para> 2966</change> 2967 2968<change type="bugfix"> 2969<para lang="ru"> 2970если сервер в модуле stream слушал на wildcard-адресе, 2971исходящий адрес ответного UDP-пакета 2972мог отличаться от адреса назначения исходного пакета. 2973</para> 2974<para lang="en"> 2975if a server in the stream module listened on a wildcard address, 2976the source address of a response UDP datagram could differ 2977from the original datagram destination address. 2978</para> 2979</change> 2980 2981</changes> 2982 2983 2984<changes ver="1.11.13" date="2017-04-04"> 2985 2986<change type="feature"> 2987<para lang="ru"> 2988параметр http_429 в директивах proxy_next_upstream, fastcgi_next_upstream, 2989scgi_next_upstream и uwsgi_next_upstream.<br/> 2990Спасибо Piotr Sikora. 2991</para> 2992<para lang="en"> 2993the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", 2994"scgi_next_upstream", and "uwsgi_next_upstream" directives.<br/> 2995Thanks to Piotr Sikora. 2996</para> 2997</change> 2998 2999<change type="bugfix"> 3000<para lang="ru"> 3001в обработке ошибок выделения памяти. 3002</para> 3003<para lang="en"> 3004in memory allocation error handling. 3005</para> 3006</change> 3007 3008<change type="bugfix"> 3009<para lang="ru"> 3010при использовании директив sendfile и timer_resolution на Linux 3011запросы могли зависать. 3012</para> 3013<para lang="en"> 3014requests might hang 3015when using the "sendfile" and "timer_resolution" directives on Linux. 3016</para> 3017</change> 3018 3019<change type="bugfix"> 3020<para lang="ru"> 3021при использовании с подзапросами директив sendfile и aio_write 3022запросы могли зависать. 3023</para> 3024<para lang="en"> 3025requests might hang 3026when using the "sendfile" and "aio_write" directives with subrequests. 3027</para> 3028</change> 3029 3030<change type="bugfix"> 3031<para lang="ru"> 3032в модуле ngx_http_v2_module.<br/> 3033Спасибо Piotr Sikora. 3034</para> 3035<para lang="en"> 3036in the ngx_http_v2_module.<br/> 3037Thanks to Piotr Sikora. 3038</para> 3039</change> 3040 3041<change type="bugfix"> 3042<para lang="ru"> 3043при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault. 3044</para> 3045<para lang="en"> 3046a segmentation fault might occur in a worker process when using HTTP/2. 3047</para> 3048</change> 3049 3050<change type="bugfix"> 3051<para lang="ru"> 3052запросы могли зависать 3053при использовании с подзапросами директив limit_rate, sendfile_max_chunk, 3054limit_req или метода $r->sleep() встроенного перла. 3055</para> 3056<para lang="en"> 3057requests might hang 3058when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives, 3059or the $r->sleep() embedded perl method with subrequests. 3060</para> 3061</change> 3062 3063<change type="bugfix"> 3064<para lang="ru"> 3065в модуле ngx_http_slice_module. 3066</para> 3067<para lang="en"> 3068in the ngx_http_slice_module. 3069</para> 3070</change> 3071 3072</changes> 3073 3074 3075<changes ver="1.11.12" date="2017-03-24"> 3076 3077<change type="bugfix"> 3078<para lang="ru"> 3079nginx мог нагружать процессор; 3080ошибка появилась в 1.11.11. 3081</para> 3082<para lang="en"> 3083nginx might hog CPU; 3084the bug had appeared in 1.11.11. 3085</para> 3086</change> 3087 3088</changes> 3089 3090 3091<changes ver="1.11.11" date="2017-03-21"> 3092 3093<change type="feature"> 3094<para lang="ru"> 3095директива worker_shutdown_timeout. 3096</para> 3097<para lang="en"> 3098the "worker_shutdown_timeout" directive. 3099</para> 3100</change> 3101 3102<change type="feature"> 3103<para lang="ru"> 3104улучшения в скриптах подсветки синтаксиса для vim.<br/> 3105Спасибо Wei-Ko Kao. 3106</para> 3107<para lang="en"> 3108vim syntax highlighting scripts improvements.<br/> 3109Thanks to Wei-Ko Kao. 3110</para> 3111</change> 3112 3113<change type="bugfix"> 3114<para lang="ru"> 3115при попытке установить переменную $limit_rate в пустую строку 3116в рабочем процессе мог произойти segmentation fault. 3117</para> 3118<para lang="en"> 3119a segmentation fault might occur in a worker process 3120if the $limit_rate variable was set to an empty string. 3121</para> 3122</change> 3123 3124<change type="bugfix"> 3125<para lang="ru"> 3126директивы proxy_cache_background_update, fastcgi_cache_background_update, 3127scgi_cache_background_update и uwsgi_cache_background_update 3128могли работать некорректно, если использовалась директива if. 3129</para> 3130<para lang="en"> 3131the "proxy_cache_background_update", "fastcgi_cache_background_update", 3132"scgi_cache_background_update", and "uwsgi_cache_background_update" directives 3133might work incorrectly if the "if" directive was used. 3134</para> 3135</change> 3136 3137<change type="bugfix"> 3138<para lang="ru"> 3139в рабочем процессе мог произойти segmentation fault, 3140если количество large_client_header_buffers в виртуальном сервере 3141отличалось от такового в сервере по умолчанию. 3142</para> 3143<para lang="en"> 3144a segmentation fault might occur in a worker process 3145if number of large_client_header_buffers in a virtual server 3146was different from the one in the default server. 3147</para> 3148</change> 3149 3150<change type="bugfix"> 3151<para lang="ru"> 3152в почтовом прокси-сервере. 3153</para> 3154<para lang="en"> 3155in the mail proxy server. 3156</para> 3157</change> 3158 3159</changes> 3160 3161 3162<changes ver="1.11.10" date="2017-02-14"> 3163 3164<change type="change"> 3165<para lang="ru"> 3166формат заголовка кэша был изменен, 3167ранее закэшированные ответы будут загружены заново. 3168</para> 3169<para lang="en"> 3170cache header format has been changed, 3171previously cached responses will be invalidated. 3172</para> 3173</change> 3174 3175<change type="feature"> 3176<para lang="ru"> 3177поддержка расширений stale-while-revalidate и stale-if-error 3178в строке "Cache-Control" в заголовке ответа бэкенда. 3179</para> 3180<para lang="en"> 3181support of "stale-while-revalidate" and "stale-if-error" extensions 3182in the "Cache-Control" backend response header line. 3183</para> 3184</change> 3185 3186<change type="feature"> 3187<para lang="ru"> 3188директивы proxy_cache_background_update, fastcgi_cache_background_update, 3189scgi_cache_background_update и uwsgi_cache_background_update. 3190</para> 3191<para lang="en"> 3192the "proxy_cache_background_update", "fastcgi_cache_background_update", 3193"scgi_cache_background_update", and "uwsgi_cache_background_update" directives. 3194</para> 3195</change> 3196 3197<change type="feature"> 3198<para lang="ru"> 3199теперь nginx может кэшировать ответы 3200со строкой Vary заголовка длиной до 128 символов 3201(вместо 42 символов в предыдущих версиях). 3202</para> 3203<para lang="en"> 3204nginx is now able to cache responses 3205with the "Vary" header line up to 128 characters long 3206(instead of 42 characters in previous versions). 3207</para> 3208</change> 3209 3210<change type="feature"> 3211<para lang="ru"> 3212параметр build директивы server_tokens.<br/> 3213Спасибо Tom Thorogood. 3214</para> 3215<para lang="en"> 3216the "build" parameter of the "server_tokens" directive.<br/> 3217Thanks to Tom Thorogood. 3218</para> 3219</change> 3220 3221<change type="bugfix"> 3222<para lang="ru"> 3223при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса 3224в логах могли появляться сообщения "[crit] SSL_write() failed". 3225</para> 3226<para lang="en"> 3227"[crit] SSL_write() failed" messages might appear in logs 3228when handling requests with the "Expect: 100-continue" request header line. 3229</para> 3230</change> 3231 3232<change type="bugfix"> 3233<para lang="ru"> 3234модуль ngx_http_slice_module не работал в именованных location'ах. 3235</para> 3236<para lang="en"> 3237the ngx_http_slice_module did not work in named locations. 3238</para> 3239</change> 3240 3241<change type="bugfix"> 3242<para lang="ru"> 3243при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect 3244в рабочем процессе мог произойти segmentation fault. 3245</para> 3246<para lang="en"> 3247a segmentation fault might occur in a worker process 3248when using AIO after an "X-Accel-Redirect" redirection. 3249</para> 3250</change> 3251 3252<change type="bugfix"> 3253<para lang="ru"> 3254уменьшено потребление памяти для долгоживущих запросов, использующих сжатие. 3255</para> 3256<para lang="en"> 3257reduced memory consumption for long-lived requests using gzipping. 3258</para> 3259</change> 3260 3261</changes> 3262 3263 3264<changes ver="1.11.9" date="2017-01-24"> 3265 3266<change type="bugfix"> 3267<para lang="ru"> 3268при использовании модуля stream nginx мог нагружать процессор; 3269ошибка появилась в 1.11.5. 3270</para> 3271<para lang="en"> 3272nginx might hog CPU when using the stream module; 3273the bug had appeared in 1.11.5. 3274</para> 3275</change> 3276 3277<change type="bugfix"> 3278<para lang="ru"> 3279метод аутентификации EXTERNAL в почтовом прокси-сервере 3280можно было использовать, даже если он не был разрешён в конфигурации. 3281</para> 3282<para lang="en"> 3283EXTERNAL authentication mechanism in mail proxy 3284was accepted even if it was not enabled in the configuration. 3285</para> 3286</change> 3287 3288<change type="bugfix"> 3289<para lang="ru"> 3290при использовании директивы ssl_verify_client модуля stream 3291в рабочем процессе мог произойти segmentation fault. 3292</para> 3293<para lang="en"> 3294a segmentation fault might occur in a worker process 3295if the "ssl_verify_client" directive of the stream module was used. 3296</para> 3297</change> 3298 3299<change type="bugfix"> 3300<para lang="ru"> 3301директива ssl_verify_client модуля stream могла не работать. 3302</para> 3303<para lang="en"> 3304the "ssl_verify_client" directive of the stream module might not work. 3305</para> 3306</change> 3307 3308<change type="bugfix"> 3309<para lang="ru"> 3310при исчерпании рабочим процессом свободных соединений 3311keepalive-соединения могли закрываться излишне агрессивно.<br/> 3312Спасибо Joel Cunningham. 3313</para> 3314<para lang="en"> 3315closing keepalive connections due to no free worker connections 3316might be too aggressive.<br/> 3317Thanks to Joel Cunningham. 3318</para> 3319</change> 3320 3321<change type="bugfix"> 3322<para lang="ru"> 3323при использовании директивы sendfile на FreeBSD и macOS 3324мог возвращаться некорректный ответ; 3325ошибка появилась в 1.7.8. 3326</para> 3327<para lang="en"> 3328an incorrect response might be returned 3329when using the "sendfile" directive on FreeBSD and macOS; 3330the bug had appeared in 1.7.8. 3331</para> 3332</change> 3333 3334<change type="bugfix"> 3335<para lang="ru"> 3336при использовании директивы aio_write 3337ответ мог сохраняться в кэш не полностью. 3338</para> 3339<para lang="en"> 3340a truncated response might be stored in cache 3341when using the "aio_write" directive. 3342</para> 3343</change> 3344 3345<change type="bugfix"> 3346<para lang="ru"> 3347при использовании директивы aio_write 3348могла происходить утечка сокетов. 3349</para> 3350<para lang="en"> 3351a socket leak might occur 3352when using the "aio_write" directive. 3353</para> 3354</change> 3355 3356</changes> 3357 3358 3359<changes ver="1.11.8" date="2016-12-27"> 3360 3361<change type="feature"> 3362<para lang="ru"> 3363директива absolute_redirect. 3364</para> 3365<para lang="en"> 3366the "absolute_redirect" directive. 3367</para> 3368</change> 3369 3370<change type="feature"> 3371<para lang="ru"> 3372параметр escape директивы log_format. 3373</para> 3374<para lang="en"> 3375the "escape" parameter of the "log_format" directive. 3376</para> 3377</change> 3378 3379<change type="feature"> 3380<para lang="ru"> 3381проверка клиентских SSL-сертификатов в модуле stream. 3382</para> 3383<para lang="en"> 3384client SSL certificates verification in the stream module. 3385</para> 3386</change> 3387 3388<change type="feature"> 3389<para lang="ru"> 3390директива ssl_session_ticket_key поддерживает 3391шифрование TLS session tickets с помощью AES256 3392при использовании с 80-байтными ключами. 3393</para> 3394<para lang="en"> 3395the "ssl_session_ticket_key" directive supports 3396AES256 encryption of TLS session tickets 3397when used with 80-byte keys. 3398</para> 3399</change> 3400 3401<change type="feature"> 3402<para lang="ru"> 3403поддержка vim-commentary в скриптах для vim.<br/> 3404Спасибо Armin Grodon. 3405</para> 3406<para lang="en"> 3407vim-commentary support in vim scripts.<br/> 3408Thanks to Armin Grodon. 3409</para> 3410</change> 3411 3412<change type="bugfix"> 3413<para lang="ru"> 3414рекурсия при получении значений переменных не ограничивалась. 3415</para> 3416<para lang="en"> 3417recursion when evaluating variables was not limited. 3418</para> 3419</change> 3420 3421<change type="bugfix"> 3422<para lang="ru"> 3423в модуле ngx_stream_ssl_preread_module. 3424</para> 3425<para lang="en"> 3426in the ngx_stream_ssl_preread_module. 3427</para> 3428</change> 3429 3430<change type="bugfix"> 3431<para lang="ru"> 3432если сервер, описанный в блоке upstream в модуле stream, 3433был признан неработающим, то после истечения fail_timeout он 3434признавался работающим только после завершения тестового соединения; 3435теперь достаточно, чтобы соединение было успешно установлено. 3436</para> 3437<para lang="en"> 3438if a server in an upstream in the stream module failed, 3439it was considered alive only when a test connection sent 3440to it after fail_timeout was closed; 3441now a successfully established connection is enough. 3442</para> 3443</change> 3444 3445<change type="bugfix"> 3446<para lang="ru"> 3447nginx/Windows не собирался с 64-битным Visual Studio. 3448</para> 3449<para lang="en"> 3450nginx/Windows could not be built with 64-bit Visual Studio. 3451</para> 3452</change> 3453 3454<change type="bugfix"> 3455<para lang="ru"> 3456nginx/Windows не собирался с OpenSSL 1.1.0. 3457</para> 3458<para lang="en"> 3459nginx/Windows could not be built with OpenSSL 1.1.0. 3460</para> 3461</change> 3462 3463</changes> 3464 3465 3466<changes ver="1.11.7" date="2016-12-13"> 3467 3468<change type="change"> 3469<para lang="ru"> 3470переменная $ssl_client_verify теперь 3471в случае ошибки проверки клиентского сертификата 3472содержит строку с описанием ошибки, 3473например, "FAILED:certificate has expired". 3474</para> 3475<para lang="en"> 3476now in case of a client certificate verification error 3477the $ssl_client_verify variable contains a string with the failure reason, 3478for example, "FAILED:certificate has expired". 3479</para> 3480</change> 3481 3482<change type="feature"> 3483<para lang="ru"> 3484переменные $ssl_ciphers, $ssl_curves, 3485$ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain. 3486</para> 3487<para lang="en"> 3488the $ssl_ciphers, $ssl_curves, 3489$ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables. 3490</para> 3491</change> 3492 3493<change type="feature"> 3494<para lang="ru"> 3495параметр volatile директивы map. 3496</para> 3497<para lang="en"> 3498the "volatile" parameter of the "map" directive. 3499</para> 3500</change> 3501 3502<change type="bugfix"> 3503<para lang="ru"> 3504при сборке динамических модулей 3505не учитывались заданные для модуля зависимости. 3506</para> 3507<para lang="en"> 3508dependencies specified for a module 3509were ignored while building dynamic modules. 3510</para> 3511</change> 3512 3513<change type="bugfix"> 3514<para lang="ru"> 3515при использовании HTTP/2 и директив limit_req или auth_request 3516тело запроса могло быть повреждено; 3517ошибка появилась в 1.11.0. 3518</para> 3519<para lang="en"> 3520when using HTTP/2 and the "limit_req" or "auth_request" directives 3521client request body might be corrupted; 3522the bug had appeared in 1.11.0. 3523</para> 3524</change> 3525 3526<change type="bugfix"> 3527<para lang="ru"> 3528при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault; 3529ошибка появилась в 1.11.3. 3530</para> 3531<para lang="en"> 3532a segmentation fault might occur in a worker process when using HTTP/2; 3533the bug had appeared in 1.11.3. 3534</para> 3535</change> 3536 3537<change type="bugfix"> 3538<para lang="ru"> 3539в модуле ngx_http_mp4_module.<br/> 3540Спасибо Congcong Hu. 3541</para> 3542<para lang="en"> 3543in the ngx_http_mp4_module.<br/> 3544Thanks to Congcong Hu. 3545</para> 3546</change> 3547 3548<change type="bugfix"> 3549<para lang="ru"> 3550в модуле ngx_http_perl_module. 3551</para> 3552<para lang="en"> 3553in the ngx_http_perl_module. 3554</para> 3555</change> 3556 3557</changes> 3558 3559 3560<changes ver="1.11.6" date="2016-11-15"> 3561 3562<change type="change"> 3563<para lang="ru"> 3564формат переменных $ssl_client_s_dn и $ssl_client_i_dn 3565изменён на соответствующий RFC 2253 (RFC 4514); 3566значения в старом формате доступны через переменные 3567$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy. 3568</para> 3569<para lang="en"> 3570format of the $ssl_client_s_dn and $ssl_client_i_dn variables 3571has been changed to follow RFC 2253 (RFC 4514); 3572values in the old format are available in 3573the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables. 3574</para> 3575</change> 3576 3577<change type="change"> 3578<para lang="ru"> 3579при сохранении временных файлов в каталоге кэша 3580они теперь располагаются не в отдельном подкаталоге для временных файлов, 3581а в том же подкаталоге, что и соответствующие файлы в кэше. 3582</para> 3583<para lang="en"> 3584when storing temporary files in a cache directory 3585they will be stored in the same subdirectories as corresponding cache files 3586instead of a separate subdirectory for temporary files. 3587</para> 3588</change> 3589 3590<change type="feature"> 3591<para lang="ru"> 3592поддержка метода аутентификации EXTERNAL 3593в почтовом прокси-сервере.<br/> 3594Спасибо Robert Norris. 3595</para> 3596<para lang="en"> 3597EXTERNAL authentication mechanism support 3598in mail proxy.<br/> 3599Thanks to Robert Norris. 3600</para> 3601</change> 3602 3603<change type="feature"> 3604<para lang="ru"> 3605поддержка WebP в модуле ngx_http_image_filter_module. 3606</para> 3607<para lang="en"> 3608WebP support in the ngx_http_image_filter_module. 3609</para> 3610</change> 3611 3612<change type="feature"> 3613<para lang="ru"> 3614директива proxy_method поддерживает переменные.<br/> 3615Спасибо Дмитрию Лазуркину. 3616</para> 3617<para lang="en"> 3618variables support in the "proxy_method" directive.<br/> 3619Thanks to Dmitry Lazurkin. 3620</para> 3621</change> 3622 3623<change type="feature"> 3624<para lang="ru"> 3625директива http2_max_requests в модуле ngx_http_v2_module. 3626</para> 3627<para lang="en"> 3628the "http2_max_requests" directive in the ngx_http_v2_module. 3629</para> 3630</change> 3631 3632<change type="feature"> 3633<para lang="ru"> 3634директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset, 3635scgi_cache_max_range_offset и uwsgi_cache_max_range_offset. 3636</para> 3637<para lang="en"> 3638the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset", 3639"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives. 3640</para> 3641</change> 3642 3643<change type="bugfix"> 3644<para lang="ru"> 3645плавное завершение старых рабочих процессов могло занимать бесконечное время 3646при использовании HTTP/2. 3647</para> 3648<para lang="en"> 3649graceful shutdown of old worker processes might require infinite time 3650when using HTTP/2. 3651</para> 3652</change> 3653 3654<change type="bugfix"> 3655<para lang="ru"> 3656в модуле ngx_http_mp4_module. 3657</para> 3658<para lang="en"> 3659in the ngx_http_mp4_module. 3660</para> 3661</change> 3662 3663<change type="bugfix"> 3664<para lang="ru"> 3665при проксировании WebSocket-соединений и включённом кэшировании 3666в логах могли появляться сообщения "ignore long locked inactive cache entry". 3667</para> 3668<para lang="en"> 3669"ignore long locked inactive cache entry" alerts might appear in logs 3670when proxying WebSocket connections with caching enabled. 3671</para> 3672</change> 3673 3674<change type="bugfix"> 3675<para lang="ru"> 3676если во время SSL handshake с бэкендом происходил таймаут, 3677nginx ничего не писал в лог 3678и возвращал ответ с кодом 502 вместо 504. 3679</para> 3680<para lang="en"> 3681nginx did not write anything to log 3682and returned a response with code 502 instead of 504 3683when a timeout occurred during an SSL handshake to a backend. 3684</para> 3685</change> 3686 3687</changes> 3688 3689 3690<changes ver="1.11.5" date="2016-10-11"> 3691 3692<change type="change"> 3693<para lang="ru"> 3694параметр configure --with-ipv6 упразднён, 3695поддержка IPv6 теперь собирается автоматически. 3696</para> 3697<para lang="en"> 3698the --with-ipv6 configure option was removed, 3699now IPv6 support is configured automatically. 3700</para> 3701</change> 3702 3703<change type="change"> 3704<para lang="ru"> 3705теперь, если в блоке upstream не оказалось доступных серверов, 3706nginx не сбрасывает статистику ошибок всех серверов, как делал ранее, 3707а ожидает истечения fail_timeout. 3708</para> 3709<para lang="en"> 3710now if there are no available servers in an upstream, 3711nginx will not reset number of failures of all servers as it previously did, 3712but will wait for fail_timeout to expire. 3713</para> 3714</change> 3715 3716<change type="feature"> 3717<para lang="ru"> 3718модуль ngx_stream_ssl_preread_module. 3719</para> 3720<para lang="en"> 3721the ngx_stream_ssl_preread_module. 3722</para> 3723</change> 3724 3725<change type="feature"> 3726<para lang="ru"> 3727директива server в блоке upstream поддерживает параметр max_conns. 3728</para> 3729<para lang="en"> 3730the "server" directive in the "upstream" context supports 3731the "max_conns" parameter. 3732</para> 3733</change> 3734 3735<change type="feature"> 3736<para lang="ru"> 3737параметр configure --with-compat. 3738</para> 3739<para lang="en"> 3740the --with-compat configure option. 3741</para> 3742</change> 3743 3744<change type="feature"> 3745<para lang="ru"> 3746параметры manager_files, manager_threshold и manager_sleep 3747директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и 3748uwsgi_cache_path. 3749</para> 3750<para lang="en"> 3751"manager_files", "manager_threshold", and "manager_sleep" parameters 3752of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and 3753"uwsgi_cache_path" directives. 3754</para> 3755</change> 3756 3757<change type="bugfix"> 3758<para lang="ru"> 3759при сборке perl-модуля не использовались флаги, 3760заданные с помощью параметра configure --with-ld-opt. 3761</para> 3762<para lang="en"> 3763flags passed by the --with-ld-opt configure option 3764were not used while building perl module. 3765</para> 3766</change> 3767 3768<change type="bugfix"> 3769<para lang="ru"> 3770в директиве add_after_body при использовании совместно с директивой sub_filter. 3771</para> 3772<para lang="en"> 3773in the "add_after_body" directive when used with the "sub_filter" directive. 3774</para> 3775</change> 3776 3777<change type="bugfix"> 3778<para lang="ru"> 3779в переменной $realip_remote_addr. 3780</para> 3781<para lang="en"> 3782in the $realip_remote_addr variable. 3783</para> 3784</change> 3785 3786<change type="bugfix"> 3787<para lang="ru"> 3788директивы dav_access, proxy_store_access, fastcgi_store_access, 3789scgi_store_access и uwsgi_store_access 3790игнорировали права, заданные для пользователя. 3791</para> 3792<para lang="en"> 3793the "dav_access", "proxy_store_access", "fastcgi_store_access", 3794"scgi_store_access", and "uwsgi_store_access" directives 3795ignored permissions specified for user. 3796</para> 3797</change> 3798 3799<change type="bugfix"> 3800<para lang="ru"> 3801unix domain listen-сокеты могли не наследоваться 3802при обновлении исполняемого файла на Linux. 3803</para> 3804<para lang="en"> 3805unix domain listen sockets might not be inherited 3806during binary upgrade on Linux. 3807</para> 3808</change> 3809 3810<change type="bugfix"> 3811<para lang="ru"> 3812nginx возвращал ошибку 400 на запросы 3813с символом "-" в HTTP-методе. 3814</para> 3815<para lang="en"> 3816nginx returned the 400 response on requests 3817with the "-" character in the HTTP method. 3818</para> 3819</change> 3820 3821</changes> 3822 3823 3824<changes ver="1.11.4" date="2016-09-13"> 3825 3826<change type="feature"> 3827<para lang="ru"> 3828переменная $upstream_bytes_received. 3829</para> 3830<para lang="en"> 3831the $upstream_bytes_received variable. 3832</para> 3833</change> 3834 3835<change type="feature"> 3836<para lang="ru"> 3837переменные $bytes_received, $session_time, $protocol, $status, 3838$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, 3839$upstream_connect_time, $upstream_first_byte_time 3840и $upstream_session_time в модуле stream. 3841</para> 3842<para lang="en"> 3843the $bytes_received, $session_time, $protocol, $status, 3844$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, 3845$upstream_connect_time, $upstream_first_byte_time, 3846and $upstream_session_time variables in the stream module. 3847</para> 3848</change> 3849 3850<change type="feature"> 3851<para lang="ru"> 3852модуль ngx_stream_log_module. 3853</para> 3854<para lang="en"> 3855the ngx_stream_log_module. 3856</para> 3857</change> 3858 3859<change type="feature"> 3860<para lang="ru"> 3861параметр proxy_protocol в директиве listen, 3862переменные $proxy_protocol_addr и $proxy_protocol_port 3863в модуле stream. 3864</para> 3865<para lang="en"> 3866the "proxy_protocol" parameter of the "listen" directive, 3867the $proxy_protocol_addr and $proxy_protocol_port variables 3868in the stream module. 3869</para> 3870</change> 3871 3872<change type="feature"> 3873<para lang="ru"> 3874модуль ngx_stream_realip_module. 3875</para> 3876<para lang="en"> 3877the ngx_stream_realip_module. 3878</para> 3879</change> 3880 3881<change type="bugfix"> 3882<para lang="ru"> 3883nginx не собирался с модулем stream и модулем ngx_http_ssl_module, 3884но без модуля ngx_stream_ssl_module; 3885ошибка появилась в 1.11.3. 3886</para> 3887<para lang="en"> 3888nginx could not be built with the stream module and the ngx_http_ssl_module, 3889but without ngx_stream_ssl_module; 3890the bug had appeared in 1.11.3. 3891</para> 3892</change> 3893 3894<change type="feature"> 3895<para lang="ru"> 3896опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась; 3897ошибка появилась в 1.11.2. 3898</para> 3899<para lang="en"> 3900the IP_BIND_ADDRESS_NO_PORT socket option was not used; 3901the bug had appeared in 1.11.2. 3902</para> 3903</change> 3904 3905<change type="bugfix"> 3906<para lang="ru"> 3907в параметре ranges директивы geo. 3908</para> 3909<para lang="en"> 3910in the "ranges" parameter of the "geo" directive. 3911</para> 3912</change> 3913 3914<change type="bugfix"> 3915<para lang="ru"> 3916при использовании директив "aio threads" и sendfile 3917мог возвращаться некорректный ответ; ошибка появилась в 1.9.13. 3918</para> 3919<para lang="en"> 3920an incorrect response might be returned 3921when using the "aio threads" and "sendfile" directives; 3922the bug had appeared in 1.9.13. 3923</para> 3924</change> 3925 3926</changes> 3927 3928 3929<changes ver="1.11.3" date="2016-07-26"> 3930 3931<change type="change"> 3932<para lang="ru"> 3933теперь accept_mutex по умолчанию выключен. 3934</para> 3935<para lang="en"> 3936now the "accept_mutex" directive is turned off by default. 3937</para> 3938</change> 3939 3940<change type="feature"> 3941<para lang="ru"> 3942теперь nginx использует EPOLLEXCLUSIVE на Linux. 3943</para> 3944<para lang="en"> 3945now nginx uses EPOLLEXCLUSIVE on Linux. 3946</para> 3947</change> 3948 3949<change type="feature"> 3950<para lang="ru"> 3951модуль ngx_stream_geo_module. 3952</para> 3953<para lang="en"> 3954the ngx_stream_geo_module. 3955</para> 3956</change> 3957 3958<change type="feature"> 3959<para lang="ru"> 3960модуль ngx_stream_geoip_module. 3961</para> 3962<para lang="en"> 3963the ngx_stream_geoip_module. 3964</para> 3965</change> 3966 3967<change type="feature"> 3968<para lang="ru"> 3969модуль ngx_stream_split_clients_module. 3970</para> 3971<para lang="en"> 3972the ngx_stream_split_clients_module. 3973</para> 3974</change> 3975 3976<change type="feature"> 3977<para lang="ru"> 3978директивы proxy_pass и proxy_ssl_name в модуле stream 3979поддерживают переменные. 3980</para> 3981<para lang="en"> 3982variables support 3983in the "proxy_pass" and "proxy_ssl_name" directives in the stream module. 3984</para> 3985</change> 3986 3987<change type="bugfix"> 3988<para lang="ru"> 3989утечки сокетов при использовании HTTP/2. 3990</para> 3991<para lang="en"> 3992socket leak when using HTTP/2. 3993</para> 3994</change> 3995 3996<change type="bugfix"> 3997<para lang="ru"> 3998в configure.<br/> 3999Спасибо Piotr Sikora. 4000</para> 4001<para lang="en"> 4002in configure tests.<br/> 4003Thanks to Piotr Sikora. 4004</para> 4005</change> 4006 4007</changes> 4008 4009 4010<changes ver="1.11.2" date="2016-07-05"> 4011 4012<change type="change"> 4013<para lang="ru"> 4014теперь nginx всегда использует внутренние реализации MD5 и SHA1; 4015параметры configure --with-md5 и --with-sha1 упразднены. 4016</para> 4017<para lang="en"> 4018now nginx always uses internal MD5 and SHA1 implementations; 4019the --with-md5 and --with-sha1 configure options were canceled. 4020</para> 4021</change> 4022 4023<change type="feature"> 4024<para lang="ru"> 4025поддержка переменных в модуле stream. 4026</para> 4027<para lang="en"> 4028variables support in the stream module. 4029</para> 4030</change> 4031 4032<change type="feature"> 4033<para lang="ru"> 4034модуль ngx_stream_map_module. 4035</para> 4036<para lang="en"> 4037the ngx_stream_map_module. 4038</para> 4039</change> 4040 4041<change type="feature"> 4042<para lang="ru"> 4043модуль ngx_stream_return_module. 4044</para> 4045<para lang="en"> 4046the ngx_stream_return_module. 4047</para> 4048</change> 4049 4050<change type="feature"> 4051<para lang="ru"> 4052в директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 4053теперь можно указывать порт. 4054</para> 4055<para lang="en"> 4056a port can be specified in the "proxy_bind", "fastcgi_bind", 4057"memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 4058</para> 4059</change> 4060 4061<change type="feature"> 4062<para lang="ru"> 4063теперь nginx использует опцию сокета IP_BIND_ADDRESS_NO_PORT, если она доступна. 4064</para> 4065<para lang="en"> 4066now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available. 4067</para> 4068</change> 4069 4070<change type="bugfix"> 4071<para lang="ru"> 4072при использовании HTTP/2 и директивы proxy_request_buffering 4073в рабочем процессе мог произойти segmentation fault. 4074</para> 4075<para lang="en"> 4076a segmentation fault might occur in a worker process 4077when using HTTP/2 and the "proxy_request_buffering" directive. 4078</para> 4079</change> 4080 4081<change type="bugfix"> 4082<para lang="ru"> 4083при использовании HTTP/2 4084к запросам, передаваемым на бэкенд, 4085всегда добавлялась строка заголовка "Content-Length", 4086даже если у запроса не было тела. 4087</para> 4088<para lang="en"> 4089the "Content-Length" request header line 4090was always added to requests passed to backends, 4091including requests without body, 4092when using HTTP/2. 4093</para> 4094</change> 4095 4096<change type="bugfix"> 4097<para lang="ru"> 4098при использовании HTTP/2 4099в логах могли появляться сообщения "http request count is zero". 4100</para> 4101<para lang="en"> 4102"http request count is zero" alerts might appear in logs 4103when using HTTP/2. 4104</para> 4105</change> 4106 4107<change type="bugfix"> 4108<para lang="ru"> 4109при использовании директивы sub_filter 4110могло буферизироваться больше данных, чем это необходимо; 4111проблема появилась в 1.9.4. 4112</para> 4113<para lang="en"> 4114unnecessary buffering might occur 4115when using the "sub_filter" directive; 4116the issue had appeared in 1.9.4. 4117</para> 4118</change> 4119 4120</changes> 4121 4122 4123<changes ver="1.11.1" date="2016-05-31"> 4124 4125<change type="security"> 4126<para lang="ru"> 4127при записи тела специально созданного запроса во временный файл 4128в рабочем процессе мог происходить segmentation fault 4129(CVE-2016-4450); 4130ошибка появилась в 1.3.9. 4131</para> 4132<para lang="en"> 4133a segmentation fault might occur in a worker process 4134while writing a specially crafted request body to a temporary file 4135(CVE-2016-4450); 4136the bug had appeared in 1.3.9. 4137</para> 4138</change> 4139 4140</changes> 4141 4142 4143<changes ver="1.11.0" date="2016-05-24"> 4144 4145<change type="feature"> 4146<para lang="ru"> 4147параметр transparent директив proxy_bind, fastcgi_bind, 4148memcached_bind, scgi_bind и uwsgi_bind. 4149</para> 4150<para lang="en"> 4151the "transparent" parameter of the "proxy_bind", "fastcgi_bind", 4152"memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 4153</para> 4154</change> 4155 4156<change type="feature"> 4157<para lang="ru"> 4158переменная $request_id. 4159</para> 4160<para lang="en"> 4161the $request_id variable. 4162</para> 4163</change> 4164 4165<change type="feature"> 4166<para lang="ru"> 4167директива map поддерживает комбинации нескольких переменных 4168в качестве результирующих значений. 4169</para> 4170<para lang="en"> 4171the "map" directive supports combinations of multiple variables 4172as resulting values. 4173</para> 4174</change> 4175 4176<change type="feature"> 4177<para lang="ru"> 4178теперь при использовании метода epoll 4179nginx проверяет, поддерживает ли ядро события EPOLLRDHUP, 4180и соответственно оптимизирует обработку соединений. 4181</para> 4182<para lang="en"> 4183now nginx checks if EPOLLRDHUP events are supported by kernel, 4184and optimizes connection handling accordingly 4185if the "epoll" method is used. 4186</para> 4187</change> 4188 4189<change type="feature"> 4190<para lang="ru"> 4191директивы ssl_certificate и ssl_certificate_key 4192теперь можно указывать несколько раз 4193для загрузки сертификатов разных типов (например, RSA и ECDSA). 4194</para> 4195<para lang="en"> 4196the "ssl_certificate" and "ssl_certificate_key" directives 4197can be specified multiple times 4198to load certificates of different types (for example, RSA and ECDSA). 4199</para> 4200</change> 4201 4202<change type="feature"> 4203<para lang="ru"> 4204при использовании OpenSSL 1.0.2 и новее 4205с помощью директивы ssl_ecdh_curve теперь можно задать список кривых; 4206по умолчанию используется встроенный в OpenSSL список кривых. 4207</para> 4208<para lang="en"> 4209the "ssl_ecdh_curve" directive now allows specifying a list of curves 4210when using OpenSSL 1.0.2 or newer; 4211by default a list built into OpenSSL is used. 4212</para> 4213</change> 4214 4215<change type="change"> 4216<para lang="ru"> 4217для использования DHE-шифров теперь надо явно задавать файл параметров 4218с помощью директивы ssl_dhparam. 4219</para> 4220<para lang="en"> 4221to use DHE ciphers it is now required to specify parameters 4222using the "ssl_dhparam" directive. 4223</para> 4224</change> 4225 4226<change type="feature"> 4227<para lang="ru"> 4228переменная $proxy_protocol_port. 4229</para> 4230<para lang="en"> 4231the $proxy_protocol_port variable. 4232</para> 4233</change> 4234 4235<change type="feature"> 4236<para lang="ru"> 4237переменная $realip_remote_port в модуле ngx_http_realip_module. 4238</para> 4239<para lang="en"> 4240the $realip_remote_port variable in the ngx_http_realip_module. 4241</para> 4242</change> 4243 4244<change type="feature"> 4245<para lang="ru"> 4246модуль ngx_http_realip_module теперь позволяет устанавливать 4247не только адрес, но и порт клиента. 4248</para> 4249<para lang="en"> 4250the ngx_http_realip_module is now able to set the client port 4251in addition to the address. 4252</para> 4253</change> 4254 4255<change type="change"> 4256<para lang="ru"> 4257при попытке запросить виртуальный сервер, 4258отличающийся от согласованного в процессе SSL handshake, 4259теперь возвращается ответ "421 Misdirected Request"; 4260это улучшает совместимость с некоторыми HTTP/2-клиентами 4261в случае использования клиентских сертификатов. 4262</para> 4263<para lang="en"> 4264the "421 Misdirected Request" response now used 4265when rejecting requests to a virtual server 4266different from one negotiated during an SSL handshake; 4267this improves interoperability with some HTTP/2 clients 4268when using client certificates. 4269</para> 4270</change> 4271 4272<change type="change"> 4273<para lang="ru"> 4274HTTP/2-клиенты теперь могут сразу присылать тело запроса; 4275директива http2_body_preread_size позволяет указать размер буфера, который 4276будет использоваться до того, как nginx начнёт читать тело. 4277</para> 4278<para lang="en"> 4279HTTP/2 clients can now start sending request body immediately; 4280the "http2_body_preread_size" directive controls size of the buffer used 4281before nginx will start reading client request body. 4282</para> 4283</change> 4284 4285<change type="bugfix"> 4286<para lang="ru"> 4287при использовании директивы proxy_cache_bypass 4288не обновлялись закэшированные ошибочные ответы. 4289</para> 4290<para lang="en"> 4291cached error responses were not updated 4292when using the "proxy_cache_bypass" directive. 4293</para> 4294</change> 4295 4296</changes> 4297 4298 4299<changes ver="1.9.15" date="2016-04-19"> 4300 4301<change type="bugfix"> 4302<para lang="ru"> 4303при использовании HHVM в качестве FastCGI-сервера 4304могли возникать ошибки "recv() failed". 4305</para> 4306<para lang="en"> 4307"recv() failed" errors might occur 4308when using HHVM as a FastCGI server. 4309</para> 4310</change> 4311 4312<change type="bugfix"> 4313<para lang="ru"> 4314при использовании HTTP/2 и директив limit_req или auth_request 4315при чтении тела запроса мог произойти таймаут 4316или ошибка "client violated flow control"; 4317ошибка появилась в 1.9.14. 4318</para> 4319<para lang="en"> 4320when using HTTP/2 and the "limit_req" or "auth_request" directives 4321a timeout or a "client violated flow control" error 4322might occur while reading client request body; 4323the bug had appeared in 1.9.14. 4324</para> 4325</change> 4326 4327<change type="workaround"> 4328<para lang="ru"> 4329при использовании HTTP/2 ответ мог не показываться некоторыми браузерами, 4330если тело запроса было прочитано не целиком; 4331ошибка появилась в 1.9.14. 4332</para> 4333<para lang="en"> 4334a response might not be shown by some browsers 4335if HTTP/2 was used and client request body was not fully read; 4336the bug had appeared in 1.9.14. 4337</para> 4338</change> 4339 4340<change type="bugfix"> 4341<para lang="ru"> 4342при использовании директивы "aio threads" соединения могли зависать.<br/> 4343Спасибо Mindaugas Rasiukevicius. 4344</para> 4345<para lang="en"> 4346connections might hang when using the "aio threads" directive.<br/> 4347Thanks to Mindaugas Rasiukevicius. 4348</para> 4349</change> 4350 4351</changes> 4352 4353 4354<changes ver="1.9.14" date="2016-04-05"> 4355 4356<change type="feature"> 4357<para lang="ru"> 4358совместимость с OpenSSL 1.1.0. 4359</para> 4360<para lang="en"> 4361OpenSSL 1.1.0 compatibility. 4362</para> 4363</change> 4364 4365<change type="feature"> 4366<para lang="ru"> 4367директивы proxy_request_buffering, fastcgi_request_buffering, 4368scgi_request_buffering и uwsgi_request_buffering 4369теперь работают при использовании HTTP/2. 4370</para> 4371<para lang="en"> 4372the "proxy_request_buffering", "fastcgi_request_buffering", 4373"scgi_request_buffering", and "uwsgi_request_buffering" directives 4374now work with HTTP/2. 4375</para> 4376</change> 4377 4378<change type="bugfix"> 4379<para lang="ru"> 4380при использовании HTTP/2 4381в логах могли появляться сообщения "zero size buf in output". 4382</para> 4383<para lang="en"> 4384"zero size buf in output" alerts might appear in logs 4385when using HTTP/2. 4386</para> 4387</change> 4388 4389<change type="bugfix"> 4390<para lang="ru"> 4391при использовании HTTP/2 4392директива client_max_body_size могла работать неверно. 4393</para> 4394<para lang="en"> 4395the "client_max_body_size" directive might work incorrectly 4396when using HTTP/2. 4397</para> 4398</change> 4399 4400<change type="bugfix"> 4401<para lang="ru"> 4402незначительных ошибок логгирования. 4403</para> 4404<para lang="en"> 4405of minor bugs in logging. 4406</para> 4407</change> 4408 4409</changes> 4410 4411 4412<changes ver="1.9.13" date="2016-03-29"> 4413 4414<change type="change"> 4415<para lang="ru"> 4416неидемпотентные запросы (POST, LOCK, PATCH) 4417теперь по умолчанию не передаются на другой сервер, 4418если запрос уже был отправлен на бэкенд; 4419параметр non_idempotent директивы proxy_next_upstream 4420явно разрешает повторять такие запросы. 4421</para> 4422<para lang="en"> 4423non-idempotent requests (POST, LOCK, PATCH) 4424are no longer passed to the next server by default 4425if a request has been sent to a backend; 4426the "non_idempotent" parameter of the "proxy_next_upstream" directive 4427explicitly allows retrying such requests. 4428</para> 4429</change> 4430 4431<change type="feature"> 4432<para lang="ru"> 4433модуль ngx_http_perl_module теперь можно собрать динамически. 4434</para> 4435<para lang="en"> 4436the ngx_http_perl_module can be built dynamically. 4437</para> 4438</change> 4439 4440<change type="feature"> 4441<para lang="ru"> 4442поддержка UDP в модуле stream. 4443</para> 4444<para lang="en"> 4445UDP support in the stream module. 4446</para> 4447</change> 4448 4449<change type="feature"> 4450<para lang="ru"> 4451директива aio_write. 4452</para> 4453<para lang="en"> 4454the "aio_write" directive. 4455</para> 4456</change> 4457 4458<change type="feature"> 4459<para lang="ru"> 4460теперь cache manager следит за количеством элементов в кэше 4461и старается не допускать переполнений зоны разделяемой памяти. 4462</para> 4463<para lang="en"> 4464now cache manager monitors number of elements in caches 4465and tries to avoid cache keys zone overflows. 4466</para> 4467</change> 4468 4469<change type="bugfix"> 4470<para lang="ru"> 4471при использовании директив sendfile и aio с подзапросами 4472в логах могли появляться сообщения "task already active" и "second aio post". 4473</para> 4474<para lang="en"> 4475"task already active" and "second aio post" alerts might appear in logs 4476when using the "sendfile" and "aio" directives with subrequests. 4477</para> 4478</change> 4479 4480<change type="bugfix"> 4481<para lang="ru"> 4482при использовании кэширования 4483в логах могли появляться сообщения "zero size buf in output", 4484если клиент закрывал соединение преждевременно. 4485</para> 4486<para lang="en"> 4487"zero size buf in output" alerts might appear in logs 4488if caching was used 4489and a client closed a connection prematurely. 4490</para> 4491</change> 4492 4493<change type="bugfix"> 4494<para lang="ru"> 4495при использовании кэширования 4496соединения с клиентами могли закрываться без необходимости.<br/> 4497Спасибо Justin Li. 4498</para> 4499<para lang="en"> 4500connections with clients might be closed needlessly 4501if caching was used.<br/> 4502Thanks to Justin Li. 4503</para> 4504</change> 4505 4506<change type="bugfix"> 4507<para lang="ru"> 4508nginx мог нагружать процессор 4509при использовании директивы sendfile на Linux и Solaris, 4510если отправляемый файл был изменён в процессе отправки. 4511</para> 4512<para lang="en"> 4513nginx might hog CPU 4514if the "sendfile" directive was used on Linux or Solaris 4515and a file being sent was changed during sending. 4516</para> 4517</change> 4518 4519<change type="bugfix"> 4520<para lang="ru"> 4521при использовании директив sendfile и "aio threads" 4522соединения могли зависать. 4523</para> 4524<para lang="en"> 4525connections might hang 4526when using the "sendfile" and "aio threads" directives. 4527</para> 4528</change> 4529 4530<change type="bugfix"> 4531<para lang="ru"> 4532в директивах proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass 4533при использовании переменных.<br/> 4534Спасибо Piotr Sikora. 4535</para> 4536<para lang="en"> 4537in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives 4538when using variables.<br/> 4539Thanks to Piotr Sikora. 4540</para> 4541</change> 4542 4543<change type="bugfix"> 4544<para lang="ru"> 4545в модуле ngx_http_sub_filter_module. 4546</para> 4547<para lang="en"> 4548in the ngx_http_sub_filter_module. 4549</para> 4550</change> 4551 4552<change type="bugfix"> 4553<para lang="ru"> 4554если в закэшированном соединении к бэкенду происходила ошибка, 4555запрос передавался на другой сервер 4556без учёта директивы proxy_next_upstream. 4557</para> 4558<para lang="en"> 4559if an error occurred in a cached backend connection, 4560the request was passed to the next server 4561regardless of the proxy_next_upstream directive. 4562</para> 4563</change> 4564 4565<change type="bugfix"> 4566<para lang="ru"> 4567ошибки "CreateFile() failed" при создании временных файлов на Windows. 4568</para> 4569<para lang="en"> 4570"CreateFile() failed" errors when creating temporary files on Windows. 4571</para> 4572</change> 4573 4574</changes> 4575 4576 4577<changes ver="1.9.12" date="2016-02-24"> 4578 4579<change type="feature"> 4580<para lang="ru"> 4581кодирование Хаффмана заголовков ответов в HTTP/2.<br/> 4582Спасибо Владу Краснову. 4583</para> 4584<para lang="en"> 4585Huffman encoding of response headers in HTTP/2.<br/> 4586Thanks to Vlad Krasnov. 4587</para> 4588</change> 4589 4590<change type="feature"> 4591<para lang="ru"> 4592директива worker_cpu_affinity теперь поддерживает более 64 процессоров. 4593</para> 4594<para lang="en"> 4595the "worker_cpu_affinity" directive now supports more than 64 CPUs. 4596</para> 4597</change> 4598 4599<change type="bugfix"> 4600<para lang="ru"> 4601совместимость со сторонними модулями на C++; 4602ошибка появилась в 1.9.11.<br/> 4603Спасибо Piotr Sikora. 4604</para> 4605<para lang="en"> 4606compatibility with 3rd party C++ modules; 4607the bug had appeared in 1.9.11.<br/> 4608Thanks to Piotr Sikora. 4609</para> 4610</change> 4611 4612<change type="bugfix"> 4613<para lang="ru"> 4614nginx не собирался статически с OpenSSL на Linux; 4615ошибка появилась в 1.9.11. 4616</para> 4617<para lang="en"> 4618nginx could not be built statically with OpenSSL on Linux; 4619the bug had appeared in 1.9.11. 4620</para> 4621</change> 4622 4623<change type="bugfix"> 4624<para lang="ru"> 4625директива "add_header ... always" с пустым значением 4626не удаляла из заголовков ошибочных ответов 4627строки Last-Modified и ETag. 4628</para> 4629<para lang="en"> 4630the "add_header ... always" directive with an empty value 4631did not delete "Last-Modified" and "ETag" header lines 4632from error responses. 4633</para> 4634</change> 4635 4636<change type="workaround"> 4637<para lang="ru"> 4638при использовании OpenSSL 1.0.2f в логах могли появляться 4639сообщения "called a function you should not call" и 4640"shutdown while in init". 4641</para> 4642<para lang="en"> 4643"called a function you should not call" 4644and "shutdown while in init" messages might appear in logs 4645when using OpenSSL 1.0.2f. 4646</para> 4647</change> 4648 4649<change type="bugfix"> 4650<para lang="ru"> 4651ошибочные заголовки могли логгироваться некорректно. 4652</para> 4653<para lang="en"> 4654invalid headers might be logged incorrectly. 4655</para> 4656</change> 4657 4658<change type="bugfix"> 4659<para lang="ru"> 4660утечки сокетов при использовании HTTP/2. 4661</para> 4662<para lang="en"> 4663socket leak when using HTTP/2. 4664</para> 4665</change> 4666 4667<change type="bugfix"> 4668<para lang="ru"> 4669в модуле ngx_http_v2_module. 4670</para> 4671<para lang="en"> 4672in the ngx_http_v2_module. 4673</para> 4674</change> 4675 4676</changes> 4677 4678 4679<changes ver="1.9.11" date="2016-02-09"> 4680 4681<change type="feature"> 4682<para lang="ru"> 4683теперь resolver поддерживает TCP. 4684</para> 4685<para lang="en"> 4686TCP support in resolver. 4687</para> 4688</change> 4689 4690<change type="feature"> 4691<para lang="ru"> 4692динамические модули. 4693</para> 4694<para lang="en"> 4695dynamic modules. 4696</para> 4697</change> 4698 4699<change type="bugfix"> 4700<para lang="ru"> 4701при использовании HTTP/2 4702переменная $request_length не учитывала размер заголовков запроса. 4703</para> 4704<para lang="en"> 4705the $request_length variable did not include size of request headers 4706when using HTTP/2. 4707</para> 4708</change> 4709 4710<change type="bugfix"> 4711<para lang="ru"> 4712в модуле ngx_http_v2_module. 4713</para> 4714<para lang="en"> 4715in the ngx_http_v2_module. 4716</para> 4717</change> 4718 4719</changes> 4720 4721 4722<changes ver="1.9.10" date="2016-01-26"> 4723 4724<change type="security"> 4725<para lang="ru"> 4726при использовании директивы resolver 4727во время обработки ответов DNS-сервера 4728могло происходить разыменование некорректного адреса, 4729что позволяло атакующему, 4730имеющему возможность подделывать UDP-пакеты от DNS-сервера, 4731вызвать segmentation fault в рабочем процессе (CVE-2016-0742). 4732</para> 4733<para lang="en"> 4734invalid pointer dereference might occur 4735during DNS server response processing 4736if the "resolver" directive was used, 4737allowing an attacker who is able to forge UDP packets from the DNS server 4738to cause segmentation fault in a worker process (CVE-2016-0742). 4739</para> 4740</change> 4741 4742<change type="security"> 4743<para lang="ru"> 4744при использовании директивы resolver 4745во время обработки CNAME-записей 4746могло произойти обращение к ранее освобождённой памяти, 4747что позволяло атакующему, 4748имеющему возможность инициировать преобразование произвольных имён в адреса, 4749вызвать segmentation fault в рабочем процессе, 4750а также потенциально могло иметь другие последствия (CVE-2016-0746). 4751</para> 4752<para lang="en"> 4753use-after-free condition might occur 4754during CNAME response processing 4755if the "resolver" directive was used, 4756allowing an attacker who is able to trigger name resolution 4757to cause segmentation fault in a worker process, 4758or might have potential other impact (CVE-2016-0746). 4759</para> 4760</change> 4761 4762<change type="security"> 4763<para lang="ru"> 4764при использовании директивы resolver 4765во время обработки CNAME-записей 4766не во всех случаях проверялось ограничение 4767на максимальное количество записей в цепочке, 4768что позволяло атакующему, 4769имеющему возможность инициировать преобразование произвольных имён в адреса, 4770вызвать чрезмерное потребление ресурсов рабочими процессами (CVE-2016-0747). 4771</para> 4772<para lang="en"> 4773CNAME resolution was insufficiently limited 4774if the "resolver" directive was used, 4775allowing an attacker who is able to trigger arbitrary name resolution 4776to cause excessive resource consumption in worker processes (CVE-2016-0747). 4777</para> 4778</change> 4779 4780<change type="feature"> 4781<para lang="ru"> 4782параметр auto директивы worker_cpu_affinity. 4783</para> 4784<para lang="en"> 4785the "auto" parameter of the "worker_cpu_affinity" directive. 4786</para> 4787</change> 4788 4789<change type="bugfix"> 4790<para lang="ru"> 4791параметр proxy_protocol директивы listen не работал 4792с IPv6 listen-сокетами. 4793</para> 4794<para lang="en"> 4795the "proxy_protocol" parameter of the "listen" directive did not work 4796with IPv6 listen sockets. 4797</para> 4798</change> 4799 4800<change type="bugfix"> 4801<para lang="ru"> 4802при использовании директивы keepalive 4803соединения к бэкендам могли кэшироваться некорректно. 4804</para> 4805<para lang="en"> 4806connections to upstream servers might be cached incorrectly 4807when using the "keepalive" directive. 4808</para> 4809</change> 4810 4811<change type="bugfix"> 4812<para lang="ru"> 4813после перенаправления запроса с помощью X-Accel-Redirect 4814при проксировании использовался HTTP-метод оригинального запроса. 4815</para> 4816<para lang="en"> 4817proxying used the HTTP method of the original request 4818after an "X-Accel-Redirect" redirection. 4819</para> 4820</change> 4821 4822</changes> 4823 4824 4825<changes ver="1.9.9" date="2015-12-09"> 4826 4827<change type="bugfix"> 4828<para lang="ru"> 4829проксирование в unix domain сокеты не работало при использовании переменных; 4830ошибка появилась в 1.9.8. 4831</para> 4832<para lang="en"> 4833proxying to unix domain sockets did not work when using variables; 4834the bug had appeared in 1.9.8. 4835</para> 4836</change> 4837 4838</changes> 4839 4840 4841<changes ver="1.9.8" date="2015-12-08"> 4842 4843<change type="feature"> 4844<para lang="ru"> 4845поддержка pwritev(). 4846</para> 4847<para lang="en"> 4848pwritev() support. 4849</para> 4850</change> 4851 4852<change type="feature"> 4853<para lang="ru"> 4854директива include в блоке upstream. 4855</para> 4856<para lang="en"> 4857the "include" directive inside the "upstream" block. 4858</para> 4859</change> 4860 4861<change type="feature"> 4862<para lang="ru"> 4863модуль ngx_http_slice_module. 4864</para> 4865<para lang="en"> 4866the ngx_http_slice_module. 4867</para> 4868</change> 4869 4870<change type="bugfix"> 4871<para lang="ru"> 4872при использовании LibreSSL 4873в рабочем процессе мог произойти segmentation fault; 4874ошибка появилась в 1.9.6. 4875</para> 4876<para lang="en"> 4877a segmentation fault might occur in a worker process 4878when using LibreSSL; 4879the bug had appeared in 1.9.6. 4880</para> 4881</change> 4882 4883<change type="bugfix"> 4884<para lang="ru"> 4885nginx мог не собираться на OS X. 4886</para> 4887<para lang="en"> 4888nginx could not be built on OS X in some cases. 4889</para> 4890</change> 4891 4892</changes> 4893 4894 4895<changes ver="1.9.7" date="2015-11-17"> 4896 4897<change type="feature"> 4898<para lang="ru"> 4899параметр nohostname логгирования в syslog. 4900</para> 4901<para lang="en"> 4902the "nohostname" parameter of logging to syslog. 4903</para> 4904</change> 4905 4906<change type="feature"> 4907<para lang="ru"> 4908директива proxy_cache_convert_head. 4909</para> 4910<para lang="en"> 4911the "proxy_cache_convert_head" directive. 4912</para> 4913</change> 4914 4915<change type="feature"> 4916<para lang="ru"> 4917переменная $realip_remote_addr в модуле ngx_http_realip_module. 4918</para> 4919<para lang="en"> 4920the $realip_remote_addr variable in the ngx_http_realip_module. 4921</para> 4922</change> 4923 4924<change type="bugfix"> 4925<para lang="ru"> 4926директива expires могла не срабатывать при использовании переменных. 4927</para> 4928<para lang="en"> 4929the "expires" directive might not work when using variables. 4930</para> 4931</change> 4932 4933<change type="bugfix"> 4934<para lang="ru"> 4935при использовании HTTP/2 4936в рабочем процессе мог произойти segmentation fault; 4937ошибка появилась в 1.9.6. 4938</para> 4939<para lang="en"> 4940a segmentation fault might occur in a worker process 4941when using HTTP/2; 4942the bug had appeared in 1.9.6. 4943</para> 4944</change> 4945 4946<change type="bugfix"> 4947<para lang="ru"> 4948если nginx был собран с модулем ngx_http_v2_module, 4949протокол HTTP/2 мог быть использован клиентом, 4950даже если не был указан параметр http2 директивы listen. 4951</para> 4952<para lang="en"> 4953if nginx was built with the ngx_http_v2_module 4954it was possible to use the HTTP/2 protocol 4955even if the "http2" parameter of the "listen" directive was not specified. 4956</para> 4957</change> 4958 4959<change type="bugfix"> 4960<para lang="ru"> 4961в модуле ngx_http_v2_module. 4962</para> 4963<para lang="en"> 4964in the ngx_http_v2_module. 4965</para> 4966</change> 4967 4968</changes> 4969 4970 4971<changes ver="1.9.6" date="2015-10-27"> 4972 4973<change type="bugfix"> 4974<para lang="ru"> 4975при использовании HTTP/2 4976в рабочем процессе мог произойти segmentation fault.<br/> 4977Спасибо Piotr Sikora и Denis Andzakovic. 4978</para> 4979<para lang="en"> 4980a segmentation fault might occur in a worker process 4981when using HTTP/2.<br/> 4982Thanks to Piotr Sikora and Denis Andzakovic. 4983</para> 4984</change> 4985 4986<change type="bugfix"> 4987<para lang="ru"> 4988при использовании HTTP/2 переменная $server_protocol была пустой. 4989</para> 4990<para lang="en"> 4991the $server_protocol variable was empty when using HTTP/2. 4992</para> 4993</change> 4994 4995<change type="bugfix"> 4996<para lang="ru"> 4997SSL-соединения к бэкендам в модуле stream 4998могли неожиданно завершаться по таймауту. 4999</para> 5000<para lang="en"> 5001backend SSL connections in the stream module 5002might be timed out unexpectedly. 5003</para> 5004</change> 5005 5006<change type="bugfix"> 5007<para lang="ru"> 5008при использовании различных настроек ssl_session_cache 5009в разных виртуальных серверах 5010в рабочем процессе мог произойти segmentation fault. 5011</para> 5012<para lang="en"> 5013a segmentation fault might occur in a worker process 5014if different ssl_session_cache settings were used 5015in different virtual servers. 5016</para> 5017</change> 5018 5019<change type="bugfix"> 5020<para lang="ru"> 5021nginx/Windows не собирался с MinGW gcc; 5022ошибка появилась в 1.9.4.<br/> 5023Спасибо Kouhei Sutou. 5024</para> 5025<para lang="en"> 5026nginx/Windows could not be built with MinGW gcc; 5027the bug had appeared in 1.9.4.<br/> 5028Thanks to Kouhei Sutou. 5029</para> 5030</change> 5031 5032<change type="bugfix"> 5033<para lang="ru"> 5034при использовании директивы timer_resolution на Windows время не обновлялось. 5035</para> 5036<para lang="en"> 5037time was not updated when the timer_resolution directive was used on Windows. 5038</para> 5039</change> 5040 5041<change> 5042<para lang="ru"> 5043Незначительные исправления и улучшения.<br/> 5044Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora. 5045</para> 5046<para lang="en"> 5047Miscellaneous minor fixes and improvements.<br/> 5048Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. 5049</para> 5050</change> 5051 5052</changes> 5053 5054 5055<changes ver="1.9.5" date="2015-09-22"> 5056 5057<change type="feature"> 5058<para lang="ru"> 5059модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module).<br/> 5060Спасибо Dropbox и Automattic за спонсирование разработки. 5061</para> 5062<para lang="en"> 5063the ngx_http_v2_module (replaces ngx_http_spdy_module).<br/> 5064Thanks to Dropbox and Automattic for sponsoring this work. 5065</para> 5066</change> 5067 5068<change type="change"> 5069<para lang="ru"> 5070теперь по умолчанию директива output_buffers использует два буфера. 5071</para> 5072<para lang="en"> 5073now the "output_buffers" directive uses two buffers by default. 5074</para> 5075</change> 5076 5077<change type="change"> 5078<para lang="ru"> 5079теперь nginx ограничивает максимальную вложенность подзапросов, 5080а не количество одновременных подзапросов. 5081</para> 5082<para lang="en"> 5083now nginx limits subrequests recursion, 5084not simultaneous subrequests. 5085</para> 5086</change> 5087 5088<change type="change"> 5089<para lang="ru"> 5090теперь при возврате ответов из кэша nginx проверяет ключ полностью.<br/> 5091Спасибо Геннадию Махомеду и Сергею Брестеру. 5092</para> 5093<para lang="en"> 5094now nginx checks the whole cache key when returning a response from cache.<br/> 5095Thanks to Gena Makhomed and Sergey Brester. 5096</para> 5097</change> 5098 5099<change type="bugfix"> 5100<para lang="ru"> 5101при использовании кэша 5102в логах могли появляться сообщения "header already sent"; 5103ошибка появилась в 1.7.5. 5104</para> 5105<para lang="en"> 5106"header already sent" alerts might appear in logs 5107when using cache; 5108the bug had appeared in 1.7.5. 5109</para> 5110</change> 5111 5112<change type="bugfix"> 5113<para lang="ru"> 5114при использовании CephFS и директивы timer_resolution на Linux 5115в логах могли появляться сообщения 5116"writev() failed (4: Interrupted system call)". 5117</para> 5118<para lang="en"> 5119"writev() failed (4: Interrupted system call)" 5120errors might appear in logs 5121when using CephFS and the "timer_resolution" directive on Linux. 5122</para> 5123</change> 5124 5125<change type="bugfix"> 5126<para lang="ru"> 5127в обработке ошибок конфигурации.<br/> 5128Спасибо Markus Linnala. 5129</para> 5130<para lang="en"> 5131in invalid configurations handling.<br/> 5132Thanks to Markus Linnala. 5133</para> 5134</change> 5135 5136<change type="bugfix"> 5137<para lang="ru"> 5138при использовании директивы sub_filter на уровне http 5139в рабочем процессе происходил segmentation fault; 5140ошибка появилась в 1.9.4. 5141</para> 5142<para lang="en"> 5143a segmentation fault occurred in a worker process 5144if the "sub_filter" directive was used at http level; 5145the bug had appeared in 1.9.4. 5146</para> 5147</change> 5148 5149</changes> 5150 5151 5152<changes ver="1.9.4" date="2015-08-18"> 5153 5154<change type="change"> 5155<para lang="ru"> 5156директивы proxy_downstream_buffer и proxy_upstream_buffer в модуле stream 5157заменены директивой proxy_buffer_size. 5158</para> 5159<para lang="en"> 5160the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives 5161of the stream module are replaced with the "proxy_buffer_size" directive. 5162</para> 5163</change> 5164 5165<change type="feature"> 5166<para lang="ru"> 5167директива tcp_nodelay в модуле stream. 5168</para> 5169<para lang="en"> 5170the "tcp_nodelay" directive in the stream module. 5171</para> 5172</change> 5173 5174<change type="feature"> 5175<para lang="ru"> 5176теперь можно указать несколько директив sub_filter одновременно. 5177</para> 5178<para lang="en"> 5179multiple "sub_filter" directives can be used simultaneously. 5180</para> 5181</change> 5182 5183<change type="feature"> 5184<para lang="ru"> 5185директива sub_filter поддерживает переменные в строке поиска. 5186</para> 5187<para lang="en"> 5188variables support in the search string of the "sub_filter" directive. 5189</para> 5190</change> 5191 5192<change type="workaround"> 5193<para lang="ru"> 5194тестирование конфигурации могло не работать под Linux OpenVZ.<br/> 5195Спасибо Геннадию Махомеду. 5196</para> 5197<para lang="en"> 5198configuration testing might fail under Linux OpenVZ.<br/> 5199Thanks to Gena Makhomed. 5200</para> 5201</change> 5202 5203<change type="bugfix"> 5204<para lang="ru"> 5205после переконфигурации старые рабочие процессы могли сильно нагружать процессор 5206при больших значениях worker_connections. 5207</para> 5208<para lang="en"> 5209old worker processes might hog CPU after reconfiguration 5210with a large number of worker_connections. 5211</para> 5212</change> 5213 5214<change type="bugfix"> 5215<para lang="ru"> 5216при совместном использовании директив try_files и alias 5217внутри location'а, заданного регулярным выражением, 5218в рабочем процессе мог произойти segmentation fault; 5219ошибка появилась в 1.7.1. 5220</para> 5221<para lang="en"> 5222a segmentation fault might occur in a worker process 5223if the "try_files" and "alias" directives were used 5224inside a location given by a regular expression; 5225the bug had appeared in 1.7.1. 5226</para> 5227</change> 5228 5229<change type="bugfix"> 5230<para lang="ru"> 5231директива try_files внутри вложенного location'а, заданного регулярным 5232выражением, работала неправильно, если во внешнем location'е использовалась 5233директива alias. 5234</para> 5235<para lang="en"> 5236the "try_files" directive inside a nested location 5237given by a regular expression worked incorrectly 5238if the "alias" directive was used in the outer location. 5239</para> 5240</change> 5241 5242<change type="bugfix"> 5243<para lang="ru"> 5244в обработке ошибок при построении хэш-таблиц. 5245</para> 5246<para lang="en"> 5247in hash table initialization error handling. 5248</para> 5249</change> 5250 5251<change type="bugfix"> 5252<para lang="ru"> 5253nginx не собирался с Visual Studio 2015. 5254</para> 5255<para lang="en"> 5256nginx could not be built with Visual Studio 2015. 5257</para> 5258</change> 5259 5260</changes> 5261 5262 5263<changes ver="1.9.3" date="2015-07-14"> 5264 5265<change type="change"> 5266<para lang="ru"> 5267дублирующиеся блоки http, mail и stream теперь запрещены. 5268</para> 5269<para lang="en"> 5270duplicate "http", "mail", and "stream" blocks are now disallowed. 5271</para> 5272</change> 5273 5274<change type="feature"> 5275<para lang="ru"> 5276ограничение количества соединений в модуле stream. 5277</para> 5278<para lang="en"> 5279connection limiting in the stream module. 5280</para> 5281</change> 5282 5283<change type="feature"> 5284<para lang="ru"> 5285ограничение скорости в модуле stream. 5286</para> 5287<para lang="en"> 5288data rate limiting in the stream module. 5289</para> 5290</change> 5291 5292<change type="bugfix"> 5293<para lang="ru"> 5294директива zone в блоке upstream не работала на Windows. 5295</para> 5296<para lang="en"> 5297the "zone" directive inside the "upstream" block did not work on Windows. 5298</para> 5299</change> 5300 5301<change type="bugfix"> 5302<para lang="ru"> 5303совместимость с LibreSSL в модуле stream.<br/> 5304Спасибо Piotr Sikora. 5305</para> 5306<para lang="en"> 5307compatibility with LibreSSL in the stream module.<br/> 5308Thanks to Piotr Sikora. 5309</para> 5310</change> 5311 5312<change type="bugfix"> 5313<para lang="ru"> 5314в параметре --builddir в configure.<br/> 5315Спасибо Piotr Sikora. 5316</para> 5317<para lang="en"> 5318in the "--builddir" configure parameter.<br/> 5319Thanks to Piotr Sikora. 5320</para> 5321</change> 5322 5323<change type="bugfix"> 5324<para lang="ru"> 5325директива ssl_stapling_file не работала; 5326ошибка появилась в 1.9.2.<br/> 5327Спасибо Faidon Liambotis и Brandon Black. 5328</para> 5329<para lang="en"> 5330the "ssl_stapling_file" directive did not work; 5331the bug had appeared in 1.9.2.<br/> 5332Thanks to Faidon Liambotis and Brandon Black. 5333</para> 5334</change> 5335 5336<change type="bugfix"> 5337<para lang="ru"> 5338при использовании директивы ssl_stapling 5339в рабочем процессе мог произойти segmentation fault; 5340ошибка появилась в 1.9.2.<br/> 5341Спасибо Matthew Baldwin. 5342</para> 5343<para lang="en"> 5344a segmentation fault might occur in a worker process 5345if the "ssl_stapling" directive was used; 5346the bug had appeared in 1.9.2.<br/> 5347Thanks to Matthew Baldwin. 5348</para> 5349</change> 5350 5351</changes> 5352 5353 5354<changes ver="1.9.2" date="2015-06-16"> 5355 5356<change type="feature"> 5357<para lang="ru"> 5358параметр backlog директивы listen 5359в почтовом прокси-сервере и модуле stream. 5360</para> 5361<para lang="en"> 5362the "backlog" parameter of the "listen" directives 5363of the mail proxy and stream modules. 5364</para> 5365</change> 5366 5367<change type="feature"> 5368<para lang="ru"> 5369директивы allow и deny в модуле stream. 5370</para> 5371<para lang="en"> 5372the "allow" and "deny" directives in the stream module. 5373</para> 5374</change> 5375 5376<change type="feature"> 5377<para lang="ru"> 5378директива proxy_bind в модуле stream. 5379</para> 5380<para lang="en"> 5381the "proxy_bind" directive in the stream module. 5382</para> 5383</change> 5384 5385<change type="feature"> 5386<para lang="ru"> 5387директива proxy_protocol в модуле stream. 5388</para> 5389<para lang="en"> 5390the "proxy_protocol" directive in the stream module. 5391</para> 5392</change> 5393 5394<change type="feature"> 5395<para lang="ru"> 5396ключ -T. 5397</para> 5398<para lang="en"> 5399the -T switch. 5400</para> 5401</change> 5402 5403<change type="feature"> 5404<para lang="ru"> 5405параметр REQUEST_SCHEME добавлен в стандартные конфигурационные файлы 5406fastcgi.conf, fastcgi_params, scgi_params и uwsgi_params. 5407</para> 5408<para lang="en"> 5409the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params, 5410scgi_params, and uwsgi_params standard configuration files. 5411</para> 5412</change> 5413 5414<change type="bugfix"> 5415<para lang="ru"> 5416параметр reuseport директивы listen в модуле stream 5417не работал. 5418</para> 5419<para lang="en"> 5420the "reuseport" parameter of the "listen" directive of the stream module 5421did not work. 5422</para> 5423</change> 5424 5425<change type="bugfix"> 5426<para lang="ru"> 5427OCSP stapling в некоторых случаях мог вернуть устаревший OCSP-ответ. 5428</para> 5429<para lang="en"> 5430OCSP stapling might return an expired OCSP response in some cases. 5431</para> 5432</change> 5433 5434</changes> 5435 5436 5437<changes ver="1.9.1" date="2015-05-26"> 5438 5439<change type="change"> 5440<para lang="ru"> 5441теперь протокол SSLv3 по умолчанию запрещён. 5442</para> 5443<para lang="en"> 5444now SSLv3 protocol is disabled by default. 5445</para> 5446</change> 5447 5448<change type="change"> 5449<para lang="ru"> 5450некоторые давно устаревшие директивы больше не поддерживаются. 5451</para> 5452<para lang="en"> 5453some long deprecated directives are not supported anymore. 5454</para> 5455</change> 5456 5457<change type="feature"> 5458<para lang="ru"> 5459параметр reuseport директивы listen.<br/> 5460Спасибо Yingqi Lu из Intel и Sepherosa Ziehau. 5461</para> 5462<para lang="en"> 5463the "reuseport" parameter of the "listen" directive.<br/> 5464Thanks to Yingqi Lu at Intel and Sepherosa Ziehau. 5465</para> 5466</change> 5467 5468<change type="feature"> 5469<para lang="ru"> 5470переменная $upstream_connect_time. 5471</para> 5472<para lang="en"> 5473the $upstream_connect_time variable. 5474</para> 5475</change> 5476 5477<change type="bugfix"> 5478<para lang="ru"> 5479в директиве hash на big-endian платформах. 5480</para> 5481<para lang="en"> 5482in the "hash" directive on big-endian platforms. 5483</para> 5484</change> 5485 5486<change type="bugfix"> 5487<para lang="ru"> 5488nginx мог не запускаться на некоторых старых версиях Linux; 5489ошибка появилась в 1.7.11. 5490</para> 5491<para lang="en"> 5492nginx might fail to start on some old Linux variants; 5493the bug had appeared in 1.7.11. 5494</para> 5495</change> 5496 5497<change type="bugfix"> 5498<para lang="ru"> 5499в парсинге IP-адресов.<br/> 5500Спасибо Сергею Половко. 5501</para> 5502<para lang="en"> 5503in IP address parsing.<br/> 5504Thanks to Sergey Polovko. 5505</para> 5506</change> 5507 5508</changes> 5509 5510 5511<changes ver="1.9.0" date="2015-04-28"> 5512 5513<change type="change"> 5514<para lang="ru"> 5515устаревшие методы обработки соединений aio и rtsig больше не поддерживаются. 5516</para> 5517<para lang="en"> 5518obsolete aio and rtsig event methods have been removed. 5519</para> 5520</change> 5521 5522<change type="feature"> 5523<para lang="ru"> 5524директива zone в блоке upstream. 5525</para> 5526<para lang="en"> 5527the "zone" directive inside the "upstream" block. 5528</para> 5529</change> 5530 5531<change type="feature"> 5532<para lang="ru"> 5533модуль stream. 5534</para> 5535<para lang="en"> 5536the stream module. 5537</para> 5538</change> 5539 5540<change type="feature"> 5541<para lang="ru"> 5542поддержка byte ranges для ответов модуля ngx_http_memcached_module.<br/> 5543Спасибо Martin Mlynář. 5544</para> 5545<para lang="en"> 5546byte ranges support in the ngx_http_memcached_module.<br/> 5547Thanks to Martin Mlynář. 5548</para> 5549</change> 5550 5551<change type="feature"> 5552<para lang="ru"> 5553разделяемую память теперь можно использовать на версиях Windows 5554с рандомизацией адресного пространства.<br/> 5555Спасибо Сергею Брестеру. 5556</para> 5557<para lang="en"> 5558shared memory can now be used on Windows versions 5559with address space layout randomization.<br/> 5560Thanks to Sergey Brester. 5561</para> 5562</change> 5563 5564<change type="feature"> 5565<para lang="ru"> 5566директиву error_log теперь можно использовать 5567на уровнях mail и server в почтовом прокси-сервере. 5568</para> 5569<para lang="en"> 5570the "error_log" directive can now be used 5571on mail and server levels in mail proxy. 5572</para> 5573</change> 5574 5575<change type="bugfix"> 5576<para lang="ru"> 5577параметр proxy_protocol директивы listen не работал, 5578если не был указан в первой директиве listen для данного listen-сокета. 5579</para> 5580<para lang="en"> 5581the "proxy_protocol" parameter of the "listen" directive did not work 5582if not specified in the first "listen" directive for a listen socket. 5583</para> 5584</change> 5585 5586</changes> 5587 5588 5589<changes ver="1.7.12" date="2015-04-07"> 5590 5591<change type="feature"> 5592<para lang="ru"> 5593теперь директива tcp_nodelay работает для SSL-соединений с бэкендами. 5594</para> 5595<para lang="en"> 5596now the "tcp_nodelay" directive works with backend SSL connections. 5597</para> 5598</change> 5599 5600<change type="feature"> 5601<para lang="ru"> 5602теперь потоки могут использоваться для чтения заголовков файлов в кэше. 5603</para> 5604<para lang="en"> 5605now thread pools can be used to read cache file headers. 5606</para> 5607</change> 5608 5609<change type="bugfix"> 5610<para lang="ru"> 5611в директиве proxy_request_buffering. 5612</para> 5613<para lang="en"> 5614in the "proxy_request_buffering" directive. 5615</para> 5616</change> 5617 5618<change type="bugfix"> 5619<para lang="ru"> 5620при использовании потоков на Linux 5621в рабочем процессе мог произойти segmentation fault. 5622</para> 5623<para lang="en"> 5624a segmentation fault might occur in a worker process 5625when using thread pools on Linux. 5626</para> 5627</change> 5628 5629<change type="bugfix"> 5630<para lang="ru"> 5631в обработке ошибок при использовании директивы ssl_stapling.<br/> 5632Спасибо Filipe da Silva. 5633</para> 5634<para lang="en"> 5635in error handling when using the "ssl_stapling" directive.<br/> 5636Thanks to Filipe da Silva. 5637</para> 5638</change> 5639 5640<change type="bugfix"> 5641<para lang="ru"> 5642в модуле ngx_http_spdy_module. 5643</para> 5644<para lang="en"> 5645in the ngx_http_spdy_module. 5646</para> 5647</change> 5648 5649</changes> 5650 5651 5652<changes ver="1.7.11" date="2015-03-24"> 5653 5654<change type="change"> 5655<para lang="ru"> 5656параметр sendfile директивы aio более не нужен; 5657теперь nginx автоматически использует AIO для подгрузки данных для sendfile, 5658если одновременно используются директивы aio и sendfile. 5659</para> 5660<para lang="en"> 5661the "sendfile" parameter of the "aio" directive is deprecated; 5662now nginx automatically uses AIO to pre-load data for sendfile 5663if both "aio" and "sendfile" directives are used. 5664</para> 5665</change> 5666 5667<change type="feature"> 5668<para lang="ru"> 5669экспериментальная поддержка потоков. 5670</para> 5671<para lang="en"> 5672experimental thread pools support. 5673</para> 5674</change> 5675 5676<change type="feature"> 5677<para lang="ru"> 5678директивы proxy_request_buffering, fastcgi_request_buffering, 5679scgi_request_buffering и uwsgi_request_buffering. 5680</para> 5681<para lang="en"> 5682the "proxy_request_buffering", "fastcgi_request_buffering", 5683"scgi_request_buffering", and "uwsgi_request_buffering" directives. 5684</para> 5685</change> 5686 5687<change type="feature"> 5688<para lang="ru"> 5689экспериментальное API для обработки тела запроса. 5690</para> 5691<para lang="en"> 5692request body filters experimental API. 5693</para> 5694</change> 5695 5696<change type="feature"> 5697<para lang="ru"> 5698проверка клиентских SSL-сертификатов в почтовом прокси-сервере.<br/> 5699Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva. 5700</para> 5701<para lang="en"> 5702client SSL certificates support in mail proxy.<br/> 5703Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva. 5704</para> 5705</change> 5706 5707<change type="feature"> 5708<para lang="ru"> 5709уменьшение времени запуска 5710при использовании директивы "hash ... consistent" в блоке upstream.<br/> 5711Спасибо Wai Keen Woon. 5712</para> 5713<para lang="en"> 5714startup speedup 5715when using the "hash ... consistent" directive in the upstream block.<br/> 5716Thanks to Wai Keen Woon. 5717</para> 5718</change> 5719 5720<change type="feature"> 5721<para lang="ru"> 5722отладочное логгирование в кольцевой буфер в памяти. 5723</para> 5724<para lang="en"> 5725debug logging into a cyclic memory buffer. 5726</para> 5727</change> 5728 5729<change type="bugfix"> 5730<para lang="ru"> 5731в обработке хэш-таблиц.<br/> 5732Спасибо Chris West. 5733</para> 5734<para lang="en"> 5735in hash table handling.<br/> 5736Thanks to Chris West. 5737</para> 5738</change> 5739 5740<change type="bugfix"> 5741<para lang="ru"> 5742в директиве proxy_cache_revalidate. 5743</para> 5744<para lang="en"> 5745in the "proxy_cache_revalidate" directive. 5746</para> 5747</change> 5748 5749<change type="bugfix"> 5750<para lang="ru"> 5751SSL-соединения могли зависать, если использовался отложенный accept 5752или параметр proxy_protocol директивы listen.<br/> 5753Спасибо James Hamlin. 5754</para> 5755<para lang="en"> 5756SSL connections might hang if deferred accept 5757or the "proxy_protocol" parameter of the "listen" directive were used.<br/> 5758Thanks to James Hamlin. 5759</para> 5760</change> 5761 5762<change type="bugfix"> 5763<para lang="ru"> 5764переменная $upstream_response_time могла содержать неверное значение 5765при использовании директивы image_filter. 5766</para> 5767<para lang="en"> 5768the $upstream_response_time variable might contain a wrong value 5769if the "image_filter" directive was used. 5770</para> 5771</change> 5772 5773<change type="bugfix"> 5774<para lang="ru"> 5775в обработке целочисленных переполнений.<br/> 5776Спасибо Régis Leroy. 5777</para> 5778<para lang="en"> 5779in integer overflow handling.<br/> 5780Thanks to Régis Leroy. 5781</para> 5782</change> 5783 5784<change type="bugfix"> 5785<para lang="ru"> 5786при использовании LibreSSL было невозможно включить поддержку SSLv3. 5787</para> 5788<para lang="en"> 5789it was not possible to enable SSLv3 with LibreSSL. 5790</para> 5791</change> 5792 5793<change type="bugfix"> 5794<para lang="ru"> 5795при использовании LibreSSL в логах появлялись сообщения 5796"ignoring stale global SSL error ... called a function you should not call". 5797</para> 5798<para lang="en"> 5799the "ignoring stale global SSL error ... called a function you should not call" 5800alerts appeared in logs when using LibreSSL. 5801</para> 5802</change> 5803 5804<change type="bugfix"> 5805<para lang="ru"> 5806сертификаты, указанные в директивах ssl_client_certificate и 5807ssl_trusted_certificate, использовались 5808для автоматического построения цепочек сертификатов. 5809</para> 5810<para lang="en"> 5811certificates specified by the "ssl_client_certificate" and 5812"ssl_trusted_certificate" directives were inadvertently used 5813to automatically construct certificate chains. 5814</para> 5815</change> 5816 5817</changes> 5818 5819 5820<changes ver="1.7.10" date="2015-02-10"> 5821 5822<change type="feature"> 5823<para lang="ru"> 5824параметр use_temp_path директив proxy_cache_path, fastcgi_cache_path, 5825scgi_cache_path и uwsgi_cache_path. 5826</para> 5827<para lang="en"> 5828the "use_temp_path" parameter of the "proxy_cache_path", "fastcgi_cache_path", 5829"scgi_cache_path", and "uwsgi_cache_path" directives. 5830</para> 5831</change> 5832 5833<change type="feature"> 5834<para lang="ru"> 5835переменная $upstream_header_time. 5836</para> 5837<para lang="en"> 5838the $upstream_header_time variable. 5839</para> 5840</change> 5841 5842<change type="workaround"> 5843<para lang="ru"> 5844теперь при переполнении диска nginx пытается писать error_log'и только 5845раз в секунду. 5846</para> 5847<para lang="en"> 5848now on disk overflow nginx tries to write error logs once a second only. 5849</para> 5850</change> 5851 5852<change type="bugfix"> 5853<para lang="ru"> 5854директива try_files при тестировании каталогов 5855не игнорировала обычные файлы.<br/> 5856Спасибо Damien Tournoud. 5857</para> 5858<para lang="en"> 5859the "try_files" directive did not ignore normal files 5860while testing directories.<br/> 5861Thanks to Damien Tournoud. 5862</para> 5863</change> 5864 5865<change type="bugfix"> 5866<para lang="ru"> 5867при использовании директивы sendfile на OS X 5868возникали ошибки "sendfile() failed"; 5869ошибка появилась в nginx 1.7.8. 5870</para> 5871<para lang="en"> 5872alerts "sendfile() failed" 5873if the "sendfile" directive was used on OS X; 5874the bug had appeared in 1.7.8. 5875</para> 5876</change> 5877 5878<change type="bugfix"> 5879<para lang="ru"> 5880в лог могли писаться сообщения "sem_post() failed". 5881</para> 5882<para lang="en"> 5883alerts "sem_post() failed" might appear in logs. 5884</para> 5885</change> 5886 5887<change type="bugfix"> 5888<para lang="ru"> 5889nginx не собирался с musl libc.<br/> 5890Спасибо James Taylor. 5891</para> 5892<para lang="en"> 5893nginx could not be built with musl libc.<br/> 5894Thanks to James Taylor. 5895</para> 5896</change> 5897 5898<change type="bugfix"> 5899<para lang="ru"> 5900nginx не собирался на Tru64 UNIX.<br/> 5901Спасибо Goetz T. Fischer. 5902</para> 5903<para lang="en"> 5904nginx could not be built on Tru64 UNIX.<br/> 5905Thanks to Goetz T. Fischer. 5906</para> 5907</change> 5908 5909</changes> 5910 5911 5912<changes ver="1.7.9" date="2014-12-23"> 5913 5914<change type="feature"> 5915<para lang="ru"> 5916директивы proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache 5917поддерживают переменные. 5918</para> 5919<para lang="en"> 5920variables support in the "proxy_cache", "fastcgi_cache", "scgi_cache", 5921and "uwsgi_cache" directives. 5922</para> 5923</change> 5924 5925<change type="feature"> 5926<para lang="ru"> 5927директива expires поддерживает переменные. 5928</para> 5929<para lang="en"> 5930variables support in the "expires" directive. 5931</para> 5932</change> 5933 5934<change type="feature"> 5935<para lang="ru"> 5936возможность загрузки секретных ключей с аппаратных устройств 5937с помощью OpenSSL engines.<br/> 5938Спасибо Дмитрию Пичулину. 5939</para> 5940<para lang="en"> 5941loading of secret keys from hardware tokens 5942with OpenSSL engines.<br/> 5943Thanks to Dmitrii Pichulin. 5944</para> 5945</change> 5946 5947<change type="feature"> 5948<para lang="ru"> 5949директива autoindex_format. 5950</para> 5951<para lang="en"> 5952the "autoindex_format" directive. 5953</para> 5954</change> 5955 5956<change type="bugfix"> 5957<para lang="ru"> 5958ревалидация элементов кэша теперь используется только для ответов 5959с кодами 200 и 206.<br/> 5960Спасибо Piotr Sikora. 5961</para> 5962<para lang="en"> 5963cache revalidation is now only used for responses 5964with 200 and 206 status codes.<br/> 5965Thanks to Piotr Sikora. 5966</para> 5967</change> 5968 5969<change type="bugfix"> 5970<para lang="ru"> 5971строка "TE" заголовка запроса клиента передавалась на бэкенд при проксировании. 5972</para> 5973<para lang="en"> 5974the "TE" client request header line was passed to backends while proxying. 5975</para> 5976</change> 5977 5978<change type="bugfix"> 5979<para lang="ru"> 5980директивы proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass 5981могли неправильно работать внутри блоков if и limit_except. 5982</para> 5983<para lang="en"> 5984the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives 5985might not work correctly inside the "if" and "limit_except" blocks. 5986</para> 5987</change> 5988 5989<change type="bugfix"> 5990<para lang="ru"> 5991директива proxy_store с параметром "on" игнорировалась, 5992если на предыдущем уровне использовалась директива proxy_store 5993с явно заданным путём к файлам. 5994</para> 5995<para lang="en"> 5996the "proxy_store" directive with the "on" parameter was ignored 5997if the "proxy_store" directive with an explicitly specified file path 5998was used on a previous level. 5999</para> 6000</change> 6001 6002<change type="bugfix"> 6003<para lang="ru"> 6004nginx не собирался с BoringSSL.<br/> 6005Спасибо Lukas Tribus. 6006</para> 6007<para lang="en"> 6008nginx could not be built with BoringSSL.<br/> 6009Thanks to Lukas Tribus. 6010</para> 6011</change> 6012 6013</changes> 6014 6015 6016<changes ver="1.7.8" date="2014-12-02"> 6017 6018<change type="change"> 6019<para lang="ru"> 6020теперь строки "If-Modified-Since", "If-Range" и им подобные 6021в заголовке запроса клиента передаются бэкенду при включённом кэшировании, 6022если nginx заранее знает, что не будет кэшировать ответ 6023(например, при использовании proxy_cache_min_uses). 6024</para> 6025<para lang="en"> 6026now the "If-Modified-Since", "If-Range", etc. 6027client request header lines are passed to a backend while caching 6028if nginx knows in advance that the response will not be cached 6029(e.g., when using proxy_cache_min_uses). 6030</para> 6031</change> 6032 6033<change type="change"> 6034<para lang="ru"> 6035теперь после истечения proxy_cache_lock_timeout 6036nginx отправляет запрос на бэкенд без кэширования; 6037новые директивы proxy_cache_lock_age, fastcgi_cache_lock_age, 6038scgi_cache_lock_age и uwsgi_cache_lock_age позволяют указать, 6039через какое время блокировка будет принудительно снята 6040и будет сделана ещё одна попытка закэшировать ответ. 6041</para> 6042<para lang="en"> 6043now after proxy_cache_lock_timeout 6044nginx sends a request to a backend with caching disabled; 6045the new directives "proxy_cache_lock_age", "fastcgi_cache_lock_age", 6046"scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time 6047after which the lock will be released 6048and another attempt to cache a response will be made. 6049</para> 6050</change> 6051 6052<change type="change"> 6053<para lang="ru"> 6054директива log_format теперь может использоваться только на уровне http. 6055</para> 6056<para lang="en"> 6057the "log_format" directive can now be used only at http level. 6058</para> 6059</change> 6060 6061<change type="feature"> 6062<para lang="ru"> 6063директивы proxy_ssl_certificate, proxy_ssl_certificate_key, 6064proxy_ssl_password_file, uwsgi_ssl_certificate, 6065uwsgi_ssl_certificate_key и uwsgi_ssl_password_file.<br/> 6066Спасибо Piotr Sikora. 6067</para> 6068<para lang="en"> 6069the "proxy_ssl_certificate", "proxy_ssl_certificate_key", 6070"proxy_ssl_password_file", "uwsgi_ssl_certificate", 6071"uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" directives.<br/> 6072Thanks to Piotr Sikora. 6073</para> 6074</change> 6075 6076<change type="feature"> 6077<para lang="ru"> 6078теперь с помощью X-Accel-Redirect 6079можно перейти в именованный location.<br/> 6080Спасибо Toshikuni Fukaya. 6081</para> 6082<para lang="en"> 6083it is now possible to switch to a named location 6084using "X-Accel-Redirect".<br/> 6085Thanks to Toshikuni Fukaya. 6086</para> 6087</change> 6088 6089<change type="feature"> 6090<para lang="ru"> 6091теперь директива tcp_nodelay работает для SPDY-соединений. 6092</para> 6093<para lang="en"> 6094now the "tcp_nodelay" directive works with SPDY connections. 6095</para> 6096</change> 6097 6098<change type="feature"> 6099<para lang="ru"> 6100новые директивы в скриптах подсветки синтаксиса для vim.<br/> 6101Спасибо Peter Wu. 6102</para> 6103<para lang="en"> 6104new directives in vim syntax highliting scripts.<br/> 6105Thanks to Peter Wu. 6106</para> 6107</change> 6108 6109<change type="bugfix"> 6110<para lang="ru"> 6111nginx игнорировал значение "s-maxage" 6112в строке "Cache-Control" в заголовке ответа бэкенда.<br/> 6113Спасибо Piotr Sikora. 6114</para> 6115<para lang="en"> 6116nginx ignored the "s-maxage" value 6117in the "Cache-Control" backend response header line.<br/> 6118Thanks to Piotr Sikora. 6119</para> 6120</change> 6121 6122<change type="bugfix"> 6123<para lang="ru"> 6124в модуле ngx_http_spdy_module.<br/> 6125Спасибо Piotr Sikora. 6126</para> 6127<para lang="en"> 6128in the ngx_http_spdy_module.<br/> 6129Thanks to Piotr Sikora. 6130</para> 6131</change> 6132 6133<change type="bugfix"> 6134<para lang="ru"> 6135в директиве ssl_password_file 6136при использовании OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j. 6137</para> 6138<para lang="en"> 6139in the "ssl_password_file" directive 6140when using OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j. 6141</para> 6142</change> 6143 6144<change type="bugfix"> 6145<para lang="ru"> 6146при использовании директивы post_action 6147в лог писались сообщения "header already sent"; 6148ошибка появилась в nginx 1.5.4. 6149</para> 6150<para lang="en"> 6151alerts "header already sent" appeared in logs 6152if the "post_action" directive was used; 6153the bug had appeared in 1.5.4. 6154</para> 6155</change> 6156 6157<change type="bugfix"> 6158<para lang="ru"> 6159при использовании директивы "postpone_output 0" с SSI-подзапросами 6160в лог могли писаться сообщения "the http output chain is empty". 6161</para> 6162<para lang="en"> 6163alerts "the http output chain is empty" might appear in logs 6164if the "postpone_output 0" directive was used with SSI includes. 6165</para> 6166</change> 6167 6168<change type="bugfix"> 6169<para lang="ru"> 6170в директиве proxy_cache_lock при использовании SSI-подзапросов.<br/> 6171Спасибо Yichun Zhang. 6172</para> 6173<para lang="en"> 6174in the "proxy_cache_lock" directive with SSI subrequests.<br/> 6175Thanks to Yichun Zhang. 6176</para> 6177</change> 6178 6179</changes> 6180 6181 6182<changes ver="1.7.7" date="2014-10-28"> 6183 6184<change type="change"> 6185<para lang="ru"> 6186теперь nginx учитывает при кэшировании строку "Vary" 6187в заголовке ответа бэкенда. 6188</para> 6189<para lang="en"> 6190now nginx takes into account the "Vary" 6191header line in a backend response while caching. 6192</para> 6193</change> 6194 6195<change type="feature"> 6196<para lang="ru"> 6197директивы proxy_force_ranges, fastcgi_force_ranges, 6198scgi_force_ranges и uwsgi_force_ranges. 6199</para> 6200<para lang="en"> 6201the "proxy_force_ranges", "fastcgi_force_ranges", 6202"scgi_force_ranges", and "uwsgi_force_ranges" directives. 6203</para> 6204</change> 6205 6206<change type="feature"> 6207<para lang="ru"> 6208директивы proxy_limit_rate, fastcgi_limit_rate, 6209scgi_limit_rate и uwsgi_limit_rate. 6210</para> 6211<para lang="en"> 6212the "proxy_limit_rate", "fastcgi_limit_rate", 6213"scgi_limit_rate", and "uwsgi_limit_rate" directives. 6214</para> 6215</change> 6216 6217<change type="feature"> 6218<para lang="ru"> 6219параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers, 6220scgi_ignore_headers и uwsgi_ignore_headers. 6221</para> 6222<para lang="en"> 6223the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers", 6224"scgi_ignore_headers", and "uwsgi_ignore_headers" directives. 6225</para> 6226</change> 6227 6228<change type="bugfix"> 6229<para lang="ru"> 6230последняя часть ответа, полученного от бэкенда 6231при небуферизированном проксировании, 6232могла не отправляться клиенту, 6233если использовались директивы gzip или gunzip. 6234</para> 6235<para lang="en"> 6236the last part of a response received from a backend 6237with unbufferred proxy 6238might not be sent to a client 6239if "gzip" or "gunzip" directives were used. 6240</para> 6241</change> 6242 6243<change type="bugfix"> 6244<para lang="ru"> 6245в директиве proxy_cache_revalidate.<br/> 6246Спасибо Piotr Sikora. 6247</para> 6248<para lang="en"> 6249in the "proxy_cache_revalidate" directive.<br/> 6250Thanks to Piotr Sikora. 6251</para> 6252</change> 6253 6254<change type="bugfix"> 6255<para lang="ru"> 6256в обработке ошибок.<br/> 6257Спасибо Yichun Zhang и Даниилу Бондареву. 6258</para> 6259<para lang="en"> 6260in error handling.<br/> 6261Thanks to Yichun Zhang and Daniil Bondarev. 6262</para> 6263</change> 6264 6265<change type="bugfix"> 6266<para lang="ru"> 6267в директивах 6268proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/> 6269Спасибо Feng Gu. 6270</para> 6271<para lang="en"> 6272in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout" 6273directives.<br/> 6274Thanks to Feng Gu. 6275</para> 6276</change> 6277 6278<change type="bugfix"> 6279<para lang="ru"> 6280nginx/Windows не собирался с MinGW-w64 gcc.<br/> 6281Спасибо Kouhei Sutou. 6282</para> 6283<para lang="en"> 6284nginx/Windows could not be built with MinGW-w64 gcc.<br/> 6285Thanks to Kouhei Sutou. 6286</para> 6287</change> 6288 6289</changes> 6290 6291 6292<changes ver="1.7.6" date="2014-09-30"> 6293 6294<change type="change"> 6295<para lang="ru"> 6296устаревшая директива limit_zone больше не поддерживается. 6297</para> 6298<para lang="en"> 6299the deprecated "limit_zone" directive is not supported anymore. 6300</para> 6301</change> 6302 6303<change type="feature"> 6304<para lang="ru"> 6305в директивах limit_conn_zone и limit_req_zone теперь можно использовать 6306комбинации нескольких переменных. 6307</para> 6308<para lang="en"> 6309the "limit_conn_zone" and "limit_req_zone" directives now can be used 6310with combinations of multiple variables. 6311</para> 6312</change> 6313 6314<change type="bugfix"> 6315<para lang="ru"> 6316при повторной отправке FastCGI-запроса на бэкенд 6317тело запроса могло передаваться неправильно. 6318</para> 6319<para lang="en"> 6320request body might be transmitted incorrectly 6321when retrying a FastCGI request to the next upstream server. 6322</para> 6323</change> 6324 6325<change type="bugfix"> 6326<para lang="ru"> 6327в логгировании в syslog. 6328</para> 6329<para lang="en"> 6330in logging to syslog. 6331</para> 6332</change> 6333 6334</changes> 6335 6336 6337<changes ver="1.7.5" date="2014-09-16"> 6338 6339<change type="security"> 6340<para lang="ru"> 6341при использовании общего для нескольких блоков server 6342разделяемого кэша SSL-сессий или общего ключа для шифрования 6343TLS session tickets было возможно повторно использовать 6344SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/> 6345Спасибо Antoine Delignat-Lavaud. 6346</para> 6347<para lang="en"> 6348it was possible to reuse SSL sessions in unrelated contexts 6349if a shared SSL session cache or the same TLS session ticket key 6350was used for multiple "server" blocks (CVE-2014-3616).<br/> 6351Thanks to Antoine Delignat-Lavaud. 6352</para> 6353</change> 6354 6355<change type="change"> 6356<para lang="ru"> 6357директиву stub_status теперь можно указывать без параметров. 6358</para> 6359<para lang="en"> 6360now the "stub_status" directive does not require a parameter. 6361</para> 6362</change> 6363 6364<change type="feature"> 6365<para lang="ru"> 6366параметр always директивы add_header. 6367</para> 6368<para lang="en"> 6369the "always" parameter of the "add_header" directive. 6370</para> 6371</change> 6372 6373<change type="feature"> 6374<para lang="ru"> 6375директивы 6376proxy_next_upstream_tries, proxy_next_upstream_timeout, 6377fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout, 6378memcached_next_upstream_tries, memcached_next_upstream_timeout, 6379scgi_next_upstream_tries, scgi_next_upstream_timeout, 6380uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout. 6381</para> 6382<para lang="en"> 6383the 6384"proxy_next_upstream_tries", "proxy_next_upstream_timeout", 6385"fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout", 6386"memcached_next_upstream_tries", "memcached_next_upstream_timeout", 6387"scgi_next_upstream_tries", "scgi_next_upstream_timeout", 6388"uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout" 6389directives. 6390</para> 6391</change> 6392 6393<change type="bugfix"> 6394<para lang="ru"> 6395в параметре if директивы access_log. 6396</para> 6397<para lang="en"> 6398in the "if" parameter of the "access_log" directive. 6399</para> 6400</change> 6401 6402<change type="bugfix"> 6403<para lang="ru"> 6404в модуле ngx_http_perl_module.<br/> 6405Спасибо Piotr Sikora. 6406</para> 6407<para lang="en"> 6408in the ngx_http_perl_module.<br/> 6409Thanks to Piotr Sikora. 6410</para> 6411</change> 6412 6413<change type="bugfix"> 6414<para lang="ru"> 6415директива listen почтового прокси-сервера 6416не позволяла указать более двух параметров. 6417</para> 6418<para lang="en"> 6419the "listen" directive of the mail proxy module 6420did not allow to specify more than two parameters. 6421</para> 6422</change> 6423 6424<change type="bugfix"> 6425<para lang="ru"> 6426директива sub_filter не работала 6427с заменяемой строкой из одного символа. 6428</para> 6429<para lang="en"> 6430the "sub_filter" directive did not work 6431with a string to replace consisting of a single character. 6432</para> 6433</change> 6434 6435<change type="bugfix"> 6436<para lang="ru"> 6437запросы могли зависать, если использовался resolver 6438и в процессе обращения к DNS-серверу происходил таймаут. 6439</para> 6440<para lang="en"> 6441requests might hang if resolver was used 6442and a timeout occurred during a DNS request. 6443</para> 6444</change> 6445 6446<change type="bugfix"> 6447<para lang="ru"> 6448в модуле ngx_http_spdy_module при использовании совместно с AIO. 6449</para> 6450<para lang="en"> 6451in the ngx_http_spdy_module when using with AIO. 6452</para> 6453</change> 6454 6455<change type="bugfix"> 6456<para lang="ru"> 6457в рабочем процессе мог произойти segmentation fault, 6458если с помощью директивы set изменялись переменные 6459"$http_...", "$sent_http_..." или "$upstream_http_...". 6460</para> 6461<para lang="en"> 6462a segmentation fault might occur in a worker process 6463if the "set" directive was used to change the "$http_...", 6464"$sent_http_...", or "$upstream_http_..." variables. 6465</para> 6466</change> 6467 6468<change type="bugfix"> 6469<para lang="ru"> 6470в обработке ошибок выделения памяти.<br/> 6471Спасибо Markus Linnala и Feng Gu. 6472</para> 6473<para lang="en"> 6474in memory allocation error handling.<br/> 6475Thanks to Markus Linnala and Feng Gu. 6476</para> 6477</change> 6478 6479</changes> 6480 6481 6482<changes ver="1.7.4" date="2014-08-05"> 6483 6484<change type="security"> 6485<para lang="ru"> 6486pipelined-команды не отбрасывались 6487после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556); 6488ошибка появилась в 1.5.6.<br/> 6489Спасибо Chris Boulton. 6490</para> 6491<para lang="en"> 6492pipelined commands were not discarded 6493after STARTTLS command in SMTP proxy (CVE-2014-3556); 6494the bug had appeared in 1.5.6.<br/> 6495Thanks to Chris Boulton. 6496</para> 6497</change> 6498 6499<change type="change"> 6500<para lang="ru"> 6501экранирование символов в URI теперь использует 6502шестнадцатеричные цифры в верхнем регистре.<br/> 6503Спасибо Piotr Sikora. 6504</para> 6505<para lang="en"> 6506URI escaping now uses 6507uppercase hexadecimal digits.<br/> 6508Thanks to Piotr Sikora. 6509</para> 6510</change> 6511 6512<change type="feature"> 6513<para lang="ru"> 6514теперь nginx можно собрать с BoringSSL и LibreSSL.<br/> 6515Спасибо Piotr Sikora. 6516</para> 6517<para lang="en"> 6518now nginx can be build with BoringSSL and LibreSSL.<br/> 6519Thanks to Piotr Sikora. 6520</para> 6521</change> 6522 6523<change type="bugfix"> 6524<para lang="ru"> 6525запросы могли зависать, если использовался resolver 6526и DNS-сервер возвращал некорректный ответ; 6527ошибка появилась в 1.5.8. 6528</para> 6529<para lang="en"> 6530requests might hang if resolver was used 6531and a DNS server returned a malformed response; 6532the bug had appeared in 1.5.8. 6533</para> 6534</change> 6535 6536<change type="bugfix"> 6537<para lang="ru"> 6538в модуле ngx_http_spdy_module.<br/> 6539Спасибо Piotr Sikora. 6540</para> 6541<para lang="en"> 6542in the ngx_http_spdy_module.<br/> 6543Thanks to Piotr Sikora. 6544</para> 6545</change> 6546 6547<change type="bugfix"> 6548<para lang="ru"> 6549переменная $uri могла содержать мусор 6550при возврате ошибок с кодом 400.<br/> 6551Спасибо Сергею Боброву. 6552</para> 6553<para lang="en"> 6554the $uri variable might contain garbage 6555when returning errors with code 400.<br/> 6556Thanks to Sergey Bobrov. 6557</para> 6558</change> 6559 6560<change type="bugfix"> 6561<para lang="ru"> 6562в обработке ошибок в директиве proxy_store 6563и в модуле ngx_http_dav_module.<br/> 6564Спасибо Feng Gu. 6565</para> 6566<para lang="en"> 6567in error handling in the "proxy_store" directive 6568and the ngx_http_dav_module.<br/> 6569Thanks to Feng Gu. 6570</para> 6571</change> 6572 6573<change type="bugfix"> 6574<para lang="ru"> 6575при логгировании ошибок в syslog мог происходить segmentation fault; 6576ошибка появилась в 1.7.1. 6577</para> 6578<para lang="en"> 6579a segmentation fault might occur if logging of errors to syslog was used; 6580the bug had appeared in 1.7.1. 6581</para> 6582</change> 6583 6584<change type="bugfix"> 6585<para lang="ru"> 6586переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code 6587и $geoip_area_code могли не работать.<br/> 6588Спасибо Yichun Zhang. 6589</para> 6590<para lang="en"> 6591the $geoip_latitude, $geoip_longitude, $geoip_dma_code, 6592and $geoip_area_code variables might not work.<br/> 6593Thanks to Yichun Zhang. 6594</para> 6595</change> 6596 6597<change type="bugfix"> 6598<para lang="ru"> 6599в обработке ошибок выделения памяти.<br/> 6600Спасибо Tatsuhiko Kubo и Piotr Sikora. 6601</para> 6602<para lang="en"> 6603in memory allocation error handling.<br/> 6604Thanks to Tatsuhiko Kubo and Piotr Sikora. 6605</para> 6606</change> 6607 6608</changes> 6609 6610 6611<changes ver="1.7.3" date="2014-07-08"> 6612 6613<change type="feature"> 6614<para lang="ru"> 6615weak entity tags теперь не удаляются при изменениях ответа, 6616а strong entity tags преобразуются в weak. 6617</para> 6618<para lang="en"> 6619weak entity tags are now preserved on response modifications, 6620and strong ones are changed to weak. 6621</para> 6622</change> 6623 6624<change type="feature"> 6625<para lang="ru"> 6626ревалидация элементов кэша теперь, если это возможно, 6627использует заголовок If-None-Match. 6628</para> 6629<para lang="en"> 6630cache revalidation now uses If-None-Match header 6631if possible. 6632</para> 6633</change> 6634 6635<change type="feature"> 6636<para lang="ru"> 6637директива ssl_password_file. 6638</para> 6639<para lang="en"> 6640the "ssl_password_file" directive. 6641</para> 6642</change> 6643 6644<change type="bugfix"> 6645<para lang="ru"> 6646при возврате ответа из кэша 6647заголовок запроса If-None-Match игнорировался, 6648если в ответе не было заголовка Last-Modified. 6649</para> 6650<para lang="en"> 6651the If-None-Match request header line was ignored 6652if there was no Last-Modified header 6653in a response returned from cache. 6654</para> 6655</change> 6656 6657<change type="bugfix"> 6658<para lang="ru"> 6659сообщения "peer closed connection in SSL handshake" 6660при соединении с бэкендами логгировались на уровне info вместо error. 6661</para> 6662<para lang="en"> 6663"peer closed connection in SSL handshake" messages 6664were logged at "info" level instead of "error" while connecting to backends. 6665</para> 6666</change> 6667 6668<change type="bugfix"> 6669<para lang="ru"> 6670в модуле ngx_http_dav_module в nginx/Windows. 6671</para> 6672<para lang="en"> 6673in the ngx_http_dav_module module in nginx/Windows. 6674</para> 6675</change> 6676 6677<change type="bugfix"> 6678<para lang="ru"> 6679SPDY-соединения могли неожиданно закрываться, 6680если использовалось кэширование. 6681</para> 6682<para lang="en"> 6683SPDY connections might be closed prematurely 6684if caching was used. 6685</para> 6686</change> 6687 6688</changes> 6689 6690 6691<changes ver="1.7.2" date="2014-06-17"> 6692 6693<change type="feature"> 6694<para lang="ru"> 6695директива hash в блоке upstream. 6696</para> 6697<para lang="en"> 6698the "hash" directive inside the "upstream" block. 6699</para> 6700</change> 6701 6702<change type="feature"> 6703<para lang="ru"> 6704дефрагментация свободных блоков разделяемой памяти.<br/> 6705Спасибо Wandenberg Peixoto и Yichun Zhang. 6706</para> 6707<para lang="en"> 6708defragmentation of free shared memory blocks.<br/> 6709Thanks to Wandenberg Peixoto and Yichun Zhang. 6710</para> 6711</change> 6712 6713<change type="bugfix"> 6714<para lang="ru"> 6715в рабочем процессе мог произойти segmentation fault, 6716если использовалось значение access_log по умолчанию; 6717ошибка появилась в 1.7.0.<br/> 6718Спасибо Piotr Sikora. 6719</para> 6720<para lang="en"> 6721a segmentation fault might occur in a worker process 6722if the default value of the "access_log" directive was used; 6723the bug had appeared in 1.7.0.<br/> 6724Thanks to Piotr Sikora. 6725</para> 6726</change> 6727 6728<change type="bugfix"> 6729<para lang="ru"> 6730завершающий слэш ошибочно удалялся 6731из последнего параметра директивы try_files. 6732</para> 6733<para lang="en"> 6734trailing slash was mistakenly removed 6735from the last parameter of the "try_files" directive. 6736</para> 6737</change> 6738 6739<change type="bugfix"> 6740<para lang="ru"> 6741nginx мог не собираться на OS X. 6742</para> 6743<para lang="en"> 6744nginx could not be built on OS X in some cases. 6745</para> 6746</change> 6747 6748<change type="bugfix"> 6749<para lang="ru"> 6750в модуле ngx_http_spdy_module. 6751</para> 6752<para lang="en"> 6753in the ngx_http_spdy_module. 6754</para> 6755</change> 6756 6757</changes> 6758 6759 6760<changes ver="1.7.1" date="2014-05-27"> 6761 6762<change type="feature"> 6763<para lang="ru"> 6764переменные "$upstream_cookie_...". 6765</para> 6766<para lang="en"> 6767the "$upstream_cookie_..." variables. 6768</para> 6769</change> 6770 6771<change type="feature"> 6772<para lang="ru"> 6773переменная $ssl_client_fingerprint. 6774</para> 6775<para lang="en"> 6776the $ssl_client_fingerprint variable. 6777</para> 6778</change> 6779 6780<change type="feature"> 6781<para lang="ru"> 6782директивы error_log и access_log теперь поддерживают логгирование в syslog. 6783</para> 6784<para lang="en"> 6785the "error_log" and "access_log" directives now support logging to syslog. 6786</para> 6787</change> 6788 6789<change type="feature"> 6790<para lang="ru"> 6791почтовый прокси-сервер теперь логгирует порт клиента при соединении. 6792</para> 6793<para lang="en"> 6794the mail proxy now logs client port on connect. 6795</para> 6796</change> 6797 6798<change type="bugfix"> 6799<para lang="ru"> 6800утечки памяти при использовании директивы "ssl_stapling".<br/> 6801Спасибо Filipe da Silva. 6802</para> 6803<para lang="en"> 6804memory leak if the "ssl_stapling" directive was used.<br/> 6805Thanks to Filipe da Silva. 6806</para> 6807</change> 6808 6809<change type="bugfix"> 6810<para lang="ru"> 6811директива alias внутри location'а, заданного регулярным выражением, 6812работала неправильно, если использовались директивы if или limit_except. 6813</para> 6814<para lang="en"> 6815the "alias" directive used inside a location given by a regular expression 6816worked incorrectly if the "if" or "limit_except" directives were used. 6817</para> 6818</change> 6819 6820<change type="bugfix"> 6821<para lang="ru"> 6822директива charset не ставила кодировку для сжатых ответов бэкендов. 6823</para> 6824<para lang="en"> 6825the "charset" directive did not set a charset to encoded backend responses. 6826</para> 6827</change> 6828 6829<change type="bugfix"> 6830<para lang="ru"> 6831директива proxy_pass без URI могла использовать оригинальный запрос 6832после установки переменной $args.<br/> 6833Спасибо Yichun Zhang. 6834</para> 6835<para lang="en"> 6836a "proxy_pass" directive without URI part might use original request 6837after the $args variable was set.<br/> 6838Thanks to Yichun Zhang. 6839</para> 6840</change> 6841 6842<change type="bugfix"> 6843<para lang="ru"> 6844в работе параметра none директивы smtp_auth; 6845ошибка появилась в 1.5.6.<br/> 6846Спасибо Святославу Никольскому. 6847</para> 6848<para lang="en"> 6849in the "none" parameter in the "smtp_auth" directive; 6850the bug had appeared in 1.5.6.<br/> 6851Thanks to Svyatoslav Nikolsky. 6852</para> 6853</change> 6854 6855<change type="bugfix"> 6856<para lang="ru"> 6857при совместном использовании sub_filter и SSI 6858ответы могли передаваться неверно. 6859</para> 6860<para lang="en"> 6861if sub_filter and SSI were used together, 6862then responses might be transferred incorrectly. 6863</para> 6864</change> 6865 6866<change type="bugfix"> 6867<para lang="ru"> 6868nginx не собирался с параметром --with-file-aio на Linux/aarch64. 6869</para> 6870<para lang="en"> 6871nginx could not be built with the --with-file-aio option on Linux/aarch64. 6872</para> 6873</change> 6874 6875</changes> 6876 6877 6878<changes ver="1.7.0" date="2014-04-24"> 6879 6880<change type="feature"> 6881<para lang="ru"> 6882проверка SSL-сертификатов бэкендов. 6883</para> 6884<para lang="en"> 6885backend SSL certificate verification. 6886</para> 6887</change> 6888 6889<change type="feature"> 6890<para lang="ru"> 6891поддержка SNI при работе с бэкендами по SSL. 6892</para> 6893<para lang="en"> 6894support for SNI while working with SSL backends. 6895</para> 6896</change> 6897 6898<change type="feature"> 6899<para lang="ru"> 6900переменная $ssl_server_name. 6901</para> 6902<para lang="en"> 6903the $ssl_server_name variable. 6904</para> 6905</change> 6906 6907<change type="feature"> 6908<para lang="ru"> 6909параметр if директивы access_log. 6910</para> 6911<para lang="en"> 6912the "if" parameter of the "access_log" directive. 6913</para> 6914</change> 6915 6916</changes> 6917 6918 6919<changes ver="1.5.13" date="2014-04-08"> 6920 6921<change type="change"> 6922<para lang="ru"> 6923улучшена обработка хэш-таблиц; 6924в директивах variables_hash_max_size и types_hash_bucket_size 6925значения по умолчанию изменены на 1024 и 64 соответственно. 6926</para> 6927<para lang="en"> 6928improved hash table handling; 6929the default values of the "variables_hash_max_size" and 6930"types_hash_bucket_size" were changed to 1024 and 64 respectively. 6931</para> 6932</change> 6933 6934<change type="feature"> 6935<para lang="ru"> 6936модуль ngx_http_mp4_module теперь понимает аргумент end. 6937</para> 6938<para lang="en"> 6939the ngx_http_mp4_module now supports the "end" argument. 6940</para> 6941</change> 6942 6943<change type="feature"> 6944<para lang="ru"> 6945поддержка byte ranges модулем ngx_http_mp4_module и при сохранении 6946ответов в кэш. 6947</para> 6948<para lang="en"> 6949byte ranges support in the ngx_http_mp4_module and while saving responses 6950to cache. 6951</para> 6952</change> 6953 6954<change type="bugfix"> 6955<para lang="ru"> 6956теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory" 6957при использовании разделяемой памяти в ssl_session_cache 6958и в модуле ngx_http_limit_req_module. 6959</para> 6960<para lang="en"> 6961alerts "ngx_slab_alloc() failed: no memory" no longer logged 6962when using shared memory in the "ssl_session_cache" directive 6963and in the ngx_http_limit_req_module. 6964</para> 6965</change> 6966 6967<change type="bugfix"> 6968<para lang="ru"> 6969директива underscores_in_headers 6970не разрешала подчёркивание в первом символе заголовка.<br/> 6971Спасибо Piotr Sikora. 6972</para> 6973<para lang="en"> 6974the "underscores_in_headers" directive 6975did not allow underscore as a first character of a header.<br/> 6976Thanks to Piotr Sikora. 6977</para> 6978</change> 6979 6980<change type="bugfix"> 6981<para lang="ru"> 6982cache manager мог нагружать процессор при выходе в nginx/Windows. 6983</para> 6984<para lang="en"> 6985cache manager might hog CPU on exit in nginx/Windows. 6986</para> 6987</change> 6988 6989<change type="bugfix"> 6990<para lang="ru"> 6991при использовании ssl_session_cache с параметром shared 6992рабочий процесс nginx/Windows завершался аварийно. 6993</para> 6994<para lang="en"> 6995nginx/Windows terminated abnormally 6996if the "ssl_session_cache" directive was used with the "shared" parameter. 6997</para> 6998</change> 6999 7000<change type="bugfix"> 7001<para lang="ru"> 7002в модуле ngx_http_spdy_module. 7003</para> 7004<para lang="en"> 7005in the ngx_http_spdy_module. 7006</para> 7007</change> 7008 7009</changes> 7010 7011 7012<changes ver="1.5.12" date="2014-03-18"> 7013 7014<change type="security"> 7015<para lang="ru"> 7016при обработке специально созданного запроса модулем ngx_http_spdy_module 7017могло происходить переполнение буфера в рабочем процессе, 7018что потенциально могло приводить к выполнению произвольного кода 7019(CVE-2014-0133).<br/> 7020Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel 7021Sadosky, Buenos Aires, Argentina. 7022</para> 7023<para lang="en"> 7024a heap memory buffer overflow might occur in a worker process 7025while handling a specially crafted request by ngx_http_spdy_module, 7026potentially resulting in arbitrary code execution 7027(CVE-2014-0133).<br/> 7028Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel 7029Sadosky, Buenos Aires, Argentina. 7030</para> 7031</change> 7032 7033<change type="feature"> 7034<para lang="ru"> 7035параметр proxy_protocol в директивах listen и real_ip_header, 7036переменная $proxy_protocol_addr. 7037</para> 7038<para lang="en"> 7039the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives, 7040the $proxy_protocol_addr variable. 7041</para> 7042</change> 7043 7044<change type="bugfix"> 7045<para lang="ru"> 7046в директиве fastcgi_next_upstream.<br/> 7047Спасибо Lucas Molas. 7048</para> 7049<para lang="en"> 7050in the "fastcgi_next_upstream" directive.<br/> 7051Thanks to Lucas Molas. 7052</para> 7053</change> 7054 7055</changes> 7056 7057 7058<changes ver="1.5.11" date="2014-03-04"> 7059 7060<change type="security"> 7061<para lang="ru"> 7062при обработке специально созданного запроса модулем ngx_http_spdy_module 7063на 32-битных платформах могла повреждаться память рабочего процесса, 7064что потенциально могло приводить к выполнению произвольного кода 7065(CVE-2014-0088); 7066ошибка появилась в 1.5.10.<br/> 7067Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel 7068Sadosky, Buenos Aires, Argentina. 7069</para> 7070<para lang="en"> 7071memory corruption might occur in a worker process on 32-bit platforms 7072while handling a specially crafted request by ngx_http_spdy_module, 7073potentially resulting in arbitrary code execution (CVE-2014-0088); 7074the bug had appeared in 1.5.10.<br/> 7075Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel 7076Sadosky, Buenos Aires, Argentina. 7077</para> 7078</change> 7079 7080<change type="feature"> 7081<para lang="ru"> 7082переменная $ssl_session_reused. 7083</para> 7084<para lang="en"> 7085the $ssl_session_reused variable. 7086</para> 7087</change> 7088 7089<change type="bugfix"> 7090<para lang="ru"> 7091директива client_max_body_size могла не работать 7092при чтении тела запроса с использованием chunked transfer encoding; 7093ошибка появилась в 1.3.9.<br/> 7094Спасибо Lucas Molas. 7095</para> 7096<para lang="en"> 7097the "client_max_body_size" directive might not work 7098when reading a request body using chunked transfer encoding; 7099the bug had appeared in 1.3.9.<br/> 7100Thanks to Lucas Molas. 7101</para> 7102</change> 7103 7104<change type="bugfix"> 7105<para lang="ru"> 7106при проксировании WebSocket-соединений 7107в рабочем процессе мог произойти segmentation fault. 7108</para> 7109<para lang="en"> 7110a segmentation fault might occur in a worker process 7111when proxying WebSocket connections. 7112</para> 7113</change> 7114 7115<change type="bugfix"> 7116<para lang="ru"> 7117в рабочем процессе мог произойти segmentation fault, 7118если использовался модуль ngx_http_spdy_module на 32-битных платформах; 7119ошибка появилась в 1.5.10. 7120</para> 7121<para lang="en"> 7122a segmentation fault might occur in a worker process 7123if the ngx_http_spdy_module was used on 32-bit platforms; 7124the bug had appeared in 1.5.10. 7125</para> 7126</change> 7127 7128<change type="bugfix"> 7129<para lang="ru"> 7130значение переменной $upstream_status могло быть неверным, 7131если использовались директивы proxy_cache_use_stale 7132или proxy_cache_revalidate.<br/> 7133Спасибо Piotr Sikora. 7134</para> 7135<para lang="en"> 7136the $upstream_status variable might contain wrong data 7137if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives 7138were used.<br/> 7139Thanks to Piotr Sikora. 7140</para> 7141</change> 7142 7143<change type="bugfix"> 7144<para lang="ru"> 7145в рабочем процессе мог произойти segmentation fault, 7146если ошибки с кодом 400 с помощью директивы error_page 7147перенаправлялись в именованный location. 7148</para> 7149<para lang="en"> 7150a segmentation fault might occur in a worker process 7151if errors with code 400 were redirected to a named location 7152using the "error_page" directive. 7153</para> 7154</change> 7155 7156<change type="bugfix"> 7157<para lang="ru"> 7158nginx/Windows не собирался с Visual Studio 2013. 7159</para> 7160<para lang="en"> 7161nginx/Windows could not be built with Visual Studio 2013. 7162</para> 7163</change> 7164 7165</changes> 7166 7167 7168<changes ver="1.5.10" date="2014-02-04"> 7169 7170<change type="feature"> 7171<para lang="ru"> 7172модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/> 7173Спасибо Automattic и MaxCDN за спонсирование разработки. 7174</para> 7175<para lang="en"> 7176the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/> 7177Thanks to Automattic and MaxCDN for sponsoring this work. 7178</para> 7179</change> 7180 7181<change type="feature"> 7182<para lang="ru"> 7183модуль ngx_http_mp4_module теперь пропускает дорожки, 7184имеющие меньшую длину, чем запрошенная перемотка. 7185</para> 7186<para lang="en"> 7187the ngx_http_mp4_module now skips tracks 7188too short for a seek requested. 7189</para> 7190</change> 7191 7192<change type="bugfix"> 7193<para lang="ru"> 7194в рабочем процессе мог произойти segmentation fault, 7195если переменная $ssl_session_id использовалась при логгировании; 7196ошибка появилась в 1.5.9. 7197</para> 7198<para lang="en"> 7199a segmentation fault might occur in a worker process 7200if the $ssl_session_id variable was used in logs; 7201the bug had appeared in 1.5.9. 7202</para> 7203</change> 7204 7205<change type="bugfix"> 7206<para lang="ru"> 7207переменные $date_local и $date_gmt использовали неверный формат 7208вне модуля ngx_http_ssi_filter_module. 7209</para> 7210<para lang="en"> 7211the $date_local and $date_gmt variables used wrong format 7212outside of the ngx_http_ssi_filter_module. 7213</para> 7214</change> 7215 7216<change type="bugfix"> 7217<para lang="ru"> 7218клиентские соединения могли сразу закрываться, 7219если использовался отложенный accept; 7220ошибка появилась в 1.3.15. 7221</para> 7222<para lang="en"> 7223client connections might be immediately closed 7224if deferred accept was used; 7225the bug had appeared in 1.3.15. 7226</para> 7227</change> 7228 7229<change type="bugfix"> 7230<para lang="ru"> 7231сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог 7232в процессе обновления исполняемого файла на Linux; 7233ошибка появилась в 1.5.8.<br/> 7234Спасибо Piotr Sikora. 7235</para> 7236<para lang="en"> 7237alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs 7238during binary upgrade on Linux; 7239the bug had appeared in 1.5.8.<br/> 7240Thanks to Piotr Sikora. 7241</para> 7242</change> 7243 7244</changes> 7245 7246 7247<changes ver="1.5.9" date="2014-01-22"> 7248 7249<change type="change"> 7250<para lang="ru"> 7251теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI. 7252</para> 7253<para lang="en"> 7254now nginx expects escaped URIs in "X-Accel-Redirect" headers. 7255</para> 7256</change> 7257 7258<change type="feature"> 7259<para lang="ru"> 7260директива ssl_buffer_size. 7261</para> 7262<para lang="en"> 7263the "ssl_buffer_size" directive. 7264</para> 7265</change> 7266 7267<change type="feature"> 7268<para lang="ru"> 7269директиву limit_rate теперь можно использовать для 7270ограничения скорости передачи ответов клиенту в SPDY-соединениях. 7271</para> 7272<para lang="en"> 7273the "limit_rate" directive can now be used to 7274rate limit responses sent in SPDY connections. 7275</para> 7276</change> 7277 7278<change type="feature"> 7279<para lang="ru"> 7280директива spdy_chunk_size. 7281</para> 7282<para lang="en"> 7283the "spdy_chunk_size" directive. 7284</para> 7285</change> 7286 7287<change type="feature"> 7288<para lang="ru"> 7289директива ssl_session_tickets.<br/> 7290Спасибо Dirkjan Bussink. 7291</para> 7292<para lang="en"> 7293the "ssl_session_tickets" directive.<br/> 7294Thanks to Dirkjan Bussink. 7295</para> 7296</change> 7297 7298<change type="bugfix"> 7299<para lang="ru"> 7300переменная $ssl_session_id содержала всю сессию в сериализованном виде 7301вместо её идентификатора.<br/> 7302Спасибо Ivan Ristić. 7303</para> 7304<para lang="en"> 7305the $ssl_session_id variable contained full session serialized 7306instead of just a session id.<br/> 7307Thanks to Ivan Ristić. 7308</para> 7309</change> 7310 7311<change type="bugfix"> 7312<para lang="ru"> 7313nginx неправильно обрабатывал закодированный символ "?" в команде SSI include. 7314</para> 7315<para lang="en"> 7316nginx incorrectly handled escaped "?" character in the "include" SSI command. 7317</para> 7318</change> 7319 7320<change type="bugfix"> 7321<para lang="ru"> 7322модуль ngx_http_dav_module не раскодировал целевой URI при 7323обработке методов COPY и MOVE. 7324</para> 7325<para lang="en"> 7326the ngx_http_dav_module did not unescape destination URI 7327of the COPY and MOVE methods. 7328</para> 7329</change> 7330 7331<change type="bugfix"> 7332<para lang="ru"> 7333resolver не понимал доменные имена с точкой в конце. 7334Спасибо Yichun Zhang. 7335</para> 7336<para lang="en"> 7337resolver did not understand domain names with a trailing dot. 7338Thanks to Yichun Zhang. 7339</para> 7340</change> 7341 7342<change type="bugfix"> 7343<para lang="ru"> 7344при проксировании в логах могли появляться сообщения "zero size buf in output"; 7345ошибка появилась в 1.3.9. 7346</para> 7347<para lang="en"> 7348alerts "zero size buf in output" might appear in logs while proxying; 7349the bug had appeared in 1.3.9. 7350</para> 7351</change> 7352 7353<change type="bugfix"> 7354<para lang="ru"> 7355в рабочем процессе мог произойти segmentation fault, 7356если использовался модуль ngx_http_spdy_module. 7357</para> 7358<para lang="en"> 7359a segmentation fault might occur in a worker process 7360if the ngx_http_spdy_module was used. 7361</para> 7362</change> 7363 7364<change type="bugfix"> 7365<para lang="ru"> 7366при использовании методов обработки соединений select, poll и /dev/poll 7367проксируемые WebSocket-соединения могли зависать сразу после открытия. 7368</para> 7369<para lang="en"> 7370proxied WebSocket connections might hang right after handshake 7371if the select, poll, or /dev/poll methods were used. 7372</para> 7373</change> 7374 7375<change type="bugfix"> 7376<para lang="ru"> 7377директива xclient почтового прокси-сервера 7378некорректно передавала IPv6-адреса. 7379</para> 7380<para lang="en"> 7381the "xclient" directive of the mail proxy module 7382incorrectly handled IPv6 client addresses. 7383</para> 7384</change> 7385 7386</changes> 7387 7388 7389<changes ver="1.5.8" date="2013-12-17"> 7390 7391<change type="feature"> 7392<para lang="ru"> 7393теперь resolver поддерживает IPv6. 7394</para> 7395<para lang="en"> 7396IPv6 support in resolver. 7397</para> 7398</change> 7399 7400<change type="feature"> 7401<para lang="ru"> 7402директива listen поддерживает параметр fastopen.<br/> 7403Спасибо Mathew Rodley. 7404</para> 7405<para lang="en"> 7406the "listen" directive supports the "fastopen" parameter.<br/> 7407Thanks to Mathew Rodley. 7408</para> 7409</change> 7410 7411<change type="feature"> 7412<para lang="ru"> 7413поддержка SSL в модуле ngx_http_uwsgi_module.<br/> 7414Спасибо Roberto De Ioris. 7415</para> 7416<para lang="en"> 7417SSL support in the ngx_http_uwsgi_module.<br/> 7418Thanks to Roberto De Ioris. 7419</para> 7420</change> 7421 7422<change type="feature"> 7423<para lang="ru"> 7424скрипты подсветки синтаксиса для vim добавлены в contrib.<br/> 7425Спасибо Evan Miller. 7426</para> 7427<para lang="en"> 7428vim syntax highlighting scripts were added to contrib.<br/> 7429Thanks to Evan Miller. 7430</para> 7431</change> 7432 7433<change type="bugfix"> 7434<para lang="ru"> 7435при чтении тела запроса с использованием chunked transfer encoding 7436по SSL-соединению мог произойти таймаут. 7437</para> 7438<para lang="en"> 7439a timeout might occur while reading client request body 7440in an SSL connection using chunked transfer encoding. 7441</para> 7442</change> 7443 7444<change type="bugfix"> 7445<para lang="ru"> 7446директива master_process работала неправильно в nginx/Windows. 7447</para> 7448<para lang="en"> 7449the "master_process" directive did not work correctly in nginx/Windows. 7450</para> 7451</change> 7452 7453<change type="bugfix"> 7454<para lang="ru"> 7455параметр setfib директивы listen мог не работать. 7456</para> 7457<para lang="en"> 7458the "setfib" parameter of the "listen" directive might not work. 7459</para> 7460</change> 7461 7462<change type="bugfix"> 7463<para lang="ru"> 7464в модуле ngx_http_spdy_module. 7465</para> 7466<para lang="en"> 7467in the ngx_http_spdy_module. 7468</para> 7469</change> 7470 7471</changes> 7472 7473 7474<changes ver="1.5.7" date="2013-11-19"> 7475 7476<change type="security"> 7477<para lang="ru"> 7478символ, следующий за незакодированным пробелом в строке запроса, 7479обрабатывался неправильно (CVE-2013-4547); 7480ошибка появилась в 0.8.41.<br/> 7481Спасибо Ivan Fratric из Google Security Team. 7482</para> 7483<para lang="en"> 7484a character following an unescaped space in a request line 7485was handled incorrectly (CVE-2013-4547); 7486the bug had appeared in 0.8.41.<br/> 7487Thanks to Ivan Fratric of the Google Security Team. 7488</para> 7489</change> 7490 7491<change type="change"> 7492<para lang="ru"> 7493уровень логгирования ошибок auth_basic об отсутствии пароля 7494понижен с уровня error до info. 7495</para> 7496<para lang="en"> 7497a logging level of auth_basic errors about no user/password provided 7498has been lowered from "error" to "info". 7499</para> 7500</change> 7501 7502<change type="feature"> 7503<para lang="ru"> 7504директивы proxy_cache_revalidate, fastcgi_cache_revalidate, 7505scgi_cache_revalidate и uwsgi_cache_revalidate. 7506</para> 7507<para lang="en"> 7508the "proxy_cache_revalidate", "fastcgi_cache_revalidate", 7509"scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives. 7510</para> 7511</change> 7512 7513<change type="feature"> 7514<para lang="ru"> 7515директива ssl_session_ticket_key.<br/> 7516Спасибо Piotr Sikora. 7517</para> 7518<para lang="en"> 7519the "ssl_session_ticket_key" directive.<br/> 7520Thanks to Piotr Sikora. 7521</para> 7522</change> 7523 7524<change type="bugfix"> 7525<para lang="ru"> 7526директива "add_header Cache-Control ''" 7527добавляла строку заголовка ответа "Cache-Control" с пустым значением. 7528</para> 7529<para lang="en"> 7530the directive "add_header Cache-Control ''" 7531added a "Cache-Control" response header line with an empty value. 7532</para> 7533</change> 7534 7535<change type="bugfix"> 7536<para lang="ru"> 7537директива "satisfy any" могла вернуть ошибку 403 вместо 401 7538при использовании директив auth_request и auth_basic.<br/> 7539Спасибо Jan Marc Hoffmann. 7540</para> 7541<para lang="en"> 7542the "satisfy any" directive might return 403 error instead of 401 7543if auth_request and auth_basic directives were used.<br/> 7544Thanks to Jan Marc Hoffmann. 7545</para> 7546</change> 7547 7548<change type="bugfix"> 7549<para lang="ru"> 7550параметры accept_filter и deferred директивы listen игнорировались 7551для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/> 7552Спасибо Piotr Sikora. 7553</para> 7554<para lang="en"> 7555the "accept_filter" and "deferred" parameters of the "listen" directive 7556were ignored for listen sockets created during binary upgrade.<br/> 7557Thanks to Piotr Sikora. 7558</para> 7559</change> 7560 7561<change type="bugfix"> 7562<para lang="ru"> 7563часть данных, полученных от бэкенда при небуферизированном проксировании, 7564могла не отправляться клиенту сразу, 7565если использовались директивы gzip или gunzip.<br/> 7566Спасибо Yichun Zhang. 7567</para> 7568<para lang="en"> 7569some data received from a backend with unbufferred proxy 7570might not be sent to a client immediately 7571if "gzip" or "gunzip" directives were used.<br/> 7572Thanks to Yichun Zhang. 7573</para> 7574</change> 7575 7576<change type="bugfix"> 7577<para lang="ru"> 7578в обработке ошибок в модуле ngx_http_gunzip_filter_module. 7579</para> 7580<para lang="en"> 7581in error handling in ngx_http_gunzip_filter_module. 7582</para> 7583</change> 7584 7585<change type="bugfix"> 7586<para lang="ru"> 7587ответы могли зависать, 7588если использовался модуль ngx_http_spdy_module 7589и директива auth_request. 7590</para> 7591<para lang="en"> 7592responses might hang 7593if the ngx_http_spdy_module was used 7594with the "auth_request" directive. 7595</para> 7596</change> 7597 7598<change type="bugfix"> 7599<para lang="ru"> 7600утечки памяти в nginx/Windows. 7601</para> 7602<para lang="en"> 7603memory leak in nginx/Windows. 7604</para> 7605</change> 7606 7607</changes> 7608 7609 7610<changes ver="1.5.6" date="2013-10-01"> 7611 7612<change type="feature"> 7613<para lang="ru"> 7614директива fastcgi_buffering. 7615</para> 7616<para lang="en"> 7617the "fastcgi_buffering" directive. 7618</para> 7619</change> 7620 7621<change type="feature"> 7622<para lang="ru"> 7623директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/> 7624Спасибо Piotr Sikora. 7625</para> 7626<para lang="en"> 7627the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/> 7628Thanks to Piotr Sikora. 7629</para> 7630</change> 7631 7632<change type="feature"> 7633<para lang="ru"> 7634оптимизация SSL handshake при использовании длинных цепочек сертификатов. 7635</para> 7636<para lang="en"> 7637optimization of SSL handshakes when using long certificate chains. 7638</para> 7639</change> 7640 7641<change type="feature"> 7642<para lang="ru"> 7643почтовый прокси-сервер поддерживает SMTP pipelining. 7644</para> 7645<para lang="en"> 7646the mail proxy supports SMTP pipelining. 7647</para> 7648</change> 7649 7650<change type="bugfix"> 7651<para lang="ru"> 7652в модуле ngx_http_auth_basic_module 7653при использовании метода шифрования паролей "$apr1$".<br/> 7654Спасибо Markus Linnala. 7655</para> 7656<para lang="en"> 7657in the ngx_http_auth_basic_module 7658when using "$apr1$" password encryption method.<br/> 7659Thanks to Markus Linnala. 7660</para> 7661</change> 7662 7663<change type="bugfix"> 7664<para lang="ru"> 7665на MacOSX, Cygwin и nginx/Windows 7666для обработки запроса мог использоваться неверный location, 7667если для задания location'ов использовались символы разных регистров. 7668</para> 7669<para lang="en"> 7670in MacOSX, Cygwin, and nginx/Windows 7671incorrect location might be used to process a request 7672if locations were given using characters in different cases. 7673</para> 7674</change> 7675 7676<change type="bugfix"> 7677<para lang="ru"> 7678автоматическое перенаправление с добавлением завершающего слэша 7679для проксированных location'ов могло не работать. 7680</para> 7681<para lang="en"> 7682automatic redirect with appended trailing slash 7683for proxied locations might not work. 7684</para> 7685</change> 7686 7687<change type="bugfix"> 7688<para lang="ru"> 7689в почтовом прокси-сервере. 7690</para> 7691<para lang="en"> 7692in the mail proxy server. 7693</para> 7694</change> 7695 7696<change type="bugfix"> 7697<para lang="ru"> 7698в модуле ngx_http_spdy_module. 7699</para> 7700<para lang="en"> 7701in the ngx_http_spdy_module. 7702</para> 7703</change> 7704 7705</changes> 7706 7707 7708<changes ver="1.5.5" date="2013-09-17"> 7709 7710<change type="change"> 7711<para lang="ru"> 7712теперь nginx по умолчанию использует HTTP/1.0, 7713если точно определить протокол не удалось. 7714</para> 7715<para lang="en"> 7716now nginx assumes HTTP/1.0 by default 7717if it is not able to detect protocol reliably. 7718</para> 7719</change> 7720 7721<change type="feature"> 7722<para lang="ru"> 7723директива disable_symlinks теперь использует O_PATH на Linux. 7724</para> 7725<para lang="en"> 7726the "disable_symlinks" directive now uses O_PATH on Linux. 7727</para> 7728</change> 7729 7730<change type="feature"> 7731<para lang="ru"> 7732для определения того, что клиент закрыл соединение, 7733при использовании метода epoll 7734теперь используются события EPOLLRDHUP. 7735</para> 7736<para lang="en"> 7737now nginx uses EPOLLRDHUP events 7738to detect premature connection close by clients 7739if the "epoll" method is used. 7740</para> 7741</change> 7742 7743<change type="bugfix"> 7744<para lang="ru"> 7745в директиве valid_referers при использовании параметра server_names. 7746</para> 7747<para lang="en"> 7748in the "valid_referers" directive if the "server_names" parameter was used. 7749</para> 7750</change> 7751 7752<change type="bugfix"> 7753<para lang="ru"> 7754переменная $request_time не работала в nginx/Windows. 7755</para> 7756<para lang="en"> 7757the $request_time variable did not work in nginx/Windows. 7758</para> 7759</change> 7760 7761<change type="bugfix"> 7762<para lang="ru"> 7763в директиве image_filter.<br/> 7764Спасибо Lanshun Zhou. 7765</para> 7766<para lang="en"> 7767in the "image_filter" directive.<br/> 7768Thanks to Lanshun Zhou. 7769</para> 7770</change> 7771 7772<change type="bugfix"> 7773<para lang="ru"> 7774совместимость с OpenSSL 1.0.1f.<br/> 7775Спасибо Piotr Sikora. 7776</para> 7777<para lang="en"> 7778OpenSSL 1.0.1f compatibility.<br/> 7779Thanks to Piotr Sikora. 7780</para> 7781</change> 7782 7783 7784</changes> 7785 7786 7787<changes ver="1.5.4" date="2013-08-27"> 7788 7789<change type="change"> 7790<para lang="ru"> 7791MIME-тип для расширения js изменён на "application/javascript"; 7792значение по умолчанию директивы charset_types изменено соответственно. 7793</para> 7794<para lang="en"> 7795the "js" extension MIME type has been changed to "application/javascript"; 7796default value of the "charset_types" directive was changed accordingly. 7797</para> 7798</change> 7799 7800<change type="change"> 7801<para lang="ru"> 7802теперь директива image_filter с параметром size 7803возвращает ответ с MIME-типом "application/json". 7804</para> 7805<para lang="en"> 7806now the "image_filter" directive with the "size" parameter 7807returns responses with the "application/json" MIME type. 7808</para> 7809</change> 7810 7811<change type="feature"> 7812<para lang="ru"> 7813модуль ngx_http_auth_request_module. 7814</para> 7815<para lang="en"> 7816the ngx_http_auth_request_module. 7817</para> 7818</change> 7819 7820<change type="bugfix"> 7821<para lang="ru"> 7822на старте или во время переконфигурации мог произойти segmentation fault, 7823если использовалась директива try_files с пустым параметром. 7824</para> 7825<para lang="en"> 7826a segmentation fault might occur on start or during reconfiguration 7827if the "try_files" directive was used with an empty parameter. 7828</para> 7829</change> 7830 7831<change type="bugfix"> 7832<para lang="ru"> 7833утечки памяти при использовании в директивах root и auth_basic_user_file 7834относительных путей, заданных с помощью переменных. 7835</para> 7836<para lang="en"> 7837memory leak if relative paths were specified using variables 7838in the "root" or "auth_basic_user_file" directives. 7839</para> 7840</change> 7841 7842<change type="bugfix"> 7843<para lang="ru"> 7844директива valid_referers неправильно выполняла регулярные выражения, 7845если заголовок Referer начинался с "https://".<br/> 7846Спасибо Liangbin Li. 7847</para> 7848<para lang="en"> 7849the "valid_referers" directive incorrectly executed regular expressions 7850if a "Referer" header started with "https://".<br/> 7851Thanks to Liangbin Li. 7852</para> 7853</change> 7854 7855<change type="bugfix"> 7856<para lang="ru"> 7857ответы могли зависать, если использовались подзапросы и при обработке подзапроса 7858происходила ошибка во время SSL handshake с бэкендом.<br/> 7859Спасибо Aviram Cohen. 7860</para> 7861<para lang="en"> 7862responses might hang if subrequests were used 7863and an SSL handshake error happened during subrequest processing.<br/> 7864Thanks to Aviram Cohen. 7865</para> 7866</change> 7867 7868<change type="bugfix"> 7869<para lang="ru"> 7870в модуле ngx_http_autoindex_module. 7871</para> 7872<para lang="en"> 7873in the ngx_http_autoindex_module. 7874</para> 7875</change> 7876 7877<change type="bugfix"> 7878<para lang="ru"> 7879в модуле ngx_http_spdy_module. 7880</para> 7881<para lang="en"> 7882in the ngx_http_spdy_module. 7883</para> 7884</change> 7885 7886</changes> 7887 7888 7889<changes ver="1.5.3" date="2013-07-30"> 7890 7891<change> 7892<para lang="ru"> 7893Изменение во внутреннем API: 7894теперь при небуферизированной работе с бэкендами 7895u->length по умолчанию устанавливается в -1. 7896</para> 7897<para lang="en"> 7898Change in internal API: 7899now u->length defaults to -1 7900if working with backends in unbuffered mode. 7901</para> 7902</change> 7903 7904<change type="change"> 7905<para lang="ru"> 7906теперь при получении неполного ответа от бэкенда 7907nginx отправляет полученную часть ответа, 7908после чего закрывает соединение с клиентом. 7909</para> 7910<para lang="en"> 7911now after receiving an incomplete response from a backend server 7912nginx tries to send an available part of the response to a client, 7913and then closes client connection. 7914</para> 7915</change> 7916 7917<change type="bugfix"> 7918<para lang="ru"> 7919в рабочем процессе мог произойти segmentation fault, 7920если использовался модуль ngx_http_spdy_module 7921и директива client_body_in_file_only. 7922</para> 7923<para lang="en"> 7924a segmentation fault might occur in a worker process 7925if the ngx_http_spdy_module was used 7926with the "client_body_in_file_only" directive. 7927</para> 7928</change> 7929 7930<change type="bugfix"> 7931<para lang="ru"> 7932параметр so_keepalive директивы listen 7933мог работать некорректно на DragonFlyBSD.<br/> 7934Спасибо Sepherosa Ziehau. 7935</para> 7936<para lang="en"> 7937the "so_keepalive" parameter of the "listen" directive 7938might be handled incorrectly on DragonFlyBSD.<br/> 7939Thanks to Sepherosa Ziehau. 7940</para> 7941</change> 7942 7943<change type="bugfix"> 7944<para lang="ru"> 7945в модуле ngx_http_xslt_filter_module. 7946</para> 7947<para lang="en"> 7948in the ngx_http_xslt_filter_module. 7949</para> 7950</change> 7951 7952<change type="bugfix"> 7953<para lang="ru"> 7954в модуле ngx_http_sub_filter_module. 7955</para> 7956<para lang="en"> 7957in the ngx_http_sub_filter_module. 7958</para> 7959</change> 7960 7961</changes> 7962 7963 7964<changes ver="1.5.2" date="2013-07-02"> 7965 7966<change type="feature"> 7967<para lang="ru"> 7968теперь можно использовать несколько директив error_log. 7969</para> 7970<para lang="en"> 7971now several "error_log" directives can be used. 7972</para> 7973</change> 7974 7975<change type="bugfix"> 7976<para lang="ru"> 7977метод $r->header_in() встроенного перла не возвращал значения строк 7978"Cookie" и "X-Forwarded-For" из заголовка запроса; 7979ошибка появилась в 1.3.14. 7980</para> 7981<para lang="en"> 7982the $r->header_in() embedded perl method did not return value of the 7983"Cookie" and "X-Forwarded-For" request header lines; 7984the bug had appeared in 1.3.14. 7985</para> 7986</change> 7987 7988<change type="bugfix"> 7989<para lang="ru"> 7990в модуле ngx_http_spdy_module.<br/> 7991Спасибо Jim Radford. 7992</para> 7993<para lang="en"> 7994in the ngx_http_spdy_module.<br/> 7995Thanks to Jim Radford. 7996</para> 7997</change> 7998 7999<change type="bugfix"> 8000<para lang="ru"> 8001nginx не собирался на Linux при использовании x32 ABI.<br/> 8002Спасибо Сергею Иванцову. 8003</para> 8004<para lang="en"> 8005nginx could not be built on Linux with x32 ABI.<br/> 8006Thanks to Serguei Ivantsov. 8007</para> 8008</change> 8009 8010</changes> 8011 8012 8013<changes ver="1.5.1" date="2013-06-04"> 8014 8015<change type="feature"> 8016<para lang="ru"> 8017директивы ssi_last_modified, sub_filter_last_modified и 8018xslt_last_modified.<br/> 8019Спасибо Алексею Колпакову. 8020</para> 8021<para lang="en"> 8022the "ssi_last_modified", "sub_filter_last_modified", and 8023"xslt_last_modified" directives.<br/> 8024Thanks to Alexey Kolpakov. 8025</para> 8026</change> 8027 8028<change type="feature"> 8029<para lang="ru"> 8030параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream, 8031scgi_next_upstream и uwsgi_next_upstream. 8032</para> 8033<para lang="en"> 8034the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", 8035"scgi_next_upstream", and "uwsgi_next_upstream" directives. 8036</para> 8037</change> 8038 8039<change type="feature"> 8040<para lang="ru"> 8041директивы allow и deny теперь поддерживают unix domain сокеты. 8042</para> 8043<para lang="en"> 8044the "allow" and "deny" directives now support unix domain sockets. 8045</para> 8046</change> 8047 8048<change type="bugfix"> 8049<para lang="ru"> 8050nginx не собирался с модулем ngx_mail_ssl_module, 8051но без модуля ngx_http_ssl_module; 8052ошибка появилась в 1.3.14. 8053</para> 8054<para lang="en"> 8055nginx could not be built with the ngx_mail_ssl_module, 8056but without ngx_http_ssl_module; 8057the bug had appeared in 1.3.14. 8058</para> 8059</change> 8060 8061<change type="bugfix"> 8062<para lang="ru"> 8063в директиве proxy_set_body.<br/> 8064Спасибо Lanshun Zhou. 8065</para> 8066<para lang="en"> 8067in the "proxy_set_body" directive.<br/> 8068Thanks to Lanshun Zhou. 8069</para> 8070</change> 8071 8072<change type="bugfix"> 8073<para lang="ru"> 8074в директиве lingering_time.<br/> 8075Спасибо Lanshun Zhou. 8076</para> 8077<para lang="en"> 8078in the "lingering_time" directive.<br/> 8079Thanks to Lanshun Zhou. 8080</para> 8081</change> 8082 8083<change type="bugfix"> 8084<para lang="ru"> 8085параметр fail_timeout директивы server 8086в блоке upstream мог не работать, 8087если использовался параметр max_fails; 8088ошибка появилась в 1.3.0. 8089</para> 8090<para lang="en"> 8091the "fail_timeout" parameter of the "server" directive 8092in the "upstream" context might not work 8093if "max_fails" parameter was used; 8094the bug had appeared in 1.3.0. 8095</para> 8096</change> 8097 8098<change type="bugfix"> 8099<para lang="ru"> 8100в рабочем процессе мог произойти segmentation fault, 8101если использовалась директива ssl_stapling.<br/> 8102Спасибо Piotr Sikora. 8103</para> 8104<para lang="en"> 8105a segmentation fault might occur in a worker process 8106if the "ssl_stapling" directive was used.<br/> 8107Thanks to Piotr Sikora. 8108</para> 8109</change> 8110 8111<change type="bugfix"> 8112<para lang="ru"> 8113в почтовом прокси-сервере.<br/> 8114Спасибо Filipe Da Silva. 8115</para> 8116<para lang="en"> 8117in the mail proxy server.<br/> 8118Thanks to Filipe Da Silva. 8119</para> 8120</change> 8121 8122<change type="bugfix"> 8123<para lang="ru"> 8124nginx/Windows мог перестать принимать соединения, 8125если использовалось несколько рабочих процессов. 8126</para> 8127<para lang="en"> 8128nginx/Windows might stop accepting connections 8129if several worker processes were used. 8130</para> 8131</change> 8132 8133</changes> 8134 8135 8136<changes ver="1.5.0" date="2013-05-07"> 8137 8138<change type="security"> 8139<para lang="ru"> 8140при обработке специально созданного запроса 8141мог перезаписываться стек рабочего процесса, 8142что могло приводить к выполнению произвольного кода (CVE-2013-2028); 8143ошибка появилась в 1.3.9.<br/> 8144Спасибо Greg MacManus, iSIGHT Partners Labs. 8145</para> 8146<para lang="en"> 8147a stack-based buffer overflow might occur in a worker process 8148while handling a specially crafted request, 8149potentially resulting in arbitrary code execution (CVE-2013-2028); 8150the bug had appeared in 1.3.9.<br/> 8151Thanks to Greg MacManus, iSIGHT Partners Labs. 8152</para> 8153</change> 8154 8155</changes> 8156 8157 8158<changes ver="1.4.0" date="2013-04-24"> 8159 8160<change type="bugfix"> 8161<para lang="ru"> 8162nginx не собирался с модулем ngx_http_perl_module, 8163если использовался параметр --with-openssl; 8164ошибка появилась в 1.3.16. 8165</para> 8166<para lang="en"> 8167nginx could not be built with the ngx_http_perl_module 8168if the --with-openssl option was used; 8169the bug had appeared in 1.3.16. 8170</para> 8171</change> 8172 8173<change type="bugfix"> 8174<para lang="ru"> 8175в работе с телом запроса из модуля ngx_http_perl_module; 8176ошибка появилась в 1.3.9. 8177</para> 8178<para lang="en"> 8179in a request body handling in the ngx_http_perl_module; 8180the bug had appeared in 1.3.9. 8181</para> 8182</change> 8183 8184</changes> 8185 8186 8187<changes ver="1.3.16" date="2013-04-16"> 8188 8189<change type="bugfix"> 8190<para lang="ru"> 8191в рабочем процессе мог произойти segmentation fault, 8192если использовались подзапросы; 8193ошибка появилась в 1.3.9. 8194</para> 8195<para lang="en"> 8196a segmentation fault might occur in a worker process 8197if subrequests were used; 8198the bug had appeared in 1.3.9. 8199</para> 8200</change> 8201 8202<change type="bugfix"> 8203<para lang="ru"> 8204директива tcp_nodelay вызывала ошибку 8205при проксировании WebSocket-соединений в unix domain сокет. 8206</para> 8207<para lang="en"> 8208the "tcp_nodelay" directive caused an error 8209if a WebSocket connection was proxied into a unix domain socket. 8210</para> 8211</change> 8212 8213<change type="bugfix"> 8214<para lang="ru"> 8215переменная $upstream_response_length возвращала значение "0", 8216если не использовалась буферизация.<br/> 8217Спасибо Piotr Sikora. 8218</para> 8219<para lang="en"> 8220the $upstream_response_length variable has an incorrect value "0" 8221if buffering was not used.<br/> 8222Thanks to Piotr Sikora. 8223</para> 8224</change> 8225 8226<change type="bugfix"> 8227<para lang="ru"> 8228в методах обработки соединений eventport и /dev/poll. 8229</para> 8230<para lang="en"> 8231in the eventport and /dev/poll methods. 8232</para> 8233</change> 8234 8235</changes> 8236 8237 8238<changes ver="1.3.15" date="2013-03-26"> 8239 8240<change type="change"> 8241<para lang="ru"> 8242открытие и закрытие соединения без отправки в нём каких-либо данных 8243больше не записывается в access_log с кодом ошибки 400. 8244</para> 8245<para lang="en"> 8246opening and closing a connection without sending any data in it 8247is no longer logged to access_log with error code 400. 8248</para> 8249</change> 8250 8251<change type="feature"> 8252<para lang="ru"> 8253модуль ngx_http_spdy_module.<br/> 8254Спасибо Automattic за спонсирование разработки. 8255</para> 8256<para lang="en"> 8257the ngx_http_spdy_module.<br/> 8258Thanks to Automattic for sponsoring this work. 8259</para> 8260</change> 8261 8262<change type="feature"> 8263<para lang="ru"> 8264директивы limit_req_status и limit_conn_status.<br/> 8265Спасибо Nick Marden. 8266</para> 8267<para lang="en"> 8268the "limit_req_status" and "limit_conn_status" directives.<br/> 8269Thanks to Nick Marden. 8270</para> 8271</change> 8272 8273<change type="feature"> 8274<para lang="ru"> 8275директива image_filter_interlace.<br/> 8276Спасибо Ивану Боброву. 8277</para> 8278<para lang="en"> 8279the "image_filter_interlace" directive.<br/> 8280Thanks to Ian Babrou. 8281</para> 8282</change> 8283 8284<change type="feature"> 8285<para lang="ru"> 8286переменная $connections_waiting в модуле ngx_http_stub_status_module. 8287</para> 8288<para lang="en"> 8289$connections_waiting variable in the ngx_http_stub_status_module. 8290</para> 8291</change> 8292 8293<change type="feature"> 8294<para lang="ru"> 8295теперь почтовый прокси-сервер поддерживает IPv6-бэкенды. 8296</para> 8297<para lang="en"> 8298the mail proxy module now supports IPv6 backends. 8299</para> 8300</change> 8301 8302<change type="bugfix"> 8303<para lang="ru"> 8304при повторной отправке запроса на бэкенд 8305тело запроса могло передаваться неправильно; 8306ошибка появилась в 1.3.9.<br/> 8307Спасибо Piotr Sikora. 8308</para> 8309<para lang="en"> 8310request body might be transmitted incorrectly 8311when retrying a request to the next upstream server; 8312the bug had appeared in 1.3.9.<br/> 8313Thanks to Piotr Sikora. 8314</para> 8315</change> 8316 8317<change type="bugfix"> 8318<para lang="ru"> 8319в директиве client_body_in_file_only; 8320ошибка появилась в 1.3.9. 8321</para> 8322<para lang="en"> 8323in the "client_body_in_file_only" directive; 8324the bug had appeared in 1.3.9. 8325</para> 8326</change> 8327 8328<change type="bugfix"> 8329<para lang="ru"> 8330ответы могли зависать, 8331если использовались подзапросы 8332и при обработке подзапроса происходила DNS-ошибка.<br/> 8333Спасибо Lanshun Zhou. 8334</para> 8335<para lang="en"> 8336responses might hang 8337if subrequests were used 8338and a DNS error happened during subrequest processing.<br/> 8339Thanks to Lanshun Zhou. 8340</para> 8341</change> 8342 8343<change type="bugfix"> 8344<para lang="ru"> 8345в процедуре учёта использования бэкендов. 8346</para> 8347<para lang="en"> 8348in backend usage accounting. 8349</para> 8350</change> 8351 8352</changes> 8353 8354 8355<changes ver="1.3.14" date="2013-03-05"> 8356 8357<change type="feature"> 8358<para lang="ru"> 8359переменные $connections_active, $connections_reading и $connections_writing 8360в модуле ngx_http_stub_status_module. 8361</para> 8362<para lang="en"> 8363$connections_active, $connections_reading, and $connections_writing variables 8364in the ngx_http_stub_status_module. 8365</para> 8366</change> 8367 8368<change type="feature"> 8369<para lang="ru"> 8370поддержка WebSocket-соединений 8371в модулях ngx_http_uwsgi_module и ngx_http_scgi_module. 8372</para> 8373<para lang="en"> 8374support of WebSocket connections 8375in the ngx_http_uwsgi_module and ngx_http_scgi_module. 8376</para> 8377</change> 8378 8379<change type="bugfix"> 8380<para lang="ru"> 8381в обработке виртуальных серверов при использовании SNI. 8382</para> 8383<para lang="en"> 8384in virtual servers handling with SNI. 8385</para> 8386</change> 8387 8388<change type="bugfix"> 8389<para lang="ru"> 8390при использовании директивы "ssl_session_cache shared" 8391новые сессии могли не сохраняться, 8392если заканчивалось место в разделяемой памяти.<br/> 8393Спасибо Piotr Sikora. 8394</para> 8395<para lang="en"> 8396new sessions were not always stored 8397if the "ssl_session_cache shared" directive was used 8398and there was no free space in shared memory.<br/> 8399Thanks to Piotr Sikora. 8400</para> 8401</change> 8402 8403<change type="bugfix"> 8404<para lang="ru"> 8405несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/> 8406Спасибо Neal Poole за спонсирование разработки. 8407</para> 8408<para lang="en"> 8409multiple X-Forwarded-For headers were handled incorrectly.<br/> 8410Thanks to Neal Poole for sponsoring this work. 8411</para> 8412</change> 8413 8414<change type="bugfix"> 8415<para lang="ru"> 8416в модуле ngx_http_mp4_module.<br/> 8417Спасибо Gernot Vormayr. 8418</para> 8419<para lang="en"> 8420in the ngx_http_mp4_module.<br/> 8421Thanks to Gernot Vormayr. 8422</para> 8423</change> 8424 8425</changes> 8426 8427 8428<changes ver="1.3.13" date="2013-02-19"> 8429 8430<change type="change"> 8431<para lang="ru"> 8432теперь для сборки по умолчанию используется компилятор с именем "cc". 8433</para> 8434<para lang="en"> 8435a compiler with name "cc" is now used by default. 8436</para> 8437</change> 8438 8439<change type="feature"> 8440<para lang="ru"> 8441поддержка проксирования WebSocket-соединений.<br/> 8442Спасибо Apcera и CloudBees за спонсирование разработки. 8443</para> 8444<para lang="en"> 8445support for proxying of WebSocket connections.<br/> 8446Thanks to Apcera and CloudBees for sponsoring this work. 8447</para> 8448</change> 8449 8450<change type="feature"> 8451<para lang="ru"> 8452директива auth_basic_user_file поддерживает шифрование паролей 8453методом "{SHA}".<br/> 8454Спасибо Louis Opter. 8455</para> 8456<para lang="en"> 8457the "auth_basic_user_file" directive supports "{SHA}" 8458password encryption method.<br/> 8459Thanks to Louis Opter. 8460</para> 8461</change> 8462 8463</changes> 8464 8465 8466<changes ver="1.3.12" date="2013-02-05"> 8467 8468<change type="feature"> 8469<para lang="ru"> 8470директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 8471поддерживают переменные. 8472</para> 8473<para lang="en"> 8474variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind", 8475"scgi_bind", and "uwsgi_bind" directives. 8476</para> 8477</change> 8478 8479<change type="feature"> 8480<para lang="ru"> 8481переменные $pipe, $request_length, $time_iso8601 и $time_local 8482теперь можно использовать не только в директиве log_format.<br/> 8483Спасибо Kiril Kalchev. 8484</para> 8485<para lang="en"> 8486the $pipe, $request_length, $time_iso8601, and $time_local variables 8487can now be used not only in the "log_format" directive. 8488Thanks to Kiril Kalchev. 8489</para> 8490</change> 8491 8492<change type="feature"> 8493<para lang="ru"> 8494поддержка IPv6 в модуле ngx_http_geoip_module.<br/> 8495Спасибо Gregor Kališnik. 8496</para> 8497<para lang="en"> 8498IPv6 support in the ngx_http_geoip_module.<br/> 8499Thanks to Gregor Kališnik. 8500</para> 8501</change> 8502 8503<change type="bugfix"> 8504<para lang="ru"> 8505директива proxy_method работала неверно, если была указана на уровне http. 8506</para> 8507<para lang="en"> 8508in the "proxy_method" directive. 8509</para> 8510</change> 8511 8512<change type="bugfix"> 8513<para lang="ru"> 8514в рабочем процессе мог произойти segmentation fault, 8515если использовался resolver и метод poll. 8516</para> 8517<para lang="en"> 8518a segmentation fault might occur in a worker process 8519if resolver was used with the poll method. 8520</para> 8521</change> 8522 8523<change type="bugfix"> 8524<para lang="ru"> 8525nginx мог нагружать процессор во время SSL handshake с бэкендом 8526при использовании методов обработки соединений select, poll и /dev/poll. 8527</para> 8528<para lang="en"> 8529nginx might hog CPU during SSL handshake with a backend 8530if the select, poll, or /dev/poll methods were used. 8531</para> 8532</change> 8533 8534<change type="bugfix"> 8535<para lang="ru"> 8536ошибка "[crit] SSL_write() failed (SSL:)". 8537</para> 8538<para lang="en"> 8539the "[crit] SSL_write() failed (SSL:)" error. 8540</para> 8541</change> 8542 8543<change type="bugfix"> 8544<para lang="ru"> 8545в директиве client_body_in_file_only; 8546ошибка появилась в 1.3.9. 8547</para> 8548<para lang="en"> 8549in the "client_body_in_file_only" directive; 8550the bug had appeared in 1.3.9. 8551</para> 8552</change> 8553 8554<change type="bugfix"> 8555<para lang="ru"> 8556в директиве fastcgi_keep_conn. 8557</para> 8558<para lang="en"> 8559in the "fastcgi_keep_conn" directive. 8560</para> 8561</change> 8562 8563</changes> 8564 8565 8566<changes ver="1.3.11" date="2013-01-10"> 8567 8568<change type="bugfix"> 8569<para lang="ru"> 8570при записи в лог мог происходить segmentation fault; 8571ошибка появилась в 1.3.10. 8572</para> 8573<para lang="en"> 8574a segmentation fault might occur if logging was used; 8575the bug had appeared in 1.3.10. 8576</para> 8577</change> 8578 8579<change type="bugfix"> 8580<para lang="ru"> 8581директива proxy_pass не работала с IP-адресами 8582без явного указания порта; 8583ошибка появилась в 1.3.10. 8584</para> 8585<para lang="en"> 8586the "proxy_pass" directive did not work with IP addresses 8587without port specified; 8588the bug had appeared in 1.3.10. 8589</para> 8590</change> 8591 8592<change type="bugfix"> 8593<para lang="ru"> 8594на старте или во время переконфигурации происходил segmentation fault, 8595если директива keepalive была указана несколько раз 8596в одном блоке upstream. 8597</para> 8598<para lang="en"> 8599a segmentation fault occurred on start or during reconfiguration 8600if the "keepalive" directive was specified more than once 8601in a single upstream block. 8602</para> 8603</change> 8604 8605<change type="bugfix"> 8606<para lang="ru"> 8607параметр default директивы geo не определял значение по умолчанию 8608для IPv6-адресов. 8609</para> 8610<para lang="en"> 8611parameter "default" of the "geo" directive did not set default value 8612for IPv6 addresses. 8613</para> 8614</change> 8615 8616</changes> 8617 8618 8619<changes ver="1.3.10" date="2012-12-25"> 8620 8621<change type="change"> 8622<para lang="ru"> 8623для указанных в конфигурационном файле доменных имён теперь 8624используются не только IPv4, но и IPv6 адреса. 8625</para> 8626<para lang="en"> 8627domain names specified in configuration file 8628are now resolved to IPv6 addresses as well as IPv4 ones. 8629</para> 8630</change> 8631 8632<change type="change"> 8633<para lang="ru"> 8634теперь при использовании директивы include с маской на Unix-системах 8635включаемые файлы сортируются в алфавитном порядке. 8636</para> 8637<para lang="en"> 8638now if the "include" directive with mask is used on Unix systems, 8639included files are sorted in alphabetical order. 8640</para> 8641</change> 8642 8643<change type="change"> 8644<para lang="ru"> 8645директива add_header добавляет строки в ответы с кодом 201. 8646</para> 8647<para lang="en"> 8648the "add_header" directive adds headers to 201 responses. 8649</para> 8650</change> 8651 8652<change type="feature"> 8653<para lang="ru"> 8654директива geo теперь поддерживает IPv6 адреса в формате CIDR. 8655</para> 8656<para lang="en"> 8657the "geo" directive now supports IPv6 addresses in CIDR notation. 8658</para> 8659</change> 8660 8661<change type="feature"> 8662<para lang="ru"> 8663параметры flush и gzip в директиве access_log. 8664</para> 8665<para lang="en"> 8666the "flush" and "gzip" parameters of the "access_log" directive. 8667</para> 8668</change> 8669 8670<change type="feature"> 8671<para lang="ru"> 8672директива auth_basic поддерживает переменные. 8673</para> 8674<para lang="en"> 8675variables support in the "auth_basic" directive. 8676</para> 8677</change> 8678 8679<change type="bugfix"> 8680<para lang="ru"> 8681nginx в некоторых случаях не собирался с модулем ngx_http_perl_module. 8682</para> 8683<para lang="en"> 8684nginx could not be built with the ngx_http_perl_module in some cases. 8685</para> 8686</change> 8687 8688<change type="bugfix"> 8689<para lang="ru"> 8690в рабочем процессе мог произойти segmentation fault, 8691если использовался модуль ngx_http_xslt_module. 8692</para> 8693<para lang="en"> 8694a segmentation fault might occur in a worker process 8695if the ngx_http_xslt_module was used. 8696</para> 8697</change> 8698 8699<change type="bugfix"> 8700<para lang="ru"> 8701nginx мог не собираться на MacOSX.<br/> 8702Спасибо Piotr Sikora. 8703</para> 8704<para lang="en"> 8705nginx could not be built on MacOSX in some cases.<br/> 8706Thanks to Piotr Sikora. 8707</para> 8708</change> 8709 8710<change type="bugfix"> 8711<para lang="ru"> 8712при использовании директивы limit_rate с большими значениями скорости 8713на 32-битных системах ответ мог возвращаться не целиком.<br/> 8714Спасибо Алексею Антропову. 8715</para> 8716<para lang="en"> 8717the "limit_rate" directive with high rates 8718might result in truncated responses on 32-bit platforms.<br/> 8719Thanks to Alexey Antropov. 8720</para> 8721</change> 8722 8723<change type="bugfix"> 8724<para lang="ru"> 8725в рабочем процессе мог произойти segmentation fault, 8726если использовалась директива if.<br/> 8727Спасибо Piotr Sikora. 8728</para> 8729<para lang="en"> 8730a segmentation fault might occur in a worker process 8731if the "if" directive was used.<br/> 8732Thanks to Piotr Sikora. 8733</para> 8734</change> 8735 8736<change type="bugfix"> 8737<para lang="ru"> 8738ответ "100 Continue" выдавался 8739вместе с ответом "413 Request Entity Too Large". 8740</para> 8741<para lang="en"> 8742a "100 Continue" response was issued 8743with "413 Request Entity Too Large" responses. 8744</para> 8745</change> 8746 8747<change type="bugfix"> 8748<para lang="ru"> 8749директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen 8750могли наследоваться некорректно.<br/> 8751Спасибо Ивану Боброву. 8752</para> 8753<para lang="en"> 8754the "image_filter", "image_filter_jpeg_quality" 8755and "image_filter_sharpen" directives 8756might be inherited incorrectly.<br/> 8757Thanks to Ian Babrou. 8758</para> 8759</change> 8760 8761<change type="bugfix"> 8762<para lang="ru"> 8763при использовании директивы auth_basic под Linux 8764могли возникать ошибки "crypt_r() failed". 8765</para> 8766<para lang="en"> 8767"crypt_r() failed" errors might appear 8768if the "auth_basic" directive was used on Linux. 8769</para> 8770</change> 8771 8772<change type="bugfix"> 8773<para lang="ru"> 8774в обработке backup-серверов.<br/> 8775Спасибо Thomas Chen. 8776</para> 8777<para lang="en"> 8778in backup servers handling.<br/> 8779Thanks to Thomas Chen. 8780</para> 8781</change> 8782 8783<change type="bugfix"> 8784<para lang="ru"> 8785при проксировании HEAD-запросов мог возвращаться некорректный ответ, 8786если использовалась директива gzip. 8787</para> 8788<para lang="en"> 8789proxied HEAD requests might return incorrect response 8790if the "gzip" directive was used. 8791</para> 8792</change> 8793 8794</changes> 8795 8796 8797<changes ver="1.3.9" date="2012-11-27"> 8798 8799<change type="feature"> 8800<para lang="ru"> 8801поддержка chunked transfer encoding при получении тела запроса. 8802</para> 8803<para lang="en"> 8804support for chunked transfer encoding while reading client request body. 8805</para> 8806</change> 8807 8808<change type="feature"> 8809<para lang="ru"> 8810переменные $request_time и $msec 8811теперь можно использовать не только в директиве log_format. 8812</para> 8813<para lang="en"> 8814the $request_time and $msec variables 8815can now be used not only in the "log_format" directive. 8816</para> 8817</change> 8818 8819<change type="bugfix"> 8820<para lang="ru"> 8821cache manager и cache loader могли не запускаться, 8822если использовалось более 512 listen-сокетов. 8823</para> 8824<para lang="en"> 8825cache manager and cache loader processes might not be able to start 8826if more than 512 listen sockets were used. 8827</para> 8828</change> 8829 8830<change type="bugfix"> 8831<para lang="ru"> 8832в модуле ngx_http_dav_module. 8833</para> 8834<para lang="en"> 8835in the ngx_http_dav_module. 8836</para> 8837</change> 8838 8839</changes> 8840 8841 8842<changes ver="1.3.8" date="2012-10-30"> 8843 8844<change type="feature"> 8845<para lang="ru"> 8846параметр optional_no_ca директивы ssl_verify_client.<br/> 8847Спасибо Михаилу Казанцеву и Eric O'Connor. 8848</para> 8849<para lang="en"> 8850the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/> 8851Thanks to Mike Kazantsev and Eric O'Connor. 8852</para> 8853</change> 8854 8855<change type="feature"> 8856<para lang="ru"> 8857переменные $bytes_sent, $connection и $connection_requests 8858теперь можно использовать не только в директиве log_format.<br/> 8859Спасибо Benjamin Grössing. 8860</para> 8861<para lang="en"> 8862the $bytes_sent, $connection, and $connection_requests variables 8863can now be used not only in the "log_format" directive.<br/> 8864Thanks to Benjamin Grössing. 8865</para> 8866</change> 8867 8868<change type="feature"> 8869<para lang="ru"> 8870параметр auto директивы worker_processes. 8871</para> 8872<para lang="en"> 8873the "auto" parameter of the "worker_processes" directive. 8874</para> 8875</change> 8876 8877<change type="bugfix"> 8878<para lang="ru"> 8879сообщения "cache file ... has md5 collision". 8880</para> 8881<para lang="en"> 8882"cache file ... has md5 collision" alert. 8883</para> 8884</change> 8885 8886<change type="bugfix"> 8887<para lang="ru"> 8888в модуле ngx_http_gunzip_filter_module. 8889</para> 8890<para lang="en"> 8891in the ngx_http_gunzip_filter_module. 8892</para> 8893</change> 8894 8895<change type="bugfix"> 8896<para lang="ru"> 8897в директиве ssl_stapling. 8898</para> 8899<para lang="en"> 8900in the "ssl_stapling" directive. 8901</para> 8902</change> 8903 8904</changes> 8905 8906 8907<changes ver="1.3.7" date="2012-10-02"> 8908 8909<change type="feature"> 8910<para lang="ru"> 8911поддержка OCSP stapling.<br/> 8912Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки. 8913</para> 8914<para lang="en"> 8915OCSP stapling support.<br/> 8916Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work. 8917</para> 8918</change> 8919 8920<change type="feature"> 8921<para lang="ru"> 8922директива ssl_trusted_certificate. 8923</para> 8924<para lang="en"> 8925the "ssl_trusted_certificate" directive. 8926</para> 8927</change> 8928 8929<change type="feature"> 8930<para lang="ru"> 8931теперь resolver случайным образом меняет порядок 8932возвращаемых закэшированных адресов.<br/> 8933Спасибо Антону Жулину. 8934</para> 8935<para lang="en"> 8936resolver now randomly rotates addresses 8937returned from cache.<br/> 8938Thanks to Anton Jouline. 8939</para> 8940</change> 8941 8942<change type="bugfix"> 8943<para lang="ru"> 8944совместимость с OpenSSL 0.9.7. 8945</para> 8946<para lang="en"> 8947OpenSSL 0.9.7 compatibility. 8948</para> 8949</change> 8950 8951</changes> 8952 8953 8954<changes ver="1.3.6" date="2012-09-12"> 8955 8956<change type="feature"> 8957<para lang="ru"> 8958модуль ngx_http_gunzip_filter_module. 8959</para> 8960<para lang="en"> 8961the ngx_http_gunzip_filter_module. 8962</para> 8963</change> 8964 8965<change type="feature"> 8966<para lang="ru"> 8967директива memcached_gzip_flag. 8968</para> 8969<para lang="en"> 8970the "memcached_gzip_flag" directive. 8971</para> 8972</change> 8973 8974<change type="feature"> 8975<para lang="ru"> 8976параметр always директивы gzip_static. 8977</para> 8978<para lang="en"> 8979the "always" parameter of the "gzip_static" directive. 8980</para> 8981</change> 8982 8983<change type="bugfix"> 8984<para lang="ru"> 8985в директиве "limit_req"; 8986ошибка появилась в 1.1.14.<br/> 8987Спасибо Charles Chen. 8988</para> 8989<para lang="en"> 8990in the "limit_req" directive; 8991the bug had appeared in 1.1.14.<br/> 8992Thanks to Charles Chen. 8993</para> 8994</change> 8995 8996<change type="bugfix"> 8997<para lang="ru"> 8998nginx не собирался gcc 4.7 с оптимизацией -O2 8999если использовался параметр --with-ipv6. 9000</para> 9001<para lang="en"> 9002nginx could not be built by gcc 4.7 with -O2 optimization 9003if the --with-ipv6 option was used. 9004</para> 9005</change> 9006 9007</changes> 9008 9009 9010<changes ver="1.3.5" date="2012-08-21"> 9011 9012<change type="change"> 9013<para lang="ru"> 9014модуль ngx_http_mp4_module больше не отфильтровывает дорожки 9015в форматах, отличных от H.264 и AAC. 9016</para> 9017<para lang="en"> 9018the ngx_http_mp4_module module no longer skips 9019tracks in formats other than H.264 and AAC. 9020</para> 9021</change> 9022 9023<change type="bugfix"> 9024<para lang="ru"> 9025в рабочем процессе мог произойти segmentation fault, 9026если в директиве map в качестве значений использовались переменные. 9027</para> 9028<para lang="en"> 9029a segmentation fault might occur in a worker process 9030if the "map" directive was used with variables as values. 9031</para> 9032</change> 9033 9034<change type="bugfix"> 9035<para lang="ru"> 9036в рабочем процессе мог произойти segmentation fault 9037при использовании директивы geo с параметром ranges, 9038но без параметра default; ошибка появилась в 0.8.43.<br/> 9039Спасибо Zhen Chen и Weibin Yao. 9040</para> 9041<para lang="en"> 9042a segmentation fault might occur in a worker process 9043if the "geo" directive was used with the "ranges" parameter 9044but without the "default" parameter; the bug had appeared in 0.8.43.<br/> 9045Thanks to Zhen Chen and Weibin Yao. 9046</para> 9047</change> 9048 9049<change type="bugfix"> 9050<para lang="ru"> 9051в обработке параметра командной строки -p. 9052</para> 9053<para lang="en"> 9054in the -p command-line parameter handling. 9055</para> 9056</change> 9057 9058<change type="bugfix"> 9059<para lang="ru"> 9060в почтовом прокси-сервере. 9061</para> 9062<para lang="en"> 9063in the mail proxy server. 9064</para> 9065</change> 9066 9067<change type="bugfix"> 9068<para lang="ru"> 9069незначительных потенциальных ошибок.<br/> 9070Спасибо Coverity. 9071</para> 9072<para lang="en"> 9073of minor potential bugs.<br/> 9074Thanks to Coverity. 9075</para> 9076</change> 9077 9078<change type="bugfix"> 9079<para lang="ru"> 9080nginx/Windows не собирался с Visual Studio 2005 Express.<br/> 9081Спасибо HAYASHI Kentaro. 9082</para> 9083<para lang="en"> 9084nginx/Windows could not be built with Visual Studio 2005 Express.<br/> 9085Thanks to HAYASHI Kentaro. 9086</para> 9087</change> 9088 9089</changes> 9090 9091 9092<changes ver="1.3.4" date="2012-07-31"> 9093 9094<change type="change"> 9095<para lang="ru"> 9096теперь на слушающих IPv6-сокетах параметр ipv6only 9097включён по умолчанию. 9098</para> 9099<para lang="en"> 9100the "ipv6only" parameter is now turned on by default for 9101listening IPv6 sockets. 9102</para> 9103</change> 9104 9105<change type="feature"> 9106<para lang="ru"> 9107поддержка компилятора Clang. 9108</para> 9109<para lang="en"> 9110the Clang compiler support. 9111</para> 9112</change> 9113 9114<change type="bugfix"> 9115<para lang="ru"> 9116могли создаваться лишние слушающие сокеты.<br/> 9117Спасибо Роману Одайскому. 9118</para> 9119<para lang="en"> 9120extra listening sockets might be created.<br/> 9121Thanks to Roman Odaisky. 9122</para> 9123</change> 9124 9125<change type="bugfix"> 9126<para lang="ru"> 9127nginx/Windows мог нагружать процессор, если при запуске рабочего процесса 9128происходила ошибка.<br/> 9129Спасибо Ricardo Villalobos Guevara. 9130</para> 9131<para lang="en"> 9132nginx/Windows might hog CPU if a worker process failed to start.<br/> 9133Thanks to Ricardo Villalobos Guevara. 9134</para> 9135</change> 9136 9137<change type="bugfix"> 9138<para lang="ru"> 9139директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header, 9140uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header, 9141scgi_hide_header и uwsgi_hide_header 9142могли наследоваться некорректно. 9143</para> 9144<para lang="en"> 9145the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header", 9146"uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header", 9147"scgi_hide_header", and "uwsgi_hide_header" directives 9148might be inherited incorrectly. 9149</para> 9150</change> 9151 9152</changes> 9153 9154 9155<changes ver="1.3.3" date="2012-07-10"> 9156 9157<change type="feature"> 9158<para lang="ru"> 9159поддержка entity tags и директива etag. 9160</para> 9161<para lang="en"> 9162entity tags support and the "etag" directive. 9163</para> 9164</change> 9165 9166<change type="bugfix"> 9167<para lang="ru"> 9168при использовании директивы map с параметром hostnames 9169не игнорировалась конечная точка в исходном значении. 9170</para> 9171<para lang="en"> 9172trailing dot in a source value was not ignored 9173if the "map" directive was used with the "hostnames" parameter. 9174</para> 9175</change> 9176 9177<change type="bugfix"> 9178<para lang="ru"> 9179для обработки запроса мог использоваться неверный location, 9180если переход в именованный location происходил 9181после изменения URI с помощью директивы rewrite. 9182</para> 9183<para lang="en"> 9184incorrect location might be used to process a request 9185if a URI was changed via a "rewrite" directive 9186before an internal redirect to a named location. 9187</para> 9188</change> 9189 9190</changes> 9191 9192 9193<changes ver="1.3.2" date="2012-06-26"> 9194 9195<change type="change"> 9196<para lang="ru"> 9197параметр single директивы keepalive теперь игнорируется. 9198</para> 9199<para lang="en"> 9200the "single" parameter of the "keepalive" directive is now ignored. 9201</para> 9202</change> 9203 9204<change type="change"> 9205<para lang="ru"> 9206сжатие SSL теперь отключено 9207в том числе при использовании OpenSSL старее 1.0.0. 9208</para> 9209<para lang="en"> 9210SSL compression is now disabled when using all versions of OpenSSL, 9211including ones prior to 1.0.0. 9212</para> 9213</change> 9214 9215<change type="feature"> 9216<para lang="ru"> 9217директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов. 9218</para> 9219<para lang="en"> 9220it is now possible to use the "ip_hash" directive to balance IPv6 clients. 9221</para> 9222</change> 9223 9224<change type="feature"> 9225<para lang="ru"> 9226переменную $status теперь можно использовать не только в директиве log_format. 9227</para> 9228<para lang="en"> 9229the $status variable can now be used not only in the "log_format" directive. 9230</para> 9231</change> 9232 9233<change type="bugfix"> 9234<para lang="ru"> 9235при завершении рабочего процесса мог произойти segmentation fault, 9236если использовалась директива resolver. 9237</para> 9238<para lang="en"> 9239a segmentation fault might occur in a worker process on shutdown 9240if the "resolver" directive was used. 9241</para> 9242</change> 9243 9244<change type="bugfix"> 9245<para lang="ru"> 9246в рабочем процессе мог произойти segmentation fault, 9247если использовался модуль ngx_http_mp4_module. 9248</para> 9249<para lang="en"> 9250a segmentation fault might occur in a worker process 9251if the ngx_http_mp4_module was used. 9252</para> 9253</change> 9254 9255<change type="bugfix"> 9256<para lang="ru"> 9257в модуле ngx_http_mp4_module. 9258</para> 9259<para lang="en"> 9260in the ngx_http_mp4_module. 9261</para> 9262</change> 9263 9264<change type="bugfix"> 9265<para lang="ru"> 9266в рабочем процессе мог произойти segmentation fault, 9267если использовались конфликтующие имена серверов с масками. 9268</para> 9269<para lang="en"> 9270a segmentation fault might occur in a worker process 9271if conflicting wildcard server names were used. 9272</para> 9273</change> 9274 9275<change type="bugfix"> 9276<para lang="ru"> 9277на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS. 9278</para> 9279<para lang="en"> 9280nginx might be terminated abnormally on a SIGBUS signal on ARM platform. 9281</para> 9282</change> 9283 9284<change type="bugfix"> 9285<para lang="ru"> 9286во время переконфигурации на HP-UX в лог 9287записывался alert "sendmsg() failed (9: Bad file number)". 9288</para> 9289<para lang="en"> 9290an alert "sendmsg() failed (9: Bad file number)" on HP-UX 9291while reconfiguration. 9292</para> 9293</change> 9294 9295</changes> 9296 9297 9298<changes ver="1.3.1" date="2012-06-05"> 9299 9300<change type="security"> 9301<para lang="ru"> 9302теперь nginx/Windows игнорирует точку в конце компонента URI 9303и не разрешает URI, содержащие последовательность ":$".<br/> 9304Спасибо Владимиру Кочеткову, Positive Research Center. 9305</para> 9306<para lang="en"> 9307now nginx/Windows ignores trailing dot in URI path component, and 9308does not allow URIs with ":$" in it.<br/> 9309Thanks to Vladimir Kochetkov, Positive Research Center. 9310</para> 9311</change> 9312 9313<change type="feature"> 9314<para lang="ru"> 9315директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и 9316директива server в блоке upstream 9317теперь поддерживают IPv6-адреса. 9318</para> 9319<para lang="en"> 9320the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and 9321the "server" directive inside the "upstream" block, 9322now support IPv6 addresses. 9323</para> 9324</change> 9325 9326<change type="feature"> 9327<para lang="ru"> 9328в директиве resolver теперь можно указывать порт и 9329задавать IPv6-адреса DNS-серверов. 9330</para> 9331<para lang="en"> 9332the "resolver" directive now supports IPv6 addresses and 9333an optional port specification. 9334</para> 9335</change> 9336 9337<change type="feature"> 9338<para lang="ru"> 9339директива least_conn в блоке upstream. 9340</para> 9341<para lang="en"> 9342the "least_conn" directive inside the "upstream" block. 9343</para> 9344</change> 9345 9346<change type="feature"> 9347<para lang="ru"> 9348при использовании директивы ip_hash 9349теперь можно задавать веса серверов. 9350</para> 9351<para lang="en"> 9352it is now possible to specify a weight for servers 9353while using the "ip_hash" directive. 9354</para> 9355</change> 9356 9357<change type="bugfix"> 9358<para lang="ru"> 9359в рабочем процессе мог произойти segmentation fault, 9360если использовалась директива image_filter; 9361ошибка появилась в 1.3.0. 9362</para> 9363<para lang="en"> 9364a segmentation fault might occur in a worker process 9365if the "image_filter" directive was used; 9366the bug had appeared in 1.3.0. 9367</para> 9368</change> 9369 9370<change type="bugfix"> 9371<para lang="ru"> 9372nginx не собирался с модулем ngx_cpp_test_module; 9373ошибка появилась в 1.1.12. 9374</para> 9375<para lang="en"> 9376nginx could not be built with ngx_cpp_test_module; 9377the bug had appeared in 1.1.12. 9378</para> 9379</change> 9380 9381<change type="bugfix"> 9382<para lang="ru"> 9383доступ к переменным из SSI и встроенного перла мог не работать после 9384переконфигурации.<br/> 9385Спасибо Yichun Zhang. 9386</para> 9387<para lang="en"> 9388access to variables from SSI and embedded perl module might not work after 9389reconfiguration.<br/> 9390Thanks to Yichun Zhang. 9391</para> 9392</change> 9393 9394<change type="bugfix"> 9395<para lang="ru"> 9396в модуле ngx_http_xslt_filter_module.<br/> 9397Спасибо Kuramoto Eiji. 9398</para> 9399<para lang="en"> 9400in the ngx_http_xslt_filter_module.<br/> 9401Thanks to Kuramoto Eiji. 9402</para> 9403</change> 9404 9405<change type="bugfix"> 9406<para lang="ru"> 9407утечки памяти при использовании переменной $geoip_org.<br/> 9408Спасибо Денису Латыпову. 9409</para> 9410<para lang="en"> 9411memory leak if $geoip_org variable was used.<br/> 9412Thanks to Denis F. Latypoff. 9413</para> 9414</change> 9415 9416<change type="bugfix"> 9417<para lang="ru"> 9418в директивах proxy_cookie_domain и proxy_cookie_path. 9419</para> 9420<para lang="en"> 9421in the "proxy_cookie_domain" and "proxy_cookie_path" directives. 9422</para> 9423</change> 9424 9425</changes> 9426 9427 9428<changes ver="1.3.0" date="2012-05-15"> 9429 9430<change type="feature"> 9431<para lang="ru"> 9432директива debug_connection теперь поддерживает IPv6-адреса 9433и параметр "unix:". 9434</para> 9435<para lang="en"> 9436the "debug_connection" directive now supports IPv6 addresses 9437and the "unix:" parameter. 9438</para> 9439</change> 9440 9441<change type="feature"> 9442<para lang="ru"> 9443директива set_real_ip_from и параметр proxy 9444директивы geo теперь поддерживают IPv6-адреса. 9445</para> 9446<para lang="en"> 9447the "set_real_ip_from" directive and the "proxy" parameter 9448of the "geo" directive now support IPv6 addresses. 9449</para> 9450</change> 9451 9452<change type="feature"> 9453<para lang="ru"> 9454директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive. 9455</para> 9456<para lang="en"> 9457the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives. 9458</para> 9459</change> 9460 9461<change type="feature"> 9462<para lang="ru"> 9463параметр proxy_recursive директивы geo. 9464</para> 9465<para lang="en"> 9466the "proxy_recursive" parameter of the "geo" directive. 9467</para> 9468</change> 9469 9470<change type="bugfix"> 9471<para lang="ru"> 9472в рабочем процессе мог произойти segmentation fault, 9473если использовалась директива resolver. 9474</para> 9475<para lang="en"> 9476a segmentation fault might occur in a worker process 9477if the "resolver" directive was used. 9478</para> 9479</change> 9480 9481<change type="bugfix"> 9482<para lang="ru"> 9483в рабочем процессе мог произойти segmentation fault, 9484если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass 9485и бэкенд возвращал некорректный ответ. 9486</para> 9487<para lang="en"> 9488a segmentation fault might occur in a worker process 9489if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used 9490and backend returned incorrect response. 9491</para> 9492</change> 9493 9494<change type="bugfix"> 9495<para lang="ru"> 9496в рабочем процессе мог произойти segmentation fault, 9497если использовалась директива rewrite и в новых аргументах запроса в строке 9498замены использовались переменные. 9499</para> 9500<para lang="en"> 9501a segmentation fault might occur in a worker process 9502if the "rewrite" directive was used and new request arguments 9503in a replacement used variables. 9504</para> 9505</change> 9506 9507<change type="bugfix"> 9508<para lang="ru"> 9509nginx мог нагружать процессор, 9510если было достигнуто ограничение на количество открытых файлов. 9511</para> 9512<para lang="en"> 9513nginx might hog CPU 9514if the open file resource limit was reached. 9515</para> 9516</change> 9517 9518<change type="bugfix"> 9519<para lang="ru"> 9520при использовании директивы proxy_next_upstream с параметром http_404 9521nginx мог бесконечно перебирать бэкенды, если в блоке upstream был 9522хотя бы один сервер с флагом backup. 9523</para> 9524<para lang="en"> 9525nginx might loop infinitely over backends 9526if the "proxy_next_upstream" directive with the "http_404" parameter was used 9527and there were backup servers specified in an upstream block. 9528</para> 9529</change> 9530 9531<change type="bugfix"> 9532<para lang="ru"> 9533при использовании директивы ip_hash 9534установка параметра down директивы server 9535могла приводить к ненужному перераспределению клиентов между бэкендами. 9536</para> 9537<para lang="en"> 9538adding the "down" parameter of the "server" directive 9539might cause unneeded client redistribution among backend servers 9540if the "ip_hash" directive was used. 9541</para> 9542</change> 9543 9544<change type="bugfix"> 9545<para lang="ru"> 9546утечки сокетов.<br/> 9547Спасибо Yichun Zhang. 9548</para> 9549<para lang="en"> 9550socket leak.<br/> 9551Thanks to Yichun Zhang. 9552</para> 9553</change> 9554 9555<change type="bugfix"> 9556<para lang="ru"> 9557в модуле ngx_http_fastcgi_module. 9558</para> 9559<para lang="en"> 9560in the ngx_http_fastcgi_module. 9561</para> 9562</change> 9563 9564</changes> 9565 9566 9567<changes ver="1.2.0" date="2012-04-23"> 9568 9569<change type="bugfix"> 9570<para lang="ru"> 9571в рабочем процессе мог произойти segmentation fault, 9572если использовалась директива try_files; 9573ошибка появилась в 1.1.19. 9574</para> 9575<para lang="en"> 9576a segmentation fault might occur in a worker process 9577if the "try_files" directive was used; 9578the bug had appeared in 1.1.19. 9579</para> 9580</change> 9581 9582<change type="bugfix"> 9583<para lang="ru"> 9584ответ мог быть передан не полностью, 9585если использовалось больше IOV_MAX буферов. 9586</para> 9587<para lang="en"> 9588response might be truncated 9589if there were more than IOV_MAX buffers used. 9590</para> 9591</change> 9592 9593<change type="bugfix"> 9594<para lang="ru"> 9595в работе параметра crop директивы image_filter.<br/> 9596Спасибо Maxim Bublis. 9597</para> 9598<para lang="en"> 9599in the "crop" parameter of the "image_filter" directive.<br/> 9600Thanks to Maxim Bublis. 9601</para> 9602</change> 9603 9604</changes> 9605 9606 9607<changes ver="1.1.19" date="2012-04-12"> 9608 9609<change type="security"> 9610<para lang="ru"> 9611при обработке специально созданного mp4 файла модулем ngx_http_mp4_module 9612могли перезаписываться области памяти рабочего процесса, что могло 9613приводить к выполнению произвольного кода (CVE-2012-2089).<br/> 9614Спасибо Matthew Daley. 9615</para> 9616<para lang="en"> 9617specially crafted mp4 file might allow to overwrite 9618memory locations in a worker process 9619if the ngx_http_mp4_module was used, 9620potentially resulting in arbitrary code execution (CVE-2012-2089).<br/> 9621Thanks to Matthew Daley. 9622</para> 9623</change> 9624 9625<change type="bugfix"> 9626<para lang="ru"> 9627nginx/Windows мог завершаться аварийно.<br/> 9628Спасибо Vincent Lee. 9629</para> 9630<para lang="en"> 9631nginx/Windows might be terminated abnormally.<br/> 9632Thanks to Vincent Lee. 9633</para> 9634</change> 9635 9636<change type="bugfix"> 9637<para lang="ru"> 9638nginx нагружал процессор, если все серверы в upstream'е были помечены 9639флагом backup. 9640</para> 9641<para lang="en"> 9642nginx hogged CPU if all servers in an upstream were marked as "backup". 9643</para> 9644</change> 9645 9646<change type="bugfix"> 9647<para lang="ru"> 9648директивы allow и deny могли наследоваться некорректно, 9649если в них использовались IPv6 адреса. 9650</para> 9651<para lang="en"> 9652the "allow" and "deny" directives might be inherited incorrectly 9653if they were used with IPv6 addresses. 9654</para> 9655</change> 9656 9657<change type="bugfix"> 9658<para lang="ru"> 9659директивы modern_browser и ancient_browser 9660могли наследоваться некорректно. 9661</para> 9662<para lang="en"> 9663the "modern_browser" and "ancient_browser" directives 9664might be inherited incorrectly. 9665</para> 9666</change> 9667 9668<change type="bugfix"> 9669<para lang="ru"> 9670таймауты могли работать некорректно на Solaris/SPARC. 9671</para> 9672<para lang="en"> 9673timeouts might be handled incorrectly on Solaris/SPARC. 9674</para> 9675</change> 9676 9677<change type="bugfix"> 9678<para lang="ru"> 9679в модуле ngx_http_mp4_module. 9680</para> 9681<para lang="en"> 9682in the ngx_http_mp4_module. 9683</para> 9684</change> 9685 9686</changes> 9687 9688 9689<changes ver="1.1.18" date="2012-03-28"> 9690 9691<change type="change"> 9692<para lang="ru"> 9693теперь keepalive соединения не запрещены для Safari по умолчанию. 9694</para> 9695<para lang="en"> 9696keepalive connections are no longer disabled for Safari by default. 9697</para> 9698</change> 9699 9700<change type="feature"> 9701<para lang="ru"> 9702переменная $connection_requests. 9703</para> 9704<para lang="en"> 9705the $connection_requests variable. 9706</para> 9707</change> 9708 9709<change type="feature"> 9710<para lang="ru"> 9711переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и 9712$tcpinfo_rcv_space. 9713</para> 9714<para lang="en"> 9715$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and 9716$tcpinfo_rcv_space variables. 9717</para> 9718</change> 9719 9720<change type="feature"> 9721<para lang="ru"> 9722директива worker_cpu_affinity теперь работает на FreeBSD. 9723</para> 9724<para lang="en"> 9725the "worker_cpu_affinity" directive now works on FreeBSD. 9726</para> 9727</change> 9728 9729<change type="feature"> 9730<para lang="ru"> 9731директивы xslt_param и xslt_string_param.<br/> 9732Спасибо Samuel Behan. 9733</para> 9734<para lang="en"> 9735the "xslt_param" and "xslt_string_param" directives.<br/> 9736Thanks to Samuel Behan. 9737</para> 9738</change> 9739 9740<change type="bugfix"> 9741<para lang="ru"> 9742в configure.<br/> 9743Спасибо Piotr Sikora. 9744</para> 9745<para lang="en"> 9746in configure tests.<br/> 9747Thanks to Piotr Sikora. 9748</para> 9749</change> 9750 9751<change type="bugfix"> 9752<para lang="ru"> 9753в модуле ngx_http_xslt_filter_module. 9754</para> 9755<para lang="en"> 9756in the ngx_http_xslt_filter_module. 9757</para> 9758</change> 9759 9760<change type="bugfix"> 9761<para lang="ru"> 9762nginx не собирался на Debian GNU/Hurd. 9763</para> 9764<para lang="en"> 9765nginx could not be built on Debian GNU/Hurd. 9766</para> 9767</change> 9768 9769</changes> 9770 9771 9772<changes ver="1.1.17" date="2012-03-15"> 9773 9774<change type="security"> 9775<para lang="ru"> 9776содержимое ранее освобождённой памяти могло быть отправлено клиенту, 9777если бэкенд возвращал специально созданный ответ.<br/> 9778Спасибо Matthew Daley. 9779</para> 9780<para lang="en"> 9781content of previously freed memory might be sent to a client 9782if backend returned specially crafted response.<br/> 9783Thanks to Matthew Daley. 9784</para> 9785</change> 9786 9787<change type="bugfix"> 9788<para lang="ru"> 9789при использовании встроенного перла из SSI.<br/> 9790Спасибо Matthew Daley. 9791</para> 9792<para lang="en"> 9793in the embedded perl module if used from SSI.<br/> 9794Thanks to Matthew Daley. 9795</para> 9796</change> 9797 9798<change type="bugfix"> 9799<para lang="ru"> 9800в модуле ngx_http_uwsgi_module. 9801</para> 9802<para lang="en"> 9803in the ngx_http_uwsgi_module. 9804</para> 9805</change> 9806 9807</changes> 9808 9809 9810<changes ver="1.1.16" date="2012-02-29"> 9811 9812<change type="change"> 9813<para lang="ru"> 9814ограничение на количество одновременных подзапросов поднято до 200. 9815</para> 9816<para lang="en"> 9817the simultaneous subrequest limit has been raised to 200. 9818</para> 9819</change> 9820 9821<change type="feature"> 9822<para lang="ru"> 9823параметр from в директиве disable_symlinks. 9824</para> 9825<para lang="en"> 9826the "from" parameter of the "disable_symlinks" directive. 9827</para> 9828</change> 9829 9830<change type="feature"> 9831<para lang="ru"> 9832директивы return и error_page теперь могут использоваться для возврата 9833перенаправлений с кодом 307. 9834</para> 9835<para lang="en"> 9836the "return" and "error_page" directives can now be used to return 307 9837redirections. 9838</para> 9839</change> 9840 9841<change type="bugfix"> 9842<para lang="ru"> 9843в рабочем процессе мог произойти segmentation fault, 9844если использовалась директива resolver 9845и на глобальном уровне не была задана директива error_log.<br/> 9846Спасибо Роману Арутюняну. 9847</para> 9848<para lang="en"> 9849a segmentation fault might occur in a worker process 9850if the "resolver" directive was used 9851and there was no "error_log" directive specified at global level.<br/> 9852Thanks to Roman Arutyunyan. 9853</para> 9854</change> 9855 9856<change type="bugfix"> 9857<para lang="ru"> 9858в рабочем процессе мог произойти segmentation fault, 9859если использовались директивы "proxy_http_version 1.1" или 9860"fastcgi_keep_conn on". 9861</para> 9862<para lang="en"> 9863a segmentation fault might occur in a worker process 9864if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives 9865were used. 9866</para> 9867</change> 9868 9869<change type="bugfix"> 9870<para lang="ru"> 9871утечек памяти.<br/> 9872Спасибо Lanshun Zhou. 9873</para> 9874<para lang="en"> 9875memory leaks.<br/> 9876Thanks to Lanshun Zhou. 9877</para> 9878</change> 9879 9880<change type="bugfix"> 9881<para lang="ru"> 9882в директиве disable_symlinks. 9883</para> 9884<para lang="en"> 9885in the "disable_symlinks" directive. 9886</para> 9887</change> 9888 9889<change type="bugfix"> 9890<para lang="ru"> 9891при использовании ZFS размер кэша на диске мог считаться некорректно; 9892ошибка появилась в 1.0.1. 9893</para> 9894<para lang="en"> 9895on ZFS filesystem disk cache size might be calculated incorrectly; 9896the bug had appeared in 1.0.1. 9897</para> 9898</change> 9899 9900<change type="bugfix"> 9901<para lang="ru"> 9902nginx не собирался компилятором icc 12.1. 9903</para> 9904<para lang="en"> 9905nginx could not be built by the icc 12.1 compiler. 9906</para> 9907</change> 9908 9909<change type="bugfix"> 9910<para lang="ru"> 9911nginx не собирался gcc на Solaris; 9912ошибка появилась в 1.1.15. 9913</para> 9914<para lang="en"> 9915nginx could not be built by gcc on Solaris; 9916the bug had appeared in 1.1.15. 9917</para> 9918</change> 9919 9920</changes> 9921 9922 9923<changes ver="1.1.15" date="2012-02-15"> 9924 9925<change type="feature"> 9926<para lang="ru"> 9927директива disable_symlinks. 9928</para> 9929<para lang="en"> 9930the "disable_symlinks" directive. 9931</para> 9932</change> 9933 9934<change type="feature"> 9935<para lang="ru"> 9936директивы proxy_cookie_domain и proxy_cookie_path. 9937</para> 9938<para lang="en"> 9939the "proxy_cookie_domain" and "proxy_cookie_path" directives. 9940</para> 9941</change> 9942 9943<change type="bugfix"> 9944<para lang="ru"> 9945nginx мог некорректно сообщать об ошибке "upstream prematurely closed 9946connection" вместо "upstream sent too big header".<br/> 9947Спасибо Feibo Li. 9948</para> 9949<para lang="en"> 9950nginx might log incorrect error "upstream prematurely closed connection" 9951instead of correct "upstream sent too big header" one.<br/> 9952Thanks to Feibo Li. 9953</para> 9954</change> 9955 9956<change type="bugfix"> 9957<para lang="ru"> 9958nginx не собирался с модулем ngx_http_perl_module, 9959если использовался параметр --with-openssl. 9960</para> 9961<para lang="en"> 9962nginx could not be built with the ngx_http_perl_module 9963if the --with-openssl option was used. 9964</para> 9965</change> 9966 9967<change type="bugfix"> 9968<para lang="ru"> 9969количество внутренних перенаправлений в именованные location'ы 9970не ограничивалось. 9971</para> 9972<para lang="en"> 9973the number of internal redirects to named locations was not limited. 9974</para> 9975</change> 9976 9977<change type="bugfix"> 9978<para lang="ru"> 9979вызов $r->flush() несколько раз подряд мог приводить к ошибкам 9980в модуле ngx_http_gzip_filter_module. 9981</para> 9982<para lang="en"> 9983calling $r->flush() multiple times might cause errors 9984in the ngx_http_gzip_filter_module. 9985</para> 9986</change> 9987 9988<change type="bugfix"> 9989<para lang="ru"> 9990при использовании директивы proxy_store с SSI-подзапросами 9991временные файлы могли не удаляться. 9992</para> 9993<para lang="en"> 9994temporary files might be not removed 9995if the "proxy_store" directive was used with SSI includes. 9996</para> 9997</change> 9998 9999<change type="bugfix"> 10000<para lang="ru"> 10001в некоторых случаях некэшируемые переменные (такие, как $args) 10002возвращали старое пустое закэшированное значение. 10003</para> 10004<para lang="en"> 10005in some cases non-cacheable variables (such as the $args variable) 10006returned old empty cached value. 10007</para> 10008</change> 10009 10010<change type="bugfix"> 10011<para lang="ru"> 10012в рабочем процессе мог произойти segmentation fault, 10013если одновременно создавалось слишком много SSI-подзапросов; 10014ошибка появилась в 0.7.25. 10015</para> 10016<para lang="en"> 10017a segmentation fault might occur in a worker process 10018if too many SSI subrequests were issued simultaneously; 10019the bug had appeared in 0.7.25. 10020</para> 10021</change> 10022 10023</changes> 10024 10025 10026<changes ver="1.1.14" date="2012-01-30"> 10027 10028<change type="feature"> 10029<para lang="ru"> 10030теперь можно указать несколько ограничений limit_req одновременно. 10031</para> 10032<para lang="en"> 10033multiple "limit_req" limits may be used simultaneously. 10034</para> 10035</change> 10036 10037<change type="bugfix"> 10038<para lang="ru"> 10039в обработке ошибок при соединении с бэкендом.<br/> 10040Спасибо Piotr Sikora. 10041</para> 10042<para lang="en"> 10043in error handling while connecting to a backend.<br/> 10044Thanks to Piotr Sikora. 10045</para> 10046</change> 10047 10048<change type="bugfix"> 10049<para lang="ru"> 10050в обработке ошибок при использовании AIO на FreeBSD. 10051</para> 10052<para lang="en"> 10053in AIO error handling on FreeBSD. 10054</para> 10055</change> 10056 10057<change type="bugfix"> 10058<para lang="ru"> 10059в инициализации библиотеки OpenSSL. 10060</para> 10061<para lang="en"> 10062in the OpenSSL library initialization. 10063</para> 10064</change> 10065 10066<change type="bugfix"> 10067<para lang="ru"> 10068директивы proxy_redirect могли наследоваться некорректно. 10069</para> 10070<para lang="en"> 10071the "proxy_redirect" directives might be inherited incorrectly. 10072</para> 10073</change> 10074 10075<change type="bugfix"> 10076<para lang="ru"> 10077утечки памяти при переконфигурации, если использовалась директива pcre_jit. 10078</para> 10079<para lang="en"> 10080memory leak during reconfiguration if the "pcre_jit" directive was used. 10081</para> 10082</change> 10083 10084</changes> 10085 10086 10087<changes ver="1.1.13" date="2012-01-16"> 10088 10089<change type="feature"> 10090<para lang="ru"> 10091параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. 10092</para> 10093<para lang="en"> 10094the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive. 10095</para> 10096</change> 10097 10098<change type="bugfix"> 10099<para lang="ru"> 10100параметры директивы limit_req наследовались некорректно; 10101ошибка появилась в 1.1.12. 10102</para> 10103<para lang="en"> 10104the "limit_req" directive parameters were not inherited correctly; 10105the bug had appeared in 1.1.12. 10106</para> 10107</change> 10108 10109<change type="bugfix"> 10110<para lang="ru"> 10111директива proxy_redirect некорректно обрабатывала заголовок Refresh 10112при использовании регулярных выражений. 10113</para> 10114<para lang="en"> 10115the "proxy_redirect" directive incorrectly processed "Refresh" header 10116if regular expression were used. 10117</para> 10118</change> 10119 10120<change type="bugfix"> 10121<para lang="ru"> 10122директива proxy_cache_use_stale с параметром error не возвращала ответ из 10123кэша, если все бэкенды были признаны неработающими. 10124</para> 10125<para lang="en"> 10126the "proxy_cache_use_stale" directive with "error" parameter did not return 10127answer from cache if there were no live upstreams. 10128</para> 10129</change> 10130 10131<change type="bugfix"> 10132<para lang="ru"> 10133директива worker_cpu_affinity могла не работать. 10134</para> 10135<para lang="en"> 10136the "worker_cpu_affinity" directive might not work. 10137</para> 10138</change> 10139 10140<change type="bugfix"> 10141<para lang="ru"> 10142nginx не собирался на Solaris; 10143ошибка появилась в 1.1.12. 10144</para> 10145<para lang="en"> 10146nginx could not be built on Solaris; 10147the bug had appeared in 1.1.12. 10148</para> 10149</change> 10150 10151<change type="bugfix"> 10152<para lang="ru"> 10153в модуле ngx_http_mp4_module. 10154</para> 10155<para lang="en"> 10156in the ngx_http_mp4_module. 10157</para> 10158</change> 10159 10160</changes> 10161 10162 10163<changes ver="1.1.12" date="2011-12-26"> 10164 10165<change type="change"> 10166<para lang="ru"> 10167после перенаправления запроса с помощью директивы error_page 10168директива proxy_pass без URI теперь использует изменённый URI.<br/> 10169Спасибо Lanshun Zhou. 10170</para> 10171<para lang="en"> 10172a "proxy_pass" directive without URI part now uses changed URI 10173after redirection with the "error_page" directive.<br/> 10174Thanks to Lanshun Zhou. 10175</para> 10176</change> 10177 10178<change type="feature"> 10179<para lang="ru"> 10180директивы proxy/fastcgi/scgi/uwsgi_cache_lock, 10181proxy/fastcgi/scgi/uwsgi_cache_lock_timeout. 10182</para> 10183<para lang="en"> 10184the "proxy/fastcgi/scgi/uwsgi_cache_lock", 10185"proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives. 10186</para> 10187</change> 10188 10189<change type="feature"> 10190<para lang="ru"> 10191директива pcre_jit. 10192</para> 10193<para lang="en"> 10194the "pcre_jit" directive. 10195</para> 10196</change> 10197 10198<change type="feature"> 10199<para lang="ru"> 10200SSI команда if поддерживает выделения в регулярных выражениях. 10201</para> 10202<para lang="en"> 10203the "if" SSI command supports captures in regular expressions. 10204</para> 10205</change> 10206 10207<change type="bugfix"> 10208<para lang="ru"> 10209SSI команда if не работала внутри команды block. 10210</para> 10211<para lang="en"> 10212the "if" SSI command did not work inside the "block" command. 10213</para> 10214</change> 10215 10216<change type="bugfix"> 10217<para lang="ru"> 10218директивы limit_conn_log_level и limit_req_log_level могли не работать. 10219</para> 10220<para lang="en"> 10221the "limit_conn_log_level" and "limit_req_log_level" directives might not work. 10222</para> 10223</change> 10224 10225<change type="bugfix"> 10226<para lang="ru"> 10227директива limit_rate не позволяла передавать на полной скорости, 10228даже если был указан очень большой лимит. 10229</para> 10230<para lang="en"> 10231the "limit_rate" directive did not allow to use full throughput, 10232even if limit value was very high. 10233</para> 10234</change> 10235 10236<change type="bugfix"> 10237<para lang="ru"> 10238директива sendfile_max_chunk не работала, 10239если использовалась директива limit_rate. 10240</para> 10241<para lang="en"> 10242the "sendfile_max_chunk" directive did not work, 10243if the "limit_rate" directive was used. 10244</para> 10245</change> 10246 10247<change type="bugfix"> 10248<para lang="ru"> 10249если в директиве proxy_pass использовались переменные и не был указан URI, 10250всегда использовался URI исходного запроса. 10251</para> 10252<para lang="en"> 10253a "proxy_pass" directive without URI part always used original request URI 10254if variables were used. 10255</para> 10256</change> 10257 10258<change type="bugfix"> 10259<para lang="ru"> 10260после перенаправления запроса с помощью директивы try_files 10261директива proxy_pass без URI могла использовать URI исходного запроса.<br/> 10262Спасибо Lanshun Zhou. 10263</para> 10264<para lang="en"> 10265a "proxy_pass" directive without URI part might use original request 10266after redirection with the "try_files" directive.<br/> 10267Thanks to Lanshun Zhou. 10268</para> 10269</change> 10270 10271<change type="bugfix"> 10272<para lang="ru"> 10273в модуле ngx_http_scgi_module. 10274</para> 10275<para lang="en"> 10276in the ngx_http_scgi_module. 10277</para> 10278</change> 10279 10280<change type="bugfix"> 10281<para lang="ru"> 10282в модуле ngx_http_mp4_module. 10283</para> 10284<para lang="en"> 10285in the ngx_http_mp4_module. 10286</para> 10287</change> 10288 10289<change type="bugfix"> 10290<para lang="ru"> 10291nginx не собирался на Solaris; 10292ошибка появилась в 1.1.9. 10293</para> 10294<para lang="en"> 10295nginx could not be built on Solaris; 10296the bug had appeared in 1.1.9. 10297</para> 10298</change> 10299 10300</changes> 10301 10302 10303<changes ver="1.1.11" date="2011-12-12"> 10304 10305<change type="feature"> 10306<para lang="ru"> 10307параметр so_keepalive в директиве listen.<br/> 10308Спасибо Всеволоду Стахову. 10309</para> 10310<para lang="en"> 10311the "so_keepalive" parameter of the "listen" directive.<br/> 10312Thanks to Vsevolod Stakhov. 10313</para> 10314</change> 10315 10316<change type="feature"> 10317<para lang="ru"> 10318параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param. 10319</para> 10320<para lang="en"> 10321the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives. 10322</para> 10323</change> 10324 10325<change type="feature"> 10326<para lang="ru"> 10327переменная $https. 10328</para> 10329<para lang="en"> 10330the $https variable. 10331</para> 10332</change> 10333 10334<change type="feature"> 10335<para lang="ru"> 10336директива proxy_redirect поддерживает переменные в первом параметре. 10337</para> 10338<para lang="en"> 10339the "proxy_redirect" directive supports variables in the first parameter. 10340</para> 10341</change> 10342 10343<change type="feature"> 10344<para lang="ru"> 10345директива proxy_redirect поддерживает регулярные выражения. 10346</para> 10347<para lang="en"> 10348the "proxy_redirect" directive supports regular expressions. 10349</para> 10350</change> 10351 10352<change type="bugfix"> 10353<para lang="ru"> 10354переменная $sent_http_cache_control могла содержать неверное значение при 10355использовании директивы expires.<br/> 10356Спасибо Yichun Zhang. 10357</para> 10358<para lang="en"> 10359the $sent_http_cache_control variable might contain a wrong value if the 10360"expires" directive was used.<br/> 10361Thanks to Yichun Zhang. 10362</para> 10363</change> 10364 10365<change type="bugfix"> 10366<para lang="ru"> 10367директива read_ahead могла не работать при использовании совместно с 10368try_files и open_file_cache. 10369</para> 10370<para lang="en"> 10371the "read_ahead" directive might not work combined with "try_files" 10372and "open_file_cache". 10373</para> 10374</change> 10375 10376<change type="bugfix"> 10377<para lang="ru"> 10378если в параметре inactive директивы proxy_cache_path 10379было указано малое время, 10380в рабочем процессе мог произойти segmentation fault. 10381</para> 10382<para lang="en"> 10383a segmentation fault might occur in a worker process 10384if small time was used in the "inactive" parameter of 10385the "proxy_cache_path" directive. 10386</para> 10387</change> 10388 10389<change type="bugfix"> 10390<para lang="ru"> 10391ответы из кэша могли зависать. 10392</para> 10393<para lang="en"> 10394responses from cache might hang. 10395</para> 10396</change> 10397 10398</changes> 10399 10400 10401<changes ver="1.1.10" date="2011-11-30"> 10402 10403<change type="bugfix"> 10404<para lang="ru"> 10405при использовании AIO на Linux в рабочем процессе происходил segmentation fault; 10406ошибка появилась в 1.1.9. 10407</para> 10408<para lang="en"> 10409a segmentation fault occurred in a worker process if AIO was used on Linux; 10410the bug had appeared in 1.1.9. 10411</para> 10412</change> 10413 10414</changes> 10415 10416 10417<changes ver="1.1.9" date="2011-11-28"> 10418 10419<change type="change"> 10420<para lang="ru"> 10421теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/> 10422Спасибо Зауру Абасмирзоеву. 10423</para> 10424<para lang="en"> 10425now double quotes are encoded in an "echo" SSI-command output.<br/> 10426Thanks to Zaur Abasmirzoev. 10427</para> 10428</change> 10429 10430<change type="feature"> 10431<para lang="ru"> 10432параметр valid в директиве resolver. По умолчанию теперь 10433используется TTL, возвращённый DNS-сервером.<br/> 10434Спасибо Кириллу Коринскому. 10435</para> 10436<para lang="en"> 10437the "valid" parameter of the "resolver" directive. By default TTL 10438returned by a DNS server is used.<br/> 10439Thanks to Kirill A. Korinskiy. 10440</para> 10441</change> 10442 10443<change type="bugfix"> 10444<para lang="ru"> 10445nginx мог перестать отвечать, если рабочий процесс завершался аварийно. 10446</para> 10447<para lang="en"> 10448nginx might hang after a worker process abnormal termination. 10449</para> 10450</change> 10451 10452<change type="bugfix"> 10453<para lang="ru"> 10454в рабочем процессе мог произойти segmentation fault, 10455если использовалось SNI; 10456ошибка появилась в 1.1.2. 10457</para> 10458<para lang="en"> 10459a segmentation fault might occur in a worker process 10460if SNI was used; 10461the bug had appeared in 1.1.2. 10462</para> 10463</change> 10464 10465<change type="bugfix"> 10466<para lang="ru"> 10467в директиве keepalive_disable; 10468ошибка появилась в 1.1.8.<br/> 10469Спасибо Александру Усову. 10470</para> 10471<para lang="en"> 10472in the "keepalive_disable" directive; 10473the bug had appeared in 1.1.8.<br/> 10474Thanks to Alexander Usov. 10475</para> 10476</change> 10477 10478<change type="bugfix"> 10479<para lang="ru"> 10480сигнал SIGWINCH переставал работать после первого обновления исполняемого 10481файла; 10482ошибка появилась в 1.1.1. 10483</para> 10484<para lang="en"> 10485SIGWINCH signal did not work after first binary upgrade; 10486the bug had appeared in 1.1.1. 10487</para> 10488</change> 10489 10490<change type="bugfix"> 10491<para lang="ru"> 10492теперь ответы бэкендов, длина которых не соответствует заголовку 10493Content-Length, не кэширутся. 10494</para> 10495<para lang="en"> 10496backend responses with length not matching "Content-Length" header line 10497are no longer cached. 10498</para> 10499</change> 10500 10501<change type="bugfix"> 10502<para lang="ru"> 10503в директиве scgi_param при использовании составных параметров. 10504</para> 10505<para lang="en"> 10506in the "scgi_param" directive, if complex parameters were used. 10507</para> 10508</change> 10509 10510<change type="bugfix"> 10511<para lang="ru"> 10512в методе epoll.<br/> 10513Спасибо Yichun Zhang. 10514</para> 10515<para lang="en"> 10516in the "epoll" event method.<br/> 10517Thanks to Yichun Zhang. 10518</para> 10519</change> 10520 10521<change type="bugfix"> 10522<para lang="ru"> 10523в модуле ngx_http_flv_module.<br/> 10524Спасибо Piotr Sikora. 10525</para> 10526<para lang="en"> 10527in the ngx_http_flv_module.<br/> 10528Thanks to Piotr Sikora. 10529</para> 10530</change> 10531 10532<change type="bugfix"> 10533<para lang="ru"> 10534в модуле ngx_http_mp4_module. 10535</para> 10536<para lang="en"> 10537in the ngx_http_mp4_module. 10538</para> 10539</change> 10540 10541<change type="bugfix"> 10542<para lang="ru"> 10543теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host. 10544</para> 10545<para lang="en"> 10546IPv6 addresses are now handled properly in a request line and in a "Host" 10547request header line. 10548</para> 10549</change> 10550 10551<change type="bugfix"> 10552<para lang="ru"> 10553директивы add_header и expires не работали для ответов с кодом 206, 10554если запрос проксировался. 10555</para> 10556<para lang="en"> 10557"add_header" and "expires" directives did not work if a request was proxied 10558and response status code was 206. 10559</para> 10560</change> 10561 10562<change type="bugfix"> 10563<para lang="ru"> 10564nginx не собирался на FreeBSD 10. 10565</para> 10566<para lang="en"> 10567nginx could not be built on FreeBSD 10. 10568</para> 10569</change> 10570 10571<change type="bugfix"> 10572<para lang="ru"> 10573nginx не собирался на AIX. 10574</para> 10575<para lang="en"> 10576nginx could not be built on AIX. 10577</para> 10578</change> 10579 10580</changes> 10581 10582 10583<changes ver="1.1.8" date="2011-11-14"> 10584 10585<change type="change"> 10586<para lang="ru"> 10587модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module. 10588</para> 10589<para lang="en"> 10590the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module. 10591</para> 10592</change> 10593 10594<change type="change"> 10595<para lang="ru"> 10596директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом. 10597</para> 10598<para lang="en"> 10599the "limit_zone" directive was superseded by the "limit_conn_zone" directive 10600with a new syntax. 10601</para> 10602</change> 10603 10604<change type="feature"> 10605<para lang="ru"> 10606поддержка ограничения по нескольким limit_conn на одном уровне. 10607</para> 10608<para lang="en"> 10609support for multiple "limit_conn" limits on the same level. 10610</para> 10611</change> 10612 10613<change type="feature"> 10614<para lang="ru"> 10615директива image_filter_sharpen. 10616</para> 10617<para lang="en"> 10618the "image_filter_sharpen" directive. 10619</para> 10620</change> 10621 10622<change type="bugfix"> 10623<para lang="ru"> 10624в рабочем процессе мог произойти segmentation fault, 10625если resolver получил большой DNS-ответ.<br/> 10626Спасибо Ben Hawkes. 10627</para> 10628<para lang="en"> 10629a segmentation fault might occur in a worker process 10630if resolver got a big DNS response.<br/> 10631Thanks to Ben Hawkes. 10632</para> 10633</change> 10634 10635<change type="bugfix"> 10636<para lang="ru"> 10637в вычислении ключа для кэширования, 10638если использовалась внутренняя реализация MD5; 10639ошибка появилась в 1.0.4. 10640</para> 10641<para lang="en"> 10642in cache key calculation 10643if internal MD5 implementation was used; 10644the bug had appeared in 1.0.4. 10645</para> 10646</change> 10647 10648<change type="bugfix"> 10649<para lang="ru"> 10650строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 10651клиента могли передаваться бэкенду при кэшировании; или не передаваться при 10652выключенном кэшировании, если кэширование было включено в другой части 10653конфигурации. 10654</para> 10655<para lang="en"> 10656the "If-Modified-Since", "If-Range", etc. client request header lines 10657might be passed to backend while caching; or not passed without caching 10658if caching was enabled in another part of the configuration. 10659</para> 10660</change> 10661 10662<change type="bugfix"> 10663<para lang="ru"> 10664модуль ngx_http_mp4_module выдавал неверную строку "Content-Length" 10665в заголовке ответа, использовался аргумент start.<br/> 10666Спасибо Piotr Sikora. 10667</para> 10668<para lang="en"> 10669the module ngx_http_mp4_module sent incorrect "Content-Length" response 10670header line if the "start" argument was used.<br/> 10671Thanks to Piotr Sikora. 10672</para> 10673</change> 10674 10675</changes> 10676 10677 10678<changes ver="1.1.7" date="2011-10-31"> 10679 10680<change type="feature"> 10681<para lang="ru"> 10682поддержка нескольких DNS серверов в директиве "resolver".<br/> 10683Спасибо Кириллу Коринскому. 10684</para> 10685<para lang="en"> 10686support of several DNS servers in the "resolver" directive.<br/> 10687Thanks to Kirill A. Korinskiy. 10688</para> 10689</change> 10690 10691<change type="bugfix"> 10692<para lang="ru"> 10693на старте или во время переконфигурации происходил segmentation fault, 10694если директива ssl использовалась на уровне http и не был указан 10695ssl_certificate. 10696</para> 10697<para lang="en"> 10698a segmentation fault occurred on start or during reconfiguration 10699if the "ssl" directive was used at http level and there was 10700no "ssl_certificate" defined. 10701</para> 10702</change> 10703 10704<change type="bugfix"> 10705<para lang="ru"> 10706уменьшено потребление памяти при проксировании больших файлов, 10707если они буферизировались на диск. 10708</para> 10709<para lang="en"> 10710reduced memory consumption while proxying big files 10711if they were buffered to disk. 10712</para> 10713</change> 10714 10715<change type="bugfix"> 10716<para lang="ru"> 10717в рабочем процессе мог произойти segmentation fault, 10718если использовалась директива "proxy_http_version 1.1". 10719</para> 10720<para lang="en"> 10721a segmentation fault might occur in a worker process 10722if "proxy_http_version 1.1" directive was used. 10723</para> 10724</change> 10725 10726<change type="bugfix"> 10727<para lang="ru"> 10728в директиве "expires @time". 10729</para> 10730<para lang="en"> 10731in the "expires @time" directive. 10732</para> 10733</change> 10734 10735</changes> 10736 10737 10738<changes ver="1.1.6" date="2011-10-17"> 10739 10740<change> 10741<para lang="ru"> 10742Изменение во внутреннем API: теперь при внутреннем редиректе 10743в именованный location контексты модулей очищаются.<br/> 10744По запросу Yichun Zhang. 10745</para> 10746<para lang="en"> 10747Change in internal API: now module context data are cleared 10748while internal redirect to named location.<br/> 10749Requested by Yichun Zhang. 10750</para> 10751</change> 10752 10753<change type="change"> 10754<para lang="ru"> 10755теперь если сервер, описанный в блоке upstream, был признан неработающим, 10756то после истечения fail_timeout на него будет отправлен только один запрос; 10757сервер будет считаться работающим, если успешно ответит на этот запрос. 10758</para> 10759<para lang="en"> 10760if a server in an upstream failed, only one request will be sent to it 10761after fail_timeout; the server will be considered alive if it will 10762successfully respond to the request. 10763</para> 10764</change> 10765 10766<change type="change"> 10767<para lang="ru"> 10768теперь символы 0x7F-0xFF в access_log записываются в виде \xXX. 10769</para> 10770<para lang="en"> 10771now the 0x7F-0xFF characters are escaped as \xXX in an access_log. 10772</para> 10773</change> 10774 10775<change type="feature"> 10776<para lang="ru"> 10777директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают 10778значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset. 10779</para> 10780<para lang="en"> 10781"proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following 10782additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset. 10783</para> 10784</change> 10785 10786<change type="feature"> 10787<para lang="ru"> 10788уменьшение потребления памяти при использовании SSL. 10789</para> 10790<para lang="en"> 10791decrease of memory consumption if SSL is used. 10792</para> 10793</change> 10794 10795<change type="bugfix"> 10796<para lang="ru"> 10797некоторые UTF-8 символы обрабатывались неправильно.<br/> 10798Спасибо Алексею Куцу. 10799</para> 10800<para lang="en"> 10801some UTF-8 characters were processed incorrectly.<br/> 10802Thanks to Alexey Kuts. 10803</para> 10804</change> 10805 10806<change type="bugfix"> 10807<para lang="ru"> 10808директивы модуля ngx_http_rewrite_module, заданные на уровне server, 10809применялись повторно, если для запроса не находилось ни одного location'а. 10810</para> 10811<para lang="en"> 10812the ngx_http_rewrite_module directives specified at "server" level were 10813executed twice if no matching locations were defined. 10814</para> 10815</change> 10816 10817<change type="bugfix"> 10818<para lang="ru"> 10819при использовании "aio sendfile" могла происходить утечка сокетов. 10820</para> 10821<para lang="en"> 10822a socket leak might occurred if "aio sendfile" was used. 10823</para> 10824</change> 10825 10826<change type="bugfix"> 10827<para lang="ru"> 10828при использовании файлового AIO соединения с быстрыми клиентами 10829могли быть закрыты по истечению send_timeout. 10830</para> 10831<para lang="en"> 10832connections with fast clients might be closed after send_timeout 10833if file AIO was used. 10834</para> 10835</change> 10836 10837<change type="bugfix"> 10838<para lang="ru"> 10839в модуле ngx_http_autoindex_module. 10840</para> 10841<para lang="en"> 10842in the ngx_http_autoindex_module. 10843</para> 10844</change> 10845 10846<change type="bugfix"> 10847<para lang="ru"> 10848модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах. 10849</para> 10850<para lang="en"> 10851the module ngx_http_mp4_module did not support seeking on 32-bit platforms. 10852</para> 10853</change> 10854 10855</changes> 10856 10857 10858<changes ver="1.1.5" date="2011-10-05"> 10859 10860<change type="feature"> 10861<para lang="ru"> 10862директивы uwsgi_buffering и scgi_buffering.<br/> 10863Спасибо Peter Smit. 10864</para> 10865<para lang="en"> 10866the "uwsgi_buffering" and "scgi_buffering" directives.<br/> 10867Thanks to Peter Smit. 10868</para> 10869</change> 10870 10871<change type="bugfix"> 10872<para lang="ru"> 10873при использовании proxy_cache_bypass могли быть закэшированы 10874некэшируемые ответы.<br/> 10875Спасибо John Ferlito. 10876</para> 10877<para lang="en"> 10878non-cacheable responses might be cached if "proxy_cache_bypass" directive 10879was used.<br/> 10880Thanks to John Ferlito. 10881</para> 10882</change> 10883 10884<change type="bugfix"> 10885<para lang="ru"> 10886в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1. 10887</para> 10888<para lang="en"> 10889in HTTP/1.1 support in the ngx_http_proxy_module. 10890</para> 10891</change> 10892 10893<change type="bugfix"> 10894<para lang="ru"> 10895закэшированные ответы с пустым телом возвращались некорректно; 10896ошибка появилась в 0.8.31. 10897</para> 10898<para lang="en"> 10899cached responses with an empty body were returned incorrectly; 10900the bug had appeared in 0.8.31. 10901</para> 10902</change> 10903 10904<change type="bugfix"> 10905<para lang="ru"> 10906ответы с кодом 201 модуля ngx_http_dav_module были некорректны; 10907ошибка появилась в 0.8.32. 10908</para> 10909<para lang="en"> 10910201 responses of the ngx_http_dav_module were incorrect; 10911the bug had appeared in 0.8.32. 10912</para> 10913</change> 10914 10915<change type="bugfix"> 10916<para lang="ru"> 10917в директиве return. 10918</para> 10919<para lang="en"> 10920in the "return" directive. 10921</para> 10922</change> 10923 10924<change type="bugfix"> 10925<para lang="ru"> 10926при использовании директивы "ssl_session_cache builtin" происходил 10927segmentation fault; 10928ошибка появилась в 1.1.1. 10929</para> 10930<para lang="en"> 10931the "ssl_session_cache builtin" directive caused segmentation fault; 10932the bug had appeared in 1.1.1. 10933</para> 10934</change> 10935 10936</changes> 10937 10938 10939<changes ver="1.1.4" date="2011-09-20"> 10940 10941<change type="feature"> 10942<para lang="ru"> 10943модуль ngx_http_upstream_keepalive. 10944</para> 10945<para lang="en"> 10946the ngx_http_upstream_keepalive module. 10947</para> 10948</change> 10949 10950<change type="feature"> 10951<para lang="ru"> 10952директива proxy_http_version. 10953</para> 10954<para lang="en"> 10955the "proxy_http_version" directive. 10956</para> 10957</change> 10958 10959<change type="feature"> 10960<para lang="ru"> 10961директива fastcgi_keep_conn. 10962</para> 10963<para lang="en"> 10964the "fastcgi_keep_conn" directive. 10965</para> 10966</change> 10967 10968<change type="feature"> 10969<para lang="ru"> 10970директива worker_aio_requests. 10971</para> 10972<para lang="en"> 10973the "worker_aio_requests" directive. 10974</para> 10975</change> 10976 10977<change type="bugfix"> 10978<para lang="ru"> 10979если nginx был собран с файловым AIO, 10980он не мог запускаться на Linux без поддержки AIO. 10981</para> 10982<para lang="en"> 10983if nginx was built --with-file-aio it could not be run on Linux 10984kernel which did not support AIO. 10985</para> 10986</change> 10987 10988<change type="bugfix"> 10989<para lang="ru"> 10990в обработке ошибок при работе с Linux AIO. 10991<br/> 10992Спасибо Hagai Avrahami. 10993</para> 10994<para lang="en"> 10995in Linux AIO error processing. 10996<br/> 10997Thanks to Hagai Avrahami. 10998</para> 10999</change> 11000 11001<change type="bugfix"> 11002<para lang="ru"> 11003уменьшено потребление памяти для долгоживущих запросов. 11004</para> 11005<para lang="en"> 11006reduced memory consumption for long-lived requests. 11007</para> 11008</change> 11009 11010<change type="bugfix"> 11011<para lang="ru"> 11012модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64. 11013</para> 11014<para lang="en"> 11015the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom. 11016</para> 11017</change> 11018 11019</changes> 11020 11021 11022<changes ver="1.1.3" date="2011-09-14"> 11023 11024<change type="feature"> 11025<para lang="ru"> 11026модуль ngx_http_mp4_module. 11027</para> 11028<para lang="en"> 11029the module ngx_http_mp4_module. 11030</para> 11031</change> 11032 11033<change type="bugfix"> 11034<para lang="ru"> 11035в Linux AIO, используемым совместно с open_file_cache. 11036</para> 11037<para lang="en"> 11038in Linux AIO combined with open_file_cache. 11039</para> 11040</change> 11041 11042<change type="bugfix"> 11043<para lang="ru"> 11044open_file_cache не обновлял информацию о файле, 11045если файл был изменён не атомарно. 11046</para> 11047<para lang="en"> 11048open_file_cache did not update file info on retest 11049if file was not atomically changed. 11050</para> 11051</change> 11052 11053<change type="bugfix"> 11054<para lang="ru"> 11055nginx не собирался на MacOSX 10.7. 11056</para> 11057<para lang="en"> 11058nginx could not be built on MacOSX 10.7. 11059</para> 11060</change> 11061 11062</changes> 11063 11064 11065<changes ver="1.1.2" date="2011-09-05"> 11066 11067<change type="change"> 11068<para lang="ru"> 11069теперь, если суммарный размер всех диапазонов больше размера исходного ответа, 11070то nginx возвращает только исходный ответ, не обрабатывая диапазоны. 11071</para> 11072<para lang="en"> 11073now if total size of all ranges is greater than source response size, 11074then nginx disables ranges and returns just the source response. 11075</para> 11076</change> 11077 11078<change type="feature"> 11079<para lang="ru"> 11080директива max_ranges. 11081</para> 11082<para lang="en"> 11083the "max_ranges" directive. 11084</para> 11085</change> 11086 11087<change type="bugfix"> 11088<para lang="ru"> 11089директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher 11090могли работать некорректно, если использовался SNI. 11091</para> 11092<para lang="en"> 11093the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers" 11094directives might work incorrectly if SNI was used. 11095</para> 11096</change> 11097 11098<change type="bugfix"> 11099<para lang="ru"> 11100в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort. 11101</para> 11102<para lang="en"> 11103in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives. 11104</para> 11105</change> 11106 11107</changes> 11108 11109 11110<changes ver="1.1.1" date="2011-08-22"> 11111 11112<change type="change"> 11113<para lang="ru"> 11114теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов, 11115указанное в параметре load_files, либо работает не дольше времени, 11116указанного в параметре loader_threshold. 11117</para> 11118<para lang="en"> 11119now cache loader processes either as many files as specified by "loader_files" 11120parameter or works no longer than time specified by the "loader_threshold" 11121parameter during each iteration. 11122</para> 11123</change> 11124 11125<change type="change"> 11126<para lang="ru"> 11127SIGWINCH сигнал теперь работает только в режиме демона. 11128</para> 11129<para lang="en"> 11130now SIGWINCH signal works only in daemon mode. 11131</para> 11132</change> 11133 11134<change type="feature"> 11135<para lang="ru"> 11136теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/> 11137Спасибо Денису Иванову. 11138</para> 11139<para lang="en"> 11140now shared zones and caches use POSIX semaphores on Solaris.<br/> 11141Thanks to Den Ivanov. 11142</para> 11143</change> 11144 11145<change type="feature"> 11146<para lang="ru"> 11147теперь на NetBSD поддерживаются accept фильтры. 11148</para> 11149<para lang="en"> 11150accept filters are now supported on NetBSD. 11151</para> 11152</change> 11153 11154<change type="bugfix"> 11155<para lang="ru"> 11156nginx не собирался на Linux 3.0. 11157</para> 11158<para lang="en"> 11159nginx could not be built on Linux 3.0. 11160</para> 11161</change> 11162 11163<change type="bugfix"> 11164<para lang="ru"> 11165в некоторых случаях nginx не использовал сжатие; 11166ошибка появилась в 1.1.0. 11167</para> 11168<para lang="en"> 11169nginx did not use gzipping in some cases; 11170the bug had appeared in 1.1.0. 11171</para> 11172</change> 11173 11174<change type="bugfix"> 11175<para lang="ru"> 11176обработка тела запроса могла быть неверной, если клиент использовал pipelining. 11177</para> 11178<para lang="en"> 11179request body might be processed incorrectly if client used pipelining. 11180</para> 11181</change> 11182 11183<change type="bugfix"> 11184<para lang="ru"> 11185в директиве request_body_in_single_buf. 11186</para> 11187<para lang="en"> 11188in the "request_body_in_single_buf" directive. 11189</para> 11190</change> 11191 11192<change type="bugfix"> 11193<para lang="ru"> 11194в директивах proxy_set_body и proxy_pass_request_body 11195при использовании SSL-соединения с бэкендом. 11196</para> 11197<para lang="en"> 11198in "proxy_set_body" and "proxy_pass_request_body" directives 11199if SSL connection to backend was used. 11200</para> 11201</change> 11202 11203<change type="bugfix"> 11204<para lang="ru"> 11205nginx нагружал процессор, если все серверы в upstream'е были помечены 11206флагом down. 11207</para> 11208<para lang="en"> 11209nginx hogged CPU if all servers in an upstream were marked as "down". 11210</para> 11211</change> 11212 11213<change type="bugfix"> 11214<para lang="ru"> 11215при переконфигурации мог произойти segmentation fault, 11216если в предыдущей конфигурации был определён, но не использовался 11217ssl_session_cache. 11218</para> 11219<para lang="en"> 11220a segmentation fault might occur during reconfiguration 11221if ssl_session_cache was defined but not used in previous configuration. 11222</para> 11223</change> 11224 11225<change type="bugfix"> 11226<para lang="ru"> 11227при использовании большого количества backup-серверов 11228в рабочем процессе мог произойти segmentation fault. 11229</para> 11230<para lang="en"> 11231a segmentation fault might occur in a worker process 11232if many backup servers were used in an upstream. 11233</para> 11234</change> 11235 11236<change type="bugfix"> 11237<para lang="ru"> 11238при использовании директив fastcgi/scgi/uwsgi_param 11239со значениями, начинающимися со строки "HTTP_", 11240в рабочем процессе мог произойти segmentation fault; 11241ошибка появилась в 0.8.40. 11242</para> 11243<para lang="en"> 11244a segmentation fault might occur in a worker process 11245if "fastcgi/scgi/uwsgi_param" directives were used 11246with values starting with "HTTP_"; 11247the bug had appeared in 0.8.40. 11248</para> 11249</change> 11250 11251</changes> 11252 11253 11254<changes ver="1.1.0" date="2011-08-01"> 11255 11256<change type="feature"> 11257<para lang="ru"> 11258уменьшение времени работы загрузчика кэша. 11259</para> 11260<para lang="en"> 11261cache loader run time decrease. 11262</para> 11263</change> 11264 11265<change type="feature"> 11266<para lang="ru"> 11267параметры loader_files, loader_sleep и loader_threshold 11268директив proxy/fastcgi/scgi/uwsgi_cache_path. 11269</para> 11270<para lang="en"> 11271"loader_files", "loader_sleep", and "loader_threshold" options 11272of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. 11273</para> 11274</change> 11275 11276<change type="feature"> 11277<para lang="ru"> 11278уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов. 11279</para> 11280<para lang="en"> 11281loading time decrease of configuration with large number of HTTPS sites. 11282</para> 11283</change> 11284 11285<change type="feature"> 11286<para lang="ru"> 11287теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/> 11288Спасибо Adrian Kotelba. 11289</para> 11290<para lang="en"> 11291now nginx supports ECDHE key exchange ciphers.<br/> 11292Thanks to Adrian Kotelba. 11293</para> 11294</change> 11295 11296<change type="feature"> 11297<para lang="ru"> 11298директива lingering_close.<br/> 11299Спасибо Максиму Дунину. 11300</para> 11301<para lang="en"> 11302the "lingering_close" directive.<br/> 11303Thanks to Maxim Dounin. 11304</para> 11305</change> 11306 11307<change type="bugfix"> 11308<para lang="ru"> 11309закрытия соединения для pipelined-запросов.<br/> 11310Спасибо Максиму Дунину. 11311</para> 11312<para lang="en"> 11313in closing connection for pipelined requests.<br/> 11314Thanks to Maxim Dounin. 11315</para> 11316</change> 11317 11318<change type="bugfix"> 11319<para lang="ru"> 11320nginx не запрещал сжатие при получении значения "gzip;q=0" 11321в строке "Accept-Encoding" в заголовке запроса клиента. 11322</para> 11323<para lang="en"> 11324nginx did not disable gzipping if client sent "gzip;q=0" in 11325"Accept-Encoding" request header line. 11326</para> 11327</change> 11328 11329<change type="bugfix"> 11330<para lang="ru"> 11331таймаута при небуферизированном проксировании.<br/> 11332Спасибо Максиму Дунину. 11333</para> 11334<para lang="en"> 11335in timeout in unbuffered proxied mode.<br/> 11336Thanks to Maxim Dounin. 11337</para> 11338</change> 11339 11340<change type="bugfix"> 11341<para lang="ru"> 11342утечки памяти при использовании переменных в директиве proxy_pass 11343при работе с бэкендом по HTTPS.<br/> 11344Спасибо Максиму Дунину. 11345</para> 11346<para lang="en"> 11347memory leaks when a "proxy_pass" directive contains variables and proxies 11348to an HTTPS backend.<br/> 11349Thanks to Maxim Dounin. 11350</para> 11351</change> 11352 11353<change type="bugfix"> 11354<para lang="ru"> 11355в проверке параметра директивы proxy_pass, заданного переменными.<br/> 11356Спасибо Lanshun Zhou. 11357</para> 11358<para lang="en"> 11359in parameter validation of a "proxy_pass" directive with variables.<br/> 11360Thanks to Lanshun Zhou. 11361</para> 11362</change> 11363 11364<change type="bugfix"> 11365<para lang="ru"> 11366SSL не работал на QNX.<br/> 11367Спасибо Максиму Дунину. 11368</para> 11369<para lang="en"> 11370SSL did not work on QNX.<br/> 11371Thanks to Maxim Dounin. 11372</para> 11373</change> 11374 11375<change type="bugfix"> 11376<para lang="ru"> 11377SSL модули не собирались gcc 4.6 без параметра --with-debug. 11378</para> 11379<para lang="en"> 11380SSL modules could not be built by gcc 4.6 without --with-debug option. 11381</para> 11382</change> 11383 11384</changes> 11385 11386 11387<changes ver="1.0.5" date="2011-07-19"> 11388 11389<change type="change"> 11390<para lang="ru"> 11391теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/> 11392Спасибо Rob Stradling. 11393</para> 11394<para lang="en"> 11395now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/> 11396Thanks to Rob Stradling. 11397</para> 11398</change> 11399 11400<change type="feature"> 11401<para lang="ru"> 11402директивы referer_hash_max_size и referer_hash_bucket_size.<br/> 11403Спасибо Witold Filipczyk. 11404</para> 11405<para lang="en"> 11406the "referer_hash_max_size" and "referer_hash_bucket_size" 11407directives.<br/> 11408Thanks to Witold Filipczyk. 11409</para> 11410</change> 11411 11412<change type="feature"> 11413<para lang="ru"> 11414переменная $uid_reset. 11415</para> 11416<para lang="en"> 11417$uid_reset variable. 11418</para> 11419</change> 11420 11421<change type="bugfix"> 11422<para lang="ru"> 11423при использовании кэширования 11424в рабочем процессе мог произойти segmentation fault.<br/> 11425Спасибо Lanshun Zhou. 11426</para> 11427<para lang="en"> 11428a segmentation fault might occur in a worker process, 11429if a caching was used.<br/> 11430Thanks to Lanshun Zhou. 11431</para> 11432</change> 11433 11434<change type="bugfix"> 11435<para lang="ru"> 11436при использовании кэширования рабочие процессы 11437могли зациклиться во время переконфигурации; 11438ошибка появилась в 0.8.48.<br/> 11439Спасибо Максиму Дунину. 11440</para> 11441<para lang="en"> 11442worker processes may got caught in an endless loop during reconfiguration, 11443if a caching was used; 11444the bug had appeared in 0.8.48.<br/> 11445Thanks to Maxim Dounin. 11446</para> 11447</change> 11448 11449<change type="bugfix"> 11450<para lang="ru"> 11451сообщения "stalled cache updating".<br/> 11452Спасибо Максиму Дунину. 11453</para> 11454<para lang="en"> 11455"stalled cache updating" alert.<br/> 11456Thanks to Maxim Dounin. 11457</para> 11458</change> 11459 11460</changes> 11461 11462 11463<changes ver="1.0.4" date="2011-06-01"> 11464 11465<change type="change"> 11466<para lang="ru"> 11467теперь в регулярных выражениях в директиве map можно задать 11468чувствительность к регистру с помощью префиксов "~" и "~*". 11469</para> 11470<para lang="en"> 11471now regular expressions case sensitivity in the "map" directive 11472is given by prefixes "~" or "~*". 11473</para> 11474</change> 11475 11476<change type="feature"> 11477<para lang="ru"> 11478теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/> 11479Спасибо Денису Латыпову. 11480</para> 11481<para lang="en"> 11482now shared zones and caches use POSIX semaphores on Linux.<br/> 11483Thanks to Denis F. Latypoff. 11484</para> 11485</change> 11486 11487<change type="bugfix"> 11488<para lang="ru"> 11489сообщения "stalled cache updating". 11490</para> 11491<para lang="en"> 11492"stalled cache updating" alert. 11493</para> 11494</change> 11495 11496<change type="bugfix"> 11497<para lang="ru"> 11498nginx не собирался с параметром --without-http_auth_basic_module; 11499ошибка появилась в 1.0.3. 11500</para> 11501<para lang="en"> 11502nginx could not be built --without-http_auth_basic_module; 11503the bug had appeared in 1.0.3. 11504</para> 11505</change> 11506 11507</changes> 11508 11509 11510<changes ver="1.0.3" date="2011-05-25"> 11511 11512<change type="feature"> 11513<para lang="ru"> 11514директива auth_basic_user_file поддерживает шифрование пароля 11515методами "$apr1", "{PLAIN}" и "{SSHA}".<br/> 11516Спасибо Максиму Дунину. 11517</para> 11518<para lang="en"> 11519the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", 11520and "{SSHA}" password encryption methods.<br/> 11521Thanks to Maxim Dounin. 11522</para> 11523</change> 11524 11525<change type="feature"> 11526<para lang="ru"> 11527директива geoip_org и переменная $geoip_org.<br/> 11528Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 11529</para> 11530<para lang="en"> 11531the "geoip_org" directive and $geoip_org variable.<br/> 11532Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. 11533</para> 11534</change> 11535 11536<change type="feature"> 11537<para lang="ru"> 11538модули ngx_http_geo_module и ngx_http_geoip_module поддерживают 11539адреса IPv4, отображённые на IPv6 адреса. 11540</para> 11541<para lang="en"> 11542ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses 11543mapped to IPv6 addresses. 11544</para> 11545</change> 11546 11547<change type="bugfix"> 11548<para lang="ru"> 11549при проверке адреса IPv4, отображённого на адрес IPv6, 11550в рабочем процессе происходил segmentation fault, 11551если директивы access или deny были определены только для адресов IPv6; 11552ошибка появилась в 0.8.22. 11553</para> 11554<para lang="en"> 11555a segmentation fault occurred in a worker process 11556during testing IPv4 address mapped to IPv6 address, 11557if access or deny rules were defined only for IPv6; 11558the bug had appeared in 0.8.22. 11559</para> 11560</change> 11561 11562<change type="bugfix"> 11563<para lang="ru"> 11564закэшированный ответ мог быть испорчен, если значения директив 11565proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache 11566были разными; 11567ошибка появилась в 0.8.46. 11568</para> 11569<para lang="en"> 11570a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass" 11571and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different; 11572the bug had appeared in 0.8.46. 11573</para> 11574</change> 11575 11576</changes> 11577 11578 11579<changes ver="1.0.2" date="2011-05-10"> 11580 11581<change type="feature"> 11582<para lang="ru"> 11583теперь разделяемые зоны и кэши используют семафоры POSIX. 11584</para> 11585<para lang="en"> 11586now shared zones and caches use POSIX semaphores. 11587</para> 11588</change> 11589 11590<change type="bugfix"> 11591<para lang="ru"> 11592в работе параметра rotate директивы image_filter.<br/> 11593Спасибо Adam Bocim. 11594</para> 11595<para lang="en"> 11596in the "rotate" parameter of the "image_filter" directive.<br/> 11597Thanks to Adam Bocim. 11598</para> 11599</change> 11600 11601<change type="bugfix"> 11602<para lang="ru"> 11603nginx не собирался на Solaris; 11604ошибка появилась в 1.0.1. 11605</para> 11606<para lang="en"> 11607nginx could not be built on Solaris; 11608the bug had appeared in 1.0.1. 11609</para> 11610</change> 11611 11612</changes> 11613 11614 11615<changes ver="1.0.1" date="2011-05-03"> 11616 11617<change type="change"> 11618<para lang="ru"> 11619теперь директива split_clients использует алгоритм MurmurHash2 из-за 11620лучшего распределения.<br/> 11621Спасибо Олегу Мамонтову. 11622</para> 11623<para lang="en"> 11624now the "split_clients" directive uses MurmurHash2 algorithm because 11625of better distribution.<br/> 11626Thanks to Oleg Mamontov. 11627</para> 11628</change> 11629 11630<change type="change"> 11631<para lang="ru"> 11632теперь длинные строки, начинающиеся с нуля, не считаются ложными 11633значениями.<br/> 11634Спасибо Максиму Дунину. 11635</para> 11636<para lang="en"> 11637now long strings starting with zero are not considered as false values.<br/> 11638Thanks to Maxim Dounin. 11639</para> 11640</change> 11641 11642<change type="change"> 11643<para lang="ru"> 11644теперь по умолчанию nginx использует значение 511 для listen backlog на Linux. 11645</para> 11646<para lang="en"> 11647now nginx uses a default listen backlog value 511 on Linux. 11648</para> 11649</change> 11650 11651<change type="feature"> 11652<para lang="ru"> 11653переменные $upstream_... можно использовать в SSI и перловом модулях. 11654</para> 11655<para lang="en"> 11656the $upstream_... variables may be used in the SSI and perl modules. 11657</para> 11658</change> 11659 11660<change type="bugfix"> 11661<para lang="ru"> 11662теперь nginx лучше ограничивает размер кэша на диске.<br/> 11663Спасибо Олегу Мамонтову. 11664</para> 11665<para lang="en"> 11666now nginx limits better disk cache size.<br/> 11667Thanks to Oleg Mamontov. 11668</para> 11669</change> 11670 11671<change type="bugfix"> 11672<para lang="ru"> 11673при парсинге неправильного IPv4 адреса мог произойти segmentation fault; 11674ошибка появилась в 0.8.22.<br/> 11675Спасибо Максиму Дунину. 11676</para> 11677<para lang="en"> 11678a segmentation fault might occur while parsing incorrect IPv4 address; 11679the bug had appeared in 0.9.3.<br/> 11680Thanks to Maxim Dounin. 11681</para> 11682</change> 11683 11684<change type="bugfix"> 11685<para lang="ru"> 11686nginx не собирался gcc 4.6 без параметра --with-debug. 11687</para> 11688<para lang="en"> 11689nginx could not be built by gcc 4.6 without --with-debug option. 11690</para> 11691</change> 11692 11693<change type="bugfix"> 11694<para lang="ru"> 11695nginx не собирался на Solaris 9 и более ранних; 11696ошибка появилась в 0.9.3.<br/> 11697Спасибо Dagobert Michelsen. 11698</para> 11699<para lang="en"> 11700nginx could not be built on Solaris 9 and earlier; 11701the bug had appeared in 0.9.3.<br/> 11702Thanks to Dagobert Michelsen. 11703</para> 11704</change> 11705 11706<change type="bugfix"> 11707<para lang="ru"> 11708переменная $request_time имела неверные значения, если использовались 11709подзапросы; 11710ошибка появилась в 0.8.47.<br/> 11711Спасибо Игорю А. Валькову. 11712</para> 11713<para lang="en"> 11714$request_time variable had invalid values if subrequests were used; 11715the bug had appeared in 0.8.47.<br/> 11716Thanks to Igor A. Valcov. 11717</para> 11718</change> 11719 11720</changes> 11721 11722 11723<changes ver="1.0.0" date="2011-04-12"> 11724 11725<change type="bugfix"> 11726<para lang="ru"> 11727cache manager мог нагружать процессор после переконфигурации.<br/> 11728Спасибо Максиму Дунину. 11729</para> 11730<para lang="en"> 11731a cache manager might hog CPU after reload.<br/> 11732Thanks to Maxim Dounin. 11733</para> 11734</change> 11735 11736<change type="bugfix"> 11737<para lang="ru"> 11738директива "image_filter crop" неправильно работала в сочетании с 11739"image_filter rotate 180". 11740</para> 11741<para lang="en"> 11742an "image_filter crop" directive worked incorrectly coupled with 11743an "image_filter rotate 180" directive. 11744</para> 11745</change> 11746 11747<change type="bugfix"> 11748<para lang="ru"> 11749директива "satisfy any" запрещала выдачу пользовательской страницы 11750для 401 кода. 11751</para> 11752<para lang="en"> 11753a "satisfy any" directive disabled custom 401 error page. 11754</para> 11755</change> 11756 11757</changes> 11758 11759 11760<changes ver="0.9.7" date="2011-04-04"> 11761 11762<change type="feature"> 11763<para lang="ru"> 11764теперь соединения в состоянии keepalive могут быть закрыты преждевременно, 11765если у воркера нет свободных соединений.<br/> 11766Спасибо Максиму Дунину. 11767</para> 11768<para lang="en"> 11769now keepalive connections may be closed premature, 11770if there are no free worker connections.<br/> 11771Thanks to Maxim Dounin. 11772</para> 11773</change> 11774 11775<change type="feature"> 11776<para lang="ru"> 11777параметр rotate директивы image_filter.<br/> 11778Спасибо Adam Bocim. 11779</para> 11780<para lang="en"> 11781the "rotate" parameter of the "image_filter" directive.<br/> 11782Thanks to Adam Bocim. 11783</para> 11784</change> 11785 11786<change type="bugfix"> 11787<para lang="ru"> 11788ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass 11789задан выражением и ссылается на описанный upstream. 11790</para> 11791<para lang="en"> 11792a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass" 11793directives is given by expression and refers to a defined upstream. 11794</para> 11795</change> 11796 11797</changes> 11798 11799 11800<changes ver="0.9.6" date="2011-03-21"> 11801 11802<change type="feature"> 11803<para lang="ru"> 11804директива map поддерживает регулярные выражения в качестве значения 11805первого параметра. 11806</para> 11807<para lang="en"> 11808the "map" directive supports regular expressions as value of the first 11809parameter. 11810</para> 11811</change> 11812 11813<change type="feature"> 11814<para lang="ru"> 11815переменная $time_iso8601 для access_log.<br/> 11816Спасибо Michael Lustfield. 11817</para> 11818<para lang="en"> 11819$time_iso8601 access_log variable.<br/> 11820Thanks to Michael Lustfield. 11821</para> 11822</change> 11823 11824</changes> 11825 11826 11827<changes ver="0.9.5" date="2011-02-21"> 11828 11829<change type="change"> 11830<para lang="ru"> 11831теперь по умолчанию nginx использует значение -1 для listen backlog 11832на Linux.<br/> 11833Спасибо Андрею Нигматулину. 11834</para> 11835<para lang="en"> 11836now nginx uses a default listen backlog value -1 on Linux.<br/> 11837Thanks to Andrei Nigmatulin. 11838</para> 11839</change> 11840 11841<change type="feature"> 11842<para lang="ru"> 11843параметр utf8 в директивах geoip_country и geoip_city.<br/> 11844Спасибо Денису Латыпову. 11845</para> 11846<para lang="en"> 11847the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/> 11848Thanks to Denis F. Latypoff. 11849</para> 11850</change> 11851 11852<change type="bugfix"> 11853<para lang="ru"> 11854исправление в умолчательной директиве proxy_redirect, если в директиве 11855proxy_pass не был описан URI.<br/> 11856Спасибо Максиму Дунину. 11857</para> 11858<para lang="en"> 11859in a default "proxy_redirect" directive if "proxy_pass" directive has no 11860URI part.<br/> 11861Thanks to Maxim Dounin. 11862</para> 11863</change> 11864 11865<change type="bugfix"> 11866<para lang="ru"> 11867директива error_page не работала с нестандартными кодами ошибок; 11868ошибка появилась в 0.8.53.<br/> 11869Спасибо Максиму Дунину. 11870</para> 11871<para lang="en"> 11872an "error_page" directive did not work with nonstandard error codes; 11873the bug had appeared in 0.8.53.<br/> 11874Thanks to Maxim Dounin. 11875</para> 11876</change> 11877 11878</changes> 11879 11880 11881<changes ver="0.9.4" date="2011-01-21"> 11882 11883<change type="feature"> 11884<para lang="ru"> 11885директива server_name поддерживает переменную $hostname. 11886</para> 11887<para lang="en"> 11888the "server_name" directive supports the $hostname variable. 11889</para> 11890</change> 11891 11892<change type="feature"> 11893<para lang="ru"> 11894494 код для ошибки "Request Header Too Large". 11895</para> 11896<para lang="en"> 11897494 code for "Request Header Too Large" error. 11898</para> 11899</change> 11900 11901</changes> 11902 11903 11904<changes ver="0.9.3" date="2010-12-13"> 11905 11906<change type="bugfix"> 11907<para lang="ru"> 11908если для пары IPv6-адрес:порт описан только один сервер, то выделения 11909в регулярных выражениях в директиве server_name не работали. 11910</para> 11911<para lang="en"> 11912if there was a single server for given IPv6 address:port pair, 11913then captures in regular expressions in a "server_name" directive did not work. 11914</para> 11915</change> 11916 11917<change type="bugfix"> 11918<para lang="ru"> 11919nginx не собирался под Solaris; 11920ошибка появилась в 0.9.0. 11921</para> 11922<para lang="en"> 11923nginx could not be built on Solaris; 11924the bug had appeared in 0.9.0. 11925</para> 11926</change> 11927 11928</changes> 11929 11930 11931<changes ver="0.9.2" date="2010-12-06"> 11932 11933<change type="feature"> 11934<para lang="ru"> 11935поддержка строки "If-Unmodified-Since" в заголовке запроса клиента. 11936</para> 11937<para lang="en"> 11938the "If-Unmodified-Since" client request header line support. 11939</para> 11940</change> 11941 11942<change type="workaround"> 11943<para lang="ru"> 11944использование accept(), если accept4() не реализован; 11945ошибка появилась в 0.9.0. 11946</para> 11947<para lang="en"> 11948fallback to accept() syscall if accept4() was not implemented; 11949the issue had appeared in 0.9.0. 11950</para> 11951</change> 11952 11953<change type="bugfix"> 11954<para lang="ru"> 11955nginx не собирался под Cygwin; 11956ошибка появилась в 0.9.0. 11957</para> 11958<para lang="en"> 11959nginx could not be built on Cygwin; 11960the bug had appeared in 0.9.0. 11961</para> 11962</change> 11963 11964<change type="bugfix"> 11965<para lang="ru"> 11966уязвимости в OpenSSL CVE-2010-4180.<br/> 11967Спасибо Максиму Дунину. 11968</para> 11969<para lang="en"> 11970for OpenSSL vulnerability CVE-2010-4180.<br/> 11971Thanks to Maxim Dounin. 11972</para> 11973</change> 11974 11975</changes> 11976 11977 11978<changes ver="0.9.1" date="2010-11-30"> 11979 11980<change type="bugfix"> 11981<para lang="ru"> 11982директивы вида "return CODE message" не работали; 11983ошибка появилась в 0.9.0. 11984</para> 11985<para lang="en"> 11986"return CODE message" directives did not work; 11987the bug had appeared in 0.9.0. 11988</para> 11989</change> 11990 11991</changes> 11992 11993 11994<changes ver="0.9.0" date="2010-11-29"> 11995 11996<change type="feature"> 11997<para lang="ru"> 11998директива keepalive_disable. 11999</para> 12000<para lang="en"> 12001the "keepalive_disable" directive. 12002</para> 12003</change> 12004 12005<change type="feature"> 12006<para lang="ru"> 12007директива map поддерживает переменные в качестве значения определяемой 12008переменной. 12009</para> 12010<para lang="en"> 12011the "map" directive supports variables as value of a defined variable. 12012</para> 12013</change> 12014 12015<change type="feature"> 12016<para lang="ru"> 12017директива map поддерживает пустые строки в качестве значения первого параметра. 12018</para> 12019<para lang="en"> 12020the "map" directive supports empty strings as value of the first parameter. 12021</para> 12022</change> 12023 12024<change type="feature"> 12025<para lang="ru"> 12026директива map поддерживает выражения в первом параметре. 12027</para> 12028<para lang="en"> 12029the "map" directive supports expressions as the first parameter. 12030</para> 12031</change> 12032 12033<change type="feature"> 12034<para lang="ru"> 12035страница руководства nginx(8).<br/> 12036Спасибо Сергею Осокину. 12037</para> 12038<para lang="en"> 12039nginx(8) manual page.<br/> 12040Thanks to Sergey Osokin. 12041</para> 12042</change> 12043 12044<change type="feature"> 12045<para lang="ru"> 12046поддержка accept4() в Linux.<br/> 12047Спасибо Simon Liu. 12048</para> 12049<para lang="en"> 12050Linux accept4() support.<br/> 12051Thanks to Simon Liu. 12052</para> 12053</change> 12054 12055<change type="workaround"> 12056<para lang="ru"> 12057устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux; 12058предупреждение появилось в 0.8.35. 12059</para> 12060<para lang="en"> 12061elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; 12062the warning had appeared in 0.8.35. 12063</para> 12064</change> 12065 12066<change type="bugfix"> 12067<para lang="ru"> 12068при использовании директивы auth_basic 12069в рабочем процессе мог произойти segmentation fault.<br/> 12070Спасибо Михаилу Лалетину. 12071</para> 12072<para lang="en"> 12073a segmentation fault might occur in a worker process, 12074if the "auth_basic" directive was used.<br/> 12075Thanks to Michail Laletin. 12076</para> 12077</change> 12078 12079<change type="bugfix"> 12080<para lang="ru"> 12081совместимость с модулем ngx_http_eval_module; 12082ошибка появилась в 0.8.42. 12083</para> 12084<para lang="en"> 12085compatibility with ngx_http_eval_module; 12086the bug had appeared in 0.8.42. 12087</para> 12088</change> 12089 12090</changes> 12091 12092 12093<changes ver="0.8.53" date="2010-10-18"> 12094 12095<change type="feature"> 12096<para lang="ru"> 12097теперь директива error_page позволяет менять код статуса у редиректа. 12098</para> 12099<para lang="en"> 12100now the "error_page" directive allows to change a status code in a redirect. 12101</para> 12102</change> 12103 12104<change type="feature"> 12105<para lang="ru"> 12106директива gzip_disable поддерживает специальную маску degradation. 12107</para> 12108<para lang="en"> 12109the "gzip_disable" directive supports special "degradation" mask. 12110</para> 12111</change> 12112 12113<change type="bugfix"> 12114<para lang="ru"> 12115при использовании файлового AIO могла происходить утечка сокетов.<br/> 12116Спасибо Максиму Дунину. 12117</para> 12118<para lang="en"> 12119a socket leak might occurred if file AIO was used.<br/> 12120Thanks to Maxim Dounin. 12121</para> 12122</change> 12123 12124<change type="bugfix"> 12125<para lang="ru"> 12126если в первом сервере не была описана директива listen и нигде явно 12127не описан сервер по умолчанию, то сервером по умолчанию становился 12128следующий сервер с директивой listen; 12129ошибка появилась в 0.8.21. 12130</para> 12131<para lang="en"> 12132if the first server had no "listen" directive and there was no explicit 12133default server, then a next server with a "listen" directive became 12134the default server; 12135the bug had appeared in 0.8.21. 12136</para> 12137</change> 12138 12139</changes> 12140 12141 12142<changes ver="0.8.52" date="2010-09-28"> 12143 12144<change type="bugfix"> 12145<para lang="ru"> 12146nginx использовал режим SSL для listen сокета, если для него был 12147установлен любой listen-параметр; 12148ошибка появилась в 0.8.51. 12149</para> 12150<para lang="en"> 12151nginx used SSL mode for a listen socket if any listen option was set; 12152the bug had appeared in 0.8.51. 12153</para> 12154</change> 12155 12156</changes> 12157 12158 12159<changes ver="0.8.51" date="2010-09-27"> 12160 12161<change type="change"> 12162<para lang="ru"> 12163директива secure_link_expires упразднена. 12164</para> 12165<para lang="en"> 12166the "secure_link_expires" directive has been canceled. 12167</para> 12168</change> 12169 12170<change type="change"> 12171<para lang="ru"> 12172уровень логгирования ошибок resolver'а понижен с уровня alert на error. 12173</para> 12174<para lang="en"> 12175a logging level of resolver errors has been lowered from "alert" to "error". 12176</para> 12177</change> 12178 12179<change type="feature"> 12180<para lang="ru"> 12181теперь параметр "ssl" listen-сокета можно устанавливать несколько раз. 12182</para> 12183<para lang="en"> 12184now a listen socket "ssl" parameter may be set several times. 12185</para> 12186</change> 12187 12188</changes> 12189 12190 12191<changes ver="0.8.50" date="2010-09-02"> 12192 12193<change type="feature"> 12194<para lang="ru"> 12195директивы secure_link, secure_link_md5 и secure_link_expires 12196модуля ngx_http_secure_link_module. 12197</para> 12198<para lang="en"> 12199the "secure_link", "secure_link_md5", and "secure_link_expires" directives of 12200the ngx_http_secure_link_module. 12201</para> 12202</change> 12203 12204<change type="feature"> 12205<para lang="ru"> 12206ключ -q.<br/> 12207Спасибо Геннадию Махомеду. 12208</para> 12209<para lang="en"> 12210the -q switch.<br/> 12211Thanks to Gena Makhomed. 12212</para> 12213</change> 12214 12215<change type="bugfix"> 12216<para lang="ru"> 12217при использовании кэширования рабочие процессы и могли зациклиться 12218во время переконфигурации; 12219ошибка появилась в 0.8.48. 12220</para> 12221<para lang="en"> 12222worker processes may got caught in an endless loop during reconfiguration, 12223if a caching was used; 12224the bug had appeared in 0.8.48. 12225</para> 12226</change> 12227 12228<change type="bugfix"> 12229<para lang="ru"> 12230в директиве gzip_disable.<br/> 12231Спасибо Derrick Petzold. 12232</para> 12233<para lang="en"> 12234in the "gzip_disable" directive.<br/> 12235Thanks to Derrick Petzold. 12236</para> 12237</change> 12238 12239<change type="bugfix"> 12240<para lang="ru"> 12241nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу, 12242запущенному в другой сессии. 12243</para> 12244<para lang="en"> 12245nginx/Windows could not send stop, quit, reopen, and reload signals 12246to a process run in other session. 12247</para> 12248</change> 12249 12250</changes> 12251 12252 12253<changes ver="0.8.49" date="2010-08-09"> 12254 12255<change type="feature"> 12256<para lang="ru"> 12257директива image_filter_jpeg_quality поддерживает переменные. 12258</para> 12259<para lang="en"> 12260the "image_filter_jpeg_quality" directive supports variables. 12261</para> 12262</change> 12263 12264<change type="bugfix"> 12265<para lang="ru"> 12266при использовании переменной $geoip_region_name 12267в рабочем процессе мог произойти segmentation fault; 12268ошибка появилась в 0.8.48. 12269</para> 12270<para lang="en"> 12271a segmentation fault might occur in a worker process, 12272if the $geoip_region_name variables was used; 12273the bug had appeared in 0.8.48. 12274</para> 12275</change> 12276 12277<change type="bugfix"> 12278<para lang="ru"> 12279ошибки, перехваченные error_page, кэшировались только до следующего запроса; 12280ошибка появилась в 0.8.48. 12281</para> 12282<para lang="en"> 12283errors intercepted by error_page were cached only for next request; 12284the bug had appeared in 0.8.48. 12285</para> 12286</change> 12287 12288</changes> 12289 12290 12291<changes ver="0.8.48" date="2010-08-03"> 12292 12293<change type="change"> 12294<para lang="ru"> 12295теперь по умолчанию директива server_name имеет значение пустое имя "".<br/> 12296Спасибо Геннадию Махомеду. 12297</para> 12298<para lang="en"> 12299now the "server_name" directive default value is an empty name "".<br/> 12300Thanks to Gena Makhomed. 12301</para> 12302</change> 12303 12304<change type="change"> 12305<para lang="ru"> 12306теперь по умолчанию директива server_name_in_redirect имеет значение off. 12307</para> 12308<para lang="en"> 12309now the "server_name_in_redirect" directive default value is "off". 12310</para> 12311</change> 12312 12313<change type="feature"> 12314<para lang="ru"> 12315переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/> 12316Спасибо Christine McGonagle. 12317</para> 12318<para lang="en"> 12319the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/> 12320Thanks to Christine McGonagle. 12321</para> 12322</change> 12323 12324<change type="bugfix"> 12325<para lang="ru"> 12326директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались 12327в блоки limit_except. 12328</para> 12329<para lang="en"> 12330the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives 12331were not inherited inside "limit_except" blocks. 12332</para> 12333</change> 12334 12335<change type="bugfix"> 12336<para lang="ru"> 12337директивы proxy_cache_min_uses, fastcgi_cache_min_uses 12338uwsgi_cache_min_uses и scgi_cache_min_uses не работали; 12339ошибка появилась в 0.8.46. 12340</para> 12341<para lang="en"> 12342the "proxy_cache_min_uses", "fastcgi_cache_min_uses" 12343"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; 12344the bug had appeared in 0.8.46. 12345</para> 12346</change> 12347 12348<change type="bugfix"> 12349<para lang="ru"> 12350директива fastcgi_split_path_info неверно использовала выделения, 12351если в выделения попадала только часть URI.<br/> 12352Спасибо Юрию Тарадаю и Frank Enderle. 12353</para> 12354<para lang="en"> 12355the "fastcgi_split_path_info" directive used incorrectly captures, 12356if only parts of an URI were captured.<br/> 12357Thanks to Yuriy Taraday and Frank Enderle. 12358</para> 12359</change> 12360 12361<change type="bugfix"> 12362<para lang="ru"> 12363директива rewrite не экранировала символ ";" при копировании из URI 12364в аргументы.<br/> 12365Спасибо Daisuke Murase. 12366</para> 12367<para lang="en"> 12368the "rewrite" directive did not escape a ";" character during copying 12369from URI to query string.<br/> 12370Thanks to Daisuke Murase. 12371</para> 12372</change> 12373 12374<change type="bugfix"> 12375<para lang="ru"> 12376модуль ngx_http_image_filter_module закрывал соединение, 12377если изображение было больше размера image_filter_buffer. 12378</para> 12379<para lang="en"> 12380the ngx_http_image_filter_module closed a connection, 12381if an image was larger than "image_filter_buffer" size. 12382</para> 12383</change> 12384 12385</changes> 12386 12387 12388<changes ver="0.8.47" date="2010-07-28"> 12389 12390<change type="bugfix"> 12391<para lang="ru"> 12392переменная $request_time имела неверные значения для подзапросов. 12393</para> 12394<para lang="en"> 12395$request_time variable had invalid values for subrequests. 12396</para> 12397</change> 12398 12399<change type="bugfix"> 12400<para lang="ru"> 12401ошибки, перехваченные error_page, не кэшировались. 12402</para> 12403<para lang="en"> 12404errors intercepted by error_page could not be cached. 12405</para> 12406</change> 12407 12408<change type="bugfix"> 12409<para lang="ru"> 12410если использовался параметр max_size, то cache manager мог зациклиться; 12411ошибка появилась в 0.8.46. 12412</para> 12413<para lang="en"> 12414a cache manager process may got caught in an endless loop, 12415if max_size parameter was used; 12416the bug had appeared in 0.8.46. 12417</para> 12418</change> 12419 12420</changes> 12421 12422 12423<changes ver="0.8.46" date="2010-07-19"> 12424 12425<change type="change"> 12426<para lang="ru"> 12427директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache 12428и scgi_no_cache теперь влияют только на сохранение закэшированного ответа. 12429</para> 12430<para lang="en"> 12431now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and 12432"scgi_no_cache" directives affect on a cached response saving only. 12433</para> 12434</change> 12435 12436<change type="feature"> 12437<para lang="ru"> 12438директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass 12439и scgi_cache_bypass. 12440</para> 12441<para lang="en"> 12442the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", 12443and "scgi_cache_bypass" directives. 12444</para> 12445</change> 12446 12447<change type="bugfix"> 12448<para lang="ru"> 12449nginx не освобождал память в keys_zone кэшей в случае ошибки работы с 12450бэкендом: память освобождалась только по истечении времени неактивности 12451или при недостатке памяти. 12452</para> 12453<para lang="en"> 12454nginx did not free memory in cache keys zones if there was an error 12455during working with backend: the memory was freed only after inactivity 12456time or on memory low condition. 12457</para> 12458</change> 12459 12460</changes> 12461 12462 12463<changes ver="0.8.45" date="2010-07-13"> 12464 12465<change type="feature"> 12466<para lang="ru"> 12467улучшения в модуле ngx_http_xslt_filter.<br/> 12468Спасибо Laurence Rowe. 12469</para> 12470<para lang="en"> 12471ngx_http_xslt_filter improvements.<br/> 12472Thanks to Laurence Rowe. 12473</para> 12474</change> 12475 12476<change type="bugfix"> 12477<para lang="ru"> 12478ответ SSI модуля мог передаваться не полностью после команды include 12479с параметром wait="yes"; 12480ошибка появилась в 0.7.25.<br/> 12481Спасибо Максиму Дунину. 12482</para> 12483<para lang="en"> 12484SSI response might be truncated after include with wait="yes"; 12485the bug had appeared in 0.7.25.<br/> 12486Thanks to Maxim Dounin. 12487</para> 12488</change> 12489 12490<change type="bugfix"> 12491<para lang="ru"> 12492директива listen не поддерживала параметр setfib=0. 12493</para> 12494<para lang="en"> 12495the "listen" directive did not support the "setfib=0" parameter. 12496</para> 12497</change> 12498 12499</changes> 12500 12501 12502<changes ver="0.8.44" date="2010-07-05"> 12503 12504<change type="change"> 12505<para lang="ru"> 12506теперь nginx по умолчанию не кэширует ответы бэкендов, 12507в заголовке которых есть строка "Set-Cookie". 12508</para> 12509<para lang="en"> 12510now nginx does not cache by default backend responses, 12511if they have a "Set-Cookie" header line. 12512</para> 12513</change> 12514 12515<change type="feature"> 12516<para lang="ru"> 12517директива listen поддерживает параметр setfib.<br/> 12518Спасибо Андрею Филонову. 12519</para> 12520<para lang="en"> 12521the "listen" directive supports the "setfib" parameter.<br/> 12522Thanks to Andrew Filonov. 12523</para> 12524</change> 12525 12526<change type="bugfix"> 12527<para lang="ru"> 12528директива sub_filter могла изменять регистр букв при частичном совпадении. 12529</para> 12530<para lang="en"> 12531the "sub_filter" directive might change character case on partial match. 12532</para> 12533</change> 12534 12535<change type="bugfix"> 12536<para lang="ru"> 12537совместимость с HP/UX. 12538</para> 12539<para lang="en"> 12540compatibility with HP/UX. 12541</para> 12542</change> 12543 12544<change type="bugfix"> 12545<para lang="ru"> 12546совместимость с компилятором AIX xlC_r. 12547</para> 12548<para lang="en"> 12549compatibility with AIX xlC_r compiler. 12550</para> 12551</change> 12552 12553<change type="bugfix"> 12554<para lang="ru"> 12555nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/> 12556Спасибо Miroslaw Jaworski. 12557</para> 12558<para lang="en"> 12559nginx treated large SSLv2 packets as plain requests.<br/> 12560Thanks to Miroslaw Jaworski. 12561</para> 12562</change> 12563 12564</changes> 12565 12566 12567<changes ver="0.8.43" date="2010-06-30"> 12568 12569<change type="feature"> 12570<para lang="ru"> 12571ускорение загрузки больших баз geo-диапазонов. 12572</para> 12573<para lang="en"> 12574large geo ranges base loading speed-up. 12575</para> 12576</change> 12577 12578<change type="bugfix"> 12579<para lang="ru"> 12580перенаправление ошибки в "location /zero {return 204;}" без изменения 12581кода ответа оставляло тело ошибки; 12582ошибка появилась в 0.8.42. 12583</para> 12584<para lang="en"> 12585an error_page redirection to "location /zero {return 204;}" without 12586changing status code kept the error body; 12587the bug had appeared in 0.8.42. 12588</para> 12589</change> 12590 12591<change type="bugfix"> 12592<para lang="ru"> 12593nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/> 12594Спасибо Максиму Дунину. 12595</para> 12596<para lang="en"> 12597nginx might close IPv6 listen socket during reconfiguration.<br/> 12598Thanks to Maxim Dounin. 12599</para> 12600</change> 12601 12602<change type="bugfix"> 12603<para lang="ru"> 12604переменную $uid_set можно использовать на любой стадии обработки запроса. 12605</para> 12606<para lang="en"> 12607the $uid_set variable may be used at any request processing stage. 12608</para> 12609</change> 12610 12611</changes> 12612 12613 12614<changes ver="0.8.42" date="2010-06-21"> 12615 12616<change type="change"> 12617<para lang="ru"> 12618теперь nginx проверяет location'ы, заданные регулярными выражениями, 12619если запрос полностью совпал с location'ом, заданным строкой префикса. 12620Предыдущее поведение появилось в 0.7.1. 12621</para> 12622<para lang="en"> 12623now nginx tests locations given by regular expressions, 12624if request was matched exactly by a location given by a prefix string. 12625The previous behavior has been introduced in 0.7.1. 12626</para> 12627</change> 12628 12629<change type="feature"> 12630<para lang="ru"> 12631модуль ngx_http_scgi_module.<br/> 12632Спасибо Manlio Perillo. 12633</para> 12634<para lang="en"> 12635the ngx_http_scgi_module.<br/> 12636Thanks to Manlio Perillo. 12637</para> 12638</change> 12639 12640<change type="feature"> 12641<para lang="ru"> 12642в директиве return можно добавлять текст ответа. 12643</para> 12644<para lang="en"> 12645a text answer may be added to a "return" directive. 12646</para> 12647</change> 12648 12649</changes> 12650 12651 12652<changes ver="0.8.41" date="2010-06-15"> 12653 12654<change type="security"> 12655<para lang="ru"> 12656рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла 12657с неверной кодировкой UTF-8. 12658</para> 12659<para lang="en"> 12660nginx/Windows worker might be terminated abnormally if a requested file name 12661has invalid UTF-8 encoding. 12662</para> 12663</change> 12664 12665<change type="change"> 12666<para lang="ru"> 12667теперь nginx разрешает использовать пробелы в строке запроса. 12668</para> 12669<para lang="en"> 12670now nginx allows to use spaces in a request line. 12671</para> 12672</change> 12673 12674<change type="bugfix"> 12675<para lang="ru"> 12676директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке 12677ответа бэкенда.<br/> 12678Спасибо Андрею Андрееву и Максиму Согину. 12679</para> 12680<para lang="en"> 12681the "proxy_redirect" directive changed incorrectly a backend "Refresh" 12682response header line.<br/> 12683Thanks to Andrey Andreew and Max Sogin. 12684</para> 12685</change> 12686 12687<change type="bugfix"> 12688<para lang="ru"> 12689nginx не поддерживал путь без имени хоста в 12690строке "Destination" в заголовке запроса. 12691</para> 12692<para lang="en"> 12693nginx did not support path without host name 12694in "Destination" request header line. 12695</para> 12696</change> 12697 12698</changes> 12699 12700 12701<changes ver="0.8.40" date="2010-06-07"> 12702 12703<change type="security"> 12704<para lang="ru"> 12705теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/> 12706Спасибо Jose Antonio Vazquez Gonzalez. 12707</para> 12708<para lang="en"> 12709now nginx/Windows ignores default file stream name.<br/> 12710Thanks to Jose Antonio Vazquez Gonzalez. 12711</para> 12712</change> 12713 12714<change type="feature"> 12715<para lang="ru"> 12716модуль ngx_http_uwsgi_module.<br/> 12717Спасибо Roberto De Ioris. 12718</para> 12719<para lang="en"> 12720the ngx_http_uwsgi_module.<br/> 12721Thanks to Roberto De Ioris. 12722</para> 12723</change> 12724 12725<change type="feature"> 12726<para lang="ru"> 12727директива fastcgi_param со значением, начинающимся со строки "HTTP_", 12728изменяет строку заголовка в запросе клиента. 12729</para> 12730<para lang="en"> 12731a "fastcgi_param" directive with value starting with "HTTP_" overrides 12732a client request header line. 12733</para> 12734</change> 12735 12736<change type="bugfix"> 12737<para lang="ru"> 12738строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 12739клиента передавались FastCGI-серверу при кэшировании. 12740</para> 12741<para lang="en"> 12742the "If-Modified-Since", "If-Range", etc. client request header lines 12743were passed to FastCGI-server while caching. 12744</para> 12745</change> 12746 12747<change type="bugfix"> 12748<para lang="ru"> 12749listen unix domain сокет нельзя было изменить во время переконфигурации.<br/> 12750Спасибо Максиму Дунину. 12751</para> 12752<para lang="en"> 12753listen unix domain socket could not be changed during reconfiguration.<br/> 12754Thanks to Maxim Dounin. 12755</para> 12756</change> 12757 12758</changes> 12759 12760 12761<changes ver="0.8.39" date="2010-05-31"> 12762 12763<change type="bugfix"> 12764<para lang="ru"> 12765наследуемая директива alias неправильно работала во вложенном location'е. 12766</para> 12767<para lang="en"> 12768an inherited "alias" directive worked incorrectly in inclusive location. 12769</para> 12770</change> 12771 12772<change type="bugfix"> 12773<para lang="ru"> 12774в комбинации директив alias с переменными и try_files; 12775</para> 12776<para lang="en"> 12777in "alias" with variables and "try_files" directives combination. 12778</para> 12779</change> 12780 12781<change type="bugfix"> 12782<para lang="ru"> 12783listen unix domain и IPv6 сокеты не наследовались во время обновления 12784без перерыва.<br/> 12785Спасибо Максиму Дунину. 12786</para> 12787<para lang="en"> 12788listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/> 12789Thanks to Maxim Dounin. 12790</para> 12791</change> 12792 12793</changes> 12794 12795 12796<changes ver="0.8.38" date="2010-05-24"> 12797 12798<change type="feature"> 12799<para lang="ru"> 12800директивы proxy_no_cache и fastcgi_no_cache. 12801</para> 12802<para lang="en"> 12803the "proxy_no_cache" and "fastcgi_no_cache" directives. 12804</para> 12805</change> 12806 12807<change type="feature"> 12808<para lang="ru"> 12809теперь при использовании переменной $scheme в директиве rewrite 12810автоматически делается редирект.<br/> 12811Спасибо Piotr Sikora. 12812</para> 12813<para lang="en"> 12814now the "rewrite" directive does a redirect automatically 12815if the $scheme variable is used.<br/> 12816Thanks to Piotr Sikora. 12817</para> 12818</change> 12819 12820<change type="bugfix"> 12821<para lang="ru"> 12822теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/> 12823Спасибо Максиму Дунину. 12824</para> 12825<para lang="en"> 12826now "limit_req" delay directive conforms to the described algorithm.<br/> 12827Thanks to Maxim Dounin. 12828</para> 12829</change> 12830 12831<change type="bugfix"> 12832<para lang="ru"> 12833переменную $uid_got нельзя было использовать в SSI и перловом модулях. 12834</para> 12835<para lang="en"> 12836the $uid_got variable might not be used in the SSI and perl modules. 12837</para> 12838</change> 12839 12840</changes> 12841 12842 12843<changes ver="0.8.37" date="2010-05-17"> 12844 12845<change type="feature"> 12846<para lang="ru"> 12847модуль ngx_http_split_clients_module. 12848</para> 12849<para lang="en"> 12850the ngx_http_split_clients_module. 12851</para> 12852</change> 12853 12854<change type="feature"> 12855<para lang="ru"> 12856директива map поддерживает ключи больше 255 символов. 12857</para> 12858<para lang="en"> 12859the "map" directive supports keys more than 255 characters. 12860</para> 12861</change> 12862 12863<change type="bugfix"> 12864<para lang="ru"> 12865nginx игнорировал значения "private" и "no-store" в строке "Cache-Control" 12866в заголовке ответа бэкенда. 12867</para> 12868<para lang="en"> 12869nginx ignored the "private" and "no-store" values 12870in the "Cache-Control" backend response header line. 12871</para> 12872</change> 12873 12874<change type="bugfix"> 12875<para lang="ru"> 12876параметр stub в SSI-директиве include не использовался, 12877если пустой ответ имел код 200. 12878</para> 12879<para lang="en"> 12880a "stub" parameter of an "include" SSI directive was not used, 12881if empty response has 200 status code. 12882</para> 12883</change> 12884 12885<change type="bugfix"> 12886<para lang="ru"> 12887если проксированный или FastCGI запрос внутренне перенаправлялся 12888в другой проксированный или FastCGI location, 12889то в рабочем процессе мог произойти segmentation fault; 12890ошибка появилась в 0.8.33.<br/> 12891Спасибо Yichun Zhang. 12892</para> 12893<para lang="en"> 12894if a proxied or FastCGI request was internally redirected 12895to another proxied or FastCGI location, 12896then a segmentation fault might occur in a worker process; 12897the bug had appeared in 0.8.33.<br/> 12898Thanks to Yichun Zhang. 12899</para> 12900</change> 12901 12902<change type="bugfix"> 12903<para lang="ru"> 12904соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/> 12905Спасибо Alan Batie. 12906</para> 12907<para lang="en"> 12908IMAP connections may hang until they timed out 12909while talking to Zimbra server.<br/> 12910Thanks to Alan Batie. 12911</para> 12912</change> 12913 12914</changes> 12915 12916 12917<changes ver="0.8.36" date="2010-04-22"> 12918 12919<change type="bugfix"> 12920<para lang="ru"> 12921модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE 12922для симлинков. 12923</para> 12924<para lang="en"> 12925the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods 12926for symlinks. 12927</para> 12928</change> 12929 12930<change type="bugfix"> 12931<para lang="ru"> 12932модуль SSI в подзапросах использовал закэшированные в основном запросе 12933значения переменных $query_string, $arg_... и им подобных. 12934</para> 12935<para lang="en"> 12936values of the $query_string, $arg_..., etc. variables cached in main 12937request were used by the SSI module in subrequests. 12938</para> 12939</change> 12940 12941<change type="bugfix"> 12942<para lang="ru"> 12943значение переменной повторно экранировалось после каждого вывода 12944SSI-команды echo; 12945ошибка появилась в 0.6.14. 12946</para> 12947<para lang="en"> 12948a variable value was repeatedly encoded after each 12949an "echo" SSI-command output; 12950the bug had appeared in 0.6.14. 12951</para> 12952</change> 12953 12954<change type="bugfix"> 12955<para lang="ru"> 12956рабочий процесс зависал при запросе файла FIFO.<br/> 12957Спасибо Vicente Aguilar и Максиму Дунину. 12958</para> 12959<para lang="en"> 12960a worker process hung if a FIFO file was requested.<br/> 12961Thanks to Vicente Aguilar and Maxim Dounin. 12962</para> 12963</change> 12964 12965<change type="bugfix"> 12966<para lang="ru"> 12967совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/> 12968Спасибо Максиму Дунину. 12969</para> 12970<para lang="en"> 12971OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/> 12972Thanks to Maxim Dounin. 12973</para> 12974</change> 12975 12976<change type="bugfix"> 12977<para lang="ru"> 12978nginx не собирался с параметром --without-http-cache; 12979ошибка появилась в 0.8.35. 12980</para> 12981<para lang="en"> 12982nginx could not be built --without-http-cache; 12983the bug had appeared in 0.8.35. 12984</para> 12985</change> 12986 12987</changes> 12988 12989 12990<changes ver="0.8.35" date="2010-04-01"> 12991 12992<change type="change"> 12993<para lang="ru"> 12994теперь charset-фильтр работает до SSI-фильтра. 12995</para> 12996<para lang="en"> 12997now the charset filter runs before the SSI filter. 12998</para> 12999</change> 13000 13001<change type="feature"> 13002<para lang="ru"> 13003директива chunked_transfer_encoding. 13004</para> 13005<para lang="en"> 13006the "chunked_transfer_encoding" directive. 13007</para> 13008</change> 13009 13010<change type="bugfix"> 13011<para lang="ru"> 13012символ "&" при копировании в аргументы в правилах rewrite не экранировался. 13013</para> 13014<para lang="en"> 13015an "&" character was not escaped when it was copied in arguments part 13016in a rewrite rule. 13017</para> 13018</change> 13019 13020<change type="bugfix"> 13021<para lang="ru"> 13022nginx мог завершаться аварийно во время обработки сигнала или 13023при использовании директивы timer_resolution на платформах, 13024не поддерживающих методы kqueue или eventport.<br/> 13025Спасибо George Xie и Максиму Дунину. 13026</para> 13027<para lang="en"> 13028nginx might be terminated abnormally 13029while a signal processing or if the directive "timer_resolution" was used 13030on platforms which do not support kqueue or eventport notification methods.<br/> 13031Thanks to George Xie and Maxim Dounin. 13032</para> 13033</change> 13034 13035<change type="bugfix"> 13036<para lang="ru"> 13037если временные файлы и постоянное место хранения располагались на разных 13038файловых системах, то у постоянных файлов время изменения было неверным.<br/> 13039Спасибо Максиму Дунину. 13040</para> 13041<para lang="en"> 13042if temporary files and permanent storage area resided at different 13043file systems, then permanent file modification times were incorrect.<br/> 13044Thanks to Maxim Dounin. 13045</para> 13046</change> 13047 13048<change type="bugfix"> 13049<para lang="ru"> 13050модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid 13051trailer".<br/> 13052Спасибо Максиму Дунину. 13053</para> 13054<para lang="en"> 13055ngx_http_memcached_module might issue the error message "memcached sent invalid 13056trailer".<br/> 13057Thanks to Maxim Dounin. 13058</para> 13059</change> 13060 13061<change type="bugfix"> 13062<para lang="ru"> 13063nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/> 13064Спасибо Максиму Дунину. 13065</para> 13066<para lang="en"> 13067nginx could not built zlib-1.2.4 library using the library sources.<br/> 13068Thanks to Maxim Dounin. 13069</para> 13070</change> 13071 13072<change type="bugfix"> 13073<para lang="ru"> 13074в рабочем процессе происходил segmentation fault, 13075если перед ответом FastCGI-сервера было много вывода в stderr; 13076ошибка появилась в 0.8.34.<br/> 13077Спасибо Максиму Дунину. 13078</para> 13079<para lang="en"> 13080a segmentation fault occurred in a worker process, 13081if there was large stderr output before FastCGI response; 13082the bug had appeared in 0.8.34.<br/> 13083Thanks to Maxim Dounin. 13084</para> 13085</change> 13086 13087</changes> 13088 13089 13090<changes ver="0.8.34" date="2010-03-03"> 13091 13092<change type="bugfix"> 13093<para lang="ru"> 13094nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/> 13095Спасибо Иннокентию Еникееву. 13096</para> 13097<para lang="en"> 13098nginx did not support all ciphers and digests used in client certificates.<br/> 13099Thanks to Innocenty Enikeew. 13100</para> 13101</change> 13102 13103<change type="bugfix"> 13104<para lang="ru"> 13105nginx неправильно кэшировал FastCGI-ответы, если перед ответом было 13106много вывода в stderr. 13107</para> 13108<para lang="en"> 13109nginx cached incorrectly FastCGI responses if there was large stderr output 13110before response. 13111</para> 13112</change> 13113 13114<change type="bugfix"> 13115<para lang="ru"> 13116nginx не поддерживал HTTPS-рефереры. 13117</para> 13118<para lang="en"> 13119nginx did not support HTTPS referrers. 13120</para> 13121</change> 13122 13123<change type="bugfix"> 13124<para lang="ru"> 13125nginx/Windows мог не находить файлы, если путь в конфигурации был задан 13126в другом регистре; 13127ошибка появилась в 0.8.33. 13128</para> 13129<para lang="en"> 13130nginx/Windows might not find file if path in configuration was given 13131in other character case; 13132the bug had appeared in 0.8.33. 13133</para> 13134</change> 13135 13136<change type="bugfix"> 13137<para lang="ru"> 13138переменная $date_local выдавала неверное время, 13139если использовался формат "%s".<br/> 13140Спасибо Максиму Дунину. 13141</para> 13142<para lang="en"> 13143the $date_local variable has an incorrect value, 13144if the "%s" format was used.<br/> 13145Thanks to Maxim Dounin. 13146</para> 13147</change> 13148 13149<change type="bugfix"> 13150<para lang="ru"> 13151если ssl_session_cache не был установлен или установлен в none, 13152то при проверке клиентского сертификаты могла происходить 13153ошибка "session id context uninitialized"; 13154ошибка появилась в 0.7.1. 13155</para> 13156<para lang="en"> 13157if ssl_session_cache was not set or was set to "none", 13158then during client certificate verify 13159the error "session id context uninitialized" might occur; 13160the bug had appeared in 0.7.1. 13161</para> 13162</change> 13163 13164<change type="bugfix"> 13165<para lang="ru"> 13166geo-диапазон возвращал значение по умолчанию, если диапазон включал 13167в себя одну и более сетей размером /16 и не начинался на границе сети 13168размером /16. 13169</para> 13170<para lang="en"> 13171a geo range returned default value if the range included two or more 13172/16 networks and did not begin at /16 network boundary. 13173</para> 13174</change> 13175 13176<change type="bugfix"> 13177<para lang="ru"> 13178блок, используемый в параметре stub в SSI-директиве include, 13179выводился с MIME-типом "text/plain". 13180</para> 13181<para lang="en"> 13182a block used in a "stub" parameter of an "include" SSI directive 13183was output with "text/plain" MIME type. 13184</para> 13185</change> 13186 13187<change type="bugfix"> 13188<para lang="ru"> 13189$r->sleep() не работал; 13190ошибка появилась в 0.8.11. 13191</para> 13192<para lang="en"> 13193$r->sleep() did not work; 13194the bug had appeared in 0.8.11. 13195</para> 13196</change> 13197 13198</changes> 13199 13200 13201<changes ver="0.8.33" date="2010-02-01"> 13202 13203<change type="security"> 13204<para lang="ru"> 13205теперь nginx/Windows игнорирует пробелы в конце URI.<br/> 13206Спасибо Dan Crowley, Core Security Technologies. 13207</para> 13208<para lang="en"> 13209now nginx/Windows ignores trailing spaces in URI.<br/> 13210Thanks to Dan Crowley, Core Security Technologies. 13211</para> 13212</change> 13213 13214<change type="security"> 13215<para lang="ru"> 13216теперь nginx/Windows игнорирует короткие имена файлов.<br/> 13217Спасибо Dan Crowley, Core Security Technologies. 13218</para> 13219<para lang="en"> 13220now nginx/Windows ignores short files names.<br/> 13221Thanks to Dan Crowley, Core Security Technologies. 13222</para> 13223</change> 13224 13225<change type="change"> 13226<para lang="ru"> 13227теперь keepalive соединения после запросов POST не запрещаются для 13228MSIE 7.0+.<br/> 13229Спасибо Adam Lounds. 13230</para> 13231<para lang="en"> 13232now keepalive connections after POST requests are not disabled for 13233MSIE 7.0+.<br/> 13234Thanks to Adam Lounds. 13235</para> 13236</change> 13237 13238<change type="workaround"> 13239<para lang="ru"> 13240теперь keepalive соединения запрещены для Safari.<br/> 13241Спасибо Joshua Sierles. 13242</para> 13243<para lang="en"> 13244now keepalive connections are disabled for Safari.<br/> 13245Thanks to Joshua Sierles. 13246</para> 13247</change> 13248 13249<change type="bugfix"> 13250<para lang="ru"> 13251если проксированный или FastCGI запрос внутренне перенаправлялся 13252в другой проксированный или FastCGI location, то переменная 13253$upstream_response_time могла иметь ненормально большое значение; 13254ошибка появилась в 0.8.7. 13255</para> 13256<para lang="en"> 13257if a proxied or FastCGI request was internally redirected 13258to another proxied or FastCGI location, 13259then $upstream_response_time variable may have abnormally large value; 13260the bug had appeared in 0.8.7. 13261</para> 13262</change> 13263 13264<change type="bugfix"> 13265<para lang="ru"> 13266в рабочем процессе мог произойти segmentation fault 13267при отбрасывания тела запроса; 13268ошибка появилась в 0.8.11. 13269</para> 13270<para lang="en"> 13271a segmentation fault might occur in a worker process, 13272while discarding a request body; 13273the bug had appeared in 0.8.11. 13274</para> 13275</change> 13276 13277</changes> 13278 13279 13280<changes ver="0.8.32" date="2010-01-11"> 13281 13282<change type="bugfix"> 13283<para lang="ru"> 13284ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/> 13285Спасибо Максиму Дунину. 13286</para> 13287<para lang="en"> 13288UTF-8 encoding usage in the ngx_http_autoindex_module.<br/> 13289Thanks to Maxim Dounin. 13290</para> 13291</change> 13292 13293<change type="bugfix"> 13294<para lang="ru"> 13295именованные выделения в регулярных выражениях работали только для 13296двух переменных.<br/> 13297Спасибо Максиму Дунину. 13298</para> 13299<para lang="en"> 13300regular expression named captures worked for two names only.<br/> 13301Thanks to Maxim Dounin. 13302</para> 13303</change> 13304 13305<change type="bugfix"> 13306<para lang="ru"> 13307теперь в строке заголовка запроса "Host" используется имя "localhost", 13308если в директиве auth_http указан unix domain сокет.<br/> 13309Спасибо Максиму Дунину. 13310</para> 13311<para lang="en"> 13312now the "localhost" name is used in the "Host" request header line, 13313if an unix domain socket is defined in the "auth_http" directive.<br/> 13314Thanks to Maxim Dounin. 13315</para> 13316</change> 13317 13318<change type="bugfix"> 13319<para lang="ru"> 13320nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/> 13321Спасибо Julian Reich. 13322</para> 13323<para lang="en"> 13324nginx did not support chunked transfer encoding for 201 responses.<br/> 13325Thanks to Julian Reich. 13326</para> 13327</change> 13328 13329<change type="bugfix"> 13330<para lang="ru"> 13331если директива "expires modified" выставляла дату в прошлом, то в строке 13332заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/> 13333Спасибо Алексею Капранову. 13334</para> 13335<para lang="en"> 13336if the "expires modified" set date in the past, then a negative number 13337was set in the "Cache-Control" response header line.<br/> 13338Thanks to Alex Kapranoff. 13339</para> 13340</change> 13341 13342</changes> 13343 13344 13345<changes ver="0.8.31" date="2009-12-23"> 13346 13347<change type="feature"> 13348<para lang="ru"> 13349теперь директива error_page может перенаправлять ответы со статусом 301 и 302. 13350</para> 13351<para lang="en"> 13352now the "error_page" directive may redirect the 301 and 302 responses. 13353</para> 13354</change> 13355 13356<change type="feature"> 13357<para lang="ru"> 13358переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/> 13359Спасибо Arvind Sundararajan. 13360</para> 13361<para lang="en"> 13362the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude 13363variables.<br/> 13364Thanks to Arvind Sundararajan. 13365</para> 13366</change> 13367 13368<change type="feature"> 13369<para lang="ru"> 13370модуль ngx_http_image_filter_module теперь всегда удаляет 13371EXIF и другие данные, если они занимают больше 5% в JPEG-файле. 13372</para> 13373<para lang="en"> 13374now the ngx_http_image_filter_module deletes always EXIF and other 13375application specific data if the data consume more than 5% of a JPEG file. 13376</para> 13377</change> 13378 13379<change type="bugfix"> 13380<para lang="ru"> 13381nginx закрывал соединение при запросе закэшированного 13382ответа с пустым телом.<br/> 13383Спасибо Piotr Sikora. 13384</para> 13385<para lang="en"> 13386nginx closed a connection if a cached response had an empty body.<br/> 13387Thanks to Piotr Sikora. 13388</para> 13389</change> 13390 13391<change type="bugfix"> 13392<para lang="ru"> 13393nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/> 13394Спасибо Максиму Дунину и Денису Латыпову. 13395</para> 13396<para lang="en"> 13397nginx might not be built by gcc 4.x if the -O2 or higher optimization option 13398was used.<br/> 13399Thanks to Maxim Dounin and Denis F. Latypoff. 13400</para> 13401</change> 13402 13403<change type="bugfix"> 13404<para lang="ru"> 13405регулярные выражения в location всегда тестировались с учётом регистра; 13406ошибка появилась в 0.8.25. 13407</para> 13408<para lang="en"> 13409regular expressions in location were always tested in case-sensitive mode; 13410the bug had appeared in 0.8.25. 13411</para> 13412</change> 13413 13414<change type="bugfix"> 13415<para lang="ru"> 13416nginx кэшировал 304 ответ, если в заголовке проксируемого запроса 13417была строка "If-None-Match".<br/> 13418Спасибо Tim Dettrick и David Kostal. 13419</para> 13420<para lang="en"> 13421nginx cached a 304 response if there was the "If-None-Match" header line 13422in a proxied request.<br/> 13423Thanks to Tim Dettrick and David Kostal. 13424</para> 13425</change> 13426 13427<change type="bugfix"> 13428<para lang="ru"> 13429nginx/Windows пытался дважды удалить временный файл 13430при перезаписи уже существующего файла. 13431</para> 13432<para lang="en"> 13433nginx/Windows tried to delete a temporary file twice 13434if the file should replace an already existent file. 13435</para> 13436</change> 13437 13438</changes> 13439 13440 13441<changes ver="0.8.30" date="2009-12-15"> 13442 13443<change type="change"> 13444<para lang="ru"> 13445теперь по умолчанию размер буфера директивы large_client_header_buffers 13446равен 8K.<br/> 13447Спасибо Andrew Cholakian. 13448</para> 13449<para lang="en"> 13450now the default buffer size of the "large_client_header_buffers" 13451directive is 8K.<br/> 13452Thanks to Andrew Cholakian. 13453</para> 13454</change> 13455 13456<change type="feature"> 13457<para lang="ru"> 13458файл conf/fastcgi.conf для простых конфигураций FastCGI. 13459</para> 13460<para lang="en"> 13461the conf/fastcgi.conf for simple FastCGI configurations. 13462</para> 13463</change> 13464 13465<change type="bugfix"> 13466<para lang="ru"> 13467nginx/Windows пытался дважды переименовать временный файл 13468при перезаписи уже существующего файла. 13469</para> 13470<para lang="en"> 13471nginx/Windows tried to rename a temporary file twice if the file 13472should replace an already existent file. 13473</para> 13474</change> 13475 13476<change type="bugfix"> 13477<para lang="ru"> 13478ошибки double free or corruption, возникающей, если имя хоста не было найдено; 13479ошибка появилась в 0.8.22.<br/> 13480Спасибо Константину Свисту. 13481</para> 13482<para lang="en"> 13483of "double free or corruption" error issued if host could not be resolved; 13484the bug had appeared in 0.8.22.<br/> 13485Thanks to Konstantin Svist. 13486</para> 13487</change> 13488 13489<change type="bugfix"> 13490<para lang="ru"> 13491в использовании libatomic на некоторых платформах.<br/> 13492Спасибо W-Mark Kubacki. 13493</para> 13494<para lang="en"> 13495in libatomic usage on some platforms.<br/> 13496Thanks to W-Mark Kubacki. 13497</para> 13498</change> 13499 13500</changes> 13501 13502 13503<changes ver="0.8.29" date="2009-11-30"> 13504 13505<change type="change"> 13506<para lang="ru"> 13507теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009". 13508</para> 13509<para lang="en"> 13510now the "009" status code is written to an access log for proxied HTTP/0.9 13511responses. 13512</para> 13513</change> 13514 13515<change type="feature"> 13516<para lang="ru"> 13517директивы addition_types, charset_types, gzip_types, ssi_types, 13518sub_filter_types и xslt_types поддерживают параметр "*". 13519</para> 13520<para lang="en"> 13521the "addition_types", "charset_types", "gzip_types", "ssi_types", 13522"sub_filter_types", and "xslt_types" directives support an "*" parameter. 13523</para> 13524</change> 13525 13526<change type="feature"> 13527<para lang="ru"> 13528использование встроенных атомарных операций GCC 4.1+.<br/> 13529Спасибо W-Mark Kubacki. 13530</para> 13531<para lang="en"> 13532GCC 4.1+ built-in atomic operations usage.<br/> 13533Thanks to W-Mark Kubacki. 13534</para> 13535</change> 13536 13537<change type="feature"> 13538<para lang="ru"> 13539параметр --with-libatomic[=DIR] в configure.<br/> 13540Спасибо W-Mark Kubacki. 13541</para> 13542<para lang="en"> 13543the --with-libatomic[=DIR] option in the configure.<br/> 13544Thanks to W-Mark Kubacki. 13545</para> 13546</change> 13547 13548<change type="bugfix"> 13549<para lang="ru"> 13550listen unix domain сокет имели ограниченные права доступа. 13551</para> 13552<para lang="en"> 13553listen unix domain socket had limited access rights. 13554</para> 13555</change> 13556 13557<change type="bugfix"> 13558<para lang="ru"> 13559закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались. 13560</para> 13561<para lang="en"> 13562cached HTTP/0.9 responses were handled incorrectly. 13563</para> 13564</change> 13565 13566<change type="bugfix"> 13567<para lang="ru"> 13568именованные выделения в регулярных выражениях, заданные как "?P<...>", 13569не работали в директиве server_name.<br/> 13570Спасибо Максиму Дунину. 13571</para> 13572<para lang="en"> 13573regular expression named captures given by "?P<...>" did not work 13574in a "server_name" directive.<br/> 13575Thanks to Maxim Dounin. 13576</para> 13577</change> 13578 13579</changes> 13580 13581 13582<changes ver="0.8.28" date="2009-11-23"> 13583 13584<change type="bugfix"> 13585<para lang="ru"> 13586nginx не собирался с параметром --without-pcre; 13587ошибка появилась в 0.8.25. 13588</para> 13589<para lang="en"> 13590nginx could not be built with the --without-pcre parameter; 13591the bug had appeared in 0.8.25. 13592</para> 13593</change> 13594 13595</changes> 13596 13597 13598<changes ver="0.8.27" date="2009-11-17"> 13599 13600<change type="bugfix"> 13601<para lang="ru"> 13602регулярные выражения не работали в nginx/Windows; 13603ошибка появилась в 0.8.25. 13604</para> 13605<para lang="en"> 13606regular expressions did not work in nginx/Windows; 13607the bug had appeared in 0.8.25. 13608</para> 13609</change> 13610 13611</changes> 13612 13613 13614<changes ver="0.8.26" date="2009-11-16"> 13615 13616<change type="bugfix"> 13617<para lang="ru"> 13618ошибки при использовании выделений в директиве rewrite; 13619ошибка появилась в 0.8.25. 13620</para> 13621<para lang="en"> 13622in captures usage in "rewrite" directive; 13623the bug had appeared in 0.8.25. 13624</para> 13625</change> 13626 13627<change type="bugfix"> 13628<para lang="ru"> 13629nginx не собирался без параметра --with-debug; 13630ошибка появилась в 0.8.25. 13631</para> 13632<para lang="en"> 13633nginx could not be built without the --with-debug option; 13634the bug had appeared in 0.8.25. 13635</para> 13636</change> 13637 13638</changes> 13639 13640 13641<changes ver="0.8.25" date="2009-11-16"> 13642 13643<change type="change"> 13644<para lang="ru"> 13645теперь в лог ошибок не пишется сообщение, если переменная не найдена 13646с помощью метода $r->variable(). 13647</para> 13648<para lang="en"> 13649now no message is written in an error log if a variable is not found by 13650$r->variable() method. 13651</para> 13652</change> 13653 13654<change type="feature"> 13655<para lang="ru"> 13656модуль ngx_http_degradation_module. 13657</para> 13658<para lang="en"> 13659the ngx_http_degradation_module. 13660</para> 13661</change> 13662 13663<change type="feature"> 13664<para lang="ru"> 13665именованные выделения в регулярных выражениях. 13666</para> 13667<para lang="en"> 13668regular expression named captures. 13669</para> 13670</change> 13671 13672<change type="feature"> 13673<para lang="ru"> 13674теперь при использовании переменных в директиве proxy_pass не требуется 13675задавать URI. 13676</para> 13677<para lang="en"> 13678now URI part is not required a "proxy_pass" directive if variables are used. 13679</para> 13680</change> 13681 13682<change type="feature"> 13683<para lang="ru"> 13684теперь директива msie_padding работает и для Chrome. 13685</para> 13686<para lang="en"> 13687now the "msie_padding" directive works for Chrome too. 13688</para> 13689</change> 13690 13691<change type="bugfix"> 13692<para lang="ru"> 13693в рабочем процессе происходил segmentation fault при недостатке памяти; 13694ошибка появилась в 0.8.18. 13695</para> 13696<para lang="en"> 13697a segmentation fault occurred in a worker process on low memory condition; 13698the bug had appeared in 0.8.18. 13699</para> 13700</change> 13701 13702<change type="bugfix"> 13703<para lang="ru"> 13704nginx передавал сжатые ответы клиентам, не поддерживающим сжатие, 13705при настройках gzip_static on и gzip_vary off; 13706ошибка появилась в 0.8.16. 13707</para> 13708<para lang="en"> 13709nginx sent gzipped responses to clients those do not support gzip, 13710if "gzip_static on" and "gzip_vary off"; 13711the bug had appeared in 0.8.16. 13712</para> 13713</change> 13714 13715</changes> 13716 13717 13718<changes ver="0.8.24" date="2009-11-11"> 13719 13720<change type="bugfix"> 13721<para lang="ru"> 13722nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок 13723304-ых ответов модуля ngx_http_gzip_static_module. 13724</para> 13725<para lang="en"> 13726nginx always added "Content-Encoding: gzip" response header line 13727in 304 responses sent by ngx_http_gzip_static_module. 13728</para> 13729</change> 13730 13731<change type="bugfix"> 13732<para lang="ru"> 13733nginx не собирался без параметра --with-debug; 13734ошибка появилась в 0.8.23. 13735</para> 13736<para lang="en"> 13737nginx could not be built without the --with-debug option; 13738the bug had appeared in 0.8.23. 13739</para> 13740</change> 13741 13742<change type="bugfix"> 13743<para lang="ru"> 13744параметр "unix:" в директиве set_real_ip_from неправильно наследовался 13745с предыдущего уровня. 13746</para> 13747<para lang="en"> 13748the "unix:" parameter of the "set_real_ip_from" directive inherited 13749incorrectly from previous level. 13750</para> 13751</change> 13752 13753<change type="bugfix"> 13754<para lang="ru"> 13755в resolver'е при определении пустого имени. 13756</para> 13757<para lang="en"> 13758in resolving empty name. 13759</para> 13760</change> 13761 13762</changes> 13763 13764 13765<changes ver="0.8.23" date="2009-11-11"> 13766 13767<change type="security"> 13768<para lang="ru"> 13769теперь SSL/TLS renegotiation запрещён.<br/> 13770Спасибо Максиму Дунину. 13771</para> 13772<para lang="en"> 13773now SSL/TLS renegotiation is disabled.<br/> 13774Thanks to Maxim Dounin. 13775</para> 13776</change> 13777 13778<change type="bugfix"> 13779<para lang="ru"> 13780listen unix domain сокет не наследовался во время обновления без перерыва. 13781</para> 13782<para lang="en"> 13783listen unix domain socket did not inherit while online upgrade. 13784</para> 13785</change> 13786 13787<change type="bugfix"> 13788<para lang="ru"> 13789параметр "unix:" в директиве set_real_ip_from не работал без ещё 13790одной директивы с любым IP-адресом. 13791</para> 13792<para lang="en"> 13793the "unix:" parameter of the "set_real_ip_from" directive did not without 13794yet another directive with any IP address. 13795</para> 13796</change> 13797 13798<change type="bugfix"> 13799<para lang="ru"> 13800segmentation fault и зацикливания в resolver'е. 13801</para> 13802<para lang="en"> 13803segmentation fault and infinite looping in resolver. 13804</para> 13805</change> 13806 13807<change type="bugfix"> 13808<para lang="ru"> 13809в resolver'е.<br/> 13810Спасибо Артёму Бохану. 13811</para> 13812<para lang="en"> 13813in resolver.<br/> 13814Thanks to Artem Bokhan. 13815</para> 13816</change> 13817 13818</changes> 13819 13820 13821<changes ver="0.8.22" date="2009-11-03"> 13822 13823<change type="feature"> 13824<para lang="ru"> 13825директивы proxy_bind, fastcgi_bind и memcached_bind. 13826</para> 13827<para lang="en"> 13828the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. 13829</para> 13830</change> 13831 13832<change type="feature"> 13833<para lang="ru"> 13834директивы access и deny поддерживают IPv6. 13835</para> 13836<para lang="en"> 13837the "access" and the "deny" directives support IPv6. 13838</para> 13839</change> 13840 13841<change type="feature"> 13842<para lang="ru"> 13843директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса. 13844</para> 13845<para lang="en"> 13846the "set_real_ip_from" directive supports IPv6 addresses in request headers. 13847</para> 13848</change> 13849 13850<change type="feature"> 13851<para lang="ru"> 13852параметр "unix:" в директиве set_real_ip_from. 13853</para> 13854<para lang="en"> 13855the "unix:" parameter of the "set_real_ip_from" directive. 13856</para> 13857</change> 13858 13859<change type="bugfix"> 13860<para lang="ru"> 13861nginx не удалял unix domain сокет после тестирования конфигурации. 13862</para> 13863<para lang="en"> 13864nginx did not delete unix domain socket after configuration testing. 13865</para> 13866</change> 13867 13868<change type="bugfix"> 13869<para lang="ru"> 13870nginx удалял unix domain сокет во время обновления без перерыва. 13871</para> 13872<para lang="en"> 13873nginx deleted unix domain socket while online upgrade. 13874</para> 13875</change> 13876 13877<change type="bugfix"> 13878<para lang="ru"> 13879оператор "!-x" не работал.<br/> 13880Спасибо Максиму Дунину. 13881</para> 13882<para lang="en"> 13883the "!-x" operator did not work.<br/> 13884Thanks to Maxim Dounin. 13885</para> 13886</change> 13887 13888<change type="bugfix"> 13889<para lang="ru"> 13890в рабочем процессе мог произойти segmentation fault 13891при использовании limit_rate в HTTPS сервере.<br/> 13892Спасибо Максиму Дунину. 13893</para> 13894<para lang="en"> 13895a segmentation fault might occur in a worker process, 13896if limit_rate was used in HTTPS server.<br/> 13897Thanks to Maxim Dounin. 13898</para> 13899</change> 13900 13901<change type="bugfix"> 13902<para lang="ru"> 13903при записи в лог переменной $limit_rate 13904в рабочем процессе происходил segmentation fault.<br/> 13905Спасибо Максиму Дунину. 13906</para> 13907<para lang="en"> 13908a segmentation fault might occur in a worker process 13909while $limit_rate logging.<br/> 13910Thanks to Maxim Dounin. 13911</para> 13912</change> 13913 13914<change type="bugfix"> 13915<para lang="ru"> 13916в рабочем процессе мог произойти segmentation fault, 13917если внутри блока server не было директивы listen; 13918ошибка появилась в 0.8.21. 13919</para> 13920<para lang="en"> 13921a segmentation fault might occur in a worker process, 13922if there was no "listen" directive in "server" block; 13923the bug had appeared in 0.8.21. 13924</para> 13925</change> 13926 13927</changes> 13928 13929 13930<changes ver="0.8.21" date="2009-10-26"> 13931 13932<change type="feature"> 13933<para lang="ru"> 13934теперь ключ -V показывает статус поддержки TLS SNI. 13935</para> 13936<para lang="en"> 13937now the "-V" switch shows TLS SNI support. 13938</para> 13939</change> 13940 13941<change type="feature"> 13942<para lang="ru"> 13943директива listen модуля HTTP поддерживает unix domain сокеты.<br/> 13944Спасибо Hongli Lai. 13945</para> 13946<para lang="en"> 13947the "listen" directive of the HTTP module supports unix domain sockets.<br/> 13948Thanks to Hongli Lai. 13949</para> 13950</change> 13951 13952<change type="feature"> 13953<para lang="ru"> 13954параметр "default_server" в директиве listen. 13955</para> 13956<para lang="en"> 13957the "default_server" parameter of the "listen" directive. 13958</para> 13959</change> 13960 13961<change type="feature"> 13962<para lang="ru"> 13963теперь параметр "default" не обязателен для установки параметров listen-сокета. 13964</para> 13965<para lang="en"> 13966now a "default" parameter is not required to set listen socket options. 13967</para> 13968</change> 13969 13970<change type="bugfix"> 13971<para lang="ru"> 13972nginx не поддерживал даты в 2038 году на 32-битных платформах; 13973</para> 13974<para lang="en"> 13975nginx did not support dates in 2038 year on 32-bit platforms; 13976</para> 13977</change> 13978 13979<change type="bugfix"> 13980<para lang="ru"> 13981утечки сокетов; 13982ошибка появилась в 0.8.11. 13983</para> 13984<para lang="en"> 13985socket leak; 13986the bug had appeared in 0.8.11. 13987</para> 13988</change> 13989 13990</changes> 13991 13992 13993<changes ver="0.8.20" date="2009-10-14"> 13994 13995<change type="change"> 13996<para lang="ru"> 13997теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5". 13998</para> 13999<para lang="en"> 14000now default SSL ciphers are "HIGH:!ADH:!MD5". 14001</para> 14002</change> 14003 14004<change type="bugfix"> 14005<para lang="ru"> 14006модуль ngx_http_autoindex_module не показывал последний слэш для линков 14007на каталоги; 14008ошибка появилась в 0.7.15. 14009</para> 14010<para lang="en"> 14011the ngx_http_autoindex_module did not show the trailing slash in links to 14012a directory; 14013the bug had appeared in 0.7.15. 14014</para> 14015</change> 14016 14017<change type="bugfix"> 14018<para lang="ru"> 14019nginx не закрывал лог, заданный параметром конфигурации --error-log-path; 14020ошибка появилась в 0.7.53. 14021</para> 14022<para lang="en"> 14023nginx did not close a log file set by the --error-log-path configuration option; 14024the bug had appeared in 0.7.53. 14025</para> 14026</change> 14027 14028<change type="bugfix"> 14029<para lang="ru"> 14030nginx не считал запятую разделителем в строке "Cache-Control" в 14031заголовке ответа бэкенда. 14032</para> 14033<para lang="en"> 14034nginx did not treat a comma as separator in the "Cache-Control" backend response 14035header line. 14036</para> 14037</change> 14038 14039<change type="bugfix"> 14040<para lang="ru"> 14041nginx/Windows мог не создать временный файл, файл в кэше или файл 14042с помощью директив proxy/fastcgi_store, если рабочий процесс не имел 14043достаточно прав для работы с каталогами верхнего уровня. 14044</para> 14045<para lang="en"> 14046nginx/Windows might not create temporary file, a cache file, or 14047"proxy/fastcgi_store"d file if a worker had no enough access rights 14048for top level directories. 14049</para> 14050</change> 14051 14052<change type="bugfix"> 14053<para lang="ru"> 14054строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались 14055при кэшировании, если не использовались директивы fastcgi_hide_header 14056с любыми параметрами. 14057</para> 14058<para lang="en"> 14059the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden 14060while caching if no "fastcgi_hide_header" directives were used with 14061any parameters. 14062</para> 14063</change> 14064 14065<change type="bugfix"> 14066<para lang="ru"> 14067nginx неверно считал размер кэша на диске. 14068</para> 14069<para lang="en"> 14070nginx counted incorrectly disk cache size. 14071</para> 14072</change> 14073 14074</changes> 14075 14076 14077<changes ver="0.8.19" date="2009-10-06"> 14078 14079<change type="change"> 14080<para lang="ru"> 14081теперь протокол SSLv2 по умолчанию запрещён. 14082</para> 14083<para lang="en"> 14084now SSLv2 protocol is disabled by default. 14085</para> 14086</change> 14087 14088<change type="change"> 14089<para lang="ru"> 14090теперь по умолчанию используются следующие шифры SSL: 14091"ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 14092</para> 14093<para lang="en"> 14094now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 14095</para> 14096</change> 14097 14098<change type="bugfix"> 14099<para lang="ru"> 14100директива limit_req не работала; 14101ошибка появилась в 0.8.18. 14102</para> 14103<para lang="en"> 14104a "limit_req" directive did not work; 14105the bug had appeared in 0.8.18. 14106</para> 14107</change> 14108 14109</changes> 14110 14111 14112<changes ver="0.8.18" date="2009-10-06"> 14113 14114<change type="feature"> 14115<para lang="ru"> 14116директива read_ahead. 14117</para> 14118<para lang="en"> 14119the "read_ahead" directive. 14120</para> 14121</change> 14122 14123<change type="feature"> 14124<para lang="ru"> 14125теперь можно использовать несколько директив perl_modules. 14126</para> 14127<para lang="en"> 14128now several "perl_modules" directives may be used. 14129</para> 14130</change> 14131 14132<change type="feature"> 14133<para lang="ru"> 14134директивы limit_req_log_level и limit_conn_log_level. 14135</para> 14136<para lang="en"> 14137the "limit_req_log_level" and "limit_conn_log_level" directives. 14138</para> 14139</change> 14140 14141<change type="bugfix"> 14142<para lang="ru"> 14143теперь директива limit_req соответствует алгоритму leaky bucket.<br/> 14144Спасибо Максиму Дунину. 14145</para> 14146<para lang="en"> 14147now "limit_req" directive conforms to the leaky bucket algorithm.<br/> 14148Thanks to Maxim Dounin. 14149</para> 14150</change> 14151 14152<change type="bugfix"> 14153<para lang="ru"> 14154nginx не работал на Linux/sparc.<br/> 14155Спасибо Marcus Ramberg. 14156</para> 14157<para lang="en"> 14158nginx did not work on Linux/sparc.<br/> 14159Thanks to Marcus Ramberg. 14160</para> 14161</change> 14162 14163<change type="bugfix"> 14164<para lang="ru"> 14165nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос 14166MKCOL.<br/> 14167Спасибо Xie Zhenye. 14168</para> 14169<para lang="en"> 14170nginx sent '\0' in a "Location" response header line on MKCOL request.<br/> 14171Thanks to Xie Zhenye. 14172</para> 14173</change> 14174 14175<change type="bugfix"> 14176<para lang="ru"> 14177вместо кода ответа 499 в лог записывался код 0; 14178ошибка появилась в 0.8.11. 14179</para> 14180<para lang="en"> 14181zero status code was logged instead of 499 status code; 14182the bug had appeared in 0.8.11. 14183</para> 14184</change> 14185 14186<change type="bugfix"> 14187<para lang="ru"> 14188утечки сокетов; 14189ошибка появилась в 0.8.11. 14190</para> 14191<para lang="en"> 14192socket leak; 14193the bug had appeared in 0.8.11. 14194</para> 14195</change> 14196 14197</changes> 14198 14199 14200<changes ver="0.8.17" date="2009-09-28"> 14201 14202<change type="security"> 14203<para lang="ru"> 14204теперь символы "/../" запрещены в строке "Destination" в заголовке запроса. 14205</para> 14206<para lang="en"> 14207now "/../" are disabled in "Destination" request header line. 14208</para> 14209</change> 14210 14211<change type="change"> 14212<para lang="ru"> 14213теперь значение переменной $host всегда в нижнем регистре. 14214</para> 14215<para lang="en"> 14216now $host variable value is always low case. 14217</para> 14218</change> 14219 14220<change type="feature"> 14221<para lang="ru"> 14222переменная $ssl_session_id. 14223</para> 14224<para lang="en"> 14225the $ssl_session_id variable. 14226</para> 14227</change> 14228 14229<change type="bugfix"> 14230<para lang="ru"> 14231утечки сокетов; 14232ошибка появилась в 0.8.11. 14233</para> 14234<para lang="en"> 14235socket leak; 14236the bug had appeared in 0.8.11. 14237</para> 14238</change> 14239 14240</changes> 14241 14242 14243<changes ver="0.8.16" date="2009-09-22"> 14244 14245<change type="feature"> 14246<para lang="ru"> 14247директива image_filter_transparency. 14248</para> 14249<para lang="en"> 14250the "image_filter_transparency" directive. 14251</para> 14252</change> 14253 14254<change type="bugfix"> 14255<para lang="ru"> 14256директива "addition_types" была неверно названа "addtion_types". 14257</para> 14258<para lang="en"> 14259"addition_types" directive was incorrectly named "addtion_types". 14260</para> 14261</change> 14262 14263<change type="bugfix"> 14264<para lang="ru"> 14265порчи кэша resolver'а.<br/> 14266Спасибо Matthew Dempsky. 14267</para> 14268<para lang="en"> 14269resolver cache poisoning.<br/> 14270Thanks to Matthew Dempsky. 14271</para> 14272</change> 14273 14274<change type="bugfix"> 14275<para lang="ru"> 14276утечки памяти в resolver'е.<br/> 14277Спасибо Matthew Dempsky. 14278</para> 14279<para lang="en"> 14280memory leak in resolver.<br/> 14281Thanks to Matthew Dempsky. 14282</para> 14283</change> 14284 14285<change type="bugfix"> 14286<para lang="ru"> 14287неверная строка запроса в переменной $request записывалась в access_log 14288только при использовании error_log на уровне info или debug. 14289</para> 14290<para lang="en"> 14291invalid request line in $request variable was written in access_log 14292only if error_log was set to "info" or "debug" level. 14293</para> 14294</change> 14295 14296<change type="bugfix"> 14297<para lang="ru"> 14298в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. 14299</para> 14300<para lang="en"> 14301in PNG alpha-channel support in the ngx_http_image_filter_module. 14302</para> 14303</change> 14304 14305<change type="bugfix"> 14306<para lang="ru"> 14307nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа, 14308если обе директивы gzip_static и gzip_vary были включены. 14309</para> 14310<para lang="en"> 14311nginx always added "Vary: Accept-Encoding" response header line, 14312if both "gzip_static" and "gzip_vary" were on. 14313</para> 14314</change> 14315 14316<change type="bugfix"> 14317<para lang="ru"> 14318в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. 14319</para> 14320<para lang="en"> 14321in UTF-8 encoding support by "try_files" directive in nginx/Windows. 14322</para> 14323</change> 14324 14325<change type="bugfix"> 14326<para lang="ru"> 14327ошибки при использовании post_action; 14328ошибка появилась в 0.8.11.<br/> 14329Спасибо Игорю Артемьеву. 14330</para> 14331<para lang="en"> 14332in "post_action" directive usage; 14333the bug had appeared in 0.8.11.<br/> 14334Thanks to Igor Artemiev. 14335</para> 14336</change> 14337 14338</changes> 14339 14340 14341<changes ver="0.8.15" date="2009-09-14"> 14342 14343<change type="security"> 14344<para lang="ru"> 14345при обработке специально созданного запроса 14346в рабочем процессе мог произойти segmentation fault.<br/> 14347Спасибо Chris Ries. 14348</para> 14349<para lang="en"> 14350a segmentation fault might occur in worker process 14351while specially crafted request handling.<br/> 14352Thanks to Chris Ries. 14353</para> 14354</change> 14355 14356<change type="bugfix"> 14357<para lang="ru"> 14358если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld, 14359то имя .sub.domain.tld попадало под маску .domain.tld. 14360</para> 14361<para lang="en"> 14362if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, 14363then the name .sub.domain.tld was matched by .domain.tld. 14364</para> 14365</change> 14366 14367<change type="bugfix"> 14368<para lang="ru"> 14369в поддержке прозрачности в модуле ngx_http_image_filter_module. 14370</para> 14371<para lang="en"> 14372in transparency support in the ngx_http_image_filter_module. 14373</para> 14374</change> 14375 14376<change type="bugfix"> 14377<para lang="ru"> 14378в файловом AIO. 14379</para> 14380<para lang="en"> 14381in file AIO. 14382</para> 14383</change> 14384 14385<change type="bugfix"> 14386<para lang="ru"> 14387ошибки при использовании X-Accel-Redirect; 14388ошибка появилась в 0.8.11. 14389</para> 14390<para lang="en"> 14391in X-Accel-Redirect usage; 14392the bug had appeared in 0.8.11. 14393</para> 14394</change> 14395 14396<change type="bugfix"> 14397<para lang="ru"> 14398ошибки при использовании встроенного перла; 14399ошибка появилась в 0.8.11. 14400</para> 14401<para lang="en"> 14402in embedded perl module; 14403the bug had appeared in 0.8.11. 14404</para> 14405</change> 14406 14407</changes> 14408 14409 14410<changes ver="0.8.14" date="2009-09-07"> 14411 14412<change type="bugfix"> 14413<para lang="ru"> 14414устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING". 14415</para> 14416<para lang="en"> 14417an expired cached response might stick in the "UPDATING" state. 14418</para> 14419</change> 14420 14421<change type="bugfix"> 14422<para lang="ru"> 14423при использовании error_log на уровне info или debug 14424в рабочем процессе мог произойти segmentation fault.<br/> 14425Спасибо Сергею Боченкову. 14426</para> 14427<para lang="en"> 14428a segmentation fault might occur in worker process, 14429if error_log was set to info or debug level.<br/> 14430Thanks to Sergey Bochenkov. 14431</para> 14432</change> 14433 14434<change type="bugfix"> 14435<para lang="ru"> 14436ошибки при использовании встроенного перла; 14437ошибка появилась в 0.8.11. 14438</para> 14439<para lang="en"> 14440in embedded perl module; 14441the bug had appeared in 0.8.11. 14442</para> 14443</change> 14444 14445<change type="bugfix"> 14446<para lang="ru"> 14447директива error_page не перенаправляла ошибку 413; 14448ошибка появилась в 0.6.10. 14449</para> 14450<para lang="en"> 14451an "error_page" directive did not redirect a 413 error; 14452the bug had appeared in 0.6.10. 14453</para> 14454</change> 14455 14456</changes> 14457 14458 14459<changes ver="0.8.13" date="2009-08-31"> 14460 14461<change type="bugfix"> 14462<para lang="ru"> 14463в директиве "aio sendfile"; 14464ошибка появилась в 0.8.12. 14465</para> 14466<para lang="en"> 14467in the "aio sendfile" directive; 14468the bug had appeared in 0.8.12. 14469</para> 14470</change> 14471 14472<change type="bugfix"> 14473<para lang="ru"> 14474nginx не собирался без параметра --with-file-aio на FreeBSD; 14475ошибка появилась в 0.8.12. 14476</para> 14477<para lang="en"> 14478nginx could not be built without the --with-file-aio option on FreeBSD; 14479the bug had appeared in 0.8.12. 14480</para> 14481</change> 14482 14483</changes> 14484 14485 14486<changes ver="0.8.12" date="2009-08-31"> 14487 14488<change type="feature"> 14489<para lang="ru"> 14490параметр sendfile в директиве aio во FreeBSD. 14491</para> 14492<para lang="en"> 14493the "sendfile" parameter in the "aio" directive on FreeBSD. 14494</para> 14495</change> 14496 14497<change type="bugfix"> 14498<para lang="ru"> 14499ошибки при использовании try_files; 14500ошибка появилась в 0.8.11. 14501</para> 14502<para lang="en"> 14503in try_files; 14504the bug had appeared in 0.8.11. 14505</para> 14506</change> 14507 14508<change type="bugfix"> 14509<para lang="ru"> 14510ошибки при использовании memcached; 14511ошибка появилась в 0.8.11. 14512</para> 14513<para lang="en"> 14514in memcached; 14515the bug had appeared in 0.8.11. 14516</para> 14517</change> 14518 14519</changes> 14520 14521<changes ver="0.8.11" date="2009-08-28"> 14522 14523<change type="change"> 14524<para lang="ru"> 14525теперь директива "gzip_disable msie6" не запрещает сжатие для 14526<nobr>MSIE 6.0 SV1.</nobr> 14527</para> 14528<para lang="en"> 14529now directive "gzip_disable msie6" does not disable gzipping for 14530<nobr>MSIE 6.0 SV1.</nobr> 14531</para> 14532</change> 14533 14534<change type="feature"> 14535<para lang="ru"> 14536поддержка файлового AIO во FreeBSD и Linux. 14537</para> 14538<para lang="en"> 14539file AIO support on FreeBSD and Linux. 14540</para> 14541</change> 14542 14543<change type="feature"> 14544<para lang="ru"> 14545директива directio_alignment. 14546</para> 14547<para lang="en"> 14548the "directio_alignment" directive. 14549</para> 14550</change> 14551 14552</changes> 14553 14554 14555<changes ver="0.8.10" date="2009-08-24"> 14556 14557<change type="bugfix"> 14558<para lang="ru"> 14559утечек памяти при использовании базы GeoIP City. 14560</para> 14561<para lang="en"> 14562memory leaks if GeoIP City database was used. 14563</para> 14564</change> 14565 14566<change type="bugfix"> 14567<para lang="ru"> 14568ошибки при копировании временных файлов в постоянное место хранения; 14569ошибка появилась в 0.8.9. 14570</para> 14571<para lang="en"> 14572in copying temporary files to permanent storage area; 14573the bug had appeared in 0.8.9. 14574</para> 14575</change> 14576 14577</changes> 14578 14579 14580<changes ver="0.8.9" date="2009-08-17"> 14581 14582<change type="feature"> 14583<para lang="ru"> 14584теперь стартовый загрузчик кэша работает в отдельном процесс; 14585это должно улучшить обработку больших кэшей. 14586</para> 14587<para lang="en"> 14588now the start cache loader runs in a separate process; 14589this should improve large caches handling. 14590</para> 14591</change> 14592 14593<change type="feature"> 14594<para lang="ru"> 14595теперь временные файлы и постоянное место хранения могут располагаться 14596на разных файловых системах. 14597</para> 14598<para lang="en"> 14599now temporary files and permanent storage area may reside at 14600different file systems. 14601</para> 14602</change> 14603 14604</changes> 14605 14606 14607<changes ver="0.8.8" date="2009-08-10"> 14608 14609<change type="bugfix"> 14610<para lang="ru"> 14611в обработке заголовков ответа, разделённых в FastCGI-записях. 14612</para> 14613<para lang="en"> 14614in handling FastCGI headers split in records. 14615</para> 14616</change> 14617 14618<change type="bugfix"> 14619<para lang="ru"> 14620если запрос обрабатывался в двух проксированных или FastCGI location'ах 14621и в первом из них использовалось кэширование, 14622то в рабочем процессе происходил segmentation fault; 14623ошибка появилась в 0.8.7. 14624</para> 14625<para lang="en"> 14626a segmentation fault occurred in worker process, 14627if a request was handled in two proxied or FastCGIed locations 14628and a caching was enabled in the first location; 14629the bug had appeared in 0.8.7. 14630</para> 14631</change> 14632 14633</changes> 14634 14635 14636<changes ver="0.8.7" date="2009-07-27"> 14637 14638<change type="change"> 14639<para lang="ru"> 14640минимальная поддерживаемая версия OpenSSL—0.9.7. 14641</para> 14642<para lang="en"> 14643minimum supported OpenSSL version is 0.9.7. 14644</para> 14645</change> 14646 14647<change type="change"> 14648<para lang="ru"> 14649параметр ask директивы ssl_verify_client изменён на параметр optional 14650и теперь он проверяет клиентский сертификат, если он был предложен.<br/> 14651Спасибо Brice Figureau. 14652</para> 14653<para lang="en"> 14654the "ask" parameter of the "ssl_verify_client" directive was changed 14655to the "optional" parameter and now it checks a client certificate if it was 14656offered.<br/> 14657Thanks to Brice Figureau. 14658</para> 14659</change> 14660 14661<change type="feature"> 14662<para lang="ru"> 14663переменная $ssl_client_verify.<br/> 14664Спасибо Brice Figureau. 14665</para> 14666<para lang="en"> 14667the $ssl_client_verify variable.<br/> 14668Thanks to Brice Figureau. 14669</para> 14670</change> 14671 14672<change type="feature"> 14673<para lang="ru"> 14674директива ssl_crl.<br/> 14675Спасибо Brice Figureau. 14676</para> 14677<para lang="en"> 14678the "ssl_crl" directive.<br/> 14679Thanks to Brice Figureau. 14680</para> 14681</change> 14682 14683<change type="feature"> 14684<para lang="ru"> 14685параметр proxy директивы geo. 14686</para> 14687<para lang="en"> 14688the "proxy" parameter of the "geo" directive. 14689</para> 14690</change> 14691 14692<change type="feature"> 14693<para lang="ru"> 14694директива image_filter поддерживает переменные для задания размеров. 14695</para> 14696<para lang="en"> 14697the "image_filter" directive supports variables for setting size. 14698</para> 14699</change> 14700 14701<change type="bugfix"> 14702<para lang="ru"> 14703использование переменной $ssl_client_cert портило память; 14704ошибка появилась в 0.7.7.<br/> 14705Спасибо Сергею Журавлёву. 14706</para> 14707<para lang="en"> 14708the $ssl_client_cert variable usage corrupted memory; 14709the bug had appeared in 0.7.7.<br/> 14710Thanks to Sergey Zhuravlev. 14711</para> 14712</change> 14713 14714<change type="bugfix"> 14715<para lang="ru"> 14716директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту 14717строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и 14718"X-Accel-Charset" из заголовка ответа бэкенда.<br/> 14719Спасибо Максиму Дунину. 14720</para> 14721<para lang="en"> 14722"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to 14723a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", 14724and "X-Accel-Charset" lines from backend response header.<br/> 14725Thanks to Maxim Dounin. 14726</para> 14727</change> 14728 14729<change type="bugfix"> 14730<para lang="ru"> 14731в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда; 14732ошибка появилась в 0.7.44.<br/> 14733Спасибо Максиму Дунину. 14734</para> 14735<para lang="en"> 14736in handling "Last-Modified" and "Accept-Ranges" backend response header lines; 14737the bug had appeared in 0.7.44.<br/> 14738Thanks to Maxim Dounin. 14739</para> 14740</change> 14741 14742<change type="bugfix"> 14743<para lang="ru"> 14744ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах; 14745ошибка появилась в 0.8.5. 14746</para> 14747<para lang="en"> 14748the "[alert] zero size buf" error if subrequest returns an empty response; 14749the bug had appeared in 0.8.5. 14750</para> 14751</change> 14752 14753</changes> 14754 14755 14756<changes ver="0.8.6" date="2009-07-20"> 14757 14758<change type="feature"> 14759<para lang="ru"> 14760модуль ngx_http_geoip_module. 14761</para> 14762<para lang="en"> 14763the ngx_http_geoip_module. 14764</para> 14765</change> 14766 14767<change type="bugfix"> 14768<para lang="ru"> 14769XSLT-фильтр мог выдавать ошибку "not well formed XML document" для 14770правильного документа.<br/> 14771Спасибо Kuramoto Eiji. 14772</para> 14773<para lang="en"> 14774XSLT filter may fail with message "not well formed XML document" 14775for valid XML document.<br/> 14776Thanks to Kuramoto Eiji. 14777</para> 14778</change> 14779 14780<change type="bugfix"> 14781<para lang="ru"> 14782в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных 14783регулярным выражением, теперь всегда делается сравнение без учёта 14784регистра символов. 14785</para> 14786<para lang="en"> 14787now in MacOSX, Cygwin, and nginx/Windows locations given by a regular 14788expression are always tested in case insensitive mode. 14789</para> 14790</change> 14791 14792<change type="bugfix"> 14793<para lang="ru"> 14794теперь nginx/Windows игнорирует точки в конце URI.<br/> 14795Спасибо Hugo Leisink. 14796</para> 14797<para lang="en"> 14798now nginx/Windows ignores trailing dots in URI.<br/> 14799Thanks to Hugo Leisink. 14800</para> 14801</change> 14802 14803<change type="bugfix"> 14804<para lang="ru"> 14805имя файла указанного в --conf-path игнорировалось при установке; 14806ошибка появилась в 0.6.6.<br/> 14807Спасибо Максиму Дунину. 14808</para> 14809<para lang="en"> 14810name of file specified in --conf-path was not honored during installation; 14811the bug had appeared in 0.6.6.<br/> 14812Thanks to Maxim Dounin. 14813</para> 14814</change> 14815 14816</changes> 14817 14818 14819<changes ver="0.8.5" date="2009-07-13"> 14820 14821<change type="bugfix"> 14822<para lang="ru"> 14823теперь nginx разрешает подчёркивания в методе запроса. 14824</para> 14825<para lang="en"> 14826now nginx allows underscores in a request method. 14827</para> 14828</change> 14829 14830<change type="bugfix"> 14831<para lang="ru"> 14832при использовании HTTP Basic-аутентификации на Windows 14833для неверных имени/пароля возвращалась 500-ая ошибка. 14834</para> 14835<para lang="en"> 14836a 500 error code was returned for invalid login/password while HTTP 14837Basic authentication on Windows. 14838</para> 14839</change> 14840 14841<change type="bugfix"> 14842<para lang="ru"> 14843ответы модуля ngx_http_perl_module не работали в подзапросах. 14844</para> 14845<para lang="en"> 14846ngx_http_perl_module responses did not work in subrequests. 14847</para> 14848</change> 14849 14850<change type="bugfix"> 14851<para lang="ru"> 14852в модуле ngx_http_limit_req_module.<br/> 14853Спасибо Максиму Дунину. 14854</para> 14855<para lang="en"> 14856in ngx_http_limit_req_module.<br/> 14857Thanks to Maxim Dounin. 14858</para> 14859</change> 14860 14861</changes> 14862 14863 14864<changes ver="0.8.4" date="2009-06-22"> 14865 14866<change type="bugfix"> 14867<para lang="ru"> 14868nginx не собирался с параметром --without-http-cache; 14869ошибка появилась в 0.8.3. 14870</para> 14871<para lang="en"> 14872nginx could not be built --without-http-cache; 14873the bug had appeared in 0.8.3. 14874</para> 14875</change> 14876 14877</changes> 14878 14879 14880<changes ver="0.8.3" date="2009-06-19"> 14881 14882<change type="feature"> 14883<para lang="ru"> 14884переменная $upstream_cache_status. 14885</para> 14886<para lang="en"> 14887the $upstream_cache_status variable. 14888</para> 14889</change> 14890 14891<change type="bugfix"> 14892<para lang="ru"> 14893nginx не собирался на MacOSX 10.6. 14894</para> 14895<para lang="en"> 14896nginx could not be built on MacOSX 10.6. 14897</para> 14898</change> 14899 14900<change type="bugfix"> 14901<para lang="ru"> 14902nginx не собирался с параметром --without-http-cache; 14903ошибка появилась в 0.8.2. 14904</para> 14905<para lang="en"> 14906nginx could not be built --without-http-cache; 14907the bug had appeared in 0.8.2. 14908</para> 14909</change> 14910 14911<change type="bugfix"> 14912<para lang="ru"> 14913если использовался перехват 401 ошибки от бэкенда и бэкенд 14914не возвращал строку "WWW-Authenticate" в заголовке ответа, 14915то в рабочем процессе происходил segmentation fault.<br/> 14916Спасибо Евгению Мычло. 14917</para> 14918<para lang="en"> 14919a segmentation fault occurred in worker process, 14920if a backend 401 error was intercepted and the backend did not set 14921the "WWW-Authenticate" response header line.<br/> 14922Thanks to Eugene Mychlo. 14923</para> 14924</change> 14925 14926</changes> 14927 14928 14929<changes ver="0.8.2" date="2009-06-15"> 14930 14931<change type="bugfix"> 14932<para lang="ru"> 14933во взаимодействии open_file_cache и proxy/fastcgi кэша на старте. 14934</para> 14935<para lang="en"> 14936in open_file_cache and proxy/fastcgi cache interaction on start up. 14937</para> 14938</change> 14939 14940<change type="bugfix"> 14941<para lang="ru"> 14942open_file_cache мог кэшировать открытые файлы очень долго; 14943ошибка появилась в 0.7.4. 14944</para> 14945<para lang="en"> 14946open_file_cache might cache open file descriptors too long; 14947the bug had appeared in 0.7.4. 14948</para> 14949</change> 14950 14951</changes> 14952 14953 14954<changes ver="0.8.1" date="2009-06-08"> 14955 14956<change type="feature"> 14957<para lang="ru"> 14958параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. 14959</para> 14960<para lang="en"> 14961the "updating" parameter in "proxy_cache_use_stale" and 14962"fastcgi_cache_use_stale" directives. 14963</para> 14964</change> 14965 14966<change type="bugfix"> 14967<para lang="ru"> 14968строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 14969клиента передавались бэкенду при кэшировании, если не использовалась 14970директива proxy_set_header с любыми параметрами. 14971</para> 14972<para lang="en"> 14973the "If-Modified-Since", "If-Range", etc. client request header lines 14974were passed to backend while caching if no "proxy_set_header" directive 14975was used with any parameters. 14976</para> 14977</change> 14978 14979<change type="bugfix"> 14980<para lang="ru"> 14981строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались 14982при кэшировании, если не использовались директивы 14983proxy_hide_header/fastcgi_hide_header с любыми параметрами. 14984</para> 14985<para lang="en"> 14986the "Set-Cookie" and "P3P" response header lines were not hidden while caching 14987if no "proxy_hide_header/fastcgi_hide_header" directives were used with 14988any parameters. 14989</para> 14990</change> 14991 14992<change type="bugfix"> 14993<para lang="ru"> 14994модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/> 14995Спасибо Денису Ильиных. 14996</para> 14997<para lang="en"> 14998the ngx_http_image_filter_module did not support GIF87a format.<br/> 14999Thanks to Denis Ilyinyh. 15000</para> 15001</change> 15002 15003<change type="bugfix"> 15004<para lang="ru"> 15005nginx не собирался на Solaris 10 и более ранних; 15006ошибка появилась в 0.7.56. 15007</para> 15008<para lang="en"> 15009nginx could not be built modules on Solaris 10 and early; 15010the bug had appeared in 0.7.56. 15011</para> 15012</change> 15013 15014</changes> 15015 15016 15017<changes ver="0.8.0" date="2009-06-02"> 15018 15019<change type="feature"> 15020<para lang="ru"> 15021директива keepalive_requests. 15022</para> 15023<para lang="en"> 15024the "keepalive_requests" directive. 15025</para> 15026</change> 15027 15028<change type="feature"> 15029<para lang="ru"> 15030директива limit_rate_after.<br/> 15031Спасибо Ivan Debnar. 15032</para> 15033<para lang="en"> 15034the "limit_rate_after" directive.<br/> 15035Thanks to Ivan Debnar. 15036</para> 15037</change> 15038 15039<change type="bugfix"> 15040<para lang="ru"> 15041XSLT-фильтр не работал в подзапросах. 15042</para> 15043<para lang="en"> 15044XLST filter did not work in subrequests. 15045</para> 15046</change> 15047 15048<change type="bugfix"> 15049<para lang="ru"> 15050обработке относительных путей в nginx/Windows. 15051</para> 15052<para lang="en"> 15053in relative paths handling in nginx/Windows. 15054</para> 15055</change> 15056 15057<change type="bugfix"> 15058<para lang="ru"> 15059в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows. 15060</para> 15061<para lang="en"> 15062in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows. 15063</para> 15064</change> 15065 15066<change type="bugfix"> 15067<para lang="ru"> 15068в обработке ошибок выделения памяти.<br/> 15069Спасибо Максиму Дунину и Кириллу Коринскому. 15070</para> 15071<para lang="en"> 15072in memory allocation error handling.<br/> 15073Thanks to Maxim Dounin and Kirill A. Korinskiy. 15074</para> 15075</change> 15076 15077</changes> 15078 15079 15080<changes ver="0.7.59" date="2009-05-25"> 15081 15082<change type="feature"> 15083<para lang="ru"> 15084директивы proxy_cache_methods и fastcgi_cache_methods. 15085</para> 15086<para lang="en"> 15087the "proxy_cache_methods" and "fastcgi_cache_methods" directives. 15088</para> 15089</change> 15090 15091<change type="bugfix"> 15092<para lang="ru"> 15093утечки сокетов; 15094ошибка появилась в 0.7.25.<br/> 15095Спасибо Максиму Дунину. 15096</para> 15097<para lang="en"> 15098socket leak; 15099the bug had appeared in 0.7.25.<br/> 15100Thanks to Maxim Dounin. 15101</para> 15102</change> 15103 15104<change type="bugfix"> 15105<para lang="ru"> 15106при использовании переменной $request_body 15107в рабочем процессе происходил segmentation fault, 15108если в запросе не было тела; 15109ошибка появилась в 0.7.58. 15110</para> 15111<para lang="en"> 15112a segmentation fault occurred in worker process, 15113<nobr>if a request</nobr> had no body and the $request_body 15114variable was used;<br/> 15115the bug had appeared in 0.7.58. 15116</para> 15117</change> 15118 15119<change type="bugfix"> 15120<para lang="ru"> 15121SSL-модули могли не собираться на Solaris и Linux; 15122ошибка появилась в 0.7.56. 15123</para> 15124<para lang="en"> 15125the SSL modules might not built on Solaris and Linux;<br/> 15126the bug had appeared in 0.7.56. 15127</para> 15128</change> 15129 15130<change type="bugfix"> 15131<para lang="ru"> 15132ответы модуля ngx_http_xslt_filter_module не обрабатывались 15133SSI-, charset- и gzip-фильтрами. 15134</para> 15135<para lang="en"> 15136ngx_http_xslt_filter_module responses were not handled by SSI, charset, 15137and gzip filters. 15138</para> 15139</change> 15140 15141<change type="bugfix"> 15142<para lang="ru"> 15143директива charset не ставила кодировку для ответов модуля 15144ngx_http_gzip_static_module. 15145</para> 15146<para lang="en"> 15147a "charset" directive did not set a charset to ngx_http_gzip_static_module 15148responses. 15149</para> 15150</change> 15151 15152</changes> 15153 15154 15155<changes ver="0.7.58" date="2009-05-18"> 15156 15157<change type="feature"> 15158<para lang="ru"> 15159директива listen почтового прокси-сервера поддерживает IPv6. 15160</para> 15161<para lang="en"> 15162a "listen" directive of the mail proxy module supports IPv6. 15163</para> 15164</change> 15165 15166<change type="feature"> 15167<para lang="ru"> 15168директива image_filter_jpeg_quality. 15169</para> 15170<para lang="en"> 15171the "image_filter_jpeg_quality" directive. 15172</para> 15173</change> 15174 15175<change type="feature"> 15176<para lang="ru"> 15177директива client_body_in_single_buffer. 15178</para> 15179<para lang="en"> 15180the "client_body_in_single_buffer" directive. 15181</para> 15182</change> 15183 15184<change type="feature"> 15185<para lang="ru"> 15186переменная $request_body. 15187</para> 15188<para lang="en"> 15189the $request_body variable. 15190</para> 15191</change> 15192 15193<change type="bugfix"> 15194<para lang="ru"> 15195в модуле ngx_http_autoindex_module в ссылках на имена файлов, 15196содержащих символ ":". 15197</para> 15198<para lang="en"> 15199in ngx_http_autoindex_module in file name links 15200having a ":" symbol in the name. 15201</para> 15202</change> 15203 15204<change type="bugfix"> 15205<para lang="ru"> 15206процедура "make upgrade" не работала; 15207ошибка появилась в 0.7.53.<br/> 15208Спасибо Денису Латыпову. 15209</para> 15210<para lang="en"> 15211"make upgrade" procedure did not work; 15212the bug had appeared in 0.7.53.<br/> 15213Thanks to Denis F. Latypoff. 15214</para> 15215</change> 15216 15217</changes> 15218 15219 15220<changes ver="0.7.57" date="2009-05-12"> 15221 15222<change type="bugfix"> 15223<para lang="ru"> 15224при перенаправлении ошибок модуля ngx_http_image_filter_module 15225в именованный location в рабочем процессе происходил floating-point fault; 15226ошибка появилась в 0.7.56. 15227</para> 15228<para lang="en"> 15229a floating-point fault occurred in worker process, 15230if the ngx_http_image_filter_module errors were redirected to named location; 15231the bug had appeared in 0.7.56. 15232</para> 15233</change> 15234 15235</changes> 15236 15237 15238<changes ver="0.7.56" date="2009-05-11"> 15239 15240<change type="feature"> 15241<para lang="ru"> 15242nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP. 15243</para> 15244<para lang="en"> 15245nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. 15246</para> 15247</change> 15248 15249<change type="bugfix"> 15250<para lang="ru"> 15251в модуле ngx_http_image_filter_module. 15252</para> 15253<para lang="en"> 15254in ngx_http_image_filter_module. 15255</para> 15256</change> 15257 15258</changes> 15259 15260 15261<changes ver="0.7.55" date="2009-05-06"> 15262 15263<change type="bugfix"> 15264<para lang="ru"> 15265параметры http_XXX в директивах proxy_cache_use_stale 15266и fastcgi_cache_use_stale не работали. 15267</para> 15268<para lang="en"> 15269the http_XXX parameters in "proxy_cache_use_stale" and 15270"fastcgi_cache_use_stale" directives did not work. 15271</para> 15272</change> 15273 15274<change type="bugfix"> 15275<para lang="ru"> 15276fastcgi кэш не кэшировал ответы, состоящие только из заголовка. 15277</para> 15278<para lang="en"> 15279fastcgi cache did not cache header only responses. 15280</para> 15281</change> 15282 15283<change type="bugfix"> 15284<para lang="ru"> 15285ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix 15286и "select() failed (10038: ...)" в nginx/Windows. 15287</para> 15288<para lang="en"> 15289of "select() failed (9: Bad file descriptor)" error in nginx/Unix 15290and "select() failed (10038: ...)" error in nginx/Windows. 15291</para> 15292</change> 15293 15294<change type="bugfix"> 15295<para lang="ru"> 15296при использовании директивы debug_connection 15297в рабочем процессе мог произойти segmentation fault; 15298ошибка появилась в 0.7.54. 15299</para> 15300<para lang="en"> 15301a segmentation fault might occur in worker process, 15302if an "debug_connection" directive was used; 15303the bug had appeared in 0.7.54. 15304</para> 15305</change> 15306 15307<change type="bugfix"> 15308<para lang="ru"> 15309в сборке модуля ngx_http_image_filter_module. 15310</para> 15311<para lang="en"> 15312fix ngx_http_image_filter_module building errors. 15313</para> 15314</change> 15315 15316<change type="bugfix"> 15317<para lang="ru"> 15318файлы больше 2G не передавались с использованием $r->sendfile.<br/> 15319Спасибо Максиму Дунину. 15320</para> 15321<para lang="en"> 15322the files bigger than 2G could not be transferred using $r->sendfile.<br/> 15323Thanks to Maxim Dounin. 15324</para> 15325</change> 15326 15327</changes> 15328 15329 15330<changes ver="0.7.54" date="2009-05-01"> 15331 15332<change type="feature"> 15333<para lang="ru"> 15334модуль ngx_http_image_filter_module. 15335</para> 15336<para lang="en"> 15337the ngx_http_image_filter_module. 15338</para> 15339</change> 15340 15341<change type="feature"> 15342<para lang="ru"> 15343директивы proxy_ignore_headers и fastcgi_ignore_headers. 15344</para> 15345<para lang="en"> 15346the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. 15347</para> 15348</change> 15349 15350<change type="bugfix"> 15351<para lang="ru"> 15352при использовании переменных "open_file_cache_errors on" 15353в рабочем процессе мог произойти segmentation fault; 15354ошибка появилась в 0.7.53. 15355</para> 15356<para lang="en"> 15357a segmentation fault might occur in worker process, 15358if an "open_file_cache_errors off" directive was used; 15359the bug had appeared in 0.7.53. 15360</para> 15361</change> 15362 15363<change type="bugfix"> 15364<para lang="ru"> 15365директива "port_in_redirect off" не работала; 15366ошибка появилась в 0.7.39. 15367</para> 15368<para lang="en"> 15369the "port_in_redirect off" directive did not work; 15370the bug had appeared in 0.7.39. 15371</para> 15372</change> 15373 15374<change type="bugfix"> 15375<para lang="ru"> 15376улучшение обработки ошибок метода select. 15377</para> 15378<para lang="en"> 15379improve handling of "select" method errors. 15380</para> 15381</change> 15382 15383<change type="bugfix"> 15384<para lang="ru"> 15385ошибки "select() failed (10022: ...)" в nginx/Windows. 15386</para> 15387<para lang="en"> 15388of "select() failed (10022: ...)" error in nginx/Windows. 15389</para> 15390</change> 15391 15392<change type="bugfix"> 15393<para lang="ru"> 15394в текстовых сообщениях об ошибках в nginx/Windows; 15395ошибка появилась в 0.7.53. 15396</para> 15397<para lang="en"> 15398in error text descriptions in nginx/Windows; 15399the bug had appeared in 0.7.53. 15400</para> 15401</change> 15402 15403</changes> 15404 15405 15406<changes ver="0.7.53" date="2009-04-27"> 15407 15408<change type="change"> 15409<para lang="ru"> 15410теперь лог, указанный в --error-log-path, создаётся с самого начала работы. 15411</para> 15412<para lang="en"> 15413now a log set by --error-log-path is created from the very start-up. 15414</para> 15415</change> 15416 15417<change type="feature"> 15418<para lang="ru"> 15419теперь ошибки и предупреждения при старте записываются в error_log 15420и выводятся на stderr. 15421</para> 15422<para lang="en"> 15423now the start up errors and warnings are outputted to an error_log and stderr. 15424</para> 15425</change> 15426 15427<change type="feature"> 15428<para lang="ru"> 15429при сборке с пустым параметром --prefix= nginx использует как префикс каталог, 15430в котором он был запущен. 15431</para> 15432<para lang="en"> 15433the empty --prefix= configure parameter forces nginx to use a directory 15434where it was run as prefix. 15435</para> 15436</change> 15437 15438<change type="feature"> 15439<para lang="ru"> 15440ключ -p. 15441</para> 15442<para lang="en"> 15443the -p switch. 15444</para> 15445</change> 15446 15447<change type="feature"> 15448<para lang="ru"> 15449ключ -s на Unix-платформах. 15450</para> 15451<para lang="en"> 15452the -s switch on Unix platforms. 15453</para> 15454</change> 15455 15456<change type="feature"> 15457<para lang="ru"> 15458ключи -? и -h.<br/> 15459Спасибо Jerome Loyet. 15460</para> 15461<para lang="en"> 15462the -? and -h switches.<br/> 15463Thanks to Jerome Loyet. 15464</para> 15465</change> 15466 15467<change type="feature"> 15468<para lang="ru"> 15469теперь ключи можно задавать в сжатой форме. 15470</para> 15471<para lang="en"> 15472now switches may be set in condensed form. 15473</para> 15474</change> 15475 15476<change type="bugfix"> 15477<para lang="ru"> 15478nginx/Windows не работал, если файл конфигурации был задан ключом -c. 15479</para> 15480<para lang="en"> 15481nginx/Windows did not work if configuration file was given by the -c switch. 15482</para> 15483</change> 15484 15485<change type="bugfix"> 15486<para lang="ru"> 15487при использовании директив proxy_store, fastcgi_store, 15488proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/> 15489Спасибо Максиму Дунину. 15490</para> 15491<para lang="en"> 15492temporary files might be not removed if the "proxy_store", "fastcgi_store", 15493"proxy_cache", or "fastcgi_cache" were used.<br/> 15494Thanks to Maxim Dounin. 15495</para> 15496</change> 15497 15498<change type="bugfix"> 15499<para lang="ru"> 15500в заголовке Auth-Method запроса серверу аутентификации почтового 15501прокси-сервера передавалось неверное значение; 15502ошибка появилась в 0.7.34.<br/> 15503Спасибо Simon Lecaille. 15504</para> 15505<para lang="en"> 15506an incorrect value was passed to mail proxy authentication server 15507in "Auth-Method" header line; 15508the bug had appeared<br/> 15509in 0.7.34.<br/> 15510Thanks to Simon Lecaille. 15511</para> 15512</change> 15513 15514<change type="bugfix"> 15515<para lang="ru"> 15516при логгировании на Linux не писались текстовые описания системных ошибок; 15517ошибка появилась в 0.7.45. 15518</para> 15519<para lang="en"> 15520system error text descriptions were not logged on Linux;<br/> 15521the bug had appeared in 0.7.45. 15522</para> 15523</change> 15524 15525<change type="bugfix"> 15526<para lang="ru"> 15527директива fastcgi_cache_min_uses не работала.<br/> 15528Спасибо Андрею Воробьёву. 15529</para> 15530<para lang="en"> 15531the "fastcgi_cache_min_uses" directive did not work.<br/> 15532Thanks to Andrew Vorobyoff. 15533</para> 15534</change> 15535 15536</changes> 15537 15538 15539<changes ver="0.7.52" date="2009-04-20"> 15540 15541<change type="feature"> 15542<para lang="ru"> 15543первая бинарная версия под Windows. 15544</para> 15545<para lang="en"> 15546the first native Windows binary release. 15547</para> 15548</change> 15549 15550<change type="bugfix"> 15551<para lang="ru"> 15552корректная обработка метода HEAD при кэшировании. 15553</para> 15554<para lang="en"> 15555in processing HEAD method while caching. 15556</para> 15557</change> 15558 15559<change type="bugfix"> 15560<para lang="ru"> 15561корректная обработка строк "If-Modified-Since", "If-Range" и им подобных 15562в заголовке запроса клиента при кэшировании. 15563</para> 15564<para lang="en"> 15565in processing the "If-Modified-Since", "If-Range", etc. client request 15566header lines while caching. 15567</para> 15568</change> 15569 15570<change type="bugfix"> 15571<para lang="ru"> 15572теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа 15573для закэшированных ответов. 15574</para> 15575<para lang="en"> 15576now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. 15577</para> 15578</change> 15579 15580<change type="bugfix"> 15581<para lang="ru"> 15582если nginx был собран с модулем ngx_http_perl_module и perl 15583поддерживал потоки, то при выходе основного процесса 15584могла выдаваться ошибка "panic: MUTEX_LOCK". 15585</para> 15586<para lang="en"> 15587if nginx was built with the ngx_http_perl_module and with a perl which 15588supports threads, then during a master process exit 15589the message "panic: MUTEX_LOCK" might be issued. 15590</para> 15591</change> 15592 15593<change type="bugfix"> 15594<para lang="ru"> 15595nginx не собирался с параметром --without-http-cache; 15596ошибка появилась в 0.7.48. 15597</para> 15598<para lang="en"> 15599nginx could not be built --without-http-cache; 15600the bug had appeared in 0.7.48. 15601</para> 15602</change> 15603 15604<change type="bugfix"> 15605<para lang="ru"> 15606nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 15607ошибка появилась в 0.7.42. 15608</para> 15609<para lang="en"> 15610nginx could not be built on platforms different from i386, amd64, sparc, 15611and ppc; 15612the bug had appeared in 0.7.42. 15613</para> 15614</change> 15615 15616</changes> 15617 15618 15619<changes ver="0.7.51" date="2009-04-12"> 15620 15621<change type="feature"> 15622<para lang="ru"> 15623директива try_files поддерживает код ответа в последнем параметре. 15624</para> 15625<para lang="en"> 15626the "try_files" directive supports a response code in the fallback parameter. 15627</para> 15628</change> 15629 15630<change type="feature"> 15631<para lang="ru"> 15632теперь в директиве return можно использовать любой код ответа. 15633</para> 15634<para lang="en"> 15635now any response code can be used in the "return" directive. 15636</para> 15637</change> 15638 15639<change type="bugfix"> 15640<para lang="ru"> 15641директива error_page делала внешний редирект без строки запроса; 15642ошибка появилась в 0.7.44. 15643</para> 15644<para lang="en"> 15645the "error_page" directive made an external redirect without query string; 15646the bug had appeared in 0.7.44. 15647</para> 15648</change> 15649 15650<change type="bugfix"> 15651<para lang="ru"> 15652если сервера слушали на нескольких явно описанных адресах, 15653то виртуальные сервера могли не работать; 15654ошибка появилась в 0.7.39. 15655</para> 15656<para lang="en"> 15657if servers listened on several defined explicitly addresses, 15658then virtual servers might not work; 15659the bug had appeared in 0.7.39. 15660</para> 15661</change> 15662 15663</changes> 15664 15665 15666<changes ver="0.7.50" date="2009-04-06"> 15667 15668<change type="bugfix"> 15669<para lang="ru"> 15670переменные $arg_... не работали; 15671ошибка появилась в 0.7.49. 15672</para> 15673<para lang="en"> 15674the $arg_... variables did not work; 15675the bug had appeared in 0.7.49. 15676</para> 15677</change> 15678 15679</changes> 15680 15681 15682<changes ver="0.7.49" date="2009-04-06"> 15683 15684<change type="bugfix"> 15685<para lang="ru"> 15686при использовании переменных $arg_... 15687в рабочем процессе мог произойти segmentation fault; 15688ошибка появилась в 0.7.48. 15689</para> 15690<para lang="en"> 15691a segmentation fault might occur in worker process, 15692if the $arg_... variables were used; 15693the bug had appeared in 0.7.48. 15694</para> 15695</change> 15696 15697</changes> 15698 15699 15700<changes ver="0.7.48" date="2009-04-06"> 15701 15702<change type="feature"> 15703<para lang="ru"> 15704директива proxy_cache_key. 15705</para> 15706<para lang="en"> 15707the "proxy_cache_key" directive. 15708</para> 15709</change> 15710 15711<change type="bugfix"> 15712<para lang="ru"> 15713теперь nginx учитывает при кэшировании строки "X-Accel-Expires", 15714"Expires" и "Cache-Control" в заголовке ответа бэкенда. 15715</para> 15716<para lang="en"> 15717now nginx takes into account the "X-Accel-Expires", "Expires", and 15718"Cache-Control" header lines in a backend response. 15719</para> 15720</change> 15721 15722<change type="bugfix"> 15723<para lang="ru"> 15724теперь nginx кэширует только ответы на запросы GET. 15725</para> 15726<para lang="en"> 15727now nginx caches responses for the GET requests only. 15728</para> 15729</change> 15730 15731<change type="bugfix"> 15732<para lang="ru"> 15733директива fastcgi_cache_key не наследовалась. 15734</para> 15735<para lang="en"> 15736the "fastcgi_cache_key" directive was not inherited. 15737</para> 15738</change> 15739 15740<change type="bugfix"> 15741<para lang="ru"> 15742переменные $arg_... не работали с SSI-подзапросами.<br/> 15743Спасибо Максиму Дунину. 15744</para> 15745<para lang="en"> 15746the $arg_... variables did not work with SSI subrequests.<br/> 15747Thanks to Maxim Dounin. 15748</para> 15749</change> 15750 15751<change type="bugfix"> 15752<para lang="ru"> 15753nginx не собирался с библиотекой uclibc.<br/> 15754Спасибо Timothy Redaelli. 15755</para> 15756<para lang="en"> 15757nginx could not be built with uclibc library.<br/> 15758Thanks to Timothy Redaelli. 15759</para> 15760</change> 15761 15762<change type="bugfix"> 15763<para lang="ru"> 15764nginx не собирался на OpenBSD; 15765ошибка появилась <nobr>в 0.7.46.</nobr> 15766</para> 15767<para lang="en"> 15768nginx could not be built on OpenBSD; 15769the bug had <nobr>appeared in 0.7.46.</nobr> 15770</para> 15771</change> 15772 15773</changes> 15774 15775 15776<changes ver="0.7.47" date="2009-04-01"> 15777 15778<change type="bugfix"> 15779<para lang="ru"> 15780nginx не собирался на FreeBSD 6 и более ранних версиях; 15781ошибка появилась в 0.7.46. 15782</para> 15783<para lang="en"> 15784nginx could not be built on FreeBSD 6 and early versions; 15785the bug had appeared in 0.7.46. 15786</para> 15787</change> 15788 15789<change type="bugfix"> 15790<para lang="ru"> 15791nginx не собирался на MacOSX; 15792ошибка появилась в 0.7.46. 15793</para> 15794<para lang="en"> 15795nginx could not be built on MacOSX; 15796the bug had <nobr>appeared in 0.7.46.</nobr> 15797</para> 15798</change> 15799 15800<change type="bugfix"> 15801<para lang="ru"> 15802если использовался параметр max_size, то cache manager мог удалить весь кэш; 15803ошибка появилась в 0.7.46. 15804</para> 15805<para lang="en"> 15806if the "max_size" parameter was set, then the cache manager might purge 15807a whole cache; 15808the bug had appeared in 0.7.46. 15809</para> 15810</change> 15811 15812<change type="change"> 15813<para lang="ru"> 15814в рабочем процессе мог произойти segmentation fault, 15815если директивы proxy_cache/fastcgi_cache 15816и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне; 15817ошибка появилась в 0.7.46. 15818</para> 15819<para lang="en"> 15820a segmentation fault might occur in worker process, 15821if the "proxy_cache"/"fastcgi_cache" and 15822the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels; 15823the bug had appeared in 0.7.46. 15824</para> 15825</change> 15826 15827<change type="bugfix"> 15828<para lang="ru"> 15829в рабочем процессе мог произойти segmentation fault 15830при перенаправлении запроса проксированному или FastCGI-серверу 15831с помощью error_page или try_files; 15832ошибка появилась в 0.7.44. 15833</para> 15834<para lang="en"> 15835a segmentation fault might occur in worker process, 15836if a request was redirected to a proxied or FastCGI server via 15837error_page or try_files; 15838the bug had appeared in 0.7.44. 15839</para> 15840</change> 15841 15842</changes> 15843 15844 15845<changes ver="0.7.46" date="2009-03-30"> 15846 15847<change type="bugfix"> 15848<para lang="ru"> 15849архив предыдущего релиза был неверным. 15850</para> 15851<para lang="en"> 15852the previous release tarball was incorrect. 15853</para> 15854</change> 15855 15856</changes> 15857 15858 15859<changes ver="0.7.45" date="2009-03-30"> 15860 15861<change type="change"> 15862<para lang="ru"> 15863теперь директивы proxy_cache и proxy_cache_valid можно задавать 15864на разных уровнях. 15865</para> 15866<para lang="en"> 15867now the "proxy_cache" and the "proxy_cache_valid" directives can be set on 15868different levels. 15869</para> 15870</change> 15871 15872<change type="change"> 15873<para lang="ru"> 15874параметр clean_time в директиве proxy_cache_path удалён. 15875</para> 15876<para lang="en"> 15877the "clean_time" parameter of the "proxy_cache_path" directive is canceled. 15878</para> 15879</change> 15880 15881<change type="feature"> 15882<para lang="ru"> 15883параметр max_size в директиве proxy_cache_path. 15884</para> 15885<para lang="en"> 15886the "max_size" parameter of the "proxy_cache_path" directive. 15887</para> 15888</change> 15889 15890<change type="feature"> 15891<para lang="ru"> 15892предварительная поддержка кэширования в модуле ngx_http_fastcgi_module. 15893</para> 15894<para lang="en"> 15895the ngx_http_fastcgi_module preliminary cache support. 15896</para> 15897</change> 15898 15899<change type="feature"> 15900<para lang="ru"> 15901теперь при ошибках выделения в разделяемой памяти в логе указываются 15902названия директивы и зоны. 15903</para> 15904<para lang="en"> 15905now on shared memory allocation errors directive and zone names are logged. 15906</para> 15907</change> 15908 15909<change type="bugfix"> 15910<para lang="ru"> 15911директива "add_header last-modified ''" не удаляла в заголовке ответа 15912строку "Last-Modified"; 15913ошибка появилась в 0.7.44. 15914</para> 15915<para lang="en"> 15916the directive "add_header last-modified ''" did not delete a "Last-Modified" 15917response header line; 15918the bug had appeared in 0.7.44. 15919</para> 15920</change> 15921 15922<change type="bugfix"> 15923<para lang="ru"> 15924в директиве auth_basic_user_file не работал относительный путь, 15925заданный строкой без переменных; 15926ошибка появилась в 0.7.44.<br/> 15927Спасибо Jerome Loyet. 15928</para> 15929<para lang="en"> 15930a relative path in the "auth_basic_user_file" directive given without variables 15931did not work; 15932the bug had appeared in 0.7.44.<br/> 15933Thanks to Jerome Loyet. 15934</para> 15935</change> 15936 15937<change type="bugfix"> 15938<para lang="ru"> 15939в директиве alias, заданной переменными 15940без ссылок на выделения в регулярных выражениях; 15941ошибка появилась в 0.7.42. 15942</para> 15943<para lang="en"> 15944in an "alias" directive given using variables 15945without references to captures of regular expressions; 15946the bug had appeared in 0.7.42. 15947</para> 15948</change> 15949 15950</changes> 15951 15952 15953<changes ver="0.7.44" date="2009-03-23"> 15954 15955<change type="feature"> 15956<para lang="ru"> 15957предварительная поддержка кэширования в модуле ngx_http_proxy_module. 15958</para> 15959<para lang="en"> 15960the ngx_http_proxy_module preliminary cache support. 15961</para> 15962</change> 15963 15964<change type="feature"> 15965<para lang="ru"> 15966параметр --with-pcre в configure. 15967</para> 15968<para lang="en"> 15969the --with-pcre option in the configure. 15970</para> 15971</change> 15972 15973<change type="feature"> 15974<para lang="ru"> 15975теперь директива try_files может быть использована на уровне server. 15976</para> 15977<para lang="en"> 15978the "try_files" directive is now allowed on the server block level. 15979</para> 15980</change> 15981 15982<change type="bugfix"> 15983<para lang="ru"> 15984директива try_files неправильно обрабатывала строку запроса в последнем 15985параметре. 15986</para> 15987<para lang="en"> 15988the "try_files" directive handled incorrectly a query string 15989in a fallback parameter. 15990</para> 15991</change> 15992 15993<change type="bugfix"> 15994<para lang="ru"> 15995директива try_files могла неверно тестировать каталоги. 15996</para> 15997<para lang="en"> 15998the "try_files" directive might test incorrectly directories. 15999</para> 16000</change> 16001 16002<change type="bugfix"> 16003<para lang="ru"> 16004если для пары адрес:порт описан только один сервер, то выделения 16005в регулярных выражениях в директиве server_name не работали. 16006</para> 16007<para lang="en"> 16008if there was a single server for given address:port pair, 16009then captures in regular expressions in a "server_name" directive did not work. 16010</para> 16011</change> 16012 16013</changes> 16014 16015 16016<changes ver="0.7.43" date="2009-03-18"> 16017 16018<change type="bugfix"> 16019<para lang="ru"> 16020запрос обрабатывался неверно, если директива root использовала переменные; 16021ошибка появилась в 0.7.42. 16022</para> 16023<para lang="en"> 16024a request was handled incorrectly, if a "root" directive used variables; 16025the bug had appeared in 0.7.42. 16026</para> 16027</change> 16028 16029<change type="bugfix"> 16030<para lang="ru"> 16031если сервер слушал на адресах типа "*", то значение переменной $server_addr 16032было "0.0.0.0"; 16033ошибка появилась в 0.7.36. 16034</para> 16035<para lang="en"> 16036if a server listened on wildcard address, then the $server_addr variable 16037value was "0.0.0.0"; 16038the bug had appeared in 0.7.36. 16039</para> 16040</change> 16041 16042</changes> 16043 16044 16045<changes ver="0.7.42" date="2009-03-16"> 16046 16047<change type="change"> 16048<para lang="ru"> 16049ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris, 16050теперь игнорируется. 16051</para> 16052<para lang="en"> 16053now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, 16054is ignored. 16055</para> 16056</change> 16057 16058<change type="change"> 16059<para lang="ru"> 16060при отсутствии файла, указанного в директиве auth_basic_user_file, 16061теперь возвращается ошибка 403 вместо 500. 16062</para> 16063<para lang="en"> 16064now if a file specified in a "auth_basic_user_file" directive is absent, 16065then the 403 error is returned instead of the 500 one. 16066</para> 16067</change> 16068 16069<change type="feature"> 16070<para lang="ru"> 16071директива auth_basic_user_file поддерживает переменные. 16072<br/> 16073Спасибо Кириллу Коринскому. 16074</para> 16075<para lang="en"> 16076the "auth_basic_user_file" directive supports variables.<br/> 16077Thanks to Kirill A. Korinskiy. 16078</para> 16079</change> 16080 16081<change type="feature"> 16082<para lang="ru"> 16083директива listen поддерживает параметр ipv6only.<br/> 16084Спасибо Zhang Hua. 16085</para> 16086<para lang="en"> 16087the "listen" directive supports the "ipv6only" parameter. 16088<br/> 16089Thanks to Zhang Hua. 16090</para> 16091</change> 16092 16093<change type="bugfix"> 16094<para lang="ru"> 16095в директиве alias со ссылками на выделения в регулярных выражениях; 16096ошибка появилась в 0.7.40. 16097</para> 16098<para lang="en"> 16099in an "alias" directive with references to captures of regular expressions; 16100the bug had appeared in 0.7.40. 16101</para> 16102</change> 16103 16104<change type="bugfix"> 16105<para lang="ru"> 16106совместимость с Tru64 UNIX.<br/> 16107Спасибо Dustin Marquess. 16108</para> 16109<para lang="en"> 16110compatibility with Tru64 UNIX.<br/> 16111Thanks to Dustin Marquess. 16112</para> 16113</change> 16114 16115<change type="bugfix"> 16116<para lang="ru"> 16117nginx не собирался без библиотеки PCRE; 16118ошибка появилась в 0.7.41. 16119</para> 16120<para lang="en"> 16121nginx could not be built without PCRE library; 16122the bug had appeared in 0.7.41. 16123</para> 16124</change> 16125 16126</changes> 16127 16128 16129<changes ver="0.7.41" date="2009-03-11"> 16130 16131<change type="bugfix"> 16132<para lang="ru"> 16133в рабочем процессе мог произойти segmentation fault, 16134если в server_name или location были выделения в регулярных выражениях; 16135ошибка появилась в 0.7.40.<br/> 16136Спасибо Владимиру Сопоту. 16137</para> 16138<para lang="en"> 16139a segmentation fault might occur in worker process, 16140if a "server_name" or a "location" directives had captures 16141in regular expressions; 16142the issue had appeared in 0.7.40.<br/> 16143Thanks to Vladimir Sopot. 16144</para> 16145</change> 16146 16147</changes> 16148 16149 16150<changes ver="0.7.40" date="2009-03-09"> 16151 16152<change type="feature"> 16153<para lang="ru"> 16154директива location поддерживает выделения в регулярных выражениях. 16155</para> 16156<para lang="en"> 16157the "location" directive supports captures in regular expressions. 16158</para> 16159</change> 16160 16161<change type="feature"> 16162<para lang="ru"> 16163директиву alias с ссылками на выделения в регулярных выражениях 16164можно использовать внутри location'а, заданного регулярным выражением 16165с выделениями. 16166</para> 16167<para lang="en"> 16168an "alias" directive with capture references may be used inside 16169a location given by a regular expression with captures. 16170</para> 16171</change> 16172 16173<change type="feature"> 16174<para lang="ru"> 16175директива server_name поддерживает выделения в регулярных выражениях. 16176</para> 16177<para lang="en"> 16178the "server_name" directive supports captures in regular expressions. 16179</para> 16180</change> 16181 16182<change type="workaround"> 16183<para lang="ru"> 16184модуль ngx_http_autoindex_module не показывал последний слэш для каталогов 16185на файловой системе XFS; 16186ошибка появилась в 0.7.15.<br/> 16187Спасибо Дмитрию Кузьменко. 16188</para> 16189<para lang="en"> 16190the ngx_http_autoindex_module did not show the trailing slash in directories 16191on XFS filesystem; 16192the issue had appeared in 0.7.15.<br/> 16193Thanks to Dmitry Kuzmenko. 16194</para> 16195</change> 16196 16197</changes> 16198 16199 16200<changes ver="0.7.39" date="2009-03-02"> 16201 16202<change type="bugfix"> 16203<para lang="ru"> 16204при включённом сжатии большие ответы с использованием SSI могли зависать; 16205ошибка появилась в 0.7.28.<br/> 16206Спасибо Артёму Бохану. 16207</para> 16208<para lang="en"> 16209large response with SSI might hang, if gzipping was enabled; 16210the bug had appeared in 0.7.28.<br/> 16211Thanks to Artem Bokhan. 16212</para> 16213</change> 16214 16215<change type="bugfix"> 16216<para lang="ru"> 16217при использовании коротких статических вариантов в директиве try_files 16218в рабочем процессе мог произойти segmentation fault. 16219</para> 16220<para lang="en"> 16221a segmentation fault might occur in worker process, 16222if short static variants are used in a "try_files" directive. 16223</para> 16224</change> 16225 16226</changes> 16227 16228 16229<changes ver="0.7.38" date="2009-02-23"> 16230 16231<change type="feature"> 16232<para lang="ru"> 16233логгирование ошибок аутентификации. 16234</para> 16235<para lang="en"> 16236authentication failures logging. 16237</para> 16238</change> 16239 16240<change type="bugfix"> 16241<para lang="ru"> 16242имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного 16243числа пустых строк.<br/> 16244Спасибо Александру Загребину. 16245</para> 16246<para lang="en"> 16247name/password in auth_basic_user_file were ignored after odd number 16248of empty lines.<br/> 16249Thanks to Alexander Zagrebin. 16250</para> 16251</change> 16252 16253<change type="bugfix"> 16254<para lang="ru"> 16255при использовании длинного пути в unix domain сокете 16256в главном процессе происходил segmentation fault; 16257ошибка появилась в 0.7.36. 16258</para> 16259<para lang="en"> 16260a segmentation fault occurred in a master process, 16261if long path was used in unix domain socket; 16262the bug had appeared in 0.7.36. 16263</para> 16264</change> 16265 16266</changes> 16267 16268 16269<changes ver="0.7.37" date="2009-02-21"> 16270 16271<change type="bugfix"> 16272<para lang="ru"> 16273директивы, использующие upstream'ы, не работали; 16274ошибка появилась в 0.7.36. 16275</para> 16276<para lang="en"> 16277directives using upstreams did not work; 16278the bug had appeared in 0.7.36. 16279</para> 16280</change> 16281 16282</changes> 16283 16284 16285<changes ver="0.7.36" date="2009-02-21"> 16286 16287<change type="feature"> 16288<para lang="ru"> 16289предварительная поддержка IPv6; 16290директива listen модуля HTTP поддерживает IPv6. 16291</para> 16292<para lang="en"> 16293a preliminary IPv6 support; 16294the "listen" directive of the HTTP module supports IPv6. 16295</para> 16296</change> 16297 16298<change type="bugfix"> 16299<para lang="ru"> 16300переменная $ancient_browser не работала для браузеров, заданных 16301директивами modern_browser. 16302</para> 16303<para lang="en"> 16304the $ancient_browser variable did not work for browsers 16305preset by a "modern_browser" directives. 16306</para> 16307</change> 16308 16309</changes> 16310 16311 16312<changes ver="0.7.35" date="2009-02-16"> 16313 16314<change type="bugfix"> 16315<para lang="ru"> 16316директива ssl_engine не использовала SSL-акселератор 16317для асимметричных шифров.<br/> 16318Спасибо Marcin Gozdalik. 16319</para> 16320<para lang="en"> 16321a "ssl_engine" directive did not use a SSL-accelerator 16322for asymmetric ciphers.<br/> 16323Thanks to Marcin Gozdalik. 16324</para> 16325</change> 16326 16327<change type="bugfix"> 16328<para lang="ru"> 16329директива try_files выставляла MIME-type, исходя из расширения 16330первоначального запроса. 16331</para> 16332<para lang="en"> 16333a "try_files" directive set MIME type depending on an 16334original request extension. 16335</para> 16336</change> 16337 16338<change type="bugfix"> 16339<para lang="ru"> 16340в директивах server_name, valid_referers и map 16341неправильно обрабатывались имена вида "*domain.tld", 16342если использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 16343ошибка появилась в 0.7.9. 16344</para> 16345<para lang="en"> 16346"*domain.tld" names were handled incorrectly in 16347"server_name", "valid_referers", and "map" directives, 16348if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; 16349<nobr>the bug had</nobr> appeared in 0.7.9. 16350</para> 16351</change> 16352 16353</changes> 16354 16355 16356<changes ver="0.7.34" date="2009-02-10"> 16357 16358<change type="feature"> 16359<para lang="ru"> 16360параметр off в директиве if_modified_since. 16361</para> 16362<para lang="en"> 16363the "off" parameter of the "if_modified_since" directive. 16364</para> 16365</change> 16366 16367<change type="feature"> 16368<para lang="ru"> 16369теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/> 16370Спасибо Максиму Дунину. 16371</para> 16372<para lang="en"> 16373now nginx sends an HELO/EHLO command after a XCLIENT command.<br/> 16374Thanks to Maxim Dounin. 16375</para> 16376</change> 16377 16378<change type="feature"> 16379<para lang="ru"> 16380поддержка Microsoft-специфичного режима 16381<nobr>"AUTH LOGIN with User Name"</nobr> 16382в почтовом прокси-сервере.<br/> 16383Спасибо Максиму Дунину. 16384</para> 16385<para lang="en"> 16386Microsoft specific "AUTH LOGIN with User Name" mode support 16387in mail proxy server.<br/> 16388Thanks to Maxim Dounin. 16389</para> 16390</change> 16391 16392<change type="bugfix"> 16393<para lang="ru"> 16394в директиве rewrite, возвращающей редирект, старые аргументы присоединялись 16395к новым через символ "?" вместо "&";<br/> 16396ошибка появилась в 0.1.18.<br/> 16397Спасибо Максиму Дунину. 16398</para> 16399<para lang="en"> 16400in a redirect rewrite directive original arguments were concatenated with 16401new arguments by a "?" rather than an "&";<br/> 16402the bug had appeared in 0.1.18.<br/> 16403Thanks to Maxim Dounin. 16404</para> 16405</change> 16406 16407<change type="bugfix"> 16408<para lang="ru"> 16409nginx не собирался на AIX. 16410</para> 16411<para lang="en"> 16412nginx could not be built on AIX. 16413</para> 16414</change> 16415 16416</changes> 16417 16418 16419<changes ver="0.7.33" date="2009-02-02"> 16420 16421<change type="bugfix"> 16422<para lang="ru"> 16423если на запрос с телом возвращался редирект, то ответ мог быть двойным 16424при использовании методов epoll или rtsig.<br/> 16425Спасибо Eden Li. 16426</para> 16427<para lang="en"> 16428a double response might be returned if the epoll or rtsig methods are used 16429and a redirect was returned to a request with body.<br/> 16430Thanks to Eden Li. 16431</para> 16432</change> 16433 16434<change type="bugfix"> 16435<para lang="ru"> 16436для некоторых типов редиректов в переменной $sent_http_location 16437было пустое значение. 16438</para> 16439<para lang="en"> 16440the $sent_http_location variable was empty for some redirects types. 16441</para> 16442</change> 16443 16444<change type="bugfix"> 16445<para lang="ru"> 16446при использовании директивы resolver в SMTP прокси-сервере 16447в рабочем процессе мог произойти segmentation fault. 16448</para> 16449<para lang="en"> 16450a segmentation fault might occur in worker process 16451if "resolver" directive was used in SMTP proxy. 16452</para> 16453</change> 16454 16455</changes> 16456 16457 16458<changes ver="0.7.32" date="2009-01-26"> 16459 16460<change type="feature"> 16461<para lang="ru"> 16462теперь в директиве try_files можно явно указать проверку каталога. 16463</para> 16464<para lang="en"> 16465now a directory existence testing can be set explicitly 16466in the "try_files" directive. 16467</para> 16468</change> 16469 16470<change type="bugfix"> 16471<para lang="ru"> 16472fastcgi_store не всегда сохранял файлы. 16473</para> 16474<para lang="en"> 16475fastcgi_store stored files not always. 16476</para> 16477</change> 16478 16479<change type="bugfix"> 16480<para lang="ru"> 16481в гео-диапазонах. 16482</para> 16483<para lang="en"> 16484in geo ranges. 16485</para> 16486</change> 16487 16488<change type="bugfix"> 16489<para lang="ru"> 16490ошибки выделения больших блоков в разделяемой памяти, 16491если nginx был собран без отладки.<br/> 16492Спасибо Андрею Квасову. 16493</para> 16494<para lang="en"> 16495in shared memory allocations if nginx was built without debugging.<br/> 16496Thanks to Andrey Kvasov. 16497</para> 16498</change> 16499 16500</changes> 16501 16502 16503<changes ver="0.7.31" date="2009-01-19"> 16504 16505<change type="change"> 16506<para lang="ru"> 16507теперь директива try_files проверяет только файлы, игнорируя каталоги. 16508</para> 16509<para lang="en"> 16510now the "try_files" directive tests files only and ignores directories. 16511</para> 16512</change> 16513 16514<change type="feature"> 16515<para lang="ru"> 16516директива fastcgi_split_path_info. 16517</para> 16518<para lang="en"> 16519the "fastcgi_split_path_info" directive. 16520</para> 16521</change> 16522 16523<change> 16524<para lang="ru"> 16525Исправления в поддержке строки "Expect" в заголовке запроса. 16526</para> 16527<para lang="en"> 16528Bugfixes in an "Expect" request header line support. 16529</para> 16530</change> 16531 16532<change> 16533<para lang="ru"> 16534Исправления в гео-диапазонах. 16535</para> 16536<para lang="en"> 16537Bugfixes in geo ranges. 16538</para> 16539</change> 16540 16541<change type="bugfix"> 16542<para lang="ru"> 16543при отсутствии ответа ngx_http_memcached_module возвращал 16544в теле ответа строку "END" вместо 404-ой страницы по умолчанию; 16545ошибка появилась в 0.7.18.<br/> 16546Спасибо Максиму Дунину. 16547</para> 16548<para lang="en"> 16549in a miss case ngx_http_memcached_module returned the "END" line 16550as response body instead of default 404 page body; 16551the bug had appeared in 0.7.18.<br/> 16552Thanks to Maxim Dounin. 16553</para> 16554</change> 16555 16556<change type="bugfix"> 16557<para lang="ru"> 16558при проксировании SMTP nginx выдавал сообщение 16559<nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK"; 16560ошибка появилась в 0.7.22.<br/> 16561Спасибо Максиму Дунину. 16562</para> 16563<para lang="en"> 16564while SMTP proxying nginx issued message 16565"250 2.0.0 OK" instead of "235 2.0.0 OK"; 16566the bug had appeared in 0.7.22.<br/> 16567Thanks to Maxim Dounin. 16568</para> 16569</change> 16570 16571</changes> 16572 16573 16574 16575<changes ver="0.7.30" date="2008-12-24"> 16576 16577<change type="bugfix"> 16578<para lang="ru"> 16579в рабочем процессе происходил segmentation fault, 16580если в директивах fastcgi_pass или proxy_pass 16581использовались переменные и имя хоста должно было резолвиться; 16582ошибка появилась в 0.7.29. 16583</para> 16584<para lang="en"> 16585a segmentation fault occurred in worker process, 16586if variables were used in the "fastcgi_pass" or "proxy_pass" directives 16587and host name must be resolved; 16588the bug had appeared in 0.7.29. 16589</para> 16590</change> 16591 16592</changes> 16593 16594 16595<changes ver="0.7.29" date="2008-12-24"> 16596 16597<change type="bugfix"> 16598<para lang="ru"> 16599директивы fastcgi_pass и proxy_pass не поддерживали переменные 16600при использовании unix domain сокетов. 16601</para> 16602<para lang="en"> 16603the "fastcgi_pass" and "proxy_pass" directives did not support 16604variables if unix domain sockets were used. 16605</para> 16606</change> 16607 16608<change> 16609<para lang="ru"> 16610Исправления в обработке подзапросов; 16611ошибки появились в 0.7.25. 16612</para> 16613<para lang="en"> 16614Bugfixes in subrequest processing; 16615the bugs had appeared in 0.7.25. 16616</para> 16617</change> 16618 16619<change type="bugfix"> 16620<para lang="ru"> 16621ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/> 16622Спасибо Максиму Дунину. 16623</para> 16624<para lang="en"> 16625a "100 Continue" response was issued for HTTP/1.0 requests;<br/> 16626Thanks to Maxim Dounin. 16627</para> 16628</change> 16629 16630<change type="bugfix"> 16631<para lang="ru"> 16632в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin. 16633</para> 16634<para lang="en"> 16635in memory allocation in the ngx_http_gzip_filter_module on Cygwin. 16636</para> 16637</change> 16638 16639</changes> 16640 16641 16642<changes ver="0.7.28" date="2008-12-22"> 16643 16644<change type="change"> 16645<para lang="ru"> 16646в выделении памяти в модуле ngx_http_gzip_filter_module. 16647</para> 16648<para lang="en"> 16649in memory allocation in the ngx_http_gzip_filter_module. 16650</para> 16651</change> 16652 16653<change type="change"> 16654<para lang="ru"> 16655значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k 16656на 32 4k или 16 8k. 16657</para> 16658<para lang="en"> 16659the default "gzip_buffers" directive values have been changed 16660to 32 4k or 16 8k from 4 4k/8k. 16661</para> 16662</change> 16663 16664</changes> 16665 16666 16667<changes ver="0.7.27" date="2008-12-15"> 16668 16669<change type="feature"> 16670<para lang="ru"> 16671директива try_files. 16672</para> 16673<para lang="en"> 16674the "try_files" directive. 16675</para> 16676</change> 16677 16678<change type="feature"> 16679<para lang="ru"> 16680директива fastcgi_pass поддерживает переменные. 16681</para> 16682<para lang="en"> 16683variables support in the "fastcgi_pass" directive. 16684</para> 16685</change> 16686 16687<change type="feature"> 16688<para lang="ru"> 16689теперь директива geo может брать адрес из переменной.<br/> 16690Спасибо Андрею Нигматулину. 16691</para> 16692<para lang="en"> 16693now the $geo variable may get an address from a variable.<br/> 16694Thanks to Andrei Nigmatulin. 16695</para> 16696</change> 16697 16698<change type="feature"> 16699<para lang="ru"> 16700теперь модификатор location'а можно указывать без пробела перед названием. 16701</para> 16702<para lang="en"> 16703now a location's modifier may be used without space before name. 16704</para> 16705</change> 16706 16707<change type="feature"> 16708<para lang="ru"> 16709переменная $upstream_response_length. 16710</para> 16711<para lang="en"> 16712the $upstream_response_length variable. 16713</para> 16714</change> 16715 16716<change type="bugfix"> 16717<para lang="ru"> 16718теперь директива add_header не добавляет пустое значение. 16719</para> 16720<para lang="en"> 16721now a "add_header" directive does not add an empty value. 16722</para> 16723</change> 16724 16725<change type="bugfix"> 16726<para lang="ru"> 16727при запросе файла нулевой длины nginx закрывал соединение, ничего не передав; 16728ошибка появилась в 0.7.25. 16729</para> 16730<para lang="en"> 16731if zero length static file was requested, then nginx just closed connection; 16732the bug had appeared in 0.7.25. 16733</para> 16734</change> 16735 16736<change type="bugfix"> 16737<para lang="ru"> 16738метод MOVE не мог перемещать файл в несуществующий каталог. 16739</para> 16740<para lang="en"> 16741a MOVE method could not move file in non-existent directory. 16742</para> 16743</change> 16744 16745<change type="bugfix"> 16746<para lang="ru"> 16747если в сервере не был описан ни один именованный location, 16748но такой location использовался в директиве error_page, 16749то в рабочем процессе происходил segmentation fault.<br/> 16750Спасибо Сергею Боченкову. 16751</para> 16752<para lang="en"> 16753a segmentation fault occurred in worker process, 16754if no one named location was defined in server, 16755but some one was used in an error_page directive.<br/> 16756Thanks to Sergey Bochenkov. 16757</para> 16758</change> 16759 16760</changes> 16761 16762 16763<changes ver="0.7.26" date="2008-12-08"> 16764 16765<change type="bugfix"> 16766<para lang="ru"> 16767в обработке подзапросов; 16768ошибка появилась в 0.7.25. 16769</para> 16770<para lang="en"> 16771in subrequest processing; 16772the bug had appeared in 0.7.25. 16773</para> 16774</change> 16775 16776</changes> 16777 16778 16779<changes ver="0.7.25" date="2008-12-08"> 16780 16781<change type="change"> 16782<para lang="ru"> 16783в обработке подзапросов. 16784</para> 16785<para lang="en"> 16786in subrequest processing. 16787</para> 16788</change> 16789 16790<change type="change"> 16791<para lang="ru"> 16792теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса. 16793</para> 16794<para lang="en"> 16795now POSTs without "Content-Length" header line are allowed. 16796</para> 16797</change> 16798 16799<change type="bugfix"> 16800<para lang="ru"> 16801теперь директивы limit_req и limit_conn указывают причину запрета запроса. 16802</para> 16803<para lang="en"> 16804now the "limit_req" and "limit_conn" directives log a prohibition reason. 16805</para> 16806</change> 16807 16808<change type="bugfix"> 16809<para lang="ru"> 16810в параметре delete директивы geo. 16811</para> 16812<para lang="en"> 16813in the "delete" parameter of the "geo" directive. 16814</para> 16815</change> 16816 16817</changes> 16818 16819 16820<changes ver="0.7.24" date="2008-12-01"> 16821 16822<change type="feature"> 16823<para lang="ru"> 16824директива if_modified_since. 16825</para> 16826<para lang="en"> 16827the "if_modified_since" directive. 16828</para> 16829</change> 16830 16831<change type="bugfix"> 16832<para lang="ru"> 16833nginx не обрабатывал ответ FastCGI-сервера, 16834если перед ответом сервер передавал много сообщений в stderr. 16835</para> 16836<para lang="en"> 16837nginx did not process a FastCGI server response, 16838if the server send too many messages to stderr before response. 16839</para> 16840</change> 16841 16842<change type="bugfix"> 16843<para lang="ru"> 16844переменные "$cookie_..." не работали в SSI and в перловом модуле. 16845</para> 16846<para lang="en"> 16847the "$cookie_..." variables did not work in the SSI and the perl module. 16848</para> 16849</change> 16850 16851</changes> 16852 16853 16854<changes ver="0.7.23" date="2008-11-27"> 16855 16856<change type="feature"> 16857<para lang="ru"> 16858параметры delete и ranges в директиве geo. 16859</para> 16860<para lang="en"> 16861the "delete" and "ranges" parameters in the "geo" directive. 16862</para> 16863</change> 16864 16865<change type="feature"> 16866<para lang="ru"> 16867ускорение загрузки geo-базы с большим числом значений. 16868</para> 16869<para lang="en"> 16870speeding up loading of geo base with large number of values. 16871</para> 16872</change> 16873 16874<change type="feature"> 16875<para lang="ru"> 16876уменьшение памяти, необходимой для загрузки geo-базы. 16877</para> 16878<para lang="en"> 16879decrease of memory required for geo base load. 16880</para> 16881</change> 16882 16883</changes> 16884 16885 16886<changes ver="0.7.22" date="2008-11-20"> 16887 16888<change type="feature"> 16889<para lang="ru"> 16890параметр none в директиве smtp_auth.<br/> 16891Спасибо Максиму Дунину. 16892</para> 16893<para lang="en"> 16894the "none" parameter in the "smtp_auth" directive.<br/> 16895Thanks to Maxim Dounin. 16896</para> 16897</change> 16898 16899<change type="feature"> 16900<para lang="ru"> 16901переменные "$cookie_...". 16902</para> 16903<para lang="en"> 16904the "$cookie_..." variables. 16905</para> 16906</change> 16907 16908<change type="bugfix"> 16909<para lang="ru"> 16910директива directio не работала с файловой системой XFS. 16911</para> 16912<para lang="en"> 16913the "directio" directive did not work in XFS filesystem. 16914</para> 16915</change> 16916 16917<change type="bugfix"> 16918<para lang="ru"> 16919resolver не понимал большие DNS-ответы.<br/> 16920Спасибо Zyb. 16921</para> 16922<para lang="en"> 16923the resolver did not understand big DNS responses.<br/> 16924Thanks to Zyb. 16925</para> 16926</change> 16927 16928</changes> 16929 16930 16931<changes ver="0.7.21" date="2008-11-11"> 16932 16933<change> 16934<para lang="ru"> 16935Изменения в модуле ngx_http_limit_req_module. 16936</para> 16937<para lang="en"> 16938Changes in the ngx_http_limit_req_module. 16939</para> 16940</change> 16941 16942<change type="feature"> 16943<para lang="ru"> 16944поддержка EXSLT в модуле ngx_http_xslt_module.<br/> 16945Спасибо Денису Латыпову. 16946</para> 16947<para lang="en"> 16948the EXSLT support in the ngx_http_xslt_module.<br/> 16949Thanks to Denis F. Latypoff. 16950</para> 16951</change> 16952 16953<change type="workaround"> 16954<para lang="ru"> 16955совместимость с glibc 2.3.<br/> 16956Спасибо Eric Benson и Максиму Дунину. 16957</para> 16958<para lang="en"> 16959compatibility with glibc 2.3.<br/> 16960Thanks to Eric Benson and Maxim Dounin. 16961</para> 16962</change> 16963 16964<change type="bugfix"> 16965<para lang="ru"> 16966nginx не запускался на MacOSX 10.4 и более ранних; 16967ошибка появилась в 0.7.6. 16968</para> 16969<para lang="en"> 16970nginx could not run on MacOSX 10.4 and earlier; 16971the bug had appeared in 0.7.6. 16972</para> 16973</change> 16974 16975</changes> 16976 16977 16978<changes ver="0.7.20" date="2008-11-10"> 16979 16980<change> 16981<para lang="ru"> 16982Изменения в модуле ngx_http_gzip_filter_module. 16983</para> 16984<para lang="en"> 16985Changes in the ngx_http_gzip_filter_module. 16986</para> 16987</change> 16988 16989<change type="feature"> 16990<para lang="ru"> 16991модуль ngx_http_limit_req_module. 16992</para> 16993<para lang="en"> 16994the ngx_http_limit_req_module. 16995</para> 16996</change> 16997 16998<change type="bugfix"> 16999<para lang="ru"> 17000на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS; 17001ошибка появилась в 0.7.3.<br/> 17002Спасибо Максиму Дунину. 17003</para> 17004<para lang="en"> 17005worker processes might exit on a SIGBUS signal on sparc and ppc platforms; 17006the bug had appeared in 0.7.3.<br/> 17007Thanks to Maxim Dounin. 17008</para> 17009</change> 17010 17011<change type="bugfix"> 17012<para lang="ru"> 17013директивы вида "proxy_pass http://host/some:uri" не работали; 17014ошибка появилась в 0.7.12. 17015</para> 17016<para lang="en"> 17017the "proxy_pass http://host/some:uri" directives did not work; 17018the bug had appeared in 0.7.12. 17019</para> 17020</change> 17021 17022<change type="bugfix"> 17023<para lang="ru"> 17024при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry". 17025</para> 17026<para lang="en"> 17027in HTTPS mode requests might fail with the "bad write retry" error. 17028</para> 17029</change> 17030 17031<change type="bugfix"> 17032<para lang="ru"> 17033модуль ngx_http_secure_link_module не работал внутри location'ов 17034с именами меньше 3 символов. 17035</para> 17036<para lang="en"> 17037the ngx_http_secure_link_module did not work inside locations, 17038whose names are less than 3 characters. 17039</para> 17040</change> 17041 17042<change type="bugfix"> 17043<para lang="ru"> 17044переменная $server_addr могла не иметь значения. 17045</para> 17046<para lang="en"> 17047$server_addr variable might have no value. 17048</para> 17049</change> 17050 17051</changes> 17052 17053 17054<changes ver="0.7.19" date="2008-10-13"> 17055 17056<change type="bugfix"> 17057<para lang="ru"> 17058обновление номера версии. 17059</para> 17060<para lang="en"> 17061version number update. 17062</para> 17063</change> 17064 17065</changes> 17066 17067 17068<changes ver="0.7.18" date="2008-10-13"> 17069 17070<change type="change"> 17071<para lang="ru"> 17072директива underscores_in_headers; 17073теперь nginx по умолчанию не разрешает подчёркивания в именах строк 17074в заголовке запроса клиента. 17075</para> 17076<para lang="en"> 17077the "underscores_in_headers" directive; 17078now nginx does not allows underscores in a client request header line names. 17079</para> 17080</change> 17081 17082<change type="feature"> 17083<para lang="ru"> 17084модуль ngx_http_secure_link_module. 17085</para> 17086<para lang="en"> 17087the ngx_http_secure_link_module. 17088</para> 17089</change> 17090 17091<change type="feature"> 17092<para lang="ru"> 17093директива real_ip_header поддерживает любой заголовок. 17094</para> 17095<para lang="en"> 17096the "real_ip_header" directive supports any header. 17097</para> 17098</change> 17099 17100<change type="feature"> 17101<para lang="ru"> 17102директива log_subrequest. 17103</para> 17104<para lang="en"> 17105the "log_subrequest" directive. 17106</para> 17107</change> 17108 17109<change type="feature"> 17110<para lang="ru"> 17111переменная $realpath_root. 17112</para> 17113<para lang="en"> 17114the $realpath_root variable. 17115</para> 17116</change> 17117 17118<change type="feature"> 17119<para lang="ru"> 17120параметры http_502 и http_504 в директиве proxy_next_upstream. 17121</para> 17122<para lang="en"> 17123the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. 17124</para> 17125</change> 17126 17127<change type="bugfix"> 17128<para lang="ru"> 17129параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream 17130не работал. 17131</para> 17132<para lang="en"> 17133the "http_503" parameter of the "proxy_next_upstream" or 17134"fastcgi_next_upstream" directives did not work. 17135</para> 17136</change> 17137 17138<change type="bugfix"> 17139<para lang="ru"> 17140nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD. 17141</para> 17142<para lang="en"> 17143nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. 17144</para> 17145</change> 17146 17147<change type="bugfix"> 17148<para lang="ru"> 17149теперь accept-лимит зависит от числа worker_connections. 17150</para> 17151<para lang="en"> 17152now accept threshold depends on worker_connections. 17153</para> 17154</change> 17155 17156</changes> 17157 17158 17159<changes ver="0.7.17" date="2008-09-15"> 17160 17161<change type="feature"> 17162<para lang="ru"> 17163директива directio теперь работает на Linux. 17164</para> 17165<para lang="en"> 17166now the "directio" directive works on Linux. 17167</para> 17168</change> 17169 17170<change type="feature"> 17171<para lang="ru"> 17172переменная $pid. 17173</para> 17174<para lang="en"> 17175the $pid variable. 17176</para> 17177</change> 17178 17179<change type="bugfix"> 17180<para lang="ru"> 17181оптимизация directio, появившаяся в 0.7.15, не работала при использовании 17182open_file_cache. 17183</para> 17184<para lang="en"> 17185the "directio" optimization that had appeared in 0.7.15 did not work with 17186open_file_cache. 17187</para> 17188</change> 17189 17190<change type="bugfix"> 17191<para lang="ru"> 17192access_log с переменными не работал на Linux; 17193ошибка появилась в 0.7.7. 17194</para> 17195<para lang="en"> 17196the "access_log" with variables did not work on Linux; 17197the bug had appeared in 0.7.7. 17198</para> 17199</change> 17200 17201<change type="bugfix"> 17202<para lang="ru"> 17203модуль ngx_http_charset_module не понимал название кодировки в кавычках, 17204полученное от бэкенда. 17205</para> 17206<para lang="en"> 17207the ngx_http_charset_module did not understand quoted charset name 17208received from backend. 17209</para> 17210</change> 17211 17212</changes> 17213 17214 17215<changes ver="0.7.16" date="2008-09-08"> 17216 17217<change type="bugfix"> 17218<para lang="ru"> 17219nginx не собирался на 64-битных платформах; 17220ошибка появилась в 0.7.15. 17221</para> 17222<para lang="en"> 17223nginx could not be built on 64-bit platforms; 17224the bug had appeared in 0.7.15. 17225</para> 17226</change> 17227 17228</changes> 17229 17230 17231<changes ver="0.7.15" date="2008-09-08"> 17232 17233<change type="feature"> 17234<para lang="ru"> 17235модуль ngx_http_random_index_module. 17236</para> 17237<para lang="en"> 17238the ngx_http_random_index_module. 17239</para> 17240</change> 17241 17242<change type="feature"> 17243<para lang="ru"> 17244директива directio оптимизирована для запросов файлов, начинающихся 17245с произвольной позиции. 17246</para> 17247<para lang="en"> 17248the "directio" directive has been optimized for file requests starting 17249from arbitrary position. 17250</para> 17251</change> 17252 17253<change type="feature"> 17254<para lang="ru"> 17255директива directio при необходимости запрещает использование sendfile. 17256</para> 17257<para lang="en"> 17258the "directio" directive turns off sendfile if it is necessary. 17259</para> 17260</change> 17261 17262<change type="feature"> 17263<para lang="ru"> 17264теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента. 17265</para> 17266<para lang="en"> 17267now nginx allows underscores in a client request header line names. 17268</para> 17269</change> 17270 17271</changes> 17272 17273 17274<changes ver="0.7.14" date="2008-09-01"> 17275 17276<change type="change"> 17277<para lang="ru"> 17278теперь директивы ssl_certificate и ssl_certificate_key не имеют 17279значений по умолчанию. 17280</para> 17281<para lang="en"> 17282now the ssl_certificate and ssl_certificate_key directives have no 17283default values. 17284</para> 17285</change> 17286 17287<change type="feature"> 17288<para lang="ru"> 17289директива listen поддерживает параметр ssl. 17290</para> 17291<para lang="en"> 17292the "listen" directive supports the "ssl" parameter. 17293</para> 17294</change> 17295 17296<change type="feature"> 17297<para lang="ru"> 17298теперь при переконфигурации nginx учитывает изменение временной зоны 17299на FreeBSD и Linux. 17300</para> 17301<para lang="en"> 17302now nginx takes into account a time zone change while reconfiguration 17303on FreeBSD and Linux. 17304</para> 17305</change> 17306 17307<change type="bugfix"> 17308<para lang="ru"> 17309параметры директивы listen, такие как backlog, rcvbuf и прочие, 17310не устанавливались, если сервером по умолчанию был не первый сервер. 17311</para> 17312<para lang="en"> 17313the "listen" directive parameters such as "backlog", "rcvbuf", etc. 17314were not set, if a default server was not the first one. 17315</para> 17316</change> 17317 17318<change type="bugfix"> 17319<para lang="ru"> 17320при использовании в качестве аргументов части URI, выделенного с помощью 17321директивы rewrite, эти аргументы не экранировались. 17322</para> 17323<para lang="en"> 17324if URI part captured by a "rewrite" directive was used as a query string, 17325then the query string was not escaped. 17326</para> 17327</change> 17328 17329<change type="bugfix"> 17330<para lang="ru"> 17331улучшения тестирования правильности конфигурационного файла. 17332</para> 17333<para lang="en"> 17334configuration file validity test improvements. 17335</para> 17336</change> 17337 17338 17339</changes> 17340 17341 17342<changes ver="0.7.13" date="2008-08-26"> 17343 17344<change type="bugfix"> 17345<para lang="ru"> 17346nginx не собирался на Linux и Solaris; 17347ошибка появилась в 0.7.12. 17348</para> 17349<para lang="en"> 17350nginx could not be built on Linux and Solaris; 17351the bug had appeared in 0.7.12. 17352</para> 17353</change> 17354 17355</changes> 17356 17357 17358<changes ver="0.7.12" date="2008-08-26"> 17359 17360<change type="feature"> 17361<para lang="ru"> 17362директива server_name поддерживает пустое имя "". 17363</para> 17364<para lang="en"> 17365the "server_name" directive supports empty name "". 17366</para> 17367</change> 17368 17369<change type="feature"> 17370<para lang="ru"> 17371директива gzip_disable поддерживает специальную маску msie6. 17372</para> 17373<para lang="en"> 17374the "gzip_disable" directive supports special "msie6" mask. 17375</para> 17376</change> 17377 17378<change type="bugfix"> 17379<para lang="ru"> 17380при использовании параметра max_fails=0 в upstream'е с несколькими 17381серверами рабочий процесс выходил по сигналу SIGFPE.<br/> 17382Спасибо Максиму Дунину. 17383</para> 17384<para lang="en"> 17385if the "max_fails=0" parameter was used in upstream with several servers, 17386then a worker process exited on a SIGFPE signal.<br/> 17387Thanks to Maxim Dounin. 17388</para> 17389</change> 17390 17391<change type="bugfix"> 17392<para lang="ru"> 17393при перенаправлении запроса с помощью директивы error_page 17394терялось тело запроса. 17395</para> 17396<para lang="en"> 17397a request body was dropped while redirection via an "error_page" directive. 17398</para> 17399</change> 17400 17401<change type="bugfix"> 17402<para lang="ru"> 17403при перенаправлении запроса с методом HEAD с помощью директивы error_page 17404возвращался полный ответ. 17405</para> 17406<para lang="en"> 17407a full response was returned for request method HEAD 17408while redirection via an "error_page" directive. 17409</para> 17410</change> 17411 17412<change type="bugfix"> 17413<para lang="ru"> 17414метод $r->header_in() не возвращал значения строк "Host", "User-Agent", 17415и "Connection" из заголовка запроса; 17416ошибка появилась в 0.7.0. 17417</para> 17418<para lang="en"> 17419the $r->header_in() method did not return value of the "Host", 17420"User-Agent", and "Connection" request header lines; 17421the bug had appeared in 0.7.0. 17422</para> 17423</change> 17424 17425</changes> 17426 17427 17428<changes ver="0.7.11" date="2008-08-18"> 17429 17430<change type="change"> 17431<para lang="ru"> 17432теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css. 17433</para> 17434<para lang="en"> 17435now ngx_http_charset_module does not work by default with text/css MIME type. 17436</para> 17437</change> 17438 17439<change type="feature"> 17440<para lang="ru"> 17441теперь nginx возвращает код 405 для метода POST при запросе статического 17442файла, только если файл существует. 17443</para> 17444<para lang="en"> 17445now nginx returns the 405 status code for POST method requesting a static file 17446only if the file exists. 17447</para> 17448</change> 17449 17450<change type="feature"> 17451<para lang="ru"> 17452директива proxy_ssl_session_reuse. 17453</para> 17454<para lang="en"> 17455the "proxy_ssl_session_reuse" directive. 17456</para> 17457</change> 17458 17459<change type="bugfix"> 17460<para lang="ru"> 17461после перенаправления запроса с помощью "X-Accel-Redirect" 17462директива proxy_pass без URI могла использовать оригинальный запрос. 17463</para> 17464<para lang="en"> 17465a "proxy_pass" directive without URI part might use original request 17466after the "X-Accel-Redirect" redirection was used. 17467</para> 17468</change> 17469 17470<change type="bugfix"> 17471<para lang="ru"> 17472если у каталога были права доступа только на поиск файлов 17473и первый индексный файл отсутствовал, то nginx возвращал ошибку 500. 17474</para> 17475<para lang="en"> 17476if a directory has search only rights and the first index file was absent, 17477then nginx returned the 500 status code. 17478</para> 17479</change> 17480 17481<change type="bugfix"> 17482<para lang="ru"> 17483ошибок во вложенных location'ах; 17484ошибки появились в 0.7.1. 17485</para> 17486<para lang="en"> 17487in inclusive locations; 17488the bugs had appeared in 0.7.1. 17489</para> 17490</change> 17491 17492</changes> 17493 17494 17495<changes ver="0.7.10" date="2008-08-13"> 17496 17497<change type="bugfix"> 17498<para lang="ru"> 17499ошибок в директивах addition_types, charset_types, 17500gzip_types, ssi_types, sub_filter_types и xslt_types; 17501ошибки появились в 0.7.9. 17502</para> 17503<para lang="en"> 17504in the "addition_types", "charset_types", 17505"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives; 17506the bugs had appeared in 0.7.9. 17507</para> 17508</change> 17509 17510<change type="bugfix"> 17511<para lang="ru"> 17512рекурсивной error_page для 500 ошибки. 17513</para> 17514<para lang="en"> 17515of recursive error_page for 500 status code. 17516</para> 17517</change> 17518 17519<change type="bugfix"> 17520<para lang="ru"> 17521теперь модуль ngx_http_realip_module устанавливает адрес не для 17522всего keepalive соединения, а для каждого запроса по этому соединению. 17523</para> 17524<para lang="en"> 17525now the ngx_http_realip_module sets address not for whole keepalive connection, 17526but for each request passed via the connection. 17527</para> 17528</change> 17529 17530</changes> 17531 17532 17533<changes ver="0.7.9" date="2008-08-12"> 17534 17535<change type="change"> 17536<para lang="ru"> 17537теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами: 17538text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 17539application/x-javascript и application/rss+xml. 17540</para> 17541<para lang="en"> 17542now ngx_http_charset_module works by default with following MIME types: 17543text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 17544application/x-javascript, and application/rss+xml. 17545</para> 17546</change> 17547 17548<change type="feature"> 17549<para lang="ru"> 17550директивы charset_types и addition_types. 17551</para> 17552<para lang="en"> 17553the "charset_types" and "addition_types" directives. 17554</para> 17555</change> 17556 17557<change type="feature"> 17558<para lang="ru"> 17559теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш. 17560</para> 17561<para lang="en"> 17562now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. 17563</para> 17564</change> 17565 17566<change type="feature"> 17567<para lang="ru"> 17568модуль ngx_cpp_test_module. 17569</para> 17570<para lang="en"> 17571the ngx_cpp_test_module. 17572</para> 17573</change> 17574 17575<change type="feature"> 17576<para lang="ru"> 17577директива expires поддерживает суточное время. 17578</para> 17579<para lang="en"> 17580the "expires" directive supports daily time. 17581</para> 17582</change> 17583 17584<change type="feature"> 17585<para lang="ru"> 17586улучшения и исправления в модуле ngx_http_xslt_module.<br/> 17587Спасибо Денису Латыпову и Максиму Дунину. 17588</para> 17589<para lang="en"> 17590the ngx_http_xslt_module improvements and bug fixing.<br/> 17591Thanks to Denis F. Latypoff and Maxim Dounin. 17592</para> 17593</change> 17594 17595<change type="bugfix"> 17596<para lang="ru"> 17597директива log_not_found не работала при поиске индексных файлов. 17598</para> 17599<para lang="en"> 17600the "log_not_found" directive did not work for index files tests. 17601</para> 17602</change> 17603 17604<change type="bugfix"> 17605<para lang="ru"> 17606HTTPS-соединения могли зависнуть, 17607если использовались методы kqueue, epoll, rtsig или eventport; 17608ошибка появилась в 0.7.7. 17609</para> 17610<para lang="en"> 17611HTTPS connections might hang, 17612if kqueue, epoll, rtsig, or eventport methods were used; 17613the bug had appeared in 0.7.7. 17614</para> 17615</change> 17616 17617<change type="bugfix"> 17618<para lang="ru"> 17619если в директивах server_name, valid_referers и map 17620использовалась маска вида "*.domain.tld" и при этом полное имя 17621вида "domain.tld" не было описано, то это имя попадало под маску; 17622ошибка появилась в 0.3.18. 17623</para> 17624<para lang="en"> 17625if the "server_name", "valid_referers", and "map" directives used 17626an "*.domain.tld" wildcard and exact name "domain.tld" was not set, 17627then the exact name was matched by the wildcard; 17628the bug had appeared in 0.3.18. 17629</para> 17630</change> 17631 17632</changes> 17633 17634 17635<changes ver="0.7.8" date="2008-08-04"> 17636 17637<change type="feature"> 17638<para lang="ru"> 17639модуль ngx_http_xslt_module. 17640</para> 17641<para lang="en"> 17642the ngx_http_xslt_module. 17643</para> 17644</change> 17645 17646<change type="feature"> 17647<para lang="ru"> 17648переменные "$arg_...". 17649</para> 17650<para lang="en"> 17651the "$arg_..." variables. 17652</para> 17653</change> 17654 17655<change type="feature"> 17656<para lang="ru"> 17657поддержка directio в Solaris.<br/> 17658Спасибо Ivan Debnar. 17659</para> 17660<para lang="en"> 17661Solaris directio support.<br/> 17662Thanks to Ivan Debnar. 17663</para> 17664</change> 17665 17666<change type="bugfix"> 17667<para lang="ru"> 17668теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа 17669без строки статуса, то nginx использует код статуса 302.<br/> 17670Спасибо Максиму Дунину. 17671</para> 17672<para lang="en"> 17673now if FastCGI server sends a "Location" header line without status line, 17674then nginx uses 302 status code.<br/> 17675Thanks to Maxim Dounin. 17676</para> 17677</change> 17678 17679</changes> 17680 17681 17682<changes ver="0.7.7" date="2008-07-30"> 17683 17684<change type="change"> 17685<para lang="ru"> 17686теперь ошибка EAGAIN при вызове connect() не считается временной. 17687</para> 17688<para lang="en"> 17689now the EAGAIN error returned by connect() is not considered as temporary error. 17690</para> 17691</change> 17692 17693<change type="change"> 17694<para lang="ru"> 17695значением переменной $ssl_client_cert теперь является сертификат, 17696перед каждой строкой которого, кроме первой, вставляется символ табуляции; 17697неизменённый сертификат доступен через переменную $ssl_client_raw_cert. 17698</para> 17699<para lang="en"> 17700now the $ssl_client_cert variable value is a certificate with TAB character 17701intended before each line except first one; 17702an unchanged certificate is available in the $ssl_client_raw_cert variable. 17703</para> 17704</change> 17705 17706<change type="feature"> 17707<para lang="ru"> 17708параметр ask директивы ssl_verify_client. 17709</para> 17710<para lang="en"> 17711the "ask" parameter in the "ssl_verify_client" directive. 17712</para> 17713</change> 17714 17715<change type="feature"> 17716<para lang="ru"> 17717улучшения в обработке byte-range.<br/> 17718Спасибо Максиму Дунину. 17719</para> 17720<para lang="en"> 17721byte-range processing improvements.<br/> 17722Thanks to Maxim Dounin. 17723</para> 17724</change> 17725 17726<change type="feature"> 17727<para lang="ru"> 17728директива directio.<br/> 17729Спасибо Jiang Hong. 17730</para> 17731<para lang="en"> 17732the "directio" directive.<br/> 17733Thanks to Jiang Hong. 17734</para> 17735</change> 17736 17737<change type="feature"> 17738<para lang="ru"> 17739поддержка sendfile() в MacOSX 10.5. 17740</para> 17741<para lang="en"> 17742MacOSX 10.5 sendfile() support. 17743</para> 17744</change> 17745 17746<change type="bugfix"> 17747<para lang="ru"> 17748в MacOSX и Cygwin при проверке location'ов теперь делается сравнение 17749без учёта регистра символов; 17750однако, сравнение ограничено только однобайтными locale'ями. 17751</para> 17752<para lang="en"> 17753now in MacOSX and Cygwin locations are tested in case insensitive mode; 17754however, the compare is provided by single-byte locales only. 17755</para> 17756</change> 17757 17758<change type="bugfix"> 17759<para lang="ru"> 17760соединения почтового прокси-сервера зависали в режиме SSL, 17761если использовались методы select, poll или /dev/poll. 17762</para> 17763<para lang="en"> 17764mail proxy SSL connections hanged, 17765if select, poll, or /dev/poll methods were used. 17766</para> 17767</change> 17768 17769<change type="bugfix"> 17770<para lang="ru"> 17771ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module. 17772</para> 17773<para lang="en"> 17774UTF-8 encoding usage in the ngx_http_autoindex_module. 17775</para> 17776</change> 17777 17778</changes> 17779 17780 17781<changes ver="0.7.6" date="2008-07-07"> 17782 17783<change type="bugfix"> 17784<para lang="ru"> 17785теперь при использовании переменных в директиве access_log 17786всегда проверяется существовании root'а для запроса. 17787</para> 17788<para lang="en"> 17789now if variables are used in the "access_log" directive 17790a request root existence is always tested. 17791</para> 17792</change> 17793 17794<change type="bugfix"> 17795<para lang="ru"> 17796модуль ngx_http_flv_module не поддерживал несколько значений в 17797аргументах запроса. 17798</para> 17799<para lang="en"> 17800the ngx_http_flv_module did not support several values in a query string. 17801</para> 17802</change> 17803 17804</changes> 17805 17806 17807<changes ver="0.7.5" date="2008-07-01"> 17808 17809<change> 17810<para lang="ru"> 17811Исправления в поддержке переменных в директиве access_log; 17812ошибки появились в 0.7.4. 17813</para> 17814<para lang="en"> 17815Bugfixes in variables support in the "access_log" directive; 17816the bugs had appeared in 0.7.4. 17817</para> 17818</change> 17819 17820<change type="bugfix"> 17821<para lang="ru"> 17822nginx не собирался с параметром --without-http_gzip_module; 17823ошибка появилась в 0.7.3.<br/> 17824Спасибо Кириллу Коринскому. 17825</para> 17826<para lang="en"> 17827nginx could not be built --without-http_gzip_module; 17828the bug had appeared in 0.7.3.<br/> 17829Thanks to Kirill A. Korinskiy. 17830</para> 17831</change> 17832 17833<change type="bugfix"> 17834<para lang="ru"> 17835при совместном использовании sub_filter и SSI 17836ответы могли передаваться неверно. 17837</para> 17838<para lang="en"> 17839if sub_filter and SSI were used together, then responses might 17840were transferred incorrectly. 17841</para> 17842</change> 17843 17844</changes> 17845 17846 17847<changes ver="0.7.4" date="2008-06-30"> 17848 17849<change type="feature"> 17850<para lang="ru"> 17851директива access_log поддерживает переменные. 17852</para> 17853<para lang="en"> 17854variables support in the "access_log" directive. 17855</para> 17856</change> 17857 17858<change type="feature"> 17859<para lang="ru"> 17860директива open_log_file_cache. 17861</para> 17862<para lang="en"> 17863the "open_log_file_cache" directive. 17864</para> 17865</change> 17866 17867<change type="feature"> 17868<para lang="ru"> 17869ключ -g. 17870</para> 17871<para lang="en"> 17872the -g switch. 17873</para> 17874</change> 17875 17876<change type="feature"> 17877<para lang="ru"> 17878поддержка строки "Expect" в заголовке запроса. 17879</para> 17880<para lang="en"> 17881the "Expect" request header line support. 17882</para> 17883</change> 17884 17885<change type="bugfix"> 17886<para lang="ru"> 17887большие включения в SSI могли передавались не полностью. 17888</para> 17889<para lang="en"> 17890large SSI inclusions might be truncated. 17891</para> 17892</change> 17893 17894</changes> 17895 17896 17897<changes ver="0.7.3" date="2008-06-23"> 17898 17899<change type="change"> 17900<para lang="ru"> 17901MIME-тип для расширения rss изменён на "application/rss+xml". 17902</para> 17903<para lang="en"> 17904the "rss" extension MIME type has been changed to "application/rss+xml". 17905</para> 17906</change> 17907 17908<change type="change"> 17909<para lang="ru"> 17910теперь директива "gzip_vary on" выдаёт строку 17911<nobr>"Vary: Accept-Encoding"</nobr> 17912в заголовке ответа и для несжатых ответов. 17913</para> 17914<para lang="en"> 17915now the "gzip_vary" directive turned on issues 17916a <nobr>"Vary: Accept-Encoding"</nobr> 17917header line for uncompressed responses too. 17918</para> 17919</change> 17920 17921<change type="feature"> 17922<para lang="ru"> 17923теперь при использовании протокола "https://" в директиве rewrite 17924автоматически делается редирект. 17925</para> 17926<para lang="en"> 17927now the "rewrite" directive does a redirect automatically 17928if the "https://" protocol is used. 17929</para> 17930</change> 17931 17932<change type="bugfix"> 17933<para lang="ru"> 17934директива proxy_pass не работала с протоколом HTTPS; 17935ошибка появилась в 0.6.9. 17936</para> 17937<para lang="en"> 17938the "proxy_pass" directive did not work with the HTTPS protocol; 17939the bug had appeared in 0.6.9. 17940</para> 17941</change> 17942 17943</changes> 17944 17945 17946<changes ver="0.7.2" date="2008-06-16"> 17947 17948<change type="feature"> 17949<para lang="ru"> 17950теперь nginx поддерживает шифры с обменом EDH-ключами. 17951</para> 17952<para lang="en"> 17953now nginx supports EDH key exchange ciphers. 17954</para> 17955</change> 17956 17957<change type="feature"> 17958<para lang="ru"> 17959директива ssl_dhparam. 17960</para> 17961<para lang="en"> 17962the "ssl_dhparam" directive. 17963</para> 17964</change> 17965 17966<change type="feature"> 17967<para lang="ru"> 17968переменная $ssl_client_cert.<br/> 17969Спасибо Manlio Perillo. 17970</para> 17971<para lang="en"> 17972the $ssl_client_cert variable.<br/> 17973Thanks to Manlio Perillo. 17974</para> 17975</change> 17976 17977<change type="bugfix"> 17978<para lang="ru"> 17979после изменения URI с помощью директивы rewrite nginx не искал новый location; 17980ошибка появилась в 0.7.1.<br/> 17981Спасибо Максиму Дунину. 17982</para> 17983<para lang="en"> 17984after changing URI via a "rewrite" directive nginx did not search 17985a new location; 17986the bug had appeared in 0.7.1.<br/> 17987Thanks to Maxim Dounin. 17988</para> 17989</change> 17990 17991<change type="bugfix"> 17992<para lang="ru"> 17993nginx не собирался без библиотеки PCRE; 17994ошибка появилась в 0.7.1. 17995</para> 17996<para lang="en"> 17997nginx could not be built without PCRE library; 17998the bug had appeared in 0.7.1. 17999</para> 18000</change> 18001 18002<change type="bugfix"> 18003<para lang="ru"> 18004при редиректе запроса к каталогу с добавлением слэша nginx 18005не добавлял аргументы из оригинального запроса. 18006</para> 18007<para lang="en"> 18008when a request to a directory was redirected with the slash added, 18009nginx dropped a query string from the original request. 18010</para> 18011</change> 18012 18013</changes> 18014 18015 18016<changes ver="0.7.1" date="2008-05-26"> 18017 18018<change type="change"> 18019<para lang="ru"> 18020теперь поиск location'а делается с помощью дерева. 18021</para> 18022<para lang="en"> 18023now locations are searched in a tree. 18024</para> 18025</change> 18026 18027<change type="change"> 18028<para lang="ru"> 18029директива optimize_server_names упразднена в связи с появлением 18030директивы server_name_in_redirect. 18031</para> 18032<para lang="en"> 18033the "optimize_server_names" directive was canceled 18034due to the "server_name_in_redirect" directive introduction. 18035</para> 18036</change> 18037 18038<change type="change"> 18039<para lang="ru"> 18040некоторые давно устаревшие директивы больше не поддерживаются. 18041</para> 18042<para lang="en"> 18043some long deprecated directives are not supported anymore. 18044</para> 18045</change> 18046 18047<change type="change"> 18048<para lang="ru"> 18049параметр "none" в директиве ssl_session_cache; 18050теперь этот параметр используется по умолчанию.<br/> 18051Спасибо Rob Mueller. 18052</para> 18053<para lang="en"> 18054the "none" parameter in the "ssl_session_cache" directive; 18055now this is default parameter.<br/> 18056Thanks to Rob Mueller. 18057</para> 18058</change> 18059 18060<change type="bugfix"> 18061<para lang="ru"> 18062рабочие процессы могли не реагировать на сигналы переконфигурации 18063и ротации логов. 18064</para> 18065<para lang="en"> 18066worker processes might not catch reconfiguration and log rotation signals. 18067</para> 18068</change> 18069 18070<change type="bugfix"> 18071<para lang="ru"> 18072nginx не собирался на последних Fedora 9 Linux.<br/> 18073Спасибо Roxis. 18074</para> 18075<para lang="en"> 18076nginx could not be built on latest Fedora 9 Linux.<br/> 18077Thanks to Roxis. 18078</para> 18079</change> 18080 18081</changes> 18082 18083 18084<changes ver="0.7.0" date="2008-05-19"> 18085 18086<change type="change"> 18087<para lang="ru"> 18088теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/> 18089Спасибо Максиму Дунину. 18090</para> 18091<para lang="en"> 18092now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an 18093access_log.<br/> 18094Thanks to Maxim Dounin. 18095</para> 18096</change> 18097 18098<change type="change"> 18099<para lang="ru"> 18100теперь nginx разрешает несколько строк "Host" в заголовке запроса. 18101</para> 18102<para lang="en"> 18103now nginx allows several "Host" request header line. 18104</para> 18105</change> 18106 18107<change type="feature"> 18108<para lang="ru"> 18109директива expires поддерживает флаг modified. 18110</para> 18111<para lang="en"> 18112the "modified" flag in the "expires" directive. 18113</para> 18114</change> 18115 18116<change type="feature"> 18117<para lang="ru"> 18118переменные $uid_got и $uid_set можно использовать на любой стадии обработки 18119запроса. 18120</para> 18121<para lang="en"> 18122the $uid_got and $uid_set variables may be used at any request processing stage. 18123</para> 18124</change> 18125 18126<change type="feature"> 18127<para lang="ru"> 18128переменная $hostname.<br/> 18129Спасибо Андрею Нигматулину. 18130</para> 18131<para lang="en"> 18132the $hostname variable.<br/> 18133Thanks to Andrei Nigmatulin. 18134</para> 18135</change> 18136 18137<change type="feature"> 18138<para lang="ru"> 18139поддержка DESTDIR.<br/> 18140Спасибо Todd A. Fisher и Andras Voroskoi. 18141</para> 18142<para lang="en"> 18143DESTDIR support.<br/> 18144Thanks to Todd A. Fisher and Andras Voroskoi. 18145</para> 18146</change> 18147 18148<change type="bugfix"> 18149<para lang="ru"> 18150при использовании keepalive на Linux 18151в рабочем процессе мог произойти segmentation fault. 18152</para> 18153<para lang="en"> 18154a segmentation fault might occur in worker process on Linux, 18155if keepalive was enabled. 18156</para> 18157</change> 18158 18159</changes> 18160 18161 18162<changes ver="0.6.31" date="2008-05-12"> 18163 18164<change type="bugfix"> 18165<para lang="ru"> 18166nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была 18167в конце записи FastCGI; 18168ошибка появилась в 0.6.2.<br/> 18169Спасибо Сергею Серову. 18170</para> 18171<para lang="en"> 18172nginx did not process FastCGI response 18173if header was at the end of FastCGI record; 18174the bug had appeared in 0.6.2.<br/> 18175Thanks to Sergey Serov. 18176</para> 18177</change> 18178 18179<change type="bugfix"> 18180<para lang="ru"> 18181при удалении файла и использовании директивы open_file_cache_errors off 18182в рабочем процессе мог произойти segmentation fault. 18183</para> 18184<para lang="en"> 18185a segmentation fault might occur in worker process if a file was deleted 18186and the "open_file_cache_errors" directive was off. 18187</para> 18188</change> 18189 18190</changes> 18191 18192 18193<changes ver="0.6.30" date="2008-04-29"> 18194 18195<change type="change"> 18196<para lang="ru"> 18197теперь, если маске, заданной в директиве include, не соответствует 18198ни один файл, то nginx не выдаёт ошибку. 18199</para> 18200<para lang="en"> 18201now if an "include" directive pattern does not match any file, 18202then nginx does not issue an error. 18203</para> 18204</change> 18205 18206<change type="feature"> 18207<para lang="ru"> 18208теперь время в директивах можно задавать без пробела, например, "1h50m". 18209</para> 18210<para lang="en"> 18211now the time in directives may be specified without spaces, 18212for example, "1h50m". 18213</para> 18214</change> 18215 18216<change type="bugfix"> 18217<para lang="ru"> 18218утечек памяти, если директива ssl_verify_client имела значение on.<br/> 18219Спасибо Chavelle Vincent. 18220</para> 18221<para lang="en"> 18222memory leaks if the "ssl_verify_client" directive was on.<br/> 18223Thanks to Chavelle Vincent. 18224</para> 18225</change> 18226 18227<change type="bugfix"> 18228<para lang="ru"> 18229директива sub_filter могла вставлять заменяемый текст в вывод. 18230</para> 18231<para lang="en"> 18232the "sub_filter" directive might set text to change into output. 18233</para> 18234</change> 18235 18236<change type="bugfix"> 18237<para lang="ru"> 18238директива error_page не воспринимала параметры в перенаправляемом URI. 18239</para> 18240<para lang="en"> 18241the "error_page" directive did not take into account arguments in 18242redirected URI. 18243</para> 18244</change> 18245 18246<change type="bugfix"> 18247<para lang="ru"> 18248теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме. 18249</para> 18250<para lang="en"> 18251now nginx always opens files in binary mode under Cygwin. 18252</para> 18253</change> 18254 18255<change type="bugfix"> 18256<para lang="ru"> 18257nginx не собирался под OpenBSD; 18258ошибка появилась в 0.6.15. 18259</para> 18260<para lang="en"> 18261nginx could not be built on OpenBSD; 18262the bug had appeared in 0.6.15. 18263</para> 18264</change> 18265 18266</changes> 18267 18268 18269<changes ver="0.6.29" date="2008-03-18"> 18270 18271<change type="feature"> 18272<para lang="ru"> 18273модуль ngx_google_perftools_module. 18274</para> 18275<para lang="en"> 18276the ngx_google_perftools_module. 18277</para> 18278</change> 18279 18280<change type="bugfix"> 18281<para lang="ru"> 18282модуль ngx_http_perl_module не собирался на 64-битных платформах; 18283ошибка появилась в 0.6.27. 18284</para> 18285<para lang="en"> 18286the ngx_http_perl_module could not be built on 64-bit platforms; 18287the bug had appeared in 0.6.27. 18288</para> 18289</change> 18290 18291</changes> 18292 18293 18294<changes ver="0.6.28" date="2008-03-13"> 18295 18296<change type="bugfix"> 18297<para lang="ru"> 18298метод rtsig не собирался; 18299ошибка появилась в 0.6.27. 18300</para> 18301<para lang="en"> 18302the rtsig method could not be built; 18303the bug had appeared in 0.6.27. 18304</para> 18305</change> 18306 18307</changes> 18308 18309 18310<changes ver="0.6.27" date="2008-03-12"> 18311 18312<change type="change"> 18313<para lang="ru"> 18314теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig. 18315</para> 18316<para lang="en"> 18317now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr> 18318</para> 18319</change> 18320 18321<change type="change"> 18322<para lang="ru"> 18323теперь при перенаправлении запроса в именованный location с помощью 18324директивы error_page метод запроса не изменяется. 18325</para> 18326<para lang="en"> 18327now a request method is not changed while redirection to a named location 18328via an "error_page" directive. 18329</para> 18330</change> 18331 18332<change type="feature"> 18333<para lang="ru"> 18334директивы resolver и resolver_timeout в SMTP прокси-сервере. 18335</para> 18336<para lang="en"> 18337the "resolver" and "resolver_timeout" directives in SMTP proxy. 18338</para> 18339</change> 18340 18341<change type="feature"> 18342<para lang="ru"> 18343директива post_action поддерживает именованные location'ы. 18344</para> 18345<para lang="en"> 18346the "post_action" directive supports named locations. 18347</para> 18348</change> 18349 18350<change type="bugfix"> 18351<para lang="ru"> 18352при перенаправлении запроса из location'а c обработчиком proxy, FastCGI 18353или memcached в именованный location со статическим обработчиком 18354в рабочем процессе происходил segmentation fault. 18355</para> 18356<para lang="en"> 18357a segmentation fault occurred in worker process, 18358if a request was redirected from proxy, FastCGI, or memcached location 18359to static named locations. 18360</para> 18361</change> 18362 18363<change type="bugfix"> 18364<para lang="ru"> 18365браузеры не повторяли SSL handshake, если при первом handshake 18366не оказалось правильного клиентского сертификата. 18367<br/> 18368Спасибо Александру Инюхину. 18369</para> 18370<para lang="en"> 18371browsers did not repeat SSL handshake if there is no valid client certificate 18372in first handshake. 18373<br/> 18374Thanks to Alexander V. Inyukhin. 18375</para> 18376</change> 18377 18378<change type="bugfix"> 18379<para lang="ru"> 18380при перенаправлении ошибок 495-497 с помощью директивы error_page 18381без изменения кода ошибки nginx пытался выделить очень много памяти. 18382</para> 18383<para lang="en"> 18384if response code 495-497 was redirected via an "error_page" directive 18385without code change, then nginx tried to allocate too many memory. 18386</para> 18387</change> 18388 18389<change type="bugfix"> 18390<para lang="ru"> 18391утечки памяти в долгоживущих небуфферизированных соединениях. 18392</para> 18393<para lang="en"> 18394memory leak in long-lived non buffered connections. 18395</para> 18396</change> 18397 18398<change type="bugfix"> 18399<para lang="ru"> 18400утечки памяти в resolver'е. 18401</para> 18402<para lang="en"> 18403memory leak in resolver. 18404</para> 18405</change> 18406 18407<change type="bugfix"> 18408<para lang="ru"> 18409при перенаправлении запроса из location'а c обработчиком proxy 18410в другой location с обработчиком proxy 18411в рабочем процессе происходил segmentation fault. 18412</para> 18413<para lang="en"> 18414a segmentation fault occurred in worker process, 18415if a request was redirected from proxy, FastCGI, or memcached location 18416to static named locations. 18417</para> 18418</change> 18419 18420<change type="bugfix"> 18421<para lang="ru"> 18422ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/> 18423Спасибо Сергею Боченкову. 18424</para> 18425<para lang="en"> 18426in the $proxy_host and $proxy_port variables caching.<br/> 18427Thanks to Sergey Bochenkov. 18428</para> 18429</change> 18430 18431<change type="bugfix"> 18432<para lang="ru"> 18433директива proxy_pass с переменными использовала порт, описанной в другой 18434директиве proxy_pass без переменных, но с таким же именем хоста.<br/> 18435Спасибо Сергею Боченкову. 18436</para> 18437<para lang="en"> 18438a "proxy_pass" directive with variables used incorrectly the same port 18439as in another "proxy_pass" directive with the same host name 18440and without variables.<br/> 18441Thanks to Sergey Bochenkov. 18442</para> 18443</change> 18444 18445<change type="bugfix"> 18446<para lang="ru"> 18447во время переконфигурации на некоторых 64-битном платформах в лог 18448записывался alert "sendmsg() failed (9: Bad file descriptor)". 18449</para> 18450<para lang="en"> 18451an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms 18452while reconfiguration. 18453</para> 18454</change> 18455 18456<change type="bugfix"> 18457<para lang="ru"> 18458при повторном использовании в SSI пустого block'а в качестве заглушки 18459в рабочем процессе происходил segmentation fault. 18460</para> 18461<para lang="en"> 18462a segmentation fault occurred in worker process, 18463if empty stub block was used second time in SSI. 18464</para> 18465</change> 18466 18467<change type="bugfix"> 18468<para lang="ru"> 18469ошибки при копировании части URI, содержащего экранированные символы, 18470в аргументы. 18471</para> 18472<para lang="en"> 18473in copying URI part contained escaped symbols into arguments. 18474</para> 18475</change> 18476 18477</changes> 18478 18479 18480<changes ver="0.6.26" date="2008-02-11"> 18481 18482<change type="bugfix"> 18483<para lang="ru"> 18484директивы proxy_store и fastcgi_store не проверяли длину ответа. 18485</para> 18486<para lang="en"> 18487the "proxy_store" and "fastcgi_store" directives did not check 18488a response length. 18489</para> 18490</change> 18491 18492<change type="bugfix"> 18493<para lang="ru"> 18494при использовании большого значения в директиве expires 18495в рабочем процессе происходил segmentation fault.<br/> 18496Спасибо Joaquin Cuenca Abela. 18497</para> 18498<para lang="en"> 18499a segmentation fault occurred in worker process, 18500if big value was used in a "expires" directive.<br/> 18501Thanks to Joaquin Cuenca Abela. 18502</para> 18503</change> 18504 18505<change type="bugfix"> 18506<para lang="ru"> 18507nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/> 18508Спасибо Геннадию Махомеду. 18509</para> 18510<para lang="en"> 18511nginx incorrectly detected cache line size on Pentium 4.<br/> 18512Thanks to Gena Makhomed. 18513</para> 18514</change> 18515 18516<change type="bugfix"> 18517<para lang="ru"> 18518в проксированных подзапросах и подзапросах к FastCGI-серверу 18519вместо метода GET использовался оригинальный метод клиента. 18520</para> 18521<para lang="en"> 18522in proxied or FastCGI subrequests a client original method was used 18523instead of the GET method. 18524</para> 18525</change> 18526 18527<change type="bugfix"> 18528<para lang="ru"> 18529утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 18530Спасибо Ben Maurer. 18531</para> 18532<para lang="en"> 18533socket leak in HTTPS mode if deferred accept was used.<br/> 18534Thanks to Ben Maurer. 18535</para> 18536</change> 18537 18538<change type="bugfix"> 18539<para lang="ru"> 18540nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; 18541ошибка появилась в 0.6.23. 18542</para> 18543<para lang="en"> 18544nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; 18545the bug had appeared in 0.6.23. 18546</para> 18547</change> 18548 18549<change type="bugfix"> 18550<para lang="ru"> 18551при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 18552ошибка появилась в 0.6.23. 18553</para> 18554<para lang="en"> 18555in HTTPS mode requests might fail with the "bad write retry" error; 18556the bug had appeared in 0.6.23. 18557</para> 18558</change> 18559 18560</changes> 18561 18562 18563<changes ver="0.6.25" date="2008-01-08"> 18564 18565<change type="change"> 18566<para lang="ru"> 18567вместо специального параметра "*" в директиве server_name теперь 18568используется директива server_name_in_redirect. 18569</para> 18570<para lang="en"> 18571now the "server_name_in_redirect" directive is used instead of 18572the "server_name" directive's special "*" parameter. 18573</para> 18574</change> 18575 18576<change type="change"> 18577<para lang="ru"> 18578в качестве основного имени в директиве server_name теперь 18579можно использовать имена с масками и регулярными выражениями. 18580</para> 18581<para lang="en"> 18582now wildcard and regex names can be used as main name in 18583a "server_name" directive. 18584</para> 18585</change> 18586 18587<change type="change"> 18588<para lang="ru"> 18589директива satisfy_any заменена директивой satisfy. 18590</para> 18591<para lang="en"> 18592the "satisfy_any" directive was replaced by the "satisfy" directive. 18593</para> 18594</change> 18595 18596<change type="workaround"> 18597<para lang="ru"> 18598после переконфигурации старые рабочие процесс могли сильно нагружать процессор 18599при запуске под Linux OpenVZ. 18600</para> 18601<para lang="en"> 18602old worker processes might hog CPU after reconfiguration if they was run 18603under Linux OpenVZ. 18604</para> 18605</change> 18606 18607<change type="feature"> 18608<para lang="ru"> 18609директива min_delete_depth. 18610</para> 18611<para lang="en"> 18612the "min_delete_depth" directive. 18613</para> 18614</change> 18615 18616<change type="bugfix"> 18617<para lang="ru"> 18618методы COPY и MOVE не работали с одиночными файлами. 18619</para> 18620<para lang="en"> 18621the COPY and MOVE methods did not work with single files. 18622</para> 18623</change> 18624 18625<change type="bugfix"> 18626<para lang="ru"> 18627модуль ngx_http_gzip_static_module не позволял работать модулю 18628ngx_http_dav_module; 18629ошибка появилась в 0.6.23. 18630</para> 18631<para lang="en"> 18632the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; 18633the bug had appeared in 0.6.23. 18634</para> 18635</change> 18636 18637<change type="bugfix"> 18638<para lang="ru"> 18639утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 18640Спасибо Ben Maurer. 18641</para> 18642<para lang="en"> 18643socket leak in HTTPS mode if deferred accept was used.<br/> 18644Thanks to Ben Maurer. 18645</para> 18646</change> 18647 18648<change type="bugfix"> 18649<para lang="ru"> 18650nginx не собирался без библиотеки PCRE; 18651ошибка появилась в 0.6.23. 18652</para> 18653<para lang="en"> 18654nginx could not be built without PCRE library; 18655the bug had appeared in 0.6.23. 18656</para> 18657</change> 18658 18659</changes> 18660 18661<changes ver="0.6.24" date="2007-12-27"> 18662 18663<change type="bugfix"> 18664<para lang="ru"> 18665при использовании HTTPS в рабочем процессе мог произойти segmentation fault; 18666ошибка появилась в 0.6.23. 18667</para> 18668<para lang="en"> 18669a segmentation fault might occur in worker process if HTTPS was used; 18670the bug had appeared in 0.6.23. 18671</para> 18672</change> 18673 18674</changes> 18675 18676 18677<changes ver="0.6.23" date="2007-12-27"> 18678 18679<change type="change"> 18680<para lang="ru"> 18681параметр "off" в директиве ssl_session_cache; 18682теперь этот параметр используется по умолчанию. 18683</para> 18684<para lang="en"> 18685the "off" parameter in the "ssl_session_cache" directive; 18686now this is default parameter. 18687</para> 18688</change> 18689 18690<change type="change"> 18691<para lang="ru"> 18692директива open_file_cache_retest переименована в open_file_cache_valid. 18693</para> 18694<para lang="en"> 18695the "open_file_cache_retest" directive was renamed 18696to the "open_file_cache_valid". 18697</para> 18698</change> 18699 18700<change type="feature"> 18701<para lang="ru"> 18702директива open_file_cache_min_uses. 18703</para> 18704<para lang="en"> 18705the "open_file_cache_min_uses" directive. 18706</para> 18707</change> 18708 18709<change type="feature"> 18710<para lang="ru"> 18711модуль ngx_http_gzip_static_module. 18712</para> 18713<para lang="en"> 18714the ngx_http_gzip_static_module. 18715</para> 18716</change> 18717 18718<change type="feature"> 18719<para lang="ru"> 18720директива gzip_disable. 18721</para> 18722<para lang="en"> 18723the "gzip_disable" directive. 18724</para> 18725</change> 18726 18727<change type="feature"> 18728<para lang="ru"> 18729директиву memcached_pass можно использовать внутри блока if. 18730</para> 18731<para lang="en"> 18732the "memcached_pass" directive may be used inside the "if" block. 18733</para> 18734</change> 18735 18736<change type="bugfix"> 18737<para lang="ru"> 18738если внутри одного location'а использовались директивы "memcached_pass" и "if", 18739то в рабочем процессе происходил segmentation fault. 18740</para> 18741<para lang="en"> 18742a segmentation fault occurred in worker process, 18743if the "memcached_pass" and "if" directives were used in the same location. 18744</para> 18745</change> 18746 18747<change type="bugfix"> 18748<para lang="ru"> 18749если при использовании директивы satisfy_any on" были заданы директивы 18750не всех модулей доступа, то заданные директивы не проверялись. 18751</para> 18752<para lang="en"> 18753if a "satisfy_any on" directive was used and not all access and auth modules 18754directives were set, then other given access and auth directives 18755were not tested; 18756</para> 18757</change> 18758 18759<change type="bugfix"> 18760<para lang="ru"> 18761параметры, заданные регулярным выражением в директиве valid_referers, 18762не наследовалась с предыдущего уровня. 18763</para> 18764<para lang="en"> 18765regex parameters in a "valid_referers" directive were not inherited 18766from previous level. 18767</para> 18768</change> 18769 18770<change type="bugfix"> 18771<para lang="ru"> 18772директива post_action не работала, если запрос завершался с кодом 499. 18773</para> 18774<para lang="en"> 18775a "post_action" directive did run if a request was completed 18776with 499 status code. 18777</para> 18778</change> 18779 18780<change type="bugfix"> 18781<para lang="ru"> 18782оптимизация использования 16K буфера для SSL-соединения.<br/> 18783Спасибо Ben Maurer. 18784</para> 18785<para lang="en"> 18786optimization of 16K buffer usage in a SSL connection.<br/> 18787Thanks to Ben Maurer. 18788</para> 18789</change> 18790 18791<change type="bugfix"> 18792<para lang="ru"> 18793STARTTLS в режиме SMTP не работал.<br/> 18794Спасибо Олегу Мотиенко. 18795</para> 18796<para lang="en"> 18797the STARTTLS in SMTP mode did not work.<br/> 18798Thanks to Oleg Motienko. 18799</para> 18800</change> 18801 18802<change type="bugfix"> 18803<para lang="ru"> 18804при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 18805ошибка появилась в 0.5.13. 18806</para> 18807<para lang="en"> 18808in HTTPS mode requests might fail with the "bad write retry" error; 18809the bug had appeared in 0.5.13. 18810</para> 18811</change> 18812 18813</changes> 18814 18815 18816<changes ver="0.6.22" date="2007-12-19"> 18817 18818<change type="change"> 18819<para lang="ru"> 18820теперь все методы модуля ngx_http_perl_module 18821возвращают значения, скопированные в память, выделенную perl'ом. 18822</para> 18823<para lang="en"> 18824now all ngx_http_perl_module methods return values copied to perl's 18825allocated memory. 18826</para> 18827</change> 18828 18829<change type="bugfix"> 18830<para lang="ru"> 18831если nginx был собран с модулем ngx_http_perl_module, 18832использовался perl до версии 5.8.6 и perl поддерживал потоки, 18833то во время переконфигурации основной процесс аварийно выходил; 18834ошибка появилась в 0.5.9.<br/> 18835Спасибо Борису Жмурову. 18836</para> 18837<para lang="en"> 18838if nginx was built with ngx_http_perl_module, 18839the perl before 5.8.6 was used, and perl supported threads, 18840then during reconfiguration the master process aborted; 18841the bug had appeared in 0.5.9.<br/> 18842Thanks to Boris Zhmurov. 18843</para> 18844</change> 18845 18846<change type="bugfix"> 18847<para lang="ru"> 18848в методы модуля ngx_http_perl_module 18849могли передаваться неверные результаты выделения в регулярных выражениях. 18850</para> 18851<para lang="en"> 18852the ngx_http_perl_module methods may get invalid values of the regex captures. 18853</para> 18854</change> 18855 18856<change type="bugfix"> 18857<para lang="ru"> 18858если метод $r->has_request_body() вызывался для запроса, 18859у которого небольшое тело запроса было уже полностью получено, 18860то в рабочем процессе происходил segmentation fault. 18861</para> 18862<para lang="en"> 18863a segmentation fault occurred in worker process, 18864if the $r->has_request_body() method was called for a request 18865whose small request body was already received. 18866</para> 18867</change> 18868 18869<change type="bugfix"> 18870<para lang="ru"> 18871large_client_header_buffers не освобождались перед переходом в состояние 18872keep-alive.<br/> 18873Спасибо Олександру Штепе. 18874</para> 18875<para lang="en"> 18876large_client_header_buffers did not freed before going to keep-alive state.<br/> 18877Thanks to Olexander Shtepa. 18878</para> 18879</change> 18880 18881<change type="bugfix"> 18882<para lang="ru"> 18883в переменной $upstream_addr не записывался последний адрес; 18884ошибка появилась в 0.6.18. 18885</para> 18886<para lang="en"> 18887the last address was missed in the $upstream_addr variable; 18888the bug had appeared in 0.6.18. 18889</para> 18890</change> 18891 18892<change type="bugfix"> 18893<para lang="ru"> 18894директива fastcgi_catch_stderr не возвращала ошибку; 18895теперь она возвращает ошибку 502, которую можно направить на следующий сервер 18896с помощью "fastcgi_next_upstream invalid_header". 18897</para> 18898<para lang="en"> 18899the "fastcgi_catch_stderr" directive did return error code; 18900now it returns 502 code, that can be rerouted to a next server using 18901the "fastcgi_next_upstream invalid_header" directive. 18902</para> 18903</change> 18904 18905<change type="bugfix"> 18906<para lang="ru"> 18907при использовании директивы fastcgi_catch_stderr 18908в основном процессе происходил segmentation fault; 18909ошибка появилась в 0.6.10.<br/> 18910Спасибо Manlio Perillo. 18911</para> 18912<para lang="en"> 18913a segmentation fault occurred in master process 18914if the "fastcgi_catch_stderr" directive was used; 18915the bug had appeared in 0.6.10.<br/> 18916Thanks to Manlio Perillo. 18917</para> 18918</change> 18919 18920</changes> 18921 18922 18923<changes ver="0.6.21" date="2007-12-03"> 18924 18925<change type="change"> 18926<para lang="ru"> 18927если в значениях переменных директивы proxy_pass используются 18928только IP-адреса, то указывать resolver не нужно. 18929</para> 18930<para lang="en"> 18931if variable values used in a "proxy_pass" directive contain IP-addresses only, 18932then a "resolver" directive is not mandatory. 18933</para> 18934</change> 18935 18936<change type="bugfix"> 18937<para lang="ru"> 18938при использовании директивы proxy_pass c URI-частью 18939в рабочем процессе мог произойти segmentation fault; 18940ошибка появилась в 0.6.19. 18941</para> 18942<para lang="en"> 18943a segmentation fault might occur in worker process 18944if a "proxy_pass" directive with URI-part was used; 18945the bug had appeared in 0.6.19. 18946</para> 18947</change> 18948 18949<change type="bugfix"> 18950<para lang="ru"> 18951если resolver использовался на платформах, не поддерживающих метод kqueue, 18952то nginx выдавал alert "name is out of response".<br/> 18953Спасибо Андрею Нигматулину. 18954</para> 18955<para lang="en"> 18956if resolver was used on platform that does not support kqueue, 18957then nginx issued an alert "name is out of response".<br/> 18958Thanks to Andrei Nigmatulin. 18959</para> 18960</change> 18961 18962<change type="bugfix"> 18963<para lang="ru"> 18964При использовании переменной $server_protocol в FastCGI-параметрах 18965и запросе, длина которого была близка к значению директивы 18966client_header_buffer_size, 18967nginx выдавал alert "fastcgi: the request record is too big". 18968</para> 18969<para lang="en"> 18970if the $server_protocol was used in FastCGI parameters 18971and a request line length was near to the "client_header_buffer_size" 18972directive value, 18973then nginx issued an alert "fastcgi: the request record is too big". 18974</para> 18975</change> 18976 18977<change type="bugfix"> 18978<para lang="ru"> 18979при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал 18980обычный ответ. 18981</para> 18982<para lang="en"> 18983if a plain text HTTP/0.9 version request was made to HTTPS server, 18984then nginx returned usual response. 18985</para> 18986</change> 18987 18988</changes> 18989 18990 18991<changes ver="0.6.20" date="2007-11-28"> 18992 18993<change type="bugfix"> 18994<para lang="ru"> 18995при использовании директивы proxy_pass c URI-частью 18996в рабочем процессе мог произойти segmentation fault; 18997ошибка появилась в 0.6.19. 18998</para> 18999<para lang="en"> 19000a segmentation fault might occur in worker process 19001if a "proxy_pass" directive with URI-part was used; 19002the bug had appeared in 0.6.19. 19003</para> 19004</change> 19005 19006</changes> 19007 19008 19009<changes ver="0.6.19" date="2007-11-27"> 19010 19011<change type="bugfix"> 19012<para lang="ru"> 19013версия 0.6.18 не собиралась. 19014</para> 19015<para lang="en"> 19016the 0.6.18 version could not be built. 19017</para> 19018</change> 19019 19020</changes> 19021 19022<changes ver="0.6.18" date="2007-11-27"> 19023 19024<change type="change"> 19025<para lang="ru"> 19026теперь модуль ngx_http_userid_module в поле куки с номером процесса 19027добавляет микросекунды на время старта. 19028</para> 19029<para lang="en"> 19030now the ngx_http_userid_module adds start time microseconds 19031to the cookie field contains a pid value. 19032</para> 19033</change> 19034 19035<change type="change"> 19036<para lang="ru"> 19037в error_log теперь записывается полная строка запроса вместо только URI. 19038</para> 19039<para lang="en"> 19040now the full request line instead of URI only is written to error_log. 19041</para> 19042</change> 19043 19044<change type="feature"> 19045<para lang="ru"> 19046директива proxy_pass поддерживает переменные. 19047</para> 19048<para lang="en"> 19049variables support in the "proxy_pass" directive. 19050</para> 19051</change> 19052 19053<change type="feature"> 19054<para lang="ru"> 19055директивы resolver и resolver_timeout. 19056</para> 19057<para lang="en"> 19058the "resolver" and "resolver_timeout" directives. 19059</para> 19060</change> 19061 19062<change type="feature"> 19063<para lang="ru"> 19064теперь директива "add_header last-modified ''" удаляет в заголовке ответа 19065строку "Last-Modified". 19066</para> 19067<para lang="en"> 19068now the directive "add_header last-modified ''" deletes a "Last-Modified" 19069response header line. 19070</para> 19071</change> 19072 19073<change type="bugfix"> 19074<para lang="ru"> 19075директива limit_rate не позволяла передавать на полной скорости, 19076даже если был указан очень большой лимит. 19077</para> 19078<para lang="en"> 19079the "limit_rate" directive did not allow to use full throughput, 19080even if limit value was very high. 19081</para> 19082</change> 19083 19084</changes> 19085 19086 19087<changes ver="0.6.17" date="2007-11-15"> 19088 19089<change type="feature"> 19090<para lang="ru"> 19091поддержка строки "If-Range" в заголовке запроса.<br/> 19092Спасибо Александру Инюхину. 19093</para> 19094<para lang="en"> 19095the "If-Range" request header line support.<br/> 19096Thanks to Alexander V. Inyukhin. 19097</para> 19098</change> 19099 19100<change type="bugfix"> 19101<para lang="ru"> 19102при использовании директивы msie_refresh повторно экранировались 19103уже экранированные символы; 19104ошибка появилась в 0.6.4. 19105</para> 19106<para lang="en"> 19107URL double escaping in a redirect of the "msie_refresh" directive; 19108the bug had appeared in 0.6.4. 19109</para> 19110</change> 19111 19112<change type="bugfix"> 19113<para lang="ru"> 19114директива autoindex не работала при использовании "alias /". 19115</para> 19116<para lang="en"> 19117the "autoindex" directive did not work with the "alias /" directive. 19118</para> 19119</change> 19120 19121<change type="bugfix"> 19122<para lang="ru"> 19123при использовании подзапросов 19124в рабочем процессе мог произойти segmentation fault. 19125</para> 19126<para lang="en"> 19127a segmentation fault might occur in worker process if subrequests were used. 19128</para> 19129</change> 19130 19131<change type="bugfix"> 19132<para lang="ru"> 19133при использовании SSL и gzip большие ответы могли передаваться не полностью. 19134</para> 19135<para lang="en"> 19136the big responses may be transferred truncated if SSL and gzip were used. 19137</para> 19138</change> 19139 19140<change type="bugfix"> 19141<para lang="ru"> 19142если ответ проксированного сервера был версии HTTP/0.9, 19143то переменная $status была равна 0. 19144</para> 19145<para lang="en"> 19146the $status variable was equal to 0 if a proxied server returned response 19147in HTTP/0.9 version. 19148</para> 19149</change> 19150 19151</changes> 19152 19153 19154<changes ver="0.6.16" date="2007-10-29"> 19155 19156<change type="change"> 19157<para lang="ru"> 19158теперь на Linux используется uname(2) вместо procfs.<br/> 19159Спасибо Илье Новикову. 19160</para> 19161<para lang="en"> 19162now the uname(2) is used on Linux instead of procfs.<br/> 19163Thanks to Ilya Novikov. 19164</para> 19165</change> 19166 19167<change type="bugfix"> 19168<para lang="ru"> 19169если в директиве error_page использовался символ "?", то он экранировался 19170при проксировании запроса; 19171ошибка появилась в 0.6.11. 19172</para> 19173<para lang="en"> 19174if the "?" character was in a "error_page" directive, then it was escaped 19175in a proxied request; 19176the bug had appeared in 0.6.11. 19177</para> 19178</change> 19179 19180<change type="bugfix"> 19181<para lang="ru"> 19182совместимость с mget. 19183</para> 19184<para lang="en"> 19185compatibility with mget. 19186</para> 19187</change> 19188 19189</changes> 19190 19191 19192<changes ver="0.6.15" date="2007-10-22"> 19193 19194<change type="feature"> 19195<para lang="ru"> 19196совместимость с Cygwin.<br/> 19197Спасибо Владимиру Кутакову. 19198</para> 19199<para lang="en"> 19200Cygwin compatibility.<br/> 19201Thanks to Vladimir Kutakov. 19202</para> 19203</change> 19204 19205<change type="feature"> 19206<para lang="ru"> 19207директива merge_slashes. 19208</para> 19209<para lang="en"> 19210the "merge_slashes" directive. 19211</para> 19212</change> 19213 19214<change type="feature"> 19215<para lang="ru"> 19216директива gzip_vary. 19217</para> 19218<para lang="en"> 19219the "gzip_vary" directive. 19220</para> 19221</change> 19222 19223<change type="feature"> 19224<para lang="ru"> 19225директива server_tokens. 19226</para> 19227<para lang="en"> 19228the "server_tokens" directive. 19229</para> 19230</change> 19231 19232<change type="bugfix"> 19233<para lang="ru"> 19234nginx не раскодировал URI в команде SSI include. 19235</para> 19236<para lang="en"> 19237nginx did not unescape URI in the "include" SSI command. 19238</para> 19239</change> 19240 19241<change type="bugfix"> 19242<para lang="ru"> 19243при использовании переменной в директивах charset или source_charset 19244на старте или во время переконфигурации происходил segmentation fault, 19245</para> 19246<para lang="en"> 19247the segmentation fault was occurred on start or while reconfiguration 19248if variable was used in the "charset" or "source_charset" directives. 19249</para> 19250</change> 19251 19252<change type="bugfix"> 19253<para lang="ru"> 19254nginx возвращал ошибку 400 на запросы вида 19255<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 19256Спасибо James Oakley. 19257</para> 19258<para lang="en"> 19259nginx returned the 400 response on requests like 19260<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 19261Thanks to James Oakley. 19262</para> 19263</change> 19264 19265<change type="bugfix"> 19266<para lang="ru"> 19267после перенаправления запроса с телом запроса с помощью директивы 19268error_page nginx пытался снова прочитать тело запроса; 19269ошибка появилась в 0.6.7. 19270</para> 19271<para lang="en"> 19272if request with request body was redirected using the "error_page" directive, 19273then nginx tried to read the request body again; 19274the bug had appeared in 0.6.7. 19275</para> 19276</change> 19277 19278<change type="bugfix"> 19279<para lang="ru"> 19280в рабочем процессе происходил segmentation fault, если у сервера, 19281обрабатывающему запрос, не был явно определён server_name; 19282ошибка появилась в 0.6.7. 19283</para> 19284<para lang="en"> 19285a segmentation fault occurred in worker process 19286if no server_name was explicitly defined for server processing request; 19287the bug had appeared in 0.6.7. 19288</para> 19289</change> 19290 19291</changes> 19292 19293 19294<changes ver="0.6.14" date="2007-10-15"> 19295 19296<change type="change"> 19297<para lang="ru"> 19298теперь по умолчанию команда SSI echo использует кодирование entity. 19299</para> 19300<para lang="en"> 19301now by default the "echo" SSI command uses entity encoding. 19302</para> 19303</change> 19304 19305<change type="feature"> 19306<para lang="ru"> 19307параметр encoding в команде SSI echo. 19308</para> 19309<para lang="en"> 19310the "encoding" parameter in the "echo" SSI command. 19311</para> 19312</change> 19313 19314<change type="feature"> 19315<para lang="ru"> 19316директиву access_log можно использовать внутри блока limit_except. 19317</para> 19318<para lang="en"> 19319the "access_log" directive may be used inside the "limit_except" block. 19320</para> 19321</change> 19322 19323<change type="bugfix"> 19324<para lang="ru"> 19325если все сервера апстрима оказывались недоступными, 19326то до восстановления работоспособности 19327у всех серверов вес становился равным одному; 19328ошибка появилась в 0.6.6. 19329</para> 19330<para lang="en"> 19331if all upstream servers were failed, then all servers had got weight 19332the was equal one until servers became alive; 19333the bug had appeared in 0.6.6. 19334</para> 19335</change> 19336 19337<change type="bugfix"> 19338<para lang="ru"> 19339при использовании переменных $date_local и $date_gmt вне модуля 19340ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault. 19341</para> 19342<para lang="en"> 19343a segmentation fault occurred in worker process 19344if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. 19345</para> 19346</change> 19347 19348<change type="bugfix"> 19349<para lang="ru"> 19350при использовании включённом отладочном логе 19351в рабочем процессе мог произойти segmentation fault.<br/> 19352Спасибо Андрею Нигматулину. 19353</para> 19354<para lang="en"> 19355a segmentation fault might occur in worker process 19356if debug log was enabled.<br/> 19357Thanks to Andrei Nigmatulin. 19358</para> 19359</change> 19360 19361<change type="bugfix"> 19362<para lang="ru"> 19363ngx_http_memcached_module не устанавливал $upstream_response_time.<br/> 19364Спасибо Максиму Дунину. 19365</para> 19366<para lang="en"> 19367ngx_http_memcached_module did not set $upstream_response_time.<br/> 19368Thanks to Maxim Dounin. 19369</para> 19370</change> 19371 19372<change type="bugfix"> 19373<para lang="ru"> 19374рабочий процесс мог зациклиться при использовании memcached. 19375</para> 19376<para lang="en"> 19377a worker process may got caught in an endless loop, if the memcached was used. 19378</para> 19379</change> 19380 19381<change type="bugfix"> 19382<para lang="ru"> 19383nginx распознавал параметры "close" и "keep-alive" в строке "Connection" 19384в заголовке запроса только, если они были в нижнем регистре; 19385ошибка появилась в 0.6.11. 19386</para> 19387<para lang="en"> 19388nginx supported low case only "close" and "keep-alive" values 19389in the "Connection" request header line; 19390the bug had appeared in 0.6.11. 19391</para> 19392</change> 19393 19394<change type="bugfix"> 19395<para lang="ru"> 19396sub_filter не работал с пустой строкой замены. 19397</para> 19398<para lang="en"> 19399sub_filter did not work with empty substitution. 19400</para> 19401</change> 19402 19403<change type="bugfix"> 19404<para lang="ru"> 19405в парсинге sub_filter. 19406</para> 19407<para lang="en"> 19408in sub_filter parsing. 19409</para> 19410</change> 19411 19412</changes> 19413 19414 19415<changes ver="0.6.13" date="2007-09-24"> 19416 19417<change type="bugfix"> 19418<para lang="ru"> 19419nginx не закрывал файл каталога для запроса HEAD, 19420если использовался autoindex<br/> 19421Спасибо Arkadiusz Patyk. 19422</para> 19423<para lang="en"> 19424nginx did not close directory file on HEAD request if autoindex was used.<br/> 19425Thanks to Arkadiusz Patyk. 19426</para> 19427</change> 19428 19429</changes> 19430 19431 19432<changes ver="0.6.12" date="2007-09-21"> 19433 19434<change type="change"> 19435<para lang="ru"> 19436почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp. 19437</para> 19438<para lang="en"> 19439mail proxy was split on three modules: pop3, imap and smtp. 19440</para> 19441</change> 19442 19443<change type="feature"> 19444<para lang="ru"> 19445параметры конфигурации --without-mail_pop3_module, 19446--without-mail_imap_module и --without-mail_smtp_module. 19447</para> 19448<para lang="en"> 19449the --without-mail_pop3_module, --without-mail_imap_module, 19450and --without-mail_smtp_module configuration parameters. 19451</para> 19452</change> 19453 19454<change type="feature"> 19455<para lang="ru"> 19456директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module. 19457</para> 19458<para lang="en"> 19459the "smtp_greeting_delay" and "smtp_client_buffer" directives 19460of the ngx_mail_smtp_module. 19461</para> 19462</change> 19463 19464<change type="bugfix"> 19465<para lang="ru"> 19466wildcard в конце имени сервера не работали; 19467ошибка появилась в 0.6.9. 19468</para> 19469<para lang="en"> 19470the trailing wildcards did not work; 19471the bug had appeared in 0.6.9. 19472</para> 19473</change> 19474 19475<change type="bugfix"> 19476<para lang="ru"> 19477при использовании разделяемой библиотеки PCRE, 19478расположенной в нестандартном месте, nginx не запускался на Solaris. 19479</para> 19480<para lang="en"> 19481nginx could not start on Solaris if the shared PCRE library located 19482in non-standard place was used. 19483</para> 19484</change> 19485 19486<change type="bugfix"> 19487<para lang="ru"> 19488директивы proxy_hide_header и fastcgi_hide_header не скрывали 19489строки заголовка ответа с именем больше 32 символов.<br/> 19490Спасибо Manlio Perillo. 19491</para> 19492<para lang="en"> 19493the "proxy_hide_header" and "fastcgi_hide_header" directives did not 19494hide response header lines whose name was longer than 32 characters.<br/> 19495Thanks to Manlio Perillo. 19496</para> 19497</change> 19498 19499</changes> 19500 19501 19502<changes ver="0.6.11" date="2007-09-11"> 19503 19504<change type="bugfix"> 19505<para lang="ru"> 19506счётчик активных соединений всегда рос при использовании почтового 19507прокси-сервера. 19508</para> 19509<para lang="en"> 19510active connection counter always increased if mail proxy was used. 19511</para> 19512</change> 19513 19514<change type="bugfix"> 19515<para lang="ru"> 19516если бэкенд возвращал только заголовок ответа при небуферизированном 19517проксировании, то nginx закрывал соединение с бэкендом по таймауту. 19518</para> 19519<para lang="en"> 19520if backend returned response header only using non-buffered proxy, 19521then nginx closed backend connection on timeout. 19522</para> 19523</change> 19524 19525<change type="bugfix"> 19526<para lang="ru"> 19527nginx не поддерживал несколько строк "Connection" в заголовке запроса. 19528</para> 19529<para lang="en"> 19530nginx did not support several "Connection" request header lines. 19531</para> 19532</change> 19533 19534<change type="bugfix"> 19535<para lang="ru"> 19536если в сервере апстрима был задан max_fails, то после первой же неудачной 19537попытки вес сервера навсегда становился равным одному; 19538ошибка появилась в 0.6.6. 19539</para> 19540<para lang="en"> 19541if the "max_fails" was set for upstream server, then after first 19542failure server weight was always one; 19543the bug had appeared in 0.6.6. 19544</para> 19545</change> 19546 19547</changes> 19548 19549 19550<changes ver="0.6.10" date="2007-09-03"> 19551 19552<change type="feature"> 19553<para lang="ru"> 19554директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. 19555</para> 19556<para lang="en"> 19557the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" 19558directives. 19559</para> 19560</change> 19561 19562<change type="bugfix"> 19563<para lang="ru"> 19564утечки сокетов; 19565ошибка появилась в 0.6.7. 19566</para> 19567<para lang="en"> 19568socket leak; 19569the bug had appeared in 0.6.7. 19570</para> 19571</change> 19572 19573<change type="bugfix"> 19574<para lang="ru"> 19575В строку заголовка ответа "Content-Type", указанную в методе 19576$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset. 19577</para> 19578<para lang="en"> 19579a charset set by the "charset" directive was not appended 19580to the "Content-Type" header set by $r->send_http_header(). 19581</para> 19582</change> 19583 19584<change type="bugfix"> 19585<para lang="ru"> 19586при использовании метода /dev/poll 19587в рабочем процессе мог произойти segmentation fault. 19588</para> 19589<para lang="en"> 19590a segmentation fault might occur in worker process 19591if /dev/poll method was used. 19592</para> 19593</change> 19594 19595</changes> 19596 19597 19598<changes ver="0.6.9" date="2007-08-28"> 19599 19600<change type="bugfix"> 19601<para lang="ru"> 19602рабочий процесс мог зациклиться при использовании протокола HTTPS; 19603ошибка появилась в 0.6.7. 19604</para> 19605<para lang="en"> 19606a worker process may got caught in an endless loop, 19607if the HTTPS protocol was used; 19608the bug had appeared in 0.6.7. 19609</para> 19610</change> 19611 19612<change type="bugfix"> 19613<para lang="ru"> 19614если сервер слушал на двух адресах или портах, то nginx не запускался 19615при использовании wildcard в конце имени сервера. 19616</para> 19617<para lang="en"> 19618if server listened on two addresses or ports and trailing wildcard was used, 19619then nginx did not run. 19620</para> 19621</change> 19622 19623<change type="bugfix"> 19624<para lang="ru"> 19625директива ip_hash могла неверно помечать сервера как нерабочие. 19626</para> 19627<para lang="en"> 19628the "ip_hash" directive might incorrectly mark servers as down. 19629</para> 19630</change> 19631 19632<change type="bugfix"> 19633<para lang="ru"> 19634nginx не собирался на amd64; 19635ошибка появилась в 0.6.8. 19636</para> 19637<para lang="en"> 19638nginx could not be built on amd64; 19639the bug had appeared in 0.6.8. 19640</para> 19641</change> 19642 19643</changes> 19644 19645 19646<changes ver="0.6.8" date="2007-08-20"> 19647 19648<change type="change"> 19649<para lang="ru"> 19650теперь nginx пытается установить директивы worker_priority, 19651worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending 19652без привилегий root'а. 19653</para> 19654<para lang="en"> 19655now nginx tries to set the "worker_priority", "worker_rlimit_nofile", 19656"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user 19657privileges. 19658</para> 19659</change> 19660 19661<change type="change"> 19662<para lang="ru"> 19663теперь nginx экранирует символы пробела и "%" при передаче запроса 19664серверу аутентификации почтового прокси-сервера. 19665</para> 19666<para lang="en"> 19667now nginx escapes space and "%" in request to a mail proxy authentication 19668server. 19669</para> 19670</change> 19671 19672<change type="change"> 19673<para lang="ru"> 19674теперь nginx экранирует символ "%" в переменной $memcached_key. 19675</para> 19676<para lang="en"> 19677now nginx escapes "%" in $memcached_key variable. 19678</para> 19679</change> 19680 19681<change type="bugfix"> 19682<para lang="ru"> 19683при указании относительного пути к конфигурационному файлу в качестве 19684параметра ключа -c nginx определял путь относительно конфигурационного префикса; 19685ошибка появилась в 0.6.6. 19686</para> 19687<para lang="en"> 19688nginx used path relative to configuration prefix for non-absolute 19689configuration file path specified in the "-c" key; 19690the bug had appeared in 0.6.6. 19691</para> 19692</change> 19693 19694<change type="bugfix"> 19695<para lang="ru"> 19696nginx не работал на FreeBSD/sparc64. 19697</para> 19698<para lang="en"> 19699nginx did not work on FreeBSD/sparc64. 19700</para> 19701</change> 19702 19703</changes> 19704 19705 19706<changes ver="0.6.7" date="2007-08-15"> 19707 19708<change type="change"> 19709<para lang="ru"> 19710теперь пути, указанные в директивах include, auth_basic_user_file, 19711perl_modules, ssl_certificate, ssl_certificate_key и 19712ssl_client_certificate, определяются относительно каталога конфигурационного 19713файла nginx.conf, а не относительно префикса. 19714</para> 19715<para lang="en"> 19716now the paths specified in the "include", "auth_basic_user_file", 19717"perl_modules", "ssl_certificate", "ssl_certificate_key", and 19718"ssl_client_certificate" directives are relative to directory of 19719nginx configuration file nginx.conf, but not to nginx prefix directory. 19720</para> 19721</change> 19722 19723<change type="change"> 19724<para lang="ru"> 19725параметр --sysconfdir=PATH в configure упразднён. 19726</para> 19727<para lang="en"> 19728the --sysconfdir=PATH option in configure was canceled. 19729</para> 19730</change> 19731 19732<change type="change"> 19733<para lang="ru"> 19734для обновления на лету версий 0.1.x создан специальный сценарий 19735<nobr>make upgrade1.</nobr> 19736</para> 19737<para lang="en"> 19738the special make target "upgrade1" was defined for online upgrade of 197390.1.x versions. 19740</para> 19741</change> 19742 19743<change type="feature"> 19744<para lang="ru"> 19745директивы server_name и valid_referers поддерживают регулярные выражения. 19746</para> 19747<para lang="en"> 19748the "server_name" and "valid_referers" directives support regular expressions. 19749</para> 19750</change> 19751 19752<change type="feature"> 19753<para lang="ru"> 19754директива server в блоке upstream поддерживает параметр backup. 19755</para> 19756<para lang="en"> 19757the "server" directive in the "upstream" context supports 19758the "backup" parameter. 19759</para> 19760</change> 19761 19762<change type="feature"> 19763<para lang="ru"> 19764модуль ngx_http_perl_module поддерживает метод $r->discard_request_body. 19765</para> 19766<para lang="en"> 19767the ngx_http_perl_module supports the $r->discard_request_body. 19768</para> 19769</change> 19770 19771<change type="feature"> 19772<para lang="ru"> 19773директива "add_header Last-Modified ..." меняет строку "Last-Modified" 19774в заголовке ответа. 19775</para> 19776<para lang="en"> 19777the "add_header Last-Modified ..." directive changes the "Last-Modified" 19778response header line. 19779</para> 19780</change> 19781 19782<change type="bugfix"> 19783<para lang="ru"> 19784если на запрос с телом возвращался ответ с кодом HTTP отличным от 200, 19785и после этого запроса соединение переходило в состояние keep-alive, 19786то на следующий запрос nginx возвращал 400. 19787</para> 19788<para lang="en"> 19789if a response different than 200 was returned to a request with body 19790and connection went to the keep-alive state after the request, then 19791nginx returned 400 for the next request. 19792</para> 19793</change> 19794 19795<change type="bugfix"> 19796<para lang="ru"> 19797если в директиве auth_http был задан неправильный адрес, то 19798в рабочем процессе происходил segmentation fault. 19799</para> 19800<para lang="en"> 19801a segmentation fault occurred in worker process 19802if invalid address was set in the "auth_http" directive. 19803</para> 19804</change> 19805 19806<change type="bugfix"> 19807<para lang="ru"> 19808теперь по умолчанию nginx использует значение 511 для listen backlog 19809на всех платформах, кроме FreeBSD.<br/> 19810Спасибо Jiang Hong. 19811</para> 19812<para lang="en"> 19813now nginx uses default listen backlog value 511 on all platforms 19814except FreeBSD.<br/> 19815Thanks to Jiang Hong. 19816</para> 19817</change> 19818 19819<change type="bugfix"> 19820<para lang="ru"> 19821рабочий процесс мог зациклиться, если server в блоке upstream был помечен 19822как down; 19823ошибка появилась в 0.6.6. 19824</para> 19825<para lang="en"> 19826a worker process may got caught in an endless loop, if a "server" inside 19827"upstream" block was marked as "down"; 19828the bug had appeared in 0.6.6. 19829</para> 19830</change> 19831 19832<change type="bugfix"> 19833<para lang="ru"> 19834sendfilev() в Solaris теперь не используется при передаче тела запроса 19835FastCGI-серверу через unix domain сокет. 19836</para> 19837<para lang="en"> 19838now Solaris sendfilev() is not used to transfer the client request body 19839to FastCGI-server via the unix domain socket. 19840</para> 19841</change> 19842 19843</changes> 19844 19845 19846<changes ver="0.6.6" date="2007-07-30"> 19847 19848<change type="feature"> 19849<para lang="ru"> 19850параметр --sysconfdir=PATH в configure. 19851</para> 19852<para lang="en"> 19853the --sysconfdir=PATH option in configure. 19854</para> 19855</change> 19856 19857<change type="feature"> 19858<para lang="ru"> 19859именованные location'ы. 19860</para> 19861<para lang="en"> 19862named locations. 19863</para> 19864</change> 19865 19866<change type="feature"> 19867<para lang="ru"> 19868переменную $args можно устанавливать с помощью set. 19869</para> 19870<para lang="en"> 19871the $args variable can be set with the "set" directive. 19872</para> 19873</change> 19874 19875<change type="feature"> 19876<para lang="ru"> 19877переменная $is_args. 19878</para> 19879<para lang="en"> 19880the $is_args variable. 19881</para> 19882</change> 19883 19884<change type="bugfix"> 19885<para lang="ru"> 19886равномерное распределение запросов к апстримам с большими весами. 19887</para> 19888<para lang="en"> 19889fair big weight upstream balancer. 19890</para> 19891</change> 19892 19893<change type="bugfix"> 19894<para lang="ru"> 19895если клиент в почтовом прокси-сервере закрывал соединение, 19896то nginx мог не закрывать соединение с бэкендом. 19897</para> 19898<para lang="en"> 19899if a client has closed connection to mail proxy 19900 then nginx might not close connection to backend. 19901</para> 19902</change> 19903 19904<change type="bugfix"> 19905<para lang="ru"> 19906при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS 19907без явного указания портов, nginx использовал только один порт—80 или 443. 19908</para> 19909<para lang="en"> 19910if the same host without specified port was used as backend for HTTP and HTTPS, 19911then nginx used only one port—80 or 443. 19912</para> 19913</change> 19914 19915<change type="bugfix"> 19916<para lang="ru"> 19917nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями; 19918ошибка появилась в 0.6.4. 19919</para> 19920<para lang="en"> 19921fix building on Solaris/amd64 by Sun Studio 11 and early versions; 19922the bug had appeared in 0.6.4. 19923</para> 19924</change> 19925 19926</changes> 19927 19928 19929<changes ver="0.6.5" date="2007-07-23"> 19930 19931<change type="feature"> 19932<para lang="ru"> 19933переменная $nginx_version.<br/> 19934Спасибо Николаю Гречуху. 19935</para> 19936<para lang="en"> 19937$nginx_version variable.<br/> 19938Thanks to Nick S. Grechukh. 19939</para> 19940</change> 19941 19942<change type="feature"> 19943<para lang="ru"> 19944почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/> 19945Спасибо Максиму Дунину. 19946</para> 19947<para lang="en"> 19948the mail proxy supports AUTHENTICATE in IMAP mode.<br/> 19949Thanks to Maxim Dounin. 19950</para> 19951</change> 19952 19953<change type="feature"> 19954<para lang="ru"> 19955почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/> 19956Спасибо Максиму Дунину. 19957</para> 19958<para lang="en"> 19959the mail proxy supports STARTTLS in SMTP mode.<br/> 19960Thanks to Maxim Dounin. 19961</para> 19962</change> 19963 19964<change type="bugfix"> 19965<para lang="ru"> 19966теперь nginx экранирует пробел в переменной $memcached_key. 19967</para> 19968<para lang="en"> 19969now nginx escapes space in $memcached_key variable. 19970</para> 19971</change> 19972 19973<change type="bugfix"> 19974<para lang="ru"> 19975nginx неправильно собирался Sun Studio на Solaris/amd64.<br/> 19976Спасибо Jiang Hong. 19977</para> 19978<para lang="en"> 19979nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/> 19980Thanks to Jiang Hong. 19981</para> 19982</change> 19983 19984<change type="bugfix"> 19985<para lang="ru"> 19986незначительных потенциальных ошибок.<br/> 19987Спасибо Coverity's Scan. 19988</para> 19989<para lang="en"> 19990of minor potential bugs.<br/> 19991Thanks to Coverity's Scan. 19992</para> 19993</change> 19994 19995</changes> 19996 19997 19998<changes ver="0.6.4" date="2007-07-17"> 19999 20000<change type="security"> 20001<para lang="ru"> 20002при использовании директивы msie_refresh был возможен XSS.<br/> 20003Спасибо Максиму Богуку. 20004</para> 20005<para lang="en"> 20006the "msie_refresh" directive allowed XSS.<br/> 20007Thanks to Maxim Boguk. 20008</para> 20009</change> 20010 20011<change type="change"> 20012<para lang="ru"> 20013директивы proxy_store и fastcgi_store изменены. 20014</para> 20015<para lang="en"> 20016the "proxy_store" and "fastcgi_store" directives were changed. 20017</para> 20018</change> 20019 20020<change type="feature"> 20021<para lang="ru"> 20022директивы proxy_store_access и fastcgi_store_access. 20023</para> 20024<para lang="en"> 20025the "proxy_store_access" and "fastcgi_store_access" directives. 20026</para> 20027</change> 20028 20029<change type="bugfix"> 20030<para lang="ru"> 20031nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 20032Спасибо Андрею Нигматулину. 20033</para> 20034<para lang="en"> 20035nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 20036Thanks to Andrei Nigmatulin. 20037</para> 20038</change> 20039 20040<change type="workaround"> 20041<para lang="ru"> 20042обход ошибки в Sun Studio 12.<br/> 20043Спасибо Jiang Hong. 20044</para> 20045<para lang="en"> 20046for Sun Studio 12.<br/> 20047Thanks to Jiang Hong. 20048</para> 20049</change> 20050 20051</changes> 20052 20053 20054<changes ver="0.6.3" date="2007-07-12"> 20055 20056<change type="feature"> 20057<para lang="ru"> 20058директивы proxy_store и fastcgi_store. 20059</para> 20060<para lang="en"> 20061the "proxy_store" and "fastcgi_store" directives. 20062</para> 20063</change> 20064 20065<change type="bugfix"> 20066<para lang="ru"> 20067при использовании директивы auth_http_header 20068в рабочем процессе мог произойти segmentation fault.<br/> 20069Спасибо Максиму Дунину. 20070</para> 20071<para lang="en"> 20072a segmentation fault might occur in worker process 20073if the "auth_http_header" directive was used.<br/> 20074Thanks to Maxim Dounin. 20075</para> 20076</change> 20077 20078<change type="bugfix"> 20079<para lang="ru"> 20080если использовался метод аутентификации CRAM-MD5, но он не был разрешён, 20081то в рабочем процессе происходил segmentation fault. 20082</para> 20083<para lang="en"> 20084a segmentation fault occurred in worker process 20085if the CRAM-MD5 authentication method was used, but it was not enabled. 20086</para> 20087</change> 20088 20089<change type="bugfix"> 20090<para lang="ru"> 20091при использовании протокола HTTPS в директиве proxy_pass 20092в рабочем процессе мог произойти segmentation fault. 20093</para> 20094<para lang="en"> 20095a segmentation fault might occur in worker process when 20096the HTTPS protocol was used in the "proxy_pass" directive. 20097</para> 20098</change> 20099 20100<change type="bugfix"> 20101<para lang="ru"> 20102в рабочем процессе мог произойти segmentation fault, 20103если использовался метод eventport. 20104</para> 20105<para lang="en"> 20106a segmentation fault might occur in worker process 20107if the eventport method was used. 20108</para> 20109</change> 20110 20111<change type="bugfix"> 20112<para lang="ru"> 20113директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали; 20114ошибка появилась в 0.5.13. 20115</para> 20116<para lang="en"> 20117the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives 20118did not work; 20119the bug had appeared in 0.5.13. 20120</para> 20121</change> 20122 20123</changes> 20124 20125 20126<changes ver="0.6.2" date="2007-07-09"> 20127 20128<change type="bugfix"> 20129<para lang="ru"> 20130если заголовок ответа был разделён в FastCGI-записях, то nginx передавал 20131клиенту мусор в таких заголовках. 20132</para> 20133<para lang="en"> 20134if the FastCGI header was split in records, 20135then nginx passed garbage in the header to a client. 20136</para> 20137</change> 20138 20139</changes> 20140 20141 20142<changes ver="0.6.1" date="2007-06-17"> 20143 20144<change type="bugfix"> 20145<para lang="ru"> 20146в парсинге SSI. 20147</para> 20148<para lang="en"> 20149in SSI parsing. 20150</para> 20151</change> 20152 20153<change type="bugfix"> 20154<para lang="ru"> 20155при использовании удалённого подзапроса в SSI последующий 20156подзапрос локального файла мог отдаваться клиенту в неверном порядке. 20157</para> 20158<para lang="en"> 20159if remote SSI subrequest was used, then posterior local file subrequest 20160might transferred to client in wrong order. 20161</para> 20162</change> 20163 20164<change type="bugfix"> 20165<para lang="ru"> 20166большие включения в SSI, сохранённые во временные файлы, 20167передавались не полностью. 20168</para> 20169<para lang="en"> 20170large SSI inclusions buffered in temporary files were truncated. 20171</para> 20172</change> 20173 20174<change type="bugfix"> 20175<para lang="ru"> 20176значение perl'овой переменной $$ модуля ngx_http_perl_module было равно 20177номеру главного процесса. 20178</para> 20179<para lang="en"> 20180the perl $$ variable value in ngx_http_perl_module was equal to the master 20181process identification number. 20182</para> 20183</change> 20184 20185</changes> 20186 20187 20188<changes ver="0.6.0" date="2007-06-14"> 20189 20190<change type="feature"> 20191<para lang="ru"> 20192директивы "server_name", "map", and "valid_referers" поддерживают 20193маски вида "www.example.*". 20194</para> 20195<para lang="en"> 20196the "server_name", "map", and "valid_referers" directives support 20197the "www.example.*" wildcards. 20198</para> 20199</change> 20200 20201</changes> 20202 20203 20204<changes ver="0.5.25" date="2007-06-11"> 20205 20206<change type="bugfix"> 20207<para lang="ru"> 20208nginx не собирался с параметром --without-http_rewrite_module; 20209ошибка появилась в 0.5.24. 20210</para> 20211<para lang="en"> 20212nginx could not be built with the --without-http_rewrite_module parameter; 20213the bug had appeared in 0.5.24. 20214</para> 20215</change> 20216 20217</changes> 20218 20219 20220<changes ver="0.5.24" date="2007-06-06"> 20221 20222<change type="security"> 20223<para lang="ru"> 20224директива ssl_verify_client не работала, если запрос выполнялся 20225по протоколу HTTP/0.9. 20226</para> 20227<para lang="en"> 20228the "ssl_verify_client" directive did not work if request was made 20229using HTTP/0.9. 20230</para> 20231</change> 20232 20233<change type="bugfix"> 20234<para lang="ru"> 20235при использовании сжатия часть ответа могла передаваться несжатой; 20236ошибка появилась в 0.5.23. 20237</para> 20238<para lang="en"> 20239a part of response body might be passed uncompressed if gzip was used; 20240the bug had appeared in 0.5.23. 20241</para> 20242</change> 20243 20244</changes> 20245 20246 20247<changes ver="0.5.23" date="2007-06-04"> 20248 20249<change type="feature"> 20250<para lang="ru"> 20251модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication. 20252</para> 20253<para lang="en"> 20254the ngx_http_ssl_module supports Server Name Indication TLS extension. 20255</para> 20256</change> 20257 20258<change type="feature"> 20259<para lang="ru"> 20260директива fastcgi_catch_stderr.<br/> 20261Спасибо Николаю Гречуху, проект OWOX. 20262</para> 20263<para lang="en"> 20264the "fastcgi_catch_stderr" directive.<br/> 20265Thanks to Nick S. Grechukh, OWOX project. 20266</para> 20267</change> 20268 20269<change type="bugfix"> 20270<para lang="ru"> 20271на Линуксе в основном процессе происходил segmentation fault, 20272если два виртуальных сервера должны bind()ится к пересекающимся портам. 20273</para> 20274<para lang="en"> 20275a segmentation fault occurred in master process if 20276two virtual servers should bind() to the overlapping ports. 20277</para> 20278</change> 20279 20280<change type="bugfix"> 20281<para lang="ru"> 20282если nginx был собран с модулем ngx_http_perl_module и perl 20283поддерживал потоки, то во время второй переконфигурации 20284выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 20285</para> 20286<para lang="en"> 20287if nginx was built with ngx_http_perl_module and perl supported threads, 20288then during second reconfiguration the error messages 20289"panic: MUTEX_LOCK" and "perl_parse() failed" were issued. 20290</para> 20291</change> 20292 20293<change type="bugfix"> 20294<para lang="ru"> 20295в использовании протокола HTTPS в директиве proxy_pass. 20296</para> 20297<para lang="en"> 20298in the HTTPS protocol in the "proxy_pass" directive. 20299</para> 20300</change> 20301 20302</changes> 20303 20304 20305<changes ver="0.5.22" date="2007-05-29"> 20306 20307<change type="bugfix"> 20308<para lang="ru"> 20309большое тело запроса могло не передаваться бэкенду; 20310ошибка появилась в 0.5.21. 20311</para> 20312<para lang="en"> 20313a big request body might not be passed to backend; 20314the bug had appeared in 0.5.21. 20315</para> 20316</change> 20317 20318</changes> 20319 20320 20321<changes ver="0.5.21" date="2007-05-28"> 20322 20323<change type="bugfix"> 20324<para lang="ru"> 20325если внутри сервера описано больше примерно десяти location'ов, 20326то location'ы, заданные с помощью регулярного выражения, 20327могли выполняться не в том, порядке, в каком они описаны. 20328</para> 20329<para lang="en"> 20330if server has more than about ten locations, then regex locations 20331might be chosen not in that order as they were specified. 20332</para> 20333</change> 20334 20335<change type="bugfix"> 20336<para lang="ru"> 20337на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий 20338по счёту или последующий бэкенд упал.<br/> 20339Спасибо Антону Поварову. 20340</para> 20341<para lang="en"> 20342a worker process may got caught in an endless loop on 64-bit platform, 20343if the 33-rd or next in succession backend has failed.<br/> 20344Thanks to Anton Povarov. 20345</para> 20346</change> 20347 20348<change type="bugfix"> 20349<para lang="ru"> 20350при использовании библиотеки PCRE на Solaris/sparc64 20351мог произойти bus error.<br/> 20352Спасибо Андрею Нигматулину. 20353</para> 20354<para lang="en"> 20355a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/> 20356Thanks to Andrei Nigmatulin. 20357</para> 20358</change> 20359 20360<change type="bugfix"> 20361<para lang="ru"> 20362в использовании протокола HTTPS в директиве proxy_pass. 20363</para> 20364<para lang="en"> 20365in the HTTPS protocol in the "proxy_pass" directive. 20366</para> 20367</change> 20368 20369</changes> 20370 20371 20372<changes ver="0.5.20" date="2007-05-07"> 20373 20374<change type="feature"> 20375<para lang="ru"> 20376директива sendfile_max_chunk. 20377</para> 20378<para lang="en"> 20379the "sendfile_max_chunk" directive. 20380</para> 20381</change> 20382 20383<change type="feature"> 20384<para lang="ru"> 20385переменные "$http_...", "$sent_http_..." и "$upstream_http_..." 20386можно менять директивой set. 20387</para> 20388<para lang="en"> 20389the "$http_...", "$sent_http_...", and "$upstream_http_..." variables 20390may be changed using the "set" directive. 20391</para> 20392</change> 20393 20394<change type="bugfix"> 20395<para lang="ru"> 20396при использовании SSI-команды 'if expr="$var = /"' 20397в рабочем процессе мог произойти segmentation fault. 20398</para> 20399<para lang="en"> 20400a segmentation fault might occur in worker process 20401if the SSI command 'if expr="$var = /"' was used. 20402</para> 20403</change> 20404 20405<change type="bugfix"> 20406<para lang="ru"> 20407завершающая строка multipart range ответа передавалась неверно.<br/> 20408Спасибо Evan Miller. 20409</para> 20410<para lang="en"> 20411trailing boundary of multipart range response was transferred incorrectly.<br/> 20412Thanks to Evan Miller. 20413</para> 20414</change> 20415 20416<change type="bugfix"> 20417<para lang="ru"> 20418nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 20419Спасибо Андрею Нигматулину. 20420</para> 20421<para lang="en"> 20422nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 20423Thanks to Andrei Nigmatulin. 20424</para> 20425</change> 20426 20427<change type="bugfix"> 20428<para lang="ru"> 20429модуль ngx_http_perl_module не собирался make в Solaris.<br/> 20430Спасибо Андрею Нигматулину. 20431</para> 20432<para lang="en"> 20433the ngx_http_perl_module could not be built by Solaris make.<br/> 20434Thanks to Andrei Nigmatulin. 20435</para> 20436</change> 20437 20438</changes> 20439 20440 20441<changes ver="0.5.19" date="2007-04-24"> 20442 20443<change type="change"> 20444<para lang="ru"> 20445значение переменной $request_time теперь записывается с точностью 20446до миллисекунд. 20447</para> 20448<para lang="en"> 20449now the $request_time variable has millisecond precision. 20450</para> 20451</change> 20452 20453<change type="change"> 20454<para lang="ru"> 20455метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush. 20456</para> 20457<para lang="en"> 20458the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. 20459</para> 20460</change> 20461 20462<change type="feature"> 20463<para lang="ru"> 20464переменная $upstream_addr. 20465</para> 20466<para lang="en"> 20467the $upstream_addr variable. 20468</para> 20469</change> 20470 20471<change type="feature"> 20472<para lang="ru"> 20473директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/> 20474Спасибо Володымыру Костырко. 20475</para> 20476<para lang="en"> 20477the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" 20478directives.<br/> 20479Thanks to Volodymyr Kostyrko. 20480</para> 20481</change> 20482 20483<change type="bugfix"> 20484<para lang="ru"> 20485при использовании sendfile и limit_rate на 64-битных платформах 20486нельзя было передавать файлы больше 2G. 20487</para> 20488<para lang="en"> 20489the files more than 2G could not be transferred using sendfile and limit_rate 20490on 64-bit platforms. 20491</para> 20492</change> 20493 20494<change type="bugfix"> 20495<para lang="ru"> 20496при использовании sendfile на 64-битном Linux нельзя было передавать файлы 20497больше 2G. 20498</para> 20499<para lang="en"> 20500the files more than 2G could not be transferred using sendfile on 64-bit Linux. 20501</para> 20502</change> 20503 20504</changes> 20505 20506 20507<changes ver="0.5.18" date="2007-04-19"> 20508 20509<change type="feature"> 20510<para lang="ru"> 20511модуль ngx_http_sub_filter_module. 20512</para> 20513<para lang="en"> 20514the ngx_http_sub_filter_module. 20515</para> 20516</change> 20517 20518<change type="feature"> 20519<para lang="ru"> 20520переменные "$upstream_http_...". 20521</para> 20522<para lang="en"> 20523the "$upstream_http_..." variables. 20524</para> 20525</change> 20526 20527<change type="feature"> 20528<para lang="ru"> 20529теперь переменные $upstream_status и $upstream_response_time 20530содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect. 20531</para> 20532<para lang="en"> 20533now the $upstream_status and $upstream_response_time variables 20534keep data about all upstreams before X-Accel-Redirect. 20535</para> 20536</change> 20537 20538<change type="bugfix"> 20539<para lang="ru"> 20540если nginx был собран с модулем ngx_http_perl_module и perl 20541не поддерживал multiplicity, то после первой переконфигурации 20542и после получения любого сигнала 20543в основном процессе происходил segmentation fault; 20544ошибка появилась в 0.5.9. 20545</para> 20546<para lang="en"> 20547a segmentation fault occurred in master process 20548after first reconfiguration and receiving any signal 20549if nginx was built with ngx_http_perl_module and perl 20550did not support multiplicity; 20551the bug had appeared in 0.5.9. 20552</para> 20553</change> 20554 20555<change type="bugfix"> 20556<para lang="ru"> 20557если perl не поддерживал multiplicity, то после переконфигурации 20558перловый код не работал; 20559ошибка появилась в 0.3.38. 20560</para> 20561<para lang="en"> 20562if perl did not support multiplicity, then after reconfiguration 20563perl code did not work; 20564the bug had appeared in 0.3.38. 20565</para> 20566</change> 20567 20568</changes> 20569 20570 20571<changes ver="0.5.17" date="2007-04-02"> 20572 20573<change type="change"> 20574<para lang="ru"> 20575теперь nginx для метода TRACE всегда возвращает код 405. 20576</para> 20577<para lang="en"> 20578now nginx always returns the 405 status for the TRACE method. 20579</para> 20580</change> 20581 20582<change type="feature"> 20583<para lang="ru"> 20584теперь nginx поддерживает директиву include внутри блока types. 20585</para> 20586<para lang="en"> 20587now nginx supports the "include" directive inside the "types" block. 20588</para> 20589</change> 20590 20591<change type="bugfix"> 20592<para lang="ru"> 20593использование переменной $document_root в директиве root и alias 20594запрещено: оно вызывало рекурсивное переполнение стека. 20595</para> 20596<para lang="en"> 20597the $document_root variable usage in the "root" and "alias" directives 20598is disabled: this caused recursive stack overflow. 20599</para> 20600</change> 20601 20602<change type="bugfix"> 20603<para lang="ru"> 20604в использовании протокола HTTPS в директиве proxy_pass. 20605</para> 20606<para lang="en"> 20607in the HTTPS protocol in the "proxy_pass" directive. 20608</para> 20609</change> 20610 20611<change type="bugfix"> 20612<para lang="ru"> 20613в некоторых случаях некэшируемые переменные (такие, как $uri) 20614возвращали старое закэшированное значение. 20615</para> 20616<para lang="en"> 20617in some cases non-cacheable variables (such as $uri variable) 20618returned old cached value. 20619</para> 20620</change> 20621 20622</changes> 20623 20624 20625<changes ver="0.5.16" date="2007-03-26"> 20626 20627<change type="bugfix"> 20628<para lang="ru"> 20629в качестве ключа для хэша в директиве ip_hash не использовалась сеть 20630класса С.<br/> 20631Спасибо Павлу Ярковому. 20632</para> 20633<para lang="en"> 20634the C-class network was not used as hash key in the "ip_hash" directive.<br/> 20635Thanks to Pavel Yarkovoy. 20636</para> 20637</change> 20638 20639<change type="bugfix"> 20640<para lang="ru"> 20641если в строке "Content-Type" в заголовке ответа бэкенда был указан charset 20642и строка завершалась символом ";", 20643то в рабочем процессе мог произойти segmentation fault; 20644ошибка появилась в 0.3.50. 20645</para> 20646<para lang="en"> 20647a segmentation fault might occur in worker process 20648if a charset was set in the "Content-Type" header line and the line 20649has trailing ";"; 20650the bug had appeared in 0.3.50. 20651</para> 20652</change> 20653 20654<change type="bugfix"> 20655<para lang="ru"> 20656ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если 20657тело запроса, записанное во временный файл, было кратно 32K. 20658</para> 20659<para lang="en"> 20660the "[alert] zero size buf" error when FastCGI server was used and 20661a request body written in a temporary file was multiple of 32K. 20662</para> 20663</change> 20664 20665<change type="bugfix"> 20666<para lang="ru"> 20667nginx не собирался на Solaris без параметра --with-debug; 20668ошибка появилась в 0.5.15. 20669</para> 20670<para lang="en"> 20671nginx could not be built on Solaris without the --with-debug option; 20672the bug had appeared in 0.5.15. 20673</para> 20674</change> 20675 20676</changes> 20677 20678 20679<changes ver="0.5.15" date="2007-03-19"> 20680 20681<change type="feature"> 20682<para lang="ru"> 20683почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и 20684директивы smtp_auth, smtp_capabilities и xclient.<br/> 20685Спасибо Антону Южанинову и Максиму Дунину. 20686</para> 20687<para lang="en"> 20688the mail proxy supports authenticated SMTP proxying and 20689the "smtp_auth", "smtp_capabilities", and "xclient" directives.<br/> 20690Thanks to Anton Yuzhaninov and Maxim Dounin. 20691</para> 20692</change> 20693 20694<change type="feature"> 20695<para lang="ru"> 20696теперь keep-alive соединения закрываются сразу же по получении сигнала 20697переконфигурации. 20698</para> 20699<para lang="en"> 20700now the keep-alive connections are closed just after receiving 20701the reconfiguration signal. 20702</para> 20703</change> 20704 20705<change type="change"> 20706<para lang="ru"> 20707директивы imap и auth переименованы соответственно в mail и pop3_auth. 20708</para> 20709<para lang="en"> 20710the "imap" and "auth" directives were renamed 20711to the "mail" and "pop3_auth" directives. 20712</para> 20713</change> 20714 20715<change type="bugfix"> 20716<para lang="ru"> 20717если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP, 20718то в рабочем процессе происходил segmentation fault. 20719</para> 20720<para lang="en"> 20721a segmentation fault occurred in worker process 20722if the CRAM-MD5 authentication method was used 20723and the APOP method was disabled. 20724</para> 20725</change> 20726 20727<change type="bugfix"> 20728<para lang="ru"> 20729при использовании директивы starttls only в протоколе POP3 nginx 20730разрешал аутентификацию без перехода в режим SSL. 20731</para> 20732<para lang="en"> 20733if the "starttls only" directive was used in POP3 protocol, 20734then nginx allowed authentication without switching to the SSL mode. 20735</para> 20736</change> 20737 20738<change type="bugfix"> 20739<para lang="ru"> 20740рабочие процессы не выходили после переконфигурации и не переоткрывали логи, 20741если использовался метод eventport. 20742</para> 20743<para lang="en"> 20744worker processes did not exit after reconfiguration and 20745did not rotate logs if the eventport method was used. 20746</para> 20747</change> 20748 20749<change type="bugfix"> 20750<para lang="ru"> 20751при использовании директивы ip_hash рабочий процесс мог зациклиться. 20752</para> 20753<para lang="en"> 20754a worker process may got caught in an endless loop, 20755if the "ip_hash" directive was used. 20756</para> 20757</change> 20758 20759<change type="bugfix"> 20760<para lang="ru"> 20761теперь nginx не пишет в лог некоторые alert'ы, 20762если используются методы eventport или /dev/poll. 20763</para> 20764<para lang="en"> 20765now nginx does not log some alerts if eventport or /dev/poll methods are used. 20766</para> 20767</change> 20768 20769</changes> 20770 20771 20772<changes ver="0.5.14" date="2007-02-23"> 20773 20774<change type="bugfix"> 20775<para lang="ru"> 20776nginx игнорировал лишние закрывающие скобки "}" в конце 20777конфигурационного файла. 20778</para> 20779<para lang="en"> 20780nginx ignored superfluous closing "}" in the end of configuration file. 20781</para> 20782</change> 20783 20784</changes> 20785 20786 20787<changes ver="0.5.13" date="2007-02-19"> 20788 20789<change type="feature"> 20790<para lang="ru"> 20791методы COPY и MOVE. 20792</para> 20793<para lang="en"> 20794the COPY and MOVE methods. 20795</para> 20796</change> 20797 20798<change type="bugfix"> 20799<para lang="ru"> 20800модуль ngx_http_realip_module устанавливал мусор для запросов, 20801переданных по keep-alive соединению. 20802</para> 20803<para lang="en"> 20804the ngx_http_realip_module set garbage for requests passed via 20805keep-alive connection. 20806</para> 20807</change> 20808 20809<change type="bugfix"> 20810<para lang="ru"> 20811nginx не работал на 64-битном big-endian Linux.<br/> 20812Спасибо Андрею Нигматулину. 20813</para> 20814<para lang="en"> 20815nginx did not work on big-endian 64-bit Linux.<br/> 20816Thanks to Andrei Nigmatulin. 20817</para> 20818</change> 20819 20820<change type="bugfix"> 20821<para lang="ru"> 20822при получении слишком длинной команды IMAP/POP3-прокси теперь сразу 20823закрывает соединение, а не по таймауту. 20824</para> 20825<para lang="en"> 20826now when IMAP/POP3 proxy receives too long command it closes the connection 20827right away, but not after timeout. 20828</para> 20829</change> 20830 20831<change type="bugfix"> 20832<para lang="ru"> 20833если при использовании метода epoll клиент закрывал преждевременно 20834соединение со своей стороны, то nginx закрывал это соединение только 20835по истечении таймаута на передачу. 20836</para> 20837<para lang="en"> 20838if the "epoll" method was used and a client closed a connection prematurely, 20839then nginx closed the connection after a send timeout only. 20840</para> 20841</change> 20842 20843<change type="bugfix"> 20844<para lang="ru"> 20845nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 20846ошибка появилась в 0.5.8. 20847</para> 20848<para lang="en"> 20849nginx could not be built on platforms different from i386, amd64, sparc, 20850and ppc; 20851the bug had appeared in 0.5.8. 20852</para> 20853</change> 20854 20855</changes> 20856 20857 20858<changes ver="0.5.12" date="2007-02-12"> 20859 20860<change type="bugfix"> 20861<para lang="ru"> 20862nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 20863ошибка появилась в 0.5.8. 20864</para> 20865<para lang="en"> 20866nginx could not be built on platforms different from i386, amd64, sparc, 20867and ppc; 20868the bug had appeared in 0.5.8. 20869</para> 20870</change> 20871 20872<change type="bugfix"> 20873<para lang="ru"> 20874при использовании временных файлов в время работы с FastCGI-сервером 20875в рабочем процессе мог произойти segmentation fault; 20876ошибка появилась в 0.5.8. 20877</para> 20878<para lang="en"> 20879a segmentation fault might occur in worker process 20880if the temporary files were used while working with FastCGI server; 20881the bug had appeared in 0.5.8. 20882</para> 20883</change> 20884 20885<change type="bugfix"> 20886<para lang="ru"> 20887если переменная $fastcgi_script_name записывалась в лог, 20888то в рабочем процессе мог произойти segmentation fault. 20889</para> 20890<para lang="en"> 20891a segmentation fault might occur in worker process 20892if the $fastcgi_script_name variable was logged. 20893</para> 20894</change> 20895 20896<change type="bugfix"> 20897<para lang="ru"> 20898ngx_http_perl_module не собирался на Solaris. 20899</para> 20900<para lang="en"> 20901ngx_http_perl_module could not be built on Solaris. 20902</para> 20903</change> 20904 20905</changes> 20906 20907 20908<changes ver="0.5.11" date="2007-02-05"> 20909 20910<change type="feature"> 20911<para lang="ru"> 20912теперь configure определяет библиотеку PCRE в MacPorts.<br/> 20913Спасибо Chris McGrath. 20914</para> 20915<para lang="en"> 20916now configure detects system PCRE library in MacPorts.<br/> 20917Thanks to Chris McGrath. 20918</para> 20919</change> 20920 20921<change type="bugfix"> 20922<para lang="ru"> 20923ответ был неверным, если запрашивалось несколько диапазонов; 20924ошибка появилась в 0.5.6. 20925</para> 20926<para lang="en"> 20927the response was incorrect if several ranges were requested; 20928the bug had appeared in 0.5.6. 20929</para> 20930</change> 20931 20932<change type="bugfix"> 20933<para lang="ru"> 20934директива create_full_put_path не могла создавать промежуточные каталоги, 20935если не была установлена директива dav_access.<br/> 20936Спасибо Evan Miller. 20937</para> 20938<para lang="en"> 20939the "create_full_put_path" directive could not create the intermediate 20940directories if no "dav_access" directive was set.<br/> 20941Thanks to Evan Miller. 20942</para> 20943</change> 20944 20945<change type="bugfix"> 20946<para lang="ru"> 20947вместо кодов ошибок "400" и "408" в access_log мог записываться код "0". 20948</para> 20949<para lang="en"> 20950the "0" response code might be logged in the access_log instead of 20951the "400" and "408" error codes. 20952</para> 20953</change> 20954 20955<change type="bugfix"> 20956<para lang="ru"> 20957при сборке с оптимизацией -O2 в рабочем процессе мог произойти 20958segmentation fault. 20959</para> 20960<para lang="en"> 20961a segmentation fault might occur in worker process 20962if nginx was built with -O2 optimization. 20963</para> 20964</change> 20965 20966</changes> 20967 20968 20969<changes ver="0.5.10" date="2007-01-26"> 20970 20971<change type="bugfix"> 20972<para lang="ru"> 20973во время обновления исполняемого файла новый процесс не наследовал 20974слушающие сокеты; 20975ошибка появилась в 0.5.9. 20976</para> 20977<para lang="en"> 20978while online executable file upgrade the new master process did not 20979inherit the listening sockets; 20980the bug had appeared in 0.5.9. 20981</para> 20982</change> 20983 20984<change type="bugfix"> 20985<para lang="ru"> 20986при сборке с оптимизацией -O2 в рабочем процессе мог произойти 20987segmentation fault; 20988ошибка появилась в 0.5.1. 20989</para> 20990<para lang="en"> 20991a segmentation fault might occur in worker process 20992if nginx was built with -O2 optimization; 20993the bug had appeared in 0.5.1. 20994</para> 20995</change> 20996 20997</changes> 20998 20999 21000<changes ver="0.5.9" date="2007-01-25"> 21001 21002<change type="change"> 21003<para lang="ru"> 21004модуль ngx_http_memcached_module теперь в качестве ключа использует 21005значение переменной $memcached_key. 21006</para> 21007<para lang="en"> 21008now the ngx_http_memcached_module uses the $memcached_key variable value 21009as a key. 21010</para> 21011</change> 21012 21013<change type="feature"> 21014<para lang="ru"> 21015переменная $memcached_key. 21016</para> 21017<para lang="en"> 21018the $memcached_key variable. 21019</para> 21020</change> 21021 21022<change type="feature"> 21023<para lang="ru"> 21024параметр clean в директиве client_body_in_file_only. 21025</para> 21026<para lang="en"> 21027the "clean" parameter in the "client_body_in_file_only" directive. 21028</para> 21029</change> 21030 21031<change type="feature"> 21032<para lang="ru"> 21033директива env. 21034</para> 21035<para lang="en"> 21036the "env" directive. 21037</para> 21038</change> 21039 21040<change type="feature"> 21041<para lang="ru"> 21042директива sendfile работает внутри блока if. 21043</para> 21044<para lang="en"> 21045the "sendfile" directive is available inside the "if" block. 21046</para> 21047</change> 21048 21049<change type="feature"> 21050<para lang="ru"> 21051теперь при ошибке записи в access_log nginx записывает сообщение в error_log, 21052но не чаще одного раза в минуту. 21053</para> 21054<para lang="en"> 21055now on failure of the writing to access nginx logs a message to error_log, 21056but not more often than once a minute. 21057</para> 21058</change> 21059 21060<change type="bugfix"> 21061<para lang="ru"> 21062директива "access_log off" не всегда запрещала запись в лог. 21063</para> 21064<para lang="en"> 21065the "access_log off" directive did not always turn off the logging. 21066</para> 21067</change> 21068 21069</changes> 21070 21071 21072<changes ver="0.5.8" date="2007-01-19"> 21073 21074<change type="bugfix"> 21075<para lang="ru"> 21076если использовалась директива <nobr>"client_body_in_file_only on"</nobr> 21077и тело запроса было небольшое, то мог произойти segmentation fault. 21078</para> 21079<para lang="en"> 21080a segmentation fault might occur if 21081<nobr>"client_body_in_file_only on"</nobr> was used 21082and a request body was small. 21083</para> 21084</change> 21085 21086<change type="bugfix"> 21087<para lang="ru"> 21088происходил segmentation fault, если использовались директивы 21089<nobr>"client_body_in_file_only on"</nobr> 21090и <nobr>"proxy_pass_request_body off"</nobr> 21091или <nobr>"fastcgi_pass_request_body off"</nobr>, 21092и делался переход к следующему бэкенду. 21093</para> 21094<para lang="en"> 21095a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 21096and <nobr>"proxy_pass_request_body off"</nobr> 21097or <nobr>"fastcgi_pass_request_body off"</nobr> 21098directives were used, and nginx switched to a next upstream. 21099</para> 21100</change> 21101 21102<change type="bugfix"> 21103<para lang="ru"> 21104если при использовании директивы "proxy_buffering off" соединение с клиентом 21105было неактивно, то оно закрывалось по таймауту, заданному директивой 21106send_timeout; 21107ошибка появилась в 0.4.7. 21108</para> 21109<para lang="en"> 21110if the "proxy_buffering off" directive was used and a client connection 21111was non-active, then the connection was closed after send timeout; 21112the bug had appeared in 0.4.7. 21113</para> 21114</change> 21115 21116<change type="bugfix"> 21117<para lang="ru"> 21118если при использовании метода epoll клиент закрывал преждевременно 21119соединение со своей стороны, то nginx закрывал это соединение только 21120по истечении таймаута на передачу. 21121</para> 21122<para lang="en"> 21123if the "epoll" method was used and a client closed a connection prematurely, 21124then nginx closed the connection after a send timeout only. 21125</para> 21126</change> 21127 21128<change type="bugfix"> 21129<para lang="ru"> 21130ошибки "[alert] zero size buf" при работе с FastCGI-сервером. 21131</para> 21132<para lang="en"> 21133the "[alert] zero size buf" error when FastCGI server was used. 21134</para> 21135</change> 21136 21137<change> 21138<para lang="ru"> 21139Исправление ошибок в директиве limit_zone. 21140</para> 21141<para lang="en"> 21142Bugfixes in the "limit_zone" directive. 21143</para> 21144</change> 21145 21146</changes> 21147 21148 21149<changes ver="0.5.7" date="2007-01-15"> 21150 21151<change type="feature"> 21152<para lang="ru"> 21153оптимизация использования памяти в ssl_session_cache. 21154</para> 21155<para lang="en"> 21156the ssl_session_cache storage optimization. 21157</para> 21158</change> 21159 21160<change> 21161<para lang="ru"> 21162Исправление ошибок в директивах ssl_session_cache и limit_zone. 21163</para> 21164<para lang="en"> 21165Bugfixes in the "ssl_session_cache" and "limit_zone" directives. 21166</para> 21167</change> 21168 21169<change type="bugfix"> 21170<para lang="ru"> 21171на старте или во время переконфигурации происходил segmentation fault, 21172если директивы ssl_session_cache или limit_zone использовались 21173на 64-битных платформах. 21174</para> 21175<para lang="en"> 21176the segmentation fault was occurred on start or while reconfiguration 21177if the "ssl_session_cache" or "limit_zone" directives were used 21178on 64-bit platforms. 21179</para> 21180</change> 21181 21182<change type="bugfix"> 21183<para lang="ru"> 21184при использовании директив add_before_body или add_after_body происходил 21185segmentation fault, если в заголовке ответа нет строки "Content-Type". 21186</para> 21187<para lang="en"> 21188a segmentation fault occurred if the "add_before_body" or "add_after_body" 21189directives were used and there was no "Content-Type" header line in response. 21190</para> 21191</change> 21192 21193<change type="bugfix"> 21194<para lang="ru"> 21195библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/> 21196Спасибо Дену Иванову. 21197</para> 21198<para lang="en"> 21199the OpenSSL library was always built with the threads support.<br/> 21200Thanks to Den Ivanov. 21201</para> 21202</change> 21203 21204<change type="bugfix"> 21205<para lang="ru"> 21206совместимость библиотеки PCRE-6.5+ и компилятора icc. 21207</para> 21208<para lang="en"> 21209the PCRE-6.5+ library and the icc compiler compatibility. 21210</para> 21211</change> 21212 21213</changes> 21214 21215 21216<changes ver="0.5.6" date="2007-01-09"> 21217 21218<change type="change"> 21219<para lang="ru"> 21220теперь модуль ngx_http_index_module игнорирует все методы, 21221кроме GET, HEAD и POST. 21222</para> 21223<para lang="en"> 21224now the ngx_http_index_module ignores all methods except the GET, HEAD, and 21225POST methods. 21226</para> 21227</change> 21228 21229<change type="feature"> 21230<para lang="ru"> 21231модуль ngx_http_limit_zone_module. 21232</para> 21233<para lang="en"> 21234the ngx_http_limit_zone_module. 21235</para> 21236</change> 21237 21238<change type="feature"> 21239<para lang="ru"> 21240переменная $binary_remote_addr. 21241</para> 21242<para lang="en"> 21243the $binary_remote_addr variable. 21244</para> 21245</change> 21246 21247<change type="feature"> 21248<para lang="ru"> 21249директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module. 21250</para> 21251<para lang="en"> 21252the "ssl_session_cache" directives 21253of the ngx_http_ssl_module and ngx_imap_ssl_module. 21254</para> 21255</change> 21256 21257<change type="feature"> 21258<para lang="ru"> 21259метод DELETE поддерживает рекурсивное удаление. 21260</para> 21261<para lang="en"> 21262the DELETE method supports recursive removal. 21263</para> 21264</change> 21265 21266<change type="bugfix"> 21267<para lang="ru"> 21268при использовании $r->sendfile() byte-ranges передавались неверно. 21269</para> 21270<para lang="en"> 21271the byte-ranges were transferred incorrectly if the $r->sendfile() was used. 21272</para> 21273</change> 21274 21275</changes> 21276 21277 21278<changes ver="0.5.5" date="2006-12-24"> 21279 21280<change type="change"> 21281<para lang="ru"> 21282ключ -v больше не выводит информацию о компиляторе. 21283</para> 21284<para lang="en"> 21285the -v switch does not show compiler information any more. 21286</para> 21287</change> 21288 21289<change type="feature"> 21290<para lang="ru"> 21291ключ -V. 21292</para> 21293<para lang="en"> 21294the -V switch. 21295</para> 21296</change> 21297 21298<change type="feature"> 21299<para lang="ru"> 21300директива worker_rlimit_core поддерживает указание размера в K, M и G. 21301</para> 21302<para lang="en"> 21303the "worker_rlimit_core" directive supports size in K, M, and G. 21304</para> 21305</change> 21306 21307<change type="bugfix"> 21308<para lang="ru"> 21309модуль nginx.pm теперь может устанавливаться непривилегированным пользователем. 21310</para> 21311<para lang="en"> 21312the nginx.pm module now could be installed by an unprivileged user. 21313</para> 21314</change> 21315 21316<change type="bugfix"> 21317<para lang="ru"> 21318при использовании методов $r->request_body или $r->request_body_file мог 21319произойти segmentation fault. 21320</para> 21321<para lang="en"> 21322a segmentation fault might occur if the $r->request_body or 21323$r->request_body_file methods were used. 21324</para> 21325</change> 21326 21327<change type="bugfix"> 21328<para lang="ru"> 21329ошибок, специфичных для платформы ppc. 21330</para> 21331<para lang="en"> 21332the ppc platform specific bugs. 21333</para> 21334</change> 21335 21336</changes> 21337 21338 21339<changes ver="0.5.4" date="2006-12-15"> 21340 21341<change type="feature"> 21342<para lang="ru"> 21343директиву perl можно использовать внутри блока limit_except. 21344</para> 21345<para lang="en"> 21346the "perl" directive may be used inside the "limit_except" block. 21347</para> 21348</change> 21349 21350<change type="bugfix"> 21351<para lang="ru"> 21352модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса 21353для метода DELETE. 21354</para> 21355<para lang="en"> 21356the ngx_http_dav_module required the "Date" request header line 21357for the DELETE method. 21358</para> 21359</change> 21360 21361<change type="bugfix"> 21362<para lang="ru"> 21363при использовании одного параметра в директиве dav_access nginx мог 21364сообщить об ошибке в конфигурации. 21365</para> 21366<para lang="en"> 21367if one only parameter was used in the "dav_access" directive, then 21368nginx might report about configuration error. 21369</para> 21370</change> 21371 21372<change type="bugfix"> 21373<para lang="ru"> 21374при использовании переменной $host мог произойти segmentation fault; 21375ошибка появилась в 0.4.14. 21376</para> 21377<para lang="en"> 21378a segmentation fault might occur if the $host variable was used; 21379the bug had appeared in 0.4.14. 21380</para> 21381</change> 21382 21383</changes> 21384 21385 21386<changes ver="0.5.3" date="2006-12-13"> 21387 21388<change type="feature"> 21389<para lang="ru"> 21390модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error 21391и $r->sleep. 21392</para> 21393<para lang="en"> 21394the ngx_http_perl_module supports the $r->status, $r->log_error, 21395and $r->sleep methods. 21396</para> 21397</change> 21398 21399<change type="feature"> 21400<para lang="ru"> 21401метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а. 21402</para> 21403<para lang="en"> 21404the $r->variable method supports variables that do not exist in nginx 21405configuration. 21406</para> 21407</change> 21408 21409<change type="bugfix"> 21410<para lang="ru"> 21411метод $r->has_request_body не работал. 21412</para> 21413<para lang="en"> 21414the $r->has_request_body method did not work. 21415</para> 21416</change> 21417 21418</changes> 21419 21420 21421<changes ver="0.5.2" date="2006-12-11"> 21422 21423<change type="bugfix"> 21424<para lang="ru"> 21425если в директивах proxy_pass использовалось имя, указанное в upstream, 21426то nginx пытался найти IP-адрес этого имени; 21427ошибка появилась в 0.5.1. 21428</para> 21429<para lang="en"> 21430if the "proxy_pass" directive used the name of the "upstream" block, 21431then nginx tried to resolve the name; 21432the bug had appeared in 0.5.1. 21433</para> 21434</change> 21435 21436</changes> 21437 21438 21439<changes ver="0.5.1" date="2006-12-11"> 21440 21441<change type="bugfix"> 21442<para lang="ru"> 21443директива post_action могла не работать после неудачного завершения запроса. 21444</para> 21445<para lang="en"> 21446the "post_action" directive might not run after a unsuccessful completion 21447of a request. 21448</para> 21449</change> 21450 21451<change type="workaround"> 21452<para lang="ru"> 21453обход ошибки в Eudora для Mac; 21454ошибка появилась в 0.4.11.<br/> 21455Спасибо Bron Gondwana. 21456</para> 21457<para lang="en"> 21458for Eudora for Mac; 21459the bug had appeared in 0.4.11.<br/> 21460Thanks to Bron Gondwana. 21461</para> 21462</change> 21463 21464<change type="bugfix"> 21465<para lang="ru"> 21466при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось 21467сообщение "no port in upstream"; 21468ошибка появилась в 0.5.0. 21469</para> 21470<para lang="en"> 21471if the "upstream" name was used in the "fastcgi_pass", then the message 21472"no port in upstream" was issued; 21473the bug had appeared in 0.5.0. 21474</para> 21475</change> 21476 21477<change type="bugfix"> 21478<para lang="ru"> 21479если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена 21480серверов, но с разными портами, то эти директивы использовали первый 21481описанный порт; 21482ошибка появилась в 0.5.0. 21483</para> 21484<para lang="en"> 21485if the "proxy_pass" and "fastcgi_pass" directives used the same servers but 21486different ports, then these directives uses the first described port; 21487the bug had appeared in 0.5.0. 21488</para> 21489</change> 21490 21491<change type="bugfix"> 21492<para lang="ru"> 21493если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты, 21494то эти директивы использовали первый описанный сокет; 21495ошибка появилась в 0.5.0. 21496</para> 21497<para lang="en"> 21498if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, 21499then these directives used first described socket; 21500the bug had appeared in 0.5.0. 21501</para> 21502</change> 21503 21504<change type="bugfix"> 21505<para lang="ru"> 21506ngx_http_auth_basic_module игнорировал пользователя, если он был указан 21507в последней строке файла паролей и после пароля не было перевода строки, 21508возврата каретки или символа ":". 21509</para> 21510<para lang="en"> 21511ngx_http_auth_basic_module ignored the user if it was in the last line in 21512the password file and there was no the carriage return, the line feed, 21513or the ":" symbol after the password. 21514</para> 21515</change> 21516 21517<change type="bugfix"> 21518<para lang="ru"> 21519переменная $upstream_response_time могла быть равна "0.000", хотя время 21520обработки было больше 1 миллисекунды. 21521</para> 21522<para lang="en"> 21523the $upstream_response_time variable might be equal to "0.000", although 21524response time was more than 1 millisecond. 21525</para> 21526</change> 21527 21528</changes> 21529 21530 21531<changes ver="0.5.0" date="2006-12-04"> 21532 21533<change type="change"> 21534<para lang="ru"> 21535параметры в виде "%name" в директиве log_format больше не поддерживаются. 21536</para> 21537<para lang="en"> 21538the parameters in the "%name" form in the "log_format" directive 21539are not supported anymore. 21540</para> 21541</change> 21542 21543<change type="change"> 21544<para lang="ru"> 21545директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 21546fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout, 21547memcached_upstream_max_fails и memcached_upstream_fail_timeout 21548больше не поддерживаются. 21549</para> 21550<para lang="en"> 21551the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 21552"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", 21553"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" 21554directives are not supported anymore. 21555</para> 21556</change> 21557 21558<change type="feature"> 21559<para lang="ru"> 21560директива server в блоке upstream поддерживает параметры 21561max_fails, fail_timeout и down. 21562</para> 21563<para lang="en"> 21564the "server" directive in the "upstream" context supports 21565the "max_fails", "fail_timeout", and "down" parameters. 21566</para> 21567</change> 21568 21569<change type="feature"> 21570<para lang="ru"> 21571директива ip_hash в блоке upstream. 21572</para> 21573<para lang="en"> 21574the "ip_hash" directive inside the "upstream" block. 21575</para> 21576</change> 21577 21578<change type="feature"> 21579<para lang="ru"> 21580статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации 21581IMAP/POP3 прокси. 21582</para> 21583<para lang="en"> 21584the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy 21585authentication server response. 21586</para> 21587</change> 21588 21589<change type="bugfix"> 21590<para lang="ru"> 21591nginx не собирался на 64-битных платформах; 21592ошибка появилась в 0.4.14. 21593</para> 21594<para lang="en"> 21595nginx could not be built on 64-bit platforms; 21596the bug had appeared in 0.4.14. 21597</para> 21598</change> 21599 21600</changes> 21601 21602 21603<changes ver="0.4.14" date="2006-11-27"> 21604 21605<change type="feature"> 21606<para lang="ru"> 21607директива proxy_pass_error_message в IMAP/POP3 прокси. 21608</para> 21609<para lang="en"> 21610the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 21611</para> 21612</change> 21613 21614<change type="feature"> 21615<para lang="ru"> 21616теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD. 21617</para> 21618<para lang="en"> 21619now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. 21620</para> 21621</change> 21622 21623<change type="bugfix"> 21624<para lang="ru"> 21625ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков; 21626ошибка появилась в 0.3.38. 21627</para> 21628<para lang="en"> 21629ngx_http_perl_module did not work with perl built with the threads support; 21630the bug had appeared in 0.3.38. 21631</para> 21632</change> 21633 21634<change type="bugfix"> 21635<para lang="ru"> 21636ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно. 21637</para> 21638<para lang="en"> 21639ngx_http_perl_module did not work if perl was called recursively. 21640</para> 21641</change> 21642 21643<change type="bugfix"> 21644<para lang="ru"> 21645nginx игнорировал имя сервера в строке запроса. 21646</para> 21647<para lang="en"> 21648nginx ignored a host name in a request line. 21649</para> 21650</change> 21651 21652<change type="bugfix"> 21653<para lang="ru"> 21654если FastCGI сервер передавал много в stderr, 21655то рабочий процесс мог зациклиться. 21656</para> 21657<para lang="en"> 21658a worker process may got caught in an endless loop, 21659if a FastCGI server sent too many data to the stderr. 21660</para> 21661</change> 21662 21663<change type="bugfix"> 21664<para lang="ru"> 21665при изменении системного времени переменная $upstream_response_time 21666могла быть отрицательной. 21667</para> 21668<para lang="en"> 21669the $upstream_response_time variable may be negative if the system time 21670was changed backward. 21671</para> 21672</change> 21673 21674<change type="bugfix"> 21675<para lang="ru"> 21676при использовании POP3 серверу аутентификации IMAP/POP3 прокси 21677не передавался параметр Auth-Login-Attempt. 21678</para> 21679<para lang="en"> 21680the "Auth-Login-Attempt" parameter was not sent to 21681IMAP/POP3 proxy authentication server when POP3 was used. 21682</para> 21683</change> 21684 21685<change type="bugfix"> 21686<para lang="ru"> 21687при ошибке соединения с сервером аутентификации IMAP/POP3 прокси 21688мог произойти segmentation fault. 21689</para> 21690<para lang="en"> 21691a segmentation fault might occur if connect to IMAP/POP3 proxy 21692authentication server failed. 21693</para> 21694</change> 21695 21696</changes> 21697 21698 21699<changes ver="0.4.13" date="2006-11-15"> 21700 21701<change type="feature"> 21702<para lang="ru"> 21703директиву proxy_pass можно использовать внутри блока limit_except. 21704</para> 21705<para lang="en"> 21706the "proxy_pass" directive may be used inside the "limit_except" block. 21707</para> 21708</change> 21709 21710<change type="feature"> 21711<para lang="ru"> 21712директива limit_except поддерживает все WebDAV методы. 21713</para> 21714<para lang="en"> 21715the "limit_except" directive supports all WebDAV methods. 21716</para> 21717</change> 21718 21719<change type="bugfix"> 21720<para lang="ru"> 21721при использовании директивы add_before_body без директивы add_after_body 21722ответ передавался не полностью. 21723</para> 21724<para lang="en"> 21725if the "add_before_body" directive was used without 21726the "add_after_body" directive, then a response did not transferred complete. 21727</para> 21728</change> 21729 21730<change type="bugfix"> 21731<para lang="ru"> 21732большое тело запроса не принималось, если использовались метод epoll 21733и deferred accept(). 21734</para> 21735<para lang="en"> 21736a large request body did not receive if the epoll method 21737and the deferred accept() were used. 21738</para> 21739</change> 21740 21741<change type="bugfix"> 21742<para lang="ru"> 21743для ответов модуля ngx_http_autoindex_module не выставлялась кодировка; 21744ошибка появилась в 0.3.50. 21745</para> 21746<para lang="en"> 21747a charset could not be set for ngx_http_autoindex_module responses; 21748the bug had appeared in 0.3.50. 21749</para> 21750</change> 21751 21752<change type="bugfix"> 21753<para lang="ru"> 21754ошибки "[alert] zero size buf" при работе с FastCGI-сервером; 21755</para> 21756<para lang="en"> 21757the "[alert] zero size buf" error when FastCGI server was used; 21758</para> 21759</change> 21760 21761<change type="bugfix"> 21762<para lang="ru"> 21763параметр конфигурации --group= игнорировался.<br/> 21764Спасибо Thomas Moschny. 21765</para> 21766<para lang="en"> 21767the --group= configuration parameter was ignored.<br/> 21768Thanks to Thomas Moschny. 21769</para> 21770</change> 21771 21772<change type="bugfix"> 21773<para lang="ru"> 2177450-й подзапрос в SSI ответе не работал; 21775ошибка появилась в 0.3.50. 21776</para> 21777<para lang="en"> 21778the 50th subrequest in SSI response did not work; 21779the bug had appeared in 0.3.50. 21780</para> 21781</change> 21782 21783</changes> 21784 21785 21786<changes ver="0.4.12" date="2006-10-31"> 21787 21788<change type="feature"> 21789<para lang="ru"> 21790модуль ngx_http_perl_module поддерживает метод $r->variable. 21791</para> 21792<para lang="en"> 21793the ngx_http_perl_module supports the $r->variable method. 21794</para> 21795</change> 21796 21797<change type="bugfix"> 21798<para lang="ru"> 21799при включении в ответ большого статического файла с помощью SSI 21800ответ мог передаваться не полностью. 21801</para> 21802<para lang="en"> 21803if a big static file was included using SSI in a response, 21804then the response may be transferred incomplete. 21805</para> 21806</change> 21807 21808<change type="bugfix"> 21809<para lang="ru"> 21810nginx не убирал "#fragment" в URI. 21811</para> 21812<para lang="en"> 21813nginx did not omit the "#fragment" part in URI. 21814</para> 21815</change> 21816 21817</changes> 21818 21819 21820<changes ver="0.4.11" date="2006-10-25"> 21821 21822<change type="feature"> 21823<para lang="ru"> 21824POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5. 21825</para> 21826<para lang="en"> 21827the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. 21828</para> 21829</change> 21830 21831<change type="feature"> 21832<para lang="ru"> 21833модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. 21834</para> 21835<para lang="en"> 21836the ngx_http_perl_module supports the $r->allow_ranges method. 21837</para> 21838</change> 21839 21840<change type="bugfix"> 21841<para lang="ru"> 21842при включённой поддержке команды APOP в POP3 прокси могли 21843не работать команды USER/PASS; 21844ошибка появилась в 0.4.10. 21845</para> 21846<para lang="en"> 21847if the APOP was enabled in the POP3 proxy, then the USER/PASS commands 21848might not work; 21849the bug had appeared in 0.4.10. 21850</para> 21851</change> 21852 21853</changes> 21854 21855 21856<changes ver="0.4.10" date="2006-10-23"> 21857 21858<change type="feature"> 21859<para lang="ru"> 21860POP3 прокси поддерживает APOP. 21861</para> 21862<para lang="en"> 21863the POP3 proxy supports the APOP command. 21864</para> 21865</change> 21866 21867<change type="bugfix"> 21868<para lang="ru"> 21869при использовании методов select, poll и /dev/poll во время ожидания 21870ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор. 21871</para> 21872<para lang="en"> 21873if the select, poll or /dev/poll methods were used, then while 21874waiting authentication server response the IMAP/POP3 proxy hogged CPU. 21875</para> 21876</change> 21877 21878<change type="bugfix"> 21879<para lang="ru"> 21880при использовании переменной $server_addr в директиве map мог 21881произойти segmentation fault. 21882</para> 21883<para lang="en"> 21884a segmentation fault might occur if the $server_addr variable was used 21885in the "map" directive. 21886</para> 21887</change> 21888 21889<change type="bugfix"> 21890<para lang="ru"> 21891модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов; 21892ошибка появилась в 0.4.7. 21893</para> 21894<para lang="en"> 21895the ngx_http_flv_module did not support the byte ranges for full responses; 21896the bug had appeared in 0.4.7. 21897</para> 21898</change> 21899 21900<change type="bugfix"> 21901<para lang="ru"> 21902nginx не собирался на Debian amd64; 21903ошибка появилась в 0.4.9. 21904</para> 21905<para lang="en"> 21906nginx could not be built on Debian amd64; 21907the bug had appeared in 0.4.9. 21908</para> 21909</change> 21910 21911</changes> 21912 21913 21914<changes ver="0.4.9" date="2006-10-13"> 21915 21916<change type="feature"> 21917<para lang="ru"> 21918параметр set в команде SSI include. 21919</para> 21920<para lang="en"> 21921the "set" parameter in the "include" SSI command. 21922</para> 21923</change> 21924 21925<change type="feature"> 21926<para lang="ru"> 21927модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm. 21928</para> 21929<para lang="en"> 21930the ngx_http_perl_module now tests the nginx.pm module version. 21931</para> 21932</change> 21933 21934</changes> 21935 21936 21937<changes ver="0.4.8" date="2006-10-11"> 21938 21939<change type="bugfix"> 21940<para lang="ru"> 21941если до команды SSI include с параметром wait выполнялась ещё 21942одна команда SSI include, то параметр wait мог не работать. 21943</para> 21944<para lang="en"> 21945if an "include" SSI command were before another "include" SSI command 21946with a "wait" parameter, then the "wait" parameter might not work. 21947</para> 21948</change> 21949 21950<change type="bugfix"> 21951<para lang="ru"> 21952модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/> 21953Спасибо Алексею Ковырину. 21954</para> 21955<para lang="en"> 21956the ngx_http_flv_module added the FLV header to the full responses.<br/> 21957Thanks to Alexey Kovyrin. 21958</para> 21959</change> 21960 21961</changes> 21962 21963 21964<changes ver="0.4.7" date="2006-10-10"> 21965 21966<change type="feature"> 21967<para lang="ru"> 21968модуль ngx_http_flv_module. 21969</para> 21970<para lang="en"> 21971the ngx_http_flv_module. 21972</para> 21973</change> 21974 21975<change type="feature"> 21976<para lang="ru"> 21977переменная $request_body_file. 21978</para> 21979<para lang="en"> 21980the $request_body_file variable. 21981</para> 21982</change> 21983 21984<change type="feature"> 21985<para lang="ru"> 21986директивы charset и source_charset поддерживают переменные. 21987</para> 21988<para lang="en"> 21989the "charset" and "source_charset" directives support the variables. 21990</para> 21991</change> 21992 21993<change type="bugfix"> 21994<para lang="ru"> 21995если до команды SSI include с параметром wait выполнялась ещё 21996одна команда SSI include, то параметр wait мог не работать. 21997</para> 21998<para lang="en"> 21999if an "include" SSI command were before another "include" SSI command 22000with a "wait" parameter, then the "wait" parameter might not work. 22001</para> 22002</change> 22003 22004<change type="bugfix"> 22005<para lang="ru"> 22006при использовании директивы "proxy_buffering off" или при работе 22007с memcached соединения могли не закрываться по таймауту. 22008</para> 22009<para lang="en"> 22010if the "proxy_buffering off" directive was used or while working with 22011memcached the connections might not be closed on timeout. 22012</para> 22013</change> 22014 22015<change type="bugfix"> 22016<para lang="ru"> 22017nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 22018</para> 22019<para lang="en"> 22020nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 22021</para> 22022</change> 22023 22024</changes> 22025 22026 22027<changes ver="0.4.6" date="2006-10-06"> 22028 22029<change type="bugfix"> 22030<para lang="ru"> 22031nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 22032</para> 22033<para lang="en"> 22034nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 22035</para> 22036</change> 22037 22038<change type="bugfix"> 22039<para lang="ru"> 22040при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами, 22041если длина ответа в методе $r->headers_out("Content-Length", ...) 22042была задана текстовой строкой. 22043</para> 22044<para lang="en"> 22045nginx sent the chunked response for HTTP/1.1 request,<br/> 22046if its length was set by text string in 22047the $r->headers_out("Content-Length", ...) method. 22048</para> 22049</change> 22050 22051<change type="bugfix"> 22052<para lang="ru"> 22053после перенаправления ошибки с помощью директивы error_page любая директива 22054модуля ngx_http_rewrite_module возвращала эту ошибку; 22055ошибка появилась в 0.4.4. 22056</para> 22057<para lang="en"> 22058after redirecting error by an "error_page" directive 22059any ngx_http_rewrite_module directive returned this error code; 22060the bug had appeared in 0.4.4. 22061</para> 22062</change> 22063 22064</changes> 22065 22066 22067<changes ver="0.4.5" date="2006-10-02"> 22068 22069<change type="bugfix"> 22070<para lang="ru"> 22071nginx не собирался на Linux и Solaris; 22072ошибка появилась в 0.4.4. 22073</para> 22074<para lang="en"> 22075nginx could not be built on Linux and Solaris; 22076the bug had appeared in 0.4.4. 22077</para> 22078</change> 22079 22080</changes> 22081 22082 22083<changes ver="0.4.4" date="2006-10-02"> 22084 22085<change type="feature"> 22086<para lang="ru"> 22087переменная $scheme. 22088</para> 22089<para lang="en"> 22090the $scheme variable. 22091</para> 22092</change> 22093 22094<change type="feature"> 22095<para lang="ru"> 22096директива expires поддерживает параметр max. 22097</para> 22098<para lang="en"> 22099the "expires" directive supports the "max" parameter. 22100</para> 22101</change> 22102 22103<change type="feature"> 22104<para lang="ru"> 22105директива include поддерживает маску "*".<br/> 22106Спасибо Jonathan Dance. 22107</para> 22108<para lang="en"> 22109the "include" directive supports the "*" mask.<br/> 22110Thanks to Jonathan Dance. 22111</para> 22112</change> 22113 22114<change type="bugfix"> 22115<para lang="ru"> 22116директива return всегда изменяла код ответа, перенаправленного 22117директивой error_page. 22118</para> 22119<para lang="en"> 22120the "return" directive always overrode the "error_page" response code 22121redirected by the "error_page" directive. 22122</para> 22123</change> 22124 22125<change type="bugfix"> 22126<para lang="ru"> 22127происходил segmentation fault, если в методе PUT передавалось 22128тело нулевой длины. 22129</para> 22130<para lang="en"> 22131a segmentation fault occurred if zero-length body was in PUT method. 22132</para> 22133</change> 22134 22135<change type="bugfix"> 22136<para lang="ru"> 22137при использовании переменных в директиве proxy_redirect редирект 22138изменялся неверно. 22139</para> 22140<para lang="en"> 22141the redirect was changed incorrectly if the variables were used 22142in the "proxy_redirect" directive. 22143</para> 22144</change> 22145 22146</changes> 22147 22148 22149<changes ver="0.4.3" date="2006-09-26"> 22150 22151<change type="change"> 22152<para lang="ru"> 22153ошибку 499 теперь нельзя перенаправить с помощью директивы error_page. 22154</para> 22155<para lang="en"> 22156now the 499 error could not be redirected using an "error_page" directive. 22157</para> 22158</change> 22159 22160<change type="feature"> 22161<para lang="ru"> 22162поддержка Solaris 10 event ports. 22163</para> 22164<para lang="en"> 22165the Solaris 10 event ports support. 22166</para> 22167</change> 22168 22169<change type="feature"> 22170<para lang="ru"> 22171модуль ngx_http_browser_module. 22172</para> 22173<para lang="en"> 22174the ngx_http_browser_module. 22175</para> 22176</change> 22177 22178<change type="bugfix"> 22179<para lang="ru"> 22180при перенаправлении ошибки 400 проксированному серверу 22181помощью директивы error_page мог произойти segmentation fault. 22182</para> 22183<para lang="en"> 22184a segmentation fault may occur while redirecting the 400 error 22185to the proxied server using a "proxy_pass" directive. 22186</para> 22187</change> 22188 22189<change type="bugfix"> 22190<para lang="ru"> 22191происходил segmentation fault, если в директиве proxy_pass использовался 22192unix domain сокет; 22193ошибка появилась в 0.3.47. 22194</para> 22195<para lang="en"> 22196a segmentation fault occurred if an unix domain socket was used in 22197a "proxy_pass" directive; 22198the bug had appeared in 0.3.47. 22199</para> 22200</change> 22201 22202<change type="bugfix"> 22203<para lang="ru"> 22204SSI не работал с ответами memcached и небуферизированными проксированными 22205ответами. 22206</para> 22207<para lang="en"> 22208SSI did work with memcached and nonbuffered responses. 22209</para> 22210</change> 22211 22212<change type="workaround"> 22213<para lang="ru"> 22214обход ошибки PAUSE hardware capability в Sun Studio. 22215</para> 22216<para lang="en"> 22217of the Sun Studio PAUSE hardware capability bug. 22218</para> 22219</change> 22220 22221</changes> 22222 22223 22224<changes ver="0.4.2" date="2006-09-14"> 22225 22226<change type="bugfix"> 22227<para lang="ru"> 22228убрана поддержка флага O_NOATIME на Linux; 22229ошибка появилась в 0.4.1. 22230</para> 22231<para lang="en"> 22232the O_NOATIME flag support on Linux was canceled; 22233the bug had appeared in 0.4.1. 22234</para> 22235</change> 22236 22237</changes> 22238 22239 22240<changes ver="0.4.1" date="2006-09-14"> 22241 22242<change type="bugfix"> 22243<para lang="ru"> 22244совместимость с DragonFlyBSD.<br/> 22245Спасибо Павлу Назарову. 22246</para> 22247<para lang="en"> 22248the DragonFlyBSD compatibility.<br/> 22249Thanks to Pavel Nazarov. 22250</para> 22251</change> 22252 22253<change type="workaround"> 22254<para lang="ru"> 22255обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G. 22256</para> 22257<para lang="en"> 22258of bug in 64-bit Linux sendfile(), when file is more than 2G. 22259</para> 22260</change> 22261 22262<change type="feature"> 22263<para lang="ru"> 22264теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/> 22265Спасибо Yusuf Goolamabbas. 22266</para> 22267<para lang="en"> 22268now on Linux nginx uses O_NOATIME flag for static requests.<br/> 22269Thanks to Yusuf Goolamabbas. 22270</para> 22271</change> 22272 22273</changes> 22274 22275 22276<changes ver="0.4.0" date="2006-08-30"> 22277 22278<change> 22279<para lang="ru"> 22280Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы 22281init module в фазу HTTP postconfiguration. 22282</para> 22283<para lang="en"> 22284Change in internal API: the HTTP modules initialization was moved 22285from the init module phase to the HTTP postconfiguration phase. 22286</para> 22287</change> 22288 22289<change type="change"> 22290<para lang="ru"> 22291теперь тело запроса в модуле ngx_http_perl_module не считывается 22292заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body. 22293</para> 22294<para lang="en"> 22295now the request body is not read beforehand for the ngx_http_perl_module: 22296it's required to start the reading using the $r->has_request_body method. 22297</para> 22298</change> 22299 22300<change type="feature"> 22301<para lang="ru"> 22302модуль ngx_http_perl_module поддерживает код возврата DECLINED. 22303</para> 22304<para lang="en"> 22305the ngx_http_perl_module supports the DECLINED return code. 22306</para> 22307</change> 22308 22309<change type="feature"> 22310<para lang="ru"> 22311модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date" 22312для метода PUT. 22313</para> 22314<para lang="en"> 22315the ngx_http_dav_module supports the incoming "Date" header line 22316for the PUT method. 22317</para> 22318</change> 22319 22320<change type="feature"> 22321<para lang="ru"> 22322директива ssi работает внутри блока if. 22323</para> 22324<para lang="en"> 22325the "ssi" directive is available inside the "if" block. 22326</para> 22327</change> 22328 22329<change type="bugfix"> 22330<para lang="ru"> 22331происходил segmentation fault, если в директиве index использовалась 22332переменные и при этом первое имя индексного файла было без переменных; 22333ошибка появилась в 0.1.29. 22334</para> 22335<para lang="en"> 22336a segmentation fault occurred if there was an "index" directive with 22337variables and the first index name was without variables; 22338the bug had appeared in 0.1.29. 22339</para> 22340</change> 22341 22342</changes> 22343 22344 22345<changes ver="0.3.61" date="2006-08-28"> 22346 22347<change type="change"> 22348<para lang="ru"> 22349директива tcp_nodelay теперь по умолчанию включена. 22350</para> 22351<para lang="en"> 22352now the "tcp_nodelay" directive is turned on by default. 22353</para> 22354</change> 22355 22356<change type="feature"> 22357<para lang="ru"> 22358директива msie_refresh. 22359</para> 22360<para lang="en"> 22361the "msie_refresh" directive. 22362</para> 22363</change> 22364 22365<change type="feature"> 22366<para lang="ru"> 22367директива recursive_error_pages. 22368</para> 22369<para lang="en"> 22370the "recursive_error_pages" directive. 22371</para> 22372</change> 22373 22374<change type="bugfix"> 22375<para lang="ru"> 22376директива rewrite возвращала неправильный редирект, если редирект 22377включал в себя выделенные закодированные символы из оригинального URI. 22378</para> 22379<para lang="en"> 22380the "rewrite" directive returned incorrect redirect, if the redirect 22381had the captured escaped symbols from original URI. 22382</para> 22383</change> 22384 22385</changes> 22386 22387 22388<changes ver="0.3.60" date="2006-08-18"> 22389 22390<change type="bugfix"> 22391<para lang="ru"> 22392во время перенаправления ошибки рабочий процесс мог зациклиться; 22393ошибка появилась в 0.3.59. 22394</para> 22395<para lang="en"> 22396a worker process may got caught in an endless loop 22397while an error redirection; 22398the bug had appeared in 0.3.59. 22399</para> 22400</change> 22401 22402</changes> 22403 22404 22405<changes ver="0.3.59" date="2006-08-16"> 22406 22407<change type="feature"> 22408<para lang="ru"> 22409теперь можно делать несколько перенаправлений через директиву error_page. 22410</para> 22411<para lang="en"> 22412now is possible to do several redirection using the "error_page" directive. 22413</para> 22414</change> 22415 22416<change type="bugfix"> 22417<para lang="ru"> 22418директива dav_access не поддерживала три параметра. 22419</para> 22420<para lang="en"> 22421the "dav_access" directive did not support three parameters. 22422</para> 22423</change> 22424 22425<change type="bugfix"> 22426<para lang="ru"> 22427директива error_page не изменяла строку "Content-Type" 22428после перенаправления с помощью "X-Accel-Redirect"; 22429ошибка появилась в 0.3.58. 22430</para> 22431<para lang="en"> 22432the "error_page" directive did not changes the "Content-Type" header line 22433after the "X-Accel-Redirect" was used; 22434the bug had appeared in 0.3.58. 22435</para> 22436</change> 22437 22438</changes> 22439 22440 22441<changes ver="0.3.58" date="2006-08-14"> 22442 22443<change type="feature"> 22444<para lang="ru"> 22445директива error_page поддерживает переменные. 22446</para> 22447<para lang="en"> 22448the "error_page" directive supports the variables. 22449</para> 22450</change> 22451 22452<change type="change"> 22453<para lang="ru"> 22454теперь на Linux используется интерфейс procfs вместо sysctl. 22455</para> 22456<para lang="en"> 22457now the procfs interface instead of sysctl is used on Linux. 22458</para> 22459</change> 22460 22461<change type="change"> 22462<para lang="ru"> 22463теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется 22464из первоначального ответа. 22465</para> 22466<para lang="en"> 22467now the "Content-Type" header line is inherited from first response 22468when the "X-Accel-Redirect" was used. 22469</para> 22470</change> 22471 22472<change type="bugfix"> 22473<para lang="ru"> 22474директива error_page не перенаправляла ошибку 413. 22475</para> 22476<para lang="en"> 22477the "error_page" directive did not redirect the 413 error. 22478</para> 22479</change> 22480 22481<change type="bugfix"> 22482<para lang="ru"> 22483завершающий "?" не удалял старые аргументы, если в переписанном URI 22484не было новых аргументов. 22485</para> 22486<para lang="en"> 22487the trailing "?" did not remove old arguments if no new arguments 22488were added to a rewritten URI. 22489</para> 22490</change> 22491 22492<change type="bugfix"> 22493<para lang="ru"> 22494nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 22495</para> 22496<para lang="en"> 22497nginx could not run on 64-bit FreeBSD 7.0-CURRENT. 22498</para> 22499</change> 22500 22501</changes> 22502 22503 22504<changes ver="0.3.57" date="2006-08-09"> 22505 22506<change type="feature"> 22507<para lang="ru"> 22508переменная $ssl_client_serial. 22509</para> 22510<para lang="en"> 22511the $ssl_client_serial variable. 22512</para> 22513</change> 22514 22515<change type="bugfix"> 22516<para lang="ru"> 22517в операторе "!-e" в директиве if.<br/> 22518Спасибо Андриану Буданцову. 22519</para> 22520<para lang="en"> 22521in the "!-e" operator of the "if" directive.<br/> 22522Thanks to Andrian Budanstov. 22523</para> 22524</change> 22525 22526<change type="bugfix"> 22527<para lang="ru"> 22528при проверке клиентского сертификата nginx не передавал клиенту 22529информацию о требуемых сертификатах. 22530</para> 22531<para lang="en"> 22532while a client certificate verification nginx did not send to a client 22533the required certificates information. 22534</para> 22535</change> 22536 22537<change type="bugfix"> 22538<para lang="ru"> 22539переменная $document_root не поддерживала переменные в директиве root. 22540</para> 22541<para lang="en"> 22542the $document_root variable did not support the variables in the "root" 22543directive. 22544</para> 22545</change> 22546 22547</changes> 22548 22549 22550<changes ver="0.3.56" date="2006-08-04"> 22551 22552<change type="feature"> 22553<para lang="ru"> 22554директива dav_access. 22555</para> 22556<para lang="en"> 22557the "dav_access" directive. 22558</para> 22559</change> 22560 22561<change type="feature"> 22562<para lang="ru"> 22563директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x". 22564</para> 22565<para lang="en"> 22566the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" 22567operators. 22568</para> 22569</change> 22570 22571<change type="bugfix"> 22572<para lang="ru"> 22573при записи в access_log некоторых передаваемых клиенту строк заголовков 22574происходил segmentation fault, если запрос возвращал редирект. 22575</para> 22576<para lang="en"> 22577a segmentation fault occurred if a request returned a redirect and 22578some sent to client header lines were logged in the access log. 22579</para> 22580</change> 22581 22582</changes> 22583 22584 22585<changes ver="0.3.55" date="2006-07-28"> 22586 22587<change type="feature"> 22588<para lang="ru"> 22589параметр stub в команде SSI include. 22590</para> 22591<para lang="en"> 22592the "stub" parameter in the "include" SSI command. 22593</para> 22594</change> 22595 22596<change type="feature"> 22597<para lang="ru"> 22598команда SSI block. 22599</para> 22600<para lang="en"> 22601the "block" SSI command. 22602</para> 22603</change> 22604 22605<change type="feature"> 22606<para lang="ru"> 22607скрипт unicode2nginx добавлен в contrib. 22608</para> 22609<para lang="en"> 22610the unicode2nginx script was added to contrib. 22611</para> 22612</change> 22613 22614<change type="bugfix"> 22615<para lang="ru"> 22616если root был задан только переменной, то корень задавался 22617относительно префикса сервера. 22618</para> 22619<para lang="en"> 22620if a "root" was specified by variable only, then the root was relative 22621to a server prefix. 22622</para> 22623</change> 22624 22625<change type="bugfix"> 22626<para lang="ru"> 22627если в запросе был "//" или "/.", и после этого закодированные 22628символы в виде "%XX", то проксируемый запрос передавался незакодированным. 22629</para> 22630<para lang="en"> 22631if the request contained "//" or "/./" and escaped symbols after them, 22632then the proxied request was sent unescaped. 22633</para> 22634</change> 22635 22636<change type="bugfix"> 22637<para lang="ru"> 22638метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает 22639все строки "Cookie" в заголовке запроса. 22640</para> 22641<para lang="en"> 22642the $r->header_in("Cookie") of the ngx_http_perl_module now returns 22643all "Cookie" header lines. 22644</para> 22645</change> 22646 22647<change type="bugfix"> 22648<para lang="ru"> 22649происходил segmentation fault, если использовался 22650<nobr>"client_body_in_file_only on"</nobr> 22651и делался переход к следующему бэкенду. 22652</para> 22653<para lang="en"> 22654a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 22655was used and nginx switched to a next upstream. 22656</para> 22657</change> 22658 22659<change type="bugfix"> 22660<para lang="ru"> 22661при некоторых условиях во время переконфигурации коды символов 22662внутри директивы charset_map могли считаться неверными; 22663ошибка появилась в 0.3.50. 22664</para> 22665<para lang="en"> 22666on some condition while reconfiguration character codes 22667inside the "charset_map" may be treated invalid; 22668the bug had appeared in 0.3.50. 22669</para> 22670</change> 22671 22672</changes> 22673 22674 22675<changes ver="0.3.54" date="2006-07-11"> 22676 22677<change type="feature"> 22678<para lang="ru"> 22679nginx теперь записывает в лог информацию о подзапросах. 22680</para> 22681<para lang="en"> 22682nginx now logs the subrequest information to the error log. 22683</para> 22684</change> 22685 22686<change type="feature"> 22687<para lang="ru"> 22688директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream 22689поддерживают параметр off. 22690</para> 22691<para lang="en"> 22692the "proxy_next_upstream", "fastcgi_next_upstream", 22693and "memcached_next_upstream" directives support the "off" parameter. 22694</para> 22695</change> 22696 22697<change type="feature"> 22698<para lang="ru"> 22699директива debug_connection поддерживает запись адресов в формате CIDR. 22700</para> 22701<para lang="en"> 22702the "debug_connection" directive supports the CIDR address form. 22703</para> 22704</change> 22705 22706<change type="bugfix"> 22707<para lang="ru"> 22708при перекодировании ответа проксированного сервера или сервера FastCGI 22709в UTF-8 или наоборот ответ мог передаваться не полностью. 22710</para> 22711<para lang="en"> 22712if a response of proxied server or FastCGI server was converted from UTF-8 22713or back, then it may be transferred incomplete. 22714</para> 22715</change> 22716 22717<change type="bugfix"> 22718<para lang="ru"> 22719переменная $upstream_response_time содержала время только первого 22720обращения к бэкенду. 22721</para> 22722<para lang="en"> 22723the $upstream_response_time variable had the time of the first 22724request to a backend only. 22725</para> 22726</change> 22727 22728<change type="bugfix"> 22729<para lang="ru"> 22730nginx не собирался на платформе amd64; 22731ошибка появилась в 0.3.53. 22732</para> 22733<para lang="en"> 22734nginx could not be built on amd64 platform; 22735the bug had appeared in 0.3.53. 22736</para> 22737</change> 22738 22739</changes> 22740 22741 22742<changes ver="0.3.53" date="2006-07-07"> 22743 22744<change type="change"> 22745<para lang="ru"> 22746директива add_header добавляет строки в ответы с кодом 204, 301 и 302. 22747</para> 22748<para lang="en"> 22749the "add_header" directive adds the string to 204, 301, and 302 responses. 22750</para> 22751</change> 22752 22753<change type="feature"> 22754<para lang="ru"> 22755директива server в блоке upstream поддерживает параметр weight. 22756</para> 22757<para lang="en"> 22758the "server" directive in the "upstream" context supports 22759the "weight" parameter. 22760</para> 22761</change> 22762 22763<change type="feature"> 22764<para lang="ru"> 22765директива server_name поддерживает маску "*". 22766</para> 22767<para lang="en"> 22768the "server_name" directive supports the "*" wildcard. 22769</para> 22770</change> 22771 22772<change type="feature"> 22773<para lang="ru"> 22774nginx поддерживает тело запроса больше 2G. 22775</para> 22776<para lang="en"> 22777nginx supports the request body size more than 2G. 22778</para> 22779</change> 22780 22781<change type="bugfix"> 22782<para lang="ru"> 22783если при использовании "satisfy_any on" клиент успешно проходил аутентификацию, 22784в лог всё равно записалоcь сообщение "access forbidden by rule". 22785</para> 22786<para lang="en"> 22787if a client was successfully authorized using "satisfy_any on", then anyway 22788the message "access forbidden by rule" was written in the log. 22789</para> 22790</change> 22791 22792<change type="bugfix"> 22793<para lang="ru"> 22794метод PUT мог ошибочно не создать файл и вернуть код 409. 22795</para> 22796<para lang="en"> 22797the "PUT" method may erroneously not create a file and return the 409 code. 22798</para> 22799</change> 22800 22801<change type="bugfix"> 22802<para lang="ru"> 22803если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx 22804продолжал проксирование. 22805</para> 22806<para lang="en"> 22807if the IMAP/POP3 backend returned an error, then nginx continued proxying 22808anyway. 22809</para> 22810</change> 22811 22812</changes> 22813 22814 22815<changes ver="0.3.52" date="2006-07-03"> 22816 22817<change type="change"> 22818<para lang="ru"> 22819восстановлено поведение модуля ngx_http_index_module для запросов "POST /": 22820как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405. 22821</para> 22822<para lang="en"> 22823the ngx_http_index_module behavior for the "POST /" requests is reverted 22824to the 0.3.40 version state: the module now does not return the 405 error. 22825</para> 22826</change> 22827 22828<change type="bugfix"> 22829<para lang="ru"> 22830при использовании ограничения скорости рабочий процесс мог зациклиться; 22831ошибка появилась в 0.3.37. 22832</para> 22833<para lang="en"> 22834the worker process may got caught in an endless loop if the limit rate was used; 22835the bug had appeared in 0.3.37. 22836</para> 22837</change> 22838 22839<change type="bugfix"> 22840<para lang="ru"> 22841модуль ngx_http_charset_module записывал в лог ошибку "unknown charset", 22842даже если перекодировка не требовалась; 22843ошибка появилась в 0.3.50. 22844</para> 22845<para lang="en"> 22846ngx_http_charset_module logged "unknown charset" alert, even if the recoding 22847was not needed; 22848the bug had appeared in 0.3.50. 22849</para> 22850</change> 22851 22852<change type="bugfix"> 22853<para lang="ru"> 22854если в результате запроса PUT возвращался код 409, то временный файл 22855не удалялся. 22856</para> 22857<para lang="en"> 22858if a code response of the PUT request was 409, then a temporary file 22859was not removed. 22860</para> 22861</change> 22862 22863</changes> 22864 22865 22866<changes ver="0.3.51" date="2006-06-30"> 22867 22868<change type="bugfix"> 22869<para lang="ru"> 22870при некоторых условиях в SSI мог пропадать символы "<"; 22871ошибка появилась в 0.3.50. 22872</para> 22873<para lang="en"> 22874the "<" symbols might disappeared some conditions in the SSI; 22875the bug had appeared in 0.3.50. 22876</para> 22877</change> 22878 22879</changes> 22880 22881 22882<changes ver="0.3.50" date="2006-06-28"> 22883 22884<change type="change"> 22885<para lang="ru"> 22886директивы proxy_redirect_errors и fastcgi_redirect_errors 22887переименованы соответственно в proxy_intercept_errors и 22888fastcgi_intercept_errors. 22889</para> 22890<para lang="en"> 22891the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives 22892was renamed to the "proxy_intercept_errors" and 22893"fastcgi_intercept_errors" directives. 22894</para> 22895</change> 22896 22897<change type="feature"> 22898<para lang="ru"> 22899модуль ngx_http_charset_module поддерживает перекодирование из 22900однобайтных кодировок в UTF-8 и обратно. 22901</para> 22902<para lang="en"> 22903the ngx_http_charset_module supports the recoding from the single byte 22904encodings to the UTF-8 encoding and back. 22905</para> 22906</change> 22907 22908<change type="feature"> 22909<para lang="ru"> 22910в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset" 22911в ответе бэкенда. 22912</para> 22913<para lang="en"> 22914the "X-Accel-Charset" response header line is supported in proxy 22915and FastCGI mode. 22916</para> 22917</change> 22918 22919<change type="bugfix"> 22920<para lang="ru"> 22921символ "\" в парах "\"" и "\'" в SSI командах убирался, только если 22922также использовался символ "$". 22923</para> 22924<para lang="en"> 22925the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 22926was removed only if the command also has the "$" symbol. 22927</para> 22928</change> 22929 22930<change type="bugfix"> 22931<para lang="ru"> 22932при некоторых условиях в SSI после вставки могла быть добавлена 22933строка "<!--". 22934</para> 22935<para lang="en"> 22936the "<!--" string might be added on some conditions 22937in the SSI after inclusion. 22938</para> 22939</change> 22940 22941<change type="bugfix"> 22942<para lang="ru"> 22943если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr> 22944то при использовании небуферизированного проксировании не закрывалось соединение 22945с клиентом. 22946</para> 22947<para lang="en"> 22948if the "Content-Length: 0" header line was in response, then 22949in nonbuffered proxying mode the client connection was not closed. 22950</para> 22951</change> 22952 22953</changes> 22954 22955 22956<changes ver="0.3.49" date="2006-05-31"> 22957 22958<change type="bugfix"> 22959<para lang="ru"> 22960в директиве set. 22961</para> 22962<para lang="en"> 22963in the "set" directive. 22964</para> 22965</change> 22966 22967<change type="bugfix"> 22968<para lang="ru"> 22969при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, 22970вместо вывода второго и остальных подзапросов в ответ включался вывод 22971первого подзапроса. 22972</para> 22973<para lang="en"> 22974if two or more FastCGI subrequests was in SSI, then first subrequest output 22975was included instead of second and following subrequests. 22976</para> 22977</change> 22978 22979</changes> 22980 22981 22982<changes ver="0.3.48" date="2006-05-29"> 22983 22984<change type="change"> 22985<para lang="ru"> 22986теперь модуль ngx_http_charset_module работает для подзапросов, 22987в ответах которых нет строки заголовка "Content-Type". 22988</para> 22989<para lang="en"> 22990now the ngx_http_charset_module works for subrequests, 22991if the response has no "Content-Type" header line. 22992</para> 22993</change> 22994 22995<change type="bugfix"> 22996<para lang="ru"> 22997если в директиве proxy_pass не было URI, 22998то директива "proxy_redirect default" добавляла в переписанный 22999редирект в начало лишний слэш. 23000</para> 23001<para lang="en"> 23002if the "proxy_pass" directive has no URI part, 23003then the "proxy_redirect default" directive add the unnecessary slash 23004in start of the rewritten redirect. 23005</para> 23006</change> 23007 23008<change type="bugfix"> 23009<para lang="ru"> 23010внутренний редирект всегда превращал любой HTTP-метод в GET, 23011теперь это делается только для редиректов, выполняемых с помощью 23012X-Accel-Redirect, и у которых метод не равен HEAD; 23013ошибка появилась в 0.3.42. 23014</para> 23015<para lang="en"> 23016the internal redirect always transform client's HTTP method to GET, 23017now the transformation is made for the "X-Accel-Redirect" redirects only 23018and if the method is not HEAD; 23019the bug had appeared in 0.3.42. 23020</para> 23021</change> 23022 23023<change type="bugfix"> 23024<para lang="ru"> 23025модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков; 23026ошибка появилась в 0.3.46. 23027</para> 23028<para lang="en"> 23029the ngx_http_perl_module could not be built, if the perl was built 23030with the threads support; 23031the bug had appeared in 0.3.46. 23032</para> 23033</change> 23034 23035</changes> 23036 23037 23038<changes ver="0.3.47" date="2006-05-23"> 23039 23040<change type="feature"> 23041<para lang="ru"> 23042директива upstream. 23043</para> 23044<para lang="en"> 23045the "upstream" directive. 23046</para> 23047</change> 23048 23049<change type="change"> 23050<para lang="ru"> 23051символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается. 23052</para> 23053<para lang="en"> 23054now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 23055is always removed. 23056</para> 23057</change> 23058 23059</changes> 23060 23061 23062<changes ver="0.3.46" date="2006-05-11"> 23063 23064<change type="feature"> 23065<para lang="ru"> 23066директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header 23067и fastcgi_pass_header. 23068</para> 23069<para lang="en"> 23070the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", 23071and "fastcgi_pass_header" directives. 23072</para> 23073</change> 23074 23075<change type="change"> 23076<para lang="ru"> 23077директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server 23078упразднены. 23079</para> 23080<para lang="en"> 23081the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" 23082directives were canceled. 23083</para> 23084</change> 23085 23086<change type="feature"> 23087<para lang="ru"> 23088в режиме прокси поддерживается строка заголовка "X-Accel-Buffering" 23089в ответе бэкенда. 23090</para> 23091<para lang="en"> 23092the "X-Accel-Buffering" response header line is supported in proxy mode. 23093</para> 23094</change> 23095 23096<change type="bugfix"> 23097<para lang="ru"> 23098ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module. 23099</para> 23100<para lang="en"> 23101the reconfiguration bug and memory leaks in the ngx_http_perl_module. 23102</para> 23103</change> 23104 23105</changes> 23106 23107 23108<changes ver="0.3.45" date="2006-05-06"> 23109 23110<change type="feature"> 23111<para lang="ru"> 23112директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. 23113</para> 23114<para lang="en"> 23115the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" 23116directives. 23117</para> 23118</change> 23119 23120<change type="change"> 23121<para lang="ru"> 23122теперь переменная $request_method возвращает метод только основного запроса. 23123</para> 23124<para lang="en"> 23125the $request_method variable now returns the main request method. 23126</para> 23127</change> 23128 23129<change type="change"> 23130<para lang="ru"> 23131в таблице перекодировки koi-win изменены коды символа &deg;. 23132</para> 23133<para lang="en"> 23134the &deg; symbol codes were changed in koi-win conversion table. 23135</para> 23136</change> 23137 23138<change type="feature"> 23139<para lang="ru"> 23140в таблицу перекодировки koi-win добавлены символы евро и номера. 23141</para> 23142<para lang="en"> 23143the euro and N symbols were added to koi-win conversion table. 23144</para> 23145</change> 23146 23147<change type="bugfix"> 23148<para lang="ru"> 23149если nginx распределял запросы на несколько машин, то при падении 23150одной из них запросы, предназначенные для этой машины, перенаправлялись только 23151на одну машину вместо того, чтобы равномерно распределяться между остальными. 23152</para> 23153<para lang="en"> 23154if nginx distributed the requests among several backends and some backend 23155failed, then requests intended for this backend was directed to one live 23156backend only instead of being distributed among the rest. 23157</para> 23158</change> 23159 23160</changes> 23161 23162 23163<changes ver="0.3.44" date="2006-05-04"> 23164 23165<change type="feature"> 23166<para lang="ru"> 23167параметр wait в команде SSI include. 23168</para> 23169<para lang="en"> 23170the "wait" parameter in the "include" SSI command. 23171</para> 23172</change> 23173 23174<change type="feature"> 23175<para lang="ru"> 23176в таблицу перекодировки koi-win добавлены украинские и белорусские символы. 23177</para> 23178<para lang="en"> 23179the Ukrainian and Byelorussian characters were added to koi-win conversion 23180table. 23181</para> 23182</change> 23183 23184<change type="bugfix"> 23185<para lang="ru"> 23186в SSI. 23187</para> 23188<para lang="en"> 23189in the SSI. 23190</para> 23191</change> 23192 23193</changes> 23194 23195 23196<changes ver="0.3.43" date="2006-04-26"> 23197 23198<change type="bugfix"> 23199<para lang="ru"> 23200в SSI. 23201</para> 23202<para lang="en"> 23203in the SSI. 23204</para> 23205</change> 23206 23207</changes> 23208 23209 23210<changes ver="0.3.42" date="2006-04-26"> 23211 23212<change type="feature"> 23213<para lang="ru"> 23214параметр bind в директиве listen в IMAP/POP3 прокси. 23215</para> 23216<para lang="en"> 23217the "bind" option of the "listen" directive in IMAP/POP3 proxy. 23218</para> 23219</change> 23220 23221<change type="bugfix"> 23222<para lang="ru"> 23223ошибки при использовании в директиве rewrite одного и того же 23224выделения более одного раза. 23225</para> 23226<para lang="en"> 23227if the same capture in the "rewrite" directive was used more then once. 23228</para> 23229</change> 23230 23231<change type="bugfix"> 23232<para lang="ru"> 23233в лог не записывались переменные 23234$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, 23235$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding. 23236</para> 23237<para lang="en"> 23238the $sent_http_content_type, $sent_http_content_length, 23239$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, 23240and $sent_http_transfer_encoding variables were not written to access log. 23241</para> 23242</change> 23243 23244<change type="bugfix"> 23245<para lang="ru"> 23246переменная $sent_http_cache_control возвращала содержимое только одной 23247строки "Cache-Control" в заголовке ответа. 23248</para> 23249<para lang="en"> 23250the $sent_http_cache_control returned value of the single "Cache-Control" 23251response header line. 23252</para> 23253</change> 23254 23255</changes> 23256 23257 23258<changes ver="0.3.41" date="2006-04-21"> 23259 23260<change type="feature"> 23261<para lang="ru"> 23262ключ -v. 23263</para> 23264<para lang="en"> 23265the -v switch. 23266</para> 23267</change> 23268 23269<change type="bugfix"> 23270<para lang="ru"> 23271при включении в SSI удалённых подзапросов 23272мог произойти segmentation fault. 23273</para> 23274<para lang="en"> 23275the segmentation fault may occurred if the SSI page has remote subrequests. 23276</para> 23277</change> 23278 23279<change type="bugfix"> 23280<para lang="ru"> 23281в обработке FastCGI. 23282</para> 23283<para lang="en"> 23284in FastCGI handling. 23285</para> 23286</change> 23287 23288<change type="bugfix"> 23289<para lang="ru"> 23290если путь к перловым модулям не был указан с помощью 23291--with-perl_modules_path=PATH или директивы perl_modules, 23292то на старте происходил segmentation fault. 23293</para> 23294<para lang="en"> 23295if the perl modules path was not set using 23296--with-perl_modules_path=PATH or the "perl_modules", then 23297the segmentation fault was occurred. 23298</para> 23299</change> 23300 23301</changes> 23302 23303 23304<changes ver="0.3.40" date="2006-04-19"> 23305 23306<change type="feature"> 23307<para lang="ru"> 23308модуль ngx_http_dav_module поддерживает метод MKCOL. 23309</para> 23310<para lang="en"> 23311the ngx_http_dav_module supports the MKCOL method. 23312</para> 23313</change> 23314 23315<change type="feature"> 23316<para lang="ru"> 23317директива create_full_put_path. 23318</para> 23319<para lang="en"> 23320the "create_full_put_path" directive. 23321</para> 23322</change> 23323 23324<change type="feature"> 23325<para lang="ru"> 23326переменная $limit_rate. 23327</para> 23328<para lang="en"> 23329the "$limit_rate" variable. 23330</para> 23331</change> 23332 23333</changes> 23334 23335 23336<changes ver="0.3.39" date="2006-04-17"> 23337 23338<change type="feature"> 23339<para lang="ru"> 23340директива uninitialized_variable_warn; уровень логгирования сообщения 23341о неинициализированной переменной понижен с уровня alert на warn. 23342</para> 23343<para lang="en"> 23344the "uninitialized_variable_warn" directive; the logging level of the 23345"uninitialized variable" message was lowered from "alert" to "warn". 23346</para> 23347</change> 23348 23349<change type="feature"> 23350<para lang="ru"> 23351директива override_charset. 23352</para> 23353<para lang="en"> 23354the "override_charset" directive. 23355</para> 23356</change> 23357 23358<change type="change"> 23359<para lang="ru"> 23360при использовании неизвестной переменной в SSI-командах echo и if expr='$name' 23361теперь не записывается в лог сообщение о неизвестной переменной. 23362</para> 23363<para lang="en"> 23364now if the unknown variable is used in the "echo" and "if expr='$name'" 23365SSI-commands, then the "unknown variable" message is not logged. 23366</para> 23367</change> 23368 23369<change type="bugfix"> 23370<para lang="ru"> 23371счётчик активных соединений рос при превышении лимита соединений, 23372заданного директивой worker_connections; 23373ошибка появилась в 0.2.0. 23374</para> 23375<para lang="en"> 23376the active connection counter increased on the exceeding of the connection 23377limit specified by the "worker_connections" directive; 23378the bug had appeared in 0.2.0. 23379</para> 23380</change> 23381 23382<change type="bugfix"> 23383<para lang="ru"> 23384при некоторых условия ограничение скорости соединения могло не работать; 23385ошибка появилась в 0.3.38. 23386</para> 23387<para lang="en"> 23388the limit rate might not work on some condition; 23389the bug had appeared in 0.3.38. 23390</para> 23391</change> 23392 23393</changes> 23394 23395 23396<changes ver="0.3.38" date="2006-04-14"> 23397 23398<change type="feature"> 23399<para lang="ru"> 23400модуль ngx_http_dav_module. 23401</para> 23402<para lang="en"> 23403the ngx_http_dav_module. 23404</para> 23405</change> 23406 23407<change type="change"> 23408<para lang="ru"> 23409оптимизация модуля ngx_http_perl_module.<br/> 23410Спасибо Сергею Скворцову. 23411</para> 23412<para lang="en"> 23413the ngx_http_perl_module optimizations.<br/> 23414Thanks to Sergey Skvortsov. 23415</para> 23416</change> 23417 23418<change type="feature"> 23419<para lang="ru"> 23420модуль ngx_http_perl_module поддерживает метод $r->request_body_file. 23421</para> 23422<para lang="en"> 23423the ngx_http_perl_module supports the $r->request_body_file method. 23424</para> 23425</change> 23426 23427<change type="feature"> 23428<para lang="ru"> 23429директива client_body_in_file_only. 23430</para> 23431<para lang="en"> 23432the "client_body_in_file_only" directive. 23433</para> 23434</change> 23435 23436<change type="workaround"> 23437<para lang="ru"> 23438теперь при переполнении диска nginx пытается писать access_log'и только 23439раз в секунду.<br/> 23440Спасибо Антону Южанинову и Максиму Дунину. 23441</para> 23442<para lang="en"> 23443now on disk overflow nginx tries to write access logs once a second only.<br/> 23444Thanks to Anton Yuzhaninov and Maxim Dounin. 23445</para> 23446</change> 23447 23448<change type="bugfix"> 23449<para lang="ru"> 23450теперь директива limit_rate точнее ограничивает скорость при значениях 23451больше <nobr>100 Kbyte/s.</nobr><br/> 23452Спасибо ForJest. 23453</para> 23454<para lang="en"> 23455now the "limit_rate" directive more precisely limits rate if rate is more 23456than <nobr>100 Kbyte/s.</nobr><br/> 23457Thanks to ForJest. 23458</para> 23459</change> 23460 23461<change type="bugfix"> 23462<para lang="ru"> 23463IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n" 23464в логине и пароле в закодированном виде.<br/> 23465Спасибо Максиму Дунину. 23466</para> 23467<para lang="en"> 23468now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and 23469password to pass authorization server.<br/> 23470Thanks to Maxim Dounin. 23471</para> 23472</change> 23473 23474</changes> 23475 23476 23477<changes ver="0.3.37" date="2006-04-07"> 23478 23479<change type="feature"> 23480<para lang="ru"> 23481директива limit_except. 23482</para> 23483<para lang="en"> 23484the "limit_except" directive. 23485</para> 23486</change> 23487 23488<change type="feature"> 23489<para lang="ru"> 23490директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". 23491</para> 23492<para lang="en"> 23493the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators. 23494</para> 23495</change> 23496 23497<change type="feature"> 23498<para lang="ru"> 23499модуль ngx_http_perl_module поддерживает метод $r->request_body. 23500</para> 23501<para lang="en"> 23502the ngx_http_perl_module supports the $r->request_body method. 23503</para> 23504</change> 23505 23506<change type="bugfix"> 23507<para lang="ru"> 23508в модуле ngx_http_addition_filter_module. 23509</para> 23510<para lang="en"> 23511in the ngx_http_addition_filter_module. 23512</para> 23513</change> 23514 23515</changes> 23516 23517 23518<changes ver="0.3.36" date="2006-04-05"> 23519 23520<change type="feature"> 23521<para lang="ru"> 23522модуль ngx_http_addition_filter_module. 23523</para> 23524<para lang="en"> 23525the ngx_http_addition_filter_module. 23526</para> 23527</change> 23528 23529<change type="feature"> 23530<para lang="ru"> 23531директивы proxy_pass и fastcgi_pass можно использовать внутри блока if. 23532</para> 23533<para lang="en"> 23534the "proxy_pass" and "fastcgi_pass" directives may be used inside 23535the "if" block. 23536</para> 23537</change> 23538 23539<change type="feature"> 23540<para lang="ru"> 23541директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. 23542</para> 23543<para lang="en"> 23544the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. 23545</para> 23546</change> 23547 23548<change type="feature"> 23549<para lang="ru"> 23550переменная $request_completion. 23551</para> 23552<para lang="en"> 23553the "$request_completion" variable. 23554</para> 23555</change> 23556 23557<change type="feature"> 23558<para lang="ru"> 23559модуль ngx_http_perl_module поддерживает методы $r->request_method и 23560$r->remote_addr. 23561</para> 23562<para lang="en"> 23563the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. 23564</para> 23565</change> 23566 23567<change type="feature"> 23568<para lang="ru"> 23569модуль ngx_http_ssi_module поддерживает команду elif. 23570</para> 23571<para lang="en"> 23572the ngx_http_ssi_module supports the "elif" command. 23573</para> 23574</change> 23575 23576<change type="bugfix"> 23577<para lang="ru"> 23578строка "\/" в начале выражения команды if модуля ngx_http_ssi_module 23579воспринималась неверно. 23580</para> 23581<para lang="en"> 23582the "\/" string in the expression of the "if" command of the 23583ngx_http_ssi_module was treated incorrectly. 23584</para> 23585</change> 23586 23587<change type="bugfix"> 23588<para lang="ru"> 23589в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module. 23590</para> 23591<para lang="en"> 23592in the regular expressions in the "if" command of the ngx_http_ssi_module. 23593</para> 23594</change> 23595 23596<change type="bugfix"> 23597<para lang="ru"> 23598при задании относительного пути в директивах 23599client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules 23600использовался каталог относительно текущего каталога, а не относительно 23601префикса сервера. 23602</para> 23603<para lang="en"> 23604if the relative path was specified in the "client_body_temp_path", 23605"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, 23606then the directory was used relatively to a current path but not 23607to a server prefix. 23608</para> 23609</change> 23610 23611</changes> 23612 23613 23614<changes ver="0.3.35" date="2006-03-22"> 23615 23616<change type="bugfix"> 23617<para lang="ru"> 23618accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой 23619директивы listen; 23620ошибка появилась в 0.3.31. 23621</para> 23622<para lang="en"> 23623the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" 23624directive only; 23625the bug had appeared in 0.3.31. 23626</para> 23627</change> 23628 23629<change type="bugfix"> 23630<para lang="ru"> 23631в директиве proxy_pass без URI при использовании в подзапросе. 23632</para> 23633<para lang="en"> 23634in the "proxy_pass" directive without the URI part in a subrequest. 23635</para> 23636</change> 23637 23638</changes> 23639 23640 23641<changes ver="0.3.34" date="2006-03-21"> 23642 23643<change type="feature"> 23644<para lang="ru"> 23645директива add_header поддерживает переменные. 23646</para> 23647<para lang="en"> 23648the "add_header" directive supports the variables. 23649</para> 23650</change> 23651 23652</changes> 23653 23654 23655<changes ver="0.3.33" date="2006-03-15"> 23656 23657<change type="feature"> 23658<para lang="ru"> 23659параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. 23660</para> 23661<para lang="en"> 23662the "http_503" parameter of the "proxy_next_upstream" or 23663"fastcgi_next_upstream" directives. 23664</para> 23665</change> 23666 23667<change type="bugfix"> 23668<para lang="ru"> 23669ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом, 23670если он не начинался сразу же с "sub". 23671</para> 23672<para lang="en"> 23673ngx_http_perl_module did not work with inlined in the configuration code, 23674if it was not started with the "sub" word. 23675</para> 23676</change> 23677 23678<change type="bugfix"> 23679<para lang="ru"> 23680в директиве post_action. 23681</para> 23682<para lang="en"> 23683in the "post_action" directive. 23684</para> 23685</change> 23686 23687</changes> 23688 23689 23690<changes ver="0.3.32" date="2006-03-11"> 23691 23692<change type="bugfix"> 23693<para lang="ru"> 23694удаление отладочного логгирования на старте и при переконфигурации; 23695ошибка появилась в 0.3.31. 23696</para> 23697<para lang="en"> 23698the debug logging on startup and reconfiguration time was removed; 23699the bug had appeared in 0.3.31. 23700</para> 23701</change> 23702 23703</changes> 23704 23705 23706<changes ver="0.3.31" date="2006-03-10"> 23707 23708<change type="change"> 23709<para lang="ru"> 23710теперь nginx передаёт неверные ответы проксированного бэкенда. 23711</para> 23712<para lang="en"> 23713now nginx passes the malformed proxied backend responses. 23714</para> 23715</change> 23716 23717<change type="feature"> 23718<para lang="ru"> 23719директивы listen поддерживают адрес в виде "*:порт". 23720</para> 23721<para lang="en"> 23722the "listen" directives support the address in the "*:port" form. 23723</para> 23724</change> 23725 23726<change type="feature"> 23727<para lang="ru"> 23728поддержка EVFILER_TIMER в MacOSX 10.4. 23729</para> 23730<para lang="en"> 23731the EVFILER_TIMER support in MacOSX 10.4. 23732</para> 23733</change> 23734 23735<change type="workaround"> 23736<para lang="ru"> 23737обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре 23738MacOSX.<br/> 23739Спасибо Андрею Нигматулину. 23740</para> 23741<para lang="en"> 23742for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/> 23743Thanks to Andrei Nigmatulin. 23744</para> 23745</change> 23746 23747<change type="bugfix"> 23748<para lang="ru"> 23749если внутри одного сервера описаны несколько директив listen, слушающих на 23750разных адресах, то имена серверов вида "*.domain.tld" работали только 23751для первого адреса; 23752ошибка появилась в 0.3.18. 23753</para> 23754<para lang="en"> 23755if there were several "listen" directives listening one various addresses 23756inside one server, then server names like "*.domain.tld" worked for first 23757address only; 23758the bug had appeared in 0.3.18. 23759</para> 23760</change> 23761 23762<change type="bugfix"> 23763<para lang="ru"> 23764при использовании протокола HTTPS в директиве proxy_pass не передавались 23765запросы с телом, записанным во временный файл. 23766</para> 23767<para lang="en"> 23768if the HTTPS protocol was used in the "proxy_pass" directive and 23769the request body was in temporary file then the request was not transferred. 23770</para> 23771</change> 23772 23773<change type="bugfix"> 23774<para lang="ru"> 23775совместимость с perl 5.8.8. 23776</para> 23777<para lang="en"> 23778perl 5.8.8 compatibility. 23779</para> 23780</change> 23781 23782</changes> 23783 23784 23785<changes ver="0.3.30" date="2006-02-22"> 23786 23787<change type="change"> 23788<para lang="ru"> 23789уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. 23790</para> 23791<para lang="en"> 23792the ECONNABORTED error log level was changed to "error" from "crit". 23793</para> 23794</change> 23795 23796<change type="bugfix"> 23797<para lang="ru"> 23798модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. 23799</para> 23800<para lang="en"> 23801the ngx_http_perl_module could not be build without 23802the ngx_http_ssi_filter_module. 23803</para> 23804</change> 23805 23806<change type="bugfix"> 23807<para lang="ru"> 23808nginx не собирался на i386 платформе, если использовался PIC; 23809ошибка появилась в 0.3.27. 23810</para> 23811<para lang="en"> 23812nginx could not be built on i386 platform, if the PIC was used; 23813the bug had appeared in 0.3.27. 23814</para> 23815</change> 23816 23817</changes> 23818 23819 23820<changes ver="0.3.29" date="2006-02-20"> 23821 23822<change type="feature"> 23823<para lang="ru"> 23824теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт 23825большое количество предупреждений перед ответом. 23826</para> 23827<para lang="en"> 23828now nginx uses less memory, if PHP in FastCGI mode sends many warnings 23829before the response. 23830</para> 23831</change> 23832 23833<change type="bugfix"> 23834<para lang="ru"> 23835в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка 23836"Transfer-Encoding: chunked". 23837</para> 23838<para lang="en"> 23839the "Transfer-Encoding: chunked" header line was issued in the 204 responses 23840for the HTTP/1.1 requests. 23841</para> 23842</change> 23843 23844<change type="bugfix"> 23845<para lang="ru"> 23846nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки 23847заголовка ответа в отдельных FastCGI записях. 23848</para> 23849<para lang="en"> 23850nginx returned the 502 response, if the complete response header lines 23851were transferred in a separate FastCGI records. 23852</para> 23853</change> 23854 23855<change type="bugfix"> 23856<para lang="ru"> 23857если в директиве post_action был указан проксируемый URI, то он выполнялся 23858только после успешного завершения запроса. 23859</para> 23860<para lang="en"> 23861if the proxied URI was specified in the "post_action" directive, then it ran 23862only after a successful completion of a request. 23863</para> 23864</change> 23865 23866</changes> 23867 23868 23869<changes ver="0.3.28" date="2006-02-16"> 23870 23871<change type="feature"> 23872<para lang="ru"> 23873директива restrict_host_names упразднена. 23874</para> 23875<para lang="en"> 23876the "restrict_host_names" directive was canceled. 23877</para> 23878</change> 23879 23880<change type="feature"> 23881<para lang="ru"> 23882параметр конфигурации --with-cpu-opt=ppc64. 23883</para> 23884<para lang="en"> 23885the --with-cpu-opt=ppc64 configuration parameter. 23886</para> 23887</change> 23888 23889<change type="bugfix"> 23890<para lang="ru"> 23891при некоторых условиях проксированное соединение с клиентом завершалось 23892преждевременно.<br/> 23893Спасибо Владимиру Шутову. 23894</para> 23895<para lang="en"> 23896on some condition the proxied connection with a client was terminated 23897prematurely.<br/> 23898Thanks to Vladimir Shutoff. 23899</para> 23900</change> 23901 23902<change type="bugfix"> 23903<para lang="ru"> 23904строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов, 23905перенаправленных с помощью строки "X-Accel-Redirect". 23906</para> 23907<para lang="en"> 23908the "X-Accel-Limit-Rate" header line was not taken into account 23909if the request was redirected using the "X-Accel-Redirect" header line. 23910</para> 23911</change> 23912 23913<change type="bugfix"> 23914<para lang="ru"> 23915директива post_action работала только после успешного завершения запроса. 23916</para> 23917<para lang="en"> 23918the "post_action" directive ran only after a successful completion of a request. 23919</para> 23920</change> 23921 23922<change type="bugfix"> 23923<para lang="ru"> 23924тело проксированного ответа, создаваемого директивой post_action, 23925передавалось клиенту. 23926</para> 23927<para lang="en"> 23928the proxied response body generated by the "post_action" directive 23929was transferred to a client. 23930</para> 23931</change> 23932 23933</changes> 23934 23935 23936<changes ver="0.3.27" date="2006-02-08"> 23937 23938<change type="change"> 23939<para lang="ru"> 23940директивы variables_hash_max_size и variables_hash_bucket_size. 23941</para> 23942<para lang="en"> 23943the "variables_hash_max_size" and "variables_hash_bucket_size" directives. 23944</para> 23945</change> 23946 23947<change type="feature"> 23948<para lang="ru"> 23949переменная $body_bytes_sent доступна не только в директиве log_format. 23950</para> 23951<para lang="en"> 23952the $body_bytes_sent variable can be used not only in the "log_format" 23953directive. 23954</para> 23955</change> 23956 23957<change type="feature"> 23958<para lang="ru"> 23959переменные $ssl_protocol и $ssl_cipher. 23960</para> 23961<para lang="en"> 23962the $ssl_protocol and $ssl_cipher variables. 23963</para> 23964</change> 23965 23966<change type="feature"> 23967<para lang="ru"> 23968определение размера строки кэша распространённых процессоров при старте. 23969</para> 23970<para lang="en"> 23971the cache line size detection for widespread CPUs at start time. 23972</para> 23973</change> 23974 23975<change type="feature"> 23976<para lang="ru"> 23977директива accept_mutex теперь поддерживается посредством fcntl(2) 23978на платформах, отличных от i386, amd64, sparc64 и ppc. 23979</para> 23980<para lang="en"> 23981now the "accept_mutex" directive is supported using fcntl(2) 23982on platforms different from i386, amd64, sparc64, and ppc. 23983</para> 23984</change> 23985 23986<change type="feature"> 23987<para lang="ru"> 23988директива lock_file и параметр автоконфигурации --with-lock-path=PATH. 23989</para> 23990<para lang="en"> 23991the "lock_file" directive and the --with-lock-path=PATH autoconfiguration 23992directive. 23993</para> 23994</change> 23995 23996<change type="bugfix"> 23997<para lang="ru"> 23998при использовании протокола HTTPS в директиве proxy_pass не передавались 23999запросы с телом. 24000</para> 24001<para lang="en"> 24002if the HTTPS protocol was used in the "proxy_pass" directive then 24003the requests with the body was not transferred. 24004</para> 24005</change> 24006 24007</changes> 24008 24009 24010<changes ver="0.3.26" date="2006-02-03"> 24011 24012<change type="change"> 24013<para lang="ru"> 24014директива optimize_host_names переименована в optimize_server_names. 24015</para> 24016<para lang="en"> 24017the "optimize_host_names" directive was renamed to the "optimize_server_names". 24018</para> 24019</change> 24020 24021<change type="bugfix"> 24022<para lang="ru"> 24023при проксировании подзапроса в SSI бэкенду передавался URI основного запроса, 24024если в директиве proxy_pass отсутствовал URI. 24025</para> 24026<para lang="en"> 24027if in the "proxy_pass" directive was no the URI part, then the main request 24028URI was transferred to a backend while proxying the SSI subrequest. 24029</para> 24030</change> 24031 24032</changes> 24033 24034 24035<changes ver="0.3.25" date="2006-02-01"> 24036 24037<change type="bugfix"> 24038<para lang="ru"> 24039при неверной конфигурации на старте или во время переконфигурации происходил 24040segmentation fault; 24041ошибка появилась в 0.3.24. 24042</para> 24043<para lang="en"> 24044the segmentation fault was occurred on start or while reconfiguration 24045if there was invalid configuration; 24046the bug had appeared in 0.3.24. 24047</para> 24048</change> 24049 24050</changes> 24051 24052 24053<changes ver="0.3.24" date="2006-02-01"> 24054 24055<change type="workaround"> 24056<para lang="ru"> 24057обход ошибки в kqueue во FreeBSD. 24058</para> 24059<para lang="en"> 24060for bug in FreeBSD kqueue. 24061</para> 24062</change> 24063 24064<change type="bugfix"> 24065<para lang="ru"> 24066ответ, создаваемый директивой post_action, теперь не передаётся клиенту. 24067</para> 24068<para lang="en"> 24069now a response generated by the "post_action" directive is not transferred 24070to a client. 24071</para> 24072</change> 24073 24074<change type="bugfix"> 24075<para lang="ru"> 24076при использовании большого количества лог-файлов происходила утечка памяти. 24077</para> 24078<para lang="en"> 24079the memory leaks were occurring if many log files were used. 24080</para> 24081</change> 24082 24083<change type="bugfix"> 24084<para lang="ru"> 24085внутри одного location работала только первая директива proxy_redirect. 24086</para> 24087<para lang="en"> 24088the first "proxy_redirect" directive was working inside one location. 24089</para> 24090</change> 24091 24092<change type="bugfix"> 24093<para lang="ru"> 24094на 64-битных платформах при старте мог произойти segmentation fault, 24095если использовалось большое количество имён в директивах server_name; 24096ошибка появилась в 0.3.18. 24097</para> 24098<para lang="en"> 24099on 64-bit platforms segmentation fault may occurred on start 24100if the many names were used in the "server_name" directives; 24101the bug had appeared in 0.3.18. 24102</para> 24103</change> 24104 24105</changes> 24106 24107 24108<changes ver="0.3.23" date="2006-01-24"> 24109 24110<change type="feature"> 24111<para lang="ru"> 24112директива optimize_host_names. 24113</para> 24114<para lang="en"> 24115the "optimize_host_names" directive. 24116</para> 24117</change> 24118 24119<change type="bugfix"> 24120<para lang="ru"> 24121ошибки при использовании переменных в директивах path и alias. 24122</para> 24123<para lang="en"> 24124in using of the variables in the "path" and "alias" directives. 24125</para> 24126</change> 24127 24128<change type="bugfix"> 24129<para lang="ru"> 24130модуль ngx_http_perl_module неправильно собирался на Linux и Solaris. 24131</para> 24132<para lang="en"> 24133the ngx_http_perl_module was incorrectly built on Linux and Solaris. 24134</para> 24135</change> 24136 24137</changes> 24138 24139 24140<changes ver="0.3.22" date="2006-01-17"> 24141 24142<change type="feature"> 24143<para lang="ru"> 24144модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape. 24145</para> 24146<para lang="en"> 24147the ngx_http_perl_module supports the $r->args and $r->unescape methods. 24148</para> 24149</change> 24150 24151<change type="feature"> 24152<para lang="ru"> 24153метод $r->query_string в модуле ngx_http_perl_module упразднён. 24154</para> 24155<para lang="en"> 24156the method $r->query_string of ngx_http_perl_module was canceled. 24157</para> 24158</change> 24159 24160<change type="bugfix"> 24161<para lang="ru"> 24162если в директиве valid_referers указаны только none или blocked, то 24163происходил segmentation fault; 24164ошибка появилась в 0.3.18. 24165</para> 24166<para lang="en"> 24167segmentation fault was occurred if the "none" or "blocked" values was 24168specified in the "valid_referers" directive; 24169the bug had appeared in 0.3.18. 24170</para> 24171</change> 24172 24173</changes> 24174 24175 24176<changes ver="0.3.21" date="2006-01-16"> 24177 24178<change type="feature"> 24179<para lang="ru"> 24180модуль ngx_http_perl_module. 24181</para> 24182<para lang="en"> 24183the ngx_http_perl_module. 24184</para> 24185</change> 24186 24187<change type="change"> 24188<para lang="ru"> 24189директива valid_referers разрешает использовать рефереры совсем без URI. 24190</para> 24191<para lang="en"> 24192the "valid_referers" directive allows the referrers without URI part. 24193</para> 24194</change> 24195 24196</changes> 24197 24198 24199<changes ver="0.3.20" date="2006-01-11"> 24200 24201<change type="bugfix"> 24202<para lang="ru"> 24203ошибки в обработке SSI. 24204</para> 24205<para lang="en"> 24206in SSI handling. 24207</para> 24208</change> 24209 24210<change type="bugfix"> 24211<para lang="ru"> 24212модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args. 24213</para> 24214<para lang="en"> 24215the ngx_http_memcached_module did not support the keys in the "/usr?args" form. 24216</para> 24217</change> 24218 24219</changes> 24220 24221<changes ver="0.3.19" date="2005-12-28"> 24222 24223<change type="feature"> 24224<para lang="ru"> 24225директивы path и alias поддерживают переменные. 24226</para> 24227<para lang="en"> 24228the "path" and "alias" directives support the variables. 24229</para> 24230</change> 24231 24232<change type="change"> 24233<para lang="ru"> 24234теперь директива valid_referers опять учитывает URI. 24235</para> 24236<para lang="en"> 24237now the "valid_referers" directive again checks the URI part. 24238</para> 24239</change> 24240 24241<change type="bugfix"> 24242<para lang="ru"> 24243ошибки в обработке SSI. 24244</para> 24245<para lang="en"> 24246in SSI handling. 24247</para> 24248</change> 24249 24250</changes> 24251 24252 24253<changes ver="0.3.18" date="2005-12-26"> 24254 24255<change type="feature"> 24256<para lang="ru"> 24257директива server_names поддерживает имена вида ".domain.tld". 24258</para> 24259<para lang="en"> 24260the "server_names" directive supports the ".domain.tld" names. 24261</para> 24262</change> 24263 24264<change type="feature"> 24265<para lang="ru"> 24266директива server_names использует хэш для имён вида "*.domain.tld" 24267и более эффективный хэш для обычных имён. 24268</para> 24269<para lang="en"> 24270the "server_names" directive uses the hash for the "*.domain.tld" names 24271and more effective hash for usual names. 24272</para> 24273</change> 24274 24275<change type="change"> 24276<para lang="ru"> 24277директивы server_names_hash_max_size и server_names_hash_bucket_size. 24278</para> 24279<para lang="en"> 24280the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. 24281</para> 24282</change> 24283 24284<change type="change"> 24285<para lang="ru"> 24286директивы server_names_hash и server_names_hash_threshold упразднены. 24287</para> 24288<para lang="en"> 24289the "server_names_hash" and "server_names_hash_threshold" directives 24290were canceled. 24291</para> 24292</change> 24293 24294<change type="feature"> 24295<para lang="ru"> 24296директива valid_referers использует хэш для имён сайтов. 24297</para> 24298<para lang="en"> 24299the "valid_referers" directive uses the hash site names. 24300</para> 24301</change> 24302 24303<change type="change"> 24304<para lang="ru"> 24305теперь директива valid_referers проверяет только имена сайтов без учёта URI. 24306</para> 24307<para lang="en"> 24308now the "valid_referers" directive checks the site names only without 24309the URI part. 24310</para> 24311</change> 24312 24313<change type="bugfix"> 24314<para lang="ru"> 24315некоторые имена вида ".domain.tld" неверно обрабатывались модулем 24316ngx_http_map_module. 24317</para> 24318<para lang="en"> 24319some ".domain.tld" names incorrectly processed by the ngx_http_map_module. 24320</para> 24321</change> 24322 24323<change type="bugfix"> 24324<para lang="ru"> 24325если конфигурационного файла не было, то происходил segmentation fault; 24326ошибка появилась в 0.3.12. 24327</para> 24328<para lang="en"> 24329segmentation fault was occurred if configuration file did not exist; 24330the bug had appeared in 0.3.12. 24331</para> 24332</change> 24333 24334<change type="bugfix"> 24335<para lang="ru"> 24336на 64-битных платформах при старте мог произойти segmentation fault; 24337ошибка появилась в 0.3.16. 24338</para> 24339<para lang="en"> 24340on 64-bit platforms segmentation fault may occurred on start; 24341the bug had appeared in 0.3.16. 24342</para> 24343</change> 24344 24345</changes> 24346 24347 24348<changes ver="0.3.17" date="2005-12-18"> 24349 24350<change type="change"> 24351<para lang="ru"> 24352на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре. 24353</para> 24354<para lang="en"> 24355now on Linux configure checks the presence of epoll and sendfile64() in kernel. 24356</para> 24357</change> 24358 24359<change type="feature"> 24360<para lang="ru"> 24361директива map поддерживает доменные имена в формате ".domain.tld". 24362</para> 24363<para lang="en"> 24364the "map" directive supports domain names in the ".domain.tld" form. 24365</para> 24366</change> 24367 24368<change type="bugfix"> 24369<para lang="ru"> 24370во время SSL handshake не иcпользовались таймауты; 24371ошибка появилась в 0.2.4. 24372</para> 24373<para lang="en"> 24374the timeouts were not used in SSL handshake; 24375the bug had appeared in 0.2.4. 24376</para> 24377</change> 24378 24379<change type="bugfix"> 24380<para lang="ru"> 24381в использовании протокола HTTPS в директиве proxy_pass. 24382</para> 24383<para lang="en"> 24384in the HTTPS protocol in the "proxy_pass" directive. 24385</para> 24386</change> 24387 24388<change type="bugfix"> 24389<para lang="ru"> 24390при использовании протокола HTTPS в директиве proxy_pass по умолчанию 24391использовался порт 80. 24392</para> 24393<para lang="en"> 24394when the HTTPS protocol was used in the "proxy_pass" directive the port 80 24395was used by default. 24396</para> 24397</change> 24398 24399</changes> 24400 24401 24402<changes ver="0.3.16" date="2005-12-16"> 24403 24404<change type="feature"> 24405<para lang="ru"> 24406модуль ngx_http_map_module. 24407</para> 24408<para lang="en"> 24409the ngx_http_map_module. 24410</para> 24411</change> 24412 24413<change type="feature"> 24414<para lang="ru"> 24415директивы types_hash_max_size и types_hash_bucket_size. 24416</para> 24417<para lang="en"> 24418the "types_hash_max_size" and "types_hash_bucket_size" directives. 24419</para> 24420</change> 24421 24422<change type="feature"> 24423<para lang="ru"> 24424директива ssi_value_length. 24425</para> 24426<para lang="en"> 24427the "ssi_value_length" directive. 24428</para> 24429</change> 24430 24431<change type="feature"> 24432<para lang="ru"> 24433директива worker_rlimit_core. 24434</para> 24435<para lang="en"> 24436the "worker_rlimit_core" directive. 24437</para> 24438</change> 24439 24440<change type="workaround"> 24441<para lang="ru"> 24442при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 24443<nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1. 24444</para> 24445<para lang="en"> 24446the connection number in logs was always 1 if nginx was built by the 24447icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr> 24448</para> 24449</change> 24450 24451<change type="bugfix"> 24452<para lang="ru"> 24453команда config timefmt в SSI задавала неверный формат времени. 24454</para> 24455<para lang="en"> 24456the "config timefmt" SSI command set incorrect time format. 24457</para> 24458</change> 24459 24460<change type="bugfix"> 24461<para lang="ru"> 24462nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL 24463соединений; 24464ошибка появилась в 0.3.13.<br/> 24465Спасибо Rob Mueller. 24466</para> 24467<para lang="en"> 24468nginx did not close connection to IMAP/POP3 backend for the SSL 24469connections; 24470the bug had appeared in 0.3.13.<br/> 24471Thanks to Rob Mueller. 24472</para> 24473</change> 24474 24475<change type="bugfix"> 24476<para lang="ru"> 24477segmentation fault мог произойти во время SSL shutdown; 24478ошибка появилась в 0.3.13. 24479</para> 24480<para lang="en"> 24481segmentation fault may occurred in at SSL shutdown; 24482the bug had appeared in 0.3.13. 24483</para> 24484</change> 24485 24486</changes> 24487 24488 24489<changes ver="0.3.15" date="2005-12-07"> 24490 24491<change type="feature"> 24492<para lang="ru"> 24493новой код 444 в директиве return для закрытия соединения. 24494</para> 24495<para lang="en"> 24496the new 444 code of the "return" directive to close connection. 24497</para> 24498</change> 24499 24500<change type="feature"> 24501<para lang="ru"> 24502директива so_keepalive в IMAP/POP3 прокси. 24503</para> 24504<para lang="en"> 24505the "so_keepalive" directive in IMAP/POP3 proxy. 24506</para> 24507</change> 24508 24509<change type="bugfix"> 24510<para lang="ru"> 24511nginx теперь вызывает abort() при обнаружении незакрытых соединений 24512только при плавном выходе и включённой директиве debug_points. 24513</para> 24514<para lang="en"> 24515if there are unclosed connection nginx now calls abort() only on graceful 24516quit and active "debug_points" directive. 24517</para> 24518</change> 24519 24520</changes> 24521 24522 24523<changes ver="0.3.14" date="2005-12-05"> 24524 24525<change type="bugfix"> 24526<para lang="ru"> 24527в ответе 304 передавалось тело ответа; 24528ошибка появилась в 0.3.13. 24529</para> 24530<para lang="en"> 24531in the 304 response the body was transferred; 24532the bug had appeared in 0.3.13. 24533</para> 24534</change> 24535 24536</changes> 24537 24538 24539<changes ver="0.3.13" date="2005-12-05"> 24540 24541<change type="feature"> 24542<para lang="ru"> 24543IMAP/POP3 прокси поддерживает STARTTLS и STLS. 24544</para> 24545<para lang="en"> 24546the IMAP/POP3 proxy supports STARTTLS and STLS. 24547</para> 24548</change> 24549 24550<change type="bugfix"> 24551<para lang="ru"> 24552IMAP/POP3 прокси не работала с методами select, poll и /dev/poll. 24553</para> 24554<para lang="en"> 24555the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. 24556</para> 24557</change> 24558 24559<change type="bugfix"> 24560<para lang="ru"> 24561ошибки в обработке SSI. 24562</para> 24563<para lang="en"> 24564in SSI handling. 24565</para> 24566</change> 24567 24568<change type="bugfix"> 24569<para lang="ru"> 24570sendfilev() в Solaris теперь не используется при передаче тела запроса 24571FastCGI-серверу через unix domain сокет. 24572</para> 24573<para lang="en"> 24574now Solaris sendfilev() is not used to transfer the client request body 24575to FastCGI-server via the unix domain socket. 24576</para> 24577</change> 24578 24579<change type="bugfix"> 24580<para lang="ru"> 24581директива auth_basic не запрещала аутентификацию; 24582ошибка появилась в 0.3.11. 24583</para> 24584<para lang="en"> 24585the "auth_basic" directive did not disable the authorization; 24586the bug had appeared in 0.3.11. 24587</para> 24588</change> 24589 24590</changes> 24591 24592 24593<changes ver="0.3.12" date="2005-11-26"> 24594 24595<change type="security"> 24596<para lang="ru"> 24597если nginx был собран с модулем ngx_http_realip_module, то при использовании 24598директивы "satisfy_any on" директивы доступа и аутентификации не работали. 24599Модуль ngx_http_realip_module не собирался и не собирается по умолчанию. 24600</para> 24601<para lang="en"> 24602if nginx was built with the ngx_http_realip_module and the "satisfy_any on" 24603directive was used, then access and authorization directives did not work. 24604The ngx_http_realip_module was not built and is not built by default. 24605</para> 24606</change> 24607 24608<change type="change"> 24609<para lang="ru"> 24610имя переменной "$time_gmt" изменено на "$time_local". 24611</para> 24612<para lang="en"> 24613the "$time_gmt" variable name was changed to "$time_local". 24614</para> 24615</change> 24616 24617<change type="change"> 24618<para lang="ru"> 24619директивы proxy_header_buffer_size и fastcgi_header_buffer_size 24620переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size. 24621</para> 24622<para lang="en"> 24623the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives 24624was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. 24625</para> 24626</change> 24627 24628<change type="feature"> 24629<para lang="ru"> 24630модуль ngx_http_memcached_module. 24631</para> 24632<para lang="en"> 24633the ngx_http_memcached_module. 24634</para> 24635</change> 24636 24637<change type="feature"> 24638<para lang="ru"> 24639директива proxy_buffering. 24640</para> 24641<para lang="en"> 24642the "proxy_buffering" directive. 24643</para> 24644</change> 24645 24646<change type="bugfix"> 24647<para lang="ru"> 24648изменение в работе с accept mutex при использовании метода rtsig; 24649ошибка появилась в 0.3.0. 24650</para> 24651<para lang="en"> 24652the changes in accept mutex handling when the "rtsig" method was used; 24653the bug had appeared in 0.3.0. 24654</para> 24655</change> 24656 24657<change type="bugfix"> 24658<para lang="ru"> 24659если клиент передал строку "Transfer-Encoding: chunked" в заголовке 24660запроса, то nginx теперь выдаёт ошибку 411. 24661</para> 24662<para lang="en"> 24663if the client sent the "Transfer-Encoding: chunked" header line, then 24664nginx returns the 411 error. 24665</para> 24666</change> 24667 24668<change type="bugfix"> 24669<para lang="ru"> 24670при наследовании директивы auth_basic с уровня http в строке 24671"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm". 24672</para> 24673<para lang="en"> 24674if the "auth_basic" directive was inherited from the http level, 24675then the realm in the "WWW-Authenticate" header line was without 24676the "Basic realm" text. 24677</para> 24678</change> 24679 24680<change type="bugfix"> 24681<para lang="ru"> 24682если в директиве access_log был явно указан формат combined, то в лог 24683записывались пустые строки; 24684ошибка появилась в 0.3.8. 24685</para> 24686<para lang="en"> 24687if the "combined" format was explicitly specified in the "access_log" directive, 24688then the empty lines was written to the log; 24689the bug had appeared in 0.3.8. 24690</para> 24691</change> 24692 24693<change type="bugfix"> 24694<para lang="ru"> 24695nginx не работал на платформе sparc под любыми OS, кроме Solaris. 24696</para> 24697<para lang="en"> 24698nginx did not run on the sparc platform under any OS except Solaris. 24699</para> 24700</change> 24701 24702<change type="bugfix"> 24703<para lang="ru"> 24704в директиве if теперь не нужно разделять пробелом строку в кавычках и 24705закрывающую скобку. 24706</para> 24707<para lang="en"> 24708now it is not necessary to place space between the quoted string and closing 24709bracket in the "if" directive. 24710</para> 24711</change> 24712 24713</changes> 24714 24715 24716<changes ver="0.3.11" date="2005-11-15"> 24717 24718<change type="bugfix"> 24719<para lang="ru"> 24720nginx не передавал при проксировании тело запроса и строки заголовка клиента; 24721ошибка появилась в 0.3.10. 24722</para> 24723<para lang="en"> 24724nginx did not pass the client request headers and body while proxying; 24725the bug had appeared in 0.3.10. 24726</para> 24727</change> 24728 24729</changes> 24730 24731 24732<changes ver="0.3.10" date="2005-11-15"> 24733 24734<change type="change"> 24735<para lang="ru"> 24736директива valid_referers и переменная $invalid_referer перенесены 24737из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module. 24738</para> 24739<para lang="en"> 24740the "valid_referers" directive and the "$invalid_referer" variable 24741were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. 24742</para> 24743</change> 24744 24745<change type="change"> 24746<para lang="ru"> 24747имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent". 24748</para> 24749<para lang="en"> 24750the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". 24751</para> 24752</change> 24753 24754<change type="feature"> 24755<para lang="ru"> 24756переменные "$sent_http_...". 24757</para> 24758<para lang="en"> 24759the "$sent_http_..." variables. 24760</para> 24761</change> 24762 24763<change type="feature"> 24764<para lang="ru"> 24765директива if поддерживает операции "=" и "!=". 24766</para> 24767<para lang="en"> 24768the "if" directive supports the "=" and "!=" operations. 24769</para> 24770</change> 24771 24772<change type="feature"> 24773<para lang="ru"> 24774директива proxy_pass поддерживает протокол HTTPS. 24775</para> 24776<para lang="en"> 24777the "proxy_pass" directive supports the HTTPS protocol. 24778</para> 24779</change> 24780 24781<change type="feature"> 24782<para lang="ru"> 24783директива proxy_set_body. 24784</para> 24785<para lang="en"> 24786the "proxy_set_body" directive. 24787</para> 24788</change> 24789 24790<change type="feature"> 24791<para lang="ru"> 24792директива post_action. 24793</para> 24794<para lang="en"> 24795the "post_action" directive. 24796</para> 24797</change> 24798 24799<change type="feature"> 24800<para lang="ru"> 24801модуль ngx_http_empty_gif_module. 24802</para> 24803<para lang="en"> 24804the ngx_http_empty_gif_module. 24805</para> 24806</change> 24807 24808<change type="feature"> 24809<para lang="ru"> 24810директива worker_cpu_affinity для Linux. 24811</para> 24812<para lang="en"> 24813the "worker_cpu_affinity" directive for Linux. 24814</para> 24815</change> 24816 24817<change type="bugfix"> 24818<para lang="ru"> 24819директива rewrite не раскодировала символы в редиректах в URI, 24820теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF. 24821</para> 24822<para lang="en"> 24823the "rewrite" directive did not unescape URI part in redirect, 24824now it is unescaped except the %00-%25 and %7F-%FF characters. 24825</para> 24826</change> 24827 24828<change type="bugfix"> 24829<para lang="ru"> 24830nginx не собирался компилятором icc 9.0. 24831</para> 24832<para lang="en"> 24833nginx could not be built by the icc 9.0 compiler. 24834</para> 24835</change> 24836 24837<change type="bugfix"> 24838<para lang="ru"> 24839если для статического файла нулевого размера был разрешён SSI, 24840то ответ передавался неверно при кодировании chunk'ами. 24841</para> 24842<para lang="en"> 24843if the SSI was enabled for zero size static file, then the chunked 24844response was encoded incorrectly. 24845</para> 24846</change> 24847 24848</changes> 24849 24850 24851<changes ver="0.3.9" date="2005-11-10"> 24852 24853<change type="bugfix"> 24854<para lang="ru"> 24855nginx считал небезопасными URI, в которых между двумя слэшами 24856находилось два любых символа; 24857ошибка появилась в 0.3.8. 24858</para> 24859<para lang="en"> 24860nginx considered URI as unsafe if two any symbols was between two slashes; 24861the bug had appeared in 0.3.8. 24862</para> 24863</change> 24864 24865</changes> 24866 24867 24868<changes ver="0.3.8" date="2005-11-09"> 24869 24870<change type="security"> 24871<para lang="ru"> 24872nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect" 24873в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей. 24874</para> 24875<para lang="en"> 24876nginx now checks URI got from a backend in "X-Accel-Redirect" header line 24877or in SSI file for the "/../" paths and zeroes. 24878</para> 24879</change> 24880 24881<change type="change"> 24882<para lang="ru"> 24883nginx теперь не воспринимает пустое имя как правильное 24884в строке "Authorization" в заголовке запроса. 24885</para> 24886<para lang="en"> 24887nginx now does not treat the empty user name in the "Authorization" header 24888line as valid one. 24889</para> 24890</change> 24891 24892<change type="feature"> 24893<para lang="ru"> 24894директива ssl_session_timeout модулей 24895ngx_http_ssl_module и ngx_imap_ssl_module. 24896</para> 24897<para lang="en"> 24898the "ssl_session_timeout" directives 24899of the ngx_http_ssl_module and ngx_imap_ssl_module. 24900</para> 24901</change> 24902 24903<change type="feature"> 24904<para lang="ru"> 24905директива auth_http_header модуля ngx_imap_auth_http_module. 24906</para> 24907<para lang="en"> 24908the "auth_http_header" directive of the ngx_imap_auth_http_module. 24909</para> 24910</change> 24911 24912<change type="feature"> 24913<para lang="ru"> 24914директива add_header. 24915</para> 24916<para lang="en"> 24917the "add_header" directive. 24918</para> 24919</change> 24920 24921<change type="feature"> 24922<para lang="ru"> 24923модуль ngx_http_realip_module. 24924</para> 24925<para lang="en"> 24926the ngx_http_realip_module. 24927</para> 24928</change> 24929 24930<change type="feature"> 24931<para lang="ru"> 24932новые переменные для использования в директиве log_format: 24933$bytes_sent, $apache_bytes_sent, $status, $time_gmt, 24934$uri, $request_time, $request_length, 24935$upstream_status, $upstream_response_time, 24936$gzip_ratio, 24937$uid_got, $uid_set, 24938$connection, $pipe и $msec. 24939Параметры в виде "%name" скоро будут упразднены. 24940</para> 24941<para lang="en"> 24942the new variables to use in the "log_format" directive: 24943$bytes_sent, $apache_bytes_sent, $status, $time_gmt, 24944$uri, $request_time, $request_length, 24945$upstream_status, $upstream_response_time, 24946$gzip_ratio, 24947$uid_got, $uid_set, 24948$connection, $pipe, and $msec. 24949The parameters in the "%name" form will be canceled soon. 24950</para> 24951</change> 24952 24953<change type="change"> 24954<para lang="ru"> 24955в директиве "if" ложными значениями переменных теперь являются 24956пустая строка "" и строки, начинающиеся на "0". 24957</para> 24958<para lang="en"> 24959now the false variable values in the "if" directive are the empty string "" 24960and string starting with "0". 24961</para> 24962</change> 24963 24964<change type="bugfix"> 24965<para lang="ru"> 24966при работает с проксированными или FastCGI-серверами nginx мог оставлять 24967открытыми соединения и временные файлы с запросами клиентов. 24968</para> 24969<para lang="en"> 24970while using proxied or FastCGI-server nginx may leave connections 24971and temporary files with client requests in open state. 24972</para> 24973</change> 24974 24975<change type="bugfix"> 24976<para lang="ru"> 24977рабочие процессы не сбрасывали буферизированные логи при плавном выходе. 24978</para> 24979<para lang="en"> 24980the worker processes did not flush the buffered logs on graceful exit. 24981</para> 24982</change> 24983 24984<change type="bugfix"> 24985<para lang="ru"> 24986если URI запроса изменялось с помощью rewrite, а затем запрос проксировался 24987в location, заданном регулярным выражением, то бэкенду передавался 24988неверный запрос; 24989ошибка появилась в 0.2.6. 24990</para> 24991<para lang="en"> 24992if the request URI was changes by the "rewrite" directive and the request 24993was proxied in location given by regular expression, then the incorrect 24994request was transferred to backend; 24995the bug had appeared in 0.2.6. 24996</para> 24997</change> 24998 24999<change type="bugfix"> 25000<para lang="ru"> 25001директива expires не удаляла уже установленную строку заголовка "Expires". 25002</para> 25003<para lang="en"> 25004the "expires" directive did not remove the previous "Expires" header. 25005</para> 25006</change> 25007 25008<change type="bugfix"> 25009<para lang="ru"> 25010при использовании метода rtsig и нескольких рабочих процессах nginx 25011мог перестать принимать запросы. 25012</para> 25013<para lang="en"> 25014nginx may stop to accept requests if the "rtsig" method and several worker 25015processes were used. 25016</para> 25017</change> 25018 25019<change type="bugfix"> 25020<para lang="ru"> 25021в SSI командах неверно обрабатывались строки "\"" и "\'". 25022</para> 25023<para lang="en"> 25024the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. 25025</para> 25026</change> 25027 25028<change type="bugfix"> 25029<para lang="ru"> 25030если ответ заканчивался сразу же после SSI команды, то при использовании 25031сжатия ответ передавался не до конца или не передавался вообще. 25032</para> 25033<para lang="en"> 25034if the response was ended just after the SSI command and gzipping was used, 25035then the response did not transferred complete or did not transferred at all. 25036</para> 25037</change> 25038 25039</changes> 25040 25041 25042<changes ver="0.3.7" date="2005-10-27"> 25043 25044<change type="feature"> 25045<para lang="ru"> 25046директива access_log поддерживает параметр buffer=. 25047</para> 25048<para lang="en"> 25049the "access_log" supports the "buffer=" parameter. 25050</para> 25051</change> 25052 25053<change type="bugfix"> 25054<para lang="ru"> 25055nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 25056ошибка появилась в 0.3.2. 25057</para> 25058<para lang="en"> 25059nginx could not be built on platforms different from i386, amd64, sparc, 25060and ppc; 25061the bug had appeared in 0.3.2. 25062</para> 25063</change> 25064 25065</changes> 25066 25067 25068<changes ver="0.3.6" date="2005-10-24"> 25069 25070<change type="change"> 25071<para lang="ru"> 25072IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин. 25073</para> 25074<para lang="en"> 25075now the IMAP/POP3 proxy do not send the empty login to authorization server. 25076</para> 25077</change> 25078 25079<change type="feature"> 25080<para lang="ru"> 25081директива log_format поддерживает переменные в виде $name. 25082</para> 25083<para lang="en"> 25084the "log_format" supports the variables in the $name form. 25085</para> 25086</change> 25087 25088<change type="bugfix"> 25089<para lang="ru"> 25090если хотя бы в одном сервере не было описано ни одной директивы listen, то 25091nginx не слушал на 80 порту; 25092ошибка появилась в 0.3.3. 25093</para> 25094<para lang="en"> 25095if at least in one server was no the "listen" directive, then nginx did not 25096listen on the 80 port; 25097the bug had appeared in 0.3.3. 25098</para> 25099</change> 25100 25101<change type="bugfix"> 25102<para lang="ru"> 25103если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80. 25104</para> 25105<para lang="en"> 25106if the URI part is omitted in "proxy_pass" directive, the 80 port was 25107always used. 25108</para> 25109</change> 25110 25111</changes> 25112 25113 25114<changes ver="0.3.5" date="2005-10-21"> 25115 25116<change type="bugfix"> 25117<para lang="ru"> 25118если логин IMAP/POP3 менялся сервером авторизации, то мог произойти 25119segmentation fault; 25120ошибка появилась в 0.2.2. 25121</para> 25122<para lang="en"> 25123the segmentation fault may occurred if the IMAP/POP3 login was changed 25124by authorization server; 25125the bug had appeared in 0.2.2. 25126</para> 25127</change> 25128 25129<change type="bugfix"> 25130<para lang="ru"> 25131accept mutex не работал, все соединения обрабатывались одним рабочим процессом; 25132ошибка появилась в 0.3.3. 25133</para> 25134<para lang="en"> 25135the accept mutex did not work and all connections were handled by one process; 25136the bug had appeared in 0.3.3. 25137</para> 25138</change> 25139 25140<change type="bugfix"> 25141<para lang="ru"> 25142при использовании метода rtsig и директивы timer_resolution 25143не работали таймауты. 25144</para> 25145<para lang="en"> 25146the timeout did not work if the "rtsig" method and the "timer_resolution" 25147directive were used. 25148</para> 25149</change> 25150 25151</changes> 25152 25153 25154<changes ver="0.3.4" date="2005-10-19"> 25155 25156<change type="bugfix"> 25157<para lang="ru"> 25158nginx не собирался на Linux 2.4+ и MacOS X; 25159ошибка появилась в 0.3.3. 25160</para> 25161<para lang="en"> 25162nginx could not be built on Linux 2.4+ and MacOS X; 25163the bug had appeared in 0.3.3. 25164</para> 25165</change> 25166 25167</changes> 25168 25169 25170<changes ver="0.3.3" date="2005-10-19"> 25171 25172<change type="change"> 25173<para lang="ru"> 25174параметры "bl" и "af" директивы listen переименованы в "backlog" 25175и "accept_filter". 25176</para> 25177<para lang="en"> 25178the "bl" and "af" parameters of the "listen" directive was renamed to 25179the "backlog" and "accept_filter". 25180</para> 25181</change> 25182 25183<change type="feature"> 25184<para lang="ru"> 25185параметры "rcvbuf" и "sndbuf" в директиве listen. 25186</para> 25187<para lang="en"> 25188the "rcvbuf" and "sndbuf" parameters of the "listen" directive. 25189</para> 25190</change> 25191 25192<change type="change"> 25193<para lang="ru"> 25194параметр лога $msec теперь не требует дополнительного системного 25195вызова gettimeofday(). 25196</para> 25197<para lang="en"> 25198the "$msec" log parameter does not require now the additional 25199the gettimeofday() system call. 25200</para> 25201</change> 25202 25203<change type="feature"> 25204<para lang="ru"> 25205ключ -t теперь проверяет директивы listen. 25206</para> 25207<para lang="en"> 25208the -t switch now tests the "listen" directives. 25209</para> 25210</change> 25211 25212<change type="bugfix"> 25213<para lang="ru"> 25214если в директиве listen был указан неверный адрес, то nginx после 25215сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 25216</para> 25217<para lang="en"> 25218if the invalid address was specified in the "listen" directive, then 25219after the -HUP signal nginx left an open socket in the CLOSED state. 25220</para> 25221</change> 25222 25223<change type="bugfix"> 25224<para lang="ru"> 25225для индексных файлов, содержащих в имени переменную, мог неверно выставляться 25226тип mime по умолчанию; 25227ошибка появилась в 0.3.0. 25228</para> 25229<para lang="en"> 25230the mime type may be incorrectly set to default value for index file with 25231variable in the name; 25232the bug had appeared in 0.3.0. 25233</para> 25234</change> 25235 25236<change type="feature"> 25237<para lang="ru"> 25238директива timer_resolution. 25239</para> 25240<para lang="en"> 25241the "timer_resolution" directive. 25242</para> 25243</change> 25244 25245<change type="feature"> 25246<para lang="ru"> 25247параметр лога $upstream_response_time в миллисекундах. 25248</para> 25249<para lang="en"> 25250the millisecond "$upstream_response_time" log parameter. 25251</para> 25252</change> 25253 25254<change type="bugfix"> 25255<para lang="ru"> 25256временный файл с телом запроса клиента теперь удаляется сразу после того, 25257как клиенту передан заголовок ответа. 25258</para> 25259<para lang="en"> 25260a temporary file with client request body now is removed just after 25261the response header was transferred to a client. 25262</para> 25263</change> 25264 25265<change type="bugfix"> 25266<para lang="ru"> 25267совместимость с OpenSSL 0.9.6. 25268</para> 25269<para lang="en"> 25270OpenSSL 0.9.6 compatibility. 25271</para> 25272</change> 25273 25274<change type="bugfix"> 25275<para lang="ru"> 25276пути к файлам с SSL сертификатом и ключом не могли быть относительными. 25277</para> 25278<para lang="en"> 25279the SSL certificate and key file paths could not be relative. 25280</para> 25281</change> 25282 25283<change type="bugfix"> 25284<para lang="ru"> 25285директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module. 25286</para> 25287<para lang="en"> 25288the "ssl_prefer_server_ciphers" directive did not work in 25289the ngx_imap_ssl_module. 25290</para> 25291</change> 25292 25293<change type="bugfix"> 25294<para lang="ru"> 25295директива ssl_protocols позволяла задать только один протокол. 25296</para> 25297<para lang="en"> 25298the "ssl_protocols" directive allowed to specify the single protocol only. 25299</para> 25300</change> 25301 25302</changes> 25303 25304 25305<changes ver="0.3.2" date="2005-10-12"> 25306 25307<change type="feature"> 25308<para lang="ru"> 25309поддержка Sun Studio 10 C compiler. 25310</para> 25311<para lang="en"> 25312the Sun Studio 10 C compiler support. 25313</para> 25314</change> 25315 25316<change type="feature"> 25317<para lang="ru"> 25318директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 25319fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout. 25320</para> 25321<para lang="en"> 25322the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 25323"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" 25324directives. 25325</para> 25326</change> 25327 25328</changes> 25329 25330 25331<changes ver="0.3.1" date="2005-10-10"> 25332 25333<change type="bugfix"> 25334<para lang="ru"> 25335во время переполнения очереди сигналов при использовании метода rtsig 25336происходил segmentation fault; 25337ошибка появилась в 0.2.0. 25338</para> 25339<para lang="en"> 25340the segmentation fault occurred when the signal queue overflowed 25341if the "rtsig" method was used; 25342the bug had appeared in 0.2.0. 25343</para> 25344</change> 25345 25346<change type="change"> 25347<para lang="ru"> 25348корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 25349</para> 25350<para lang="en"> 25351correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. 25352</para> 25353</change> 25354 25355</changes> 25356 25357 25358<changes ver="0.3.0" date="2005-10-07"> 25359 25360<change type="change"> 25361<para lang="ru"> 25362убрано десятидневное ограничение времени работы рабочего процесса. 25363Ограничение было введено из-за переполнения миллисекундных таймеров. 25364</para> 25365<para lang="en"> 25366the 10-days live time limit of worker process was eliminated. 25367The limit was introduced because of millisecond timers overflow. 25368</para> 25369</change> 25370 25371</changes> 25372 25373 25374<changes ver="0.2.6" date="2005-10-05"> 25375 25376<change type="change"> 25377<para lang="ru"> 25378с 60 до 10 секунд уменьшено время повторного обращения к бэкенду 25379при использовании распределения нагрузки. 25380</para> 25381<para lang="en"> 25382while using load-balancing the time before the failed backend retry 25383was decreased from 60 to 10 seconds. 25384</para> 25385</change> 25386 25387<change type="change"> 25388<para lang="ru"> 25389директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь 25390передаётся, если в директиве proxy_pass отсутствует URI. 25391</para> 25392<para lang="en"> 25393the "proxy_pass_unparsed_uri" was canceled, the original URI now passed, 25394if the URI part is omitted in "proxy_pass" directive. 25395</para> 25396</change> 25397 25398<change type="feature"> 25399<para lang="ru"> 25400директива error_page поддерживает редиректы и позволяет более гибко 25401менять код ошибки. 25402</para> 25403<para lang="en"> 25404the "error_page" directive supports redirects and allows more flexible 25405to change an error code. 25406</para> 25407</change> 25408 25409<change type="change"> 25410<para lang="ru"> 25411в проксированных подзапросах теперь игнорируется переданный charset. 25412</para> 25413<para lang="en"> 25414the charset in the "Content-Type" header line now is ignored 25415in proxied subrequests. 25416</para> 25417</change> 25418 25419<change type="bugfix"> 25420<para lang="ru"> 25421если после изменения URI в блоке if для запроса не находилась 25422новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись 25423снова. 25424</para> 25425<para lang="en"> 25426if the URI was changed in the "if" block and request did not found 25427new configuration, then the ngx_http_rewrite_module rules ran again. 25428</para> 25429</change> 25430 25431<change type="bugfix"> 25432<para lang="ru"> 25433если директива set устанавливала переменную модуля ngx_http_geo_module 25434в какой-либо части конфигурации, то эта переменная не была доступна в 25435других частях конфигурации и выдавалась ошибка "using uninitialized variable"; 25436ошибка появилась в 0.2.2. 25437</para> 25438<para lang="en"> 25439if the "set" directive set the ngx_http_geo_module variable in some 25440configuration part, the this variable was not available in other 25441configuration parts and the "using uninitialized variable" error was occurred; 25442the bug had appeared in 0.2.2. 25443</para> 25444</change> 25445 25446</changes> 25447 25448 25449<changes ver="0.2.5" date="2005-10-04"> 25450 25451<change type="change"> 25452<para lang="ru"> 25453дублирующее значение переменной модуля ngx_http_geo_module теперь 25454выдаёт предупреждение и изменяет старое значение. 25455</para> 25456<para lang="en"> 25457the duplicate value of the ngx_http_geo_module variable now causes 25458the warning and changes old value. 25459</para> 25460</change> 25461 25462<change type="feature"> 25463<para lang="ru"> 25464модуль ngx_http_ssi_module поддерживает команду set. 25465</para> 25466<para lang="en"> 25467the ngx_http_ssi_module supports the "set" command. 25468</para> 25469</change> 25470 25471<change type="feature"> 25472<para lang="ru"> 25473модуль ngx_http_ssi_module поддерживает параметр file в команде include. 25474</para> 25475<para lang="en"> 25476the ngx_http_ssi_module supports the "file" parameter in the "include" command. 25477</para> 25478</change> 25479 25480<change type="feature"> 25481<para lang="ru"> 25482модуль ngx_http_ssi_module поддерживает подстановку значений переменных 25483в выражениях команды if. 25484</para> 25485<para lang="en"> 25486the ngx_http_ssi_module supports the variable value substitutions in 25487expressions of the "if" command. 25488</para> 25489</change> 25490 25491</changes> 25492 25493 25494<changes ver="0.2.4" date="2005-10-03"> 25495 25496<change type="feature"> 25497<para lang="ru"> 25498модуль ngx_http_ssi_module поддерживает выражения 25499"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" 25500в команде if. 25501</para> 25502<para lang="en"> 25503the ngx_http_ssi_module supports 25504"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions 25505in the "if" command. 25506</para> 25507</change> 25508 25509<change type="bugfix"> 25510<para lang="ru"> 25511ошибки при проксировании location без слэша в конце; 25512ошибка появилась в 0.1.44. 25513</para> 25514<para lang="en"> 25515in proxying location without trailing slash; 25516the bug had appeared in 0.1.44. 25517</para> 25518</change> 25519 25520<change type="bugfix"> 25521<para lang="ru"> 25522при использовании метода rtsig мог произойти segmentation fault; 25523ошибка появилась в 0.2.0. 25524</para> 25525<para lang="en"> 25526the segmentation fault may occurred if the "rtsig" method was used; 25527the bug had appeared in 0.2.0. 25528</para> 25529</change> 25530 25531</changes> 25532 25533 25534<changes ver="0.2.3" date="2005-09-30"> 25535 25536<change type="bugfix"> 25537<para lang="ru"> 25538nginx не собирался без параметра --with-debug; 25539ошибка появилась в 0.2.2. 25540</para> 25541<para lang="en"> 25542nginx could not be built without the --with-debug option; 25543the bug had appeared in 0.2.2. 25544</para> 25545</change> 25546 25547</changes> 25548 25549 25550<changes ver="0.2.2" date="2005-09-30"> 25551 25552<change type="feature"> 25553<para lang="ru"> 25554команда config errmsg в модуле ngx_http_ssi_module. 25555</para> 25556<para lang="en"> 25557the "config errmsg" command of the ngx_http_ssi_module. 25558</para> 25559</change> 25560 25561<change type="change"> 25562<para lang="ru"> 25563переменные модуля ngx_http_geo_module можно переопределять директивой set. 25564</para> 25565<para lang="en"> 25566the ngx_http_geo_module variables can be overridden by the "set" directive. 25567</para> 25568</change> 25569 25570<change type="feature"> 25571<para lang="ru"> 25572директивы ssl_protocols и ssl_prefer_server_ciphers модулей 25573ngx_http_ssl_module и ngx_imap_ssl_module. 25574</para> 25575<para lang="en"> 25576the "ssl_protocols" and "ssl_prefer_server_ciphers" directives 25577of the ngx_http_ssl_module and ngx_imap_ssl_module. 25578</para> 25579</change> 25580 25581<change type="bugfix"> 25582<para lang="ru"> 25583ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 25584</para> 25585<para lang="en"> 25586the ngx_http_autoindex_module did not show correctly the long file names; 25587</para> 25588</change> 25589 25590<change type="bugfix"> 25591<para lang="ru"> 25592модуль ngx_http_autoindex_module теперь не показывает файлы, 25593начинающиеся на точку. 25594</para> 25595<para lang="en"> 25596the ngx_http_autoindex_module now do not show the files starting by dot. 25597</para> 25598</change> 25599 25600<change type="bugfix"> 25601<para lang="ru"> 25602если SSL handshake завершался с ошибкой, то это могло привести также 25603к закрытию другого соединения.<br/> 25604Спасибо Rob Mueller. 25605</para> 25606<para lang="en"> 25607if the SSL handshake failed then another connection may be closed too.<br/> 25608Thanks to Rob Mueller. 25609</para> 25610</change> 25611 25612<change type="bugfix"> 25613<para lang="ru"> 25614экспортные версии MSIE 5.x не могли соединиться по HTTPS. 25615</para> 25616<para lang="en"> 25617the export versions of MSIE 5.x could not connect via HTTPS. 25618</para> 25619</change> 25620 25621</changes> 25622 25623 25624<changes ver="0.2.1" date="2005-09-23"> 25625 25626<change type="bugfix"> 25627<para lang="ru"> 25628если все бэкенды, используемые для балансировки нагрузки, оказывались 25629в нерабочем состоянии после одной ошибки, то nginx мог зациклится; 25630ошибка появилась в 0.2.0. 25631</para> 25632<para lang="en"> 25633if all backend using in load-balancing failed after one error, then 25634nginx may got caught in an endless loop; 25635the bug had appeared in 0.2.0. 25636</para> 25637</change> 25638 25639</changes> 25640 25641 25642<changes ver="0.2.0" date="2005-09-23"> 25643 25644<change> 25645<para lang="ru"> 25646Изменились имена pid-файлов, используемые во время обновления исполняемого 25647файла. Ручное переименование теперь не нужно. 25648Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin" 25649и запускает новый исполняемый файл. 25650Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin". 25651Если новый основной процесс выходит, то старый процесс переименовывает свой 25652pid-файл c суффиксом ".oldbin" в pid-файл без суффикса. 25653При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба 25654процесса—старый 0.1.x и новый 0.2.0—используют pid-файл 25655без суффиксов. 25656</para> 25657<para lang="en"> 25658The pid-file names used during online upgrade was changed and now is not 25659required a manual rename operation. 25660The old master process adds the ".oldbin" suffix to its pid-file and 25661executes a new binary file. 25662The new master process creates usual pid-file without the ".newbin" suffix. 25663If the master process exits, then old master process renames back 25664its pid-file with the ".oldbin" suffix to the pid-file without suffix. 25665</para> 25666</change> 25667 25668<change type="change"> 25669<para lang="ru"> 25670директива worker_connections, новое название директивы connections; 25671директива теперь задаёт максимальное число соединений, 25672а не максимально возможный номер дескриптора для сокета. 25673</para> 25674<para lang="en"> 25675the "worker_connections" directive, new name of the "connections" directive; 25676now the directive specifies maximum number of connections, 25677but not maximum socket descriptor number. 25678</para> 25679</change> 25680 25681<change type="feature"> 25682<para lang="ru"> 25683SSL поддерживает кэширование сессий в пределах одного рабочего процесса. 25684</para> 25685<para lang="en"> 25686SSL supports the session cache inside one worker process. 25687</para> 25688</change> 25689 25690<change type="feature"> 25691<para lang="ru"> 25692директива satisfy_any. 25693</para> 25694<para lang="en"> 25695the "satisfy_any" directive. 25696</para> 25697</change> 25698 25699<change type="change"> 25700<para lang="ru"> 25701модули ngx_http_access_module и ngx_http_auth_basic_module не работают 25702для подзапросов. 25703</para> 25704<para lang="en"> 25705the ngx_http_access_module and ngx_http_auth_basic_module do not run 25706for subrequests. 25707</para> 25708</change> 25709 25710<change type="feature"> 25711<para lang="ru"> 25712директивы worker_rlimit_nofile и worker_rlimit_sigpending. 25713</para> 25714<para lang="en"> 25715the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives. 25716</para> 25717</change> 25718 25719<change type="bugfix"> 25720<para lang="ru"> 25721если все бэкенды, используемые для балансировки нагрузки, оказывались 25722в нерабочем состоянии после одной ошибки, то nginx не обращался к ним 25723в течение 60 секунд. 25724</para> 25725<para lang="en"> 25726if all backend using in load-balancing failed after one error, then 25727nginx did not try do connect to them during 60 seconds. 25728</para> 25729</change> 25730 25731<change type="bugfix"> 25732<para lang="ru"> 25733в парсинге аргументов IMAP/POP3 команд.<br/> 25734Спасибо Rob Mueller. 25735</para> 25736<para lang="en"> 25737in IMAP/POP3 command argument parsing.<br/> 25738Thanks to Rob Mueller. 25739</para> 25740</change> 25741 25742<change type="bugfix"> 25743<para lang="ru"> 25744ошибки при использовании SSL в IMAP/POP3 прокси. 25745</para> 25746<para lang="en"> 25747errors while using SSL in IMAP/POP3 proxy. 25748</para> 25749</change> 25750 25751<change type="bugfix"> 25752<para lang="ru"> 25753ошибки при использовании SSI и сжатия. 25754</para> 25755<para lang="en"> 25756errors while using SSI and gzipping. 25757</para> 25758</change> 25759 25760<change type="bugfix"> 25761<para lang="ru"> 25762в ответах 304 не добавлялись строки заголовка ответа "Expires" и 25763"Cache-Control".<br/> 25764Спасибо Александру Кукушкину. 25765</para> 25766<para lang="en"> 25767the "Expires" and "Cache-Control" header lines were omitted 25768from the 304 responses.<br/> 25769Thanks to Alexandr Kukushkin. 25770</para> 25771</change> 25772 25773</changes> 25774 25775 25776<changes ver="0.1.45" date="2005-09-08"> 25777 25778<change type="change"> 25779<para lang="ru"> 25780директива ssl_engine упразднена в модуле ngx_http_ssl_module и 25781перенесена на глобальный уровень. 25782</para> 25783<para lang="en"> 25784the "ssl_engine" directive was canceled in the ngx_http_ssl_module 25785and now is introduced at global level. 25786</para> 25787</change> 25788 25789<change type="bugfix"> 25790<para lang="ru"> 25791ответы с подзапросами, включённые с помощью SSI, не передавались 25792через SSL соединение. 25793</para> 25794<para lang="en"> 25795the responses with SSI subrequests did not transferred via SSL connection. 25796</para> 25797</change> 25798 25799<change> 25800<para lang="ru"> 25801Разные исправления в IMAP/POP3 прокси. 25802</para> 25803<para lang="en"> 25804Various bug fixes in the IMAP/POP3 proxy. 25805</para> 25806</change> 25807 25808</changes> 25809 25810 25811<changes ver="0.1.44" date="2005-09-06"> 25812 25813<change type="feature"> 25814<para lang="ru"> 25815IMAP/POP3 прокси поддерживает SSL. 25816</para> 25817<para lang="en"> 25818the IMAP/POP3 proxy supports SSL. 25819</para> 25820</change> 25821 25822<change type="feature"> 25823<para lang="ru"> 25824директива proxy_timeout модуля ngx_imap_proxy_module. 25825</para> 25826<para lang="en"> 25827the "proxy_timeout" directive of the ngx_imap_proxy_module. 25828</para> 25829</change> 25830 25831<change type="feature"> 25832<para lang="ru"> 25833директива userid_mark. 25834</para> 25835<para lang="en"> 25836the "userid_mark" directive. 25837</para> 25838</change> 25839 25840<change type="feature"> 25841<para lang="ru"> 25842значение переменной $remote_user определяется независимо от того, 25843используется ли авторизация или нет. 25844</para> 25845<para lang="en"> 25846the $remote_user variable value is determined independently of 25847authorization use. 25848</para> 25849</change> 25850 25851</changes> 25852 25853 25854<changes ver="0.1.43" date="2005-08-30"> 25855 25856<change type="feature"> 25857<para lang="ru"> 25858listen(2) backlog в директиве listen можно менять по сигналу -HUP. 25859</para> 25860<para lang="en"> 25861the listen(2) backlog in the "listen" directive 25862can be changed using the -HUP signal. 25863</para> 25864</change> 25865 25866<change type="feature"> 25867<para lang="ru"> 25868скрипт geo2nginx.pl добавлен в contrib. 25869</para> 25870<para lang="en"> 25871the geo2nginx.pl script was added to contrib. 25872</para> 25873</change> 25874 25875<change type="change"> 25876<para lang="ru"> 25877параметры FastCGI с пустым значениями теперь передаются серверу. 25878</para> 25879<para lang="en"> 25880the FastCGI parameters with the empty values now are passed to a server. 25881</para> 25882</change> 25883 25884<!-- 25885 25886<change type="bugfix"> 25887<para lang="ru"> 25888при ошибках в работе с проксированным сервером или FastCGI сервером 25889мог произойти segmentation fault; 25890в режиме прокси ошибка появилась в 0.1.29. 25891</para> 25892<para lang="en"> 25893the segmentation fault may occurred if there were errors while 25894working with proxied or FastCGI server; 25895in the proxied mode the bug had appeared in 0.1.29. 25896</para> 25897</change> 25898 25899--> 25900 25901<change type="bugfix"> 25902<para lang="ru"> 25903если в ответе проксированного сервера или FastCGI сервера была строка 25904"Cache-Control", то при использовании директивы expires происходил 25905segmentation fault или рабочий процесс мог зациклится; 25906в режиме прокси ошибка появилась в 0.1.29. 25907</para> 25908<para lang="en"> 25909the segmentation fault occurred or the worker process may got caught 25910in an endless loop if the proxied or FastCGI server sent the "Cache-Control" 25911header line and the "expires" directive was used; 25912in the proxied mode the bug had appeared in 0.1.29. 25913</para> 25914</change> 25915 25916</changes> 25917 25918 25919<changes ver="0.1.42" date="2005-08-23"> 25920 25921<change type="bugfix"> 25922<para lang="ru"> 25923если URI запроса получался нулевой длины после обработки модулем 25924ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил 25925segmentation fault или bus error. 25926</para> 25927<para lang="en"> 25928if the request URI had a zero length after the processing in 25929the ngx_http_proxy_module, then the segmentation fault or bus error occurred 25930in the ngx_http_proxy_module. 25931</para> 25932</change> 25933 25934<change type="bugfix"> 25935<para lang="ru"> 25936директива limit_rate не работала внутри блока if; 25937ошибка появилась в 0.1.38. 25938</para> 25939<para lang="en"> 25940the "limit_rate" directive did not work inside the "if" block; 25941the bug had appeared in 0.1.38. 25942</para> 25943</change> 25944 25945</changes> 25946 25947 25948<changes ver="0.1.41" date="2005-07-25"> 25949 25950<change type="bugfix"> 25951<para lang="ru"> 25952если переменная использовалась в файле конфигурации, 25953то она не могла использоваться в SSI. 25954</para> 25955<para lang="en"> 25956if the variable was used in the configuration file, 25957then it can not be used in SSI. 25958</para> 25959</change> 25960 25961</changes> 25962 25963 25964<changes ver="0.1.40" date="2005-07-22"> 25965 25966<change type="bugfix"> 25967<para lang="ru"> 25968если клиент слал очень длинную строку заголовка, то в логе не помещалась 25969информация, связанная с этим запросом. 25970</para> 25971<para lang="en"> 25972if a client sent too long header line, then the request information 25973did not logged in the error log. 25974</para> 25975</change> 25976 25977<change type="bugfix"> 25978<para lang="ru"> 25979при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie"; 25980ошибка появилась в 0.1.39. 25981</para> 25982<para lang="en"> 25983the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect" 25984was used; 25985the bug had appeared in 0.1.39. 25986</para> 25987</change> 25988 25989<change type="bugfix"> 25990<para lang="ru"> 25991при использовании "X-Accel-Redirect" не передавалась строка 25992"Content-Disposition". 25993</para> 25994<para lang="en"> 25995the "Content-Disposition" header line was not transferred when 25996the "X-Accel-Redirect" was used. 25997</para> 25998</change> 25999 26000<change type="bugfix"> 26001<para lang="ru"> 26002по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал. 26003</para> 26004<para lang="en"> 26005the master process did not close the listen socket on the SIGQUIT signal. 26006</para> 26007</change> 26008 26009<change type="bugfix"> 26010<para lang="ru"> 26011после обновления исполняемого файла на лету на Linux и Solaris 26012название процесса в команде ps становилось короче. 26013</para> 26014<para lang="en"> 26015after on-line upgrade on Linux and Solaris the process name 26016became shorter in the "ps" command. 26017</para> 26018</change> 26019 26020</changes> 26021 26022 26023<changes ver="0.1.39" date="2005-07-14"> 26024 26025<change> 26026<para lang="ru"> 26027Изменения в модуле ngx_http_charset_module: 26028директива default_charset упразднена; 26029директива charset задаёт кодировку ответа; 26030директива source_charset задаёт только исходную кодировку. 26031</para> 26032<para lang="en"> 26033The changes in the ngx_http_charset_module: 26034the "default_charset" directive was canceled; 26035the "charset" directive sets the response charset; 26036the "source_charset" directive sets the source charset only. 26037</para> 26038</change> 26039 26040<change type="bugfix"> 26041<para lang="ru"> 26042при перенаправлении ошибки 401, полученной от бэкенда, не передавалась 26043строка заголовка "WWW-Authenticate". 26044</para> 26045<para lang="en"> 26046the backend "WWW-Authenticate" header line did not transferred while 26047the 401 response code redirecting. 26048</para> 26049</change> 26050 26051<change type="bugfix"> 26052<para lang="ru"> 26053модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть 26054соединение до того, как что-нибудь было передано клиенту; 26055ошибка появилась в 0.1.38. 26056</para> 26057<para lang="en"> 26058the ngx_http_proxy_module and ngx_http_fastcgi_module may close 26059a connection before anything was transferred to a client; 26060the bug had appeared in 0.1.38. 26061</para> 26062</change> 26063 26064<change type="workaround"> 26065<para lang="ru"> 26066обработка ошибки инициализации в crypt_r() в Linux glibc. 26067</para> 26068<para lang="en"> 26069the Linux glibc crypt_r() initialization bug. 26070</para> 26071</change> 26072 26073<change type="bugfix"> 26074<para lang="ru"> 26075модуль ngx_http_ssi_module не поддерживал относительные URI в 26076команде include virtual. 26077</para> 26078<para lang="en"> 26079the ngx_http_ssi_module did not support the relative URI in 26080the "include virtual" command. 26081</para> 26082</change> 26083 26084<change type="bugfix"> 26085<para lang="ru"> 26086если в строке заголовка ответа бэкенда была строка "Location", 26087которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки; 26088ошибка появилась в 0.1.29. 26089</para> 26090<para lang="en"> 26091if the backend response had the "Location" header line and nginx 26092should not rewrite this line, then the 500 code response body was transferred; 26093the bug had appeared in 0.1.29. 26094</para> 26095</change> 26096 26097<change type="bugfix"> 26098<para lang="ru"> 26099некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module 26100не наследовались с уровня server на уровень location; 26101ошибка появилась в 0.1.29. 26102</para> 26103<para lang="en"> 26104some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module 26105were not inherited from the server to the location level; 26106the bug had appeared in 0.1.29. 26107</para> 26108</change> 26109 26110<change type="bugfix"> 26111<para lang="ru"> 26112модуль ngx_http_ssl_module не поддерживал цепочки сертификатов. 26113</para> 26114<para lang="en"> 26115the ngx_http_ssl_module did not support the certificate chain. 26116</para> 26117</change> 26118 26119<change type="bugfix"> 26120<para lang="ru"> 26121ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 26122ошибка появилась в 0.1.38. 26123</para> 26124<para lang="en"> 26125the ngx_http_autoindex_module did not show correctly the long file names; 26126the bug had appeared in 0.1.38. 26127</para> 26128</change> 26129 26130<change> 26131<para lang="ru"> 26132Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login. 26133</para> 26134<para lang="en"> 26135Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. 26136</para> 26137</change> 26138 26139</changes> 26140 26141 26142<changes ver="0.1.38" date="2005-07-08"> 26143 26144<change type="feature"> 26145<para lang="ru"> 26146директива limit_rate поддерживается в режиме прокси и FastCGI. 26147</para> 26148<para lang="en"> 26149the "limit_rate" directive is supported in proxy and FastCGI mode. 26150</para> 26151</change> 26152 26153<change type="feature"> 26154<para lang="ru"> 26155в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate" 26156в ответе бэкенда. 26157</para> 26158<para lang="en"> 26159the "X-Accel-Limit-Rate" response header line is supported in proxy 26160and FastCGI mode. 26161</para> 26162</change> 26163 26164<change type="feature"> 26165<para lang="ru"> 26166директива break. 26167</para> 26168<para lang="en"> 26169the "break" directive. 26170</para> 26171</change> 26172 26173<change type="feature"> 26174<para lang="ru"> 26175директива log_not_found. 26176</para> 26177<para lang="en"> 26178the "log_not_found" directive. 26179</para> 26180</change> 26181 26182<change type="bugfix"> 26183<para lang="ru"> 26184при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect" 26185не изменялся код ответа. 26186</para> 26187<para lang="en"> 26188the response status code was not changed when request was redirected 26189by the ""X-Accel-Redirect" header line. 26190</para> 26191</change> 26192 26193<change type="bugfix"> 26194<para lang="ru"> 26195переменные, установленные директивой set не могли использоваться в SSI. 26196</para> 26197<para lang="en"> 26198the variables set by the "set" directive could not be used in SSI. 26199</para> 26200</change> 26201 26202<change type="bugfix"> 26203<para lang="ru"> 26204при включении в SSI более одного удалённого подзапроса 26205мог произойти segmentation fault. 26206</para> 26207<para lang="en"> 26208the segmentation fault may occurred if the SSI page has more than one 26209remote subrequest. 26210</para> 26211</change> 26212 26213<change type="bugfix"> 26214<para lang="ru"> 26215если статусная строка в ответе бэкенда передавалась в двух пакетах, то 26216nginx считал ответ неверным; 26217ошибка появилась в 0.1.29. 26218</para> 26219<para lang="en"> 26220nginx treated the backend response as invalid if the status line in the 26221header was transferred in two packets; 26222the bug had appeared in 0.1.29. 26223</para> 26224</change> 26225 26226<change type="feature"> 26227<para lang="ru"> 26228директива ssi_types. 26229</para> 26230<para lang="en"> 26231the "ssi_types" directive. 26232</para> 26233</change> 26234 26235<change type="feature"> 26236<para lang="ru"> 26237директива autoindex_exact_size. 26238</para> 26239<para lang="en"> 26240the "autoindex_exact_size" directive. 26241</para> 26242</change> 26243 26244<change type="bugfix"> 26245<para lang="ru"> 26246модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8. 26247</para> 26248<para lang="en"> 26249the ngx_http_autoindex_module did not support the long file names in UTF-8. 26250</para> 26251</change> 26252 26253<change type="feature"> 26254<para lang="ru"> 26255IMAP/POP3 прокси. 26256</para> 26257<para lang="en"> 26258the IMAP/POP3 proxy. 26259</para> 26260</change> 26261 26262</changes> 26263 26264 26265<changes ver="0.1.37" date="2005-06-23"> 26266 26267<change type="change"> 26268<para lang="ru"> 26269в конце файла nginx.pid теперь добавляется "\n". 26270</para> 26271<para lang="en"> 26272now the "\n" is added to the end of the "nginx.pid" file. 26273</para> 26274</change> 26275 26276<change type="bugfix"> 26277<para lang="ru"> 26278при включении большого количества вставок или нескольких больших вставок 26279с помощью SSI ответ мог передаваться не полностью. 26280</para> 26281<para lang="en"> 26282the responses may be transferred not completely, 26283if many parts or the big parts were included by SSI. 26284</para> 26285</change> 26286 26287<change type="bugfix"> 26288<para lang="ru"> 26289если все бэкенды возвращали ответ 404, то при использовании параметра http_404 26290в директивах proxy_next_upstream или fastcgi_next_upstream, nginx 26291начинал запрашивать все бэкенды снова. 26292</para> 26293<para lang="en"> 26294if all backends had returned the 404 response and the "http_404" parameter of 26295the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used, 26296then nginx started to request all backends again. 26297</para> 26298</change> 26299 26300</changes> 26301 26302 26303<changes ver="0.1.36" date="2005-06-15"> 26304 26305<change type="change"> 26306<para lang="ru"> 26307если в заголовке запроса есть дублирующиеся строки "Host", "Connection", 26308"Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400. 26309</para> 26310<para lang="en"> 26311if the request header has duplicate the "Host", "Connection", "Content-Length", 26312or "Authorization" lines, then nginx now returns the 400 error. 26313</para> 26314</change> 26315 26316<change type="change"> 26317<para lang="ru"> 26318директива post_accept_timeout упразднена. 26319</para> 26320<para lang="en"> 26321the "post_accept_timeout" directive was canceled. 26322</para> 26323</change> 26324 26325<change type="feature"> 26326<para lang="ru"> 26327параметры default, af=, bl=, deferred и bind в директиве listen. 26328</para> 26329<para lang="en"> 26330the "default", "af=", "bl=", "deferred", and "bind" parameters 26331of the "listen" directive. 26332</para> 26333</change> 26334 26335<change type="feature"> 26336<para lang="ru"> 26337поддержка accept фильтров во FreeBSD. 26338</para> 26339<para lang="en"> 26340the FreeBSD accept filters support. 26341</para> 26342</change> 26343 26344<change type="feature"> 26345<para lang="ru"> 26346поддержка TCP_DEFER_ACCEPT в Linux. 26347</para> 26348<para lang="en"> 26349the Linux TCP_DEFER_ACCEPT support. 26350</para> 26351</change> 26352 26353<change type="bugfix"> 26354<para lang="ru"> 26355модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8. 26356</para> 26357<para lang="en"> 26358the ngx_http_autoindex_module did not support the file names in UTF-8. 26359</para> 26360</change> 26361 26362<change type="bugfix"> 26363<para lang="ru"> 26364после добавления новый лог-файл ротация этого лога по сигналу -USR1 26365выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP. 26366</para> 26367<para lang="en"> 26368the new log file can be rotated by the -USR1 signal only if 26369the reconfiguration by the -HUP signal was made twice. 26370</para> 26371</change> 26372 26373</changes> 26374 26375 26376<changes ver="0.1.35" date="2005-06-07"> 26377 26378<change type="feature"> 26379<para lang="ru"> 26380директива working_directory. 26381</para> 26382<para lang="en"> 26383the "working_directory" directive. 26384</para> 26385</change> 26386 26387<change type="feature"> 26388<para lang="ru"> 26389директива port_in_redirect. 26390</para> 26391<para lang="en"> 26392the "port_in_redirect" directive. 26393</para> 26394</change> 26395 26396<change type="bugfix"> 26397<para lang="ru"> 26398если заголовок ответа бэкенда не помещался в один пакет, то 26399происходил segmentation fault; 26400ошибка появилась в 0.1.29. 26401</para> 26402<para lang="en"> 26403the segmentation fault was occurred if the backend response header was in 26404several packets; 26405the bug had appeared in 0.1.29. 26406</para> 26407</change> 26408 26409<change type="bugfix"> 26410<para lang="ru"> 26411если было сконфигурировано более 10 серверов или в сервере не описана 26412директива "listen", 26413то при запуске мог произойти segmentation fault. 26414</para> 26415<para lang="en"> 26416if more than 10 servers were configured or some server did not use the 26417"listen" directive, then the segmentation fault was occurred on the start. 26418</para> 26419</change> 26420 26421<change type="bugfix"> 26422<para lang="ru"> 26423если ответ не помещался во временный файл, 26424то мог произойти segmentation fault. 26425</para> 26426<para lang="en"> 26427the segmentation fault might occur if the response was bigger than 26428the temporary file. 26429</para> 26430</change> 26431 26432<change type="bugfix"> 26433<para lang="ru"> 26434nginx возвращал ошибку 400 на запросы вида 26435<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 26436ошибка появилась в 0.1.28. 26437</para> 26438<para lang="en"> 26439nginx returned the 400 response on requests like 26440<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 26441the bug had appeared in 0.1.28. 26442</para> 26443</change> 26444 26445</changes> 26446 26447 26448<changes ver="0.1.34" date="2005-05-26"> 26449 26450<change type="bugfix"> 26451<para lang="ru"> 26452при включении больших ответов с помощью SSI рабочий процесс мог зациклиться. 26453</para> 26454<para lang="en"> 26455the worker process may got caught in an endless loop if the big response 26456part were include by SSI. 26457</para> 26458</change> 26459 26460<change type="bugfix"> 26461<para lang="ru"> 26462переменные, устанавливаемые директивой "set", не были доступны в SSI. 26463</para> 26464<para lang="en"> 26465the variables set by the "set" directive were not available in SSI. 26466</para> 26467</change> 26468 26469<change type="feature"> 26470<para lang="ru"> 26471директива autoindex_localtime. 26472</para> 26473<para lang="en"> 26474the "autoindex_localtime" directive. 26475</para> 26476</change> 26477 26478<change type="bugfix"> 26479<para lang="ru"> 26480пустое значение в директиве proxy_set_header запрещает передачу заголовка. 26481</para> 26482<para lang="en"> 26483the empty value of the "proxy_set_header" directive forbids the client 26484request header line passing. 26485</para> 26486</change> 26487 26488</changes> 26489 26490 26491<changes ver="0.1.33" date="2005-05-23"> 26492 26493<change type="bugfix"> 26494<para lang="ru"> 26495nginx не собирался с параметром --without-pcre; 26496ошибка появилась в 0.1.29. 26497</para> 26498<para lang="en"> 26499nginx could not be built with the --without-pcre parameter; 26500the bug had appeared in 0.1.29. 26501</para> 26502</change> 26503 26504<change type="bugfix"> 26505<para lang="ru"> 265063, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали 26507bus fault при запуске. 26508</para> 26509<para lang="en"> 265103, 4, 7, and 8 the "proxy_set_header" directives in one level cause 26511the bus fault on start up. 26512</para> 26513</change> 26514 26515<change type="bugfix"> 26516<para lang="ru"> 26517в редиректах внутри HTTPS сервера был указан протокол HTTP. 26518</para> 26519<para lang="en"> 26520the HTTP protocol was specified in the HTTPS redirects. 26521</para> 26522</change> 26523 26524<change type="bugfix"> 26525<para lang="ru"> 26526если директива rewrite использовала выделения внутри директивы if, то 26527возвращалась ошибка 500. 26528</para> 26529<para lang="en"> 26530if the "rewrite" directive used the captures inside the "if" directive, then 26531the 500 error code was returned. 26532</para> 26533</change> 26534 26535</changes> 26536 26537 26538<changes ver="0.1.32" date="2005-05-19"> 26539 26540<change type="bugfix"> 26541<para lang="ru"> 26542в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы; 26543ошибка появилась в 0.1.29. 26544</para> 26545<para lang="en"> 26546the arguments were omitted in the redirects, issued by the "rewrite" directive; 26547the bug had appeared in 0.1.29. 26548</para> 26549</change> 26550 26551<change type="feature"> 26552<para lang="ru"> 26553директива if поддерживает выделения в регулярных выражениях. 26554</para> 26555<para lang="en"> 26556the "if" directive supports the captures in regular expressions. 26557</para> 26558</change> 26559 26560<change type="feature"> 26561<para lang="ru"> 26562директива set поддерживает переменные и выделения из регулярных выражений. 26563</para> 26564<para lang="en"> 26565the "set" directive supports the variables and the captures of regular 26566expressions. 26567</para> 26568</change> 26569 26570<change type="feature"> 26571<para lang="ru"> 26572в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect" 26573в ответе бэкенда. 26574</para> 26575<para lang="en"> 26576the "X-Accel-Redirect" response header line is supported in proxy and FastCGI 26577mode. 26578</para> 26579</change> 26580 26581</changes> 26582 26583 26584<changes ver="0.1.31" date="2005-05-16"> 26585 26586<change type="bugfix"> 26587<para lang="ru"> 26588при использовании SSL ответ мог передаваться не до конца. 26589</para> 26590<para lang="en"> 26591the response encrypted by SSL may not transferred complete. 26592</para> 26593</change> 26594 26595<change type="bugfix"> 26596<para lang="ru"> 26597ошибки при обработке SSI в ответе, полученного от FastCGI-сервера. 26598</para> 26599<para lang="en"> 26600errors while processing FastCGI response by SSI. 26601</para> 26602</change> 26603 26604<change type="bugfix"> 26605<para lang="ru"> 26606ошибки при использовании SSI и сжатия. 26607</para> 26608<para lang="en"> 26609errors while using SSI and gzipping. 26610</para> 26611</change> 26612 26613<change type="bugfix"> 26614<para lang="ru"> 26615редирект с кодом 301 передавался без тела ответа; 26616ошибка появилась в 0.1.30. 26617</para> 26618<para lang="en"> 26619the redirect with the 301 code was transferred without response body; 26620the bug had appeared in 0.1.30. 26621</para> 26622</change> 26623 26624</changes> 26625 26626 26627<changes ver="0.1.30" date="2005-05-14"> 26628 26629<change type="bugfix"> 26630<para lang="ru"> 26631при использовании SSI рабочий процесс мог зациклиться. 26632</para> 26633<para lang="en"> 26634the worker process may got caught in an endless loop if the SSI was used. 26635</para> 26636</change> 26637 26638<change type="bugfix"> 26639<para lang="ru"> 26640при использовании SSL ответ мог передаваться не до конца. 26641</para> 26642<para lang="en"> 26643the response encrypted by SSL may not transferred complete. 26644</para> 26645</change> 26646 26647<change type="bugfix"> 26648<para lang="ru"> 26649если длина части ответа, полученного за один раз от проксируемого или 26650FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500; 26651в режиме прокси ошибка появилась только в 0.1.29. 26652</para> 26653<para lang="en"> 26654if the length of the response part received at once from proxied 26655or FastCGI server was equal to 500, then nginx returns the 500 response code; 26656in proxy mode the bug had appeared in 0.1.29 only. 26657</para> 26658</change> 26659 26660<change type="bugfix"> 26661<para lang="ru"> 26662nginx не считал неверными директивы с 8-ю или 9-ю параметрами. 26663</para> 26664<para lang="en"> 26665nginx did not consider the directives with 8 or 9 parameters as invalid. 26666</para> 26667</change> 26668 26669<change type="feature"> 26670<para lang="ru"> 26671директива return может возвращать код ответа 204. 26672</para> 26673<para lang="en"> 26674the "return" directive can return the 204 response code. 26675</para> 26676</change> 26677 26678<change type="feature"> 26679<para lang="ru"> 26680директива ignore_invalid_headers. 26681</para> 26682<para lang="en"> 26683the "ignore_invalid_headers" directive. 26684</para> 26685</change> 26686 26687</changes> 26688 26689 26690<changes ver="0.1.29" date="2005-05-12"> 26691 26692<change type="feature"> 26693<para lang="ru"> 26694модуль ngx_http_ssi_module поддерживает команду include virtual. 26695</para> 26696<para lang="en"> 26697the ngx_http_ssi_module supports "include virtual" command. 26698</para> 26699</change> 26700 26701<change type="feature"> 26702<para lang="ru"> 26703модуль ngx_http_ssi_module поддерживает условную команду вида 26704'if expr="$NAME"' и команды else и endif. 26705Допускается только один уровень вложенности. 26706</para> 26707<para lang="en"> 26708the ngx_http_ssi_module supports the condition command like 26709'if expr="$NAME"' and "else" and "endif" commands. 26710Only one nested level is supported. 26711</para> 26712</change> 26713 26714<change type="feature"> 26715<para lang="ru"> 26716модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT 26717и команду config timefmt. 26718</para> 26719<para lang="en"> 26720the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables 26721and "config timefmt" command. 26722</para> 26723</change> 26724 26725<change type="feature"> 26726<para lang="ru"> 26727директива ssi_ignore_recycled_buffers. 26728</para> 26729<para lang="en"> 26730the "ssi_ignore_recycled_buffers" directive. 26731</para> 26732</change> 26733 26734<change type="bugfix"> 26735<para lang="ru"> 26736если переменная QUERY_STRING не была определена, то в команде echo 26737не ставилось значение по умолчанию. 26738</para> 26739<para lang="en"> 26740the "echo" command did not show the default value for the empty QUERY_STRING 26741variable. 26742</para> 26743</change> 26744 26745<change type="change"> 26746<para lang="ru"> 26747модуль ngx_http_proxy_module полностью переписан. 26748</para> 26749<para lang="en"> 26750the ngx_http_proxy_module was rewritten. 26751</para> 26752</change> 26753 26754<change type="feature"> 26755<para lang="ru"> 26756директивы proxy_redirect, proxy_pass_request_headers, 26757proxy_pass_request_body и proxy_method. 26758</para> 26759<para lang="en"> 26760the "proxy_redirect", "proxy_pass_request_headers", 26761"proxy_pass_request_body", and "proxy_method" directives. 26762</para> 26763</change> 26764 26765<change type="feature"> 26766<para lang="ru"> 26767директива proxy_set_header. 26768Директива proxy_x_var упразднена и должна быть заменена директивой 26769proxy_set_header. 26770</para> 26771<para lang="en"> 26772the "proxy_set_header" directive. 26773The "proxy_x_var" was canceled and must be replaced with the proxy_set_header 26774directive. 26775</para> 26776</change> 26777 26778<change type="change"> 26779<para lang="ru"> 26780директива proxy_preserve_host упразднена и должна быть заменена директивами 26781"proxy_set_header Host $host" и "proxy_redirect off" 26782или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr> 26783и соответствующими ей директивами proxy_redirect. 26784</para> 26785<para lang="en"> 26786the "proxy_preserve_host" is canceled and must be replaced with 26787the "proxy_set_header Host $host" and the "proxy_redirect off" directives, 26788the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr> 26789and the appropriate proxy_redirect directives. 26790</para> 26791</change> 26792 26793<change type="change"> 26794<para lang="ru"> 26795директива proxy_set_x_real_ip упразднена и должна быть заменена директивой 26796"proxy_set_header X-Real-IP $remote_addr". 26797</para> 26798<para lang="en"> 26799the "proxy_set_x_real_ip" is canceled and must be replaced with 26800the "proxy_set_header X-Real-IP $remote_addr" directive. 26801</para> 26802</change> 26803 26804<change type="change"> 26805<para lang="ru"> 26806директива proxy_add_x_forwarded_for упразднена и должна быть заменена 26807директивой 26808<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr> 26809</para> 26810<para lang="en"> 26811the "proxy_add_x_forwarded_for" is canceled and must be replaced with 26812<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr> 26813directive. 26814</para> 26815</change> 26816 26817<change type="change"> 26818<para lang="ru"> 26819директива proxy_set_x_url упразднена и должна быть заменена директивой 26820<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr> 26821</para> 26822<para lang="en"> 26823the "proxy_set_x_url" is canceled and must be replaced with 26824the "proxy_set_header X-URL http://$host:$server_port$request_uri" 26825directive. 26826</para> 26827</change> 26828 26829<change type="feature"> 26830<para lang="ru"> 26831директива fastcgi_param. 26832</para> 26833<para lang="en"> 26834the "fastcgi_param" directive. 26835</para> 26836</change> 26837 26838<change type="change"> 26839<para lang="ru"> 26840директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены 26841и должны быть замены директивами fastcgi_param. 26842</para> 26843<para lang="en"> 26844the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive 26845are canceled and must be replaced with the fastcgi_param directives. 26846</para> 26847</change> 26848 26849<change type="feature"> 26850<para lang="ru"> 26851директива index может использовать переменные. 26852</para> 26853<para lang="en"> 26854the "index" directive can use the variables. 26855</para> 26856</change> 26857 26858<change type="feature"> 26859<para lang="ru"> 26860директива index может быть указана на уровне http и server. 26861</para> 26862<para lang="en"> 26863the "index" directive can be used at http and server levels. 26864</para> 26865</change> 26866 26867<change type="change"> 26868<para lang="ru"> 26869только последний параметр в директиве index может быть абсолютным. 26870</para> 26871<para lang="en"> 26872the last index only in the "index" directive can be absolute. 26873</para> 26874</change> 26875 26876<change type="feature"> 26877<para lang="ru"> 26878в директиве rewrite могут использоваться переменные. 26879</para> 26880<para lang="en"> 26881the "rewrite" directive can use the variables. 26882</para> 26883</change> 26884 26885<change type="feature"> 26886<para lang="ru"> 26887директива internal. 26888</para> 26889<para lang="en"> 26890the "internal" directive. 26891</para> 26892</change> 26893 26894<change type="feature"> 26895<para lang="ru"> 26896переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 26897SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 26898REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 26899</para> 26900<para lang="en"> 26901the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 26902SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 26903REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. 26904</para> 26905</change> 26906 26907<change type="change"> 26908<para lang="ru"> 26909nginx теперь передаёт неверные строки в заголовках запроса клиента и 26910ответа бэкенда. 26911</para> 26912<para lang="en"> 26913nginx now passes the invalid lines in a client request headers 26914or a backend response header. 26915</para> 26916</change> 26917 26918<change type="bugfix"> 26919<para lang="ru"> 26920если бэкенд долго не передавал ответ и send_timeout был меньше, чем 26921proxy_read_timeout, то клиенту возвращался ответ 408. 26922</para> 26923<para lang="en"> 26924if the backend did not transfer response for a long time and 26925the "send_timeout" was less than "proxy_read_timeout", then nginx 26926returned the 408 response. 26927</para> 26928</change> 26929 26930<change type="bugfix"> 26931<para lang="ru"> 26932если бэкенд передавал неверную строку в заголовке ответа, то происходил 26933segmentation fault; 26934ошибка появилась в 0.1.26. 26935</para> 26936<para lang="en"> 26937the segmentation fault was occurred if the backend sent an invalid line 26938in response header; 26939the bug had appeared in 0.1.26. 26940</para> 26941</change> 26942 26943<change type="bugfix"> 26944<para lang="ru"> 26945при использовании отказоустойчивой конфигурации в FastCGI мог 26946происходить segmentation fault. 26947</para> 26948<para lang="en"> 26949the segmentation fault may occurred in FastCGI fault tolerance configuration. 26950</para> 26951</change> 26952 26953<change type="bugfix"> 26954<para lang="ru"> 26955директива expires не удаляла уже установленные строки заголовка 26956"Expires" и "Cache-Control". 26957</para> 26958<para lang="en"> 26959the "expires" directive did not remove the previous "Expires" and 26960"Cache-Control" headers. 26961</para> 26962</change> 26963 26964<change type="bugfix"> 26965<para lang="ru"> 26966nginx не учитывал завершающую точку в строке заголовка запроса "Host". 26967</para> 26968<para lang="en"> 26969nginx did not take into account trailing dot in "Host" header line. 26970</para> 26971</change> 26972 26973<change type="bugfix"> 26974<para lang="ru"> 26975модуль ngx_http_auth_module не работал на Linux. 26976</para> 26977<para lang="en"> 26978the ngx_http_auth_module did not work under Linux. 26979</para> 26980</change> 26981 26982<change type="bugfix"> 26983<para lang="ru"> 26984директива rewrite неверно работала, если в запросе присутствовали аргументы. 26985</para> 26986<para lang="en"> 26987the rewrite directive worked incorrectly, if the arguments were in a request. 26988</para> 26989</change> 26990 26991<change type="bugfix"> 26992<para lang="ru"> 26993nginx не собирался на MacOS X. 26994</para> 26995<para lang="en"> 26996nginx could not be built on MacOS X. 26997</para> 26998</change> 26999 27000</changes> 27001 27002 27003<changes ver="0.1.28" date="2005-04-08"> 27004 27005<change type="bugfix"> 27006<para lang="ru"> 27007при проксировании больших файлов nginx сильно нагружал процессор. 27008</para> 27009<para lang="en"> 27010nginx hogs CPU while proxying the huge files. 27011</para> 27012</change> 27013 27014<change type="bugfix"> 27015<para lang="ru"> 27016nginx не собирался gcc 4.0 на Linux. 27017</para> 27018<para lang="en"> 27019nginx could not be built by gcc 4.0 on Linux. 27020</para> 27021</change> 27022 27023</changes> 27024 27025 27026<changes ver="0.1.27" date="2005-03-28"> 27027 27028<change type="feature"> 27029<para lang="ru"> 27030параметр blocked в директиве valid_referers. 27031</para> 27032<para lang="en"> 27033the "blocked" parameter of the "valid_referers" directive. 27034</para> 27035</change> 27036 27037<change type="change"> 27038<para lang="ru"> 27039ошибки обработки заголовка запроса теперь записываются на уровне 27040info, в лог также записывается имя сервера и строки заголовка 27041запроса "Host" и "Referer". 27042</para> 27043<para lang="en"> 27044the errors while handling the request header now logged at "info" level. 27045The server name and the "Host" and "Referer" header lines also logged. 27046</para> 27047</change> 27048 27049<change type="change"> 27050<para lang="ru"> 27051при записи ошибок в лог записывается также строка заголовка запроса "Host". 27052</para> 27053<para lang="en"> 27054the "Host" header line is also logged in error log. 27055</para> 27056</change> 27057 27058<change type="feature"> 27059<para lang="ru"> 27060директива proxy_pass_unparsed_uri. 27061Специальная обработка символов "://" в URI, введённая в версии 0.1.11, 27062теперь упразднена. 27063</para> 27064<para lang="en"> 27065the proxy_pass_unparsed_uri directive. 27066The special handling of the "://" symbols in URI, appeared in 0.1.11 version, 27067now is canceled. 27068</para> 27069</change> 27070 27071<change type="bugfix"> 27072<para lang="ru"> 27073nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации 27074--without-ngx_http_auth_basic_module. 27075</para> 27076<para lang="en"> 27077nginx could not be built on FreeBSD and Linux, if the 27078--without-ngx_http_auth_basic_module configuration parameter was used. 27079</para> 27080</change> 27081 27082</changes> 27083 27084 27085<changes ver="0.1.26" date="2005-03-22"> 27086 27087<change type="change"> 27088<para lang="ru"> 27089неверные строки заголовка, переданные клиентом, теперь игнорируется и 27090записываются в error_log на уровне info. 27091</para> 27092<para lang="en"> 27093the invalid client header lines are now ignored and logged at the info level. 27094</para> 27095</change> 27096 27097<change type="change"> 27098<para lang="ru"> 27099при записи ошибок в лог записывается также имя сервера, при обращении 27100к которому произошла ошибка. 27101</para> 27102<para lang="en"> 27103the server name is also logged in error log. 27104</para> 27105</change> 27106 27107<change type="feature"> 27108<para lang="ru"> 27109модуль ngx_http_auth_basic_module и директивы auth_basic и 27110auth_basic_user_file. 27111</para> 27112<para lang="en"> 27113the ngx_http_auth_basic_module module and the auth_basic and 27114auth_basic_user_file directives. 27115</para> 27116</change> 27117 27118</changes> 27119 27120 27121<changes ver="0.1.25" date="2005-03-19"> 27122 27123<change type="bugfix"> 27124<para lang="ru"> 27125nginx не работал на Linux parisc. 27126</para> 27127<para lang="en"> 27128nginx did run on Linux parisc. 27129</para> 27130</change> 27131 27132<change type="feature"> 27133<para lang="ru"> 27134nginx теперь не запускается под FreeBSD, если значение 27135sysctl kern.ipc.somaxconn слишком большое. 27136</para> 27137<para lang="en"> 27138nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn 27139value is too big. 27140</para> 27141</change> 27142 27143<change type="bugfix"> 27144<para lang="ru"> 27145если модуль ngx_http_index_module делал внутреннее перенаправление запроса 27146в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса 27147не закрывался после обслуживания запроса. 27148</para> 27149<para lang="en"> 27150if a request was internally redirected by the ngx_http_index_module 27151module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, 27152then the index file was not closed after request completion. 27153</para> 27154</change> 27155 27156<change type="feature"> 27157<para lang="ru"> 27158директива proxy_pass может использоваться в location, заданных регулярным 27159выражением. 27160</para> 27161<para lang="en"> 27162the "proxy_pass" can be used in location with regular expression. 27163</para> 27164</change> 27165 27166<change type="feature"> 27167<para lang="ru"> 27168модуль ngx_http_rewrite_filter_module поддерживает условия вида 27169"if ($HTTP_USER_AGENT ~ MSIE)". 27170</para> 27171<para lang="en"> 27172the ngx_http_rewrite_filter_module module supports the condition like 27173"if ($HTTP_USER_AGENT ~ MSIE)". 27174</para> 27175</change> 27176 27177<change type="bugfix"> 27178<para lang="ru"> 27179nginx очень медленно запускался при большом количестве адресов и 27180использовании текстовых значений в директиве geo. 27181</para> 27182<para lang="en"> 27183nginx started too slow if the large number of addresses and text values 27184were used in the "geo" directive. 27185</para> 27186</change> 27187 27188<change type="change"> 27189<para lang="ru"> 27190имя переменной в директиве geo нужно указывать, как $name. 27191Прежний вариант без "$" пока работает, но вскоре будет убран. 27192</para> 27193<para lang="en"> 27194a variable name must be declared as "$name" in the "geo" directive. 27195The previous variant without "$" is still supported, but will be removed soon. 27196</para> 27197</change> 27198 27199<change type="feature"> 27200<para lang="ru"> 27201параметр лога "%{VARIABLE}v". 27202</para> 27203<para lang="en"> 27204the "%{VARIABLE}v" logging parameter. 27205</para> 27206</change> 27207 27208<change type="feature"> 27209<para lang="ru"> 27210директива "set $name value". 27211</para> 27212<para lang="en"> 27213the "set $name value" directive. 27214</para> 27215</change> 27216 27217<change type="bugfix"> 27218<para lang="ru"> 27219совместимость с gcc 4.0. 27220</para> 27221<para lang="en"> 27222gcc 4.0 compatibility. 27223</para> 27224</change> 27225 27226<change type="feature"> 27227<para lang="ru"> 27228параметр автоконфигурации --with-openssl-opt=OPTIONS. 27229</para> 27230<para lang="en"> 27231the --with-openssl-opt=OPTIONS autoconfiguration directive. 27232</para> 27233</change> 27234 27235</changes> 27236 27237 27238<changes ver="0.1.24" date="2005-03-04"> 27239 27240<change type="feature"> 27241<para lang="ru"> 27242модуль ngx_http_ssi_filter_module поддерживает переменные 27243QUERY_STRING и DOCUMENT_URI. 27244</para> 27245<para lang="en"> 27246the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI 27247variables. 27248</para> 27249</change> 27250 27251<change type="bugfix"> 27252<para lang="ru"> 27253модуль ngx_http_autoindex_module мог выдавать ответ 404 27254на существующий каталог, если этот каталог был указан как alias. 27255</para> 27256<para lang="en"> 27257the ngx_http_autoindex_module may some times return the 404 response 27258for existent directory, if this directory was used in "alias" directive. 27259</para> 27260</change> 27261 27262<change type="bugfix"> 27263<para lang="ru"> 27264модуль ngx_http_ssi_filter_module неправильно работал при больших 27265ответах. 27266</para> 27267<para lang="en"> 27268the ngx_http_ssi_filter_module ran incorrectly for large responses. 27269</para> 27270</change> 27271 27272<change type="bugfix"> 27273<para lang="ru"> 27274отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом. 27275</para> 27276<para lang="en"> 27277the lack of the "Referer" header line was always accounted as valid referrer. 27278</para> 27279</change> 27280 27281</changes> 27282 27283 27284<changes ver="0.1.23" date="2005-03-01"> 27285 27286<change type="feature"> 27287<para lang="ru"> 27288модуль ngx_http_ssi_filter_module и 27289директивы ssi, ssi_silent_errors и ssi_min_file_chunk. 27290Поддерживаются команды 'echo var="HTTP_..." default=""' и 27291'echo var="REMOTE_ADDR"'. 27292</para> 27293<para lang="en"> 27294the ngx_http_ssi_filter_module and 27295the ssi, ssi_silent_errors, and ssi_min_file_chunk directives. 27296The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands 27297are supported. 27298</para> 27299</change> 27300 27301<change type="feature"> 27302<para lang="ru"> 27303параметр лога %request_time. 27304</para> 27305<para lang="en"> 27306the %request_time log parameter. 27307</para> 27308</change> 27309 27310<change type="feature"> 27311<para lang="ru"> 27312если запрос пришёл без строки заголовка "Host", то директива 27313proxy_preserve_host устанавливает в качестве этого заголовка первое имя 27314сервера из директивы server_name. 27315</para> 27316<para lang="en"> 27317if the request has no the "Host" header line, then the "proxy_preserve_host" 27318directive set this header line to the first server name of the "server_name" 27319directive. 27320</para> 27321</change> 27322 27323<change type="bugfix"> 27324<para lang="ru"> 27325nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 27326ошибка появилась в 0.1.22. 27327</para> 27328<para lang="en"> 27329nginx could not be built on platforms different from i386, amd64, sparc, 27330and ppc; 27331the bug had appeared in 0.1.22. 27332</para> 27333</change> 27334 27335<change type="bugfix"> 27336<para lang="ru"> 27337модуль ngx_http_autoindex_module теперь показывает информацию не о 27338символическом линке, а о файле или каталоге, на который он указывает. 27339</para> 27340<para lang="en"> 27341the ngx_http_autoindex_module now shows the information not about the symlink, 27342but about file or directory it points to. 27343</para> 27344</change> 27345 27346<change type="bugfix"> 27347<para lang="ru"> 27348если клиенту ничего не передавалось, то параметр %apache_length 27349записывал в лог отрицательную длину заголовка ответа. 27350</para> 27351<para lang="en"> 27352the %apache_length parameter logged the negative length 27353of the response header if the no response was transferred to a client. 27354</para> 27355</change> 27356 27357</changes> 27358 27359 27360<changes ver="0.1.22" date="2005-02-22"> 27361 27362<change type="bugfix"> 27363<para lang="ru"> 27364модуль ngx_http_stub_status_module показывал неверную статистику 27365для обработанных соединений, если использовалось проксирование 27366или FastCGI-сервер. 27367</para> 27368<para lang="en"> 27369the ngx_http_stub_status_module showed incorrect handled connections 27370statistics if the proxying or FastCGI server were used. 27371</para> 27372</change> 27373 27374<change type="bugfix"> 27375<para lang="ru"> 27376на Linux и Solaris установочные пути были неверно заключены в кавычки; 27377ошибка появилась в 0.1.21. 27378</para> 27379<para lang="en"> 27380the installation paths were incorrectly quoted on Linux and Solaris; 27381the bug had appeared in 0.1.21. 27382</para> 27383</change> 27384 27385</changes> 27386 27387 27388<changes ver="0.1.21" date="2005-02-22"> 27389 27390<change type="bugfix"> 27391<para lang="ru"> 27392модуль ngx_http_stub_status_module показывал неверную статистику 27393при использовании метода rtsig или при использовании нескольких 27394рабочих процессов на SMP машине. 27395</para> 27396<para lang="en"> 27397the ngx_http_stub_status_module showed incorrect statistics 27398if "rtsig" method was used or if several worker process ran on SMP. 27399</para> 27400</change> 27401 27402<change type="bugfix"> 27403<para lang="ru"> 27404nginx не собирался компилятором icc под Линуксом или 27405если библиотека zlib-1.2.x собиралась из исходных текстов. 27406</para> 27407<para lang="en"> 27408nginx could not be built by the icc compiler on Linux or 27409if the zlib-1.2.x library was building from sources. 27410</para> 27411</change> 27412 27413<change type="bugfix"> 27414<para lang="ru"> 27415nginx не собирался под NetBSD 2.0. 27416</para> 27417<para lang="en"> 27418nginx could not be built on NetBSD 2.0. 27419</para> 27420</change> 27421 27422</changes> 27423 27424 27425<changes ver="0.1.20" date="2005-02-17"> 27426 27427<change type="feature"> 27428<para lang="ru"> 27429новые параметры script_filename и remote_port в директиве fastcgi_params. 27430</para> 27431<para lang="en"> 27432the new "script_filename" and "remote_port" parameters 27433of the fastcgi_params directive. 27434</para> 27435</change> 27436 27437<change type="bugfix"> 27438<para lang="ru"> 27439неправильно обрабатывался поток stderr от FastCGI-сервера. 27440</para> 27441<para lang="en"> 27442the FastCGI stderr stream was handled incorrectly. 27443</para> 27444</change> 27445 27446</changes> 27447 27448 27449<changes ver="0.1.19" date="2005-02-16"> 27450 27451<change type="bugfix"> 27452<para lang="ru"> 27453если в запросе есть нуль, то для локальных запросов теперь возвращается 27454ошибка 404. 27455</para> 27456<para lang="en"> 27457now, if request contains the zero, then the 404 error is returned 27458for the local requests. 27459</para> 27460</change> 27461 27462<change type="bugfix"> 27463<para lang="ru"> 27464nginx не собирался под NetBSD 2.0. 27465</para> 27466<para lang="en"> 27467nginx could not be built on NetBSD 2.0. 27468</para> 27469</change> 27470 27471<change type="bugfix"> 27472<para lang="ru"> 27473во время чтения тела запроса клиента в SSL соединении мог произойти таймаут. 27474</para> 27475<para lang="en"> 27476the timeout may occur while reading of the client request body 27477via SSL connections. 27478</para> 27479</change> 27480 27481</changes> 27482 27483 27484<changes ver="0.1.18" date="2005-02-09"> 27485 27486<change type="workaround"> 27487<para lang="ru"> 27488для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes 27489значения по умолчанию уменьшены с 512 до 32. 27490</para> 27491<para lang="en"> 27492the default values of the devpoll_events and the devpoll_changes directives 27493changed from 512 to 32 to be compatible with Solaris 10. 27494</para> 27495</change> 27496 27497<change type="bugfix"> 27498<para lang="ru"> 27499директивы proxy_set_x_var и fastcgi_set_var не наследовались. 27500</para> 27501<para lang="en"> 27502the proxy_set_x_var and fastcgi_set_var directives were not inherited. 27503</para> 27504</change> 27505 27506<change type="bugfix"> 27507<para lang="ru"> 27508в директиве rewrite, возвращающей редирект, аргументы присоединялись 27509к URI через символ "&" вместо "?". 27510</para> 27511<para lang="en"> 27512in a redirect rewrite directive arguments were concatenated with URI 27513by an "&" rather than a "?". 27514</para> 27515</change> 27516 27517<change type="bugfix"> 27518<para lang="ru"> 27519строки для модуля ngx_http_geo_module без символа ";" во включённом файле 27520игнорировались. 27521</para> 27522<para lang="en"> 27523the lines without trailing ";" in the file being included 27524by the ngx_http_geo_module were silently ignored. 27525</para> 27526</change> 27527 27528<change type="feature"> 27529<para lang="ru"> 27530модуль ngx_http_stub_status_module. 27531</para> 27532<para lang="en"> 27533the ngx_http_stub_status_module. 27534</para> 27535</change> 27536 27537<change type="bugfix"> 27538<para lang="ru"> 27539неизвестный формат лог-файла в директиве access_log вызывал segmentation fault. 27540</para> 27541<para lang="en"> 27542the unknown log format in the access_log directive caused 27543the segmentation fault. 27544</para> 27545</change> 27546 27547<change type="feature"> 27548<para lang="ru"> 27549новый параметр document_root в директиве fastcgi_params. 27550</para> 27551<para lang="en"> 27552the new "document_root" parameter of the fastcgi_params directive. 27553</para> 27554</change> 27555 27556<change type="feature"> 27557<para lang="ru"> 27558директива fastcgi_redirect_errors. 27559</para> 27560<para lang="en"> 27561the fastcgi_redirect_errors directive. 27562</para> 27563</change> 27564 27565<change type="feature"> 27566<para lang="ru"> 27567новый модификатор break в директиве rewrite позволяет прекратить 27568цикл rewrite/location и устанавливает текущую конфигурацию для запроса. 27569</para> 27570<para lang="en"> 27571the new "break" modifier of the "rewrite" directive allows to stop 27572the rewrite/location cycle and sets the current configuration to the request. 27573</para> 27574</change> 27575 27576</changes> 27577 27578 27579<changes ver="0.1.17" date="2005-02-03"> 27580 27581<change type="change"> 27582<para lang="ru"> 27583модуль ngx_http_rewrite_module полностью переписан. 27584Теперь можно делать редиректы, возвращать коды ошибок 27585и проверять переменные и рефереры. 27586Эти директивы можно использовать внутри location. 27587Директива redirect упразднена. 27588</para> 27589<para lang="en"> 27590the ngx_http_rewrite_module was rewritten from the scratch. 27591Now it is possible to redirect, to return the error codes, 27592to check the variables and referrers. The directives can be used 27593inside locations. 27594The redirect directive was canceled. 27595</para> 27596</change> 27597 27598<change type="feature"> 27599<para lang="ru"> 27600модуль ngx_http_geo_module. 27601</para> 27602<para lang="en"> 27603the ngx_http_geo_module. 27604</para> 27605</change> 27606 27607<change type="feature"> 27608<para lang="ru"> 27609директивы proxy_set_x_var и fastcgi_set_var. 27610</para> 27611<para lang="en"> 27612the proxy_set_x_var and fastcgi_set_var directives. 27613</para> 27614</change> 27615 27616<change type="bugfix"> 27617<para lang="ru"> 27618конфигурация location с модификатором "=" могла использоваться 27619в другом location. 27620</para> 27621<para lang="en"> 27622the location configuration with "=" modifier may be used in another 27623location. 27624</para> 27625</change> 27626 27627<change type="bugfix"> 27628<para lang="ru"> 27629правильный тип ответа выставлялся только для запросов, у которых в расширении 27630были только маленькие буквы. 27631</para> 27632<para lang="en"> 27633the correct content type was set only for requests that use small caps letters 27634in extension. 27635</para> 27636</change> 27637 27638<change type="bugfix"> 27639<para lang="ru"> 27640если для location установлен proxy_pass или fastcgi_pass, и доступ 27641к нему запрещался, а ошибка перенаправлялась на статическую страницу, 27642то происходил segmentation fault. 27643</para> 27644<para lang="en"> 27645if the proxy_pass or fastcgi_pass directives were set in the location, 27646and access was denied, and the error was redirected to a static page, 27647then the segmentation fault occurred. 27648</para> 27649</change> 27650 27651<change type="bugfix"> 27652<para lang="ru"> 27653если в проксированном ответе в заголовке "Location" передавался 27654относительный URL, то к нему добавлялось имя хоста и слэш; 27655ошибка появилась в 0.1.14. 27656</para> 27657<para lang="en"> 27658if in a proxied "Location" header was a relative URL, 27659then a host name and a slash were added to them; 27660the bug had appeared in 0.1.14. 27661</para> 27662</change> 27663 27664<change type="bugfix"> 27665<para lang="ru"> 27666на Linux в лог не записывался текст системной ошибки. 27667</para> 27668<para lang="en"> 27669the system error message was not logged on Linux. 27670</para> 27671</change> 27672 27673</changes> 27674 27675 27676<changes ver="0.1.16" date="2005-01-25"> 27677 27678<change type="bugfix"> 27679<para lang="ru"> 27680если ответ передавался chunk'ами, то при запросе HEAD выдавался 27681завершающий chunk. 27682</para> 27683<para lang="en"> 27684if the response were transferred by chunks, then on the HEAD request 27685the final chunk was issued. 27686</para> 27687</change> 27688 27689<change type="bugfix"> 27690<para lang="ru"> 27691заголовок "Connection: keep-alive" выдавался, даже если директива 27692keepalive_timeout запрещала использование keep-alive. 27693</para> 27694<para lang="en"> 27695the "Connection: keep-alive" header were issued, even if the 27696keepalive_timeout directive forbade the keep-alive use. 27697</para> 27698</change> 27699 27700<change type="bugfix"> 27701<para lang="ru"> 27702ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. 27703</para> 27704<para lang="en"> 27705the errors in the ngx_http_fastcgi_module caused the segmentation faults. 27706</para> 27707</change> 27708 27709<change type="bugfix"> 27710<para lang="ru"> 27711при использовании SSL сжатый ответ мог передаваться не до конца. 27712</para> 27713<para lang="en"> 27714the compressed response encrypted by SSL may not transferred complete. 27715</para> 27716</change> 27717 27718<change type="bugfix"> 27719<para lang="ru"> 27720опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные для TCP сокетов, 27721не используются для unix domain сокетов. 27722</para> 27723<para lang="en"> 27724the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK options, 27725are not used for the unix domain sockets. 27726</para> 27727</change> 27728 27729<change type="feature"> 27730<para lang="ru"> 27731директива rewrite поддерживает перезаписывание аргументов. 27732</para> 27733<para lang="en"> 27734the rewrite directive supports the arguments rewriting. 27735</para> 27736</change> 27737 27738<change type="bugfix"> 27739<para lang="ru"> 27740на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400; 27741ошибка появилась в 0.1.14. 27742</para> 27743<para lang="en"> 27744the response code 400 was returned for the POST request with the 27745"Content-Length: 0" header; 27746the bug had appeared in 0.1.14. 27747</para> 27748</change> 27749 27750</changes> 27751 27752 27753<changes ver="0.1.15" date="2005-01-19"> 27754 27755<change type="bugfix"> 27756<para lang="ru"> 27757ошибка соединения с FastCGI-сервером вызывала segmentation fault. 27758</para> 27759<para lang="en"> 27760the error while the connecting to the FastCGI server caused 27761segmentation fault. 27762</para> 27763</change> 27764 27765<change type="bugfix"> 27766<para lang="ru"> 27767корректная обработка регулярного выражения, в котором число 27768выделенных частей не совпадает с числом подстановок. 27769</para> 27770<para lang="en"> 27771the correct handling of the regular expression, that 27772has different number of the captures and substitutions. 27773</para> 27774</change> 27775 27776<change type="feature"> 27777<para lang="ru"> 27778location, который передаётся FastCGI-серверу, может быть задан 27779с помощью регулярного выражения. 27780</para> 27781<para lang="en"> 27782the location, that is passed to the FastCGI server, can be 27783regular expression. 27784</para> 27785</change> 27786 27787<change type="bugfix"> 27788<para lang="ru"> 27789параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами 27790и в том виде, в котором был получен от клиента. 27791</para> 27792<para lang="en"> 27793the FastCGI's parameter REQUEST_URI is now passed with the arguments 27794and in the original state. 27795</para> 27796</change> 27797 27798<change type="bugfix"> 27799<para lang="ru"> 27800для использования регулярных выражений в location нужно было 27801собирать nginx вместе с ngx_http_rewrite_module. 27802</para> 27803<para lang="en"> 27804the ngx_http_rewrite_module module was required to be built to use 27805the regular expressions in locations. 27806</para> 27807</change> 27808 27809<change type="bugfix"> 27810<para lang="ru"> 27811если бэкенд слушал на 80-ом порту, то при использовании директивы 27812<nobr>"proxy_preserve_host on"</nobr> в заголовке "Host" указывался 27813также порт 80; 27814ошибка появилась в 0.1.14. 27815</para> 27816<para lang="en"> 27817the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80 27818to the "Host" headers, if upstream listen on port 80; 27819the bug had appeared in 0.1.14. 27820</para> 27821</change> 27822 27823<change type="bugfix"> 27824<para lang="ru"> 27825если задать одинаковые пути в параметрах автоконфигурации 27826--http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH 27827или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH, 27828то происходил segmentation fault. 27829</para> 27830<para lang="en"> 27831the same paths in autoconfiguration parameters 27832--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 27833or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH 27834caused segmentation fault. 27835</para> 27836</change> 27837 27838</changes> 27839 27840 27841<changes ver="0.1.14" date="2005-01-18"> 27842 27843<change type="feature"> 27844<para lang="ru"> 27845параметры автоконфигурации 27846--http-client-body-temp-path=PATH, 27847--http-proxy-temp-path=PATH 27848и --http-fastcgi-temp-path=PATH 27849</para> 27850<para lang="en"> 27851the autoconfiguration directives: 27852--http-client-body-temp-path=PATH, 27853--http-proxy-temp-path=PATH, 27854and --http-fastcgi-temp-path=PATH 27855</para> 27856</change> 27857 27858<change type="change"> 27859<para lang="ru"> 27860имя каталога с временными файлами, содержащие тело запроса клиента, 27861задаётся директивой client_body_temp_path, 27862по умолчанию <prefix>/client_body_temp. 27863</para> 27864<para lang="en"> 27865the directory name for the temporary files with the client request body 27866is specified by directive client_body_temp_path, 27867by default it is <prefix>/client_body_temp. 27868</para> 27869</change> 27870 27871<change type="feature"> 27872<para lang="ru"> 27873модуль ngx_http_fastcgi_module и директивы 27874fastcgi_pass, 27875fastcgi_root, 27876fastcgi_index, 27877fastcgi_params, 27878fastcgi_connect_timeout, 27879fastcgi_send_timeout, 27880fastcgi_read_timeout, 27881fastcgi_send_lowat, 27882fastcgi_header_buffer_size, 27883fastcgi_buffers, 27884fastcgi_busy_buffers_size, 27885fastcgi_temp_path, 27886fastcgi_max_temp_file_size, 27887fastcgi_temp_file_write_size, 27888fastcgi_next_upstream 27889и fastcgi_x_powered_by. 27890 27891</para> 27892<para lang="en"> 27893the ngx_http_fastcgi_module and the directives: 27894fastcgi_pass, 27895fastcgi_root, 27896fastcgi_index, 27897fastcgi_params, 27898fastcgi_connect_timeout, 27899fastcgi_send_timeout, 27900fastcgi_read_timeout, 27901fastcgi_send_lowat, 27902fastcgi_header_buffer_size, 27903fastcgi_buffers, 27904fastcgi_busy_buffers_size, 27905fastcgi_temp_path, 27906fastcgi_max_temp_file_size, 27907fastcgi_temp_file_write_size, 27908fastcgi_next_upstream, 27909and fastcgi_x_powered_by. 27910</para> 27911</change> 27912 27913<change type="bugfix"> 27914<para lang="ru"> 27915ошибка "[alert] zero size buf"; 27916ошибка появилась в 0.1.3. 27917</para> 27918<para lang="en"> 27919the "[alert] zero size buf" error; 27920the bug had appeared in 0.1.3. 27921</para> 27922</change> 27923 27924<change type="change"> 27925<para lang="ru"> 27926в директиве proxy_pass нужно обязательно указывать URI после имени хоста. 27927</para> 27928<para lang="en"> 27929the URI must be specified after the host name in the proxy_pass directive. 27930</para> 27931</change> 27932 27933<change type="change"> 27934<para lang="ru"> 27935если в URI встречался символ %3F, то он считался началом строки аргументов. 27936</para> 27937<para lang="en"> 27938the %3F symbol in the URI was considered as the argument string start. 27939</para> 27940</change> 27941 27942<change type="feature"> 27943<para lang="ru"> 27944поддержка unix domain сокетов в модуле ngx_http_proxy_module. 27945</para> 27946<para lang="en"> 27947the unix domain sockets support in the ngx_http_proxy_module. 27948</para> 27949</change> 27950 27951<change type="feature"> 27952<para lang="ru"> 27953директивы ssl_engine и ssl_ciphers.<br/> 27954Спасибо Сергею Скворцову за SSL-акселератор. 27955</para> 27956<para lang="en"> 27957the ssl_engine and ssl_ciphers directives.<br/> 27958Thanks to Sergey Skvortsov for SSL-accelerator. 27959</para> 27960</change> 27961 27962</changes> 27963 27964 27965<changes ver="0.1.13" date="2004-12-21"> 27966 27967<change type="feature"> 27968<para lang="ru"> 27969директивы server_names_hash и server_names_hash_threshold. 27970</para> 27971<para lang="en"> 27972the server_names_hash and server_names_hash_threshold directives. 27973</para> 27974</change> 27975 27976<change type="bugfix"> 27977<para lang="ru"> 27978имена *.domain.tld в директиве server_name не работали. 27979</para> 27980<para lang="en"> 27981the *.domain.tld names in the "server_name" directive did not work. 27982</para> 27983</change> 27984 27985<change type="bugfix"> 27986<para lang="ru"> 27987параметр лога %request_length записывал неверную длину. 27988</para> 27989<para lang="en"> 27990the %request_length log parameter logged the incorrect length. 27991</para> 27992</change> 27993 27994</changes> 27995 27996 27997<changes ver="0.1.12" date="2004-12-06"> 27998 27999<change type="feature"> 28000<para lang="ru"> 28001параметр лога %request_length. 28002</para> 28003<para lang="en"> 28004the %request_length log parameter. 28005</para> 28006</change> 28007 28008<change type="bugfix"> 28009<para lang="ru"> 28010при использовании /dev/poll, select и poll на платформах, где возможны 28011ложные срабатывания указанных методов, могли быть длительные задержки 28012при обработке запроса по keep-alive соединению. 28013Наблюдалось по крайней мере на Solaris с использованием /dev/poll. 28014</para> 28015<para lang="en"> 28016when using the /dev/poll, select and poll on the platforms, where 28017these methods may do the false reports, there may be the long delay when 28018the request was passed via the keep-alive connection. 28019It may be at least on Solaris when using the /dev/poll. 28020</para> 28021</change> 28022 28023<change type="bugfix"> 28024<para lang="ru"> 28025директива send_lowat игнорируется на Linux, так как Linux не поддерживает 28026опцию SO_SNDLOWAT. 28027</para> 28028<para lang="en"> 28029the send_lowat directive is ignored on Linux because Linux does not support 28030the SO_SNDLOWAT option. 28031</para> 28032</change> 28033 28034</changes> 28035 28036 28037<changes ver="0.1.11" date="2004-12-02"> 28038 28039<change type="feature"> 28040<para lang="ru"> 28041директива worker_priority. 28042</para> 28043<para lang="en"> 28044the worker_priority directive. 28045</para> 28046</change> 28047 28048<change type="change"> 28049<para lang="ru"> 28050под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу 28051ответа. 28052</para> 28053<para lang="en"> 28054both tcp_nopush and tcp_nodelay directives affect the transferred response. 28055</para> 28056</change> 28057 28058<change type="bugfix"> 28059<para lang="ru"> 28060nginx не вызывал initgroups().<br/> 28061Спасибо Андрею Ситникову и Андрею Нигматулину. 28062</para> 28063<para lang="en"> 28064nginx did not call initgroups().<br/> 28065Thanks to Andrew Sitnikov and Andrei Nigmatulin. 28066</para> 28067</change> 28068 28069<change type="change"> 28070<para lang="ru"> 28071ngx_http_auto_index_module теперь выдаёт размер файлов в байтах. 28072</para> 28073<para lang="en"> 28074now the ngx_http_autoindex_module shows the file size in the bytes. 28075</para> 28076</change> 28077 28078<change type="bugfix"> 28079<para lang="ru"> 28080ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть 28081битый symlink. 28082</para> 28083<para lang="en"> 28084the ngx_http_autoindex_module returned the 500 error if the broken symlink 28085was in a directory. 28086</para> 28087</change> 28088 28089<change type="bugfix"> 28090<para lang="ru"> 28091файлы больше 4G не передавались с использованием sendfile. 28092</para> 28093<para lang="en"> 28094the files bigger than 4G could not be transferred using sendfile. 28095</para> 28096</change> 28097 28098<change type="bugfix"> 28099<para lang="ru"> 28100если бэкенд резолвился в несколько адресов и при ожидании от него ответа 28101происходила ошибка, то процесс зацикливался. 28102</para> 28103<para lang="en"> 28104if the backend was resolved to several backends and there was an error while 28105the response waiting then process may got caught in an endless loop. 28106</para> 28107</change> 28108 28109<change type="bugfix"> 28110<para lang="ru"> 28111при использовании метода /dev/poll рабочий процесс мог завершиться 28112с сообщением "unknown cycle". 28113</para> 28114<para lang="en"> 28115the worker process may exit with the "unknown cycle" message when the /dev/poll 28116method was used. 28117</para> 28118</change> 28119 28120<change type="bugfix"> 28121<para lang="ru"> 28122ошибки "close() channel failed". 28123</para> 28124<para lang="en"> 28125"close() channel failed" errors. 28126</para> 28127</change> 28128 28129<change type="bugfix"> 28130<para lang="ru"> 28131автоматическое определение групп nobody и nogroup. 28132</para> 28133<para lang="en"> 28134the autodetection of the "nobody" and "nogroup" groups. 28135</para> 28136</change> 28137 28138<change type="bugfix"> 28139<para lang="ru"> 28140директива send_lowat не работала на Linux. 28141</para> 28142<para lang="en"> 28143the send_lowat directive did not work on Linux. 28144</para> 28145</change> 28146 28147<change type="bugfix"> 28148<para lang="ru"> 28149если в конфигурации не было раздела events, то происходил segmentation fault. 28150</para> 28151<para lang="en"> 28152the segmentation fault occurred if there was no events section 28153in configuration. 28154</para> 28155</change> 28156 28157<change type="bugfix"> 28158<para lang="ru"> 28159nginx не собирался под OpenBSD. 28160</para> 28161<para lang="en"> 28162nginx could not be built on OpenBSD. 28163</para> 28164</change> 28165 28166<change type="bugfix"> 28167<para lang="ru"> 28168двойные слэшы в "://" в URI превращались в ":/". 28169</para> 28170<para lang="en"> 28171the double slashes in "://" in the URI were converted to ":/". 28172</para> 28173</change> 28174 28175</changes> 28176 28177 28178<changes ver="0.1.10" date="2004-11-26"> 28179 28180<change type="bugfix"> 28181<para lang="ru"> 28182если в запросе без аргументов есть "//", "/./", "/../" или "%XX", 28183то терялся последний символ в строке запроса; 28184ошибка появилась в 0.1.9. 28185</para> 28186<para lang="en"> 28187if the request without arguments contains "//", "/./", "/../" or "%XX" 28188then the last character in the request line was lost; 28189the bug had appeared in 0.1.9. 28190</para> 28191</change> 28192 28193<change type="bugfix"> 28194<para lang="ru"> 28195исправление в версии 0.1.9 для файлов больше 2G на Linux не работало. 28196</para> 28197<para lang="en"> 28198the fix in 0.1.9 for the files bigger than 2G on Linux did not work. 28199</para> 28200</change> 28201 28202</changes> 28203 28204 28205<changes ver="0.1.9" date="2004-11-25"> 28206 28207<change type="bugfix"> 28208<para lang="ru"> 28209если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый 28210запрос передавался без аргументов. 28211</para> 28212<para lang="en"> 28213the proxied request was sent without arguments if the request contains 28214"//", "/./", "/../" or "%XX". 28215</para> 28216</change> 28217 28218<change type="bugfix"> 28219<para lang="ru"> 28220при сжатии больших ответов иногда они передавались не полностью. 28221</para> 28222<para lang="en"> 28223the large compressed responses may be transferred not completely. 28224</para> 28225</change> 28226 28227<change type="bugfix"> 28228<para lang="ru"> 28229не передавались файлы больше 2G на Linux, неподдерживающем sendfile64(). 28230</para> 28231<para lang="en"> 28232the files bigger than 2G was not transferred on Linux that does not support 28233sendfile64(). 28234</para> 28235</change> 28236 28237<change type="bugfix"> 28238<para lang="ru"> 28239на Linux при конфигурации сборки нужно было обязательно использовать 28240параметр --with-poll_module; 28241ошибка появилась в 0.1.8. 28242</para> 28243<para lang="en"> 28244while the build configuration on Linux the --with-poll_module parameter 28245was required; 28246the bug had appeared in 0.1.8. 28247</para> 28248</change> 28249 28250</changes> 28251 28252 28253<changes ver="0.1.8" date="2004-11-20"> 28254 28255<change type="bugfix"> 28256<para lang="ru"> 28257ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов. 28258</para> 28259<para lang="en"> 28260in the ngx_http_autoindex_module if the long file names were in the listing. 28261</para> 28262</change> 28263 28264<change type="feature"> 28265<para lang="ru"> 28266модификатор "^~" в директиве location. 28267</para> 28268<para lang="en"> 28269the "^~" modifier in the location directive. 28270</para> 28271</change> 28272 28273<change type="feature"> 28274<para lang="ru"> 28275директива proxy_max_temp_file_size. 28276</para> 28277<para lang="en"> 28278the proxy_max_temp_file_size directive. 28279</para> 28280</change> 28281 28282</changes> 28283 28284 28285<changes ver="0.1.7" date="2004-11-12"> 28286 28287<change type="bugfix"> 28288<para lang="ru"> 28289при использовании sendfile, если передаваемый файл менялся, то мог 28290произойти segmentation fault на FreeBSD; 28291ошибка появилась в 0.1.5. 28292</para> 28293<para lang="en"> 28294on FreeBSD the segmentation fault may occur if the size of the transferred 28295file was changed; 28296the bug had appeared in 0.1.5. 28297</para> 28298</change> 28299 28300</changes> 28301 28302 28303<changes ver="0.1.6" date="2004-11-11"> 28304 28305<change type="bugfix"> 28306<para lang="ru"> 28307при некоторых комбинациях директив location c регулярными выражениями 28308использовалась конфигурация не из того location. 28309</para> 28310<para lang="en"> 28311some location directive combinations with the regular expressions caused 28312the wrong configuration choose. 28313</para> 28314</change> 28315 28316</changes> 28317 28318 28319<changes ver="0.1.5" date="2004-11-11"> 28320 28321<change type="bugfix"> 28322<para lang="ru"> 28323на Solaris и Linux могло быть очень много сообщений "recvmsg() returned 28324not enough data". 28325</para> 28326<para lang="en"> 28327on Solaris and Linux there may be too many "recvmsg() returned not enough data" 28328alerts. 28329</para> 28330</change> 28331 28332<change type="bugfix"> 28333<para lang="ru"> 28334в режиме прокси без использования sendfile на Solaris возникала 28335ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr> 28336На других платформах, не поддерживающих sendfile, процесс зацикливался. 28337</para> 28338<para lang="en"> 28339there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on 28340Solaris in proxy mode without sendfile. On other platforms that do not 28341support sendfile at all the process got caught in an endless loop. 28342</para> 28343</change> 28344 28345<change type="bugfix"> 28346<para lang="ru"> 28347при использовании sendfile в режиме прокси на Solaris возникал 28348segmentation fault. 28349</para> 28350<para lang="en"> 28351segmentation fault on Solaris in proxy mode and using sendfile. 28352</para> 28353</change> 28354 28355<change type="bugfix"> 28356<para lang="ru"> 28357segmentation fault на Solaris. 28358</para> 28359<para lang="en"> 28360segmentation fault on Solaris. 28361</para> 28362</change> 28363 28364<change type="bugfix"> 28365<para lang="ru"> 28366обновление исполняемого файла на лету не работало на Linux. 28367</para> 28368<para lang="en"> 28369on-line upgrade did not work on Linux. 28370</para> 28371</change> 28372 28373<change type="bugfix"> 28374<para lang="ru"> 28375в списке файлов, выдаваемом модулем ngx_http_autoindex_module, 28376не перекодировались пробелы, кавычки и знаки процента. 28377</para> 28378<para lang="en"> 28379the ngx_http_autoindex_module module did not escape the spaces, 28380the quotes, and the percent signs in the directory listing. 28381</para> 28382</change> 28383 28384<change type="change"> 28385<para lang="ru"> 28386уменьшение операций копирования. 28387</para> 28388<para lang="en"> 28389the decrease of the copy operations. 28390</para> 28391</change> 28392 28393<change type="feature"> 28394<para lang="ru"> 28395директива userid_p3p. 28396</para> 28397<para lang="en"> 28398the userid_p3p directive. 28399</para> 28400</change> 28401 28402</changes> 28403 28404 28405<changes ver="0.1.4" date="2004-10-26"> 28406 28407<change type="bugfix"> 28408<para lang="ru"> 28409ошибка в модуле ngx_http_autoindex_module. 28410</para> 28411<para lang="en"> 28412in the ngx_http_autoindex_module. 28413</para> 28414</change> 28415 28416</changes> 28417 28418 28419<changes ver="0.1.3" date="2004-10-25"> 28420 28421<change type="feature"> 28422<para lang="ru"> 28423модуль ngx_http_autoindex_module и директива autoindex. 28424</para> 28425<para lang="en"> 28426the ngx_http_autoindex_module and the autoindex directive. 28427</para> 28428</change> 28429 28430<change type="feature"> 28431<para lang="ru"> 28432директива proxy_set_x_url. 28433</para> 28434<para lang="en"> 28435the proxy_set_x_url directive. 28436</para> 28437</change> 28438 28439<change type="bugfix"> 28440<para lang="ru"> 28441модуль проксировании мог привести к зацикливанию, если не использовался 28442sendfile. 28443</para> 28444<para lang="en"> 28445proxy module may get caught in an endless loop when sendfile is not used. 28446</para> 28447</change> 28448 28449</changes> 28450 28451 28452<changes ver="0.1.2" date="2004-10-21"> 28453 28454<change type="feature"> 28455<para lang="ru"> 28456параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure. 28457</para> 28458<para lang="en"> 28459the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. 28460</para> 28461</change> 28462 28463<change type="feature"> 28464<para lang="ru"> 28465директива server_name поддерживает *.domain.tld. 28466</para> 28467<para lang="en"> 28468the server_name directive supports *.domain.tld. 28469</para> 28470</change> 28471 28472<change type="bugfix"> 28473<para lang="ru"> 28474улучшена переносимость на неизвестные платформы. 28475</para> 28476<para lang="en"> 28477the portability improvements. 28478</para> 28479</change> 28480 28481<change type="bugfix"> 28482<para lang="ru"> 28483нельзя переконфигурировать nginx, если конфигурационный файл указан 28484в командной строке; 28485ошибка появилась в 0.1.1. 28486</para> 28487<para lang="en"> 28488if configuration file was set in command line, the reconfiguration 28489was impossible; 28490the bug had appeared in 0.1.1. 28491</para> 28492</change> 28493 28494<change type="bugfix"> 28495<para lang="ru"> 28496модуль проксировании мог привести к зацикливанию, если не использовался 28497sendfile. 28498</para> 28499<para lang="en"> 28500proxy module may get caught in an endless loop when sendfile is not used. 28501</para> 28502</change> 28503 28504<change type="bugfix"> 28505<para lang="ru"> 28506при использовании sendfile текст ответа не перекодировался 28507согласно директивам модуля charset; 28508ошибка появилась в 0.1.1. 28509</para> 28510<para lang="en"> 28511with sendfile the response was not recoded according to the charset 28512module directives; 28513the bug had appeared in 0.1.1. 28514</para> 28515</change> 28516 28517<change type="bugfix"> 28518<para lang="ru"> 28519очень редкая ошибка при обработке kqueue. 28520</para> 28521<para lang="en"> 28522very seldom bug in the kqueue processing. 28523</para> 28524</change> 28525 28526<change type="bugfix"> 28527<para lang="ru"> 28528модуль сжатия сжимал уже сжатые ответы, полученные при проксировании. 28529</para> 28530<para lang="en"> 28531the gzip module compressed the proxied responses that was already compressed. 28532</para> 28533</change> 28534 28535</changes> 28536 28537 28538<changes ver="0.1.1" date="2004-10-11"> 28539 28540<change type="feature"> 28541<para lang="ru"> 28542директива gzip_types. 28543</para> 28544<para lang="en"> 28545the gzip_types directive. 28546</para> 28547</change> 28548 28549<change type="feature"> 28550<para lang="ru"> 28551директива tcp_nodelay. 28552</para> 28553<para lang="en"> 28554the tcp_nodelay directive. 28555</para> 28556</change> 28557 28558<change type="feature"> 28559<para lang="ru"> 28560директива send_lowat работает не только на платформах, поддерживающих 28561kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT. 28562</para> 28563<para lang="en"> 28564the send_lowat directive is working not only on OSes that support 28565kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. 28566</para> 28567</change> 28568 28569<change type="feature"> 28570<para lang="ru"> 28571эмуляция setproctitle() для Linux и Solaris. 28572</para> 28573<para lang="en"> 28574the setproctitle() emulation for Linux and Solaris. 28575</para> 28576</change> 28577 28578<change type="bugfix"> 28579<para lang="ru"> 28580ошибка при переписывании заголовка "Location" при проксировании. 28581</para> 28582<para lang="en"> 28583the "Location" header rewrite bug fixed while the proxying. 28584</para> 28585</change> 28586 28587<change type="bugfix"> 28588<para lang="ru"> 28589ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию. 28590</para> 28591<para lang="en"> 28592the ngx_http_chunked_module module may get caught in an endless loop. 28593</para> 28594</change> 28595 28596<change type="bugfix"> 28597<para lang="ru"> 28598ошибки в модуле /dev/poll. 28599</para> 28600<para lang="en"> 28601the /dev/poll module bugs fixed. 28602</para> 28603</change> 28604 28605<change type="bugfix"> 28606<para lang="ru"> 28607при проксировании и использовании временных файлов ответы портились. 28608</para> 28609<para lang="en"> 28610the responses were corrupted when the temporary files were used 28611while the proxying. 28612</para> 28613</change> 28614 28615<change type="bugfix"> 28616<para lang="ru"> 28617бэкенду передавались запросы с неперекодированными символами. 28618</para> 28619<para lang="en"> 28620the unescaped requests were passed to the backend. 28621</para> 28622</change> 28623 28624<change type="bugfix"> 28625<para lang="ru"> 28626на Linux 2.4 при конфигурации сборки нужно было обязательно использовать 28627параметр --with-poll_module. 28628</para> 28629<para lang="en"> 28630while the build configuration on Linux 2.4 the --with-poll_module parameter 28631was required. 28632</para> 28633</change> 28634 28635</changes> 28636 28637 28638<changes ver="0.1.0" date="2004-10-04"> 28639 28640<change> 28641<para lang="ru"> 28642Первая публично доступная версия. 28643</para> 28644<para lang="en"> 28645The first public version. 28646</para> 28647</change> 28648 28649</changes> 28650 28651 28652</change_log> 28653