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.17.9" date="2020-03-03"> 9 10<change type="change"> 11<para lang="ru"> 12теперь nginx не разрешает 13несколько строк "Host" в заголовке запроса. 14</para> 15<para lang="en"> 16now nginx does not allow 17several "Host" request header lines. 18</para> 19</change> 20 21<change type="bugfix"> 22<para lang="ru"> 23nginx игнорировал дополнительные 24строки "Transfer-Encoding" в заголовке запроса. 25</para> 26<para lang="en"> 27nginx ignored additional 28"Transfer-Encoding" request header lines. 29</para> 30</change> 31 32<change type="bugfix"> 33<para lang="ru"> 34утечки сокетов при использовании HTTP/2. 35</para> 36<para lang="en"> 37socket leak when using HTTP/2. 38</para> 39</change> 40 41<change type="bugfix"> 42<para lang="ru"> 43в рабочем процессе мог произойти segmentation fault, 44если использовался OCSP stapling. 45</para> 46<para lang="en"> 47a segmentation fault might occur in a worker process 48if OCSP stapling was used. 49</para> 50</change> 51 52<change type="bugfix"> 53<para lang="ru"> 54в модуле ngx_http_mp4_module. 55</para> 56<para lang="en"> 57in the ngx_http_mp4_module. 58</para> 59</change> 60 61<change type="bugfix"> 62<para lang="ru"> 63при перенаправлении ошибок с кодом 494 с помощью директивы error_page 64nginx возвращал ответ с кодом 494 вместо 400. 65</para> 66<para lang="en"> 67nginx used status code 494 instead of 400 68if errors with code 494 were redirected with the "error_page" directive. 69</para> 70</change> 71 72<change type="bugfix"> 73<para lang="ru"> 74утечки сокетов при использовании подзапросов в модуле njs и директивы aio. 75</para> 76<para lang="en"> 77socket leak when using subrequests in the njs module and the "aio" directive. 78</para> 79</change> 80 81</changes> 82 83 84<changes ver="1.17.8" date="2020-01-21"> 85 86<change type="feature"> 87<para lang="ru"> 88директива grpc_pass поддерживает переменные. 89</para> 90<para lang="en"> 91variables support in the "grpc_pass" directive. 92</para> 93</change> 94 95<change type="bugfix"> 96<para lang="ru"> 97при обработке pipelined-запросов по SSL-соединению мог произойти таймаут; 98ошибка появилась в 1.17.5. 99</para> 100<para lang="en"> 101a timeout might occur while handling pipelined requests in an SSL connection; 102the bug had appeared in 1.17.5. 103</para> 104</change> 105 106<change type="bugfix"> 107<para lang="ru"> 108в директиве debug_points при использовании HTTP/2.<br/> 109Спасибо Даниилу Бондареву. 110</para> 111<para lang="en"> 112in the "debug_points" directive when using HTTP/2.<br/> 113Thanks to Daniil Bondarev. 114</para> 115</change> 116 117</changes> 118 119 120<changes ver="1.17.7" date="2019-12-24"> 121 122<change type="bugfix"> 123<para lang="ru"> 124на старте или во время переконфигурации мог произойти segmentation fault, 125если в конфигурации использовалась 126директива rewrite с пустой строкой замены. 127</para> 128<para lang="en"> 129a segmentation fault might occur on start or during reconfiguration 130if the "rewrite" directive with an empty replacement string 131was used in the configuration. 132</para> 133</change> 134 135<change type="bugfix"> 136<para lang="ru"> 137в рабочем процессе мог произойти segmentation fault, 138если директива break использовалась совместно с директивой alias 139или директивой proxy_pass с URI. 140</para> 141<para lang="en"> 142a segmentation fault might occur in a worker process 143if the "break" directive was used with the "alias" directive 144or with the "proxy_pass" directive with a URI. 145</para> 146</change> 147 148<change type="bugfix"> 149<para lang="ru"> 150строка Location заголовка ответа могла содержать мусор, 151если URI запроса был изменён на URI, содержащий нулевой символ. 152</para> 153<para lang="en"> 154the "Location" response header line might contain garbage 155if the request URI was rewritten to the one containing a null character. 156</para> 157</change> 158 159<change type="bugfix"> 160<para lang="ru"> 161при возврате перенаправлений с помощью директивы error_page 162запросы с телом обрабатывались некорректно; 163ошибка появилась в 0.7.12. 164</para> 165<para lang="en"> 166requests with bodies were handled incorrectly 167when returning redirections with the "error_page" directive; 168the bug had appeared in 0.7.12. 169</para> 170</change> 171 172<change type="bugfix"> 173<para lang="ru"> 174утечки сокетов при использовании HTTP/2. 175</para> 176<para lang="en"> 177socket leak when using HTTP/2. 178</para> 179</change> 180 181<change type="bugfix"> 182<para lang="ru"> 183при обработке pipelined-запросов по SSL-соединению мог произойти таймаут; 184ошибка появилась в 1.17.5. 185</para> 186<para lang="en"> 187a timeout might occur while handling pipelined requests in an SSL connection; 188the bug had appeared in 1.17.5. 189</para> 190</change> 191 192<change type="bugfix"> 193<para lang="ru"> 194в модуле ngx_http_dav_module. 195</para> 196<para lang="en"> 197in the ngx_http_dav_module. 198</para> 199</change> 200 201</changes> 202 203 204<changes ver="1.17.6" date="2019-11-19"> 205 206<change type="feature"> 207<para lang="ru"> 208переменные $proxy_protocol_server_addr и $proxy_protocol_server_port. 209</para> 210<para lang="en"> 211the $proxy_protocol_server_addr and $proxy_protocol_server_port variables. 212</para> 213</change> 214 215<change type="feature"> 216<para lang="ru"> 217директива limit_conn_dry_run. 218</para> 219<para lang="en"> 220the "limit_conn_dry_run" directive. 221</para> 222</change> 223 224<change type="feature"> 225<para lang="ru"> 226переменные $limit_req_status и $limit_conn_status. 227</para> 228<para lang="en"> 229the $limit_req_status and $limit_conn_status variables. 230</para> 231</change> 232 233</changes> 234 235 236<changes ver="1.17.5" date="2019-10-22"> 237 238<change type="feature"> 239<para lang="ru"> 240теперь nginx использует вызов ioctl(FIONREAD), если он доступен, 241чтобы избежать чтения из быстрого соединения в течение долгого времени. 242</para> 243<para lang="en"> 244now nginx uses ioctl(FIONREAD), if available, 245to avoid reading from a fast connection for a long time. 246</para> 247</change> 248 249<change type="bugfix"> 250<para lang="ru"> 251неполные закодированные символы в конце URI запроса игнорировались. 252</para> 253<para lang="en"> 254incomplete escaped characters at the end of the request URI were ignored. 255</para> 256</change> 257 258<change type="bugfix"> 259<para lang="ru"> 260"/." и "/.." в конце URI запроса не нормализовывались. 261</para> 262<para lang="en"> 263"/." and "/.." at the end of the request URI were not normalized. 264</para> 265</change> 266 267<change type="bugfix"> 268<para lang="ru"> 269в директиве merge_slashes. 270</para> 271<para lang="en"> 272in the "merge_slashes" directive. 273</para> 274</change> 275 276<change type="bugfix"> 277<para lang="ru"> 278в директиве ignore_invalid_headers.<br/> 279Спасибо Alan Kemp. 280</para> 281<para lang="en"> 282in the "ignore_invalid_headers" directive.<br/> 283Thanks to Alan Kemp. 284</para> 285</change> 286 287<change type="bugfix"> 288<para lang="ru"> 289nginx не собирался с MinGW-w64 gcc 8.1 и новее. 290</para> 291<para lang="en"> 292nginx could not be built with MinGW-w64 gcc 8.1 or newer. 293</para> 294</change> 295 296</changes> 297 298 299<changes ver="1.17.4" date="2019-09-24"> 300 301<change type="change"> 302<para lang="ru"> 303улучшено детектирование некорректного поведения клиентов в HTTP/2. 304</para> 305<para lang="en"> 306better detection of incorrect client behavior in HTTP/2. 307</para> 308</change> 309 310<change type="change"> 311<para lang="ru"> 312в обработке непрочитанного тела запроса 313при возврате ошибок в HTTP/2. 314</para> 315<para lang="en"> 316in handling of not fully read client request body 317when returning errors in HTTP/2. 318</para> 319</change> 320 321<change type="bugfix"> 322<para lang="ru"> 323директива worker_shutdown_timeout могла не работать 324при использовании HTTP/2. 325</para> 326<para lang="en"> 327the "worker_shutdown_timeout" directive might not work 328when using HTTP/2. 329</para> 330</change> 331 332<change type="bugfix"> 333<para lang="ru"> 334при использовании HTTP/2 и директивы proxy_request_buffering 335в рабочем процессе мог произойти segmentation fault. 336</para> 337<para lang="en"> 338a segmentation fault might occur in a worker process 339when using HTTP/2 and the "proxy_request_buffering" directive. 340</para> 341</change> 342 343<change type="bugfix"> 344<para lang="ru"> 345на Windows при использовании SSL 346уровень записи в лог ошибки ECONNABORTED был "crit" вместо "error". 347</para> 348<para lang="en"> 349the ECONNABORTED error log level was "crit" instead of "error" 350on Windows when using SSL. 351</para> 352</change> 353 354<change type="bugfix"> 355<para lang="ru"> 356nginx игнорировал лишние данные при использовании chunked transfer encoding. 357</para> 358<para lang="en"> 359nginx ignored extra data when using chunked transfer encoding. 360</para> 361</change> 362 363<change type="bugfix"> 364<para lang="ru"> 365если использовалась директива return и 366при чтении тела запроса возникала ошибка, 367nginx всегда возвращал ошибку 500. 368</para> 369<para lang="en"> 370nginx always returned the 500 error 371if the "return" directive was used 372and an error occurred during reading client request body. 373</para> 374</change> 375 376<change type="bugfix"> 377<para lang="ru"> 378в обработке ошибок выделения памяти. 379</para> 380<para lang="en"> 381in memory allocation error handling. 382</para> 383</change> 384 385</changes> 386 387 388<changes ver="1.17.3" date="2019-08-13"> 389 390<change type="security"> 391<para lang="ru"> 392при использовании HTTP/2 клиент мог вызвать 393чрезмерное потребление памяти и ресурсов процессора 394(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516). 395</para> 396<para lang="en"> 397when using HTTP/2 a client might cause 398excessive memory consumption and CPU usage 399(CVE-2019-9511, CVE-2019-9513, CVE-2019-9516). 400</para> 401</change> 402 403<change type="bugfix"> 404<para lang="ru"> 405при использовании сжатия в логах могли появляться сообщения "zero size buf"; 406ошибка появилась в 1.17.2. 407</para> 408<para lang="en"> 409"zero size buf" alerts might appear in logs when using gzipping; 410the bug had appeared in 1.17.2. 411</para> 412</change> 413 414<change type="bugfix"> 415<para lang="ru"> 416при использовании директивы resolver в SMTP прокси-сервере 417в рабочем процессе мог произойти segmentation fault. 418</para> 419<para lang="en"> 420a segmentation fault might occur in a worker process 421if the "resolver" directive was used in SMTP proxy. 422</para> 423</change> 424 425</changes> 426 427 428<changes ver="1.17.2" date="2019-07-23"> 429 430<change type="change"> 431<para lang="ru"> 432минимальная поддерживаемая версия zlib—1.2.0.4.<br/> 433Спасибо Илье Леошкевичу. 434</para> 435<para lang="en"> 436minimum supported zlib version is 1.2.0.4.<br/> 437Thanks to Ilya Leoshkevich. 438</para> 439</change> 440 441<change type="change"> 442<para lang="ru"> 443метод $r->internal_redirect() встроенного перла 444теперь ожидает закодированный URI. 445</para> 446<para lang="en"> 447the $r->internal_redirect() embedded perl method 448now expects escaped URIs. 449</para> 450</change> 451 452<change type="feature"> 453<para lang="ru"> 454теперь с помощью метода $r->internal_redirect() встроенного перла 455можно перейти в именованный location. 456</para> 457<para lang="en"> 458it is now possible to switch to a named location 459using the $r->internal_redirect() embedded perl method. 460</para> 461</change> 462 463<change type="bugfix"> 464<para lang="ru"> 465в обработке ошибок во встроенном перле. 466</para> 467<para lang="en"> 468in error handling in embedded perl. 469</para> 470</change> 471 472<change type="bugfix"> 473<para lang="ru"> 474на старте или во время переконфигурации мог произойти segmentation fault, 475если в конфигурации использовалось значение hash bucket size больше 64 килобайт. 476</para> 477<para lang="en"> 478a segmentation fault might occur on start or during reconfiguration 479if hash bucket size larger than 64 kilobytes was used in the configuration. 480</para> 481</change> 482 483<change type="bugfix"> 484<para lang="ru"> 485при использовании методов обработки соединений select, poll и /dev/poll 486nginx мог нагружать процессор во время небуферизованного проксирования 487и при проксировании WebSocket-соединений. 488</para> 489<para lang="en"> 490nginx might hog CPU during unbuffered proxying 491and when proxying WebSocket connections 492if the select, poll, or /dev/poll methods were used. 493</para> 494</change> 495 496<change type="bugfix"> 497<para lang="ru"> 498в модуле ngx_http_xslt_filter_module. 499</para> 500<para lang="en"> 501in the ngx_http_xslt_filter_module. 502</para> 503</change> 504 505<change type="bugfix"> 506<para lang="ru"> 507в модуле ngx_http_ssi_filter_module. 508</para> 509<para lang="en"> 510in the ngx_http_ssi_filter_module. 511</para> 512</change> 513 514</changes> 515 516 517<changes ver="1.17.1" date="2019-06-25"> 518 519<change type="feature"> 520<para lang="ru"> 521директива limit_req_dry_run. 522</para> 523<para lang="en"> 524the "limit_req_dry_run" directive. 525</para> 526</change> 527 528<change type="feature"> 529<para lang="ru"> 530при использовании директивы hash в блоке upstream 531пустой ключ хэширования теперь приводит к переключению 532на round-robin балансировку.<br/> 533Спасибо Niklas Keller. 534</para> 535<para lang="en"> 536when using the "hash" directive inside the "upstream" block 537an empty hash key now triggers round-robin balancing.<br/> 538Thanks to Niklas Keller. 539</para> 540</change> 541 542<change type="bugfix"> 543<para lang="ru"> 544в рабочем процессе мог произойти segmentation fault, 545если использовалось кэширование и директива image_filter, 546а ошибки с кодом 415 перенаправлялись с помощью директивы error_page; 547ошибка появилась в 1.11.10. 548</para> 549<para lang="en"> 550a segmentation fault might occur in a worker process 551if caching was used along with the "image_filter" directive, 552and errors with code 415 were redirected with the "error_page" directive; 553the bug had appeared in 1.11.10. 554</para> 555</change> 556 557<change type="bugfix"> 558<para lang="ru"> 559в рабочем процессе мог произойти segmentation fault, 560если использовался встроенный перл; 561ошибка появилась в 1.7.3. 562</para> 563<para lang="en"> 564a segmentation fault might occur in a worker process 565if embedded perl was used; 566the bug had appeared in 1.7.3. 567</para> 568</change> 569 570</changes> 571 572 573<changes ver="1.17.0" date="2019-05-21"> 574 575<change type="feature"> 576<para lang="ru"> 577директивы limit_rate и limit_rate_after поддерживают переменные. 578</para> 579<para lang="en"> 580variables support in the "limit_rate" and "limit_rate_after" directives. 581</para> 582</change> 583 584<change type="feature"> 585<para lang="ru"> 586директивы proxy_upload_rate и proxy_download_rate в модуле stream 587поддерживают переменные. 588</para> 589<para lang="en"> 590variables support 591in the "proxy_upload_rate" and "proxy_download_rate" directives 592in the stream module. 593</para> 594</change> 595 596<change type="change"> 597<para lang="ru"> 598минимальная поддерживаемая версия OpenSSL—0.9.8. 599</para> 600<para lang="en"> 601minimum supported OpenSSL version is 0.9.8. 602</para> 603</change> 604 605<change type="change"> 606<para lang="ru"> 607теперь postpone-фильтр собирается всегда. 608</para> 609<para lang="en"> 610now the postpone filter is always built. 611</para> 612</change> 613 614<change type="bugfix"> 615<para lang="ru"> 616директива include не работала в блоках if и limit_except. 617</para> 618<para lang="en"> 619the "include" directive did not work inside the "if" and "limit_except" blocks. 620</para> 621</change> 622 623<change type="bugfix"> 624<para lang="ru"> 625в обработке byte ranges. 626</para> 627<para lang="en"> 628in byte ranges processing. 629</para> 630</change> 631 632</changes> 633 634 635<changes ver="1.15.12" date="2019-04-16"> 636 637<change type="bugfix"> 638<para lang="ru"> 639в рабочем процессе мог произойти segmentation fault, 640если в директивах ssl_certificate или ssl_certificate_key 641использовались переменные 642и был включён OCSP stapling. 643</para> 644<para lang="en"> 645a segmentation fault might occur in a worker process 646if variables were used 647in the "ssl_certificate" or "ssl_certificate_key" directives 648and OCSP stapling was enabled. 649</para> 650</change> 651 652</changes> 653 654 655<changes ver="1.15.11" date="2019-04-09"> 656 657<change type="bugfix"> 658<para lang="ru"> 659в директиве ssl_stapling_file на Windows. 660</para> 661<para lang="en"> 662in the "ssl_stapling_file" directive on Windows. 663</para> 664</change> 665 666</changes> 667 668 669<changes ver="1.15.10" date="2019-03-26"> 670 671<change type="change"> 672<para lang="ru"> 673теперь при использовании имени хоста в директиве listen 674nginx создаёт listen-сокеты для всех адресов, 675соответствующих этому имени 676(ранее использовался только первый адрес). 677</para> 678<para lang="en"> 679when using a hostname in the "listen" directive 680nginx now creates listening sockets 681for all addresses the hostname resolves to 682(previously, only the first address was used). 683</para> 684</change> 685 686<change type="feature"> 687<para lang="ru"> 688диапазоны портов в директиве listen. 689</para> 690<para lang="en"> 691port ranges in the "listen" directive. 692</para> 693</change> 694 695<change type="feature"> 696<para lang="ru"> 697возможность загрузки SSL-сертификатов и секретных ключей из переменных. 698</para> 699<para lang="en"> 700loading of SSL certificates and secret keys from variables. 701</para> 702</change> 703 704<change type="workaround"> 705<para lang="ru"> 706переменная $ssl_server_name могла быть пустой 707при использовании OpenSSL 1.1.1. 708</para> 709<para lang="en"> 710the $ssl_server_name variable might be empty 711when using OpenSSL 1.1.1. 712</para> 713</change> 714 715<change type="bugfix"> 716<para lang="ru"> 717nginx/Windows не собирался с Visual Studio 2015 и новее; 718ошибка появилась в 1.15.9. 719</para> 720<para lang="en"> 721nginx/Windows could not be built with Visual Studio 2015 or newer; 722the bug had appeared in 1.15.9. 723</para> 724</change> 725 726</changes> 727 728 729<changes ver="1.15.9" date="2019-02-26"> 730 731<change type="feature"> 732<para lang="ru"> 733директивы ssl_certificate и ssl_certificate_key 734поддерживают переменные. 735</para> 736<para lang="en"> 737variables support 738in the "ssl_certificate" and "ssl_certificate_key" directives. 739</para> 740</change> 741 742<change type="feature"> 743<para lang="ru"> 744метод poll теперь доступен на Windows 745при использовании Windows Vista и новее. 746</para> 747<para lang="en"> 748the "poll" method is now available on Windows 749when using Windows Vista or newer. 750</para> 751</change> 752 753<change type="bugfix"> 754<para lang="ru"> 755если при использовании метода select на Windows 756происходила ошибка при установлении соединения с бэкендом, 757nginx ожидал истечения таймаута на установление соединения. 758</para> 759<para lang="en"> 760if the "select" method was used on Windows 761and an error occurred while establishing a backend connection, 762nginx waited for the connection establishment timeout to expire. 763</para> 764</change> 765 766<change type="bugfix"> 767<para lang="ru"> 768директивы proxy_upload_rate и proxy_download_rate 769в модуле stream 770работали некорректно при проксировании UDP-пакетов. 771</para> 772<para lang="en"> 773the "proxy_upload_rate" and "proxy_download_rate" directives 774in the stream module 775worked incorrectly when proxying UDP datagrams. 776</para> 777</change> 778 779</changes> 780 781 782<changes ver="1.15.8" date="2018-12-25"> 783 784<change type="feature"> 785<para lang="ru"> 786переменная $upstream_bytes_sent.<br/> 787Спасибо Piotr Sikora. 788</para> 789<para lang="en"> 790the $upstream_bytes_sent variable.<br/> 791Thanks to Piotr Sikora. 792</para> 793</change> 794 795<change type="feature"> 796<para lang="ru"> 797новые директивы в скриптах подсветки синтаксиса для vim.<br/> 798Спасибо Геннадию Махомеду. 799</para> 800<para lang="en"> 801new directives in vim syntax highlighting scripts.<br/> 802Thanks to Gena Makhomed. 803</para> 804</change> 805 806<change type="bugfix"> 807<para lang="ru"> 808в директиве proxy_cache_background_update. 809</para> 810<para lang="en"> 811in the "proxy_cache_background_update" directive. 812</para> 813</change> 814 815<change type="bugfix"> 816<para lang="ru"> 817в директиве geo при использовании unix domain listen-сокетов. 818</para> 819<para lang="en"> 820in the "geo" directive when using unix domain listen sockets. 821</para> 822</change> 823 824<change type="workaround"> 825<para lang="ru"> 826при использовании директивы ssl_early_data с OpenSSL 827в логах могли появляться сообщения 828"ignoring stale global SSL error ... bad length". 829</para> 830<para lang="en"> 831the "ignoring stale global SSL error ... bad length" 832alerts might appear in logs 833when using the "ssl_early_data" directive with OpenSSL. 834</para> 835</change> 836 837<change type="bugfix"> 838<para lang="ru"> 839в nginx/Windows. 840</para> 841<para lang="en"> 842in nginx/Windows. 843</para> 844</change> 845 846<change type="bugfix"> 847<para lang="ru"> 848в модуле ngx_http_autoindex_module на 32-битных платформах. 849</para> 850<para lang="en"> 851in the ngx_http_autoindex_module on 32-bit platforms. 852</para> 853</change> 854 855</changes> 856 857 858<changes ver="1.15.7" date="2018-11-27"> 859 860<change type="feature"> 861<para lang="ru"> 862директива proxy_requests в модуле stream. 863</para> 864<para lang="en"> 865the "proxy_requests" directive in the stream module. 866</para> 867</change> 868 869<change type="feature"> 870<para lang="ru"> 871параметр "delay" директивы "limit_req".<br/> 872Спасибо Владиславу Шабанову и Петру Щучкину. 873</para> 874<para lang="en"> 875the "delay" parameter of the "limit_req" directive.<br/> 876Thanks to Vladislav Shabanov and Peter Shchuchkin. 877</para> 878</change> 879 880<change type="bugfix"> 881<para lang="ru"> 882утечки памяти в случае ошибок при переконфигурации. 883</para> 884<para lang="en"> 885memory leak on errors during reconfiguration. 886</para> 887</change> 888 889<change type="bugfix"> 890<para lang="ru"> 891в переменных $upstream_response_time, $upstream_connect_time и 892$upstream_header_time. 893</para> 894<para lang="en"> 895in the $upstream_response_time, $upstream_connect_time, and 896$upstream_header_time variables. 897</para> 898</change> 899 900<change type="bugfix"> 901<para lang="ru"> 902в рабочем процессе мог произойти segmentation fault, 903если использовался модуль ngx_http_mp4_module на 32-битных платформах. 904</para> 905<para lang="en"> 906a segmentation fault might occur in a worker process 907if the ngx_http_mp4_module was used on 32-bit platforms. 908</para> 909</change> 910 911</changes> 912 913 914<changes ver="1.15.6" date="2018-11-06"> 915 916<change type="security"> 917<para lang="ru"> 918при использовании HTTP/2 клиент мог вызвать 919чрезмерное потреблению памяти (CVE-2018-16843) 920и ресурсов процессора (CVE-2018-16844). 921</para> 922<para lang="en"> 923when using HTTP/2 a client might cause 924excessive memory consumption (CVE-2018-16843) 925and CPU usage (CVE-2018-16844). 926</para> 927</change> 928 929<change type="security"> 930<para lang="ru"> 931при обработке специально созданного mp4-файла модулем ngx_http_mp4_module 932содержимое памяти рабочего процесса могло быть отправлено клиенту 933(CVE-2018-16845). 934</para> 935<para lang="en"> 936processing of a specially crafted mp4 file with the ngx_http_mp4_module 937might result in worker process memory disclosure 938(CVE-2018-16845). 939</para> 940</change> 941 942<change type="feature"> 943<para lang="ru"> 944директивы proxy_socket_keepalive, fastcgi_socket_keepalive, 945grpc_socket_keepalive, memcached_socket_keepalive, 946scgi_socket_keepalive и uwsgi_socket_keepalive. 947</para> 948<para lang="en"> 949the "proxy_socket_keepalive", "fastcgi_socket_keepalive", 950"grpc_socket_keepalive", "memcached_socket_keepalive", 951"scgi_socket_keepalive", and "uwsgi_socket_keepalive" directives. 952</para> 953</change> 954 955<change type="bugfix"> 956<para lang="ru"> 957если nginx был собран с OpenSSL 1.1.0, а использовался с OpenSSL 1.1.1, 958протокол TLS 1.3 всегда был разрешён. 959</para> 960<para lang="en"> 961if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1, 962the TLS 1.3 protocol was always enabled. 963</para> 964</change> 965 966<change type="bugfix"> 967<para lang="ru"> 968при работе с gRPC-бэкендами могло расходоваться большое количество памяти. 969</para> 970<para lang="en"> 971working with gRPC backends might result in excessive memory consumption. 972</para> 973</change> 974 975</changes> 976 977 978<changes ver="1.15.5" date="2018-10-02"> 979 980<change type="bugfix"> 981<para lang="ru"> 982при использовании OpenSSL 1.1.0h и новее 983в рабочем процессе мог произойти segmentation fault; 984ошибка появилась в 1.15.4. 985</para> 986<para lang="en"> 987a segmentation fault might occur in a worker process 988when using OpenSSL 1.1.0h or newer; 989the bug had appeared in 1.15.4. 990</para> 991</change> 992 993<change type="bugfix"> 994<para lang="ru"> 995незначительных потенциальных ошибок. 996</para> 997<para lang="en"> 998of minor potential bugs. 999</para> 1000</change> 1001 1002</changes> 1003 1004 1005<changes ver="1.15.4" date="2018-09-25"> 1006 1007<change type="feature"> 1008<para lang="ru"> 1009теперь директиву ssl_early_data можно использовать с OpenSSL. 1010</para> 1011<para lang="en"> 1012now the "ssl_early_data" directive can be used with OpenSSL. 1013</para> 1014</change> 1015 1016<change type="bugfix"> 1017<para lang="ru"> 1018в модуле ngx_http_uwsgi_module.<br/> 1019Спасибо Chris Caputo. 1020</para> 1021<para lang="en"> 1022in the ngx_http_uwsgi_module.<br/> 1023Thanks to Chris Caputo. 1024</para> 1025</change> 1026 1027<change type="bugfix"> 1028<para lang="ru"> 1029соединения к некоторым gRPC-бэкендам могли не кэшироваться 1030при использовании директивы keepalive. 1031</para> 1032<para lang="en"> 1033connections with some gRPC backends might not be cached 1034when using the "keepalive" directive. 1035</para> 1036</change> 1037 1038<change type="bugfix"> 1039<para lang="ru"> 1040при использовании директивы error_page для перенаправления ошибок, 1041возникающих на ранних этапах обработки запроса, 1042в частности ошибок с кодом 400, 1043могла происходить утечка сокетов. 1044</para> 1045<para lang="en"> 1046a socket leak might occur 1047when using the "error_page" directive 1048to redirect early request processing errors, 1049notably errors with code 400. 1050</para> 1051</change> 1052 1053<change type="bugfix"> 1054<para lang="ru"> 1055директива return при возврате ошибок не изменяла код ответа, 1056если запрос был перенаправлен с помощью директивы error_page. 1057</para> 1058<para lang="en"> 1059the "return" directive did not change the response code when returning errors 1060if the request was redirected by the "error_page" directive. 1061</para> 1062</change> 1063 1064<change type="bugfix"> 1065<para lang="ru"> 1066стандартные сообщения об ошибках и ответы модуля ngx_http_autoindex_module 1067содержали атрибут bgcolor, что могло приводить к их некорректному отображению 1068при использовании пользовательских настроек цветов в браузерах.<br/> 1069Спасибо Nova DasSarma. 1070</para> 1071<para lang="en"> 1072standard error pages and responses of the ngx_http_autoindex_module module 1073used the "bgcolor" attribute, and might be displayed incorrectly when using 1074custom color settings in browsers.<br/> 1075Thanks to Nova DasSarma. 1076</para> 1077</change> 1078 1079<change type="change"> 1080<para lang="ru"> 1081уровень логгирования ошибок SSL "no suitable key share" и 1082"no suitable signature algorithm" 1083понижен с уровня crit до info. 1084</para> 1085<para lang="en"> 1086the logging level of the "no suitable key share" and 1087"no suitable signature algorithm" SSL errors 1088has been lowered from "crit" to "info". 1089</para> 1090</change> 1091 1092</changes> 1093 1094 1095<changes ver="1.15.3" date="2018-08-28"> 1096 1097<change type="feature"> 1098<para lang="ru"> 1099теперь TLSv1.3 можно использовать с BoringSSL. 1100</para> 1101<para lang="en"> 1102now TLSv1.3 can be used with BoringSSL. 1103</para> 1104</change> 1105 1106<change type="feature"> 1107<para lang="ru"> 1108директива ssl_early_data, 1109сейчас доступна при использовании BoringSSL. 1110</para> 1111<para lang="en"> 1112the "ssl_early_data" directive, 1113currently available with BoringSSL. 1114</para> 1115</change> 1116 1117<change type="feature"> 1118<para lang="ru"> 1119директивы keepalive_timeout и keepalive_requests 1120в блоке upstream. 1121</para> 1122<para lang="en"> 1123the "keepalive_timeout" and "keepalive_requests" directives 1124in the "upstream" block. 1125</para> 1126</change> 1127 1128<change type="bugfix"> 1129<para lang="ru"> 1130модуль ngx_http_dav_module 1131при копировании файла поверх существующего файла с помощью метода COPY 1132не обнулял целевой файл. 1133</para> 1134<para lang="en"> 1135the ngx_http_dav_module 1136did not truncate destination file when copying a file over an existing one 1137with the COPY method. 1138</para> 1139</change> 1140 1141<change type="bugfix"> 1142<para lang="ru"> 1143модуль ngx_http_dav_module 1144при перемещении файла между файловыми системами с помощью метода MOVE 1145устанавливал нулевые права доступа на результирующий файл 1146и не сохранял время изменения файла. 1147</para> 1148<para lang="en"> 1149the ngx_http_dav_module 1150used zero access rights on the destination file 1151and did not preserve file modification time 1152when moving a file between different file systems with the MOVE method. 1153</para> 1154</change> 1155 1156<change type="bugfix"> 1157<para lang="ru"> 1158модуль ngx_http_dav_module 1159при копировании файла с помощью метода COPY 1160для результирующего файла использовал права доступа по умолчанию. 1161</para> 1162<para lang="en"> 1163the ngx_http_dav_module 1164used default access rights 1165when copying a file with the COPY method. 1166</para> 1167</change> 1168 1169<change type="workaround"> 1170<para lang="ru"> 1171некоторые клиенты могли не работать при использовании HTTP/2; 1172ошибка появилась в 1.13.5. 1173</para> 1174<para lang="en"> 1175some clients might not work when using HTTP/2; 1176the bug had appeared in 1.13.5. 1177</para> 1178</change> 1179 1180<change type="bugfix"> 1181<para lang="ru"> 1182nginx не собирался с LibreSSL 2.8.0. 1183</para> 1184<para lang="en"> 1185nginx could not be built with LibreSSL 2.8.0. 1186</para> 1187</change> 1188 1189</changes> 1190 1191 1192<changes ver="1.15.2" date="2018-07-24"> 1193 1194<change type="feature"> 1195<para lang="ru"> 1196переменная $ssl_preread_protocol 1197в модуле ngx_stream_ssl_preread_module. 1198</para> 1199<para lang="en"> 1200the $ssl_preread_protocol variable 1201in the ngx_stream_ssl_preread_module. 1202</para> 1203</change> 1204 1205<change type="feature"> 1206<para lang="ru"> 1207теперь при использовании директивы reset_timedout_connection 1208nginx сбрасывает соединения, закрываемые с кодом 444. 1209</para> 1210<para lang="en"> 1211now when using the "reset_timedout_connection" directive 1212nginx will reset connections being closed with the 444 code. 1213</para> 1214</change> 1215 1216<change type="change"> 1217<para lang="ru"> 1218уровень логгирования ошибок SSL "http request", "https proxy request", 1219"unsupported protocol" и "version too low" 1220понижен с уровня crit до info. 1221</para> 1222<para lang="en"> 1223a logging level of the "http request", "https proxy request", 1224"unsupported protocol", and "version too low" SSL errors 1225has been lowered from "crit" to "info". 1226</para> 1227</change> 1228 1229<change type="bugfix"> 1230<para lang="ru"> 1231запросы к DNS-серверу не отправлялись повторно, 1232если при первой попытке отправки происходила ошибка. 1233</para> 1234<para lang="en"> 1235DNS requests were not resent 1236if initial sending of a request failed. 1237</para> 1238</change> 1239 1240<change type="bugfix"> 1241<para lang="ru"> 1242параметр reuseport директивы listen игнорировался, 1243если количество рабочих процессов было задано после директивы listen. 1244</para> 1245<para lang="en"> 1246the "reuseport" parameter of the "listen" directive was ignored 1247if the number of worker processes was specified after the "listen" directive. 1248</para> 1249</change> 1250 1251<change type="bugfix"> 1252<para lang="ru"> 1253при использовании OpenSSL 1.1.0 и новее 1254директиву ssl_prefer_server_ciphers нельзя было выключить 1255в виртуальном сервере, если она была включена в сервере по умолчанию. 1256</para> 1257<para lang="en"> 1258when using OpenSSL 1.1.0 or newer 1259it was not possible to switch off "ssl_prefer_server_ciphers" in 1260a virtual server if it was switched on in the default server. 1261</para> 1262</change> 1263 1264<change type="bugfix"> 1265<para lang="ru"> 1266повторное использование SSL-сессий к бэкендам 1267не работало с протоколом TLS 1.3. 1268</para> 1269<para lang="en"> 1270SSL session reuse with upstream servers 1271did not work with the TLS 1.3 protocol. 1272</para> 1273</change> 1274 1275</changes> 1276 1277 1278<changes ver="1.15.1" date="2018-07-03"> 1279 1280<change type="feature"> 1281<para lang="ru"> 1282директива random в блоке upstream. 1283</para> 1284<para lang="en"> 1285the "random" directive inside the "upstream" block. 1286</para> 1287</change> 1288 1289<change type="feature"> 1290<para lang="ru"> 1291улучшена производительность при использовании директив hash и ip_hash 1292совместно с директивой zone. 1293</para> 1294<para lang="en"> 1295improved performance when using the "hash" and "ip_hash" directives 1296with the "zone" directive. 1297</para> 1298</change> 1299 1300<change type="feature"> 1301<para lang="ru"> 1302параметр reuseport директивы listen 1303теперь использует SO_REUSEPORT_LB на FreeBSD 12. 1304</para> 1305<para lang="en"> 1306the "reuseport" parameter of the "listen" directive 1307now uses SO_REUSEPORT_LB on FreeBSD 12. 1308</para> 1309</change> 1310 1311<change type="bugfix"> 1312<para lang="ru"> 1313HTTP/2 server push не работал, если SSL терминировался прокси-сервером 1314перед nginx'ом. 1315</para> 1316<para lang="en"> 1317HTTP/2 server push did not work if SSL was terminated by a proxy server 1318in front of nginx. 1319</para> 1320</change> 1321 1322<change type="bugfix"> 1323<para lang="ru"> 1324директива tcp_nopush всегда использовалась для соединений к бэкендам. 1325</para> 1326<para lang="en"> 1327the "tcp_nopush" directive was always used on backend connections. 1328</para> 1329</change> 1330 1331<change type="bugfix"> 1332<para lang="ru"> 1333при отправке сохранённого на диск тела запроса на gRPC-бэкенд 1334могли возникать ошибки. 1335</para> 1336<para lang="en"> 1337sending a disk-buffered request body to a gRPC backend 1338might fail. 1339</para> 1340</change> 1341 1342</changes> 1343 1344 1345<changes ver="1.15.0" date="2018-06-05"> 1346 1347<change type="change"> 1348<para lang="ru"> 1349директива "ssl" теперь считается устаревшей; 1350вместо неё следует использовать параметр ssl директивы listen. 1351</para> 1352<para lang="en"> 1353the "ssl" directive is deprecated; 1354the "ssl" parameter of the "listen" directive should be used instead. 1355</para> 1356</change> 1357 1358<change type="change"> 1359<para lang="ru"> 1360теперь при использовании директивы listen с параметром ssl 1361nginx определяет отсутствие SSL-сертификатов при тестировании конфигурации. 1362</para> 1363<para lang="en"> 1364now nginx detects missing SSL certificates during configuration testing 1365when using the "ssl" parameter of the "listen" directive. 1366</para> 1367</change> 1368 1369<change type="feature"> 1370<para lang="ru"> 1371теперь модуль stream умеет обрабатывать 1372несколько входящих UDP-пакетов от клиента в рамках одной сессии. 1373</para> 1374<para lang="en"> 1375now the stream module can handle 1376multiple incoming UDP datagrams from a client within a single session. 1377</para> 1378</change> 1379 1380<change type="bugfix"> 1381<para lang="ru"> 1382в директиве proxy_cache_valid 1383можно было указать некорректный код ответа. 1384</para> 1385<para lang="en"> 1386it was possible to specify an incorrect response code 1387in the "proxy_cache_valid" directive. 1388</para> 1389</change> 1390 1391<change type="bugfix"> 1392<para lang="ru"> 1393nginx не собирался gcc 8.1. 1394</para> 1395<para lang="en"> 1396nginx could not be built by gcc 8.1. 1397</para> 1398</change> 1399 1400<change type="bugfix"> 1401<para lang="ru"> 1402логгирование в syslog останавливалось при изменении локального IP-адреса. 1403</para> 1404<para lang="en"> 1405logging to syslog stopped on local IP address changes. 1406</para> 1407</change> 1408 1409<change type="bugfix"> 1410<para lang="ru"> 1411nginx не собирался компилятором clang, если был установлен CUDA SDK; 1412ошибка появилась в 1.13.8. 1413</para> 1414<para lang="en"> 1415nginx could not be built by clang with CUDA SDK installed; 1416the bug had appeared in 1.13.8. 1417</para> 1418</change> 1419 1420<change type="bugfix"> 1421<para lang="ru"> 1422при использовании unix domain listen-сокетов на FreeBSD 1423в процессе обновления исполняемого файла 1424в логе могли появляться сообщения "getsockopt(TCP_FASTOPEN) ... failed". 1425</para> 1426<para lang="en"> 1427"getsockopt(TCP_FASTOPEN) ... failed" messages might appear in logs 1428during binary upgrade 1429when using unix domain listen sockets on FreeBSD. 1430</para> 1431</change> 1432 1433<change type="bugfix"> 1434<para lang="ru"> 1435nginx не собирался на Fedora 28 Linux. 1436</para> 1437<para lang="en"> 1438nginx could not be built on Fedora 28 Linux. 1439</para> 1440</change> 1441 1442<change type="bugfix"> 1443<para lang="ru"> 1444при использовании директивы limit_req 1445заданная скорость обработки запросов могла не соблюдаться. 1446</para> 1447<para lang="en"> 1448request processing rate might exceed configured rate 1449when using the "limit_req" directive. 1450</para> 1451</change> 1452 1453<change type="bugfix"> 1454<para lang="ru"> 1455в обработке адресов клиентов при использовании unix domain listen-сокетов 1456для работы с датаграммами на Linux. 1457</para> 1458<para lang="en"> 1459in handling of client addresses when using unix domain listen sockets 1460to work with datagrams on Linux. 1461</para> 1462</change> 1463 1464<change type="bugfix"> 1465<para lang="ru"> 1466в обработке ошибок выделения памяти. 1467</para> 1468<para lang="en"> 1469in memory allocation error handling. 1470</para> 1471</change> 1472 1473</changes> 1474 1475 1476<changes ver="1.13.12" date="2018-04-10"> 1477 1478<change type="bugfix"> 1479<para lang="ru"> 1480при возврате большого ответа 1481соединения с gRPC-бэкендами могли неожиданно закрываться. 1482</para> 1483<para lang="en"> 1484connections with gRPC backends might be closed unexpectedly 1485when returning a large response. 1486</para> 1487</change> 1488 1489</changes> 1490 1491 1492<changes ver="1.13.11" date="2018-04-03"> 1493 1494<change type="feature"> 1495<para lang="ru"> 1496параметр proxy_protocol директивы listen 1497теперь поддерживает протокол PROXY версии 2. 1498</para> 1499<para lang="en"> 1500the "proxy_protocol" parameter of the "listen" directive 1501now supports the PROXY protocol version 2. 1502</para> 1503</change> 1504 1505<change type="bugfix"> 1506<para lang="ru"> 1507nginx не собирался с OpenSSL 1.1.1 статически на Linux. 1508</para> 1509<para lang="en"> 1510nginx could not be built with OpenSSL 1.1.1 statically on Linux. 1511</para> 1512</change> 1513 1514<change type="bugfix"> 1515<para lang="ru"> 1516в параметрах http_404, http_500 и им подобных 1517директивы proxy_next_upstream. 1518</para> 1519<para lang="en"> 1520in the "http_404", "http_500", etc. parameters 1521of the "proxy_next_upstream" directive. 1522</para> 1523</change> 1524 1525</changes> 1526 1527 1528<changes ver="1.13.10" date="2018-03-20"> 1529 1530<change type="feature"> 1531<para lang="ru"> 1532теперь параметр set в SSI-директиве include 1533позволяет сохранять в переменную любые ответы; 1534максимальный размер ответа задаётся директивой subrequest_output_buffer_size. 1535</para> 1536<para lang="en"> 1537the "set" parameter of the "include" SSI directive now allows 1538writing arbitrary responses to a variable; 1539the "subrequest_output_buffer_size" directive defines maximum response size. 1540</para> 1541</change> 1542 1543<change type="feature"> 1544<para lang="ru"> 1545теперь nginx использует вызов clock_gettime(CLOCK_MONOTONIC), если он доступен, 1546что позволяет избежать некорректного срабатывания таймаутов 1547при изменениях системного времени. 1548</para> 1549<para lang="en"> 1550now nginx uses clock_gettime(CLOCK_MONOTONIC) if available, 1551to avoid timeouts being incorrectly triggered 1552on system time changes. 1553</para> 1554</change> 1555 1556<change type="feature"> 1557<para lang="ru"> 1558параметр "escape=none" директивы log_format.<br/> 1559Спасибо Johannes Baiter и Calin Don. 1560</para> 1561<para lang="en"> 1562the "escape=none" parameter of the "log_format" directive.<br/> 1563Thanks to Johannes Baiter and Calin Don. 1564</para> 1565</change> 1566 1567<change type="feature"> 1568<para lang="ru"> 1569переменная $ssl_preread_alpn_protocols 1570в модуле ngx_stream_ssl_preread_module. 1571</para> 1572<para lang="en"> 1573the $ssl_preread_alpn_protocols variable 1574in the ngx_stream_ssl_preread_module. 1575</para> 1576</change> 1577 1578<change type="feature"> 1579<para lang="ru"> 1580модуль ngx_http_grpc_module. 1581</para> 1582<para lang="en"> 1583the ngx_http_grpc_module. 1584</para> 1585</change> 1586 1587<change type="bugfix"> 1588<para lang="ru"> 1589в обработке ошибок выделения памяти в директиве geo. 1590</para> 1591<para lang="en"> 1592in memory allocation error handling in the "geo" directive. 1593</para> 1594</change> 1595 1596<change type="bugfix"> 1597<para lang="ru"> 1598при использовании переменных в директиве auth_basic_user_file 1599в лог мог выводиться символ '\0'.<br/> 1600Спасибо Вадиму Филимонову. 1601</para> 1602<para lang="en"> 1603when using variables in the "auth_basic_user_file" directive 1604a null character might appear in logs.<br/> 1605Thanks to Vadim Filimonov. 1606</para> 1607</change> 1608 1609</changes> 1610 1611 1612<changes ver="1.13.9" date="2018-02-20"> 1613 1614<change type="feature"> 1615<para lang="ru"> 1616поддержка HTTP/2 server push; 1617директивы http2_push и http2_push_preload. 1618</para> 1619<para lang="en"> 1620HTTP/2 server push support; 1621the "http2_push" and "http2_push_preload" directives. 1622</para> 1623</change> 1624 1625<change type="bugfix"> 1626<para lang="ru"> 1627при использовании кэша 1628в логах могли появляться сообщения "header already sent"; 1629ошибка появилась в 1.9.13. 1630</para> 1631<para lang="en"> 1632"header already sent" alerts might appear in logs 1633when using cache; 1634the bug had appeared in 1.9.13. 1635</para> 1636</change> 1637 1638<change type="bugfix"> 1639<para lang="ru"> 1640при использовании директивы ssl_verify_client 1641в рабочем процессе мог произойти segmentation fault, 1642если в виртуальном сервере не был указан SSL-сертификат. 1643</para> 1644<para lang="en"> 1645a segmentation fault might occur in a worker process 1646if the "ssl_verify_client" directive was used 1647and no SSL certificate was specified in a virtual server. 1648</para> 1649</change> 1650 1651<change type="bugfix"> 1652<para lang="ru"> 1653в модуле ngx_http_v2_module. 1654</para> 1655<para lang="en"> 1656in the ngx_http_v2_module. 1657</para> 1658</change> 1659 1660<change type="bugfix"> 1661<para lang="ru"> 1662в модуле ngx_http_dav_module. 1663</para> 1664<para lang="en"> 1665in the ngx_http_dav_module. 1666</para> 1667</change> 1668 1669</changes> 1670 1671 1672<changes ver="1.13.8" date="2017-12-26"> 1673 1674<change type="feature"> 1675<para lang="ru"> 1676теперь при использовании параметра transparent директив proxy_bind, 1677fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 1678nginx автоматически сохраняет capability CAP_NET_RAW в рабочих процессах. 1679</para> 1680<para lang="en"> 1681now nginx automatically preserves the CAP_NET_RAW capability in worker processes 1682when using the "transparent" parameter of the "proxy_bind", 1683"fastcgi_bind", "memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 1684</para> 1685</change> 1686 1687<change type="feature"> 1688<para lang="ru"> 1689улучшения в определении размера строки кэша процессора.<br/> 1690Спасибо Debayan Ghosh. 1691</para> 1692<para lang="en"> 1693improved CPU cache line size detection.<br/> 1694Thanks to Debayan Ghosh. 1695</para> 1696</change> 1697 1698<change type="feature"> 1699<para lang="ru"> 1700новые директивы в скриптах подсветки синтаксиса для vim.<br/> 1701Спасибо Геннадию Махомеду. 1702</para> 1703<para lang="en"> 1704new directives in vim syntax highlighting scripts.<br/> 1705Thanks to Gena Makhomed. 1706</para> 1707</change> 1708 1709<change type="bugfix"> 1710<para lang="ru"> 1711процедура обновления исполняемого файла не работала, 1712если после завершения родительского процесса 1713новым родительским процессом nginx'а становился процесс с PID, отличным от 1. 1714</para> 1715<para lang="en"> 1716binary upgrade refused to work 1717if nginx was re-parented to a process with PID different from 1 1718after its parent process has finished. 1719</para> 1720</change> 1721 1722<change type="bugfix"> 1723<para lang="ru"> 1724модуль ngx_http_autoindex_module неправильно обрабатывал запросы с телом. 1725</para> 1726<para lang="en"> 1727the ngx_http_autoindex_module incorrectly handled requests with bodies. 1728</para> 1729</change> 1730 1731<change type="bugfix"> 1732<para lang="ru"> 1733в директиве proxy_limit_rate при использовании с директивой keepalive. 1734</para> 1735<para lang="en"> 1736in the "proxy_limit_rate" directive when used with the "keepalive" directive. 1737</para> 1738</change> 1739 1740<change type="bugfix"> 1741<para lang="ru"> 1742при использовании "proxy_buffering off" часть ответа могла буферизироваться, 1743если клиентское соединение использовало SSL.<br/> 1744Спасибо Patryk Lesiewicz. 1745</para> 1746<para lang="en"> 1747some parts of a response might be buffered when using "proxy_buffering off" 1748if the client connection used SSL.<br/> 1749Thanks to Patryk Lesiewicz. 1750</para> 1751</change> 1752 1753<change type="bugfix"> 1754<para lang="ru"> 1755в директиве proxy_cache_background_update. 1756</para> 1757<para lang="en"> 1758in the "proxy_cache_background_update" directive. 1759</para> 1760</change> 1761 1762<change type="bugfix"> 1763<para lang="ru"> 1764переменную вида "${name}" с именем в фигурных скобках 1765нельзя было использовать в начале параметра 1766не заключив весь параметр в кавычки. 1767</para> 1768<para lang="en"> 1769it was not possible to start a parameter 1770with a variable in the "${name}" form with the name in curly brackets 1771without enclosing the parameter into single or double quotes. 1772</para> 1773</change> 1774 1775</changes> 1776 1777 1778<changes ver="1.13.7" date="2017-11-21"> 1779 1780<change type="bugfix"> 1781<para lang="ru"> 1782в переменной $upstream_status. 1783</para> 1784<para lang="en"> 1785in the $upstream_status variable. 1786</para> 1787</change> 1788 1789<change type="bugfix"> 1790<para lang="ru"> 1791в рабочем процессе мог произойти segmentation fault, 1792если бэкенд возвращал ответ "101 Switching Protocols" на подзапрос. 1793</para> 1794<para lang="en"> 1795a segmentation fault might occur in a worker process 1796if a backend returned a "101 Switching Protocols" response to a subrequest. 1797</para> 1798</change> 1799 1800<change type="bugfix"> 1801<para lang="ru"> 1802если при переконфигурации изменялся размер зоны разделяемой памяти 1803и переконфигурация завершалась неудачно, 1804то в главном процессе происходил segmentation fault. 1805</para> 1806<para lang="en"> 1807a segmentation fault occurred in a master process 1808if a shared memory zone size was changed during a reconfiguration 1809and the reconfiguration failed. 1810</para> 1811</change> 1812 1813<change type="bugfix"> 1814<para lang="ru"> 1815в модуле ngx_http_fastcgi_module. 1816</para> 1817<para lang="en"> 1818in the ngx_http_fastcgi_module. 1819</para> 1820</change> 1821 1822<change type="bugfix"> 1823<para lang="ru"> 1824nginx возвращал ошибку 500, 1825если в директиве xslt_stylesheet 1826были заданы параметры без использования переменных. 1827</para> 1828<para lang="en"> 1829nginx returned the 500 error 1830if parameters without variables were specified 1831in the "xslt_stylesheet" directive. 1832</para> 1833</change> 1834 1835<change type="workaround"> 1836<para lang="ru"> 1837при использовании варианта библиотеки zlib от Intel 1838в лог писались сообщения "gzip filter failed to use preallocated memory". 1839</para> 1840<para lang="en"> 1841"gzip filter failed to use preallocated memory" alerts appeared in logs 1842when using a zlib library variant from Intel. 1843</para> 1844</change> 1845 1846<change type="bugfix"> 1847<para lang="ru"> 1848директива worker_shutdown_timeout не работала 1849при использовании почтового прокси-сервера 1850и при проксировании WebSocket-соединений. 1851</para> 1852<para lang="en"> 1853the "worker_shutdown_timeout" directive did not work 1854when using mail proxy and when proxying WebSocket connections. 1855</para> 1856</change> 1857 1858</changes> 1859 1860 1861<changes ver="1.13.6" date="2017-10-10"> 1862 1863<change type="bugfix"> 1864<para lang="ru"> 1865при использовании директивы ssl_preread 1866в модуле stream не работало переключение на следующий бэкенд. 1867</para> 1868<para lang="en"> 1869switching to the next upstream server in the stream module did not work 1870when using the "ssl_preread" directive. 1871</para> 1872</change> 1873 1874<change type="bugfix"> 1875<para lang="ru"> 1876в модуле ngx_http_v2_module.<br/> 1877Спасибо Piotr Sikora. 1878</para> 1879<para lang="en"> 1880in the ngx_http_v2_module.<br/> 1881Thanks to Piotr Sikora. 1882</para> 1883</change> 1884 1885<change type="bugfix"> 1886<para lang="ru"> 1887nginx не поддерживал даты после 2038 года 1888на 32-битных платформах с 64-битным time_t. 1889</para> 1890<para lang="en"> 1891nginx did not support dates after the year 2038 1892on 32-bit platforms with 64-bit time_t. 1893</para> 1894</change> 1895 1896<change type="bugfix"> 1897<para lang="ru"> 1898в обработке дат до 1970 года и после 10000 года. 1899</para> 1900<para lang="en"> 1901in handling of dates prior to the year 1970 and after the year 10000. 1902</para> 1903</change> 1904 1905<change type="bugfix"> 1906<para lang="ru"> 1907в модуле stream таймауты ожидания UDP-пакетов от бэкендов 1908не логгировались или логгировались на уровне info вместо error. 1909</para> 1910<para lang="en"> 1911in the stream module timeouts waiting for UDP datagrams from upstream servers 1912were not logged or logged at the "info" level instead of "error". 1913</para> 1914</change> 1915 1916<change type="bugfix"> 1917<para lang="ru"> 1918при использовании HTTP/2 nginx мог вернуть ошибку 400, 1919не указав в логе причину. 1920</para> 1921<para lang="en"> 1922when using HTTP/2 nginx might return the 400 response 1923without logging the reason. 1924</para> 1925</change> 1926 1927<change type="bugfix"> 1928<para lang="ru"> 1929в обработке повреждённых файлов кэша. 1930</para> 1931<para lang="en"> 1932in processing of corrupted cache files. 1933</para> 1934</change> 1935 1936<change type="bugfix"> 1937<para lang="ru"> 1938при кэшировании ошибок, перехваченных error_page, 1939не учитывались заголовки управления кэшированием. 1940</para> 1941<para lang="en"> 1942cache control headers were ignored 1943when caching errors intercepted by error_page. 1944</para> 1945</change> 1946 1947<change type="bugfix"> 1948<para lang="ru"> 1949при использовании HTTP/2 тело запроса могло быть повреждено. 1950</para> 1951<para lang="en"> 1952when using HTTP/2 client request body might be corrupted. 1953</para> 1954</change> 1955 1956<change type="bugfix"> 1957<para lang="ru"> 1958в обработке адресов клиентов при использовании unix domain сокетов. 1959</para> 1960<para lang="en"> 1961in handling of client addresses when using unix domain sockets. 1962</para> 1963</change> 1964 1965<change type="bugfix"> 1966<para lang="ru"> 1967при использовании директивы "hash ... consistent" в блоке upstream 1968nginx нагружал процессор, если использовались большие веса 1969и все или почти все бэкенды были недоступны. 1970</para> 1971<para lang="en"> 1972nginx hogged CPU 1973when using the "hash ... consistent" directive in the upstream block 1974if large weights were used and all or most of the servers were unavailable. 1975</para> 1976</change> 1977 1978</changes> 1979 1980 1981<changes ver="1.13.5" date="2017-09-05"> 1982 1983<change type="feature"> 1984<para lang="ru"> 1985переменная $ssl_client_escaped_cert. 1986</para> 1987<para lang="en"> 1988the $ssl_client_escaped_cert variable. 1989</para> 1990</change> 1991 1992<change type="bugfix"> 1993<para lang="ru"> 1994директива ssl_session_ticket_key и параметр include директивы geo 1995не работали на Windows. 1996</para> 1997<para lang="en"> 1998the "ssl_session_ticket_key" directive and 1999the "include" parameter of the "geo" directive did not work on Windows. 2000</para> 2001</change> 2002 2003<change type="bugfix"> 2004<para lang="ru"> 2005на 32-битных платформах 2006при запросе более 4 гигабайт с помощью нескольких диапазонов 2007возвращалась некорректная длина ответа. 2008</para> 2009<para lang="en"> 2010incorrect response length was returned 2011on 32-bit platforms when requesting more than 4 gigabytes 2012with multiple ranges. 2013</para> 2014</change> 2015 2016<change type="bugfix"> 2017<para lang="ru"> 2018директива "expires modified" и 2019обработка строки If-Range заголовка запроса 2020не учитывали время последнего изменения ответа, 2021если использовалось проксирование без кэширования. 2022</para> 2023<para lang="en"> 2024the "expires modified" directive and 2025processing of the "If-Range" request header line 2026did not use the response last modification time 2027if proxying without caching was used. 2028</para> 2029</change> 2030 2031</changes> 2032 2033 2034<changes ver="1.13.4" date="2017-08-08"> 2035 2036<change type="feature"> 2037<para lang="ru"> 2038модуль ngx_http_mirror_module. 2039</para> 2040<para lang="en"> 2041the ngx_http_mirror_module. 2042</para> 2043</change> 2044 2045<change type="bugfix"> 2046<para lang="ru"> 2047клиентские соединения могли сбрасываться при тестировании конфигурации, 2048если использовался параметр reuseport директивы listen на Linux. 2049</para> 2050<para lang="en"> 2051client connections might be dropped during configuration testing 2052when using the "reuseport" parameter of the "listen" directive on Linux. 2053</para> 2054</change> 2055 2056<change type="bugfix"> 2057<para lang="ru"> 2058тело запроса могло быть недоступно в подзапросах, 2059если оно было сохранено в файл и использовалось проксирование. 2060</para> 2061<para lang="en"> 2062request body might not be available in subrequests 2063if it was saved to a file and proxying was used. 2064</para> 2065</change> 2066 2067<change type="bugfix"> 2068<para lang="ru"> 2069очистка кэша по max_size не работала на Windows. 2070</para> 2071<para lang="en"> 2072cleaning cache based on the "max_size" parameter did not work on Windows. 2073</para> 2074</change> 2075 2076<change type="bugfix"> 2077<para lang="ru"> 2078любое выделение разделяемой памяти на Windows требовало 4096 байт памяти. 2079</para> 2080<para lang="en"> 2081any shared memory allocation required 4096 bytes on Windows. 2082</para> 2083</change> 2084 2085<change type="bugfix"> 2086<para lang="ru"> 2087при использовании директивы zone в блоке upstream на Windows 2088рабочий процесс мог завершаться аварийно. 2089</para> 2090<para lang="en"> 2091nginx worker might be terminated abnormally 2092when using the "zone" directive inside the "upstream" block on Windows. 2093</para> 2094</change> 2095 2096</changes> 2097 2098 2099<changes ver="1.13.3" date="2017-07-11"> 2100 2101<change type="security"> 2102<para lang="ru"> 2103специально созданный запрос мог вызвать целочисленное переполнение 2104в range-фильтре и последующую некорректную обработку запрошенных диапазонов, 2105что потенциально могло привести к утечке конфиденциальной информации 2106(CVE-2017-7529). 2107</para> 2108<para lang="en"> 2109a specially crafted request might result in an integer overflow 2110and incorrect processing of ranges in the range filter, 2111potentially resulting in sensitive information leak 2112(CVE-2017-7529). 2113</para> 2114</change> 2115 2116</changes> 2117 2118 2119<changes ver="1.13.2" date="2017-06-27"> 2120 2121<change type="change"> 2122<para lang="ru"> 2123теперь при запросе диапазона, начинающегося с 0, из пустого файла 2124nginx возвращает ответ 200 вместо 416. 2125</para> 2126<para lang="en"> 2127nginx now returns 200 instead of 416 2128when a range starting with 0 is requested from an empty file. 2129</para> 2130</change> 2131 2132<change type="feature"> 2133<para lang="ru"> 2134директива add_trailer.<br/> 2135Спасибо Piotr Sikora. 2136</para> 2137<para lang="en"> 2138the "add_trailer" directive.<br/> 2139Thanks to Piotr Sikora. 2140</para> 2141</change> 2142 2143<change type="bugfix"> 2144<para lang="ru"> 2145nginx не собирался под Cygwin и NetBSD; 2146ошибка появилась в 1.13.0. 2147</para> 2148<para lang="en"> 2149nginx could not be built on Cygwin and NetBSD; 2150the bug had appeared in 1.13.0. 2151</para> 2152</change> 2153 2154<change type="bugfix"> 2155<para lang="ru"> 2156nginx не собирался под MSYS2 / MinGW 64-bit.<br/> 2157Спасибо Orgad Shaneh. 2158</para> 2159<para lang="en"> 2160nginx could not be built under MSYS2 / MinGW 64-bit.<br/> 2161Thanks to Orgad Shaneh. 2162</para> 2163</change> 2164 2165<change type="bugfix"> 2166<para lang="ru"> 2167при использовании SSI с большим количеством подзапросов 2168и proxy_pass с переменными 2169в рабочем процессе мог произойти segmentation fault. 2170</para> 2171<para lang="en"> 2172a segmentation fault might occur in a worker process 2173when using SSI with many includes 2174and proxy_pass with variables. 2175</para> 2176</change> 2177 2178<change type="bugfix"> 2179<para lang="ru"> 2180в модуле ngx_http_v2_module.<br/> 2181Спасибо Piotr Sikora. 2182</para> 2183<para lang="en"> 2184in the ngx_http_v2_module.<br/> 2185Thanks to Piotr Sikora. 2186</para> 2187</change> 2188 2189</changes> 2190 2191 2192<changes ver="1.13.1" date="2017-05-30"> 2193 2194<change type="feature"> 2195<para lang="ru"> 2196теперь в качестве параметра директивы set_real_ip_from 2197можно указывать имя хоста. 2198</para> 2199<para lang="en"> 2200now a hostname can be used 2201as the "set_real_ip_from" directive parameter. 2202</para> 2203</change> 2204 2205<change type="feature"> 2206<para lang="ru"> 2207улучшения в скриптах подсветки синтаксиса для vim. 2208</para> 2209<para lang="en"> 2210vim syntax highlighting scripts improvements. 2211</para> 2212</change> 2213 2214<change type="feature"> 2215<para lang="ru"> 2216директива worker_cpu_affinity теперь работает на DragonFly BSD.<br/> 2217Спасибо Sepherosa Ziehau. 2218</para> 2219<para lang="en"> 2220the "worker_cpu_affinity" directive now works on DragonFly BSD.<br/> 2221Thanks to Sepherosa Ziehau. 2222</para> 2223</change> 2224 2225<change type="bugfix"> 2226<para lang="ru"> 2227SSL renegotiation в соединениях к бэкендам 2228не работал при использовании OpenSSL до 1.1.0. 2229</para> 2230<para lang="en"> 2231SSL renegotiation on backend connections 2232did not work when using OpenSSL before 1.1.0. 2233</para> 2234</change> 2235 2236<change type="workaround"> 2237<para lang="ru"> 2238nginx не собирался с Oracle Developer Studio 12.5. 2239</para> 2240<para lang="en"> 2241nginx could not be built with Oracle Developer Studio 12.5. 2242</para> 2243</change> 2244 2245<change type="workaround"> 2246<para lang="ru"> 2247теперь cache manager пропускает заблокированные записи 2248при очистке кэша по max_size. 2249</para> 2250<para lang="en"> 2251now cache manager ignores long locked cache entries 2252when cleaning cache based on the "max_size" parameter. 2253</para> 2254</change> 2255 2256<change type="bugfix"> 2257<para lang="ru"> 2258клиентские SSL-соединения сразу закрывались, если использовался 2259отложенный accept и параметр proxy_protocol директивы listen. 2260</para> 2261<para lang="en"> 2262client SSL connections were immediately closed if deferred accept 2263and the "proxy_protocol" parameter of the "listen" directive were used. 2264</para> 2265</change> 2266 2267<change type="bugfix"> 2268<para lang="ru"> 2269в директиве proxy_cache_background_update. 2270</para> 2271<para lang="en"> 2272in the "proxy_cache_background_update" directive. 2273</para> 2274</change> 2275 2276<change type="workaround"> 2277<para lang="ru"> 2278теперь директива tcp_nodelay 2279устанавливает опцию TCP_NODELAY перед SSL handshake. 2280</para> 2281<para lang="en"> 2282now the "tcp_nodelay" directive 2283sets the TCP_NODELAY option before an SSL handshake. 2284</para> 2285</change> 2286 2287</changes> 2288 2289 2290<changes ver="1.13.0" date="2017-04-25"> 2291 2292<change type="change"> 2293<para lang="ru"> 2294теперь SSL renegotiation допускается в соединениях к бэкендам. 2295</para> 2296<para lang="en"> 2297SSL renegotiation is now allowed on backend connections. 2298</para> 2299</change> 2300 2301<change type="feature"> 2302<para lang="ru"> 2303параметры rcvbuf и sndbuf директив listen 2304в почтовом прокси-сервере и модуле stream. 2305</para> 2306<para lang="en"> 2307the "rcvbuf" and "sndbuf" parameters of the "listen" directives 2308of the mail proxy and stream modules. 2309</para> 2310</change> 2311 2312<change type="feature"> 2313<para lang="ru"> 2314директивы return и error_page теперь могут использоваться для возврата 2315перенаправлений с кодом 308.<br/> 2316Спасибо Simon Leblanc. 2317</para> 2318<para lang="en"> 2319the "return" and "error_page" directives can now be used to return 308 2320redirections.<br/> 2321Thanks to Simon Leblanc. 2322</para> 2323</change> 2324 2325<change type="feature"> 2326<para lang="ru"> 2327параметр TLSv1.3 в директиве ssl_protocols. 2328</para> 2329<para lang="en"> 2330the "TLSv1.3" parameter of the "ssl_protocols" directive. 2331</para> 2332</change> 2333 2334<change type="feature"> 2335<para lang="ru"> 2336при логгировании сигналов теперь указывается PID отправившего сигнал процесса. 2337</para> 2338<para lang="en"> 2339when logging signals nginx now logs PID of the process which sent the signal. 2340</para> 2341</change> 2342 2343<change type="bugfix"> 2344<para lang="ru"> 2345в обработке ошибок выделения памяти. 2346</para> 2347<para lang="en"> 2348in memory allocation error handling. 2349</para> 2350</change> 2351 2352<change type="bugfix"> 2353<para lang="ru"> 2354если сервер в модуле stream слушал на wildcard-адресе, 2355исходящий адрес ответного UDP-пакета 2356мог отличаться от адреса назначения исходного пакета. 2357</para> 2358<para lang="en"> 2359if a server in the stream module listened on a wildcard address, 2360the source address of a response UDP datagram could differ 2361from the original datagram destination address. 2362</para> 2363</change> 2364 2365</changes> 2366 2367 2368<changes ver="1.11.13" date="2017-04-04"> 2369 2370<change type="feature"> 2371<para lang="ru"> 2372параметр http_429 в директивах proxy_next_upstream, fastcgi_next_upstream, 2373scgi_next_upstream и uwsgi_next_upstream.<br/> 2374Спасибо Piotr Sikora. 2375</para> 2376<para lang="en"> 2377the "http_429" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", 2378"scgi_next_upstream", and "uwsgi_next_upstream" directives.<br/> 2379Thanks to Piotr Sikora. 2380</para> 2381</change> 2382 2383<change type="bugfix"> 2384<para lang="ru"> 2385в обработке ошибок выделения памяти. 2386</para> 2387<para lang="en"> 2388in memory allocation error handling. 2389</para> 2390</change> 2391 2392<change type="bugfix"> 2393<para lang="ru"> 2394при использовании директив sendfile и timer_resolution на Linux 2395запросы могли зависать. 2396</para> 2397<para lang="en"> 2398requests might hang 2399when using the "sendfile" and "timer_resolution" directives on Linux. 2400</para> 2401</change> 2402 2403<change type="bugfix"> 2404<para lang="ru"> 2405при использовании с подзапросами директив sendfile и aio_write 2406запросы могли зависать. 2407</para> 2408<para lang="en"> 2409requests might hang 2410when using the "sendfile" and "aio_write" directives with subrequests. 2411</para> 2412</change> 2413 2414<change type="bugfix"> 2415<para lang="ru"> 2416в модуле ngx_http_v2_module.<br/> 2417Спасибо Piotr Sikora. 2418</para> 2419<para lang="en"> 2420in the ngx_http_v2_module.<br/> 2421Thanks to Piotr Sikora. 2422</para> 2423</change> 2424 2425<change type="bugfix"> 2426<para lang="ru"> 2427при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault. 2428</para> 2429<para lang="en"> 2430a segmentation fault might occur in a worker process when using HTTP/2. 2431</para> 2432</change> 2433 2434<change type="bugfix"> 2435<para lang="ru"> 2436запросы могли зависать 2437при использовании с подзапросами директив limit_rate, sendfile_max_chunk, 2438limit_req или метода $r->sleep() встроенного перла. 2439</para> 2440<para lang="en"> 2441requests might hang 2442when using the "limit_rate", "sendfile_max_chunk", "limit_req" directives, 2443or the $r->sleep() embedded perl method with subrequests. 2444</para> 2445</change> 2446 2447<change type="bugfix"> 2448<para lang="ru"> 2449в модуле ngx_http_slice_module. 2450</para> 2451<para lang="en"> 2452in the ngx_http_slice_module. 2453</para> 2454</change> 2455 2456</changes> 2457 2458 2459<changes ver="1.11.12" date="2017-03-24"> 2460 2461<change type="bugfix"> 2462<para lang="ru"> 2463nginx мог нагружать процессор; 2464ошибка появилась в 1.11.11. 2465</para> 2466<para lang="en"> 2467nginx might hog CPU; 2468the bug had appeared in 1.11.11. 2469</para> 2470</change> 2471 2472</changes> 2473 2474 2475<changes ver="1.11.11" date="2017-03-21"> 2476 2477<change type="feature"> 2478<para lang="ru"> 2479директива worker_shutdown_timeout. 2480</para> 2481<para lang="en"> 2482the "worker_shutdown_timeout" directive. 2483</para> 2484</change> 2485 2486<change type="feature"> 2487<para lang="ru"> 2488улучшения в скриптах подсветки синтаксиса для vim.<br/> 2489Спасибо Wei-Ko Kao. 2490</para> 2491<para lang="en"> 2492vim syntax highlighting scripts improvements.<br/> 2493Thanks to Wei-Ko Kao. 2494</para> 2495</change> 2496 2497<change type="bugfix"> 2498<para lang="ru"> 2499при попытке установить переменную $limit_rate в пустую строку 2500в рабочем процессе мог произойти segmentation fault. 2501</para> 2502<para lang="en"> 2503a segmentation fault might occur in a worker process 2504if the $limit_rate variable was set to an empty string. 2505</para> 2506</change> 2507 2508<change type="bugfix"> 2509<para lang="ru"> 2510директивы proxy_cache_background_update, fastcgi_cache_background_update, 2511scgi_cache_background_update и uwsgi_cache_background_update 2512могли работать некорректно, если использовалась директива if. 2513</para> 2514<para lang="en"> 2515the "proxy_cache_background_update", "fastcgi_cache_background_update", 2516"scgi_cache_background_update", and "uwsgi_cache_background_update" directives 2517might work incorrectly if the "if" directive was used. 2518</para> 2519</change> 2520 2521<change type="bugfix"> 2522<para lang="ru"> 2523в рабочем процессе мог произойти segmentation fault, 2524если количество large_client_header_buffers в виртуальном сервере 2525отличалось от такового в сервере по умолчанию. 2526</para> 2527<para lang="en"> 2528a segmentation fault might occur in a worker process 2529if number of large_client_header_buffers in a virtual server 2530was different from the one in the default server. 2531</para> 2532</change> 2533 2534<change type="bugfix"> 2535<para lang="ru"> 2536в почтовом прокси-сервере. 2537</para> 2538<para lang="en"> 2539in the mail proxy server. 2540</para> 2541</change> 2542 2543</changes> 2544 2545 2546<changes ver="1.11.10" date="2017-02-14"> 2547 2548<change type="change"> 2549<para lang="ru"> 2550формат заголовка кэша был изменен, 2551ранее закэшированные ответы будут загружены заново. 2552</para> 2553<para lang="en"> 2554cache header format has been changed, 2555previously cached responses will be invalidated. 2556</para> 2557</change> 2558 2559<change type="feature"> 2560<para lang="ru"> 2561поддержка расширений stale-while-revalidate и stale-if-error 2562в строке "Cache-Control" в заголовке ответа бэкенда. 2563</para> 2564<para lang="en"> 2565support of "stale-while-revalidate" and "stale-if-error" extensions 2566in the "Cache-Control" backend response header line. 2567</para> 2568</change> 2569 2570<change type="feature"> 2571<para lang="ru"> 2572директивы proxy_cache_background_update, fastcgi_cache_background_update, 2573scgi_cache_background_update и uwsgi_cache_background_update. 2574</para> 2575<para lang="en"> 2576the "proxy_cache_background_update", "fastcgi_cache_background_update", 2577"scgi_cache_background_update", and "uwsgi_cache_background_update" directives. 2578</para> 2579</change> 2580 2581<change type="feature"> 2582<para lang="ru"> 2583теперь nginx может кэшировать ответы 2584со строкой Vary заголовка длиной до 128 символов 2585(вместо 42 символов в предыдущих версиях). 2586</para> 2587<para lang="en"> 2588nginx is now able to cache responses 2589with the "Vary" header line up to 128 characters long 2590(instead of 42 characters in previous versions). 2591</para> 2592</change> 2593 2594<change type="feature"> 2595<para lang="ru"> 2596параметр build директивы server_tokens.<br/> 2597Спасибо Tom Thorogood. 2598</para> 2599<para lang="en"> 2600the "build" parameter of the "server_tokens" directive.<br/> 2601Thanks to Tom Thorogood. 2602</para> 2603</change> 2604 2605<change type="bugfix"> 2606<para lang="ru"> 2607при обработке запросов со строкой "Expect: 100-continue" в заголовке запроса 2608в логах могли появляться сообщения "[crit] SSL_write() failed". 2609</para> 2610<para lang="en"> 2611"[crit] SSL_write() failed" messages might appear in logs 2612when handling requests with the "Expect: 100-continue" request header line. 2613</para> 2614</change> 2615 2616<change type="bugfix"> 2617<para lang="ru"> 2618модуль ngx_http_slice_module не работал в именованных location'ах. 2619</para> 2620<para lang="en"> 2621the ngx_http_slice_module did not work in named locations. 2622</para> 2623</change> 2624 2625<change type="bugfix"> 2626<para lang="ru"> 2627при использовании AIO после перенаправления запроса с помощью X-Accel-Redirect 2628в рабочем процессе мог произойти segmentation fault. 2629</para> 2630<para lang="en"> 2631a segmentation fault might occur in a worker process 2632when using AIO after an "X-Accel-Redirect" redirection. 2633</para> 2634</change> 2635 2636<change type="bugfix"> 2637<para lang="ru"> 2638уменьшено потребление памяти для долгоживущих запросов, использующих сжатие. 2639</para> 2640<para lang="en"> 2641reduced memory consumption for long-lived requests using gzipping. 2642</para> 2643</change> 2644 2645</changes> 2646 2647 2648<changes ver="1.11.9" date="2017-01-24"> 2649 2650<change type="bugfix"> 2651<para lang="ru"> 2652при использовании модуля stream nginx мог нагружать процессор; 2653ошибка появилась в 1.11.5. 2654</para> 2655<para lang="en"> 2656nginx might hog CPU when using the stream module; 2657the bug had appeared in 1.11.5. 2658</para> 2659</change> 2660 2661<change type="bugfix"> 2662<para lang="ru"> 2663метод аутентификации EXTERNAL в почтовом прокси-сервере 2664можно было использовать, даже если он не был разрешён в конфигурации. 2665</para> 2666<para lang="en"> 2667EXTERNAL authentication mechanism in mail proxy 2668was accepted even if it was not enabled in the configuration. 2669</para> 2670</change> 2671 2672<change type="bugfix"> 2673<para lang="ru"> 2674при использовании директивы ssl_verify_client модуля stream 2675в рабочем процессе мог произойти segmentation fault. 2676</para> 2677<para lang="en"> 2678a segmentation fault might occur in a worker process 2679if the "ssl_verify_client" directive of the stream module was used. 2680</para> 2681</change> 2682 2683<change type="bugfix"> 2684<para lang="ru"> 2685директива ssl_verify_client модуля stream могла не работать. 2686</para> 2687<para lang="en"> 2688the "ssl_verify_client" directive of the stream module might not work. 2689</para> 2690</change> 2691 2692<change type="bugfix"> 2693<para lang="ru"> 2694при исчерпании рабочим процессом свободных соединений 2695keepalive-соединения могли закрываться излишне агрессивно.<br/> 2696Спасибо Joel Cunningham. 2697</para> 2698<para lang="en"> 2699closing keepalive connections due to no free worker connections 2700might be too aggressive.<br/> 2701Thanks to Joel Cunningham. 2702</para> 2703</change> 2704 2705<change type="bugfix"> 2706<para lang="ru"> 2707при использовании директивы sendfile на FreeBSD и macOS 2708мог возвращаться некорректный ответ; 2709ошибка появилась в 1.7.8. 2710</para> 2711<para lang="en"> 2712an incorrect response might be returned 2713when using the "sendfile" directive on FreeBSD and macOS; 2714the bug had appeared in 1.7.8. 2715</para> 2716</change> 2717 2718<change type="bugfix"> 2719<para lang="ru"> 2720при использовании директивы aio_write 2721ответ мог сохраняться в кэш не полностью. 2722</para> 2723<para lang="en"> 2724a truncated response might be stored in cache 2725when using the "aio_write" directive. 2726</para> 2727</change> 2728 2729<change type="bugfix"> 2730<para lang="ru"> 2731при использовании директивы aio_write 2732могла происходить утечка сокетов. 2733</para> 2734<para lang="en"> 2735a socket leak might occur 2736when using the "aio_write" directive. 2737</para> 2738</change> 2739 2740</changes> 2741 2742 2743<changes ver="1.11.8" date="2016-12-27"> 2744 2745<change type="feature"> 2746<para lang="ru"> 2747директива absolute_redirect. 2748</para> 2749<para lang="en"> 2750the "absolute_redirect" directive. 2751</para> 2752</change> 2753 2754<change type="feature"> 2755<para lang="ru"> 2756параметр escape директивы log_format. 2757</para> 2758<para lang="en"> 2759the "escape" parameter of the "log_format" directive. 2760</para> 2761</change> 2762 2763<change type="feature"> 2764<para lang="ru"> 2765проверка клиентских SSL-сертификатов в модуле stream. 2766</para> 2767<para lang="en"> 2768client SSL certificates verification in the stream module. 2769</para> 2770</change> 2771 2772<change type="feature"> 2773<para lang="ru"> 2774директива ssl_session_ticket_key поддерживает 2775шифрование TLS session tickets с помощью AES256 2776при использовании с 80-байтными ключами. 2777</para> 2778<para lang="en"> 2779the "ssl_session_ticket_key" directive supports 2780AES256 encryption of TLS session tickets 2781when used with 80-byte keys. 2782</para> 2783</change> 2784 2785<change type="feature"> 2786<para lang="ru"> 2787поддержка vim-commentary в скриптах для vim.<br/> 2788Спасибо Armin Grodon. 2789</para> 2790<para lang="en"> 2791vim-commentary support in vim scripts.<br/> 2792Thanks to Armin Grodon. 2793</para> 2794</change> 2795 2796<change type="bugfix"> 2797<para lang="ru"> 2798рекурсия при получении значений переменных не ограничивалась. 2799</para> 2800<para lang="en"> 2801recursion when evaluating variables was not limited. 2802</para> 2803</change> 2804 2805<change type="bugfix"> 2806<para lang="ru"> 2807в модуле ngx_stream_ssl_preread_module. 2808</para> 2809<para lang="en"> 2810in the ngx_stream_ssl_preread_module. 2811</para> 2812</change> 2813 2814<change type="bugfix"> 2815<para lang="ru"> 2816если сервер, описанный в блоке upstream в модуле stream, 2817был признан неработающим, то после истечения fail_timeout он 2818признавался работающим только после завершения тестового соединения; 2819теперь достаточно, чтобы соединение было успешно установлено. 2820</para> 2821<para lang="en"> 2822if a server in an upstream in the stream module failed, 2823it was considered alive only when a test connection sent 2824to it after fail_timeout was closed; 2825now a successfully established connection is enough. 2826</para> 2827</change> 2828 2829<change type="bugfix"> 2830<para lang="ru"> 2831nginx/Windows не собирался с 64-битным Visual Studio. 2832</para> 2833<para lang="en"> 2834nginx/Windows could not be built with 64-bit Visual Studio. 2835</para> 2836</change> 2837 2838<change type="bugfix"> 2839<para lang="ru"> 2840nginx/Windows не собирался с OpenSSL 1.1.0. 2841</para> 2842<para lang="en"> 2843nginx/Windows could not be built with OpenSSL 1.1.0. 2844</para> 2845</change> 2846 2847</changes> 2848 2849 2850<changes ver="1.11.7" date="2016-12-13"> 2851 2852<change type="change"> 2853<para lang="ru"> 2854переменная $ssl_client_verify теперь 2855в случае ошибки проверки клиентского сертификата 2856содержит строку с описанием ошибки, 2857например, "FAILED:certificate has expired". 2858</para> 2859<para lang="en"> 2860now in case of a client certificate verification error 2861the $ssl_client_verify variable contains a string with the failure reason, 2862for example, "FAILED:certificate has expired". 2863</para> 2864</change> 2865 2866<change type="feature"> 2867<para lang="ru"> 2868переменные $ssl_ciphers, $ssl_curves, 2869$ssl_client_v_start, $ssl_client_v_end и $ssl_client_v_remain. 2870</para> 2871<para lang="en"> 2872the $ssl_ciphers, $ssl_curves, 2873$ssl_client_v_start, $ssl_client_v_end, and $ssl_client_v_remain variables. 2874</para> 2875</change> 2876 2877<change type="feature"> 2878<para lang="ru"> 2879параметр volatile директивы map. 2880</para> 2881<para lang="en"> 2882the "volatile" parameter of the "map" directive. 2883</para> 2884</change> 2885 2886<change type="bugfix"> 2887<para lang="ru"> 2888при сборке динамических модулей 2889не учитывались заданные для модуля зависимости. 2890</para> 2891<para lang="en"> 2892dependencies specified for a module 2893were ignored while building dynamic modules. 2894</para> 2895</change> 2896 2897<change type="bugfix"> 2898<para lang="ru"> 2899при использовании HTTP/2 и директив limit_req или auth_request 2900тело запроса могло быть повреждено; 2901ошибка появилась в 1.11.0. 2902</para> 2903<para lang="en"> 2904when using HTTP/2 and the "limit_req" or "auth_request" directives 2905client request body might be corrupted; 2906the bug had appeared in 1.11.0. 2907</para> 2908</change> 2909 2910<change type="bugfix"> 2911<para lang="ru"> 2912при использовании HTTP/2 в рабочем процессе мог произойти segmentation fault; 2913ошибка появилась в 1.11.3. 2914</para> 2915<para lang="en"> 2916a segmentation fault might occur in a worker process when using HTTP/2; 2917the bug had appeared in 1.11.3. 2918</para> 2919</change> 2920 2921<change type="bugfix"> 2922<para lang="ru"> 2923в модуле ngx_http_mp4_module.<br/> 2924Спасибо Congcong Hu. 2925</para> 2926<para lang="en"> 2927in the ngx_http_mp4_module.<br/> 2928Thanks to Congcong Hu. 2929</para> 2930</change> 2931 2932<change type="bugfix"> 2933<para lang="ru"> 2934в модуле ngx_http_perl_module. 2935</para> 2936<para lang="en"> 2937in the ngx_http_perl_module. 2938</para> 2939</change> 2940 2941</changes> 2942 2943 2944<changes ver="1.11.6" date="2016-11-15"> 2945 2946<change type="change"> 2947<para lang="ru"> 2948формат переменных $ssl_client_s_dn и $ssl_client_i_dn 2949изменён на соответствующий RFC 2253 (RFC 4514); 2950значения в старом формате доступны через переменные 2951$ssl_client_s_dn_legacy и $ssl_client_i_dn_legacy. 2952</para> 2953<para lang="en"> 2954format of the $ssl_client_s_dn and $ssl_client_i_dn variables 2955has been changed to follow RFC 2253 (RFC 4514); 2956values in the old format are available in 2957the $ssl_client_s_dn_legacy and $ssl_client_i_dn_legacy variables. 2958</para> 2959</change> 2960 2961<change type="change"> 2962<para lang="ru"> 2963при сохранении временных файлов в каталоге кэша 2964они теперь располагаются не в отдельном подкаталоге для временных файлов, 2965а в том же подкаталоге, что и соответствующие файлы в кэше. 2966</para> 2967<para lang="en"> 2968when storing temporary files in a cache directory 2969they will be stored in the same subdirectories as corresponding cache files 2970instead of a separate subdirectory for temporary files. 2971</para> 2972</change> 2973 2974<change type="feature"> 2975<para lang="ru"> 2976поддержка метода аутентификации EXTERNAL 2977в почтовом прокси-сервере.<br/> 2978Спасибо Robert Norris. 2979</para> 2980<para lang="en"> 2981EXTERNAL authentication mechanism support 2982in mail proxy.<br/> 2983Thanks to Robert Norris. 2984</para> 2985</change> 2986 2987<change type="feature"> 2988<para lang="ru"> 2989поддержка WebP в модуле ngx_http_image_filter_module. 2990</para> 2991<para lang="en"> 2992WebP support in the ngx_http_image_filter_module. 2993</para> 2994</change> 2995 2996<change type="feature"> 2997<para lang="ru"> 2998директива proxy_method поддерживает переменные.<br/> 2999Спасибо Дмитрию Лазуркину. 3000</para> 3001<para lang="en"> 3002variables support in the "proxy_method" directive.<br/> 3003Thanks to Dmitry Lazurkin. 3004</para> 3005</change> 3006 3007<change type="feature"> 3008<para lang="ru"> 3009директива http2_max_requests в модуле ngx_http_v2_module. 3010</para> 3011<para lang="en"> 3012the "http2_max_requests" directive in the ngx_http_v2_module. 3013</para> 3014</change> 3015 3016<change type="feature"> 3017<para lang="ru"> 3018директивы proxy_cache_max_range_offset, fastcgi_cache_max_range_offset, 3019scgi_cache_max_range_offset и uwsgi_cache_max_range_offset. 3020</para> 3021<para lang="en"> 3022the "proxy_cache_max_range_offset", "fastcgi_cache_max_range_offset", 3023"scgi_cache_max_range_offset", and "uwsgi_cache_max_range_offset" directives. 3024</para> 3025</change> 3026 3027<change type="bugfix"> 3028<para lang="ru"> 3029плавное завершение старых рабочих процессов могло занимать бесконечное время 3030при использовании HTTP/2. 3031</para> 3032<para lang="en"> 3033graceful shutdown of old worker processes might require infinite time 3034when using HTTP/2. 3035</para> 3036</change> 3037 3038<change type="bugfix"> 3039<para lang="ru"> 3040в модуле ngx_http_mp4_module. 3041</para> 3042<para lang="en"> 3043in the ngx_http_mp4_module. 3044</para> 3045</change> 3046 3047<change type="bugfix"> 3048<para lang="ru"> 3049при проксировании WebSocket-соединений и включённом кэшировании 3050в логах могли появляться сообщения "ignore long locked inactive cache entry". 3051</para> 3052<para lang="en"> 3053"ignore long locked inactive cache entry" alerts might appear in logs 3054when proxying WebSocket connections with caching enabled. 3055</para> 3056</change> 3057 3058<change type="bugfix"> 3059<para lang="ru"> 3060если во время SSL handshake с бэкендом происходил таймаут, 3061nginx ничего не писал в лог 3062и возвращал ответ с кодом 502 вместо 504. 3063</para> 3064<para lang="en"> 3065nginx did not write anything to log 3066and returned a response with code 502 instead of 504 3067when a timeout occurred during an SSL handshake to a backend. 3068</para> 3069</change> 3070 3071</changes> 3072 3073 3074<changes ver="1.11.5" date="2016-10-11"> 3075 3076<change type="change"> 3077<para lang="ru"> 3078параметр configure --with-ipv6 упразднён, 3079поддержка IPv6 теперь собирается автоматически. 3080</para> 3081<para lang="en"> 3082the --with-ipv6 configure option was removed, 3083now IPv6 support is configured automatically. 3084</para> 3085</change> 3086 3087<change type="change"> 3088<para lang="ru"> 3089теперь, если в блоке upstream не оказалось доступных серверов, 3090nginx не сбрасывает статистику ошибок всех серверов, как делал ранее, 3091а ожидает истечения fail_timeout. 3092</para> 3093<para lang="en"> 3094now if there are no available servers in an upstream, 3095nginx will not reset number of failures of all servers as it previously did, 3096but will wait for fail_timeout to expire. 3097</para> 3098</change> 3099 3100<change type="feature"> 3101<para lang="ru"> 3102модуль ngx_stream_ssl_preread_module. 3103</para> 3104<para lang="en"> 3105the ngx_stream_ssl_preread_module. 3106</para> 3107</change> 3108 3109<change type="feature"> 3110<para lang="ru"> 3111директива server в блоке upstream поддерживает параметр max_conns. 3112</para> 3113<para lang="en"> 3114the "server" directive in the "upstream" context supports 3115the "max_conns" parameter. 3116</para> 3117</change> 3118 3119<change type="feature"> 3120<para lang="ru"> 3121параметр configure --with-compat. 3122</para> 3123<para lang="en"> 3124the --with-compat configure option. 3125</para> 3126</change> 3127 3128<change type="feature"> 3129<para lang="ru"> 3130параметры manager_files, manager_threshold и manager_sleep 3131директив proxy_cache_path, fastcgi_cache_path, scgi_cache_path и 3132uwsgi_cache_path. 3133</para> 3134<para lang="en"> 3135"manager_files", "manager_threshold", and "manager_sleep" parameters 3136of the "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path", and 3137"uwsgi_cache_path" directives. 3138</para> 3139</change> 3140 3141<change type="bugfix"> 3142<para lang="ru"> 3143при сборке perl-модуля не использовались флаги, 3144заданные с помощью параметра configure --with-ld-opt. 3145</para> 3146<para lang="en"> 3147flags passed by the --with-ld-opt configure option 3148were not used while building perl module. 3149</para> 3150</change> 3151 3152<change type="bugfix"> 3153<para lang="ru"> 3154в директиве add_after_body при использовании совместно с директивой sub_filter. 3155</para> 3156<para lang="en"> 3157in the "add_after_body" directive when used with the "sub_filter" directive. 3158</para> 3159</change> 3160 3161<change type="bugfix"> 3162<para lang="ru"> 3163в переменной $realip_remote_addr. 3164</para> 3165<para lang="en"> 3166in the $realip_remote_addr variable. 3167</para> 3168</change> 3169 3170<change type="bugfix"> 3171<para lang="ru"> 3172директивы dav_access, proxy_store_access, fastcgi_store_access, 3173scgi_store_access и uwsgi_store_access 3174игнорировали права, заданные для пользователя. 3175</para> 3176<para lang="en"> 3177the "dav_access", "proxy_store_access", "fastcgi_store_access", 3178"scgi_store_access", and "uwsgi_store_access" directives 3179ignored permissions specified for user. 3180</para> 3181</change> 3182 3183<change type="bugfix"> 3184<para lang="ru"> 3185unix domain listen-сокеты могли не наследоваться 3186при обновлении исполняемого файла на Linux. 3187</para> 3188<para lang="en"> 3189unix domain listen sockets might not be inherited 3190during binary upgrade on Linux. 3191</para> 3192</change> 3193 3194<change type="bugfix"> 3195<para lang="ru"> 3196nginx возвращал ошибку 400 на запросы 3197с символом "-" в HTTP-методе. 3198</para> 3199<para lang="en"> 3200nginx returned the 400 response on requests 3201with the "-" character in the HTTP method. 3202</para> 3203</change> 3204 3205</changes> 3206 3207 3208<changes ver="1.11.4" date="2016-09-13"> 3209 3210<change type="feature"> 3211<para lang="ru"> 3212переменная $upstream_bytes_received. 3213</para> 3214<para lang="en"> 3215the $upstream_bytes_received variable. 3216</para> 3217</change> 3218 3219<change type="feature"> 3220<para lang="ru"> 3221переменные $bytes_received, $session_time, $protocol, $status, 3222$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, 3223$upstream_connect_time, $upstream_first_byte_time 3224и $upstream_session_time в модуле stream. 3225</para> 3226<para lang="en"> 3227the $bytes_received, $session_time, $protocol, $status, 3228$upstream_addr, $upstream_bytes_sent, $upstream_bytes_received, 3229$upstream_connect_time, $upstream_first_byte_time, 3230and $upstream_session_time variables in the stream module. 3231</para> 3232</change> 3233 3234<change type="feature"> 3235<para lang="ru"> 3236модуль ngx_stream_log_module. 3237</para> 3238<para lang="en"> 3239the ngx_stream_log_module. 3240</para> 3241</change> 3242 3243<change type="feature"> 3244<para lang="ru"> 3245параметр proxy_protocol в директиве listen, 3246переменные $proxy_protocol_addr и $proxy_protocol_port 3247в модуле stream. 3248</para> 3249<para lang="en"> 3250the "proxy_protocol" parameter of the "listen" directive, 3251the $proxy_protocol_addr and $proxy_protocol_port variables 3252in the stream module. 3253</para> 3254</change> 3255 3256<change type="feature"> 3257<para lang="ru"> 3258модуль ngx_stream_realip_module. 3259</para> 3260<para lang="en"> 3261the ngx_stream_realip_module. 3262</para> 3263</change> 3264 3265<change type="bugfix"> 3266<para lang="ru"> 3267nginx не собирался с модулем stream и модулем ngx_http_ssl_module, 3268но без модуля ngx_stream_ssl_module; 3269ошибка появилась в 1.11.3. 3270</para> 3271<para lang="en"> 3272nginx could not be built with the stream module and the ngx_http_ssl_module, 3273but without ngx_stream_ssl_module; 3274the bug had appeared in 1.11.3. 3275</para> 3276</change> 3277 3278<change type="feature"> 3279<para lang="ru"> 3280опция сокета IP_BIND_ADDRESS_NO_PORT не использовалась; 3281ошибка появилась в 1.11.2. 3282</para> 3283<para lang="en"> 3284the IP_BIND_ADDRESS_NO_PORT socket option was not used; 3285the bug had appeared in 1.11.2. 3286</para> 3287</change> 3288 3289<change type="bugfix"> 3290<para lang="ru"> 3291в параметре ranges директивы geo. 3292</para> 3293<para lang="en"> 3294in the "ranges" parameter of the "geo" directive. 3295</para> 3296</change> 3297 3298<change type="bugfix"> 3299<para lang="ru"> 3300при использовании директив "aio threads" и sendfile 3301мог возвращаться некорректный ответ; ошибка появилась в 1.9.13. 3302</para> 3303<para lang="en"> 3304an incorrect response might be returned 3305when using the "aio threads" and "sendfile" directives; 3306the bug had appeared in 1.9.13. 3307</para> 3308</change> 3309 3310</changes> 3311 3312 3313<changes ver="1.11.3" date="2016-07-26"> 3314 3315<change type="change"> 3316<para lang="ru"> 3317теперь accept_mutex по умолчанию выключен. 3318</para> 3319<para lang="en"> 3320now the "accept_mutex" directive is turned off by default. 3321</para> 3322</change> 3323 3324<change type="feature"> 3325<para lang="ru"> 3326теперь nginx использует EPOLLEXCLUSIVE на Linux. 3327</para> 3328<para lang="en"> 3329now nginx uses EPOLLEXCLUSIVE on Linux. 3330</para> 3331</change> 3332 3333<change type="feature"> 3334<para lang="ru"> 3335модуль ngx_stream_geo_module. 3336</para> 3337<para lang="en"> 3338the ngx_stream_geo_module. 3339</para> 3340</change> 3341 3342<change type="feature"> 3343<para lang="ru"> 3344модуль ngx_stream_geoip_module. 3345</para> 3346<para lang="en"> 3347the ngx_stream_geoip_module. 3348</para> 3349</change> 3350 3351<change type="feature"> 3352<para lang="ru"> 3353модуль ngx_stream_split_clients_module. 3354</para> 3355<para lang="en"> 3356the ngx_stream_split_clients_module. 3357</para> 3358</change> 3359 3360<change type="feature"> 3361<para lang="ru"> 3362директивы proxy_pass и proxy_ssl_name в модуле stream 3363поддерживают переменные. 3364</para> 3365<para lang="en"> 3366variables support 3367in the "proxy_pass" and "proxy_ssl_name" directives in the stream module. 3368</para> 3369</change> 3370 3371<change type="bugfix"> 3372<para lang="ru"> 3373утечки сокетов при использовании HTTP/2. 3374</para> 3375<para lang="en"> 3376socket leak when using HTTP/2. 3377</para> 3378</change> 3379 3380<change type="bugfix"> 3381<para lang="ru"> 3382в configure.<br/> 3383Спасибо Piotr Sikora. 3384</para> 3385<para lang="en"> 3386in configure tests.<br/> 3387Thanks to Piotr Sikora. 3388</para> 3389</change> 3390 3391</changes> 3392 3393 3394<changes ver="1.11.2" date="2016-07-05"> 3395 3396<change type="change"> 3397<para lang="ru"> 3398теперь nginx всегда использует внутренние реализации MD5 и SHA1; 3399параметры configure --with-md5 и --with-sha1 упразднены. 3400</para> 3401<para lang="en"> 3402now nginx always uses internal MD5 and SHA1 implementations; 3403the --with-md5 and --with-sha1 configure options were canceled. 3404</para> 3405</change> 3406 3407<change type="feature"> 3408<para lang="ru"> 3409поддержка переменных в модуле stream. 3410</para> 3411<para lang="en"> 3412variables support in the stream module. 3413</para> 3414</change> 3415 3416<change type="feature"> 3417<para lang="ru"> 3418модуль ngx_stream_map_module. 3419</para> 3420<para lang="en"> 3421the ngx_stream_map_module. 3422</para> 3423</change> 3424 3425<change type="feature"> 3426<para lang="ru"> 3427модуль ngx_stream_return_module. 3428</para> 3429<para lang="en"> 3430the ngx_stream_return_module. 3431</para> 3432</change> 3433 3434<change type="feature"> 3435<para lang="ru"> 3436в директивах proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 3437теперь можно указывать порт. 3438</para> 3439<para lang="en"> 3440a port can be specified in the "proxy_bind", "fastcgi_bind", 3441"memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 3442</para> 3443</change> 3444 3445<change type="feature"> 3446<para lang="ru"> 3447теперь nginx использует опцию сокета IP_BIND_ADDRESS_NO_PORT, если она доступна. 3448</para> 3449<para lang="en"> 3450now nginx uses the IP_BIND_ADDRESS_NO_PORT socket option when available. 3451</para> 3452</change> 3453 3454<change type="bugfix"> 3455<para lang="ru"> 3456при использовании HTTP/2 и директивы proxy_request_buffering 3457в рабочем процессе мог произойти segmentation fault. 3458</para> 3459<para lang="en"> 3460a segmentation fault might occur in a worker process 3461when using HTTP/2 and the "proxy_request_buffering" directive. 3462</para> 3463</change> 3464 3465<change type="bugfix"> 3466<para lang="ru"> 3467при использовании HTTP/2 3468к запросам, передаваемым на бэкенд, 3469всегда добавлялась строка заголовка "Content-Length", 3470даже если у запроса не было тела. 3471</para> 3472<para lang="en"> 3473the "Content-Length" request header line 3474was always added to requests passed to backends, 3475including requests without body, 3476when using HTTP/2. 3477</para> 3478</change> 3479 3480<change type="bugfix"> 3481<para lang="ru"> 3482при использовании HTTP/2 3483в логах могли появляться сообщения "http request count is zero". 3484</para> 3485<para lang="en"> 3486"http request count is zero" alerts might appear in logs 3487when using HTTP/2. 3488</para> 3489</change> 3490 3491<change type="bugfix"> 3492<para lang="ru"> 3493при использовании директивы sub_filter 3494могло буферизироваться больше данных, чем это необходимо; 3495проблема появилась в 1.9.4. 3496</para> 3497<para lang="en"> 3498unnecessary buffering might occur 3499when using the "sub_filter" directive; 3500the issue had appeared in 1.9.4. 3501</para> 3502</change> 3503 3504</changes> 3505 3506 3507<changes ver="1.11.1" date="2016-05-31"> 3508 3509<change type="security"> 3510<para lang="ru"> 3511при записи тела специально созданного запроса во временный файл 3512в рабочем процессе мог происходить segmentation fault 3513(CVE-2016-4450); 3514ошибка появилась в 1.3.9. 3515</para> 3516<para lang="en"> 3517a segmentation fault might occur in a worker process 3518while writing a specially crafted request body to a temporary file 3519(CVE-2016-4450); 3520the bug had appeared in 1.3.9. 3521</para> 3522</change> 3523 3524</changes> 3525 3526 3527<changes ver="1.11.0" date="2016-05-24"> 3528 3529<change type="feature"> 3530<para lang="ru"> 3531параметр transparent директив proxy_bind, fastcgi_bind, 3532memcached_bind, scgi_bind и uwsgi_bind. 3533</para> 3534<para lang="en"> 3535the "transparent" parameter of the "proxy_bind", "fastcgi_bind", 3536"memcached_bind", "scgi_bind", and "uwsgi_bind" directives. 3537</para> 3538</change> 3539 3540<change type="feature"> 3541<para lang="ru"> 3542переменная $request_id. 3543</para> 3544<para lang="en"> 3545the $request_id variable. 3546</para> 3547</change> 3548 3549<change type="feature"> 3550<para lang="ru"> 3551директива map поддерживает комбинации нескольких переменных 3552в качестве результирующих значений. 3553</para> 3554<para lang="en"> 3555the "map" directive supports combinations of multiple variables 3556as resulting values. 3557</para> 3558</change> 3559 3560<change type="feature"> 3561<para lang="ru"> 3562теперь при использовании метода epoll 3563nginx проверяет, поддерживает ли ядро события EPOLLRDHUP, 3564и соответственно оптимизирует обработку соединений. 3565</para> 3566<para lang="en"> 3567now nginx checks if EPOLLRDHUP events are supported by kernel, 3568and optimizes connection handling accordingly 3569if the "epoll" method is used. 3570</para> 3571</change> 3572 3573<change type="feature"> 3574<para lang="ru"> 3575директивы ssl_certificate и ssl_certificate_key 3576теперь можно указывать несколько раз 3577для загрузки сертификатов разных типов (например, RSA и ECDSA). 3578</para> 3579<para lang="en"> 3580the "ssl_certificate" and "ssl_certificate_key" directives 3581can be specified multiple times 3582to load certificates of different types (for example, RSA and ECDSA). 3583</para> 3584</change> 3585 3586<change type="feature"> 3587<para lang="ru"> 3588при использовании OpenSSL 1.0.2 и новее 3589с помощью директивы ssl_ecdh_curve теперь можно задать список кривых; 3590по умолчанию используется встроенный в OpenSSL список кривых. 3591</para> 3592<para lang="en"> 3593the "ssl_ecdh_curve" directive now allows specifying a list of curves 3594when using OpenSSL 1.0.2 or newer; 3595by default a list built into OpenSSL is used. 3596</para> 3597</change> 3598 3599<change type="change"> 3600<para lang="ru"> 3601для использования DHE-шифров теперь надо явно задавать файл параметров 3602с помощью директивы ssl_dhparam. 3603</para> 3604<para lang="en"> 3605to use DHE ciphers it is now required to specify parameters 3606using the "ssl_dhparam" directive. 3607</para> 3608</change> 3609 3610<change type="feature"> 3611<para lang="ru"> 3612переменная $proxy_protocol_port. 3613</para> 3614<para lang="en"> 3615the $proxy_protocol_port variable. 3616</para> 3617</change> 3618 3619<change type="feature"> 3620<para lang="ru"> 3621переменная $realip_remote_port в модуле ngx_http_realip_module. 3622</para> 3623<para lang="en"> 3624the $realip_remote_port variable in the ngx_http_realip_module. 3625</para> 3626</change> 3627 3628<change type="feature"> 3629<para lang="ru"> 3630модуль ngx_http_realip_module теперь позволяет устанавливать 3631не только адрес, но и порт клиента. 3632</para> 3633<para lang="en"> 3634the ngx_http_realip_module is now able to set the client port 3635in addition to the address. 3636</para> 3637</change> 3638 3639<change type="change"> 3640<para lang="ru"> 3641при попытке запросить виртуальный сервер, 3642отличающийся от согласованного в процессе SSL handshake, 3643теперь возвращается ответ "421 Misdirected Request"; 3644это улучшает совместимость с некоторыми HTTP/2-клиентами 3645в случае использования клиентских сертификатов. 3646</para> 3647<para lang="en"> 3648the "421 Misdirected Request" response now used 3649when rejecting requests to a virtual server 3650different from one negotiated during an SSL handshake; 3651this improves interoperability with some HTTP/2 clients 3652when using client certificates. 3653</para> 3654</change> 3655 3656<change type="change"> 3657<para lang="ru"> 3658HTTP/2-клиенты теперь могут сразу присылать тело запроса; 3659директива http2_body_preread_size позволяет указать размер буфера, который 3660будет использоваться до того, как nginx начнёт читать тело. 3661</para> 3662<para lang="en"> 3663HTTP/2 clients can now start sending request body immediately; 3664the "http2_body_preread_size" directive controls size of the buffer used 3665before nginx will start reading client request body. 3666</para> 3667</change> 3668 3669<change type="bugfix"> 3670<para lang="ru"> 3671при использовании директивы proxy_cache_bypass 3672не обновлялись закэшированные ошибочные ответы. 3673</para> 3674<para lang="en"> 3675cached error responses were not updated 3676when using the "proxy_cache_bypass" directive. 3677</para> 3678</change> 3679 3680</changes> 3681 3682 3683<changes ver="1.9.15" date="2016-04-19"> 3684 3685<change type="bugfix"> 3686<para lang="ru"> 3687при использовании HHVM в качестве FastCGI-сервера 3688могли возникать ошибки "recv() failed". 3689</para> 3690<para lang="en"> 3691"recv() failed" errors might occur 3692when using HHVM as a FastCGI server. 3693</para> 3694</change> 3695 3696<change type="bugfix"> 3697<para lang="ru"> 3698при использовании HTTP/2 и директив limit_req или auth_request 3699при чтении тела запроса мог произойти таймаут 3700или ошибка "client violated flow control"; 3701ошибка появилась в 1.9.14. 3702</para> 3703<para lang="en"> 3704when using HTTP/2 and the "limit_req" or "auth_request" directives 3705a timeout or a "client violated flow control" error 3706might occur while reading client request body; 3707the bug had appeared in 1.9.14. 3708</para> 3709</change> 3710 3711<change type="workaround"> 3712<para lang="ru"> 3713при использовании HTTP/2 ответ мог не показываться некоторыми браузерами, 3714если тело запроса было прочитано не целиком; 3715ошибка появилась в 1.9.14. 3716</para> 3717<para lang="en"> 3718a response might not be shown by some browsers 3719if HTTP/2 was used and client request body was not fully read; 3720the bug had appeared in 1.9.14. 3721</para> 3722</change> 3723 3724<change type="bugfix"> 3725<para lang="ru"> 3726при использовании директивы "aio threads" соединения могли зависать.<br/> 3727Спасибо Mindaugas Rasiukevicius. 3728</para> 3729<para lang="en"> 3730connections might hang when using the "aio threads" directive.<br/> 3731Thanks to Mindaugas Rasiukevicius. 3732</para> 3733</change> 3734 3735</changes> 3736 3737 3738<changes ver="1.9.14" date="2016-04-05"> 3739 3740<change type="feature"> 3741<para lang="ru"> 3742совместимость с OpenSSL 1.1.0. 3743</para> 3744<para lang="en"> 3745OpenSSL 1.1.0 compatibility. 3746</para> 3747</change> 3748 3749<change type="feature"> 3750<para lang="ru"> 3751директивы proxy_request_buffering, fastcgi_request_buffering, 3752scgi_request_buffering и uwsgi_request_buffering 3753теперь работают при использовании HTTP/2. 3754</para> 3755<para lang="en"> 3756the "proxy_request_buffering", "fastcgi_request_buffering", 3757"scgi_request_buffering", and "uwsgi_request_buffering" directives 3758now work with HTTP/2. 3759</para> 3760</change> 3761 3762<change type="bugfix"> 3763<para lang="ru"> 3764при использовании HTTP/2 3765в логах могли появляться сообщения "zero size buf in output". 3766</para> 3767<para lang="en"> 3768"zero size buf in output" alerts might appear in logs 3769when using HTTP/2. 3770</para> 3771</change> 3772 3773<change type="bugfix"> 3774<para lang="ru"> 3775при использовании HTTP/2 3776директива client_max_body_size могла работать неверно. 3777</para> 3778<para lang="en"> 3779the "client_max_body_size" directive might work incorrectly 3780when using HTTP/2. 3781</para> 3782</change> 3783 3784<change type="bugfix"> 3785<para lang="ru"> 3786незначительных ошибок логгирования. 3787</para> 3788<para lang="en"> 3789of minor bugs in logging. 3790</para> 3791</change> 3792 3793</changes> 3794 3795 3796<changes ver="1.9.13" date="2016-03-29"> 3797 3798<change type="change"> 3799<para lang="ru"> 3800неидемпотентные запросы (POST, LOCK, PATCH) 3801теперь по умолчанию не передаются на другой сервер, 3802если запрос уже был отправлен на бэкенд; 3803параметр non_idempotent директивы proxy_next_upstream 3804явно разрешает повторять такие запросы. 3805</para> 3806<para lang="en"> 3807non-idempotent requests (POST, LOCK, PATCH) 3808are no longer passed to the next server by default 3809if a request has been sent to a backend; 3810the "non_idempotent" parameter of the "proxy_next_upstream" directive 3811explicitly allows retrying such requests. 3812</para> 3813</change> 3814 3815<change type="feature"> 3816<para lang="ru"> 3817модуль ngx_http_perl_module теперь можно собрать динамически. 3818</para> 3819<para lang="en"> 3820the ngx_http_perl_module can be built dynamically. 3821</para> 3822</change> 3823 3824<change type="feature"> 3825<para lang="ru"> 3826поддержка UDP в модуле stream. 3827</para> 3828<para lang="en"> 3829UDP support in the stream module. 3830</para> 3831</change> 3832 3833<change type="feature"> 3834<para lang="ru"> 3835директива aio_write. 3836</para> 3837<para lang="en"> 3838the "aio_write" directive. 3839</para> 3840</change> 3841 3842<change type="feature"> 3843<para lang="ru"> 3844теперь cache manager следит за количеством элементов в кэше 3845и старается не допускать переполнений зоны разделяемой памяти. 3846</para> 3847<para lang="en"> 3848now cache manager monitors number of elements in caches 3849and tries to avoid cache keys zone overflows. 3850</para> 3851</change> 3852 3853<change type="bugfix"> 3854<para lang="ru"> 3855при использовании директив sendfile и aio с подзапросами 3856в логах могли появляться сообщения "task already active" и "second aio post". 3857</para> 3858<para lang="en"> 3859"task already active" and "second aio post" alerts might appear in logs 3860when using the "sendfile" and "aio" directives with subrequests. 3861</para> 3862</change> 3863 3864<change type="bugfix"> 3865<para lang="ru"> 3866при использовании кэширования 3867в логах могли появляться сообщения "zero size buf in output", 3868если клиент закрывал соединение преждевременно. 3869</para> 3870<para lang="en"> 3871"zero size buf in output" alerts might appear in logs 3872if caching was used 3873and a client closed a connection prematurely. 3874</para> 3875</change> 3876 3877<change type="bugfix"> 3878<para lang="ru"> 3879при использовании кэширования 3880соединения с клиентами могли закрываться без необходимости.<br/> 3881Спасибо Justin Li. 3882</para> 3883<para lang="en"> 3884connections with clients might be closed needlessly 3885if caching was used.<br/> 3886Thanks to Justin Li. 3887</para> 3888</change> 3889 3890<change type="bugfix"> 3891<para lang="ru"> 3892nginx мог нагружать процессор 3893при использовании директивы sendfile на Linux и Solaris, 3894если отправляемый файл был изменён в процессе отправки. 3895</para> 3896<para lang="en"> 3897nginx might hog CPU 3898if the "sendfile" directive was used on Linux or Solaris 3899and a file being sent was changed during sending. 3900</para> 3901</change> 3902 3903<change type="bugfix"> 3904<para lang="ru"> 3905при использовании директив sendfile и "aio threads" 3906соединения могли зависать. 3907</para> 3908<para lang="en"> 3909connections might hang 3910when using the "sendfile" and "aio threads" directives. 3911</para> 3912</change> 3913 3914<change type="bugfix"> 3915<para lang="ru"> 3916в директивах proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass 3917при использовании переменных.<br/> 3918Спасибо Piotr Sikora. 3919</para> 3920<para lang="en"> 3921in the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives 3922when using variables.<br/> 3923Thanks to Piotr Sikora. 3924</para> 3925</change> 3926 3927<change type="bugfix"> 3928<para lang="ru"> 3929в модуле ngx_http_sub_filter_module. 3930</para> 3931<para lang="en"> 3932in the ngx_http_sub_filter_module. 3933</para> 3934</change> 3935 3936<change type="bugfix"> 3937<para lang="ru"> 3938если в закэшированном соединении к бэкенду происходила ошибка, 3939запрос передавался на другой сервер 3940без учёта директивы proxy_next_upstream. 3941</para> 3942<para lang="en"> 3943if an error occurred in a cached backend connection, 3944the request was passed to the next server 3945regardless of the proxy_next_upstream directive. 3946</para> 3947</change> 3948 3949<change type="bugfix"> 3950<para lang="ru"> 3951ошибки "CreateFile() failed" при создании временных файлов на Windows. 3952</para> 3953<para lang="en"> 3954"CreateFile() failed" errors when creating temporary files on Windows. 3955</para> 3956</change> 3957 3958</changes> 3959 3960 3961<changes ver="1.9.12" date="2016-02-24"> 3962 3963<change type="feature"> 3964<para lang="ru"> 3965кодирование Хаффмана заголовков ответов в HTTP/2.<br/> 3966Спасибо Владу Краснову. 3967</para> 3968<para lang="en"> 3969Huffman encoding of response headers in HTTP/2.<br/> 3970Thanks to Vlad Krasnov. 3971</para> 3972</change> 3973 3974<change type="feature"> 3975<para lang="ru"> 3976директива worker_cpu_affinity теперь поддерживает более 64 процессоров. 3977</para> 3978<para lang="en"> 3979the "worker_cpu_affinity" directive now supports more than 64 CPUs. 3980</para> 3981</change> 3982 3983<change type="bugfix"> 3984<para lang="ru"> 3985совместимость со сторонними модулями на C++; 3986ошибка появилась в 1.9.11.<br/> 3987Спасибо Piotr Sikora. 3988</para> 3989<para lang="en"> 3990compatibility with 3rd party C++ modules; 3991the bug had appeared in 1.9.11.<br/> 3992Thanks to Piotr Sikora. 3993</para> 3994</change> 3995 3996<change type="bugfix"> 3997<para lang="ru"> 3998nginx не собирался статически с OpenSSL на Linux; 3999ошибка появилась в 1.9.11. 4000</para> 4001<para lang="en"> 4002nginx could not be built statically with OpenSSL on Linux; 4003the bug had appeared in 1.9.11. 4004</para> 4005</change> 4006 4007<change type="bugfix"> 4008<para lang="ru"> 4009директива "add_header ... always" с пустым значением 4010не удаляла из заголовков ошибочных ответов 4011строки Last-Modified и ETag. 4012</para> 4013<para lang="en"> 4014the "add_header ... always" directive with an empty value 4015did not delete "Last-Modified" and "ETag" header lines 4016from error responses. 4017</para> 4018</change> 4019 4020<change type="workaround"> 4021<para lang="ru"> 4022при использовании OpenSSL 1.0.2f в логах могли появляться 4023сообщения "called a function you should not call" и 4024"shutdown while in init". 4025</para> 4026<para lang="en"> 4027"called a function you should not call" 4028and "shutdown while in init" messages might appear in logs 4029when using OpenSSL 1.0.2f. 4030</para> 4031</change> 4032 4033<change type="bugfix"> 4034<para lang="ru"> 4035ошибочные заголовки могли логгироваться некорректно. 4036</para> 4037<para lang="en"> 4038invalid headers might be logged incorrectly. 4039</para> 4040</change> 4041 4042<change type="bugfix"> 4043<para lang="ru"> 4044утечки сокетов при использовании HTTP/2. 4045</para> 4046<para lang="en"> 4047socket leak when using HTTP/2. 4048</para> 4049</change> 4050 4051<change type="bugfix"> 4052<para lang="ru"> 4053в модуле ngx_http_v2_module. 4054</para> 4055<para lang="en"> 4056in the ngx_http_v2_module. 4057</para> 4058</change> 4059 4060</changes> 4061 4062 4063<changes ver="1.9.11" date="2016-02-09"> 4064 4065<change type="feature"> 4066<para lang="ru"> 4067теперь resolver поддерживает TCP. 4068</para> 4069<para lang="en"> 4070TCP support in resolver. 4071</para> 4072</change> 4073 4074<change type="feature"> 4075<para lang="ru"> 4076динамические модули. 4077</para> 4078<para lang="en"> 4079dynamic modules. 4080</para> 4081</change> 4082 4083<change type="bugfix"> 4084<para lang="ru"> 4085при использовании HTTP/2 4086переменная $request_length не учитывала размер заголовков запроса. 4087</para> 4088<para lang="en"> 4089the $request_length variable did not include size of request headers 4090when using HTTP/2. 4091</para> 4092</change> 4093 4094<change type="bugfix"> 4095<para lang="ru"> 4096в модуле ngx_http_v2_module. 4097</para> 4098<para lang="en"> 4099in the ngx_http_v2_module. 4100</para> 4101</change> 4102 4103</changes> 4104 4105 4106<changes ver="1.9.10" date="2016-01-26"> 4107 4108<change type="security"> 4109<para lang="ru"> 4110при использовании директивы resolver 4111во время обработки ответов DNS-сервера 4112могло происходить разыменование некорректного адреса, 4113что позволяло атакующему, 4114имеющему возможность подделывать UDP-пакеты от DNS-сервера, 4115вызвать segmentation fault в рабочем процессе (CVE-2016-0742). 4116</para> 4117<para lang="en"> 4118invalid pointer dereference might occur 4119during DNS server response processing 4120if the "resolver" directive was used, 4121allowing an attacker who is able to forge UDP packets from the DNS server 4122to cause segmentation fault in a worker process (CVE-2016-0742). 4123</para> 4124</change> 4125 4126<change type="security"> 4127<para lang="ru"> 4128при использовании директивы resolver 4129во время обработки CNAME-записей 4130могло произойти обращение к ранее освобождённой памяти, 4131что позволяло атакующему, 4132имеющему возможность инициировать преобразование произвольных имён в адреса, 4133вызвать segmentation fault в рабочем процессе, 4134а также потенциально могло иметь другие последствия (CVE-2016-0746). 4135</para> 4136<para lang="en"> 4137use-after-free condition might occur 4138during CNAME response processing 4139if the "resolver" directive was used, 4140allowing an attacker who is able to trigger name resolution 4141to cause segmentation fault in a worker process, 4142or might have potential other impact (CVE-2016-0746). 4143</para> 4144</change> 4145 4146<change type="security"> 4147<para lang="ru"> 4148при использовании директивы resolver 4149во время обработки CNAME-записей 4150не во всех случаях проверялось ограничение 4151на максимальное количество записей в цепочке, 4152что позволяло атакующему, 4153имеющему возможность инициировать преобразование произвольных имён в адреса, 4154вызвать чрезмерное потребление ресурсов рабочими процессами (CVE-2016-0747). 4155</para> 4156<para lang="en"> 4157CNAME resolution was insufficiently limited 4158if the "resolver" directive was used, 4159allowing an attacker who is able to trigger arbitrary name resolution 4160to cause excessive resource consumption in worker processes (CVE-2016-0747). 4161</para> 4162</change> 4163 4164<change type="feature"> 4165<para lang="ru"> 4166параметр auto директивы worker_cpu_affinity. 4167</para> 4168<para lang="en"> 4169the "auto" parameter of the "worker_cpu_affinity" directive. 4170</para> 4171</change> 4172 4173<change type="bugfix"> 4174<para lang="ru"> 4175параметр proxy_protocol директивы listen не работал 4176с IPv6 listen-сокетами. 4177</para> 4178<para lang="en"> 4179the "proxy_protocol" parameter of the "listen" directive did not work 4180with IPv6 listen sockets. 4181</para> 4182</change> 4183 4184<change type="bugfix"> 4185<para lang="ru"> 4186при использовании директивы keepalive 4187соединения к бэкендам могли кэшироваться некорректно. 4188</para> 4189<para lang="en"> 4190connections to upstream servers might be cached incorrectly 4191when using the "keepalive" directive. 4192</para> 4193</change> 4194 4195<change type="bugfix"> 4196<para lang="ru"> 4197после перенаправления запроса с помощью X-Accel-Redirect 4198при проксировании использовался HTTP-метод оригинального запроса. 4199</para> 4200<para lang="en"> 4201proxying used the HTTP method of the original request 4202after an "X-Accel-Redirect" redirection. 4203</para> 4204</change> 4205 4206</changes> 4207 4208 4209<changes ver="1.9.9" date="2015-12-09"> 4210 4211<change type="bugfix"> 4212<para lang="ru"> 4213проксирование в unix domain сокеты не работало при использовании переменных; 4214ошибка появилась в 1.9.8. 4215</para> 4216<para lang="en"> 4217proxying to unix domain sockets did not work when using variables; 4218the bug had appeared in 1.9.8. 4219</para> 4220</change> 4221 4222</changes> 4223 4224 4225<changes ver="1.9.8" date="2015-12-08"> 4226 4227<change type="feature"> 4228<para lang="ru"> 4229поддержка pwritev(). 4230</para> 4231<para lang="en"> 4232pwritev() support. 4233</para> 4234</change> 4235 4236<change type="feature"> 4237<para lang="ru"> 4238директива include в блоке upstream. 4239</para> 4240<para lang="en"> 4241the "include" directive inside the "upstream" block. 4242</para> 4243</change> 4244 4245<change type="feature"> 4246<para lang="ru"> 4247модуль ngx_http_slice_module. 4248</para> 4249<para lang="en"> 4250the ngx_http_slice_module. 4251</para> 4252</change> 4253 4254<change type="bugfix"> 4255<para lang="ru"> 4256при использовании LibreSSL 4257в рабочем процессе мог произойти segmentation fault; 4258ошибка появилась в 1.9.6. 4259</para> 4260<para lang="en"> 4261a segmentation fault might occur in a worker process 4262when using LibreSSL; 4263the bug had appeared in 1.9.6. 4264</para> 4265</change> 4266 4267<change type="bugfix"> 4268<para lang="ru"> 4269nginx мог не собираться на OS X. 4270</para> 4271<para lang="en"> 4272nginx could not be built on OS X in some cases. 4273</para> 4274</change> 4275 4276</changes> 4277 4278 4279<changes ver="1.9.7" date="2015-11-17"> 4280 4281<change type="feature"> 4282<para lang="ru"> 4283параметр nohostname логгирования в syslog. 4284</para> 4285<para lang="en"> 4286the "nohostname" parameter of logging to syslog. 4287</para> 4288</change> 4289 4290<change type="feature"> 4291<para lang="ru"> 4292директива proxy_cache_convert_head. 4293</para> 4294<para lang="en"> 4295the "proxy_cache_convert_head" directive. 4296</para> 4297</change> 4298 4299<change type="feature"> 4300<para lang="ru"> 4301переменная $realip_remote_addr в модуле ngx_http_realip_module. 4302</para> 4303<para lang="en"> 4304the $realip_remote_addr variable in the ngx_http_realip_module. 4305</para> 4306</change> 4307 4308<change type="bugfix"> 4309<para lang="ru"> 4310директива expires могла не срабатывать при использовании переменных. 4311</para> 4312<para lang="en"> 4313the "expires" directive might not work when using variables. 4314</para> 4315</change> 4316 4317<change type="bugfix"> 4318<para lang="ru"> 4319при использовании HTTP/2 4320в рабочем процессе мог произойти segmentation fault; 4321ошибка появилась в 1.9.6. 4322</para> 4323<para lang="en"> 4324a segmentation fault might occur in a worker process 4325when using HTTP/2; 4326the bug had appeared in 1.9.6. 4327</para> 4328</change> 4329 4330<change type="bugfix"> 4331<para lang="ru"> 4332если nginx был собран с модулем ngx_http_v2_module, 4333протокол HTTP/2 мог быть использован клиентом, 4334даже если не был указан параметр http2 директивы listen. 4335</para> 4336<para lang="en"> 4337if nginx was built with the ngx_http_v2_module 4338it was possible to use the HTTP/2 protocol 4339even if the "http2" parameter of the "listen" directive was not specified. 4340</para> 4341</change> 4342 4343<change type="bugfix"> 4344<para lang="ru"> 4345в модуле ngx_http_v2_module. 4346</para> 4347<para lang="en"> 4348in the ngx_http_v2_module. 4349</para> 4350</change> 4351 4352</changes> 4353 4354 4355<changes ver="1.9.6" date="2015-10-27"> 4356 4357<change type="bugfix"> 4358<para lang="ru"> 4359при использовании HTTP/2 4360в рабочем процессе мог произойти segmentation fault.<br/> 4361Спасибо Piotr Sikora и Denis Andzakovic. 4362</para> 4363<para lang="en"> 4364a segmentation fault might occur in a worker process 4365when using HTTP/2.<br/> 4366Thanks to Piotr Sikora and Denis Andzakovic. 4367</para> 4368</change> 4369 4370<change type="bugfix"> 4371<para lang="ru"> 4372при использовании HTTP/2 переменная $server_protocol была пустой. 4373</para> 4374<para lang="en"> 4375the $server_protocol variable was empty when using HTTP/2. 4376</para> 4377</change> 4378 4379<change type="bugfix"> 4380<para lang="ru"> 4381SSL-соединения к бэкендам в модуле stream 4382могли неожиданно завершаться по таймауту. 4383</para> 4384<para lang="en"> 4385backend SSL connections in the stream module 4386might be timed out unexpectedly. 4387</para> 4388</change> 4389 4390<change type="bugfix"> 4391<para lang="ru"> 4392при использовании различных настроек ssl_session_cache 4393в разных виртуальных серверах 4394в рабочем процессе мог произойти segmentation fault. 4395</para> 4396<para lang="en"> 4397a segmentation fault might occur in a worker process 4398if different ssl_session_cache settings were used 4399in different virtual servers. 4400</para> 4401</change> 4402 4403<change type="bugfix"> 4404<para lang="ru"> 4405nginx/Windows не собирался с MinGW gcc; 4406ошибка появилась в 1.9.4.<br/> 4407Спасибо Kouhei Sutou. 4408</para> 4409<para lang="en"> 4410nginx/Windows could not be built with MinGW gcc; 4411the bug had appeared in 1.9.4.<br/> 4412Thanks to Kouhei Sutou. 4413</para> 4414</change> 4415 4416<change type="bugfix"> 4417<para lang="ru"> 4418при использовании директивы timer_resolution на Windows время не обновлялось. 4419</para> 4420<para lang="en"> 4421time was not updated when the timer_resolution directive was used on Windows. 4422</para> 4423</change> 4424 4425<change> 4426<para lang="ru"> 4427Незначительные исправления и улучшения.<br/> 4428Спасибо Markus Linnala, Kurtis Nusbaum и Piotr Sikora. 4429</para> 4430<para lang="en"> 4431Miscellaneous minor fixes and improvements.<br/> 4432Thanks to Markus Linnala, Kurtis Nusbaum and Piotr Sikora. 4433</para> 4434</change> 4435 4436</changes> 4437 4438 4439<changes ver="1.9.5" date="2015-09-22"> 4440 4441<change type="feature"> 4442<para lang="ru"> 4443модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module).<br/> 4444Спасибо Dropbox и Automattic за спонсирование разработки. 4445</para> 4446<para lang="en"> 4447the ngx_http_v2_module (replaces ngx_http_spdy_module).<br/> 4448Thanks to Dropbox and Automattic for sponsoring this work. 4449</para> 4450</change> 4451 4452<change type="change"> 4453<para lang="ru"> 4454теперь по умолчанию директива output_buffers использует два буфера. 4455</para> 4456<para lang="en"> 4457now the "output_buffers" directive uses two buffers by default. 4458</para> 4459</change> 4460 4461<change type="change"> 4462<para lang="ru"> 4463теперь nginx ограничивает максимальную вложенность подзапросов, 4464а не количество одновременных подзапросов. 4465</para> 4466<para lang="en"> 4467now nginx limits subrequests recursion, 4468not simultaneous subrequests. 4469</para> 4470</change> 4471 4472<change type="change"> 4473<para lang="ru"> 4474теперь при возврате ответов из кэша nginx проверяет ключ полностью.<br/> 4475Спасибо Геннадию Махомеду и Сергею Брестеру. 4476</para> 4477<para lang="en"> 4478now nginx checks the whole cache key when returning a response from cache.<br/> 4479Thanks to Gena Makhomed and Sergey Brester. 4480</para> 4481</change> 4482 4483<change type="bugfix"> 4484<para lang="ru"> 4485при использовании кэша 4486в логах могли появляться сообщения "header already sent"; 4487ошибка появилась в 1.7.5. 4488</para> 4489<para lang="en"> 4490"header already sent" alerts might appear in logs 4491when using cache; 4492the bug had appeared in 1.7.5. 4493</para> 4494</change> 4495 4496<change type="bugfix"> 4497<para lang="ru"> 4498при использовании CephFS и директивы timer_resolution на Linux 4499в логах могли появляться сообщения 4500"writev() failed (4: Interrupted system call)". 4501</para> 4502<para lang="en"> 4503"writev() failed (4: Interrupted system call)" 4504errors might appear in logs 4505when using CephFS and the "timer_resolution" directive on Linux. 4506</para> 4507</change> 4508 4509<change type="bugfix"> 4510<para lang="ru"> 4511в обработке ошибок конфигурации.<br/> 4512Спасибо Markus Linnala. 4513</para> 4514<para lang="en"> 4515in invalid configurations handling.<br/> 4516Thanks to Markus Linnala. 4517</para> 4518</change> 4519 4520<change type="bugfix"> 4521<para lang="ru"> 4522при использовании директивы sub_filter на уровне http 4523в рабочем процессе происходил segmentation fault; 4524ошибка появилась в 1.9.4. 4525</para> 4526<para lang="en"> 4527a segmentation fault occurred in a worker process 4528if the "sub_filter" directive was used at http level; 4529the bug had appeared in 1.9.4. 4530</para> 4531</change> 4532 4533</changes> 4534 4535 4536<changes ver="1.9.4" date="2015-08-18"> 4537 4538<change type="change"> 4539<para lang="ru"> 4540директивы proxy_downstream_buffer и proxy_upstream_buffer в модуле stream 4541заменены директивой proxy_buffer_size. 4542</para> 4543<para lang="en"> 4544the "proxy_downstream_buffer" and "proxy_upstream_buffer" directives 4545of the stream module are replaced with the "proxy_buffer_size" directive. 4546</para> 4547</change> 4548 4549<change type="feature"> 4550<para lang="ru"> 4551директива tcp_nodelay в модуле stream. 4552</para> 4553<para lang="en"> 4554the "tcp_nodelay" directive in the stream module. 4555</para> 4556</change> 4557 4558<change type="feature"> 4559<para lang="ru"> 4560теперь можно указать несколько директив sub_filter одновременно. 4561</para> 4562<para lang="en"> 4563multiple "sub_filter" directives can be used simultaneously. 4564</para> 4565</change> 4566 4567<change type="feature"> 4568<para lang="ru"> 4569директива sub_filter поддерживает переменные в строке поиска. 4570</para> 4571<para lang="en"> 4572variables support in the search string of the "sub_filter" directive. 4573</para> 4574</change> 4575 4576<change type="workaround"> 4577<para lang="ru"> 4578тестирование конфигурации могло не работать под Linux OpenVZ.<br/> 4579Спасибо Геннадию Махомеду. 4580</para> 4581<para lang="en"> 4582configuration testing might fail under Linux OpenVZ.<br/> 4583Thanks to Gena Makhomed. 4584</para> 4585</change> 4586 4587<change type="bugfix"> 4588<para lang="ru"> 4589после переконфигурации старые рабочие процессы могли сильно нагружать процессор 4590при больших значениях worker_connections. 4591</para> 4592<para lang="en"> 4593old worker processes might hog CPU after reconfiguration 4594with a large number of worker_connections. 4595</para> 4596</change> 4597 4598<change type="bugfix"> 4599<para lang="ru"> 4600при совместном использовании директив try_files и alias 4601внутри location'а, заданного регулярным выражением, 4602в рабочем процессе мог произойти segmentation fault; 4603ошибка появилась в 1.7.1. 4604</para> 4605<para lang="en"> 4606a segmentation fault might occur in a worker process 4607if the "try_files" and "alias" directives were used 4608inside a location given by a regular expression; 4609the bug had appeared in 1.7.1. 4610</para> 4611</change> 4612 4613<change type="bugfix"> 4614<para lang="ru"> 4615директива try_files внутри вложенного location'а, заданного регулярным 4616выражением, работала неправильно, если во внешнем location'е использовалась 4617директива alias. 4618</para> 4619<para lang="en"> 4620the "try_files" directive inside a nested location 4621given by a regular expression worked incorrectly 4622if the "alias" directive was used in the outer location. 4623</para> 4624</change> 4625 4626<change type="bugfix"> 4627<para lang="ru"> 4628в обработке ошибок при построении хэш-таблиц. 4629</para> 4630<para lang="en"> 4631in hash table initialization error handling. 4632</para> 4633</change> 4634 4635<change type="bugfix"> 4636<para lang="ru"> 4637nginx не собирался с Visual Studio 2015. 4638</para> 4639<para lang="en"> 4640nginx could not be built with Visual Studio 2015. 4641</para> 4642</change> 4643 4644</changes> 4645 4646 4647<changes ver="1.9.3" date="2015-07-14"> 4648 4649<change type="change"> 4650<para lang="ru"> 4651дублирующиеся блоки http, mail и stream теперь запрещены. 4652</para> 4653<para lang="en"> 4654duplicate "http", "mail", and "stream" blocks are now disallowed. 4655</para> 4656</change> 4657 4658<change type="feature"> 4659<para lang="ru"> 4660ограничение количества соединений в модуле stream. 4661</para> 4662<para lang="en"> 4663connection limiting in the stream module. 4664</para> 4665</change> 4666 4667<change type="feature"> 4668<para lang="ru"> 4669ограничение скорости в модуле stream. 4670</para> 4671<para lang="en"> 4672data rate limiting in the stream module. 4673</para> 4674</change> 4675 4676<change type="bugfix"> 4677<para lang="ru"> 4678директива zone в блоке upstream не работала на Windows. 4679</para> 4680<para lang="en"> 4681the "zone" directive inside the "upstream" block did not work on Windows. 4682</para> 4683</change> 4684 4685<change type="bugfix"> 4686<para lang="ru"> 4687совместимость с LibreSSL в модуле stream.<br/> 4688Спасибо Piotr Sikora. 4689</para> 4690<para lang="en"> 4691compatibility with LibreSSL in the stream module.<br/> 4692Thanks to Piotr Sikora. 4693</para> 4694</change> 4695 4696<change type="bugfix"> 4697<para lang="ru"> 4698в параметре --builddir в configure.<br/> 4699Спасибо Piotr Sikora. 4700</para> 4701<para lang="en"> 4702in the "--builddir" configure parameter.<br/> 4703Thanks to Piotr Sikora. 4704</para> 4705</change> 4706 4707<change type="bugfix"> 4708<para lang="ru"> 4709директива ssl_stapling_file не работала; 4710ошибка появилась в 1.9.2.<br/> 4711Спасибо Faidon Liambotis и Brandon Black. 4712</para> 4713<para lang="en"> 4714the "ssl_stapling_file" directive did not work; 4715the bug had appeared in 1.9.2.<br/> 4716Thanks to Faidon Liambotis and Brandon Black. 4717</para> 4718</change> 4719 4720<change type="bugfix"> 4721<para lang="ru"> 4722при использовании директивы ssl_stapling 4723в рабочем процессе мог произойти segmentation fault; 4724ошибка появилась в 1.9.2.<br/> 4725Спасибо Matthew Baldwin. 4726</para> 4727<para lang="en"> 4728a segmentation fault might occur in a worker process 4729if the "ssl_stapling" directive was used; 4730the bug had appeared in 1.9.2.<br/> 4731Thanks to Matthew Baldwin. 4732</para> 4733</change> 4734 4735</changes> 4736 4737 4738<changes ver="1.9.2" date="2015-06-16"> 4739 4740<change type="feature"> 4741<para lang="ru"> 4742параметр backlog директивы listen 4743в почтовом прокси-сервере и модуле stream. 4744</para> 4745<para lang="en"> 4746the "backlog" parameter of the "listen" directives 4747of the mail proxy and stream modules. 4748</para> 4749</change> 4750 4751<change type="feature"> 4752<para lang="ru"> 4753директивы allow и deny в модуле stream. 4754</para> 4755<para lang="en"> 4756the "allow" and "deny" directives in the stream module. 4757</para> 4758</change> 4759 4760<change type="feature"> 4761<para lang="ru"> 4762директива proxy_bind в модуле stream. 4763</para> 4764<para lang="en"> 4765the "proxy_bind" directive in the stream module. 4766</para> 4767</change> 4768 4769<change type="feature"> 4770<para lang="ru"> 4771директива proxy_protocol в модуле stream. 4772</para> 4773<para lang="en"> 4774the "proxy_protocol" directive in the stream module. 4775</para> 4776</change> 4777 4778<change type="feature"> 4779<para lang="ru"> 4780ключ -T. 4781</para> 4782<para lang="en"> 4783the -T switch. 4784</para> 4785</change> 4786 4787<change type="feature"> 4788<para lang="ru"> 4789параметр REQUEST_SCHEME добавлен в стандартные конфигурационные файлы 4790fastcgi.conf, fastcgi_params, scgi_params и uwsgi_params. 4791</para> 4792<para lang="en"> 4793the REQUEST_SCHEME parameter added to the fastcgi.conf, fastcgi_params, 4794scgi_params, and uwsgi_params standard configuration files. 4795</para> 4796</change> 4797 4798<change type="bugfix"> 4799<para lang="ru"> 4800параметр reuseport директивы listen в модуле stream 4801не работал. 4802</para> 4803<para lang="en"> 4804the "reuseport" parameter of the "listen" directive of the stream module 4805did not work. 4806</para> 4807</change> 4808 4809<change type="bugfix"> 4810<para lang="ru"> 4811OCSP stapling в некоторых случаях мог вернуть устаревший OCSP-ответ. 4812</para> 4813<para lang="en"> 4814OCSP stapling might return an expired OCSP response in some cases. 4815</para> 4816</change> 4817 4818</changes> 4819 4820 4821<changes ver="1.9.1" date="2015-05-26"> 4822 4823<change type="change"> 4824<para lang="ru"> 4825теперь протокол SSLv3 по умолчанию запрещён. 4826</para> 4827<para lang="en"> 4828now SSLv3 protocol is disabled by default. 4829</para> 4830</change> 4831 4832<change type="change"> 4833<para lang="ru"> 4834некоторые давно устаревшие директивы больше не поддерживаются. 4835</para> 4836<para lang="en"> 4837some long deprecated directives are not supported anymore. 4838</para> 4839</change> 4840 4841<change type="feature"> 4842<para lang="ru"> 4843параметр reuseport директивы listen.<br/> 4844Спасибо Yingqi Lu из Intel и Sepherosa Ziehau. 4845</para> 4846<para lang="en"> 4847the "reuseport" parameter of the "listen" directive.<br/> 4848Thanks to Yingqi Lu at Intel and Sepherosa Ziehau. 4849</para> 4850</change> 4851 4852<change type="feature"> 4853<para lang="ru"> 4854переменная $upstream_connect_time. 4855</para> 4856<para lang="en"> 4857the $upstream_connect_time variable. 4858</para> 4859</change> 4860 4861<change type="bugfix"> 4862<para lang="ru"> 4863в директиве hash на big-endian платформах. 4864</para> 4865<para lang="en"> 4866in the "hash" directive on big-endian platforms. 4867</para> 4868</change> 4869 4870<change type="bugfix"> 4871<para lang="ru"> 4872nginx мог не запускаться на некоторых старых версиях Linux; 4873ошибка появилась в 1.7.11. 4874</para> 4875<para lang="en"> 4876nginx might fail to start on some old Linux variants; 4877the bug had appeared in 1.7.11. 4878</para> 4879</change> 4880 4881<change type="bugfix"> 4882<para lang="ru"> 4883в парсинге IP-адресов.<br/> 4884Спасибо Сергею Половко. 4885</para> 4886<para lang="en"> 4887in IP address parsing.<br/> 4888Thanks to Sergey Polovko. 4889</para> 4890</change> 4891 4892</changes> 4893 4894 4895<changes ver="1.9.0" date="2015-04-28"> 4896 4897<change type="change"> 4898<para lang="ru"> 4899устаревшие методы обработки соединений aio и rtsig больше не поддерживаются. 4900</para> 4901<para lang="en"> 4902obsolete aio and rtsig event methods have been removed. 4903</para> 4904</change> 4905 4906<change type="feature"> 4907<para lang="ru"> 4908директива zone в блоке upstream. 4909</para> 4910<para lang="en"> 4911the "zone" directive inside the "upstream" block. 4912</para> 4913</change> 4914 4915<change type="feature"> 4916<para lang="ru"> 4917модуль stream. 4918</para> 4919<para lang="en"> 4920the stream module. 4921</para> 4922</change> 4923 4924<change type="feature"> 4925<para lang="ru"> 4926поддержка byte ranges для ответов модуля ngx_http_memcached_module.<br/> 4927Спасибо Martin Mlynář. 4928</para> 4929<para lang="en"> 4930byte ranges support in the ngx_http_memcached_module.<br/> 4931Thanks to Martin Mlynář. 4932</para> 4933</change> 4934 4935<change type="feature"> 4936<para lang="ru"> 4937разделяемую память теперь можно использовать на версиях Windows 4938с рандомизацией адресного пространства.<br/> 4939Спасибо Сергею Брестеру. 4940</para> 4941<para lang="en"> 4942shared memory can now be used on Windows versions 4943with address space layout randomization.<br/> 4944Thanks to Sergey Brester. 4945</para> 4946</change> 4947 4948<change type="feature"> 4949<para lang="ru"> 4950директиву error_log теперь можно использовать 4951на уровнях mail и server в почтовом прокси-сервере. 4952</para> 4953<para lang="en"> 4954the "error_log" directive can now be used 4955on mail and server levels in mail proxy. 4956</para> 4957</change> 4958 4959<change type="bugfix"> 4960<para lang="ru"> 4961параметр proxy_protocol директивы listen не работал, 4962если не был указан в первой директиве listen для данного listen-сокета. 4963</para> 4964<para lang="en"> 4965the "proxy_protocol" parameter of the "listen" directive did not work 4966if not specified in the first "listen" directive for a listen socket. 4967</para> 4968</change> 4969 4970</changes> 4971 4972 4973<changes ver="1.7.12" date="2015-04-07"> 4974 4975<change type="feature"> 4976<para lang="ru"> 4977теперь директива tcp_nodelay работает для SSL-соединений с бэкендами. 4978</para> 4979<para lang="en"> 4980now the "tcp_nodelay" directive works with backend SSL connections. 4981</para> 4982</change> 4983 4984<change type="feature"> 4985<para lang="ru"> 4986теперь потоки могут использоваться для чтения заголовков файлов в кэше. 4987</para> 4988<para lang="en"> 4989now thread pools can be used to read cache file headers. 4990</para> 4991</change> 4992 4993<change type="bugfix"> 4994<para lang="ru"> 4995в директиве proxy_request_buffering. 4996</para> 4997<para lang="en"> 4998in the "proxy_request_buffering" directive. 4999</para> 5000</change> 5001 5002<change type="bugfix"> 5003<para lang="ru"> 5004при использовании потоков на Linux 5005в рабочем процессе мог произойти segmentation fault. 5006</para> 5007<para lang="en"> 5008a segmentation fault might occur in a worker process 5009when using thread pools on Linux. 5010</para> 5011</change> 5012 5013<change type="bugfix"> 5014<para lang="ru"> 5015в обработке ошибок при использовании директивы ssl_stapling.<br/> 5016Спасибо Filipe da Silva. 5017</para> 5018<para lang="en"> 5019in error handling when using the "ssl_stapling" directive.<br/> 5020Thanks to Filipe da Silva. 5021</para> 5022</change> 5023 5024<change type="bugfix"> 5025<para lang="ru"> 5026в модуле ngx_http_spdy_module. 5027</para> 5028<para lang="en"> 5029in the ngx_http_spdy_module. 5030</para> 5031</change> 5032 5033</changes> 5034 5035 5036<changes ver="1.7.11" date="2015-03-24"> 5037 5038<change type="change"> 5039<para lang="ru"> 5040параметр sendfile директивы aio более не нужен; 5041теперь nginx автоматически использует AIO для подгрузки данных для sendfile, 5042если одновременно используются директивы aio и sendfile. 5043</para> 5044<para lang="en"> 5045the "sendfile" parameter of the "aio" directive is deprecated; 5046now nginx automatically uses AIO to pre-load data for sendfile 5047if both "aio" and "sendfile" directives are used. 5048</para> 5049</change> 5050 5051<change type="feature"> 5052<para lang="ru"> 5053экспериментальная поддержка потоков. 5054</para> 5055<para lang="en"> 5056experimental thread pools support. 5057</para> 5058</change> 5059 5060<change type="feature"> 5061<para lang="ru"> 5062директивы proxy_request_buffering, fastcgi_request_buffering, 5063scgi_request_buffering и uwsgi_request_buffering. 5064</para> 5065<para lang="en"> 5066the "proxy_request_buffering", "fastcgi_request_buffering", 5067"scgi_request_buffering", and "uwsgi_request_buffering" directives. 5068</para> 5069</change> 5070 5071<change type="feature"> 5072<para lang="ru"> 5073экспериментальное API для обработки тела запроса. 5074</para> 5075<para lang="en"> 5076request body filters experimental API. 5077</para> 5078</change> 5079 5080<change type="feature"> 5081<para lang="ru"> 5082проверка клиентских SSL-сертификатов в почтовом прокси-сервере.<br/> 5083Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva. 5084</para> 5085<para lang="en"> 5086client SSL certificates support in mail proxy.<br/> 5087Thanks to Sven Peter, Franck Levionnois, and Filipe Da Silva. 5088</para> 5089</change> 5090 5091<change type="feature"> 5092<para lang="ru"> 5093уменьшение времени запуска 5094при использовании директивы "hash ... consistent" в блоке upstream.<br/> 5095Спасибо Wai Keen Woon. 5096</para> 5097<para lang="en"> 5098startup speedup 5099when using the "hash ... consistent" directive in the upstream block.<br/> 5100Thanks to Wai Keen Woon. 5101</para> 5102</change> 5103 5104<change type="feature"> 5105<para lang="ru"> 5106отладочное логгирование в кольцевой буфер в памяти. 5107</para> 5108<para lang="en"> 5109debug logging into a cyclic memory buffer. 5110</para> 5111</change> 5112 5113<change type="bugfix"> 5114<para lang="ru"> 5115в обработке хэш-таблиц.<br/> 5116Спасибо Chris West. 5117</para> 5118<para lang="en"> 5119in hash table handling.<br/> 5120Thanks to Chris West. 5121</para> 5122</change> 5123 5124<change type="bugfix"> 5125<para lang="ru"> 5126в директиве proxy_cache_revalidate. 5127</para> 5128<para lang="en"> 5129in the "proxy_cache_revalidate" directive. 5130</para> 5131</change> 5132 5133<change type="bugfix"> 5134<para lang="ru"> 5135SSL-соединения могли зависать, если использовался отложенный accept 5136или параметр proxy_protocol директивы listen.<br/> 5137Спасибо James Hamlin. 5138</para> 5139<para lang="en"> 5140SSL connections might hang if deferred accept 5141or the "proxy_protocol" parameter of the "listen" directive were used.<br/> 5142Thanks to James Hamlin. 5143</para> 5144</change> 5145 5146<change type="bugfix"> 5147<para lang="ru"> 5148переменная $upstream_response_time могла содержать неверное значение 5149при использовании директивы image_filter. 5150</para> 5151<para lang="en"> 5152the $upstream_response_time variable might contain a wrong value 5153if the "image_filter" directive was used. 5154</para> 5155</change> 5156 5157<change type="bugfix"> 5158<para lang="ru"> 5159в обработке целочисленных переполнений.<br/> 5160Спасибо Régis Leroy. 5161</para> 5162<para lang="en"> 5163in integer overflow handling.<br/> 5164Thanks to Régis Leroy. 5165</para> 5166</change> 5167 5168<change type="bugfix"> 5169<para lang="ru"> 5170при использовании LibreSSL было невозможно включить поддержку SSLv3. 5171</para> 5172<para lang="en"> 5173it was not possible to enable SSLv3 with LibreSSL. 5174</para> 5175</change> 5176 5177<change type="bugfix"> 5178<para lang="ru"> 5179при использовании LibreSSL в логах появлялись сообщения 5180"ignoring stale global SSL error ... called a function you should not call". 5181</para> 5182<para lang="en"> 5183the "ignoring stale global SSL error ... called a function you should not call" 5184alerts appeared in logs when using LibreSSL. 5185</para> 5186</change> 5187 5188<change type="bugfix"> 5189<para lang="ru"> 5190сертификаты, указанные в директивах ssl_client_certificate и 5191ssl_trusted_certificate, использовались 5192для автоматического построения цепочек сертификатов. 5193</para> 5194<para lang="en"> 5195certificates specified by the "ssl_client_certificate" and 5196"ssl_trusted_certificate" directives were inadvertently used 5197to automatically construct certificate chains. 5198</para> 5199</change> 5200 5201</changes> 5202 5203 5204<changes ver="1.7.10" date="2015-02-10"> 5205 5206<change type="feature"> 5207<para lang="ru"> 5208параметр use_temp_path директив proxy_cache_path, fastcgi_cache_path, 5209scgi_cache_path и uwsgi_cache_path. 5210</para> 5211<para lang="en"> 5212the "use_temp_path" parameter of the "proxy_cache_path", "fastcgi_cache_path", 5213"scgi_cache_path", and "uwsgi_cache_path" directives. 5214</para> 5215</change> 5216 5217<change type="feature"> 5218<para lang="ru"> 5219переменная $upstream_header_time. 5220</para> 5221<para lang="en"> 5222the $upstream_header_time variable. 5223</para> 5224</change> 5225 5226<change type="workaround"> 5227<para lang="ru"> 5228теперь при переполнении диска nginx пытается писать error_log'и только 5229раз в секунду. 5230</para> 5231<para lang="en"> 5232now on disk overflow nginx tries to write error logs once a second only. 5233</para> 5234</change> 5235 5236<change type="bugfix"> 5237<para lang="ru"> 5238директива try_files при тестировании каталогов 5239не игнорировала обычные файлы.<br/> 5240Спасибо Damien Tournoud. 5241</para> 5242<para lang="en"> 5243the "try_files" directive did not ignore normal files 5244while testing directories.<br/> 5245Thanks to Damien Tournoud. 5246</para> 5247</change> 5248 5249<change type="bugfix"> 5250<para lang="ru"> 5251при использовании директивы sendfile на OS X 5252возникали ошибки "sendfile() failed"; 5253ошибка появилась в nginx 1.7.8. 5254</para> 5255<para lang="en"> 5256alerts "sendfile() failed" 5257if the "sendfile" directive was used on OS X; 5258the bug had appeared in 1.7.8. 5259</para> 5260</change> 5261 5262<change type="bugfix"> 5263<para lang="ru"> 5264в лог могли писаться сообщения "sem_post() failed". 5265</para> 5266<para lang="en"> 5267alerts "sem_post() failed" might appear in logs. 5268</para> 5269</change> 5270 5271<change type="bugfix"> 5272<para lang="ru"> 5273nginx не собирался с musl libc.<br/> 5274Спасибо James Taylor. 5275</para> 5276<para lang="en"> 5277nginx could not be built with musl libc.<br/> 5278Thanks to James Taylor. 5279</para> 5280</change> 5281 5282<change type="bugfix"> 5283<para lang="ru"> 5284nginx не собирался на Tru64 UNIX.<br/> 5285Спасибо Goetz T. Fischer. 5286</para> 5287<para lang="en"> 5288nginx could not be built on Tru64 UNIX.<br/> 5289Thanks to Goetz T. Fischer. 5290</para> 5291</change> 5292 5293</changes> 5294 5295 5296<changes ver="1.7.9" date="2014-12-23"> 5297 5298<change type="feature"> 5299<para lang="ru"> 5300директивы proxy_cache, fastcgi_cache, scgi_cache и uwsgi_cache 5301поддерживают переменные. 5302</para> 5303<para lang="en"> 5304variables support in the "proxy_cache", "fastcgi_cache", "scgi_cache", 5305and "uwsgi_cache" directives. 5306</para> 5307</change> 5308 5309<change type="feature"> 5310<para lang="ru"> 5311директива expires поддерживает переменные. 5312</para> 5313<para lang="en"> 5314variables support in the "expires" directive. 5315</para> 5316</change> 5317 5318<change type="feature"> 5319<para lang="ru"> 5320возможность загрузки секретных ключей с аппаратных устройств 5321с помощью OpenSSL engines.<br/> 5322Спасибо Дмитрию Пичулину. 5323</para> 5324<para lang="en"> 5325loading of secret keys from hardware tokens 5326with OpenSSL engines.<br/> 5327Thanks to Dmitrii Pichulin. 5328</para> 5329</change> 5330 5331<change type="feature"> 5332<para lang="ru"> 5333директива autoindex_format. 5334</para> 5335<para lang="en"> 5336the "autoindex_format" directive. 5337</para> 5338</change> 5339 5340<change type="bugfix"> 5341<para lang="ru"> 5342ревалидация элементов кэша теперь используется только для ответов 5343с кодами 200 и 206.<br/> 5344Спасибо Piotr Sikora. 5345</para> 5346<para lang="en"> 5347cache revalidation is now only used for responses 5348with 200 and 206 status codes.<br/> 5349Thanks to Piotr Sikora. 5350</para> 5351</change> 5352 5353<change type="bugfix"> 5354<para lang="ru"> 5355строка "TE" заголовка запроса клиента передавалась на бэкенд при проксировании. 5356</para> 5357<para lang="en"> 5358the "TE" client request header line was passed to backends while proxying. 5359</para> 5360</change> 5361 5362<change type="bugfix"> 5363<para lang="ru"> 5364директивы proxy_pass, fastcgi_pass, scgi_pass и uwsgi_pass 5365могли неправильно работать внутри блоков if и limit_except. 5366</para> 5367<para lang="en"> 5368the "proxy_pass", "fastcgi_pass", "scgi_pass", and "uwsgi_pass" directives 5369might not work correctly inside the "if" and "limit_except" blocks. 5370</para> 5371</change> 5372 5373<change type="bugfix"> 5374<para lang="ru"> 5375директива proxy_store с параметром "on" игнорировалась, 5376если на предыдущем уровне использовалась директива proxy_store 5377с явно заданным путём к файлам. 5378</para> 5379<para lang="en"> 5380the "proxy_store" directive with the "on" parameter was ignored 5381if the "proxy_store" directive with an explicitly specified file path 5382was used on a previous level. 5383</para> 5384</change> 5385 5386<change type="bugfix"> 5387<para lang="ru"> 5388nginx не собирался с BoringSSL.<br/> 5389Спасибо Lukas Tribus. 5390</para> 5391<para lang="en"> 5392nginx could not be built with BoringSSL.<br/> 5393Thanks to Lukas Tribus. 5394</para> 5395</change> 5396 5397</changes> 5398 5399 5400<changes ver="1.7.8" date="2014-12-02"> 5401 5402<change type="change"> 5403<para lang="ru"> 5404теперь строки "If-Modified-Since", "If-Range" и им подобные 5405в заголовке запроса клиента передаются бэкенду при включённом кэшировании, 5406если nginx заранее знает, что не будет кэшировать ответ 5407(например, при использовании proxy_cache_min_uses). 5408</para> 5409<para lang="en"> 5410now the "If-Modified-Since", "If-Range", etc. 5411client request header lines are passed to a backend while caching 5412if nginx knows in advance that the response will not be cached 5413(e.g., when using proxy_cache_min_uses). 5414</para> 5415</change> 5416 5417<change type="change"> 5418<para lang="ru"> 5419теперь после истечения proxy_cache_lock_timeout 5420nginx отправляет запрос на бэкенд без кэширования; 5421новые директивы proxy_cache_lock_age, fastcgi_cache_lock_age, 5422scgi_cache_lock_age и uwsgi_cache_lock_age позволяют указать, 5423через какое время блокировка будет принудительно снята 5424и будет сделана ещё одна попытка закэшировать ответ. 5425</para> 5426<para lang="en"> 5427now after proxy_cache_lock_timeout 5428nginx sends a request to a backend with caching disabled; 5429the new directives "proxy_cache_lock_age", "fastcgi_cache_lock_age", 5430"scgi_cache_lock_age", and "uwsgi_cache_lock_age" specify a time 5431after which the lock will be released 5432and another attempt to cache a response will be made. 5433</para> 5434</change> 5435 5436<change type="change"> 5437<para lang="ru"> 5438директива log_format теперь может использоваться только на уровне http. 5439</para> 5440<para lang="en"> 5441the "log_format" directive can now be used only at http level. 5442</para> 5443</change> 5444 5445<change type="feature"> 5446<para lang="ru"> 5447директивы proxy_ssl_certificate, proxy_ssl_certificate_key, 5448proxy_ssl_password_file, uwsgi_ssl_certificate, 5449uwsgi_ssl_certificate_key и uwsgi_ssl_password_file.<br/> 5450Спасибо Piotr Sikora. 5451</para> 5452<para lang="en"> 5453the "proxy_ssl_certificate", "proxy_ssl_certificate_key", 5454"proxy_ssl_password_file", "uwsgi_ssl_certificate", 5455"uwsgi_ssl_certificate_key", and "uwsgi_ssl_password_file" directives.<br/> 5456Thanks to Piotr Sikora. 5457</para> 5458</change> 5459 5460<change type="feature"> 5461<para lang="ru"> 5462теперь с помощью X-Accel-Redirect 5463можно перейти в именованный location.<br/> 5464Спасибо Toshikuni Fukaya. 5465</para> 5466<para lang="en"> 5467it is now possible to switch to a named location 5468using "X-Accel-Redirect".<br/> 5469Thanks to Toshikuni Fukaya. 5470</para> 5471</change> 5472 5473<change type="feature"> 5474<para lang="ru"> 5475теперь директива tcp_nodelay работает для SPDY-соединений. 5476</para> 5477<para lang="en"> 5478now the "tcp_nodelay" directive works with SPDY connections. 5479</para> 5480</change> 5481 5482<change type="feature"> 5483<para lang="ru"> 5484новые директивы в скриптах подсветки синтаксиса для vim.<br/> 5485Спасибо Peter Wu. 5486</para> 5487<para lang="en"> 5488new directives in vim syntax highliting scripts.<br/> 5489Thanks to Peter Wu. 5490</para> 5491</change> 5492 5493<change type="bugfix"> 5494<para lang="ru"> 5495nginx игнорировал значение "s-maxage" 5496в строке "Cache-Control" в заголовке ответа бэкенда.<br/> 5497Спасибо Piotr Sikora. 5498</para> 5499<para lang="en"> 5500nginx ignored the "s-maxage" value 5501in the "Cache-Control" backend response header line.<br/> 5502Thanks to Piotr Sikora. 5503</para> 5504</change> 5505 5506<change type="bugfix"> 5507<para lang="ru"> 5508в модуле ngx_http_spdy_module.<br/> 5509Спасибо Piotr Sikora. 5510</para> 5511<para lang="en"> 5512in the ngx_http_spdy_module.<br/> 5513Thanks to Piotr Sikora. 5514</para> 5515</change> 5516 5517<change type="bugfix"> 5518<para lang="ru"> 5519в директиве ssl_password_file 5520при использовании OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j. 5521</para> 5522<para lang="en"> 5523in the "ssl_password_file" directive 5524when using OpenSSL 0.9.8zc, 1.0.0o, 1.0.1j. 5525</para> 5526</change> 5527 5528<change type="bugfix"> 5529<para lang="ru"> 5530при использовании директивы post_action 5531в лог писались сообщения "header already sent"; 5532ошибка появилась в nginx 1.5.4. 5533</para> 5534<para lang="en"> 5535alerts "header already sent" appeared in logs 5536if the "post_action" directive was used; 5537the bug had appeared in 1.5.4. 5538</para> 5539</change> 5540 5541<change type="bugfix"> 5542<para lang="ru"> 5543при использовании директивы "postpone_output 0" с SSI-подзапросами 5544в лог могли писаться сообщения "the http output chain is empty". 5545</para> 5546<para lang="en"> 5547alerts "the http output chain is empty" might appear in logs 5548if the "postpone_output 0" directive was used with SSI includes. 5549</para> 5550</change> 5551 5552<change type="bugfix"> 5553<para lang="ru"> 5554в директиве proxy_cache_lock при использовании SSI-подзапросов.<br/> 5555Спасибо Yichun Zhang. 5556</para> 5557<para lang="en"> 5558in the "proxy_cache_lock" directive with SSI subrequests.<br/> 5559Thanks to Yichun Zhang. 5560</para> 5561</change> 5562 5563</changes> 5564 5565 5566<changes ver="1.7.7" date="2014-10-28"> 5567 5568<change type="change"> 5569<para lang="ru"> 5570теперь nginx учитывает при кэшировании строку "Vary" 5571в заголовке ответа бэкенда. 5572</para> 5573<para lang="en"> 5574now nginx takes into account the "Vary" 5575header line in a backend response while caching. 5576</para> 5577</change> 5578 5579<change type="feature"> 5580<para lang="ru"> 5581директивы proxy_force_ranges, fastcgi_force_ranges, 5582scgi_force_ranges и uwsgi_force_ranges. 5583</para> 5584<para lang="en"> 5585the "proxy_force_ranges", "fastcgi_force_ranges", 5586"scgi_force_ranges", and "uwsgi_force_ranges" directives. 5587</para> 5588</change> 5589 5590<change type="feature"> 5591<para lang="ru"> 5592директивы proxy_limit_rate, fastcgi_limit_rate, 5593scgi_limit_rate и uwsgi_limit_rate. 5594</para> 5595<para lang="en"> 5596the "proxy_limit_rate", "fastcgi_limit_rate", 5597"scgi_limit_rate", and "uwsgi_limit_rate" directives. 5598</para> 5599</change> 5600 5601<change type="feature"> 5602<para lang="ru"> 5603параметр Vary директив proxy_ignore_headers, fastcgi_ignore_headers, 5604scgi_ignore_headers и uwsgi_ignore_headers. 5605</para> 5606<para lang="en"> 5607the "Vary" parameter of the "proxy_ignore_headers", "fastcgi_ignore_headers", 5608"scgi_ignore_headers", and "uwsgi_ignore_headers" directives. 5609</para> 5610</change> 5611 5612<change type="bugfix"> 5613<para lang="ru"> 5614последняя часть ответа, полученного от бэкенда 5615при небуферизированном проксировании, 5616могла не отправляться клиенту, 5617если использовались директивы gzip или gunzip. 5618</para> 5619<para lang="en"> 5620the last part of a response received from a backend 5621with unbufferred proxy 5622might not be sent to a client 5623if "gzip" or "gunzip" directives were used. 5624</para> 5625</change> 5626 5627<change type="bugfix"> 5628<para lang="ru"> 5629в директиве proxy_cache_revalidate.<br/> 5630Спасибо Piotr Sikora. 5631</para> 5632<para lang="en"> 5633in the "proxy_cache_revalidate" directive.<br/> 5634Thanks to Piotr Sikora. 5635</para> 5636</change> 5637 5638<change type="bugfix"> 5639<para lang="ru"> 5640в обработке ошибок.<br/> 5641Спасибо Yichun Zhang и Даниилу Бондареву. 5642</para> 5643<para lang="en"> 5644in error handling.<br/> 5645Thanks to Yichun Zhang and Daniil Bondarev. 5646</para> 5647</change> 5648 5649<change type="bugfix"> 5650<para lang="ru"> 5651в директивах 5652proxy_next_upstream_tries и proxy_next_upstream_timeout.<br/> 5653Спасибо Feng Gu. 5654</para> 5655<para lang="en"> 5656in the "proxy_next_upstream_tries" and "proxy_next_upstream_timeout" 5657directives.<br/> 5658Thanks to Feng Gu. 5659</para> 5660</change> 5661 5662<change type="bugfix"> 5663<para lang="ru"> 5664nginx/Windows не собирался с MinGW-w64 gcc.<br/> 5665Спасибо Kouhei Sutou. 5666</para> 5667<para lang="en"> 5668nginx/Windows could not be built with MinGW-w64 gcc.<br/> 5669Thanks to Kouhei Sutou. 5670</para> 5671</change> 5672 5673</changes> 5674 5675 5676<changes ver="1.7.6" date="2014-09-30"> 5677 5678<change type="change"> 5679<para lang="ru"> 5680устаревшая директива limit_zone больше не поддерживается. 5681</para> 5682<para lang="en"> 5683the deprecated "limit_zone" directive is not supported anymore. 5684</para> 5685</change> 5686 5687<change type="feature"> 5688<para lang="ru"> 5689в директивах limit_conn_zone и limit_req_zone теперь можно использовать 5690комбинации нескольких переменных. 5691</para> 5692<para lang="en"> 5693the "limit_conn_zone" and "limit_req_zone" directives now can be used 5694with combinations of multiple variables. 5695</para> 5696</change> 5697 5698<change type="bugfix"> 5699<para lang="ru"> 5700при повторной отправке FastCGI-запроса на бэкенд 5701тело запроса могло передаваться неправильно. 5702</para> 5703<para lang="en"> 5704request body might be transmitted incorrectly 5705when retrying a FastCGI request to the next upstream server. 5706</para> 5707</change> 5708 5709<change type="bugfix"> 5710<para lang="ru"> 5711в логгировании в syslog. 5712</para> 5713<para lang="en"> 5714in logging to syslog. 5715</para> 5716</change> 5717 5718</changes> 5719 5720 5721<changes ver="1.7.5" date="2014-09-16"> 5722 5723<change type="security"> 5724<para lang="ru"> 5725при использовании общего для нескольких блоков server 5726разделяемого кэша SSL-сессий или общего ключа для шифрования 5727TLS session tickets было возможно повторно использовать 5728SSL-сессию в контексте другого блока server (CVE-2014-3616).<br/> 5729Спасибо Antoine Delignat-Lavaud. 5730</para> 5731<para lang="en"> 5732it was possible to reuse SSL sessions in unrelated contexts 5733if a shared SSL session cache or the same TLS session ticket key 5734was used for multiple "server" blocks (CVE-2014-3616).<br/> 5735Thanks to Antoine Delignat-Lavaud. 5736</para> 5737</change> 5738 5739<change type="change"> 5740<para lang="ru"> 5741директиву stub_status теперь можно указывать без параметров. 5742</para> 5743<para lang="en"> 5744now the "stub_status" directive does not require a parameter. 5745</para> 5746</change> 5747 5748<change type="feature"> 5749<para lang="ru"> 5750параметр always директивы add_header. 5751</para> 5752<para lang="en"> 5753the "always" parameter of the "add_header" directive. 5754</para> 5755</change> 5756 5757<change type="feature"> 5758<para lang="ru"> 5759директивы 5760proxy_next_upstream_tries, proxy_next_upstream_timeout, 5761fastcgi_next_upstream_tries, fastcgi_next_upstream_timeout, 5762memcached_next_upstream_tries, memcached_next_upstream_timeout, 5763scgi_next_upstream_tries, scgi_next_upstream_timeout, 5764uwsgi_next_upstream_tries и uwsgi_next_upstream_timeout. 5765</para> 5766<para lang="en"> 5767the 5768"proxy_next_upstream_tries", "proxy_next_upstream_timeout", 5769"fastcgi_next_upstream_tries", "fastcgi_next_upstream_timeout", 5770"memcached_next_upstream_tries", "memcached_next_upstream_timeout", 5771"scgi_next_upstream_tries", "scgi_next_upstream_timeout", 5772"uwsgi_next_upstream_tries", and "uwsgi_next_upstream_timeout" 5773directives. 5774</para> 5775</change> 5776 5777<change type="bugfix"> 5778<para lang="ru"> 5779в параметре if директивы access_log. 5780</para> 5781<para lang="en"> 5782in the "if" parameter of the "access_log" directive. 5783</para> 5784</change> 5785 5786<change type="bugfix"> 5787<para lang="ru"> 5788в модуле ngx_http_perl_module.<br/> 5789Спасибо Piotr Sikora. 5790</para> 5791<para lang="en"> 5792in the ngx_http_perl_module.<br/> 5793Thanks to Piotr Sikora. 5794</para> 5795</change> 5796 5797<change type="bugfix"> 5798<para lang="ru"> 5799директива listen почтового прокси-сервера 5800не позволяла указать более двух параметров. 5801</para> 5802<para lang="en"> 5803the "listen" directive of the mail proxy module 5804did not allow to specify more than two parameters. 5805</para> 5806</change> 5807 5808<change type="bugfix"> 5809<para lang="ru"> 5810директива sub_filter не работала 5811с заменяемой строкой из одного символа. 5812</para> 5813<para lang="en"> 5814the "sub_filter" directive did not work 5815with a string to replace consisting of a single character. 5816</para> 5817</change> 5818 5819<change type="bugfix"> 5820<para lang="ru"> 5821запросы могли зависать, если использовался resolver 5822и в процессе обращения к DNS-серверу происходил таймаут. 5823</para> 5824<para lang="en"> 5825requests might hang if resolver was used 5826and a timeout occurred during a DNS request. 5827</para> 5828</change> 5829 5830<change type="bugfix"> 5831<para lang="ru"> 5832в модуле ngx_http_spdy_module при использовании совместно с AIO. 5833</para> 5834<para lang="en"> 5835in the ngx_http_spdy_module when using with AIO. 5836</para> 5837</change> 5838 5839<change type="bugfix"> 5840<para lang="ru"> 5841в рабочем процессе мог произойти segmentation fault, 5842если с помощью директивы set изменялись переменные 5843"$http_...", "$sent_http_..." или "$upstream_http_...". 5844</para> 5845<para lang="en"> 5846a segmentation fault might occur in a worker process 5847if the "set" directive was used to change the "$http_...", 5848"$sent_http_...", or "$upstream_http_..." variables. 5849</para> 5850</change> 5851 5852<change type="bugfix"> 5853<para lang="ru"> 5854в обработке ошибок выделения памяти.<br/> 5855Спасибо Markus Linnala и Feng Gu. 5856</para> 5857<para lang="en"> 5858in memory allocation error handling.<br/> 5859Thanks to Markus Linnala and Feng Gu. 5860</para> 5861</change> 5862 5863</changes> 5864 5865 5866<changes ver="1.7.4" date="2014-08-05"> 5867 5868<change type="security"> 5869<para lang="ru"> 5870pipelined-команды не отбрасывались 5871после команды STARTTLS в SMTP прокси-сервере (CVE-2014-3556); 5872ошибка появилась в 1.5.6.<br/> 5873Спасибо Chris Boulton. 5874</para> 5875<para lang="en"> 5876pipelined commands were not discarded 5877after STARTTLS command in SMTP proxy (CVE-2014-3556); 5878the bug had appeared in 1.5.6.<br/> 5879Thanks to Chris Boulton. 5880</para> 5881</change> 5882 5883<change type="change"> 5884<para lang="ru"> 5885экранирование символов в URI теперь использует 5886шестнадцатеричные цифры в верхнем регистре.<br/> 5887Спасибо Piotr Sikora. 5888</para> 5889<para lang="en"> 5890URI escaping now uses 5891uppercase hexadecimal digits.<br/> 5892Thanks to Piotr Sikora. 5893</para> 5894</change> 5895 5896<change type="feature"> 5897<para lang="ru"> 5898теперь nginx можно собрать с BoringSSL и LibreSSL.<br/> 5899Спасибо Piotr Sikora. 5900</para> 5901<para lang="en"> 5902now nginx can be build with BoringSSL and LibreSSL.<br/> 5903Thanks to Piotr Sikora. 5904</para> 5905</change> 5906 5907<change type="bugfix"> 5908<para lang="ru"> 5909запросы могли зависать, если использовался resolver 5910и DNS-сервер возвращал некорректный ответ; 5911ошибка появилась в 1.5.8. 5912</para> 5913<para lang="en"> 5914requests might hang if resolver was used 5915and a DNS server returned a malformed response; 5916the bug had appeared in 1.5.8. 5917</para> 5918</change> 5919 5920<change type="bugfix"> 5921<para lang="ru"> 5922в модуле ngx_http_spdy_module.<br/> 5923Спасибо Piotr Sikora. 5924</para> 5925<para lang="en"> 5926in the ngx_http_spdy_module.<br/> 5927Thanks to Piotr Sikora. 5928</para> 5929</change> 5930 5931<change type="bugfix"> 5932<para lang="ru"> 5933переменная $uri могла содержать мусор 5934при возврате ошибок с кодом 400.<br/> 5935Спасибо Сергею Боброву. 5936</para> 5937<para lang="en"> 5938the $uri variable might contain garbage 5939when returning errors with code 400.<br/> 5940Thanks to Sergey Bobrov. 5941</para> 5942</change> 5943 5944<change type="bugfix"> 5945<para lang="ru"> 5946в обработке ошибок в директиве proxy_store 5947и в модуле ngx_http_dav_module.<br/> 5948Спасибо Feng Gu. 5949</para> 5950<para lang="en"> 5951in error handling in the "proxy_store" directive 5952and the ngx_http_dav_module.<br/> 5953Thanks to Feng Gu. 5954</para> 5955</change> 5956 5957<change type="bugfix"> 5958<para lang="ru"> 5959при логгировании ошибок в syslog мог происходить segmentation fault; 5960ошибка появилась в 1.7.1. 5961</para> 5962<para lang="en"> 5963a segmentation fault might occur if logging of errors to syslog was used; 5964the bug had appeared in 1.7.1. 5965</para> 5966</change> 5967 5968<change type="bugfix"> 5969<para lang="ru"> 5970переменные $geoip_latitude, $geoip_longitude, $geoip_dma_code 5971и $geoip_area_code могли не работать.<br/> 5972Спасибо Yichun Zhang. 5973</para> 5974<para lang="en"> 5975the $geoip_latitude, $geoip_longitude, $geoip_dma_code, 5976and $geoip_area_code variables might not work.<br/> 5977Thanks to Yichun Zhang. 5978</para> 5979</change> 5980 5981<change type="bugfix"> 5982<para lang="ru"> 5983в обработке ошибок выделения памяти.<br/> 5984Спасибо Tatsuhiko Kubo и Piotr Sikora. 5985</para> 5986<para lang="en"> 5987in memory allocation error handling.<br/> 5988Thanks to Tatsuhiko Kubo and Piotr Sikora. 5989</para> 5990</change> 5991 5992</changes> 5993 5994 5995<changes ver="1.7.3" date="2014-07-08"> 5996 5997<change type="feature"> 5998<para lang="ru"> 5999weak entity tags теперь не удаляются при изменениях ответа, 6000а strong entity tags преобразуются в weak. 6001</para> 6002<para lang="en"> 6003weak entity tags are now preserved on response modifications, 6004and strong ones are changed to weak. 6005</para> 6006</change> 6007 6008<change type="feature"> 6009<para lang="ru"> 6010ревалидация элементов кэша теперь, если это возможно, 6011использует заголовок If-None-Match. 6012</para> 6013<para lang="en"> 6014cache revalidation now uses If-None-Match header 6015if possible. 6016</para> 6017</change> 6018 6019<change type="feature"> 6020<para lang="ru"> 6021директива ssl_password_file. 6022</para> 6023<para lang="en"> 6024the "ssl_password_file" directive. 6025</para> 6026</change> 6027 6028<change type="bugfix"> 6029<para lang="ru"> 6030при возврате ответа из кэша 6031заголовок запроса If-None-Match игнорировался, 6032если в ответе не было заголовка Last-Modified. 6033</para> 6034<para lang="en"> 6035the If-None-Match request header line was ignored 6036if there was no Last-Modified header 6037in a response returned from cache. 6038</para> 6039</change> 6040 6041<change type="bugfix"> 6042<para lang="ru"> 6043сообщения "peer closed connection in SSL handshake" 6044при соединении с бэкендами логгировались на уровне info вместо error. 6045</para> 6046<para lang="en"> 6047"peer closed connection in SSL handshake" messages 6048were logged at "info" level instead of "error" while connecting to backends. 6049</para> 6050</change> 6051 6052<change type="bugfix"> 6053<para lang="ru"> 6054в модуле ngx_http_dav_module в nginx/Windows. 6055</para> 6056<para lang="en"> 6057in the ngx_http_dav_module module in nginx/Windows. 6058</para> 6059</change> 6060 6061<change type="bugfix"> 6062<para lang="ru"> 6063SPDY-соединения могли неожиданно закрываться, 6064если использовалось кэширование. 6065</para> 6066<para lang="en"> 6067SPDY connections might be closed prematurely 6068if caching was used. 6069</para> 6070</change> 6071 6072</changes> 6073 6074 6075<changes ver="1.7.2" date="2014-06-17"> 6076 6077<change type="feature"> 6078<para lang="ru"> 6079директива hash в блоке upstream. 6080</para> 6081<para lang="en"> 6082the "hash" directive inside the "upstream" block. 6083</para> 6084</change> 6085 6086<change type="feature"> 6087<para lang="ru"> 6088дефрагментация свободных блоков разделяемой памяти.<br/> 6089Спасибо Wandenberg Peixoto и Yichun Zhang. 6090</para> 6091<para lang="en"> 6092defragmentation of free shared memory blocks.<br/> 6093Thanks to Wandenberg Peixoto and Yichun Zhang. 6094</para> 6095</change> 6096 6097<change type="bugfix"> 6098<para lang="ru"> 6099в рабочем процессе мог произойти segmentation fault, 6100если использовалось значение access_log по умолчанию; 6101ошибка появилась в 1.7.0.<br/> 6102Спасибо Piotr Sikora. 6103</para> 6104<para lang="en"> 6105a segmentation fault might occur in a worker process 6106if the default value of the "access_log" directive was used; 6107the bug had appeared in 1.7.0.<br/> 6108Thanks to Piotr Sikora. 6109</para> 6110</change> 6111 6112<change type="bugfix"> 6113<para lang="ru"> 6114завершающий слэш ошибочно удалялся 6115из последнего параметра директивы try_files. 6116</para> 6117<para lang="en"> 6118trailing slash was mistakenly removed 6119from the last parameter of the "try_files" directive. 6120</para> 6121</change> 6122 6123<change type="bugfix"> 6124<para lang="ru"> 6125nginx мог не собираться на OS X. 6126</para> 6127<para lang="en"> 6128nginx could not be built on OS X in some cases. 6129</para> 6130</change> 6131 6132<change type="bugfix"> 6133<para lang="ru"> 6134в модуле ngx_http_spdy_module. 6135</para> 6136<para lang="en"> 6137in the ngx_http_spdy_module. 6138</para> 6139</change> 6140 6141</changes> 6142 6143 6144<changes ver="1.7.1" date="2014-05-27"> 6145 6146<change type="feature"> 6147<para lang="ru"> 6148переменные "$upstream_cookie_...". 6149</para> 6150<para lang="en"> 6151the "$upstream_cookie_..." variables. 6152</para> 6153</change> 6154 6155<change type="feature"> 6156<para lang="ru"> 6157переменная $ssl_client_fingerprint. 6158</para> 6159<para lang="en"> 6160the $ssl_client_fingerprint variable. 6161</para> 6162</change> 6163 6164<change type="feature"> 6165<para lang="ru"> 6166директивы error_log и access_log теперь поддерживают логгирование в syslog. 6167</para> 6168<para lang="en"> 6169the "error_log" and "access_log" directives now support logging to syslog. 6170</para> 6171</change> 6172 6173<change type="feature"> 6174<para lang="ru"> 6175почтовый прокси-сервер теперь логгирует порт клиента при соединении. 6176</para> 6177<para lang="en"> 6178the mail proxy now logs client port on connect. 6179</para> 6180</change> 6181 6182<change type="bugfix"> 6183<para lang="ru"> 6184утечки памяти при использовании директивы "ssl_stapling".<br/> 6185Спасибо Filipe da Silva. 6186</para> 6187<para lang="en"> 6188memory leak if the "ssl_stapling" directive was used.<br/> 6189Thanks to Filipe da Silva. 6190</para> 6191</change> 6192 6193<change type="bugfix"> 6194<para lang="ru"> 6195директива alias внутри location'а, заданного регулярным выражением, 6196работала неправильно, если использовались директивы if или limit_except. 6197</para> 6198<para lang="en"> 6199the "alias" directive used inside a location given by a regular expression 6200worked incorrectly if the "if" or "limit_except" directives were used. 6201</para> 6202</change> 6203 6204<change type="bugfix"> 6205<para lang="ru"> 6206директива charset не ставила кодировку для сжатых ответов бэкендов. 6207</para> 6208<para lang="en"> 6209the "charset" directive did not set a charset to encoded backend responses. 6210</para> 6211</change> 6212 6213<change type="bugfix"> 6214<para lang="ru"> 6215директива proxy_pass без URI могла использовать оригинальный запрос 6216после установки переменной $args.<br/> 6217Спасибо Yichun Zhang. 6218</para> 6219<para lang="en"> 6220a "proxy_pass" directive without URI part might use original request 6221after the $args variable was set.<br/> 6222Thanks to Yichun Zhang. 6223</para> 6224</change> 6225 6226<change type="bugfix"> 6227<para lang="ru"> 6228в работе параметра none директивы smtp_auth; 6229ошибка появилась в 1.5.6.<br/> 6230Спасибо Святославу Никольскому. 6231</para> 6232<para lang="en"> 6233in the "none" parameter in the "smtp_auth" directive; 6234the bug had appeared in 1.5.6.<br/> 6235Thanks to Svyatoslav Nikolsky. 6236</para> 6237</change> 6238 6239<change type="bugfix"> 6240<para lang="ru"> 6241при совместном использовании sub_filter и SSI 6242ответы могли передаваться неверно. 6243</para> 6244<para lang="en"> 6245if sub_filter and SSI were used together, 6246then responses might be transferred incorrectly. 6247</para> 6248</change> 6249 6250<change type="bugfix"> 6251<para lang="ru"> 6252nginx не собирался с параметром --with-file-aio на Linux/aarch64. 6253</para> 6254<para lang="en"> 6255nginx could not be built with the --with-file-aio option on Linux/aarch64. 6256</para> 6257</change> 6258 6259</changes> 6260 6261 6262<changes ver="1.7.0" date="2014-04-24"> 6263 6264<change type="feature"> 6265<para lang="ru"> 6266проверка SSL-сертификатов бэкендов. 6267</para> 6268<para lang="en"> 6269backend SSL certificate verification. 6270</para> 6271</change> 6272 6273<change type="feature"> 6274<para lang="ru"> 6275поддержка SNI при работе с бэкендами по SSL. 6276</para> 6277<para lang="en"> 6278support for SNI while working with SSL backends. 6279</para> 6280</change> 6281 6282<change type="feature"> 6283<para lang="ru"> 6284переменная $ssl_server_name. 6285</para> 6286<para lang="en"> 6287the $ssl_server_name variable. 6288</para> 6289</change> 6290 6291<change type="feature"> 6292<para lang="ru"> 6293параметр if директивы access_log. 6294</para> 6295<para lang="en"> 6296the "if" parameter of the "access_log" directive. 6297</para> 6298</change> 6299 6300</changes> 6301 6302 6303<changes ver="1.5.13" date="2014-04-08"> 6304 6305<change type="change"> 6306<para lang="ru"> 6307улучшена обработка хэш-таблиц; 6308в директивах variables_hash_max_size и types_hash_bucket_size 6309значения по умолчанию изменены на 1024 и 64 соответственно. 6310</para> 6311<para lang="en"> 6312improved hash table handling; 6313the default values of the "variables_hash_max_size" and 6314"types_hash_bucket_size" were changed to 1024 and 64 respectively. 6315</para> 6316</change> 6317 6318<change type="feature"> 6319<para lang="ru"> 6320модуль ngx_http_mp4_module теперь понимает аргумент end. 6321</para> 6322<para lang="en"> 6323the ngx_http_mp4_module now supports the "end" argument. 6324</para> 6325</change> 6326 6327<change type="feature"> 6328<para lang="ru"> 6329поддержка byte ranges модулем ngx_http_mp4_module и при сохранении 6330ответов в кэш. 6331</para> 6332<para lang="en"> 6333byte ranges support in the ngx_http_mp4_module and while saving responses 6334to cache. 6335</para> 6336</change> 6337 6338<change type="bugfix"> 6339<para lang="ru"> 6340теперь nginx не пишет в лог сообщения "ngx_slab_alloc() failed: no memory" 6341при использовании разделяемой памяти в ssl_session_cache 6342и в модуле ngx_http_limit_req_module. 6343</para> 6344<para lang="en"> 6345alerts "ngx_slab_alloc() failed: no memory" no longer logged 6346when using shared memory in the "ssl_session_cache" directive 6347and in the ngx_http_limit_req_module. 6348</para> 6349</change> 6350 6351<change type="bugfix"> 6352<para lang="ru"> 6353директива underscores_in_headers 6354не разрешала подчёркивание в первом символе заголовка.<br/> 6355Спасибо Piotr Sikora. 6356</para> 6357<para lang="en"> 6358the "underscores_in_headers" directive 6359did not allow underscore as a first character of a header.<br/> 6360Thanks to Piotr Sikora. 6361</para> 6362</change> 6363 6364<change type="bugfix"> 6365<para lang="ru"> 6366cache manager мог нагружать процессор при выходе в nginx/Windows. 6367</para> 6368<para lang="en"> 6369cache manager might hog CPU on exit in nginx/Windows. 6370</para> 6371</change> 6372 6373<change type="bugfix"> 6374<para lang="ru"> 6375при использовании ssl_session_cache с параметром shared 6376рабочий процесс nginx/Windows завершался аварийно. 6377</para> 6378<para lang="en"> 6379nginx/Windows terminated abnormally 6380if the "ssl_session_cache" directive was used with the "shared" parameter. 6381</para> 6382</change> 6383 6384<change type="bugfix"> 6385<para lang="ru"> 6386в модуле ngx_http_spdy_module. 6387</para> 6388<para lang="en"> 6389in the ngx_http_spdy_module. 6390</para> 6391</change> 6392 6393</changes> 6394 6395 6396<changes ver="1.5.12" date="2014-03-18"> 6397 6398<change type="security"> 6399<para lang="ru"> 6400при обработке специально созданного запроса модулем ngx_http_spdy_module 6401могло происходить переполнение буфера в рабочем процессе, 6402что потенциально могло приводить к выполнению произвольного кода 6403(CVE-2014-0133).<br/> 6404Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel 6405Sadosky, Buenos Aires, Argentina. 6406</para> 6407<para lang="en"> 6408a heap memory buffer overflow might occur in a worker process 6409while handling a specially crafted request by ngx_http_spdy_module, 6410potentially resulting in arbitrary code execution 6411(CVE-2014-0133).<br/> 6412Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel 6413Sadosky, Buenos Aires, Argentina. 6414</para> 6415</change> 6416 6417<change type="feature"> 6418<para lang="ru"> 6419параметр proxy_protocol в директивах listen и real_ip_header, 6420переменная $proxy_protocol_addr. 6421</para> 6422<para lang="en"> 6423the "proxy_protocol" parameters of the "listen" and "real_ip_header" directives, 6424the $proxy_protocol_addr variable. 6425</para> 6426</change> 6427 6428<change type="bugfix"> 6429<para lang="ru"> 6430в директиве fastcgi_next_upstream.<br/> 6431Спасибо Lucas Molas. 6432</para> 6433<para lang="en"> 6434in the "fastcgi_next_upstream" directive.<br/> 6435Thanks to Lucas Molas. 6436</para> 6437</change> 6438 6439</changes> 6440 6441 6442<changes ver="1.5.11" date="2014-03-04"> 6443 6444<change type="security"> 6445<para lang="ru"> 6446при обработке специально созданного запроса модулем ngx_http_spdy_module 6447на 32-битных платформах могла повреждаться память рабочего процесса, 6448что потенциально могло приводить к выполнению произвольного кода 6449(CVE-2014-0088); 6450ошибка появилась в 1.5.10.<br/> 6451Спасибо Lucas Molas из Programa STIC, Fundación Dr. Manuel 6452Sadosky, Buenos Aires, Argentina. 6453</para> 6454<para lang="en"> 6455memory corruption might occur in a worker process on 32-bit platforms 6456while handling a specially crafted request by ngx_http_spdy_module, 6457potentially resulting in arbitrary code execution (CVE-2014-0088); 6458the bug had appeared in 1.5.10.<br/> 6459Thanks to Lucas Molas, researcher at Programa STIC, Fundación Dr. Manuel 6460Sadosky, Buenos Aires, Argentina. 6461</para> 6462</change> 6463 6464<change type="feature"> 6465<para lang="ru"> 6466переменная $ssl_session_reused. 6467</para> 6468<para lang="en"> 6469the $ssl_session_reused variable. 6470</para> 6471</change> 6472 6473<change type="bugfix"> 6474<para lang="ru"> 6475директива client_max_body_size могла не работать 6476при чтении тела запроса с использованием chunked transfer encoding; 6477ошибка появилась в 1.3.9.<br/> 6478Спасибо Lucas Molas. 6479</para> 6480<para lang="en"> 6481the "client_max_body_size" directive might not work 6482when reading a request body using chunked transfer encoding; 6483the bug had appeared in 1.3.9.<br/> 6484Thanks to Lucas Molas. 6485</para> 6486</change> 6487 6488<change type="bugfix"> 6489<para lang="ru"> 6490при проксировании WebSocket-соединений 6491в рабочем процессе мог произойти segmentation fault. 6492</para> 6493<para lang="en"> 6494a segmentation fault might occur in a worker process 6495when proxying WebSocket connections. 6496</para> 6497</change> 6498 6499<change type="bugfix"> 6500<para lang="ru"> 6501в рабочем процессе мог произойти segmentation fault, 6502если использовался модуль ngx_http_spdy_module на 32-битных платформах; 6503ошибка появилась в 1.5.10. 6504</para> 6505<para lang="en"> 6506a segmentation fault might occur in a worker process 6507if the ngx_http_spdy_module was used on 32-bit platforms; 6508the bug had appeared in 1.5.10. 6509</para> 6510</change> 6511 6512<change type="bugfix"> 6513<para lang="ru"> 6514значение переменной $upstream_status могло быть неверным, 6515если использовались директивы proxy_cache_use_stale 6516или proxy_cache_revalidate.<br/> 6517Спасибо Piotr Sikora. 6518</para> 6519<para lang="en"> 6520the $upstream_status variable might contain wrong data 6521if the "proxy_cache_use_stale" or "proxy_cache_revalidate" directives 6522were used.<br/> 6523Thanks to Piotr Sikora. 6524</para> 6525</change> 6526 6527<change type="bugfix"> 6528<para lang="ru"> 6529в рабочем процессе мог произойти segmentation fault, 6530если ошибки с кодом 400 с помощью директивы error_page 6531перенаправлялись в именованный location. 6532</para> 6533<para lang="en"> 6534a segmentation fault might occur in a worker process 6535if errors with code 400 were redirected to a named location 6536using the "error_page" directive. 6537</para> 6538</change> 6539 6540<change type="bugfix"> 6541<para lang="ru"> 6542nginx/Windows не собирался с Visual Studio 2013. 6543</para> 6544<para lang="en"> 6545nginx/Windows could not be built with Visual Studio 2013. 6546</para> 6547</change> 6548 6549</changes> 6550 6551 6552<changes ver="1.5.10" date="2014-02-04"> 6553 6554<change type="feature"> 6555<para lang="ru"> 6556модуль ngx_http_spdy_module теперь использует протокол SPDY 3.1.<br/> 6557Спасибо Automattic и MaxCDN за спонсирование разработки. 6558</para> 6559<para lang="en"> 6560the ngx_http_spdy_module now uses SPDY 3.1 protocol.<br/> 6561Thanks to Automattic and MaxCDN for sponsoring this work. 6562</para> 6563</change> 6564 6565<change type="feature"> 6566<para lang="ru"> 6567модуль ngx_http_mp4_module теперь пропускает дорожки, 6568имеющие меньшую длину, чем запрошенная перемотка. 6569</para> 6570<para lang="en"> 6571the ngx_http_mp4_module now skips tracks 6572too short for a seek requested. 6573</para> 6574</change> 6575 6576<change type="bugfix"> 6577<para lang="ru"> 6578в рабочем процессе мог произойти segmentation fault, 6579если переменная $ssl_session_id использовалась при логгировании; 6580ошибка появилась в 1.5.9. 6581</para> 6582<para lang="en"> 6583a segmentation fault might occur in a worker process 6584if the $ssl_session_id variable was used in logs; 6585the bug had appeared in 1.5.9. 6586</para> 6587</change> 6588 6589<change type="bugfix"> 6590<para lang="ru"> 6591переменные $date_local и $date_gmt использовали неверный формат 6592вне модуля ngx_http_ssi_filter_module. 6593</para> 6594<para lang="en"> 6595the $date_local and $date_gmt variables used wrong format 6596outside of the ngx_http_ssi_filter_module. 6597</para> 6598</change> 6599 6600<change type="bugfix"> 6601<para lang="ru"> 6602клиентские соединения могли сразу закрываться, 6603если использовался отложенный accept; 6604ошибка появилась в 1.3.15. 6605</para> 6606<para lang="en"> 6607client connections might be immediately closed 6608if deferred accept was used; 6609the bug had appeared in 1.3.15. 6610</para> 6611</change> 6612 6613<change type="bugfix"> 6614<para lang="ru"> 6615сообщения "getsockopt(TCP_FASTOPEN) ... failed" записывались в лог 6616в процессе обновления исполняемого файла на Linux; 6617ошибка появилась в 1.5.8.<br/> 6618Спасибо Piotr Sikora. 6619</para> 6620<para lang="en"> 6621alerts "getsockopt(TCP_FASTOPEN) ... failed" appeared in logs 6622during binary upgrade on Linux; 6623the bug had appeared in 1.5.8.<br/> 6624Thanks to Piotr Sikora. 6625</para> 6626</change> 6627 6628</changes> 6629 6630 6631<changes ver="1.5.9" date="2014-01-22"> 6632 6633<change type="change"> 6634<para lang="ru"> 6635теперь в заголовке X-Accel-Redirect nginx ожидает закодированный URI. 6636</para> 6637<para lang="en"> 6638now nginx expects escaped URIs in "X-Accel-Redirect" headers. 6639</para> 6640</change> 6641 6642<change type="feature"> 6643<para lang="ru"> 6644директива ssl_buffer_size. 6645</para> 6646<para lang="en"> 6647the "ssl_buffer_size" directive. 6648</para> 6649</change> 6650 6651<change type="feature"> 6652<para lang="ru"> 6653директиву limit_rate теперь можно использовать для 6654ограничения скорости передачи ответов клиенту в SPDY-соединениях. 6655</para> 6656<para lang="en"> 6657the "limit_rate" directive can now be used to 6658rate limit responses sent in SPDY connections. 6659</para> 6660</change> 6661 6662<change type="feature"> 6663<para lang="ru"> 6664директива spdy_chunk_size. 6665</para> 6666<para lang="en"> 6667the "spdy_chunk_size" directive. 6668</para> 6669</change> 6670 6671<change type="feature"> 6672<para lang="ru"> 6673директива ssl_session_tickets.<br/> 6674Спасибо Dirkjan Bussink. 6675</para> 6676<para lang="en"> 6677the "ssl_session_tickets" directive.<br/> 6678Thanks to Dirkjan Bussink. 6679</para> 6680</change> 6681 6682<change type="bugfix"> 6683<para lang="ru"> 6684переменная $ssl_session_id содержала всю сессию в сериализованном виде 6685вместо её идентификатора.<br/> 6686Спасибо Ivan Ristić. 6687</para> 6688<para lang="en"> 6689the $ssl_session_id variable contained full session serialized 6690instead of just a session id.<br/> 6691Thanks to Ivan Ristić. 6692</para> 6693</change> 6694 6695<change type="bugfix"> 6696<para lang="ru"> 6697nginx неправильно обрабатывал закодированный символ "?" в команде SSI include. 6698</para> 6699<para lang="en"> 6700nginx incorrectly handled escaped "?" character in the "include" SSI command. 6701</para> 6702</change> 6703 6704<change type="bugfix"> 6705<para lang="ru"> 6706модуль ngx_http_dav_module не раскодировал целевой URI при 6707обработке методов COPY и MOVE. 6708</para> 6709<para lang="en"> 6710the ngx_http_dav_module did not unescape destination URI 6711of the COPY and MOVE methods. 6712</para> 6713</change> 6714 6715<change type="bugfix"> 6716<para lang="ru"> 6717resolver не понимал доменные имена с точкой в конце. 6718Спасибо Yichun Zhang. 6719</para> 6720<para lang="en"> 6721resolver did not understand domain names with a trailing dot. 6722Thanks to Yichun Zhang. 6723</para> 6724</change> 6725 6726<change type="bugfix"> 6727<para lang="ru"> 6728при проксировании в логах могли появляться сообщения "zero size buf in output"; 6729ошибка появилась в 1.3.9. 6730</para> 6731<para lang="en"> 6732alerts "zero size buf in output" might appear in logs while proxying; 6733the bug had appeared in 1.3.9. 6734</para> 6735</change> 6736 6737<change type="bugfix"> 6738<para lang="ru"> 6739в рабочем процессе мог произойти segmentation fault, 6740если использовался модуль ngx_http_spdy_module. 6741</para> 6742<para lang="en"> 6743a segmentation fault might occur in a worker process 6744if the ngx_http_spdy_module was used. 6745</para> 6746</change> 6747 6748<change type="bugfix"> 6749<para lang="ru"> 6750при использовании методов обработки соединений select, poll и /dev/poll 6751проксируемые WebSocket-соединения могли зависать сразу после открытия. 6752</para> 6753<para lang="en"> 6754proxied WebSocket connections might hang right after handshake 6755if the select, poll, or /dev/poll methods were used. 6756</para> 6757</change> 6758 6759<change type="bugfix"> 6760<para lang="ru"> 6761директива xclient почтового прокси-сервера 6762некорректно передавала IPv6-адреса. 6763</para> 6764<para lang="en"> 6765the "xclient" directive of the mail proxy module 6766incorrectly handled IPv6 client addresses. 6767</para> 6768</change> 6769 6770</changes> 6771 6772 6773<changes ver="1.5.8" date="2013-12-17"> 6774 6775<change type="feature"> 6776<para lang="ru"> 6777теперь resolver поддерживает IPv6. 6778</para> 6779<para lang="en"> 6780IPv6 support in resolver. 6781</para> 6782</change> 6783 6784<change type="feature"> 6785<para lang="ru"> 6786директива listen поддерживает параметр fastopen.<br/> 6787Спасибо Mathew Rodley. 6788</para> 6789<para lang="en"> 6790the "listen" directive supports the "fastopen" parameter.<br/> 6791Thanks to Mathew Rodley. 6792</para> 6793</change> 6794 6795<change type="feature"> 6796<para lang="ru"> 6797поддержка SSL в модуле ngx_http_uwsgi_module.<br/> 6798Спасибо Roberto De Ioris. 6799</para> 6800<para lang="en"> 6801SSL support in the ngx_http_uwsgi_module.<br/> 6802Thanks to Roberto De Ioris. 6803</para> 6804</change> 6805 6806<change type="feature"> 6807<para lang="ru"> 6808скрипты подсветки синтаксиса для vim добавлены в contrib.<br/> 6809Спасибо Evan Miller. 6810</para> 6811<para lang="en"> 6812vim syntax highlighting scripts were added to contrib.<br/> 6813Thanks to Evan Miller. 6814</para> 6815</change> 6816 6817<change type="bugfix"> 6818<para lang="ru"> 6819при чтении тела запроса с использованием chunked transfer encoding 6820по SSL-соединению мог произойти таймаут. 6821</para> 6822<para lang="en"> 6823a timeout might occur while reading client request body 6824in an SSL connection using chunked transfer encoding. 6825</para> 6826</change> 6827 6828<change type="bugfix"> 6829<para lang="ru"> 6830директива master_process работала неправильно в nginx/Windows. 6831</para> 6832<para lang="en"> 6833the "master_process" directive did not work correctly in nginx/Windows. 6834</para> 6835</change> 6836 6837<change type="bugfix"> 6838<para lang="ru"> 6839параметр setfib директивы listen мог не работать. 6840</para> 6841<para lang="en"> 6842the "setfib" parameter of the "listen" directive might not work. 6843</para> 6844</change> 6845 6846<change type="bugfix"> 6847<para lang="ru"> 6848в модуле ngx_http_spdy_module. 6849</para> 6850<para lang="en"> 6851in the ngx_http_spdy_module. 6852</para> 6853</change> 6854 6855</changes> 6856 6857 6858<changes ver="1.5.7" date="2013-11-19"> 6859 6860<change type="security"> 6861<para lang="ru"> 6862символ, следующий за незакодированным пробелом в строке запроса, 6863обрабатывался неправильно (CVE-2013-4547); 6864ошибка появилась в 0.8.41.<br/> 6865Спасибо Ivan Fratric из Google Security Team. 6866</para> 6867<para lang="en"> 6868a character following an unescaped space in a request line 6869was handled incorrectly (CVE-2013-4547); 6870the bug had appeared in 0.8.41.<br/> 6871Thanks to Ivan Fratric of the Google Security Team. 6872</para> 6873</change> 6874 6875<change type="change"> 6876<para lang="ru"> 6877уровень логгирования ошибок auth_basic об отсутствии пароля 6878понижен с уровня error до info. 6879</para> 6880<para lang="en"> 6881a logging level of auth_basic errors about no user/password provided 6882has been lowered from "error" to "info". 6883</para> 6884</change> 6885 6886<change type="feature"> 6887<para lang="ru"> 6888директивы proxy_cache_revalidate, fastcgi_cache_revalidate, 6889scgi_cache_revalidate и uwsgi_cache_revalidate. 6890</para> 6891<para lang="en"> 6892the "proxy_cache_revalidate", "fastcgi_cache_revalidate", 6893"scgi_cache_revalidate", and "uwsgi_cache_revalidate" directives. 6894</para> 6895</change> 6896 6897<change type="feature"> 6898<para lang="ru"> 6899директива ssl_session_ticket_key.<br/> 6900Спасибо Piotr Sikora. 6901</para> 6902<para lang="en"> 6903the "ssl_session_ticket_key" directive.<br/> 6904Thanks to Piotr Sikora. 6905</para> 6906</change> 6907 6908<change type="bugfix"> 6909<para lang="ru"> 6910директива "add_header Cache-Control ''" 6911добавляла строку заголовка ответа "Cache-Control" с пустым значением. 6912</para> 6913<para lang="en"> 6914the directive "add_header Cache-Control ''" 6915added a "Cache-Control" response header line with an empty value. 6916</para> 6917</change> 6918 6919<change type="bugfix"> 6920<para lang="ru"> 6921директива "satisfy any" могла вернуть ошибку 403 вместо 401 6922при использовании директив auth_request и auth_basic.<br/> 6923Спасибо Jan Marc Hoffmann. 6924</para> 6925<para lang="en"> 6926the "satisfy any" directive might return 403 error instead of 401 6927if auth_request and auth_basic directives were used.<br/> 6928Thanks to Jan Marc Hoffmann. 6929</para> 6930</change> 6931 6932<change type="bugfix"> 6933<para lang="ru"> 6934параметры accept_filter и deferred директивы listen игнорировались 6935для listen-сокетов, создаваемых в процессе обновления исполняемого файла.<br/> 6936Спасибо Piotr Sikora. 6937</para> 6938<para lang="en"> 6939the "accept_filter" and "deferred" parameters of the "listen" directive 6940were ignored for listen sockets created during binary upgrade.<br/> 6941Thanks to Piotr Sikora. 6942</para> 6943</change> 6944 6945<change type="bugfix"> 6946<para lang="ru"> 6947часть данных, полученных от бэкенда при небуферизированном проксировании, 6948могла не отправляться клиенту сразу, 6949если использовались директивы gzip или gunzip.<br/> 6950Спасибо Yichun Zhang. 6951</para> 6952<para lang="en"> 6953some data received from a backend with unbufferred proxy 6954might not be sent to a client immediately 6955if "gzip" or "gunzip" directives were used.<br/> 6956Thanks to Yichun Zhang. 6957</para> 6958</change> 6959 6960<change type="bugfix"> 6961<para lang="ru"> 6962в обработке ошибок в модуле ngx_http_gunzip_filter_module. 6963</para> 6964<para lang="en"> 6965in error handling in ngx_http_gunzip_filter_module. 6966</para> 6967</change> 6968 6969<change type="bugfix"> 6970<para lang="ru"> 6971ответы могли зависать, 6972если использовался модуль ngx_http_spdy_module 6973и директива auth_request. 6974</para> 6975<para lang="en"> 6976responses might hang 6977if the ngx_http_spdy_module was used 6978with the "auth_request" directive. 6979</para> 6980</change> 6981 6982<change type="bugfix"> 6983<para lang="ru"> 6984утечки памяти в nginx/Windows. 6985</para> 6986<para lang="en"> 6987memory leak in nginx/Windows. 6988</para> 6989</change> 6990 6991</changes> 6992 6993 6994<changes ver="1.5.6" date="2013-10-01"> 6995 6996<change type="feature"> 6997<para lang="ru"> 6998директива fastcgi_buffering. 6999</para> 7000<para lang="en"> 7001the "fastcgi_buffering" directive. 7002</para> 7003</change> 7004 7005<change type="feature"> 7006<para lang="ru"> 7007директивы proxy_ssl_protocols и proxy_ssl_ciphers.<br/> 7008Спасибо Piotr Sikora. 7009</para> 7010<para lang="en"> 7011the "proxy_ssl_protocols" and "proxy_ssl_ciphers" directives.<br/> 7012Thanks to Piotr Sikora. 7013</para> 7014</change> 7015 7016<change type="feature"> 7017<para lang="ru"> 7018оптимизация SSL handshake при использовании длинных цепочек сертификатов. 7019</para> 7020<para lang="en"> 7021optimization of SSL handshakes when using long certificate chains. 7022</para> 7023</change> 7024 7025<change type="feature"> 7026<para lang="ru"> 7027почтовый прокси-сервер поддерживает SMTP pipelining. 7028</para> 7029<para lang="en"> 7030the mail proxy supports SMTP pipelining. 7031</para> 7032</change> 7033 7034<change type="bugfix"> 7035<para lang="ru"> 7036в модуле ngx_http_auth_basic_module 7037при использовании метода шифрования паролей "$apr1$".<br/> 7038Спасибо Markus Linnala. 7039</para> 7040<para lang="en"> 7041in the ngx_http_auth_basic_module 7042when using "$apr1$" password encryption method.<br/> 7043Thanks to Markus Linnala. 7044</para> 7045</change> 7046 7047<change type="bugfix"> 7048<para lang="ru"> 7049на MacOSX, Cygwin и nginx/Windows 7050для обработки запроса мог использоваться неверный location, 7051если для задания location'ов использовались символы разных регистров. 7052</para> 7053<para lang="en"> 7054in MacOSX, Cygwin, and nginx/Windows 7055incorrect location might be used to process a request 7056if locations were given using characters in different cases. 7057</para> 7058</change> 7059 7060<change type="bugfix"> 7061<para lang="ru"> 7062автоматическое перенаправление с добавлением завершающего слэша 7063для проксированных location'ов могло не работать. 7064</para> 7065<para lang="en"> 7066automatic redirect with appended trailing slash 7067for proxied locations might not work. 7068</para> 7069</change> 7070 7071<change type="bugfix"> 7072<para lang="ru"> 7073в почтовом прокси-сервере. 7074</para> 7075<para lang="en"> 7076in the mail proxy server. 7077</para> 7078</change> 7079 7080<change type="bugfix"> 7081<para lang="ru"> 7082в модуле ngx_http_spdy_module. 7083</para> 7084<para lang="en"> 7085in the ngx_http_spdy_module. 7086</para> 7087</change> 7088 7089</changes> 7090 7091 7092<changes ver="1.5.5" date="2013-09-17"> 7093 7094<change type="change"> 7095<para lang="ru"> 7096теперь nginx по умолчанию использует HTTP/1.0, 7097если точно определить протокол не удалось. 7098</para> 7099<para lang="en"> 7100now nginx assumes HTTP/1.0 by default 7101if it is not able to detect protocol reliably. 7102</para> 7103</change> 7104 7105<change type="feature"> 7106<para lang="ru"> 7107директива disable_symlinks теперь использует O_PATH на Linux. 7108</para> 7109<para lang="en"> 7110the "disable_symlinks" directive now uses O_PATH on Linux. 7111</para> 7112</change> 7113 7114<change type="feature"> 7115<para lang="ru"> 7116для определения того, что клиент закрыл соединение, 7117при использовании метода epoll 7118теперь используются события EPOLLRDHUP. 7119</para> 7120<para lang="en"> 7121now nginx uses EPOLLRDHUP events 7122to detect premature connection close by clients 7123if the "epoll" method is used. 7124</para> 7125</change> 7126 7127<change type="bugfix"> 7128<para lang="ru"> 7129в директиве valid_referers при использовании параметра server_names. 7130</para> 7131<para lang="en"> 7132in the "valid_referers" directive if the "server_names" parameter was used. 7133</para> 7134</change> 7135 7136<change type="bugfix"> 7137<para lang="ru"> 7138переменная $request_time не работала в nginx/Windows. 7139</para> 7140<para lang="en"> 7141the $request_time variable did not work in nginx/Windows. 7142</para> 7143</change> 7144 7145<change type="bugfix"> 7146<para lang="ru"> 7147в директиве image_filter.<br/> 7148Спасибо Lanshun Zhou. 7149</para> 7150<para lang="en"> 7151in the "image_filter" directive.<br/> 7152Thanks to Lanshun Zhou. 7153</para> 7154</change> 7155 7156<change type="bugfix"> 7157<para lang="ru"> 7158совместимость с OpenSSL 1.0.1f.<br/> 7159Спасибо Piotr Sikora. 7160</para> 7161<para lang="en"> 7162OpenSSL 1.0.1f compatibility.<br/> 7163Thanks to Piotr Sikora. 7164</para> 7165</change> 7166 7167 7168</changes> 7169 7170 7171<changes ver="1.5.4" date="2013-08-27"> 7172 7173<change type="change"> 7174<para lang="ru"> 7175MIME-тип для расширения js изменён на "application/javascript"; 7176значение по умолчанию директивы charset_types изменено соответственно. 7177</para> 7178<para lang="en"> 7179the "js" extension MIME type has been changed to "application/javascript"; 7180default value of the "charset_types" directive was changed accordingly. 7181</para> 7182</change> 7183 7184<change type="change"> 7185<para lang="ru"> 7186теперь директива image_filter с параметром size 7187возвращает ответ с MIME-типом "application/json". 7188</para> 7189<para lang="en"> 7190now the "image_filter" directive with the "size" parameter 7191returns responses with the "application/json" MIME type. 7192</para> 7193</change> 7194 7195<change type="feature"> 7196<para lang="ru"> 7197модуль ngx_http_auth_request_module. 7198</para> 7199<para lang="en"> 7200the ngx_http_auth_request_module. 7201</para> 7202</change> 7203 7204<change type="bugfix"> 7205<para lang="ru"> 7206на старте или во время переконфигурации мог произойти segmentation fault, 7207если использовалась директива try_files с пустым параметром. 7208</para> 7209<para lang="en"> 7210a segmentation fault might occur on start or during reconfiguration 7211if the "try_files" directive was used with an empty parameter. 7212</para> 7213</change> 7214 7215<change type="bugfix"> 7216<para lang="ru"> 7217утечки памяти при использовании в директивах root и auth_basic_user_file 7218относительных путей, заданных с помощью переменных. 7219</para> 7220<para lang="en"> 7221memory leak if relative paths were specified using variables 7222in the "root" or "auth_basic_user_file" directives. 7223</para> 7224</change> 7225 7226<change type="bugfix"> 7227<para lang="ru"> 7228директива valid_referers неправильно выполняла регулярные выражения, 7229если заголовок Referer начинался с "https://".<br/> 7230Спасибо Liangbin Li. 7231</para> 7232<para lang="en"> 7233the "valid_referers" directive incorrectly executed regular expressions 7234if a "Referer" header started with "https://".<br/> 7235Thanks to Liangbin Li. 7236</para> 7237</change> 7238 7239<change type="bugfix"> 7240<para lang="ru"> 7241ответы могли зависать, если использовались подзапросы и при обработке подзапроса 7242происходила ошибка во время SSL handshake с бэкендом.<br/> 7243Спасибо Aviram Cohen. 7244</para> 7245<para lang="en"> 7246responses might hang if subrequests were used 7247and an SSL handshake error happened during subrequest processing.<br/> 7248Thanks to Aviram Cohen. 7249</para> 7250</change> 7251 7252<change type="bugfix"> 7253<para lang="ru"> 7254в модуле ngx_http_autoindex_module. 7255</para> 7256<para lang="en"> 7257in the ngx_http_autoindex_module. 7258</para> 7259</change> 7260 7261<change type="bugfix"> 7262<para lang="ru"> 7263в модуле ngx_http_spdy_module. 7264</para> 7265<para lang="en"> 7266in the ngx_http_spdy_module. 7267</para> 7268</change> 7269 7270</changes> 7271 7272 7273<changes ver="1.5.3" date="2013-07-30"> 7274 7275<change> 7276<para lang="ru"> 7277Изменение во внутреннем API: 7278теперь при небуферизированной работе с бэкендами 7279u->length по умолчанию устанавливается в -1. 7280</para> 7281<para lang="en"> 7282Change in internal API: 7283now u->length defaults to -1 7284if working with backends in unbuffered mode. 7285</para> 7286</change> 7287 7288<change type="change"> 7289<para lang="ru"> 7290теперь при получении неполного ответа от бэкенда 7291nginx отправляет полученную часть ответа, 7292после чего закрывает соединение с клиентом. 7293</para> 7294<para lang="en"> 7295now after receiving an incomplete response from a backend server 7296nginx tries to send an available part of the response to a client, 7297and then closes client connection. 7298</para> 7299</change> 7300 7301<change type="bugfix"> 7302<para lang="ru"> 7303в рабочем процессе мог произойти segmentation fault, 7304если использовался модуль ngx_http_spdy_module 7305и директива client_body_in_file_only. 7306</para> 7307<para lang="en"> 7308a segmentation fault might occur in a worker process 7309if the ngx_http_spdy_module was used 7310with the "client_body_in_file_only" directive. 7311</para> 7312</change> 7313 7314<change type="bugfix"> 7315<para lang="ru"> 7316параметр so_keepalive директивы listen 7317мог работать некорректно на DragonFlyBSD.<br/> 7318Спасибо Sepherosa Ziehau. 7319</para> 7320<para lang="en"> 7321the "so_keepalive" parameter of the "listen" directive 7322might be handled incorrectly on DragonFlyBSD.<br/> 7323Thanks to Sepherosa Ziehau. 7324</para> 7325</change> 7326 7327<change type="bugfix"> 7328<para lang="ru"> 7329в модуле ngx_http_xslt_filter_module. 7330</para> 7331<para lang="en"> 7332in the ngx_http_xslt_filter_module. 7333</para> 7334</change> 7335 7336<change type="bugfix"> 7337<para lang="ru"> 7338в модуле ngx_http_sub_filter_module. 7339</para> 7340<para lang="en"> 7341in the ngx_http_sub_filter_module. 7342</para> 7343</change> 7344 7345</changes> 7346 7347 7348<changes ver="1.5.2" date="2013-07-02"> 7349 7350<change type="feature"> 7351<para lang="ru"> 7352теперь можно использовать несколько директив error_log. 7353</para> 7354<para lang="en"> 7355now several "error_log" directives can be used. 7356</para> 7357</change> 7358 7359<change type="bugfix"> 7360<para lang="ru"> 7361метод $r->header_in() встроенного перла не возвращал значения строк 7362"Cookie" и "X-Forwarded-For" из заголовка запроса; 7363ошибка появилась в 1.3.14. 7364</para> 7365<para lang="en"> 7366the $r->header_in() embedded perl method did not return value of the 7367"Cookie" and "X-Forwarded-For" request header lines; 7368the bug had appeared in 1.3.14. 7369</para> 7370</change> 7371 7372<change type="bugfix"> 7373<para lang="ru"> 7374в модуле ngx_http_spdy_module.<br/> 7375Спасибо Jim Radford. 7376</para> 7377<para lang="en"> 7378in the ngx_http_spdy_module.<br/> 7379Thanks to Jim Radford. 7380</para> 7381</change> 7382 7383<change type="bugfix"> 7384<para lang="ru"> 7385nginx не собирался на Linux при использовании x32 ABI.<br/> 7386Спасибо Сергею Иванцову. 7387</para> 7388<para lang="en"> 7389nginx could not be built on Linux with x32 ABI.<br/> 7390Thanks to Serguei Ivantsov. 7391</para> 7392</change> 7393 7394</changes> 7395 7396 7397<changes ver="1.5.1" date="2013-06-04"> 7398 7399<change type="feature"> 7400<para lang="ru"> 7401директивы ssi_last_modified, sub_filter_last_modified и 7402xslt_last_modified.<br/> 7403Спасибо Алексею Колпакову. 7404</para> 7405<para lang="en"> 7406the "ssi_last_modified", "sub_filter_last_modified", and 7407"xslt_last_modified" directives.<br/> 7408Thanks to Alexey Kolpakov. 7409</para> 7410</change> 7411 7412<change type="feature"> 7413<para lang="ru"> 7414параметр http_403 в директивах proxy_next_upstream, fastcgi_next_upstream, 7415scgi_next_upstream и uwsgi_next_upstream. 7416</para> 7417<para lang="en"> 7418the "http_403" parameter of the "proxy_next_upstream", "fastcgi_next_upstream", 7419"scgi_next_upstream", and "uwsgi_next_upstream" directives. 7420</para> 7421</change> 7422 7423<change type="feature"> 7424<para lang="ru"> 7425директивы allow и deny теперь поддерживают unix domain сокеты. 7426</para> 7427<para lang="en"> 7428the "allow" and "deny" directives now support unix domain sockets. 7429</para> 7430</change> 7431 7432<change type="bugfix"> 7433<para lang="ru"> 7434nginx не собирался с модулем ngx_mail_ssl_module, 7435но без модуля ngx_http_ssl_module; 7436ошибка появилась в 1.3.14. 7437</para> 7438<para lang="en"> 7439nginx could not be built with the ngx_mail_ssl_module, 7440but without ngx_http_ssl_module; 7441the bug had appeared in 1.3.14. 7442</para> 7443</change> 7444 7445<change type="bugfix"> 7446<para lang="ru"> 7447в директиве proxy_set_body.<br/> 7448Спасибо Lanshun Zhou. 7449</para> 7450<para lang="en"> 7451in the "proxy_set_body" directive.<br/> 7452Thanks to Lanshun Zhou. 7453</para> 7454</change> 7455 7456<change type="bugfix"> 7457<para lang="ru"> 7458в директиве lingering_time.<br/> 7459Спасибо Lanshun Zhou. 7460</para> 7461<para lang="en"> 7462in the "lingering_time" directive.<br/> 7463Thanks to Lanshun Zhou. 7464</para> 7465</change> 7466 7467<change type="bugfix"> 7468<para lang="ru"> 7469параметр fail_timeout директивы server 7470в блоке upstream мог не работать, 7471если использовался параметр max_fails; 7472ошибка появилась в 1.3.0. 7473</para> 7474<para lang="en"> 7475the "fail_timeout" parameter of the "server" directive 7476in the "upstream" context might not work 7477if "max_fails" parameter was used; 7478the bug had appeared in 1.3.0. 7479</para> 7480</change> 7481 7482<change type="bugfix"> 7483<para lang="ru"> 7484в рабочем процессе мог произойти segmentation fault, 7485если использовалась директива ssl_stapling.<br/> 7486Спасибо Piotr Sikora. 7487</para> 7488<para lang="en"> 7489a segmentation fault might occur in a worker process 7490if the "ssl_stapling" directive was used.<br/> 7491Thanks to Piotr Sikora. 7492</para> 7493</change> 7494 7495<change type="bugfix"> 7496<para lang="ru"> 7497в почтовом прокси-сервере.<br/> 7498Спасибо Filipe Da Silva. 7499</para> 7500<para lang="en"> 7501in the mail proxy server.<br/> 7502Thanks to Filipe Da Silva. 7503</para> 7504</change> 7505 7506<change type="bugfix"> 7507<para lang="ru"> 7508nginx/Windows мог перестать принимать соединения, 7509если использовалось несколько рабочих процессов. 7510</para> 7511<para lang="en"> 7512nginx/Windows might stop accepting connections 7513if several worker processes were used. 7514</para> 7515</change> 7516 7517</changes> 7518 7519 7520<changes ver="1.5.0" date="2013-05-07"> 7521 7522<change type="security"> 7523<para lang="ru"> 7524при обработке специально созданного запроса 7525мог перезаписываться стек рабочего процесса, 7526что могло приводить к выполнению произвольного кода (CVE-2013-2028); 7527ошибка появилась в 1.3.9.<br/> 7528Спасибо Greg MacManus, iSIGHT Partners Labs. 7529</para> 7530<para lang="en"> 7531a stack-based buffer overflow might occur in a worker process 7532while handling a specially crafted request, 7533potentially resulting in arbitrary code execution (CVE-2013-2028); 7534the bug had appeared in 1.3.9.<br/> 7535Thanks to Greg MacManus, iSIGHT Partners Labs. 7536</para> 7537</change> 7538 7539</changes> 7540 7541 7542<changes ver="1.4.0" date="2013-04-24"> 7543 7544<change type="bugfix"> 7545<para lang="ru"> 7546nginx не собирался с модулем ngx_http_perl_module, 7547если использовался параметр --with-openssl; 7548ошибка появилась в 1.3.16. 7549</para> 7550<para lang="en"> 7551nginx could not be built with the ngx_http_perl_module 7552if the --with-openssl option was used; 7553the bug had appeared in 1.3.16. 7554</para> 7555</change> 7556 7557<change type="bugfix"> 7558<para lang="ru"> 7559в работе с телом запроса из модуля ngx_http_perl_module; 7560ошибка появилась в 1.3.9. 7561</para> 7562<para lang="en"> 7563in a request body handling in the ngx_http_perl_module; 7564the bug had appeared in 1.3.9. 7565</para> 7566</change> 7567 7568</changes> 7569 7570 7571<changes ver="1.3.16" date="2013-04-16"> 7572 7573<change type="bugfix"> 7574<para lang="ru"> 7575в рабочем процессе мог произойти segmentation fault, 7576если использовались подзапросы; 7577ошибка появилась в 1.3.9. 7578</para> 7579<para lang="en"> 7580a segmentation fault might occur in a worker process 7581if subrequests were used; 7582the bug had appeared in 1.3.9. 7583</para> 7584</change> 7585 7586<change type="bugfix"> 7587<para lang="ru"> 7588директива tcp_nodelay вызывала ошибку 7589при проксировании WebSocket-соединений в unix domain сокет. 7590</para> 7591<para lang="en"> 7592the "tcp_nodelay" directive caused an error 7593if a WebSocket connection was proxied into a unix domain socket. 7594</para> 7595</change> 7596 7597<change type="bugfix"> 7598<para lang="ru"> 7599переменная $upstream_response_length возвращала значение "0", 7600если не использовалась буферизация.<br/> 7601Спасибо Piotr Sikora. 7602</para> 7603<para lang="en"> 7604the $upstream_response_length variable has an incorrect value "0" 7605if buffering was not used.<br/> 7606Thanks to Piotr Sikora. 7607</para> 7608</change> 7609 7610<change type="bugfix"> 7611<para lang="ru"> 7612в методах обработки соединений eventport и /dev/poll. 7613</para> 7614<para lang="en"> 7615in the eventport and /dev/poll methods. 7616</para> 7617</change> 7618 7619</changes> 7620 7621 7622<changes ver="1.3.15" date="2013-03-26"> 7623 7624<change type="change"> 7625<para lang="ru"> 7626открытие и закрытие соединения без отправки в нём каких-либо данных 7627больше не записывается в access_log с кодом ошибки 400. 7628</para> 7629<para lang="en"> 7630opening and closing a connection without sending any data in it 7631is no longer logged to access_log with error code 400. 7632</para> 7633</change> 7634 7635<change type="feature"> 7636<para lang="ru"> 7637модуль ngx_http_spdy_module.<br/> 7638Спасибо Automattic за спонсирование разработки. 7639</para> 7640<para lang="en"> 7641the ngx_http_spdy_module.<br/> 7642Thanks to Automattic for sponsoring this work. 7643</para> 7644</change> 7645 7646<change type="feature"> 7647<para lang="ru"> 7648директивы limit_req_status и limit_conn_status.<br/> 7649Спасибо Nick Marden. 7650</para> 7651<para lang="en"> 7652the "limit_req_status" and "limit_conn_status" directives.<br/> 7653Thanks to Nick Marden. 7654</para> 7655</change> 7656 7657<change type="feature"> 7658<para lang="ru"> 7659директива image_filter_interlace.<br/> 7660Спасибо Ивану Боброву. 7661</para> 7662<para lang="en"> 7663the "image_filter_interlace" directive.<br/> 7664Thanks to Ian Babrou. 7665</para> 7666</change> 7667 7668<change type="feature"> 7669<para lang="ru"> 7670переменная $connections_waiting в модуле ngx_http_stub_status_module. 7671</para> 7672<para lang="en"> 7673$connections_waiting variable in the ngx_http_stub_status_module. 7674</para> 7675</change> 7676 7677<change type="feature"> 7678<para lang="ru"> 7679теперь почтовый прокси-сервер поддерживает IPv6-бэкенды. 7680</para> 7681<para lang="en"> 7682the mail proxy module now supports IPv6 backends. 7683</para> 7684</change> 7685 7686<change type="bugfix"> 7687<para lang="ru"> 7688при повторной отправке запроса на бэкенд 7689тело запроса могло передаваться неправильно; 7690ошибка появилась в 1.3.9.<br/> 7691Спасибо Piotr Sikora. 7692</para> 7693<para lang="en"> 7694request body might be transmitted incorrectly 7695when retrying a request to the next upstream server; 7696the bug had appeared in 1.3.9.<br/> 7697Thanks to Piotr Sikora. 7698</para> 7699</change> 7700 7701<change type="bugfix"> 7702<para lang="ru"> 7703в директиве client_body_in_file_only; 7704ошибка появилась в 1.3.9. 7705</para> 7706<para lang="en"> 7707in the "client_body_in_file_only" directive; 7708the bug had appeared in 1.3.9. 7709</para> 7710</change> 7711 7712<change type="bugfix"> 7713<para lang="ru"> 7714ответы могли зависать, 7715если использовались подзапросы 7716и при обработке подзапроса происходила DNS-ошибка.<br/> 7717Спасибо Lanshun Zhou. 7718</para> 7719<para lang="en"> 7720responses might hang 7721if subrequests were used 7722and a DNS error happened during subrequest processing.<br/> 7723Thanks to Lanshun Zhou. 7724</para> 7725</change> 7726 7727<change type="bugfix"> 7728<para lang="ru"> 7729в процедуре учёта использования бэкендов. 7730</para> 7731<para lang="en"> 7732in backend usage accounting. 7733</para> 7734</change> 7735 7736</changes> 7737 7738 7739<changes ver="1.3.14" date="2013-03-05"> 7740 7741<change type="feature"> 7742<para lang="ru"> 7743переменные $connections_active, $connections_reading и $connections_writing 7744в модуле ngx_http_stub_status_module. 7745</para> 7746<para lang="en"> 7747$connections_active, $connections_reading, and $connections_writing variables 7748in the ngx_http_stub_status_module. 7749</para> 7750</change> 7751 7752<change type="feature"> 7753<para lang="ru"> 7754поддержка WebSocket-соединений 7755в модулях ngx_http_uwsgi_module и ngx_http_scgi_module. 7756</para> 7757<para lang="en"> 7758support of WebSocket connections 7759in the ngx_http_uwsgi_module and ngx_http_scgi_module. 7760</para> 7761</change> 7762 7763<change type="bugfix"> 7764<para lang="ru"> 7765в обработке виртуальных серверов при использовании SNI. 7766</para> 7767<para lang="en"> 7768in virtual servers handling with SNI. 7769</para> 7770</change> 7771 7772<change type="bugfix"> 7773<para lang="ru"> 7774при использовании директивы "ssl_session_cache shared" 7775новые сессии могли не сохраняться, 7776если заканчивалось место в разделяемой памяти.<br/> 7777Спасибо Piotr Sikora. 7778</para> 7779<para lang="en"> 7780new sessions were not always stored 7781if the "ssl_session_cache shared" directive was used 7782and there was no free space in shared memory.<br/> 7783Thanks to Piotr Sikora. 7784</para> 7785</change> 7786 7787<change type="bugfix"> 7788<para lang="ru"> 7789несколько заголовков X-Forwarded-For обрабатывались неправильно.<br/> 7790Спасибо Neal Poole за спонсирование разработки. 7791</para> 7792<para lang="en"> 7793multiple X-Forwarded-For headers were handled incorrectly.<br/> 7794Thanks to Neal Poole for sponsoring this work. 7795</para> 7796</change> 7797 7798<change type="bugfix"> 7799<para lang="ru"> 7800в модуле ngx_http_mp4_module.<br/> 7801Спасибо Gernot Vormayr. 7802</para> 7803<para lang="en"> 7804in the ngx_http_mp4_module.<br/> 7805Thanks to Gernot Vormayr. 7806</para> 7807</change> 7808 7809</changes> 7810 7811 7812<changes ver="1.3.13" date="2013-02-19"> 7813 7814<change type="change"> 7815<para lang="ru"> 7816теперь для сборки по умолчанию используется компилятор с именем "cc". 7817</para> 7818<para lang="en"> 7819a compiler with name "cc" is now used by default. 7820</para> 7821</change> 7822 7823<change type="feature"> 7824<para lang="ru"> 7825поддержка проксирования WebSocket-соединений.<br/> 7826Спасибо Apcera и CloudBees за спонсирование разработки. 7827</para> 7828<para lang="en"> 7829support for proxying of WebSocket connections.<br/> 7830Thanks to Apcera and CloudBees for sponsoring this work. 7831</para> 7832</change> 7833 7834<change type="feature"> 7835<para lang="ru"> 7836директива auth_basic_user_file поддерживает шифрование паролей 7837методом "{SHA}".<br/> 7838Спасибо Louis Opter. 7839</para> 7840<para lang="en"> 7841the "auth_basic_user_file" directive supports "{SHA}" 7842password encryption method.<br/> 7843Thanks to Louis Opter. 7844</para> 7845</change> 7846 7847</changes> 7848 7849 7850<changes ver="1.3.12" date="2013-02-05"> 7851 7852<change type="feature"> 7853<para lang="ru"> 7854директивы proxy_bind, fastcgi_bind, memcached_bind, scgi_bind и uwsgi_bind 7855поддерживают переменные. 7856</para> 7857<para lang="en"> 7858variables support in the "proxy_bind", "fastcgi_bind", "memcached_bind", 7859"scgi_bind", and "uwsgi_bind" directives. 7860</para> 7861</change> 7862 7863<change type="feature"> 7864<para lang="ru"> 7865переменные $pipe, $request_length, $time_iso8601 и $time_local 7866теперь можно использовать не только в директиве log_format.<br/> 7867Спасибо Kiril Kalchev. 7868</para> 7869<para lang="en"> 7870the $pipe, $request_length, $time_iso8601, and $time_local variables 7871can now be used not only in the "log_format" directive. 7872Thanks to Kiril Kalchev. 7873</para> 7874</change> 7875 7876<change type="feature"> 7877<para lang="ru"> 7878поддержка IPv6 в модуле ngx_http_geoip_module.<br/> 7879Спасибо Gregor Kališnik. 7880</para> 7881<para lang="en"> 7882IPv6 support in the ngx_http_geoip_module.<br/> 7883Thanks to Gregor Kališnik. 7884</para> 7885</change> 7886 7887<change type="bugfix"> 7888<para lang="ru"> 7889директива proxy_method работала неверно, если была указана на уровне http. 7890</para> 7891<para lang="en"> 7892in the "proxy_method" directive. 7893</para> 7894</change> 7895 7896<change type="bugfix"> 7897<para lang="ru"> 7898в рабочем процессе мог произойти segmentation fault, 7899если использовался resolver и метод poll. 7900</para> 7901<para lang="en"> 7902a segmentation fault might occur in a worker process 7903if resolver was used with the poll method. 7904</para> 7905</change> 7906 7907<change type="bugfix"> 7908<para lang="ru"> 7909nginx мог нагружать процессор во время SSL handshake с бэкендом 7910при использовании методов обработки соединений select, poll и /dev/poll. 7911</para> 7912<para lang="en"> 7913nginx might hog CPU during SSL handshake with a backend 7914if the select, poll, or /dev/poll methods were used. 7915</para> 7916</change> 7917 7918<change type="bugfix"> 7919<para lang="ru"> 7920ошибка "[crit] SSL_write() failed (SSL:)". 7921</para> 7922<para lang="en"> 7923the "[crit] SSL_write() failed (SSL:)" error. 7924</para> 7925</change> 7926 7927<change type="bugfix"> 7928<para lang="ru"> 7929в директиве client_body_in_file_only; 7930ошибка появилась в 1.3.9. 7931</para> 7932<para lang="en"> 7933in the "client_body_in_file_only" directive; 7934the bug had appeared in 1.3.9. 7935</para> 7936</change> 7937 7938<change type="bugfix"> 7939<para lang="ru"> 7940в директиве fastcgi_keep_conn. 7941</para> 7942<para lang="en"> 7943in the "fastcgi_keep_conn" directive. 7944</para> 7945</change> 7946 7947</changes> 7948 7949 7950<changes ver="1.3.11" date="2013-01-10"> 7951 7952<change type="bugfix"> 7953<para lang="ru"> 7954при записи в лог мог происходить segmentation fault; 7955ошибка появилась в 1.3.10. 7956</para> 7957<para lang="en"> 7958a segmentation fault might occur if logging was used; 7959the bug had appeared in 1.3.10. 7960</para> 7961</change> 7962 7963<change type="bugfix"> 7964<para lang="ru"> 7965директива proxy_pass не работала с IP-адресами 7966без явного указания порта; 7967ошибка появилась в 1.3.10. 7968</para> 7969<para lang="en"> 7970the "proxy_pass" directive did not work with IP addresses 7971without port specified; 7972the bug had appeared in 1.3.10. 7973</para> 7974</change> 7975 7976<change type="bugfix"> 7977<para lang="ru"> 7978на старте или во время переконфигурации происходил segmentation fault, 7979если директива keepalive была указана несколько раз 7980в одном блоке upstream. 7981</para> 7982<para lang="en"> 7983a segmentation fault occurred on start or during reconfiguration 7984if the "keepalive" directive was specified more than once 7985in a single upstream block. 7986</para> 7987</change> 7988 7989<change type="bugfix"> 7990<para lang="ru"> 7991параметр default директивы geo не определял значение по умолчанию 7992для IPv6-адресов. 7993</para> 7994<para lang="en"> 7995parameter "default" of the "geo" directive did not set default value 7996for IPv6 addresses. 7997</para> 7998</change> 7999 8000</changes> 8001 8002 8003<changes ver="1.3.10" date="2012-12-25"> 8004 8005<change type="change"> 8006<para lang="ru"> 8007для указанных в конфигурационном файле доменных имён теперь 8008используются не только IPv4, но и IPv6 адреса. 8009</para> 8010<para lang="en"> 8011domain names specified in configuration file 8012are now resolved to IPv6 addresses as well as IPv4 ones. 8013</para> 8014</change> 8015 8016<change type="change"> 8017<para lang="ru"> 8018теперь при использовании директивы include с маской на Unix-системах 8019включаемые файлы сортируются в алфавитном порядке. 8020</para> 8021<para lang="en"> 8022now if the "include" directive with mask is used on Unix systems, 8023included files are sorted in alphabetical order. 8024</para> 8025</change> 8026 8027<change type="change"> 8028<para lang="ru"> 8029директива add_header добавляет строки в ответы с кодом 201. 8030</para> 8031<para lang="en"> 8032the "add_header" directive adds headers to 201 responses. 8033</para> 8034</change> 8035 8036<change type="feature"> 8037<para lang="ru"> 8038директива geo теперь поддерживает IPv6 адреса в формате CIDR. 8039</para> 8040<para lang="en"> 8041the "geo" directive now supports IPv6 addresses in CIDR notation. 8042</para> 8043</change> 8044 8045<change type="feature"> 8046<para lang="ru"> 8047параметры flush и gzip в директиве access_log. 8048</para> 8049<para lang="en"> 8050the "flush" and "gzip" parameters of the "access_log" directive. 8051</para> 8052</change> 8053 8054<change type="feature"> 8055<para lang="ru"> 8056директива auth_basic поддерживает переменные. 8057</para> 8058<para lang="en"> 8059variables support in the "auth_basic" directive. 8060</para> 8061</change> 8062 8063<change type="bugfix"> 8064<para lang="ru"> 8065nginx в некоторых случаях не собирался с модулем ngx_http_perl_module. 8066</para> 8067<para lang="en"> 8068nginx could not be built with the ngx_http_perl_module in some cases. 8069</para> 8070</change> 8071 8072<change type="bugfix"> 8073<para lang="ru"> 8074в рабочем процессе мог произойти segmentation fault, 8075если использовался модуль ngx_http_xslt_module. 8076</para> 8077<para lang="en"> 8078a segmentation fault might occur in a worker process 8079if the ngx_http_xslt_module was used. 8080</para> 8081</change> 8082 8083<change type="bugfix"> 8084<para lang="ru"> 8085nginx мог не собираться на MacOSX.<br/> 8086Спасибо Piotr Sikora. 8087</para> 8088<para lang="en"> 8089nginx could not be built on MacOSX in some cases.<br/> 8090Thanks to Piotr Sikora. 8091</para> 8092</change> 8093 8094<change type="bugfix"> 8095<para lang="ru"> 8096при использовании директивы limit_rate с большими значениями скорости 8097на 32-битных системах ответ мог возвращаться не целиком.<br/> 8098Спасибо Алексею Антропову. 8099</para> 8100<para lang="en"> 8101the "limit_rate" directive with high rates 8102might result in truncated responses on 32-bit platforms.<br/> 8103Thanks to Alexey Antropov. 8104</para> 8105</change> 8106 8107<change type="bugfix"> 8108<para lang="ru"> 8109в рабочем процессе мог произойти segmentation fault, 8110если использовалась директива if.<br/> 8111Спасибо Piotr Sikora. 8112</para> 8113<para lang="en"> 8114a segmentation fault might occur in a worker process 8115if the "if" directive was used.<br/> 8116Thanks to Piotr Sikora. 8117</para> 8118</change> 8119 8120<change type="bugfix"> 8121<para lang="ru"> 8122ответ "100 Continue" выдавался 8123вместе с ответом "413 Request Entity Too Large". 8124</para> 8125<para lang="en"> 8126a "100 Continue" response was issued 8127with "413 Request Entity Too Large" responses. 8128</para> 8129</change> 8130 8131<change type="bugfix"> 8132<para lang="ru"> 8133директивы image_filter, image_filter_jpeg_quality и image_filter_sharpen 8134могли наследоваться некорректно.<br/> 8135Спасибо Ивану Боброву. 8136</para> 8137<para lang="en"> 8138the "image_filter", "image_filter_jpeg_quality" 8139and "image_filter_sharpen" directives 8140might be inherited incorrectly.<br/> 8141Thanks to Ian Babrou. 8142</para> 8143</change> 8144 8145<change type="bugfix"> 8146<para lang="ru"> 8147при использовании директивы auth_basic под Linux 8148могли возникать ошибки "crypt_r() failed". 8149</para> 8150<para lang="en"> 8151"crypt_r() failed" errors might appear 8152if the "auth_basic" directive was used on Linux. 8153</para> 8154</change> 8155 8156<change type="bugfix"> 8157<para lang="ru"> 8158в обработке backup-серверов.<br/> 8159Спасибо Thomas Chen. 8160</para> 8161<para lang="en"> 8162in backup servers handling.<br/> 8163Thanks to Thomas Chen. 8164</para> 8165</change> 8166 8167<change type="bugfix"> 8168<para lang="ru"> 8169при проксировании HEAD-запросов мог возвращаться некорректный ответ, 8170если использовалась директива gzip. 8171</para> 8172<para lang="en"> 8173proxied HEAD requests might return incorrect response 8174if the "gzip" directive was used. 8175</para> 8176</change> 8177 8178</changes> 8179 8180 8181<changes ver="1.3.9" date="2012-11-27"> 8182 8183<change type="feature"> 8184<para lang="ru"> 8185поддержка chunked transfer encoding при получении тела запроса. 8186</para> 8187<para lang="en"> 8188support for chunked transfer encoding while reading client request body. 8189</para> 8190</change> 8191 8192<change type="feature"> 8193<para lang="ru"> 8194переменные $request_time и $msec 8195теперь можно использовать не только в директиве log_format. 8196</para> 8197<para lang="en"> 8198the $request_time and $msec variables 8199can now be used not only in the "log_format" directive. 8200</para> 8201</change> 8202 8203<change type="bugfix"> 8204<para lang="ru"> 8205cache manager и cache loader могли не запускаться, 8206если использовалось более 512 listen-сокетов. 8207</para> 8208<para lang="en"> 8209cache manager and cache loader processes might not be able to start 8210if more than 512 listen sockets were used. 8211</para> 8212</change> 8213 8214<change type="bugfix"> 8215<para lang="ru"> 8216в модуле ngx_http_dav_module. 8217</para> 8218<para lang="en"> 8219in the ngx_http_dav_module. 8220</para> 8221</change> 8222 8223</changes> 8224 8225 8226<changes ver="1.3.8" date="2012-10-30"> 8227 8228<change type="feature"> 8229<para lang="ru"> 8230параметр optional_no_ca директивы ssl_verify_client.<br/> 8231Спасибо Михаилу Казанцеву и Eric O'Connor. 8232</para> 8233<para lang="en"> 8234the "optional_no_ca" parameter of the "ssl_verify_client" directive.<br/> 8235Thanks to Mike Kazantsev and Eric O'Connor. 8236</para> 8237</change> 8238 8239<change type="feature"> 8240<para lang="ru"> 8241переменные $bytes_sent, $connection и $connection_requests 8242теперь можно использовать не только в директиве log_format.<br/> 8243Спасибо Benjamin Grössing. 8244</para> 8245<para lang="en"> 8246the $bytes_sent, $connection, and $connection_requests variables 8247can now be used not only in the "log_format" directive.<br/> 8248Thanks to Benjamin Grössing. 8249</para> 8250</change> 8251 8252<change type="feature"> 8253<para lang="ru"> 8254параметр auto директивы worker_processes. 8255</para> 8256<para lang="en"> 8257the "auto" parameter of the "worker_processes" directive. 8258</para> 8259</change> 8260 8261<change type="bugfix"> 8262<para lang="ru"> 8263сообщения "cache file ... has md5 collision". 8264</para> 8265<para lang="en"> 8266"cache file ... has md5 collision" alert. 8267</para> 8268</change> 8269 8270<change type="bugfix"> 8271<para lang="ru"> 8272в модуле ngx_http_gunzip_filter_module. 8273</para> 8274<para lang="en"> 8275in the ngx_http_gunzip_filter_module. 8276</para> 8277</change> 8278 8279<change type="bugfix"> 8280<para lang="ru"> 8281в директиве ssl_stapling. 8282</para> 8283<para lang="en"> 8284in the "ssl_stapling" directive. 8285</para> 8286</change> 8287 8288</changes> 8289 8290 8291<changes ver="1.3.7" date="2012-10-02"> 8292 8293<change type="feature"> 8294<para lang="ru"> 8295поддержка OCSP stapling.<br/> 8296Спасибо Comodo, DigiCert и GlobalSign за спонсирование разработки. 8297</para> 8298<para lang="en"> 8299OCSP stapling support.<br/> 8300Thanks to Comodo, DigiCert and GlobalSign for sponsoring this work. 8301</para> 8302</change> 8303 8304<change type="feature"> 8305<para lang="ru"> 8306директива ssl_trusted_certificate. 8307</para> 8308<para lang="en"> 8309the "ssl_trusted_certificate" directive. 8310</para> 8311</change> 8312 8313<change type="feature"> 8314<para lang="ru"> 8315теперь resolver случайным образом меняет порядок 8316возвращаемых закэшированных адресов.<br/> 8317Спасибо Антону Жулину. 8318</para> 8319<para lang="en"> 8320resolver now randomly rotates addresses 8321returned from cache.<br/> 8322Thanks to Anton Jouline. 8323</para> 8324</change> 8325 8326<change type="bugfix"> 8327<para lang="ru"> 8328совместимость с OpenSSL 0.9.7. 8329</para> 8330<para lang="en"> 8331OpenSSL 0.9.7 compatibility. 8332</para> 8333</change> 8334 8335</changes> 8336 8337 8338<changes ver="1.3.6" date="2012-09-12"> 8339 8340<change type="feature"> 8341<para lang="ru"> 8342модуль ngx_http_gunzip_filter_module. 8343</para> 8344<para lang="en"> 8345the ngx_http_gunzip_filter_module. 8346</para> 8347</change> 8348 8349<change type="feature"> 8350<para lang="ru"> 8351директива memcached_gzip_flag. 8352</para> 8353<para lang="en"> 8354the "memcached_gzip_flag" directive. 8355</para> 8356</change> 8357 8358<change type="feature"> 8359<para lang="ru"> 8360параметр always директивы gzip_static. 8361</para> 8362<para lang="en"> 8363the "always" parameter of the "gzip_static" directive. 8364</para> 8365</change> 8366 8367<change type="bugfix"> 8368<para lang="ru"> 8369в директиве "limit_req"; 8370ошибка появилась в 1.1.14.<br/> 8371Спасибо Charles Chen. 8372</para> 8373<para lang="en"> 8374in the "limit_req" directive; 8375the bug had appeared in 1.1.14.<br/> 8376Thanks to Charles Chen. 8377</para> 8378</change> 8379 8380<change type="bugfix"> 8381<para lang="ru"> 8382nginx не собирался gcc 4.7 с оптимизацией -O2 8383если использовался параметр --with-ipv6. 8384</para> 8385<para lang="en"> 8386nginx could not be built by gcc 4.7 with -O2 optimization 8387if the --with-ipv6 option was used. 8388</para> 8389</change> 8390 8391</changes> 8392 8393 8394<changes ver="1.3.5" date="2012-08-21"> 8395 8396<change type="change"> 8397<para lang="ru"> 8398модуль ngx_http_mp4_module больше не отфильтровывает дорожки 8399в форматах, отличных от H.264 и AAC. 8400</para> 8401<para lang="en"> 8402the ngx_http_mp4_module module no longer skips 8403tracks in formats other than H.264 and AAC. 8404</para> 8405</change> 8406 8407<change type="bugfix"> 8408<para lang="ru"> 8409в рабочем процессе мог произойти segmentation fault, 8410если в директиве map в качестве значений использовались переменные. 8411</para> 8412<para lang="en"> 8413a segmentation fault might occur in a worker process 8414if the "map" directive was used with variables as values. 8415</para> 8416</change> 8417 8418<change type="bugfix"> 8419<para lang="ru"> 8420в рабочем процессе мог произойти segmentation fault 8421при использовании директивы geo с параметром ranges, 8422но без параметра default; ошибка появилась в 0.8.43.<br/> 8423Спасибо Zhen Chen и Weibin Yao. 8424</para> 8425<para lang="en"> 8426a segmentation fault might occur in a worker process 8427if the "geo" directive was used with the "ranges" parameter 8428but without the "default" parameter; the bug had appeared in 0.8.43.<br/> 8429Thanks to Zhen Chen and Weibin Yao. 8430</para> 8431</change> 8432 8433<change type="bugfix"> 8434<para lang="ru"> 8435в обработке параметра командной строки -p. 8436</para> 8437<para lang="en"> 8438in the -p command-line parameter handling. 8439</para> 8440</change> 8441 8442<change type="bugfix"> 8443<para lang="ru"> 8444в почтовом прокси-сервере. 8445</para> 8446<para lang="en"> 8447in the mail proxy server. 8448</para> 8449</change> 8450 8451<change type="bugfix"> 8452<para lang="ru"> 8453незначительных потенциальных ошибок.<br/> 8454Спасибо Coverity. 8455</para> 8456<para lang="en"> 8457of minor potential bugs.<br/> 8458Thanks to Coverity. 8459</para> 8460</change> 8461 8462<change type="bugfix"> 8463<para lang="ru"> 8464nginx/Windows не собирался с Visual Studio 2005 Express.<br/> 8465Спасибо HAYASHI Kentaro. 8466</para> 8467<para lang="en"> 8468nginx/Windows could not be built with Visual Studio 2005 Express.<br/> 8469Thanks to HAYASHI Kentaro. 8470</para> 8471</change> 8472 8473</changes> 8474 8475 8476<changes ver="1.3.4" date="2012-07-31"> 8477 8478<change type="change"> 8479<para lang="ru"> 8480теперь на слушающих IPv6-сокетах параметр ipv6only 8481включён по умолчанию. 8482</para> 8483<para lang="en"> 8484the "ipv6only" parameter is now turned on by default for 8485listening IPv6 sockets. 8486</para> 8487</change> 8488 8489<change type="feature"> 8490<para lang="ru"> 8491поддержка компилятора Clang. 8492</para> 8493<para lang="en"> 8494the Clang compiler support. 8495</para> 8496</change> 8497 8498<change type="bugfix"> 8499<para lang="ru"> 8500могли создаваться лишние слушающие сокеты.<br/> 8501Спасибо Роману Одайскому. 8502</para> 8503<para lang="en"> 8504extra listening sockets might be created.<br/> 8505Thanks to Roman Odaisky. 8506</para> 8507</change> 8508 8509<change type="bugfix"> 8510<para lang="ru"> 8511nginx/Windows мог нагружать процессор, если при запуске рабочего процесса 8512происходила ошибка.<br/> 8513Спасибо Ricardo Villalobos Guevara. 8514</para> 8515<para lang="en"> 8516nginx/Windows might hog CPU if a worker process failed to start.<br/> 8517Thanks to Ricardo Villalobos Guevara. 8518</para> 8519</change> 8520 8521<change type="bugfix"> 8522<para lang="ru"> 8523директивы proxy_pass_header, fastcgi_pass_header, scgi_pass_header, 8524uwsgi_pass_header, proxy_hide_header, fastcgi_hide_header, 8525scgi_hide_header и uwsgi_hide_header 8526могли наследоваться некорректно. 8527</para> 8528<para lang="en"> 8529the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header", 8530"uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header", 8531"scgi_hide_header", and "uwsgi_hide_header" directives 8532might be inherited incorrectly. 8533</para> 8534</change> 8535 8536</changes> 8537 8538 8539<changes ver="1.3.3" date="2012-07-10"> 8540 8541<change type="feature"> 8542<para lang="ru"> 8543поддержка entity tags и директива etag. 8544</para> 8545<para lang="en"> 8546entity tags support and the "etag" directive. 8547</para> 8548</change> 8549 8550<change type="bugfix"> 8551<para lang="ru"> 8552при использовании директивы map с параметром hostnames 8553не игнорировалась конечная точка в исходном значении. 8554</para> 8555<para lang="en"> 8556trailing dot in a source value was not ignored 8557if the "map" directive was used with the "hostnames" parameter. 8558</para> 8559</change> 8560 8561<change type="bugfix"> 8562<para lang="ru"> 8563для обработки запроса мог использоваться неверный location, 8564если переход в именованный location происходил 8565после изменения URI с помощью директивы rewrite. 8566</para> 8567<para lang="en"> 8568incorrect location might be used to process a request 8569if a URI was changed via a "rewrite" directive 8570before an internal redirect to a named location. 8571</para> 8572</change> 8573 8574</changes> 8575 8576 8577<changes ver="1.3.2" date="2012-06-26"> 8578 8579<change type="change"> 8580<para lang="ru"> 8581параметр single директивы keepalive теперь игнорируется. 8582</para> 8583<para lang="en"> 8584the "single" parameter of the "keepalive" directive is now ignored. 8585</para> 8586</change> 8587 8588<change type="change"> 8589<para lang="ru"> 8590сжатие SSL теперь отключено 8591в том числе при использовании OpenSSL старее 1.0.0. 8592</para> 8593<para lang="en"> 8594SSL compression is now disabled when using all versions of OpenSSL, 8595including ones prior to 1.0.0. 8596</para> 8597</change> 8598 8599<change type="feature"> 8600<para lang="ru"> 8601директиву "ip_hash" теперь можно использовать для балансировки IPv6 клиентов. 8602</para> 8603<para lang="en"> 8604it is now possible to use the "ip_hash" directive to balance IPv6 clients. 8605</para> 8606</change> 8607 8608<change type="feature"> 8609<para lang="ru"> 8610переменную $status теперь можно использовать не только в директиве log_format. 8611</para> 8612<para lang="en"> 8613the $status variable can now be used not only in the "log_format" directive. 8614</para> 8615</change> 8616 8617<change type="bugfix"> 8618<para lang="ru"> 8619при завершении рабочего процесса мог произойти segmentation fault, 8620если использовалась директива resolver. 8621</para> 8622<para lang="en"> 8623a segmentation fault might occur in a worker process on shutdown 8624if the "resolver" directive was used. 8625</para> 8626</change> 8627 8628<change type="bugfix"> 8629<para lang="ru"> 8630в рабочем процессе мог произойти segmentation fault, 8631если использовался модуль ngx_http_mp4_module. 8632</para> 8633<para lang="en"> 8634a segmentation fault might occur in a worker process 8635if the ngx_http_mp4_module was used. 8636</para> 8637</change> 8638 8639<change type="bugfix"> 8640<para lang="ru"> 8641в модуле ngx_http_mp4_module. 8642</para> 8643<para lang="en"> 8644in the ngx_http_mp4_module. 8645</para> 8646</change> 8647 8648<change type="bugfix"> 8649<para lang="ru"> 8650в рабочем процессе мог произойти segmentation fault, 8651если использовались конфликтующие имена серверов с масками. 8652</para> 8653<para lang="en"> 8654a segmentation fault might occur in a worker process 8655if conflicting wildcard server names were used. 8656</para> 8657</change> 8658 8659<change type="bugfix"> 8660<para lang="ru"> 8661на платформе ARM nginx мог аварийно завершаться по сигналу SIGBUS. 8662</para> 8663<para lang="en"> 8664nginx might be terminated abnormally on a SIGBUS signal on ARM platform. 8665</para> 8666</change> 8667 8668<change type="bugfix"> 8669<para lang="ru"> 8670во время переконфигурации на HP-UX в лог 8671записывался alert "sendmsg() failed (9: Bad file number)". 8672</para> 8673<para lang="en"> 8674an alert "sendmsg() failed (9: Bad file number)" on HP-UX 8675while reconfiguration. 8676</para> 8677</change> 8678 8679</changes> 8680 8681 8682<changes ver="1.3.1" date="2012-06-05"> 8683 8684<change type="security"> 8685<para lang="ru"> 8686теперь nginx/Windows игнорирует точку в конце компонента URI 8687и не разрешает URI, содержащие последовательность ":$".<br/> 8688Спасибо Владимиру Кочеткову, Positive Research Center. 8689</para> 8690<para lang="en"> 8691now nginx/Windows ignores trailing dot in URI path component, and 8692does not allow URIs with ":$" in it.<br/> 8693Thanks to Vladimir Kochetkov, Positive Research Center. 8694</para> 8695</change> 8696 8697<change type="feature"> 8698<para lang="ru"> 8699директивы proxy_pass, fastcgi_pass, scgi_pass, uwsgi_pass и 8700директива server в блоке upstream 8701теперь поддерживают IPv6-адреса. 8702</para> 8703<para lang="en"> 8704the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass" directives, and 8705the "server" directive inside the "upstream" block, 8706now support IPv6 addresses. 8707</para> 8708</change> 8709 8710<change type="feature"> 8711<para lang="ru"> 8712в директиве resolver теперь можно указывать порт и 8713задавать IPv6-адреса DNS-серверов. 8714</para> 8715<para lang="en"> 8716the "resolver" directive now supports IPv6 addresses and 8717an optional port specification. 8718</para> 8719</change> 8720 8721<change type="feature"> 8722<para lang="ru"> 8723директива least_conn в блоке upstream. 8724</para> 8725<para lang="en"> 8726the "least_conn" directive inside the "upstream" block. 8727</para> 8728</change> 8729 8730<change type="feature"> 8731<para lang="ru"> 8732при использовании директивы ip_hash 8733теперь можно задавать веса серверов. 8734</para> 8735<para lang="en"> 8736it is now possible to specify a weight for servers 8737while using the "ip_hash" directive. 8738</para> 8739</change> 8740 8741<change type="bugfix"> 8742<para lang="ru"> 8743в рабочем процессе мог произойти segmentation fault, 8744если использовалась директива image_filter; 8745ошибка появилась в 1.3.0. 8746</para> 8747<para lang="en"> 8748a segmentation fault might occur in a worker process 8749if the "image_filter" directive was used; 8750the bug had appeared in 1.3.0. 8751</para> 8752</change> 8753 8754<change type="bugfix"> 8755<para lang="ru"> 8756nginx не собирался с модулем ngx_cpp_test_module; 8757ошибка появилась в 1.1.12. 8758</para> 8759<para lang="en"> 8760nginx could not be built with ngx_cpp_test_module; 8761the bug had appeared in 1.1.12. 8762</para> 8763</change> 8764 8765<change type="bugfix"> 8766<para lang="ru"> 8767доступ к переменным из SSI и встроенного перла мог не работать после 8768переконфигурации.<br/> 8769Спасибо Yichun Zhang. 8770</para> 8771<para lang="en"> 8772access to variables from SSI and embedded perl module might not work after 8773reconfiguration.<br/> 8774Thanks to Yichun Zhang. 8775</para> 8776</change> 8777 8778<change type="bugfix"> 8779<para lang="ru"> 8780в модуле ngx_http_xslt_filter_module.<br/> 8781Спасибо Kuramoto Eiji. 8782</para> 8783<para lang="en"> 8784in the ngx_http_xslt_filter_module.<br/> 8785Thanks to Kuramoto Eiji. 8786</para> 8787</change> 8788 8789<change type="bugfix"> 8790<para lang="ru"> 8791утечки памяти при использовании переменной $geoip_org.<br/> 8792Спасибо Денису Латыпову. 8793</para> 8794<para lang="en"> 8795memory leak if $geoip_org variable was used.<br/> 8796Thanks to Denis F. Latypoff. 8797</para> 8798</change> 8799 8800<change type="bugfix"> 8801<para lang="ru"> 8802в директивах proxy_cookie_domain и proxy_cookie_path. 8803</para> 8804<para lang="en"> 8805in the "proxy_cookie_domain" and "proxy_cookie_path" directives. 8806</para> 8807</change> 8808 8809</changes> 8810 8811 8812<changes ver="1.3.0" date="2012-05-15"> 8813 8814<change type="feature"> 8815<para lang="ru"> 8816директива debug_connection теперь поддерживает IPv6-адреса 8817и параметр "unix:". 8818</para> 8819<para lang="en"> 8820the "debug_connection" directive now supports IPv6 addresses 8821and the "unix:" parameter. 8822</para> 8823</change> 8824 8825<change type="feature"> 8826<para lang="ru"> 8827директива set_real_ip_from и параметр proxy 8828директивы geo теперь поддерживают IPv6-адреса. 8829</para> 8830<para lang="en"> 8831the "set_real_ip_from" directive and the "proxy" parameter 8832of the "geo" directive now support IPv6 addresses. 8833</para> 8834</change> 8835 8836<change type="feature"> 8837<para lang="ru"> 8838директивы real_ip_recursive, geoip_proxy и geoip_proxy_recursive. 8839</para> 8840<para lang="en"> 8841the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives. 8842</para> 8843</change> 8844 8845<change type="feature"> 8846<para lang="ru"> 8847параметр proxy_recursive директивы geo. 8848</para> 8849<para lang="en"> 8850the "proxy_recursive" parameter of the "geo" directive. 8851</para> 8852</change> 8853 8854<change type="bugfix"> 8855<para lang="ru"> 8856в рабочем процессе мог произойти segmentation fault, 8857если использовалась директива resolver. 8858</para> 8859<para lang="en"> 8860a segmentation fault might occur in a worker process 8861if the "resolver" directive was used. 8862</para> 8863</change> 8864 8865<change type="bugfix"> 8866<para lang="ru"> 8867в рабочем процессе мог произойти segmentation fault, 8868если использовались директивы fastcgi_pass, scgi_pass или uwsgi_pass 8869и бэкенд возвращал некорректный ответ. 8870</para> 8871<para lang="en"> 8872a segmentation fault might occur in a worker process 8873if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used 8874and backend returned incorrect response. 8875</para> 8876</change> 8877 8878<change type="bugfix"> 8879<para lang="ru"> 8880в рабочем процессе мог произойти segmentation fault, 8881если использовалась директива rewrite и в новых аргументах запроса в строке 8882замены использовались переменные. 8883</para> 8884<para lang="en"> 8885a segmentation fault might occur in a worker process 8886if the "rewrite" directive was used and new request arguments 8887in a replacement used variables. 8888</para> 8889</change> 8890 8891<change type="bugfix"> 8892<para lang="ru"> 8893nginx мог нагружать процессор, 8894если было достигнуто ограничение на количество открытых файлов. 8895</para> 8896<para lang="en"> 8897nginx might hog CPU 8898if the open file resource limit was reached. 8899</para> 8900</change> 8901 8902<change type="bugfix"> 8903<para lang="ru"> 8904при использовании директивы proxy_next_upstream с параметром http_404 8905nginx мог бесконечно перебирать бэкенды, если в блоке upstream был 8906хотя бы один сервер с флагом backup. 8907</para> 8908<para lang="en"> 8909nginx might loop infinitely over backends 8910if the "proxy_next_upstream" directive with the "http_404" parameter was used 8911and there were backup servers specified in an upstream block. 8912</para> 8913</change> 8914 8915<change type="bugfix"> 8916<para lang="ru"> 8917при использовании директивы ip_hash 8918установка параметра down директивы server 8919могла приводить к ненужному перераспределению клиентов между бэкендами. 8920</para> 8921<para lang="en"> 8922adding the "down" parameter of the "server" directive 8923might cause unneeded client redistribution among backend servers 8924if the "ip_hash" directive was used. 8925</para> 8926</change> 8927 8928<change type="bugfix"> 8929<para lang="ru"> 8930утечки сокетов.<br/> 8931Спасибо Yichun Zhang. 8932</para> 8933<para lang="en"> 8934socket leak.<br/> 8935Thanks to Yichun Zhang. 8936</para> 8937</change> 8938 8939<change type="bugfix"> 8940<para lang="ru"> 8941в модуле ngx_http_fastcgi_module. 8942</para> 8943<para lang="en"> 8944in the ngx_http_fastcgi_module. 8945</para> 8946</change> 8947 8948</changes> 8949 8950 8951<changes ver="1.2.0" date="2012-04-23"> 8952 8953<change type="bugfix"> 8954<para lang="ru"> 8955в рабочем процессе мог произойти segmentation fault, 8956если использовалась директива try_files; 8957ошибка появилась в 1.1.19. 8958</para> 8959<para lang="en"> 8960a segmentation fault might occur in a worker process 8961if the "try_files" directive was used; 8962the bug had appeared in 1.1.19. 8963</para> 8964</change> 8965 8966<change type="bugfix"> 8967<para lang="ru"> 8968ответ мог быть передан не полностью, 8969если использовалось больше IOV_MAX буферов. 8970</para> 8971<para lang="en"> 8972response might be truncated 8973if there were more than IOV_MAX buffers used. 8974</para> 8975</change> 8976 8977<change type="bugfix"> 8978<para lang="ru"> 8979в работе параметра crop директивы image_filter.<br/> 8980Спасибо Maxim Bublis. 8981</para> 8982<para lang="en"> 8983in the "crop" parameter of the "image_filter" directive.<br/> 8984Thanks to Maxim Bublis. 8985</para> 8986</change> 8987 8988</changes> 8989 8990 8991<changes ver="1.1.19" date="2012-04-12"> 8992 8993<change type="security"> 8994<para lang="ru"> 8995при обработке специально созданного mp4 файла модулем ngx_http_mp4_module 8996могли перезаписываться области памяти рабочего процесса, что могло 8997приводить к выполнению произвольного кода (CVE-2012-2089).<br/> 8998Спасибо Matthew Daley. 8999</para> 9000<para lang="en"> 9001specially crafted mp4 file might allow to overwrite 9002memory locations in a worker process 9003if the ngx_http_mp4_module was used, 9004potentially resulting in arbitrary code execution (CVE-2012-2089).<br/> 9005Thanks to Matthew Daley. 9006</para> 9007</change> 9008 9009<change type="bugfix"> 9010<para lang="ru"> 9011nginx/Windows мог завершаться аварийно.<br/> 9012Спасибо Vincent Lee. 9013</para> 9014<para lang="en"> 9015nginx/Windows might be terminated abnormally.<br/> 9016Thanks to Vincent Lee. 9017</para> 9018</change> 9019 9020<change type="bugfix"> 9021<para lang="ru"> 9022nginx нагружал процессор, если все серверы в upstream'е были помечены 9023флагом backup. 9024</para> 9025<para lang="en"> 9026nginx hogged CPU if all servers in an upstream were marked as "backup". 9027</para> 9028</change> 9029 9030<change type="bugfix"> 9031<para lang="ru"> 9032директивы allow и deny могли наследоваться некорректно, 9033если в них использовались IPv6 адреса. 9034</para> 9035<para lang="en"> 9036the "allow" and "deny" directives might be inherited incorrectly 9037if they were used with IPv6 addresses. 9038</para> 9039</change> 9040 9041<change type="bugfix"> 9042<para lang="ru"> 9043директивы modern_browser и ancient_browser 9044могли наследоваться некорректно. 9045</para> 9046<para lang="en"> 9047the "modern_browser" and "ancient_browser" directives 9048might be inherited incorrectly. 9049</para> 9050</change> 9051 9052<change type="bugfix"> 9053<para lang="ru"> 9054таймауты могли работать некорректно на Solaris/SPARC. 9055</para> 9056<para lang="en"> 9057timeouts might be handled incorrectly on Solaris/SPARC. 9058</para> 9059</change> 9060 9061<change type="bugfix"> 9062<para lang="ru"> 9063в модуле ngx_http_mp4_module. 9064</para> 9065<para lang="en"> 9066in the ngx_http_mp4_module. 9067</para> 9068</change> 9069 9070</changes> 9071 9072 9073<changes ver="1.1.18" date="2012-03-28"> 9074 9075<change type="change"> 9076<para lang="ru"> 9077теперь keepalive соединения не запрещены для Safari по умолчанию. 9078</para> 9079<para lang="en"> 9080keepalive connections are no longer disabled for Safari by default. 9081</para> 9082</change> 9083 9084<change type="feature"> 9085<para lang="ru"> 9086переменная $connection_requests. 9087</para> 9088<para lang="en"> 9089the $connection_requests variable. 9090</para> 9091</change> 9092 9093<change type="feature"> 9094<para lang="ru"> 9095переменные $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd и 9096$tcpinfo_rcv_space. 9097</para> 9098<para lang="en"> 9099$tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd and 9100$tcpinfo_rcv_space variables. 9101</para> 9102</change> 9103 9104<change type="feature"> 9105<para lang="ru"> 9106директива worker_cpu_affinity теперь работает на FreeBSD. 9107</para> 9108<para lang="en"> 9109the "worker_cpu_affinity" directive now works on FreeBSD. 9110</para> 9111</change> 9112 9113<change type="feature"> 9114<para lang="ru"> 9115директивы xslt_param и xslt_string_param.<br/> 9116Спасибо Samuel Behan. 9117</para> 9118<para lang="en"> 9119the "xslt_param" and "xslt_string_param" directives.<br/> 9120Thanks to Samuel Behan. 9121</para> 9122</change> 9123 9124<change type="bugfix"> 9125<para lang="ru"> 9126в configure.<br/> 9127Спасибо Piotr Sikora. 9128</para> 9129<para lang="en"> 9130in configure tests.<br/> 9131Thanks to Piotr Sikora. 9132</para> 9133</change> 9134 9135<change type="bugfix"> 9136<para lang="ru"> 9137в модуле ngx_http_xslt_filter_module. 9138</para> 9139<para lang="en"> 9140in the ngx_http_xslt_filter_module. 9141</para> 9142</change> 9143 9144<change type="bugfix"> 9145<para lang="ru"> 9146nginx не собирался на Debian GNU/Hurd. 9147</para> 9148<para lang="en"> 9149nginx could not be built on Debian GNU/Hurd. 9150</para> 9151</change> 9152 9153</changes> 9154 9155 9156<changes ver="1.1.17" date="2012-03-15"> 9157 9158<change type="security"> 9159<para lang="ru"> 9160содержимое ранее освобождённой памяти могло быть отправлено клиенту, 9161если бэкенд возвращал специально созданный ответ.<br/> 9162Спасибо Matthew Daley. 9163</para> 9164<para lang="en"> 9165content of previously freed memory might be sent to a client 9166if backend returned specially crafted response.<br/> 9167Thanks to Matthew Daley. 9168</para> 9169</change> 9170 9171<change type="bugfix"> 9172<para lang="ru"> 9173при использовании встроенного перла из SSI.<br/> 9174Спасибо Matthew Daley. 9175</para> 9176<para lang="en"> 9177in the embedded perl module if used from SSI.<br/> 9178Thanks to Matthew Daley. 9179</para> 9180</change> 9181 9182<change type="bugfix"> 9183<para lang="ru"> 9184в модуле ngx_http_uwsgi_module. 9185</para> 9186<para lang="en"> 9187in the ngx_http_uwsgi_module. 9188</para> 9189</change> 9190 9191</changes> 9192 9193 9194<changes ver="1.1.16" date="2012-02-29"> 9195 9196<change type="change"> 9197<para lang="ru"> 9198ограничение на количество одновременных подзапросов поднято до 200. 9199</para> 9200<para lang="en"> 9201the simultaneous subrequest limit has been raised to 200. 9202</para> 9203</change> 9204 9205<change type="feature"> 9206<para lang="ru"> 9207параметр from в директиве disable_symlinks. 9208</para> 9209<para lang="en"> 9210the "from" parameter of the "disable_symlinks" directive. 9211</para> 9212</change> 9213 9214<change type="feature"> 9215<para lang="ru"> 9216директивы return и error_page теперь могут использоваться для возврата 9217перенаправлений с кодом 307. 9218</para> 9219<para lang="en"> 9220the "return" and "error_page" directives can now be used to return 307 9221redirections. 9222</para> 9223</change> 9224 9225<change type="bugfix"> 9226<para lang="ru"> 9227в рабочем процессе мог произойти segmentation fault, 9228если использовалась директива resolver 9229и на глобальном уровне не была задана директива error_log.<br/> 9230Спасибо Роману Арутюняну. 9231</para> 9232<para lang="en"> 9233a segmentation fault might occur in a worker process 9234if the "resolver" directive was used 9235and there was no "error_log" directive specified at global level.<br/> 9236Thanks to Roman Arutyunyan. 9237</para> 9238</change> 9239 9240<change type="bugfix"> 9241<para lang="ru"> 9242в рабочем процессе мог произойти segmentation fault, 9243если использовались директивы "proxy_http_version 1.1" или 9244"fastcgi_keep_conn on". 9245</para> 9246<para lang="en"> 9247a segmentation fault might occur in a worker process 9248if the "proxy_http_version 1.1" or "fastcgi_keep_conn on" directives 9249were used. 9250</para> 9251</change> 9252 9253<change type="bugfix"> 9254<para lang="ru"> 9255утечек памяти.<br/> 9256Спасибо Lanshun Zhou. 9257</para> 9258<para lang="en"> 9259memory leaks.<br/> 9260Thanks to Lanshun Zhou. 9261</para> 9262</change> 9263 9264<change type="bugfix"> 9265<para lang="ru"> 9266в директиве disable_symlinks. 9267</para> 9268<para lang="en"> 9269in the "disable_symlinks" directive. 9270</para> 9271</change> 9272 9273<change type="bugfix"> 9274<para lang="ru"> 9275при использовании ZFS размер кэша на диске мог считаться некорректно; 9276ошибка появилась в 1.0.1. 9277</para> 9278<para lang="en"> 9279on ZFS filesystem disk cache size might be calculated incorrectly; 9280the bug had appeared in 1.0.1. 9281</para> 9282</change> 9283 9284<change type="bugfix"> 9285<para lang="ru"> 9286nginx не собирался компилятором icc 12.1. 9287</para> 9288<para lang="en"> 9289nginx could not be built by the icc 12.1 compiler. 9290</para> 9291</change> 9292 9293<change type="bugfix"> 9294<para lang="ru"> 9295nginx не собирался gcc на Solaris; 9296ошибка появилась в 1.1.15. 9297</para> 9298<para lang="en"> 9299nginx could not be built by gcc on Solaris; 9300the bug had appeared in 1.1.15. 9301</para> 9302</change> 9303 9304</changes> 9305 9306 9307<changes ver="1.1.15" date="2012-02-15"> 9308 9309<change type="feature"> 9310<para lang="ru"> 9311директива disable_symlinks. 9312</para> 9313<para lang="en"> 9314the "disable_symlinks" directive. 9315</para> 9316</change> 9317 9318<change type="feature"> 9319<para lang="ru"> 9320директивы proxy_cookie_domain и proxy_cookie_path. 9321</para> 9322<para lang="en"> 9323the "proxy_cookie_domain" and "proxy_cookie_path" directives. 9324</para> 9325</change> 9326 9327<change type="bugfix"> 9328<para lang="ru"> 9329nginx мог некорректно сообщать об ошибке "upstream prematurely closed 9330connection" вместо "upstream sent too big header".<br/> 9331Спасибо Feibo Li. 9332</para> 9333<para lang="en"> 9334nginx might log incorrect error "upstream prematurely closed connection" 9335instead of correct "upstream sent too big header" one.<br/> 9336Thanks to Feibo Li. 9337</para> 9338</change> 9339 9340<change type="bugfix"> 9341<para lang="ru"> 9342nginx не собирался с модулем ngx_http_perl_module, 9343если использовался параметр --with-openssl. 9344</para> 9345<para lang="en"> 9346nginx could not be built with the ngx_http_perl_module 9347if the --with-openssl option was used. 9348</para> 9349</change> 9350 9351<change type="bugfix"> 9352<para lang="ru"> 9353количество внутренних перенаправлений в именованные location'ы 9354не ограничивалось. 9355</para> 9356<para lang="en"> 9357the number of internal redirects to named locations was not limited. 9358</para> 9359</change> 9360 9361<change type="bugfix"> 9362<para lang="ru"> 9363вызов $r->flush() несколько раз подряд мог приводить к ошибкам 9364в модуле ngx_http_gzip_filter_module. 9365</para> 9366<para lang="en"> 9367calling $r->flush() multiple times might cause errors 9368in the ngx_http_gzip_filter_module. 9369</para> 9370</change> 9371 9372<change type="bugfix"> 9373<para lang="ru"> 9374при использовании директивы proxy_store с SSI-подзапросами 9375временные файлы могли не удаляться. 9376</para> 9377<para lang="en"> 9378temporary files might be not removed 9379if the "proxy_store" directive was used with SSI includes. 9380</para> 9381</change> 9382 9383<change type="bugfix"> 9384<para lang="ru"> 9385в некоторых случаях некэшируемые переменные (такие, как $args) 9386возвращали старое пустое закэшированное значение. 9387</para> 9388<para lang="en"> 9389in some cases non-cacheable variables (such as the $args variable) 9390returned old empty cached value. 9391</para> 9392</change> 9393 9394<change type="bugfix"> 9395<para lang="ru"> 9396в рабочем процессе мог произойти segmentation fault, 9397если одновременно создавалось слишком много SSI-подзапросов; 9398ошибка появилась в 0.7.25. 9399</para> 9400<para lang="en"> 9401a segmentation fault might occur in a worker process 9402if too many SSI subrequests were issued simultaneously; 9403the bug had appeared in 0.7.25. 9404</para> 9405</change> 9406 9407</changes> 9408 9409 9410<changes ver="1.1.14" date="2012-01-30"> 9411 9412<change type="feature"> 9413<para lang="ru"> 9414теперь можно указать несколько ограничений limit_req одновременно. 9415</para> 9416<para lang="en"> 9417multiple "limit_req" limits may be used simultaneously. 9418</para> 9419</change> 9420 9421<change type="bugfix"> 9422<para lang="ru"> 9423в обработке ошибок при соединении с бэкендом.<br/> 9424Спасибо Piotr Sikora. 9425</para> 9426<para lang="en"> 9427in error handling while connecting to a backend.<br/> 9428Thanks to Piotr Sikora. 9429</para> 9430</change> 9431 9432<change type="bugfix"> 9433<para lang="ru"> 9434в обработке ошибок при использовании AIO на FreeBSD. 9435</para> 9436<para lang="en"> 9437in AIO error handling on FreeBSD. 9438</para> 9439</change> 9440 9441<change type="bugfix"> 9442<para lang="ru"> 9443в инициализации библиотеки OpenSSL. 9444</para> 9445<para lang="en"> 9446in the OpenSSL library initialization. 9447</para> 9448</change> 9449 9450<change type="bugfix"> 9451<para lang="ru"> 9452директивы proxy_redirect могли наследоваться некорректно. 9453</para> 9454<para lang="en"> 9455the "proxy_redirect" directives might be inherited incorrectly. 9456</para> 9457</change> 9458 9459<change type="bugfix"> 9460<para lang="ru"> 9461утечки памяти при переконфигурации, если использовалась директива pcre_jit. 9462</para> 9463<para lang="en"> 9464memory leak during reconfiguration if the "pcre_jit" directive was used. 9465</para> 9466</change> 9467 9468</changes> 9469 9470 9471<changes ver="1.1.13" date="2012-01-16"> 9472 9473<change type="feature"> 9474<para lang="ru"> 9475параметры TLSv1.1 и TLSv1.2 в директиве ssl_protocols. 9476</para> 9477<para lang="en"> 9478the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive. 9479</para> 9480</change> 9481 9482<change type="bugfix"> 9483<para lang="ru"> 9484параметры директивы limit_req наследовались некорректно; 9485ошибка появилась в 1.1.12. 9486</para> 9487<para lang="en"> 9488the "limit_req" directive parameters were not inherited correctly; 9489the bug had appeared in 1.1.12. 9490</para> 9491</change> 9492 9493<change type="bugfix"> 9494<para lang="ru"> 9495директива proxy_redirect некорректно обрабатывала заголовок Refresh 9496при использовании регулярных выражений. 9497</para> 9498<para lang="en"> 9499the "proxy_redirect" directive incorrectly processed "Refresh" header 9500if regular expression were used. 9501</para> 9502</change> 9503 9504<change type="bugfix"> 9505<para lang="ru"> 9506директива proxy_cache_use_stale с параметром error не возвращала ответ из 9507кэша, если все бэкенды были признаны неработающими. 9508</para> 9509<para lang="en"> 9510the "proxy_cache_use_stale" directive with "error" parameter did not return 9511answer from cache if there were no live upstreams. 9512</para> 9513</change> 9514 9515<change type="bugfix"> 9516<para lang="ru"> 9517директива worker_cpu_affinity могла не работать. 9518</para> 9519<para lang="en"> 9520the "worker_cpu_affinity" directive might not work. 9521</para> 9522</change> 9523 9524<change type="bugfix"> 9525<para lang="ru"> 9526nginx не собирался на Solaris; 9527ошибка появилась в 1.1.12. 9528</para> 9529<para lang="en"> 9530nginx could not be built on Solaris; 9531the bug had appeared in 1.1.12. 9532</para> 9533</change> 9534 9535<change type="bugfix"> 9536<para lang="ru"> 9537в модуле ngx_http_mp4_module. 9538</para> 9539<para lang="en"> 9540in the ngx_http_mp4_module. 9541</para> 9542</change> 9543 9544</changes> 9545 9546 9547<changes ver="1.1.12" date="2011-12-26"> 9548 9549<change type="change"> 9550<para lang="ru"> 9551после перенаправления запроса с помощью директивы error_page 9552директива proxy_pass без URI теперь использует изменённый URI.<br/> 9553Спасибо Lanshun Zhou. 9554</para> 9555<para lang="en"> 9556a "proxy_pass" directive without URI part now uses changed URI 9557after redirection with the "error_page" directive.<br/> 9558Thanks to Lanshun Zhou. 9559</para> 9560</change> 9561 9562<change type="feature"> 9563<para lang="ru"> 9564директивы proxy/fastcgi/scgi/uwsgi_cache_lock, 9565proxy/fastcgi/scgi/uwsgi_cache_lock_timeout. 9566</para> 9567<para lang="en"> 9568the "proxy/fastcgi/scgi/uwsgi_cache_lock", 9569"proxy/fastcgi/scgi/uwsgi_cache_lock_timeout" directives. 9570</para> 9571</change> 9572 9573<change type="feature"> 9574<para lang="ru"> 9575директива pcre_jit. 9576</para> 9577<para lang="en"> 9578the "pcre_jit" directive. 9579</para> 9580</change> 9581 9582<change type="feature"> 9583<para lang="ru"> 9584SSI команда if поддерживает выделения в регулярных выражениях. 9585</para> 9586<para lang="en"> 9587the "if" SSI command supports captures in regular expressions. 9588</para> 9589</change> 9590 9591<change type="bugfix"> 9592<para lang="ru"> 9593SSI команда if не работала внутри команды block. 9594</para> 9595<para lang="en"> 9596the "if" SSI command did not work inside the "block" command. 9597</para> 9598</change> 9599 9600<change type="bugfix"> 9601<para lang="ru"> 9602директивы limit_conn_log_level и limit_req_log_level могли не работать. 9603</para> 9604<para lang="en"> 9605the "limit_conn_log_level" and "limit_req_log_level" directives might not work. 9606</para> 9607</change> 9608 9609<change type="bugfix"> 9610<para lang="ru"> 9611директива limit_rate не позволяла передавать на полной скорости, 9612даже если был указан очень большой лимит. 9613</para> 9614<para lang="en"> 9615the "limit_rate" directive did not allow to use full throughput, 9616even if limit value was very high. 9617</para> 9618</change> 9619 9620<change type="bugfix"> 9621<para lang="ru"> 9622директива sendfile_max_chunk не работала, 9623если использовалась директива limit_rate. 9624</para> 9625<para lang="en"> 9626the "sendfile_max_chunk" directive did not work, 9627if the "limit_rate" directive was used. 9628</para> 9629</change> 9630 9631<change type="bugfix"> 9632<para lang="ru"> 9633если в директиве proxy_pass использовались переменные и не был указан URI, 9634всегда использовался URI исходного запроса. 9635</para> 9636<para lang="en"> 9637a "proxy_pass" directive without URI part always used original request URI 9638if variables were used. 9639</para> 9640</change> 9641 9642<change type="bugfix"> 9643<para lang="ru"> 9644после перенаправления запроса с помощью директивы try_files 9645директива proxy_pass без URI могла использовать URI исходного запроса.<br/> 9646Спасибо Lanshun Zhou. 9647</para> 9648<para lang="en"> 9649a "proxy_pass" directive without URI part might use original request 9650after redirection with the "try_files" directive.<br/> 9651Thanks to Lanshun Zhou. 9652</para> 9653</change> 9654 9655<change type="bugfix"> 9656<para lang="ru"> 9657в модуле ngx_http_scgi_module. 9658</para> 9659<para lang="en"> 9660in the ngx_http_scgi_module. 9661</para> 9662</change> 9663 9664<change type="bugfix"> 9665<para lang="ru"> 9666в модуле ngx_http_mp4_module. 9667</para> 9668<para lang="en"> 9669in the ngx_http_mp4_module. 9670</para> 9671</change> 9672 9673<change type="bugfix"> 9674<para lang="ru"> 9675nginx не собирался на Solaris; 9676ошибка появилась в 1.1.9. 9677</para> 9678<para lang="en"> 9679nginx could not be built on Solaris; 9680the bug had appeared in 1.1.9. 9681</para> 9682</change> 9683 9684</changes> 9685 9686 9687<changes ver="1.1.11" date="2011-12-12"> 9688 9689<change type="feature"> 9690<para lang="ru"> 9691параметр so_keepalive в директиве listen.<br/> 9692Спасибо Всеволоду Стахову. 9693</para> 9694<para lang="en"> 9695the "so_keepalive" parameter of the "listen" directive.<br/> 9696Thanks to Vsevolod Stakhov. 9697</para> 9698</change> 9699 9700<change type="feature"> 9701<para lang="ru"> 9702параметр if_not_empty в директивах fastcgi/scgi/uwsgi_param. 9703</para> 9704<para lang="en"> 9705the "if_not_empty" parameter of the "fastcgi/scgi/uwsgi_param" directives. 9706</para> 9707</change> 9708 9709<change type="feature"> 9710<para lang="ru"> 9711переменная $https. 9712</para> 9713<para lang="en"> 9714the $https variable. 9715</para> 9716</change> 9717 9718<change type="feature"> 9719<para lang="ru"> 9720директива proxy_redirect поддерживает переменные в первом параметре. 9721</para> 9722<para lang="en"> 9723the "proxy_redirect" directive supports variables in the first parameter. 9724</para> 9725</change> 9726 9727<change type="feature"> 9728<para lang="ru"> 9729директива proxy_redirect поддерживает регулярные выражения. 9730</para> 9731<para lang="en"> 9732the "proxy_redirect" directive supports regular expressions. 9733</para> 9734</change> 9735 9736<change type="bugfix"> 9737<para lang="ru"> 9738переменная $sent_http_cache_control могла содержать неверное значение при 9739использовании директивы expires.<br/> 9740Спасибо Yichun Zhang. 9741</para> 9742<para lang="en"> 9743the $sent_http_cache_control variable might contain a wrong value if the 9744"expires" directive was used.<br/> 9745Thanks to Yichun Zhang. 9746</para> 9747</change> 9748 9749<change type="bugfix"> 9750<para lang="ru"> 9751директива read_ahead могла не работать при использовании совместно с 9752try_files и open_file_cache. 9753</para> 9754<para lang="en"> 9755the "read_ahead" directive might not work combined with "try_files" 9756and "open_file_cache". 9757</para> 9758</change> 9759 9760<change type="bugfix"> 9761<para lang="ru"> 9762если в параметре inactive директивы proxy_cache_path 9763было указано малое время, 9764в рабочем процессе мог произойти segmentation fault. 9765</para> 9766<para lang="en"> 9767a segmentation fault might occur in a worker process 9768if small time was used in the "inactive" parameter of 9769the "proxy_cache_path" directive. 9770</para> 9771</change> 9772 9773<change type="bugfix"> 9774<para lang="ru"> 9775ответы из кэша могли зависать. 9776</para> 9777<para lang="en"> 9778responses from cache might hang. 9779</para> 9780</change> 9781 9782</changes> 9783 9784 9785<changes ver="1.1.10" date="2011-11-30"> 9786 9787<change type="bugfix"> 9788<para lang="ru"> 9789при использовании AIO на Linux в рабочем процессе происходил segmentation fault; 9790ошибка появилась в 1.1.9. 9791</para> 9792<para lang="en"> 9793a segmentation fault occurred in a worker process if AIO was used on Linux; 9794the bug had appeared in 1.1.9. 9795</para> 9796</change> 9797 9798</changes> 9799 9800 9801<changes ver="1.1.9" date="2011-11-28"> 9802 9803<change type="change"> 9804<para lang="ru"> 9805теперь двойные кавычки экранируется при выводе SSI-командой echo.<br/> 9806Спасибо Зауру Абасмирзоеву. 9807</para> 9808<para lang="en"> 9809now double quotes are encoded in an "echo" SSI-command output.<br/> 9810Thanks to Zaur Abasmirzoev. 9811</para> 9812</change> 9813 9814<change type="feature"> 9815<para lang="ru"> 9816параметр valid в директиве resolver. По умолчанию теперь 9817используется TTL, возвращённый DNS-сервером.<br/> 9818Спасибо Кириллу Коринскому. 9819</para> 9820<para lang="en"> 9821the "valid" parameter of the "resolver" directive. By default TTL 9822returned by a DNS server is used.<br/> 9823Thanks to Kirill A. Korinskiy. 9824</para> 9825</change> 9826 9827<change type="bugfix"> 9828<para lang="ru"> 9829nginx мог перестать отвечать, если рабочий процесс завершался аварийно. 9830</para> 9831<para lang="en"> 9832nginx might hang after a worker process abnormal termination. 9833</para> 9834</change> 9835 9836<change type="bugfix"> 9837<para lang="ru"> 9838в рабочем процессе мог произойти segmentation fault, 9839если использовалось SNI; 9840ошибка появилась в 1.1.2. 9841</para> 9842<para lang="en"> 9843a segmentation fault might occur in a worker process 9844if SNI was used; 9845the bug had appeared in 1.1.2. 9846</para> 9847</change> 9848 9849<change type="bugfix"> 9850<para lang="ru"> 9851в директиве keepalive_disable; 9852ошибка появилась в 1.1.8.<br/> 9853Спасибо Александру Усову. 9854</para> 9855<para lang="en"> 9856in the "keepalive_disable" directive; 9857the bug had appeared in 1.1.8.<br/> 9858Thanks to Alexander Usov. 9859</para> 9860</change> 9861 9862<change type="bugfix"> 9863<para lang="ru"> 9864сигнал SIGWINCH переставал работать после первого обновления исполняемого 9865файла; 9866ошибка появилась в 1.1.1. 9867</para> 9868<para lang="en"> 9869SIGWINCH signal did not work after first binary upgrade; 9870the bug had appeared in 1.1.1. 9871</para> 9872</change> 9873 9874<change type="bugfix"> 9875<para lang="ru"> 9876теперь ответы бэкендов, длина которых не соответствует заголовку 9877Content-Length, не кэширутся. 9878</para> 9879<para lang="en"> 9880backend responses with length not matching "Content-Length" header line 9881are no longer cached. 9882</para> 9883</change> 9884 9885<change type="bugfix"> 9886<para lang="ru"> 9887в директиве scgi_param при использовании составных параметров. 9888</para> 9889<para lang="en"> 9890in the "scgi_param" directive, if complex parameters were used. 9891</para> 9892</change> 9893 9894<change type="bugfix"> 9895<para lang="ru"> 9896в методе epoll.<br/> 9897Спасибо Yichun Zhang. 9898</para> 9899<para lang="en"> 9900in the "epoll" event method.<br/> 9901Thanks to Yichun Zhang. 9902</para> 9903</change> 9904 9905<change type="bugfix"> 9906<para lang="ru"> 9907в модуле ngx_http_flv_module.<br/> 9908Спасибо Piotr Sikora. 9909</para> 9910<para lang="en"> 9911in the ngx_http_flv_module.<br/> 9912Thanks to Piotr Sikora. 9913</para> 9914</change> 9915 9916<change type="bugfix"> 9917<para lang="ru"> 9918в модуле ngx_http_mp4_module. 9919</para> 9920<para lang="en"> 9921in the ngx_http_mp4_module. 9922</para> 9923</change> 9924 9925<change type="bugfix"> 9926<para lang="ru"> 9927теперь nginx понимает IPv6-адреса в строке запроса и в заголовке Host. 9928</para> 9929<para lang="en"> 9930IPv6 addresses are now handled properly in a request line and in a "Host" 9931request header line. 9932</para> 9933</change> 9934 9935<change type="bugfix"> 9936<para lang="ru"> 9937директивы add_header и expires не работали для ответов с кодом 206, 9938если запрос проксировался. 9939</para> 9940<para lang="en"> 9941"add_header" and "expires" directives did not work if a request was proxied 9942and response status code was 206. 9943</para> 9944</change> 9945 9946<change type="bugfix"> 9947<para lang="ru"> 9948nginx не собирался на FreeBSD 10. 9949</para> 9950<para lang="en"> 9951nginx could not be built on FreeBSD 10. 9952</para> 9953</change> 9954 9955<change type="bugfix"> 9956<para lang="ru"> 9957nginx не собирался на AIX. 9958</para> 9959<para lang="en"> 9960nginx could not be built on AIX. 9961</para> 9962</change> 9963 9964</changes> 9965 9966 9967<changes ver="1.1.8" date="2011-11-14"> 9968 9969<change type="change"> 9970<para lang="ru"> 9971модуль ngx_http_limit_zone_module переименован в ngx_http_limit_conn_module. 9972</para> 9973<para lang="en"> 9974the ngx_http_limit_zone_module was renamed to the ngx_http_limit_conn_module. 9975</para> 9976</change> 9977 9978<change type="change"> 9979<para lang="ru"> 9980директива limit_zone заменена директивой limit_conn_zone с новым синтаксисом. 9981</para> 9982<para lang="en"> 9983the "limit_zone" directive was superseded by the "limit_conn_zone" directive 9984with a new syntax. 9985</para> 9986</change> 9987 9988<change type="feature"> 9989<para lang="ru"> 9990поддержка ограничения по нескольким limit_conn на одном уровне. 9991</para> 9992<para lang="en"> 9993support for multiple "limit_conn" limits on the same level. 9994</para> 9995</change> 9996 9997<change type="feature"> 9998<para lang="ru"> 9999директива image_filter_sharpen. 10000</para> 10001<para lang="en"> 10002the "image_filter_sharpen" directive. 10003</para> 10004</change> 10005 10006<change type="bugfix"> 10007<para lang="ru"> 10008в рабочем процессе мог произойти segmentation fault, 10009если resolver получил большой DNS-ответ.<br/> 10010Спасибо Ben Hawkes. 10011</para> 10012<para lang="en"> 10013a segmentation fault might occur in a worker process 10014if resolver got a big DNS response.<br/> 10015Thanks to Ben Hawkes. 10016</para> 10017</change> 10018 10019<change type="bugfix"> 10020<para lang="ru"> 10021в вычислении ключа для кэширования, 10022если использовалась внутренняя реализация MD5; 10023ошибка появилась в 1.0.4. 10024</para> 10025<para lang="en"> 10026in cache key calculation 10027if internal MD5 implementation was used; 10028the bug had appeared in 1.0.4. 10029</para> 10030</change> 10031 10032<change type="bugfix"> 10033<para lang="ru"> 10034строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 10035клиента могли передаваться бэкенду при кэшировании; или не передаваться при 10036выключенном кэшировании, если кэширование было включено в другой части 10037конфигурации. 10038</para> 10039<para lang="en"> 10040the "If-Modified-Since", "If-Range", etc. client request header lines 10041might be passed to backend while caching; or not passed without caching 10042if caching was enabled in another part of the configuration. 10043</para> 10044</change> 10045 10046<change type="bugfix"> 10047<para lang="ru"> 10048модуль ngx_http_mp4_module выдавал неверную строку "Content-Length" 10049в заголовке ответа, использовался аргумент start.<br/> 10050Спасибо Piotr Sikora. 10051</para> 10052<para lang="en"> 10053the module ngx_http_mp4_module sent incorrect "Content-Length" response 10054header line if the "start" argument was used.<br/> 10055Thanks to Piotr Sikora. 10056</para> 10057</change> 10058 10059</changes> 10060 10061 10062<changes ver="1.1.7" date="2011-10-31"> 10063 10064<change type="feature"> 10065<para lang="ru"> 10066поддержка нескольких DNS серверов в директиве "resolver".<br/> 10067Спасибо Кириллу Коринскому. 10068</para> 10069<para lang="en"> 10070support of several DNS servers in the "resolver" directive.<br/> 10071Thanks to Kirill A. Korinskiy. 10072</para> 10073</change> 10074 10075<change type="bugfix"> 10076<para lang="ru"> 10077на старте или во время переконфигурации происходил segmentation fault, 10078если директива ssl использовалась на уровне http и не был указан 10079ssl_certificate. 10080</para> 10081<para lang="en"> 10082a segmentation fault occurred on start or during reconfiguration 10083if the "ssl" directive was used at http level and there was 10084no "ssl_certificate" defined. 10085</para> 10086</change> 10087 10088<change type="bugfix"> 10089<para lang="ru"> 10090уменьшено потребление памяти при проксировании больших файлов, 10091если они буферизировались на диск. 10092</para> 10093<para lang="en"> 10094reduced memory consumption while proxying big files 10095if they were buffered to disk. 10096</para> 10097</change> 10098 10099<change type="bugfix"> 10100<para lang="ru"> 10101в рабочем процессе мог произойти segmentation fault, 10102если использовалась директива "proxy_http_version 1.1". 10103</para> 10104<para lang="en"> 10105a segmentation fault might occur in a worker process 10106if "proxy_http_version 1.1" directive was used. 10107</para> 10108</change> 10109 10110<change type="bugfix"> 10111<para lang="ru"> 10112в директиве "expires @time". 10113</para> 10114<para lang="en"> 10115in the "expires @time" directive. 10116</para> 10117</change> 10118 10119</changes> 10120 10121 10122<changes ver="1.1.6" date="2011-10-17"> 10123 10124<change> 10125<para lang="ru"> 10126Изменение во внутреннем API: теперь при внутреннем редиректе 10127в именованный location контексты модулей очищаются.<br/> 10128По запросу Yichun Zhang. 10129</para> 10130<para lang="en"> 10131Change in internal API: now module context data are cleared 10132while internal redirect to named location.<br/> 10133Requested by Yichun Zhang. 10134</para> 10135</change> 10136 10137<change type="change"> 10138<para lang="ru"> 10139теперь если сервер, описанный в блоке upstream, был признан неработающим, 10140то после истечения fail_timeout на него будет отправлен только один запрос; 10141сервер будет считаться работающим, если успешно ответит на этот запрос. 10142</para> 10143<para lang="en"> 10144if a server in an upstream failed, only one request will be sent to it 10145after fail_timeout; the server will be considered alive if it will 10146successfully respond to the request. 10147</para> 10148</change> 10149 10150<change type="change"> 10151<para lang="ru"> 10152теперь символы 0x7F-0xFF в access_log записываются в виде \xXX. 10153</para> 10154<para lang="en"> 10155now the 0x7F-0xFF characters are escaped as \xXX in an access_log. 10156</para> 10157</change> 10158 10159<change type="feature"> 10160<para lang="ru"> 10161директивы "proxy/fastcgi/scgi/uwsgi_ignore_headers" теперь поддерживают 10162значения X-Accel-Limit-Rate, X-Accel-Buffering и X-Accel-Charset. 10163</para> 10164<para lang="en"> 10165"proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following 10166additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset. 10167</para> 10168</change> 10169 10170<change type="feature"> 10171<para lang="ru"> 10172уменьшение потребления памяти при использовании SSL. 10173</para> 10174<para lang="en"> 10175decrease of memory consumption if SSL is used. 10176</para> 10177</change> 10178 10179<change type="bugfix"> 10180<para lang="ru"> 10181некоторые UTF-8 символы обрабатывались неправильно.<br/> 10182Спасибо Алексею Куцу. 10183</para> 10184<para lang="en"> 10185some UTF-8 characters were processed incorrectly.<br/> 10186Thanks to Alexey Kuts. 10187</para> 10188</change> 10189 10190<change type="bugfix"> 10191<para lang="ru"> 10192директивы модуля ngx_http_rewrite_module, заданные на уровне server, 10193применялись повторно, если для запроса не находилось ни одного location'а. 10194</para> 10195<para lang="en"> 10196the ngx_http_rewrite_module directives specified at "server" level were 10197executed twice if no matching locations were defined. 10198</para> 10199</change> 10200 10201<change type="bugfix"> 10202<para lang="ru"> 10203при использовании "aio sendfile" могла происходить утечка сокетов. 10204</para> 10205<para lang="en"> 10206a socket leak might occurred if "aio sendfile" was used. 10207</para> 10208</change> 10209 10210<change type="bugfix"> 10211<para lang="ru"> 10212при использовании файлового AIO соединения с быстрыми клиентами 10213могли быть закрыты по истечению send_timeout. 10214</para> 10215<para lang="en"> 10216connections with fast clients might be closed after send_timeout 10217if file AIO was used. 10218</para> 10219</change> 10220 10221<change type="bugfix"> 10222<para lang="ru"> 10223в модуле ngx_http_autoindex_module. 10224</para> 10225<para lang="en"> 10226in the ngx_http_autoindex_module. 10227</para> 10228</change> 10229 10230<change type="bugfix"> 10231<para lang="ru"> 10232модуль ngx_http_mp4_module не поддерживал перемотку на 32-битных платформах. 10233</para> 10234<para lang="en"> 10235the module ngx_http_mp4_module did not support seeking on 32-bit platforms. 10236</para> 10237</change> 10238 10239</changes> 10240 10241 10242<changes ver="1.1.5" date="2011-10-05"> 10243 10244<change type="feature"> 10245<para lang="ru"> 10246директивы uwsgi_buffering и scgi_buffering.<br/> 10247Спасибо Peter Smit. 10248</para> 10249<para lang="en"> 10250the "uwsgi_buffering" and "scgi_buffering" directives.<br/> 10251Thanks to Peter Smit. 10252</para> 10253</change> 10254 10255<change type="bugfix"> 10256<para lang="ru"> 10257при использовании proxy_cache_bypass могли быть закэшированы 10258некэшируемые ответы.<br/> 10259Спасибо John Ferlito. 10260</para> 10261<para lang="en"> 10262non-cacheable responses might be cached if "proxy_cache_bypass" directive 10263was used.<br/> 10264Thanks to John Ferlito. 10265</para> 10266</change> 10267 10268<change type="bugfix"> 10269<para lang="ru"> 10270в модуле ngx_http_proxy_module при работе с бэкендами по HTTP/1.1. 10271</para> 10272<para lang="en"> 10273in HTTP/1.1 support in the ngx_http_proxy_module. 10274</para> 10275</change> 10276 10277<change type="bugfix"> 10278<para lang="ru"> 10279закэшированные ответы с пустым телом возвращались некорректно; 10280ошибка появилась в 0.8.31. 10281</para> 10282<para lang="en"> 10283cached responses with an empty body were returned incorrectly; 10284the bug had appeared in 0.8.31. 10285</para> 10286</change> 10287 10288<change type="bugfix"> 10289<para lang="ru"> 10290ответы с кодом 201 модуля ngx_http_dav_module были некорректны; 10291ошибка появилась в 0.8.32. 10292</para> 10293<para lang="en"> 10294201 responses of the ngx_http_dav_module were incorrect; 10295the bug had appeared in 0.8.32. 10296</para> 10297</change> 10298 10299<change type="bugfix"> 10300<para lang="ru"> 10301в директиве return. 10302</para> 10303<para lang="en"> 10304in the "return" directive. 10305</para> 10306</change> 10307 10308<change type="bugfix"> 10309<para lang="ru"> 10310при использовании директивы "ssl_session_cache builtin" происходил 10311segmentation fault; 10312ошибка появилась в 1.1.1. 10313</para> 10314<para lang="en"> 10315the "ssl_session_cache builtin" directive caused segmentation fault; 10316the bug had appeared in 1.1.1. 10317</para> 10318</change> 10319 10320</changes> 10321 10322 10323<changes ver="1.1.4" date="2011-09-20"> 10324 10325<change type="feature"> 10326<para lang="ru"> 10327модуль ngx_http_upstream_keepalive. 10328</para> 10329<para lang="en"> 10330the ngx_http_upstream_keepalive module. 10331</para> 10332</change> 10333 10334<change type="feature"> 10335<para lang="ru"> 10336директива proxy_http_version. 10337</para> 10338<para lang="en"> 10339the "proxy_http_version" directive. 10340</para> 10341</change> 10342 10343<change type="feature"> 10344<para lang="ru"> 10345директива fastcgi_keep_conn. 10346</para> 10347<para lang="en"> 10348the "fastcgi_keep_conn" directive. 10349</para> 10350</change> 10351 10352<change type="feature"> 10353<para lang="ru"> 10354директива worker_aio_requests. 10355</para> 10356<para lang="en"> 10357the "worker_aio_requests" directive. 10358</para> 10359</change> 10360 10361<change type="bugfix"> 10362<para lang="ru"> 10363если nginx был собран с файловым AIO, 10364он не мог запускаться на Linux без поддержки AIO. 10365</para> 10366<para lang="en"> 10367if nginx was built --with-file-aio it could not be run on Linux 10368kernel which did not support AIO. 10369</para> 10370</change> 10371 10372<change type="bugfix"> 10373<para lang="ru"> 10374в обработке ошибок при работе с Linux AIO. 10375<br/> 10376Спасибо Hagai Avrahami. 10377</para> 10378<para lang="en"> 10379in Linux AIO error processing. 10380<br/> 10381Thanks to Hagai Avrahami. 10382</para> 10383</change> 10384 10385<change type="bugfix"> 10386<para lang="ru"> 10387уменьшено потребление памяти для долгоживущих запросов. 10388</para> 10389<para lang="en"> 10390reduced memory consumption for long-lived requests. 10391</para> 10392</change> 10393 10394<change type="bugfix"> 10395<para lang="ru"> 10396модуль ngx_http_mp4_module не поддерживал 64-битный MP4-атом co64. 10397</para> 10398<para lang="en"> 10399the module ngx_http_mp4_module did not support 64-bit MP4 "co64" atom. 10400</para> 10401</change> 10402 10403</changes> 10404 10405 10406<changes ver="1.1.3" date="2011-09-14"> 10407 10408<change type="feature"> 10409<para lang="ru"> 10410модуль ngx_http_mp4_module. 10411</para> 10412<para lang="en"> 10413the module ngx_http_mp4_module. 10414</para> 10415</change> 10416 10417<change type="bugfix"> 10418<para lang="ru"> 10419в Linux AIO, используемым совместно с open_file_cache. 10420</para> 10421<para lang="en"> 10422in Linux AIO combined with open_file_cache. 10423</para> 10424</change> 10425 10426<change type="bugfix"> 10427<para lang="ru"> 10428open_file_cache не обновлял информацию о файле, 10429если файл был изменён не атомарно. 10430</para> 10431<para lang="en"> 10432open_file_cache did not update file info on retest 10433if file was not atomically changed. 10434</para> 10435</change> 10436 10437<change type="bugfix"> 10438<para lang="ru"> 10439nginx не собирался на MacOSX 10.7. 10440</para> 10441<para lang="en"> 10442nginx could not be built on MacOSX 10.7. 10443</para> 10444</change> 10445 10446</changes> 10447 10448 10449<changes ver="1.1.2" date="2011-09-05"> 10450 10451<change type="change"> 10452<para lang="ru"> 10453теперь, если суммарный размер всех диапазонов больше размера исходного ответа, 10454то nginx возвращает только исходный ответ, не обрабатывая диапазоны. 10455</para> 10456<para lang="en"> 10457now if total size of all ranges is greater than source response size, 10458then nginx disables ranges and returns just the source response. 10459</para> 10460</change> 10461 10462<change type="feature"> 10463<para lang="ru"> 10464директива max_ranges. 10465</para> 10466<para lang="en"> 10467the "max_ranges" directive. 10468</para> 10469</change> 10470 10471<change type="bugfix"> 10472<para lang="ru"> 10473директивы ssl_verify_client, ssl_verify_depth и ssl_prefer_server_cipher 10474могли работать некорректно, если использовался SNI. 10475</para> 10476<para lang="en"> 10477the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers" 10478directives might work incorrectly if SNI was used. 10479</para> 10480</change> 10481 10482<change type="bugfix"> 10483<para lang="ru"> 10484в директивах proxy/fastcgi/scgi/ uwsgi_ignore_client_abort. 10485</para> 10486<para lang="en"> 10487in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort" directives. 10488</para> 10489</change> 10490 10491</changes> 10492 10493 10494<changes ver="1.1.1" date="2011-08-22"> 10495 10496<change type="change"> 10497<para lang="ru"> 10498теперь загрузчик кэша за каждую итерацию либо обрабатывает число файлов, 10499указанное в параметре load_files, либо работает не дольше времени, 10500указанного в параметре loader_threshold. 10501</para> 10502<para lang="en"> 10503now cache loader processes either as many files as specified by "loader_files" 10504parameter or works no longer than time specified by the "loader_threshold" 10505parameter during each iteration. 10506</para> 10507</change> 10508 10509<change type="change"> 10510<para lang="ru"> 10511SIGWINCH сигнал теперь работает только в режиме демона. 10512</para> 10513<para lang="en"> 10514now SIGWINCH signal works only in daemon mode. 10515</para> 10516</change> 10517 10518<change type="feature"> 10519<para lang="ru"> 10520теперь разделяемые зоны и кэши используют семафоры POSIX на Solaris.<br/> 10521Спасибо Денису Иванову. 10522</para> 10523<para lang="en"> 10524now shared zones and caches use POSIX semaphores on Solaris.<br/> 10525Thanks to Den Ivanov. 10526</para> 10527</change> 10528 10529<change type="feature"> 10530<para lang="ru"> 10531теперь на NetBSD поддерживаются accept фильтры. 10532</para> 10533<para lang="en"> 10534accept filters are now supported on NetBSD. 10535</para> 10536</change> 10537 10538<change type="bugfix"> 10539<para lang="ru"> 10540nginx не собирался на Linux 3.0. 10541</para> 10542<para lang="en"> 10543nginx could not be built on Linux 3.0. 10544</para> 10545</change> 10546 10547<change type="bugfix"> 10548<para lang="ru"> 10549в некоторых случаях nginx не использовал сжатие; 10550ошибка появилась в 1.1.0. 10551</para> 10552<para lang="en"> 10553nginx did not use gzipping in some cases; 10554the bug had appeared in 1.1.0. 10555</para> 10556</change> 10557 10558<change type="bugfix"> 10559<para lang="ru"> 10560обработка тела запроса могла быть неверной, если клиент использовал pipelining. 10561</para> 10562<para lang="en"> 10563request body might be processed incorrectly if client used pipelining. 10564</para> 10565</change> 10566 10567<change type="bugfix"> 10568<para lang="ru"> 10569в директиве request_body_in_single_buf. 10570</para> 10571<para lang="en"> 10572in the "request_body_in_single_buf" directive. 10573</para> 10574</change> 10575 10576<change type="bugfix"> 10577<para lang="ru"> 10578в директивах proxy_set_body и proxy_pass_request_body 10579при использовании SSL-соединения с бэкендом. 10580</para> 10581<para lang="en"> 10582in "proxy_set_body" and "proxy_pass_request_body" directives 10583if SSL connection to backend was used. 10584</para> 10585</change> 10586 10587<change type="bugfix"> 10588<para lang="ru"> 10589nginx нагружал процессор, если все серверы в upstream'е были помечены 10590флагом down. 10591</para> 10592<para lang="en"> 10593nginx hogged CPU if all servers in an upstream were marked as "down". 10594</para> 10595</change> 10596 10597<change type="bugfix"> 10598<para lang="ru"> 10599при переконфигурации мог произойти segmentation fault, 10600если в предыдущей конфигурации был определён, но не использовался 10601ssl_session_cache. 10602</para> 10603<para lang="en"> 10604a segmentation fault might occur during reconfiguration 10605if ssl_session_cache was defined but not used in previous configuration. 10606</para> 10607</change> 10608 10609<change type="bugfix"> 10610<para lang="ru"> 10611при использовании большого количества backup-серверов 10612в рабочем процессе мог произойти segmentation fault. 10613</para> 10614<para lang="en"> 10615a segmentation fault might occur in a worker process 10616if many backup servers were used in an upstream. 10617</para> 10618</change> 10619 10620<change type="bugfix"> 10621<para lang="ru"> 10622при использовании директив fastcgi/scgi/uwsgi_param 10623со значениями, начинающимися со строки "HTTP_", 10624в рабочем процессе мог произойти segmentation fault; 10625ошибка появилась в 0.8.40. 10626</para> 10627<para lang="en"> 10628a segmentation fault might occur in a worker process 10629if "fastcgi/scgi/uwsgi_param" directives were used 10630with values starting with "HTTP_"; 10631the bug had appeared in 0.8.40. 10632</para> 10633</change> 10634 10635</changes> 10636 10637 10638<changes ver="1.1.0" date="2011-08-01"> 10639 10640<change type="feature"> 10641<para lang="ru"> 10642уменьшение времени работы загрузчика кэша. 10643</para> 10644<para lang="en"> 10645cache loader run time decrease. 10646</para> 10647</change> 10648 10649<change type="feature"> 10650<para lang="ru"> 10651параметры loader_files, loader_sleep и loader_threshold 10652директив proxy/fastcgi/scgi/uwsgi_cache_path. 10653</para> 10654<para lang="en"> 10655"loader_files", "loader_sleep", and "loader_threshold" options 10656of the "proxy/fastcgi/scgi/uwsgi_cache_path" directives. 10657</para> 10658</change> 10659 10660<change type="feature"> 10661<para lang="ru"> 10662уменьшение времени загрузки конфигураций с большим количеством HTTPS серверов. 10663</para> 10664<para lang="en"> 10665loading time decrease of configuration with large number of HTTPS sites. 10666</para> 10667</change> 10668 10669<change type="feature"> 10670<para lang="ru"> 10671теперь nginx поддерживает шифры с обменом ECDHE-ключами.<br/> 10672Спасибо Adrian Kotelba. 10673</para> 10674<para lang="en"> 10675now nginx supports ECDHE key exchange ciphers.<br/> 10676Thanks to Adrian Kotelba. 10677</para> 10678</change> 10679 10680<change type="feature"> 10681<para lang="ru"> 10682директива lingering_close.<br/> 10683Спасибо Максиму Дунину. 10684</para> 10685<para lang="en"> 10686the "lingering_close" directive.<br/> 10687Thanks to Maxim Dounin. 10688</para> 10689</change> 10690 10691<change type="bugfix"> 10692<para lang="ru"> 10693закрытия соединения для pipelined-запросов.<br/> 10694Спасибо Максиму Дунину. 10695</para> 10696<para lang="en"> 10697in closing connection for pipelined requests.<br/> 10698Thanks to Maxim Dounin. 10699</para> 10700</change> 10701 10702<change type="bugfix"> 10703<para lang="ru"> 10704nginx не запрещал сжатие при получении значения "gzip;q=0" 10705в строке "Accept-Encoding" в заголовке запроса клиента. 10706</para> 10707<para lang="en"> 10708nginx did not disable gzipping if client sent "gzip;q=0" in 10709"Accept-Encoding" request header line. 10710</para> 10711</change> 10712 10713<change type="bugfix"> 10714<para lang="ru"> 10715таймаута при небуферизированном проксировании.<br/> 10716Спасибо Максиму Дунину. 10717</para> 10718<para lang="en"> 10719in timeout in unbuffered proxied mode.<br/> 10720Thanks to Maxim Dounin. 10721</para> 10722</change> 10723 10724<change type="bugfix"> 10725<para lang="ru"> 10726утечки памяти при использовании переменных в директиве proxy_pass 10727при работе с бэкендом по HTTPS.<br/> 10728Спасибо Максиму Дунину. 10729</para> 10730<para lang="en"> 10731memory leaks when a "proxy_pass" directive contains variables and proxies 10732to an HTTPS backend.<br/> 10733Thanks to Maxim Dounin. 10734</para> 10735</change> 10736 10737<change type="bugfix"> 10738<para lang="ru"> 10739в проверке параметра директивы proxy_pass, заданного переменными.<br/> 10740Спасибо Lanshun Zhou. 10741</para> 10742<para lang="en"> 10743in parameter validation of a "proxy_pass" directive with variables.<br/> 10744Thanks to Lanshun Zhou. 10745</para> 10746</change> 10747 10748<change type="bugfix"> 10749<para lang="ru"> 10750SSL не работал на QNX.<br/> 10751Спасибо Максиму Дунину. 10752</para> 10753<para lang="en"> 10754SSL did not work on QNX.<br/> 10755Thanks to Maxim Dounin. 10756</para> 10757</change> 10758 10759<change type="bugfix"> 10760<para lang="ru"> 10761SSL модули не собирались gcc 4.6 без параметра --with-debug. 10762</para> 10763<para lang="en"> 10764SSL modules could not be built by gcc 4.6 without --with-debug option. 10765</para> 10766</change> 10767 10768</changes> 10769 10770 10771<changes ver="1.0.5" date="2011-07-19"> 10772 10773<change type="change"> 10774<para lang="ru"> 10775теперь по умолчанию используются следующие шифры SSL: "HIGH:!aNULL:!MD5".<br/> 10776Спасибо Rob Stradling. 10777</para> 10778<para lang="en"> 10779now default SSL ciphers are "HIGH:!aNULL:!MD5".<br/> 10780Thanks to Rob Stradling. 10781</para> 10782</change> 10783 10784<change type="feature"> 10785<para lang="ru"> 10786директивы referer_hash_max_size и referer_hash_bucket_size.<br/> 10787Спасибо Witold Filipczyk. 10788</para> 10789<para lang="en"> 10790the "referer_hash_max_size" and "referer_hash_bucket_size" 10791directives.<br/> 10792Thanks to Witold Filipczyk. 10793</para> 10794</change> 10795 10796<change type="feature"> 10797<para lang="ru"> 10798переменная $uid_reset. 10799</para> 10800<para lang="en"> 10801$uid_reset variable. 10802</para> 10803</change> 10804 10805<change type="bugfix"> 10806<para lang="ru"> 10807при использовании кэширования 10808в рабочем процессе мог произойти segmentation fault.<br/> 10809Спасибо Lanshun Zhou. 10810</para> 10811<para lang="en"> 10812a segmentation fault might occur in a worker process, 10813if a caching was used.<br/> 10814Thanks to Lanshun Zhou. 10815</para> 10816</change> 10817 10818<change type="bugfix"> 10819<para lang="ru"> 10820при использовании кэширования рабочие процессы 10821могли зациклиться во время переконфигурации; 10822ошибка появилась в 0.8.48.<br/> 10823Спасибо Максиму Дунину. 10824</para> 10825<para lang="en"> 10826worker processes may got caught in an endless loop during reconfiguration, 10827if a caching was used; 10828the bug had appeared in 0.8.48.<br/> 10829Thanks to Maxim Dounin. 10830</para> 10831</change> 10832 10833<change type="bugfix"> 10834<para lang="ru"> 10835сообщения "stalled cache updating".<br/> 10836Спасибо Максиму Дунину. 10837</para> 10838<para lang="en"> 10839"stalled cache updating" alert.<br/> 10840Thanks to Maxim Dounin. 10841</para> 10842</change> 10843 10844</changes> 10845 10846 10847<changes ver="1.0.4" date="2011-06-01"> 10848 10849<change type="change"> 10850<para lang="ru"> 10851теперь в регулярных выражениях в директиве map можно задать 10852чувствительность к регистру с помощью префиксов "~" и "~*". 10853</para> 10854<para lang="en"> 10855now regular expressions case sensitivity in the "map" directive 10856is given by prefixes "~" or "~*". 10857</para> 10858</change> 10859 10860<change type="feature"> 10861<para lang="ru"> 10862теперь разделяемые зоны и кэши используют семафоры POSIX на Linux.<br/> 10863Спасибо Денису Латыпову. 10864</para> 10865<para lang="en"> 10866now shared zones and caches use POSIX semaphores on Linux.<br/> 10867Thanks to Denis F. Latypoff. 10868</para> 10869</change> 10870 10871<change type="bugfix"> 10872<para lang="ru"> 10873сообщения "stalled cache updating". 10874</para> 10875<para lang="en"> 10876"stalled cache updating" alert. 10877</para> 10878</change> 10879 10880<change type="bugfix"> 10881<para lang="ru"> 10882nginx не собирался с параметром --without-http_auth_basic_module; 10883ошибка появилась в 1.0.3. 10884</para> 10885<para lang="en"> 10886nginx could not be built --without-http_auth_basic_module; 10887the bug had appeared in 1.0.3. 10888</para> 10889</change> 10890 10891</changes> 10892 10893 10894<changes ver="1.0.3" date="2011-05-25"> 10895 10896<change type="feature"> 10897<para lang="ru"> 10898директива auth_basic_user_file поддерживает шифрование пароля 10899методами "$apr1", "{PLAIN}" и "{SSHA}".<br/> 10900Спасибо Максиму Дунину. 10901</para> 10902<para lang="en"> 10903the "auth_basic_user_file" directive supports "$apr1", "{PLAIN}", 10904and "{SSHA}" password encryption methods.<br/> 10905Thanks to Maxim Dounin. 10906</para> 10907</change> 10908 10909<change type="feature"> 10910<para lang="ru"> 10911директива geoip_org и переменная $geoip_org.<br/> 10912Спасибо Александру Ускову, Arnaud Granal и Денису Латыпову. 10913</para> 10914<para lang="en"> 10915the "geoip_org" directive and $geoip_org variable.<br/> 10916Thanks to Alexander Uskov, Arnaud Granal, and Denis F. Latypoff. 10917</para> 10918</change> 10919 10920<change type="feature"> 10921<para lang="ru"> 10922модули ngx_http_geo_module и ngx_http_geoip_module поддерживают 10923адреса IPv4, отображённые на IPv6 адреса. 10924</para> 10925<para lang="en"> 10926ngx_http_geo_module and ngx_http_geoip_module support IPv4 addresses 10927mapped to IPv6 addresses. 10928</para> 10929</change> 10930 10931<change type="bugfix"> 10932<para lang="ru"> 10933при проверке адреса IPv4, отображённого на адрес IPv6, 10934в рабочем процессе происходил segmentation fault, 10935если директивы access или deny были определены только для адресов IPv6; 10936ошибка появилась в 0.8.22. 10937</para> 10938<para lang="en"> 10939a segmentation fault occurred in a worker process 10940during testing IPv4 address mapped to IPv6 address, 10941if access or deny rules were defined only for IPv6; 10942the bug had appeared in 0.8.22. 10943</para> 10944</change> 10945 10946<change type="bugfix"> 10947<para lang="ru"> 10948закэшированный ответ мог быть испорчен, если значения директив 10949proxy/fastcgi/scgi/uwsgi_cache_bypass и proxy/fastcgi/scgi/ uwsgi_no_cache 10950были разными; 10951ошибка появилась в 0.8.46. 10952</para> 10953<para lang="en"> 10954a cached response may be broken if "proxy/fastcgi/scgi/ uwsgi_cache_bypass" 10955and "proxy/fastcgi/scgi/uwsgi_no_cache" directive values were different; 10956the bug had appeared in 0.8.46. 10957</para> 10958</change> 10959 10960</changes> 10961 10962 10963<changes ver="1.0.2" date="2011-05-10"> 10964 10965<change type="feature"> 10966<para lang="ru"> 10967теперь разделяемые зоны и кэши используют семафоры POSIX. 10968</para> 10969<para lang="en"> 10970now shared zones and caches use POSIX semaphores. 10971</para> 10972</change> 10973 10974<change type="bugfix"> 10975<para lang="ru"> 10976в работе параметра rotate директивы image_filter.<br/> 10977Спасибо Adam Bocim. 10978</para> 10979<para lang="en"> 10980in the "rotate" parameter of the "image_filter" directive.<br/> 10981Thanks to Adam Bocim. 10982</para> 10983</change> 10984 10985<change type="bugfix"> 10986<para lang="ru"> 10987nginx не собирался на Solaris; 10988ошибка появилась в 1.0.1. 10989</para> 10990<para lang="en"> 10991nginx could not be built on Solaris; 10992the bug had appeared in 1.0.1. 10993</para> 10994</change> 10995 10996</changes> 10997 10998 10999<changes ver="1.0.1" date="2011-05-03"> 11000 11001<change type="change"> 11002<para lang="ru"> 11003теперь директива split_clients использует алгоритм MurmurHash2 из-за 11004лучшего распределения.<br/> 11005Спасибо Олегу Мамонтову. 11006</para> 11007<para lang="en"> 11008now the "split_clients" directive uses MurmurHash2 algorithm because 11009of better distribution.<br/> 11010Thanks to Oleg Mamontov. 11011</para> 11012</change> 11013 11014<change type="change"> 11015<para lang="ru"> 11016теперь длинные строки, начинающиеся с нуля, не считаются ложными 11017значениями.<br/> 11018Спасибо Максиму Дунину. 11019</para> 11020<para lang="en"> 11021now long strings starting with zero are not considered as false values.<br/> 11022Thanks to Maxim Dounin. 11023</para> 11024</change> 11025 11026<change type="change"> 11027<para lang="ru"> 11028теперь по умолчанию nginx использует значение 511 для listen backlog на Linux. 11029</para> 11030<para lang="en"> 11031now nginx uses a default listen backlog value 511 on Linux. 11032</para> 11033</change> 11034 11035<change type="feature"> 11036<para lang="ru"> 11037переменные $upstream_... можно использовать в SSI и перловом модулях. 11038</para> 11039<para lang="en"> 11040the $upstream_... variables may be used in the SSI and perl modules. 11041</para> 11042</change> 11043 11044<change type="bugfix"> 11045<para lang="ru"> 11046теперь nginx лучше ограничивает размер кэша на диске.<br/> 11047Спасибо Олегу Мамонтову. 11048</para> 11049<para lang="en"> 11050now nginx limits better disk cache size.<br/> 11051Thanks to Oleg Mamontov. 11052</para> 11053</change> 11054 11055<change type="bugfix"> 11056<para lang="ru"> 11057при парсинге неправильного IPv4 адреса мог произойти segmentation fault; 11058ошибка появилась в 0.8.22.<br/> 11059Спасибо Максиму Дунину. 11060</para> 11061<para lang="en"> 11062a segmentation fault might occur while parsing incorrect IPv4 address; 11063the bug had appeared in 0.9.3.<br/> 11064Thanks to Maxim Dounin. 11065</para> 11066</change> 11067 11068<change type="bugfix"> 11069<para lang="ru"> 11070nginx не собирался gcc 4.6 без параметра --with-debug. 11071</para> 11072<para lang="en"> 11073nginx could not be built by gcc 4.6 without --with-debug option. 11074</para> 11075</change> 11076 11077<change type="bugfix"> 11078<para lang="ru"> 11079nginx не собирался на Solaris 9 и более ранних; 11080ошибка появилась в 0.9.3.<br/> 11081Спасибо Dagobert Michelsen. 11082</para> 11083<para lang="en"> 11084nginx could not be built on Solaris 9 and earlier; 11085the bug had appeared in 0.9.3.<br/> 11086Thanks to Dagobert Michelsen. 11087</para> 11088</change> 11089 11090<change type="bugfix"> 11091<para lang="ru"> 11092переменная $request_time имела неверные значения, если использовались 11093подзапросы; 11094ошибка появилась в 0.8.47.<br/> 11095Спасибо Игорю А. Валькову. 11096</para> 11097<para lang="en"> 11098$request_time variable had invalid values if subrequests were used; 11099the bug had appeared in 0.8.47.<br/> 11100Thanks to Igor A. Valcov. 11101</para> 11102</change> 11103 11104</changes> 11105 11106 11107<changes ver="1.0.0" date="2011-04-12"> 11108 11109<change type="bugfix"> 11110<para lang="ru"> 11111cache manager мог нагружать процессор после переконфигурации.<br/> 11112Спасибо Максиму Дунину. 11113</para> 11114<para lang="en"> 11115a cache manager might hog CPU after reload.<br/> 11116Thanks to Maxim Dounin. 11117</para> 11118</change> 11119 11120<change type="bugfix"> 11121<para lang="ru"> 11122директива "image_filter crop" неправильно работала в сочетании с 11123"image_filter rotate 180". 11124</para> 11125<para lang="en"> 11126an "image_filter crop" directive worked incorrectly coupled with 11127an "image_filter rotate 180" directive. 11128</para> 11129</change> 11130 11131<change type="bugfix"> 11132<para lang="ru"> 11133директива "satisfy any" запрещала выдачу пользовательской страницы 11134для 401 кода. 11135</para> 11136<para lang="en"> 11137a "satisfy any" directive disabled custom 401 error page. 11138</para> 11139</change> 11140 11141</changes> 11142 11143 11144<changes ver="0.9.7" date="2011-04-04"> 11145 11146<change type="feature"> 11147<para lang="ru"> 11148теперь соединения в состоянии keepalive могут быть закрыты преждевременно, 11149если у воркера нет свободных соединений.<br/> 11150Спасибо Максиму Дунину. 11151</para> 11152<para lang="en"> 11153now keepalive connections may be closed premature, 11154if there are no free worker connections.<br/> 11155Thanks to Maxim Dounin. 11156</para> 11157</change> 11158 11159<change type="feature"> 11160<para lang="ru"> 11161параметр rotate директивы image_filter.<br/> 11162Спасибо Adam Bocim. 11163</para> 11164<para lang="en"> 11165the "rotate" parameter of the "image_filter" directive.<br/> 11166Thanks to Adam Bocim. 11167</para> 11168</change> 11169 11170<change type="bugfix"> 11171<para lang="ru"> 11172ситуации, когда бэкенд в директивах fastcgi_pass, scgi_pass или uwsgi_pass 11173задан выражением и ссылается на описанный upstream. 11174</para> 11175<para lang="en"> 11176a case when a backend in "fastcgi_pass", "scgi_pass", or "uwsgi_pass" 11177directives is given by expression and refers to a defined upstream. 11178</para> 11179</change> 11180 11181</changes> 11182 11183 11184<changes ver="0.9.6" date="2011-03-21"> 11185 11186<change type="feature"> 11187<para lang="ru"> 11188директива map поддерживает регулярные выражения в качестве значения 11189первого параметра. 11190</para> 11191<para lang="en"> 11192the "map" directive supports regular expressions as value of the first 11193parameter. 11194</para> 11195</change> 11196 11197<change type="feature"> 11198<para lang="ru"> 11199переменная $time_iso8601 для access_log.<br/> 11200Спасибо Michael Lustfield. 11201</para> 11202<para lang="en"> 11203$time_iso8601 access_log variable.<br/> 11204Thanks to Michael Lustfield. 11205</para> 11206</change> 11207 11208</changes> 11209 11210 11211<changes ver="0.9.5" date="2011-02-21"> 11212 11213<change type="change"> 11214<para lang="ru"> 11215теперь по умолчанию nginx использует значение -1 для listen backlog 11216на Linux.<br/> 11217Спасибо Андрею Нигматулину. 11218</para> 11219<para lang="en"> 11220now nginx uses a default listen backlog value -1 on Linux.<br/> 11221Thanks to Andrei Nigmatulin. 11222</para> 11223</change> 11224 11225<change type="feature"> 11226<para lang="ru"> 11227параметр utf8 в директивах geoip_country и geoip_city.<br/> 11228Спасибо Денису Латыпову. 11229</para> 11230<para lang="en"> 11231the "utf8" parameter of "geoip_country" and "geoip_city" directives.<br/> 11232Thanks to Denis F. Latypoff. 11233</para> 11234</change> 11235 11236<change type="bugfix"> 11237<para lang="ru"> 11238исправление в умолчательной директиве proxy_redirect, если в директиве 11239proxy_pass не был описан URI.<br/> 11240Спасибо Максиму Дунину. 11241</para> 11242<para lang="en"> 11243in a default "proxy_redirect" directive if "proxy_pass" directive has no 11244URI part.<br/> 11245Thanks to Maxim Dounin. 11246</para> 11247</change> 11248 11249<change type="bugfix"> 11250<para lang="ru"> 11251директива error_page не работала с нестандартными кодами ошибок; 11252ошибка появилась в 0.8.53.<br/> 11253Спасибо Максиму Дунину. 11254</para> 11255<para lang="en"> 11256an "error_page" directive did not work with nonstandard error codes; 11257the bug had appeared in 0.8.53.<br/> 11258Thanks to Maxim Dounin. 11259</para> 11260</change> 11261 11262</changes> 11263 11264 11265<changes ver="0.9.4" date="2011-01-21"> 11266 11267<change type="feature"> 11268<para lang="ru"> 11269директива server_name поддерживает переменную $hostname. 11270</para> 11271<para lang="en"> 11272the "server_name" directive supports the $hostname variable. 11273</para> 11274</change> 11275 11276<change type="feature"> 11277<para lang="ru"> 11278494 код для ошибки "Request Header Too Large". 11279</para> 11280<para lang="en"> 11281494 code for "Request Header Too Large" error. 11282</para> 11283</change> 11284 11285</changes> 11286 11287 11288<changes ver="0.9.3" date="2010-12-13"> 11289 11290<change type="bugfix"> 11291<para lang="ru"> 11292если для пары IPv6-адрес:порт описан только один сервер, то выделения 11293в регулярных выражениях в директиве server_name не работали. 11294</para> 11295<para lang="en"> 11296if there was a single server for given IPv6 address:port pair, 11297then captures in regular expressions in a "server_name" directive did not work. 11298</para> 11299</change> 11300 11301<change type="bugfix"> 11302<para lang="ru"> 11303nginx не собирался под Solaris; 11304ошибка появилась в 0.9.0. 11305</para> 11306<para lang="en"> 11307nginx could not be built on Solaris; 11308the bug had appeared in 0.9.0. 11309</para> 11310</change> 11311 11312</changes> 11313 11314 11315<changes ver="0.9.2" date="2010-12-06"> 11316 11317<change type="feature"> 11318<para lang="ru"> 11319поддержка строки "If-Unmodified-Since" в заголовке запроса клиента. 11320</para> 11321<para lang="en"> 11322the "If-Unmodified-Since" client request header line support. 11323</para> 11324</change> 11325 11326<change type="workaround"> 11327<para lang="ru"> 11328использование accept(), если accept4() не реализован; 11329ошибка появилась в 0.9.0. 11330</para> 11331<para lang="en"> 11332fallback to accept() syscall if accept4() was not implemented; 11333the issue had appeared in 0.9.0. 11334</para> 11335</change> 11336 11337<change type="bugfix"> 11338<para lang="ru"> 11339nginx не собирался под Cygwin; 11340ошибка появилась в 0.9.0. 11341</para> 11342<para lang="en"> 11343nginx could not be built on Cygwin; 11344the bug had appeared in 0.9.0. 11345</para> 11346</change> 11347 11348<change type="bugfix"> 11349<para lang="ru"> 11350уязвимости в OpenSSL CVE-2010-4180.<br/> 11351Спасибо Максиму Дунину. 11352</para> 11353<para lang="en"> 11354for OpenSSL vulnerability CVE-2010-4180.<br/> 11355Thanks to Maxim Dounin. 11356</para> 11357</change> 11358 11359</changes> 11360 11361 11362<changes ver="0.9.1" date="2010-11-30"> 11363 11364<change type="bugfix"> 11365<para lang="ru"> 11366директивы вида "return CODE message" не работали; 11367ошибка появилась в 0.9.0. 11368</para> 11369<para lang="en"> 11370"return CODE message" directives did not work; 11371the bug had appeared in 0.9.0. 11372</para> 11373</change> 11374 11375</changes> 11376 11377 11378<changes ver="0.9.0" date="2010-11-29"> 11379 11380<change type="feature"> 11381<para lang="ru"> 11382директива keepalive_disable. 11383</para> 11384<para lang="en"> 11385the "keepalive_disable" directive. 11386</para> 11387</change> 11388 11389<change type="feature"> 11390<para lang="ru"> 11391директива map поддерживает переменные в качестве значения определяемой 11392переменной. 11393</para> 11394<para lang="en"> 11395the "map" directive supports variables as value of a defined variable. 11396</para> 11397</change> 11398 11399<change type="feature"> 11400<para lang="ru"> 11401директива map поддерживает пустые строки в качестве значения первого параметра. 11402</para> 11403<para lang="en"> 11404the "map" directive supports empty strings as value of the first parameter. 11405</para> 11406</change> 11407 11408<change type="feature"> 11409<para lang="ru"> 11410директива map поддерживает выражения в первом параметре. 11411</para> 11412<para lang="en"> 11413the "map" directive supports expressions as the first parameter. 11414</para> 11415</change> 11416 11417<change type="feature"> 11418<para lang="ru"> 11419страница руководства nginx(8).<br/> 11420Спасибо Сергею Осокину. 11421</para> 11422<para lang="en"> 11423nginx(8) manual page.<br/> 11424Thanks to Sergey Osokin. 11425</para> 11426</change> 11427 11428<change type="feature"> 11429<para lang="ru"> 11430поддержка accept4() в Linux.<br/> 11431Спасибо Simon Liu. 11432</para> 11433<para lang="en"> 11434Linux accept4() support.<br/> 11435Thanks to Simon Liu. 11436</para> 11437</change> 11438 11439<change type="workaround"> 11440<para lang="ru"> 11441устранение предупреждения линкера о "sys_errlist" и "sys_nerr" под Linux; 11442предупреждение появилось в 0.8.35. 11443</para> 11444<para lang="en"> 11445elimination of Linux linker warning about "sys_errlist" and "sys_nerr"; 11446the warning had appeared in 0.8.35. 11447</para> 11448</change> 11449 11450<change type="bugfix"> 11451<para lang="ru"> 11452при использовании директивы auth_basic 11453в рабочем процессе мог произойти segmentation fault.<br/> 11454Спасибо Михаилу Лалетину. 11455</para> 11456<para lang="en"> 11457a segmentation fault might occur in a worker process, 11458if the "auth_basic" directive was used.<br/> 11459Thanks to Michail Laletin. 11460</para> 11461</change> 11462 11463<change type="bugfix"> 11464<para lang="ru"> 11465совместимость с модулем ngx_http_eval_module; 11466ошибка появилась в 0.8.42. 11467</para> 11468<para lang="en"> 11469compatibility with ngx_http_eval_module; 11470the bug had appeared in 0.8.42. 11471</para> 11472</change> 11473 11474</changes> 11475 11476 11477<changes ver="0.8.53" date="2010-10-18"> 11478 11479<change type="feature"> 11480<para lang="ru"> 11481теперь директива error_page позволяет менять код статуса у редиректа. 11482</para> 11483<para lang="en"> 11484now the "error_page" directive allows to change a status code in a redirect. 11485</para> 11486</change> 11487 11488<change type="feature"> 11489<para lang="ru"> 11490директива gzip_disable поддерживает специальную маску degradation. 11491</para> 11492<para lang="en"> 11493the "gzip_disable" directive supports special "degradation" mask. 11494</para> 11495</change> 11496 11497<change type="bugfix"> 11498<para lang="ru"> 11499при использовании файлового AIO могла происходить утечка сокетов.<br/> 11500Спасибо Максиму Дунину. 11501</para> 11502<para lang="en"> 11503a socket leak might occurred if file AIO was used.<br/> 11504Thanks to Maxim Dounin. 11505</para> 11506</change> 11507 11508<change type="bugfix"> 11509<para lang="ru"> 11510если в первом сервере не была описана директива listen и нигде явно 11511не описан сервер по умолчанию, то сервером по умолчанию становился 11512следующий сервер с директивой listen; 11513ошибка появилась в 0.8.21. 11514</para> 11515<para lang="en"> 11516if the first server had no "listen" directive and there was no explicit 11517default server, then a next server with a "listen" directive became 11518the default server; 11519the bug had appeared in 0.8.21. 11520</para> 11521</change> 11522 11523</changes> 11524 11525 11526<changes ver="0.8.52" date="2010-09-28"> 11527 11528<change type="bugfix"> 11529<para lang="ru"> 11530nginx использовал режим SSL для listen сокета, если для него был 11531установлен любой listen-параметр; 11532ошибка появилась в 0.8.51. 11533</para> 11534<para lang="en"> 11535nginx used SSL mode for a listen socket if any listen option was set; 11536the bug had appeared in 0.8.51. 11537</para> 11538</change> 11539 11540</changes> 11541 11542 11543<changes ver="0.8.51" date="2010-09-27"> 11544 11545<change type="change"> 11546<para lang="ru"> 11547директива secure_link_expires упразднена. 11548</para> 11549<para lang="en"> 11550the "secure_link_expires" directive has been canceled. 11551</para> 11552</change> 11553 11554<change type="change"> 11555<para lang="ru"> 11556уровень логгирования ошибок resolver'а понижен с уровня alert на error. 11557</para> 11558<para lang="en"> 11559a logging level of resolver errors has been lowered from "alert" to "error". 11560</para> 11561</change> 11562 11563<change type="feature"> 11564<para lang="ru"> 11565теперь параметр "ssl" listen-сокета можно устанавливать несколько раз. 11566</para> 11567<para lang="en"> 11568now a listen socket "ssl" parameter may be set several times. 11569</para> 11570</change> 11571 11572</changes> 11573 11574 11575<changes ver="0.8.50" date="2010-09-02"> 11576 11577<change type="feature"> 11578<para lang="ru"> 11579директивы secure_link, secure_link_md5 и secure_link_expires 11580модуля ngx_http_secure_link_module. 11581</para> 11582<para lang="en"> 11583the "secure_link", "secure_link_md5", and "secure_link_expires" directives of 11584the ngx_http_secure_link_module. 11585</para> 11586</change> 11587 11588<change type="feature"> 11589<para lang="ru"> 11590ключ -q.<br/> 11591Спасибо Геннадию Махомеду. 11592</para> 11593<para lang="en"> 11594the -q switch.<br/> 11595Thanks to Gena Makhomed. 11596</para> 11597</change> 11598 11599<change type="bugfix"> 11600<para lang="ru"> 11601при использовании кэширования рабочие процессы и могли зациклиться 11602во время переконфигурации; 11603ошибка появилась в 0.8.48. 11604</para> 11605<para lang="en"> 11606worker processes may got caught in an endless loop during reconfiguration, 11607if a caching was used; 11608the bug had appeared in 0.8.48. 11609</para> 11610</change> 11611 11612<change type="bugfix"> 11613<para lang="ru"> 11614в директиве gzip_disable.<br/> 11615Спасибо Derrick Petzold. 11616</para> 11617<para lang="en"> 11618in the "gzip_disable" directive.<br/> 11619Thanks to Derrick Petzold. 11620</para> 11621</change> 11622 11623<change type="bugfix"> 11624<para lang="ru"> 11625nginx/Windows не мог посылать сигналы stop, quit, reopen, reload процессу, 11626запущенному в другой сессии. 11627</para> 11628<para lang="en"> 11629nginx/Windows could not send stop, quit, reopen, and reload signals 11630to a process run in other session. 11631</para> 11632</change> 11633 11634</changes> 11635 11636 11637<changes ver="0.8.49" date="2010-08-09"> 11638 11639<change type="feature"> 11640<para lang="ru"> 11641директива image_filter_jpeg_quality поддерживает переменные. 11642</para> 11643<para lang="en"> 11644the "image_filter_jpeg_quality" directive supports variables. 11645</para> 11646</change> 11647 11648<change type="bugfix"> 11649<para lang="ru"> 11650при использовании переменной $geoip_region_name 11651в рабочем процессе мог произойти segmentation fault; 11652ошибка появилась в 0.8.48. 11653</para> 11654<para lang="en"> 11655a segmentation fault might occur in a worker process, 11656if the $geoip_region_name variables was used; 11657the bug had appeared in 0.8.48. 11658</para> 11659</change> 11660 11661<change type="bugfix"> 11662<para lang="ru"> 11663ошибки, перехваченные error_page, кэшировались только до следующего запроса; 11664ошибка появилась в 0.8.48. 11665</para> 11666<para lang="en"> 11667errors intercepted by error_page were cached only for next request; 11668the bug had appeared in 0.8.48. 11669</para> 11670</change> 11671 11672</changes> 11673 11674 11675<changes ver="0.8.48" date="2010-08-03"> 11676 11677<change type="change"> 11678<para lang="ru"> 11679теперь по умолчанию директива server_name имеет значение пустое имя "".<br/> 11680Спасибо Геннадию Махомеду. 11681</para> 11682<para lang="en"> 11683now the "server_name" directive default value is an empty name "".<br/> 11684Thanks to Gena Makhomed. 11685</para> 11686</change> 11687 11688<change type="change"> 11689<para lang="ru"> 11690теперь по умолчанию директива server_name_in_redirect имеет значение off. 11691</para> 11692<para lang="en"> 11693now the "server_name_in_redirect" directive default value is "off". 11694</para> 11695</change> 11696 11697<change type="feature"> 11698<para lang="ru"> 11699переменные $geoip_dma_code, $geoip_area_code и $geoip_region_name.<br/> 11700Спасибо Christine McGonagle. 11701</para> 11702<para lang="en"> 11703the $geoip_dma_code, $geoip_area_code, and $geoip_region_name variables.<br/> 11704Thanks to Christine McGonagle. 11705</para> 11706</change> 11707 11708<change type="bugfix"> 11709<para lang="ru"> 11710директивы proxy_pass, fastcgi_pass, uwsgi_pass и scgi_pass не наследовались 11711в блоки limit_except. 11712</para> 11713<para lang="en"> 11714the "proxy_pass", "fastcgi_pass", "uwsgi_pass", and "scgi_pass" directives 11715were not inherited inside "limit_except" blocks. 11716</para> 11717</change> 11718 11719<change type="bugfix"> 11720<para lang="ru"> 11721директивы proxy_cache_min_uses, fastcgi_cache_min_uses 11722uwsgi_cache_min_uses и scgi_cache_min_uses не работали; 11723ошибка появилась в 0.8.46. 11724</para> 11725<para lang="en"> 11726the "proxy_cache_min_uses", "fastcgi_cache_min_uses" 11727"uwsgi_cache_min_uses", and "scgi_cache_min_uses" directives did not work; 11728the bug had appeared in 0.8.46. 11729</para> 11730</change> 11731 11732<change type="bugfix"> 11733<para lang="ru"> 11734директива fastcgi_split_path_info неверно использовала выделения, 11735если в выделения попадала только часть URI.<br/> 11736Спасибо Юрию Тарадаю и Frank Enderle. 11737</para> 11738<para lang="en"> 11739the "fastcgi_split_path_info" directive used incorrectly captures, 11740if only parts of an URI were captured.<br/> 11741Thanks to Yuriy Taraday and Frank Enderle. 11742</para> 11743</change> 11744 11745<change type="bugfix"> 11746<para lang="ru"> 11747директива rewrite не экранировала символ ";" при копировании из URI 11748в аргументы.<br/> 11749Спасибо Daisuke Murase. 11750</para> 11751<para lang="en"> 11752the "rewrite" directive did not escape a ";" character during copying 11753from URI to query string.<br/> 11754Thanks to Daisuke Murase. 11755</para> 11756</change> 11757 11758<change type="bugfix"> 11759<para lang="ru"> 11760модуль ngx_http_image_filter_module закрывал соединение, 11761если изображение было больше размера image_filter_buffer. 11762</para> 11763<para lang="en"> 11764the ngx_http_image_filter_module closed a connection, 11765if an image was larger than "image_filter_buffer" size. 11766</para> 11767</change> 11768 11769</changes> 11770 11771 11772<changes ver="0.8.47" date="2010-07-28"> 11773 11774<change type="bugfix"> 11775<para lang="ru"> 11776переменная $request_time имела неверные значения для подзапросов. 11777</para> 11778<para lang="en"> 11779$request_time variable had invalid values for subrequests. 11780</para> 11781</change> 11782 11783<change type="bugfix"> 11784<para lang="ru"> 11785ошибки, перехваченные error_page, не кэшировались. 11786</para> 11787<para lang="en"> 11788errors intercepted by error_page could not be cached. 11789</para> 11790</change> 11791 11792<change type="bugfix"> 11793<para lang="ru"> 11794если использовался параметр max_size, то cache manager мог зациклиться; 11795ошибка появилась в 0.8.46. 11796</para> 11797<para lang="en"> 11798a cache manager process may got caught in an endless loop, 11799if max_size parameter was used; 11800the bug had appeared in 0.8.46. 11801</para> 11802</change> 11803 11804</changes> 11805 11806 11807<changes ver="0.8.46" date="2010-07-19"> 11808 11809<change type="change"> 11810<para lang="ru"> 11811директивы proxy_no_cache, fastcgi_no_cache, uwsgi_no_cache 11812и scgi_no_cache теперь влияют только на сохранение закэшированного ответа. 11813</para> 11814<para lang="en"> 11815now the "proxy_no_cache", "fastcgi_no_cache", "uwsgi_no_cache", and 11816"scgi_no_cache" directives affect on a cached response saving only. 11817</para> 11818</change> 11819 11820<change type="feature"> 11821<para lang="ru"> 11822директивы proxy_cache_bypass, fastcgi_cache_bypass, uwsgi_cache_bypass 11823и scgi_cache_bypass. 11824</para> 11825<para lang="en"> 11826the "proxy_cache_bypass", "fastcgi_cache_bypass", "uwsgi_cache_bypass", 11827and "scgi_cache_bypass" directives. 11828</para> 11829</change> 11830 11831<change type="bugfix"> 11832<para lang="ru"> 11833nginx не освобождал память в keys_zone кэшей в случае ошибки работы с 11834бэкендом: память освобождалась только по истечении времени неактивности 11835или при недостатке памяти. 11836</para> 11837<para lang="en"> 11838nginx did not free memory in cache keys zones if there was an error 11839during working with backend: the memory was freed only after inactivity 11840time or on memory low condition. 11841</para> 11842</change> 11843 11844</changes> 11845 11846 11847<changes ver="0.8.45" date="2010-07-13"> 11848 11849<change type="feature"> 11850<para lang="ru"> 11851улучшения в модуле ngx_http_xslt_filter.<br/> 11852Спасибо Laurence Rowe. 11853</para> 11854<para lang="en"> 11855ngx_http_xslt_filter improvements.<br/> 11856Thanks to Laurence Rowe. 11857</para> 11858</change> 11859 11860<change type="bugfix"> 11861<para lang="ru"> 11862ответ SSI модуля мог передаваться не полностью после команды include 11863с параметром wait="yes"; 11864ошибка появилась в 0.7.25.<br/> 11865Спасибо Максиму Дунину. 11866</para> 11867<para lang="en"> 11868SSI response might be truncated after include with wait="yes"; 11869the bug had appeared in 0.7.25.<br/> 11870Thanks to Maxim Dounin. 11871</para> 11872</change> 11873 11874<change type="bugfix"> 11875<para lang="ru"> 11876директива listen не поддерживала параметр setfib=0. 11877</para> 11878<para lang="en"> 11879the "listen" directive did not support the "setfib=0" parameter. 11880</para> 11881</change> 11882 11883</changes> 11884 11885 11886<changes ver="0.8.44" date="2010-07-05"> 11887 11888<change type="change"> 11889<para lang="ru"> 11890теперь nginx по умолчанию не кэширует ответы бэкендов, 11891в заголовке которых есть строка "Set-Cookie". 11892</para> 11893<para lang="en"> 11894now nginx does not cache by default backend responses, 11895if they have a "Set-Cookie" header line. 11896</para> 11897</change> 11898 11899<change type="feature"> 11900<para lang="ru"> 11901директива listen поддерживает параметр setfib.<br/> 11902Спасибо Андрею Филонову. 11903</para> 11904<para lang="en"> 11905the "listen" directive supports the "setfib" parameter.<br/> 11906Thanks to Andrew Filonov. 11907</para> 11908</change> 11909 11910<change type="bugfix"> 11911<para lang="ru"> 11912директива sub_filter могла изменять регистр букв при частичном совпадении. 11913</para> 11914<para lang="en"> 11915the "sub_filter" directive might change character case on partial match. 11916</para> 11917</change> 11918 11919<change type="bugfix"> 11920<para lang="ru"> 11921совместимость с HP/UX. 11922</para> 11923<para lang="en"> 11924compatibility with HP/UX. 11925</para> 11926</change> 11927 11928<change type="bugfix"> 11929<para lang="ru"> 11930совместимость с компилятором AIX xlC_r. 11931</para> 11932<para lang="en"> 11933compatibility with AIX xlC_r compiler. 11934</para> 11935</change> 11936 11937<change type="bugfix"> 11938<para lang="ru"> 11939nginx считал большие пакеты SSLv2 как обычные текстовые запросы.<br/> 11940Спасибо Miroslaw Jaworski. 11941</para> 11942<para lang="en"> 11943nginx treated large SSLv2 packets as plain requests.<br/> 11944Thanks to Miroslaw Jaworski. 11945</para> 11946</change> 11947 11948</changes> 11949 11950 11951<changes ver="0.8.43" date="2010-06-30"> 11952 11953<change type="feature"> 11954<para lang="ru"> 11955ускорение загрузки больших баз geo-диапазонов. 11956</para> 11957<para lang="en"> 11958large geo ranges base loading speed-up. 11959</para> 11960</change> 11961 11962<change type="bugfix"> 11963<para lang="ru"> 11964перенаправление ошибки в "location /zero {return 204;}" без изменения 11965кода ответа оставляло тело ошибки; 11966ошибка появилась в 0.8.42. 11967</para> 11968<para lang="en"> 11969an error_page redirection to "location /zero {return 204;}" without 11970changing status code kept the error body; 11971the bug had appeared in 0.8.42. 11972</para> 11973</change> 11974 11975<change type="bugfix"> 11976<para lang="ru"> 11977nginx мог закрывать IPv6 listen сокет во время переконфигурации.<br/> 11978Спасибо Максиму Дунину. 11979</para> 11980<para lang="en"> 11981nginx might close IPv6 listen socket during reconfiguration.<br/> 11982Thanks to Maxim Dounin. 11983</para> 11984</change> 11985 11986<change type="bugfix"> 11987<para lang="ru"> 11988переменную $uid_set можно использовать на любой стадии обработки запроса. 11989</para> 11990<para lang="en"> 11991the $uid_set variable may be used at any request processing stage. 11992</para> 11993</change> 11994 11995</changes> 11996 11997 11998<changes ver="0.8.42" date="2010-06-21"> 11999 12000<change type="change"> 12001<para lang="ru"> 12002теперь nginx проверяет location'ы, заданные регулярными выражениями, 12003если запрос полностью совпал с location'ом, заданным строкой префикса. 12004Предыдущее поведение появилось в 0.7.1. 12005</para> 12006<para lang="en"> 12007now nginx tests locations given by regular expressions, 12008if request was matched exactly by a location given by a prefix string. 12009The previous behavior has been introduced in 0.7.1. 12010</para> 12011</change> 12012 12013<change type="feature"> 12014<para lang="ru"> 12015модуль ngx_http_scgi_module.<br/> 12016Спасибо Manlio Perillo. 12017</para> 12018<para lang="en"> 12019the ngx_http_scgi_module.<br/> 12020Thanks to Manlio Perillo. 12021</para> 12022</change> 12023 12024<change type="feature"> 12025<para lang="ru"> 12026в директиве return можно добавлять текст ответа. 12027</para> 12028<para lang="en"> 12029a text answer may be added to a "return" directive. 12030</para> 12031</change> 12032 12033</changes> 12034 12035 12036<changes ver="0.8.41" date="2010-06-15"> 12037 12038<change type="security"> 12039<para lang="ru"> 12040рабочий процесс nginx/Windows мог завершаться аварийно при запросе файла 12041с неверной кодировкой UTF-8. 12042</para> 12043<para lang="en"> 12044nginx/Windows worker might be terminated abnormally if a requested file name 12045has invalid UTF-8 encoding. 12046</para> 12047</change> 12048 12049<change type="change"> 12050<para lang="ru"> 12051теперь nginx разрешает использовать пробелы в строке запроса. 12052</para> 12053<para lang="en"> 12054now nginx allows to use spaces in a request line. 12055</para> 12056</change> 12057 12058<change type="bugfix"> 12059<para lang="ru"> 12060директива proxy_redirect неправильно изменяла строку "Refresh" в заголовке 12061ответа бэкенда.<br/> 12062Спасибо Андрею Андрееву и Максиму Согину. 12063</para> 12064<para lang="en"> 12065the "proxy_redirect" directive changed incorrectly a backend "Refresh" 12066response header line.<br/> 12067Thanks to Andrey Andreew and Max Sogin. 12068</para> 12069</change> 12070 12071<change type="bugfix"> 12072<para lang="ru"> 12073nginx не поддерживал путь без имени хоста в 12074строке "Destination" в заголовке запроса. 12075</para> 12076<para lang="en"> 12077nginx did not support path without host name 12078in "Destination" request header line. 12079</para> 12080</change> 12081 12082</changes> 12083 12084 12085<changes ver="0.8.40" date="2010-06-07"> 12086 12087<change type="security"> 12088<para lang="ru"> 12089теперь nginx/Windows игнорирует имя потока файла по умолчанию.<br/> 12090Спасибо Jose Antonio Vazquez Gonzalez. 12091</para> 12092<para lang="en"> 12093now nginx/Windows ignores default file stream name.<br/> 12094Thanks to Jose Antonio Vazquez Gonzalez. 12095</para> 12096</change> 12097 12098<change type="feature"> 12099<para lang="ru"> 12100модуль ngx_http_uwsgi_module.<br/> 12101Спасибо Roberto De Ioris. 12102</para> 12103<para lang="en"> 12104the ngx_http_uwsgi_module.<br/> 12105Thanks to Roberto De Ioris. 12106</para> 12107</change> 12108 12109<change type="feature"> 12110<para lang="ru"> 12111директива fastcgi_param со значением, начинающимся со строки "HTTP_", 12112изменяет строку заголовка в запросе клиента. 12113</para> 12114<para lang="en"> 12115a "fastcgi_param" directive with value starting with "HTTP_" overrides 12116a client request header line. 12117</para> 12118</change> 12119 12120<change type="bugfix"> 12121<para lang="ru"> 12122строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 12123клиента передавались FastCGI-серверу при кэшировании. 12124</para> 12125<para lang="en"> 12126the "If-Modified-Since", "If-Range", etc. client request header lines 12127were passed to FastCGI-server while caching. 12128</para> 12129</change> 12130 12131<change type="bugfix"> 12132<para lang="ru"> 12133listen unix domain сокет нельзя было изменить во время переконфигурации.<br/> 12134Спасибо Максиму Дунину. 12135</para> 12136<para lang="en"> 12137listen unix domain socket could not be changed during reconfiguration.<br/> 12138Thanks to Maxim Dounin. 12139</para> 12140</change> 12141 12142</changes> 12143 12144 12145<changes ver="0.8.39" date="2010-05-31"> 12146 12147<change type="bugfix"> 12148<para lang="ru"> 12149наследуемая директива alias неправильно работала во вложенном location'е. 12150</para> 12151<para lang="en"> 12152an inherited "alias" directive worked incorrectly in inclusive location. 12153</para> 12154</change> 12155 12156<change type="bugfix"> 12157<para lang="ru"> 12158в комбинации директив alias с переменными и try_files; 12159</para> 12160<para lang="en"> 12161in "alias" with variables and "try_files" directives combination. 12162</para> 12163</change> 12164 12165<change type="bugfix"> 12166<para lang="ru"> 12167listen unix domain и IPv6 сокеты не наследовались во время обновления 12168без перерыва.<br/> 12169Спасибо Максиму Дунину. 12170</para> 12171<para lang="en"> 12172listen unix domain and IPv6 sockets did not inherit while online upgrade.<br/> 12173Thanks to Maxim Dounin. 12174</para> 12175</change> 12176 12177</changes> 12178 12179 12180<changes ver="0.8.38" date="2010-05-24"> 12181 12182<change type="feature"> 12183<para lang="ru"> 12184директивы proxy_no_cache и fastcgi_no_cache. 12185</para> 12186<para lang="en"> 12187the "proxy_no_cache" and "fastcgi_no_cache" directives. 12188</para> 12189</change> 12190 12191<change type="feature"> 12192<para lang="ru"> 12193теперь при использовании переменной $scheme в директиве rewrite 12194автоматически делается редирект.<br/> 12195Спасибо Piotr Sikora. 12196</para> 12197<para lang="en"> 12198now the "rewrite" directive does a redirect automatically 12199if the $scheme variable is used.<br/> 12200Thanks to Piotr Sikora. 12201</para> 12202</change> 12203 12204<change type="bugfix"> 12205<para lang="ru"> 12206теперь задержки в директиве limit_req соответствует описанному алгоритму.<br/> 12207Спасибо Максиму Дунину. 12208</para> 12209<para lang="en"> 12210now "limit_req" delay directive conforms to the described algorithm.<br/> 12211Thanks to Maxim Dounin. 12212</para> 12213</change> 12214 12215<change type="bugfix"> 12216<para lang="ru"> 12217переменную $uid_got нельзя было использовать в SSI и перловом модулях. 12218</para> 12219<para lang="en"> 12220the $uid_got variable might not be used in the SSI and perl modules. 12221</para> 12222</change> 12223 12224</changes> 12225 12226 12227<changes ver="0.8.37" date="2010-05-17"> 12228 12229<change type="feature"> 12230<para lang="ru"> 12231модуль ngx_http_split_clients_module. 12232</para> 12233<para lang="en"> 12234the ngx_http_split_clients_module. 12235</para> 12236</change> 12237 12238<change type="feature"> 12239<para lang="ru"> 12240директива map поддерживает ключи больше 255 символов. 12241</para> 12242<para lang="en"> 12243the "map" directive supports keys more than 255 characters. 12244</para> 12245</change> 12246 12247<change type="bugfix"> 12248<para lang="ru"> 12249nginx игнорировал значения "private" и "no-store" в строке "Cache-Control" 12250в заголовке ответа бэкенда. 12251</para> 12252<para lang="en"> 12253nginx ignored the "private" and "no-store" values 12254in the "Cache-Control" backend response header line. 12255</para> 12256</change> 12257 12258<change type="bugfix"> 12259<para lang="ru"> 12260параметр stub в SSI-директиве include не использовался, 12261если пустой ответ имел код 200. 12262</para> 12263<para lang="en"> 12264a "stub" parameter of an "include" SSI directive was not used, 12265if empty response has 200 status code. 12266</para> 12267</change> 12268 12269<change type="bugfix"> 12270<para lang="ru"> 12271если проксированный или FastCGI запрос внутренне перенаправлялся 12272в другой проксированный или FastCGI location, 12273то в рабочем процессе мог произойти segmentation fault; 12274ошибка появилась в 0.8.33.<br/> 12275Спасибо Yichun Zhang. 12276</para> 12277<para lang="en"> 12278if a proxied or FastCGI request was internally redirected 12279to another proxied or FastCGI location, 12280then a segmentation fault might occur in a worker process; 12281the bug had appeared in 0.8.33.<br/> 12282Thanks to Yichun Zhang. 12283</para> 12284</change> 12285 12286<change type="bugfix"> 12287<para lang="ru"> 12288соединения IMAP к серверу Zimbra могло зависнуть до таймаута.<br/> 12289Спасибо Alan Batie. 12290</para> 12291<para lang="en"> 12292IMAP connections may hang until they timed out 12293while talking to Zimbra server.<br/> 12294Thanks to Alan Batie. 12295</para> 12296</change> 12297 12298</changes> 12299 12300 12301<changes ver="0.8.36" date="2010-04-22"> 12302 12303<change type="bugfix"> 12304<para lang="ru"> 12305модуль ngx_http_dav_module неправильно обрабатывал методы DELETE, COPY и MOVE 12306для симлинков. 12307</para> 12308<para lang="en"> 12309the ngx_http_dav_module handled incorrectly the DELETE, COPY, and MOVE methods 12310for symlinks. 12311</para> 12312</change> 12313 12314<change type="bugfix"> 12315<para lang="ru"> 12316модуль SSI в подзапросах использовал закэшированные в основном запросе 12317значения переменных $query_string, $arg_... и им подобных. 12318</para> 12319<para lang="en"> 12320values of the $query_string, $arg_..., etc. variables cached in main 12321request were used by the SSI module in subrequests. 12322</para> 12323</change> 12324 12325<change type="bugfix"> 12326<para lang="ru"> 12327значение переменной повторно экранировалось после каждого вывода 12328SSI-команды echo; 12329ошибка появилась в 0.6.14. 12330</para> 12331<para lang="en"> 12332a variable value was repeatedly encoded after each 12333an "echo" SSI-command output; 12334the bug had appeared in 0.6.14. 12335</para> 12336</change> 12337 12338<change type="bugfix"> 12339<para lang="ru"> 12340рабочий процесс зависал при запросе файла FIFO.<br/> 12341Спасибо Vicente Aguilar и Максиму Дунину. 12342</para> 12343<para lang="en"> 12344a worker process hung if a FIFO file was requested.<br/> 12345Thanks to Vicente Aguilar and Maxim Dounin. 12346</para> 12347</change> 12348 12349<change type="bugfix"> 12350<para lang="ru"> 12351совместимость с OpenSSL-1.0.0 на 64-битном Linux.<br/> 12352Спасибо Максиму Дунину. 12353</para> 12354<para lang="en"> 12355OpenSSL-1.0.0 compatibility on 64-bit Linux.<br/> 12356Thanks to Maxim Dounin. 12357</para> 12358</change> 12359 12360<change type="bugfix"> 12361<para lang="ru"> 12362nginx не собирался с параметром --without-http-cache; 12363ошибка появилась в 0.8.35. 12364</para> 12365<para lang="en"> 12366nginx could not be built --without-http-cache; 12367the bug had appeared in 0.8.35. 12368</para> 12369</change> 12370 12371</changes> 12372 12373 12374<changes ver="0.8.35" date="2010-04-01"> 12375 12376<change type="change"> 12377<para lang="ru"> 12378теперь charset-фильтр работает до SSI-фильтра. 12379</para> 12380<para lang="en"> 12381now the charset filter runs before the SSI filter. 12382</para> 12383</change> 12384 12385<change type="feature"> 12386<para lang="ru"> 12387директива chunked_transfer_encoding. 12388</para> 12389<para lang="en"> 12390the "chunked_transfer_encoding" directive. 12391</para> 12392</change> 12393 12394<change type="bugfix"> 12395<para lang="ru"> 12396символ "&" при копировании в аргументы в правилах rewrite не экранировался. 12397</para> 12398<para lang="en"> 12399an "&" character was not escaped when it was copied in arguments part 12400in a rewrite rule. 12401</para> 12402</change> 12403 12404<change type="bugfix"> 12405<para lang="ru"> 12406nginx мог завершаться аварийно во время обработки сигнала или 12407при использовании директивы timer_resolution на платформах, 12408не поддерживающих методы kqueue или eventport.<br/> 12409Спасибо George Xie и Максиму Дунину. 12410</para> 12411<para lang="en"> 12412nginx might be terminated abnormally 12413while a signal processing or if the directive "timer_resolution" was used 12414on platforms which do not support kqueue or eventport notification methods.<br/> 12415Thanks to George Xie and Maxim Dounin. 12416</para> 12417</change> 12418 12419<change type="bugfix"> 12420<para lang="ru"> 12421если временные файлы и постоянное место хранения располагались на разных 12422файловых системах, то у постоянных файлов время изменения было неверным.<br/> 12423Спасибо Максиму Дунину. 12424</para> 12425<para lang="en"> 12426if temporary files and permanent storage area resided at different 12427file systems, then permanent file modification times were incorrect.<br/> 12428Thanks to Maxim Dounin. 12429</para> 12430</change> 12431 12432<change type="bugfix"> 12433<para lang="ru"> 12434модуль ngx_http_memcached_module мог выдавать ошибку "memcached sent invalid 12435trailer".<br/> 12436Спасибо Максиму Дунину. 12437</para> 12438<para lang="en"> 12439ngx_http_memcached_module might issue the error message "memcached sent invalid 12440trailer".<br/> 12441Thanks to Maxim Dounin. 12442</para> 12443</change> 12444 12445<change type="bugfix"> 12446<para lang="ru"> 12447nginx не мог собрать библиотеку zlib-1.2.4 из исходных текстов.<br/> 12448Спасибо Максиму Дунину. 12449</para> 12450<para lang="en"> 12451nginx could not built zlib-1.2.4 library using the library sources.<br/> 12452Thanks to Maxim Dounin. 12453</para> 12454</change> 12455 12456<change type="bugfix"> 12457<para lang="ru"> 12458в рабочем процессе происходил segmentation fault, 12459если перед ответом FastCGI-сервера было много вывода в stderr; 12460ошибка появилась в 0.8.34.<br/> 12461Спасибо Максиму Дунину. 12462</para> 12463<para lang="en"> 12464a segmentation fault occurred in a worker process, 12465if there was large stderr output before FastCGI response; 12466the bug had appeared in 0.8.34.<br/> 12467Thanks to Maxim Dounin. 12468</para> 12469</change> 12470 12471</changes> 12472 12473 12474<changes ver="0.8.34" date="2010-03-03"> 12475 12476<change type="bugfix"> 12477<para lang="ru"> 12478nginx не поддерживал все шифры, используемые в клиентских сертификатах.<br/> 12479Спасибо Иннокентию Еникееву. 12480</para> 12481<para lang="en"> 12482nginx did not support all ciphers and digests used in client certificates.<br/> 12483Thanks to Innocenty Enikeew. 12484</para> 12485</change> 12486 12487<change type="bugfix"> 12488<para lang="ru"> 12489nginx неправильно кэшировал FastCGI-ответы, если перед ответом было 12490много вывода в stderr. 12491</para> 12492<para lang="en"> 12493nginx cached incorrectly FastCGI responses if there was large stderr output 12494before response. 12495</para> 12496</change> 12497 12498<change type="bugfix"> 12499<para lang="ru"> 12500nginx не поддерживал HTTPS-рефереры. 12501</para> 12502<para lang="en"> 12503nginx did not support HTTPS referrers. 12504</para> 12505</change> 12506 12507<change type="bugfix"> 12508<para lang="ru"> 12509nginx/Windows мог не находить файлы, если путь в конфигурации был задан 12510в другом регистре; 12511ошибка появилась в 0.8.33. 12512</para> 12513<para lang="en"> 12514nginx/Windows might not find file if path in configuration was given 12515in other character case; 12516the bug had appeared in 0.8.33. 12517</para> 12518</change> 12519 12520<change type="bugfix"> 12521<para lang="ru"> 12522переменная $date_local выдавала неверное время, 12523если использовался формат "%s".<br/> 12524Спасибо Максиму Дунину. 12525</para> 12526<para lang="en"> 12527the $date_local variable has an incorrect value, 12528if the "%s" format was used.<br/> 12529Thanks to Maxim Dounin. 12530</para> 12531</change> 12532 12533<change type="bugfix"> 12534<para lang="ru"> 12535если ssl_session_cache не был установлен или установлен в none, 12536то при проверке клиентского сертификаты могла происходить 12537ошибка "session id context uninitialized"; 12538ошибка появилась в 0.7.1. 12539</para> 12540<para lang="en"> 12541if ssl_session_cache was not set or was set to "none", 12542then during client certificate verify 12543the error "session id context uninitialized" might occur; 12544the bug had appeared in 0.7.1. 12545</para> 12546</change> 12547 12548<change type="bugfix"> 12549<para lang="ru"> 12550geo-диапазон возвращал значение по умолчанию, если диапазон включал 12551в себя одну и более сетей размером /16 и не начинался на границе сети 12552размером /16. 12553</para> 12554<para lang="en"> 12555a geo range returned default value if the range included two or more 12556/16 networks and did not begin at /16 network boundary. 12557</para> 12558</change> 12559 12560<change type="bugfix"> 12561<para lang="ru"> 12562блок, используемый в параметре stub в SSI-директиве include, 12563выводился с MIME-типом "text/plain". 12564</para> 12565<para lang="en"> 12566a block used in a "stub" parameter of an "include" SSI directive 12567was output with "text/plain" MIME type. 12568</para> 12569</change> 12570 12571<change type="bugfix"> 12572<para lang="ru"> 12573$r->sleep() не работал; 12574ошибка появилась в 0.8.11. 12575</para> 12576<para lang="en"> 12577$r->sleep() did not work; 12578the bug had appeared in 0.8.11. 12579</para> 12580</change> 12581 12582</changes> 12583 12584 12585<changes ver="0.8.33" date="2010-02-01"> 12586 12587<change type="security"> 12588<para lang="ru"> 12589теперь nginx/Windows игнорирует пробелы в конце URI.<br/> 12590Спасибо Dan Crowley, Core Security Technologies. 12591</para> 12592<para lang="en"> 12593now nginx/Windows ignores trailing spaces in URI.<br/> 12594Thanks to Dan Crowley, Core Security Technologies. 12595</para> 12596</change> 12597 12598<change type="security"> 12599<para lang="ru"> 12600теперь nginx/Windows игнорирует короткие имена файлов.<br/> 12601Спасибо Dan Crowley, Core Security Technologies. 12602</para> 12603<para lang="en"> 12604now nginx/Windows ignores short files names.<br/> 12605Thanks to Dan Crowley, Core Security Technologies. 12606</para> 12607</change> 12608 12609<change type="change"> 12610<para lang="ru"> 12611теперь keepalive соединения после запросов POST не запрещаются для 12612MSIE 7.0+.<br/> 12613Спасибо Adam Lounds. 12614</para> 12615<para lang="en"> 12616now keepalive connections after POST requests are not disabled for 12617MSIE 7.0+.<br/> 12618Thanks to Adam Lounds. 12619</para> 12620</change> 12621 12622<change type="workaround"> 12623<para lang="ru"> 12624теперь keepalive соединения запрещены для Safari.<br/> 12625Спасибо Joshua Sierles. 12626</para> 12627<para lang="en"> 12628now keepalive connections are disabled for Safari.<br/> 12629Thanks to Joshua Sierles. 12630</para> 12631</change> 12632 12633<change type="bugfix"> 12634<para lang="ru"> 12635если проксированный или FastCGI запрос внутренне перенаправлялся 12636в другой проксированный или FastCGI location, то переменная 12637$upstream_response_time могла иметь ненормально большое значение; 12638ошибка появилась в 0.8.7. 12639</para> 12640<para lang="en"> 12641if a proxied or FastCGI request was internally redirected 12642to another proxied or FastCGI location, 12643then $upstream_response_time variable may have abnormally large value; 12644the bug had appeared in 0.8.7. 12645</para> 12646</change> 12647 12648<change type="bugfix"> 12649<para lang="ru"> 12650в рабочем процессе мог произойти segmentation fault 12651при отбрасывания тела запроса; 12652ошибка появилась в 0.8.11. 12653</para> 12654<para lang="en"> 12655a segmentation fault might occur in a worker process, 12656while discarding a request body; 12657the bug had appeared in 0.8.11. 12658</para> 12659</change> 12660 12661</changes> 12662 12663 12664<changes ver="0.8.32" date="2010-01-11"> 12665 12666<change type="bugfix"> 12667<para lang="ru"> 12668ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module.<br/> 12669Спасибо Максиму Дунину. 12670</para> 12671<para lang="en"> 12672UTF-8 encoding usage in the ngx_http_autoindex_module.<br/> 12673Thanks to Maxim Dounin. 12674</para> 12675</change> 12676 12677<change type="bugfix"> 12678<para lang="ru"> 12679именованные выделения в регулярных выражениях работали только для 12680двух переменных.<br/> 12681Спасибо Максиму Дунину. 12682</para> 12683<para lang="en"> 12684regular expression named captures worked for two names only.<br/> 12685Thanks to Maxim Dounin. 12686</para> 12687</change> 12688 12689<change type="bugfix"> 12690<para lang="ru"> 12691теперь в строке заголовка запроса "Host" используется имя "localhost", 12692если в директиве auth_http указан unix domain сокет.<br/> 12693Спасибо Максиму Дунину. 12694</para> 12695<para lang="en"> 12696now the "localhost" name is used in the "Host" request header line, 12697if an unix domain socket is defined in the "auth_http" directive.<br/> 12698Thanks to Maxim Dounin. 12699</para> 12700</change> 12701 12702<change type="bugfix"> 12703<para lang="ru"> 12704nginx не поддерживал передачу chunk'ами для 201-ых ответов.<br/> 12705Спасибо Julian Reich. 12706</para> 12707<para lang="en"> 12708nginx did not support chunked transfer encoding for 201 responses.<br/> 12709Thanks to Julian Reich. 12710</para> 12711</change> 12712 12713<change type="bugfix"> 12714<para lang="ru"> 12715если директива "expires modified" выставляла дату в прошлом, то в строке 12716заголовка ответа "Cache-Control" выдавалось отрицательное число.<br/> 12717Спасибо Алексею Капранову. 12718</para> 12719<para lang="en"> 12720if the "expires modified" set date in the past, then a negative number 12721was set in the "Cache-Control" response header line.<br/> 12722Thanks to Alex Kapranoff. 12723</para> 12724</change> 12725 12726</changes> 12727 12728 12729<changes ver="0.8.31" date="2009-12-23"> 12730 12731<change type="feature"> 12732<para lang="ru"> 12733теперь директива error_page может перенаправлять ответы со статусом 301 и 302. 12734</para> 12735<para lang="en"> 12736now the "error_page" directive may redirect the 301 and 302 responses. 12737</para> 12738</change> 12739 12740<change type="feature"> 12741<para lang="ru"> 12742переменные $geoip_city_continent_code, $geoip_latitude и $geoip_longitude.<br/> 12743Спасибо Arvind Sundararajan. 12744</para> 12745<para lang="en"> 12746the $geoip_city_continent_code, $geoip_latitude, and $geoip_longitude 12747variables.<br/> 12748Thanks to Arvind Sundararajan. 12749</para> 12750</change> 12751 12752<change type="feature"> 12753<para lang="ru"> 12754модуль ngx_http_image_filter_module теперь всегда удаляет 12755EXIF и другие данные, если они занимают больше 5% в JPEG-файле. 12756</para> 12757<para lang="en"> 12758now the ngx_http_image_filter_module deletes always EXIF and other 12759application specific data if the data consume more than 5% of a JPEG file. 12760</para> 12761</change> 12762 12763<change type="bugfix"> 12764<para lang="ru"> 12765nginx закрывал соединение при запросе закэшированного 12766ответа с пустым телом.<br/> 12767Спасибо Piotr Sikora. 12768</para> 12769<para lang="en"> 12770nginx closed a connection if a cached response had an empty body.<br/> 12771Thanks to Piotr Sikora. 12772</para> 12773</change> 12774 12775<change type="bugfix"> 12776<para lang="ru"> 12777nginx мог не собираться gcc 4.x при использовании оптимизации -O2 и выше.<br/> 12778Спасибо Максиму Дунину и Денису Латыпову. 12779</para> 12780<para lang="en"> 12781nginx might not be built by gcc 4.x if the -O2 or higher optimization option 12782was used.<br/> 12783Thanks to Maxim Dounin and Denis F. Latypoff. 12784</para> 12785</change> 12786 12787<change type="bugfix"> 12788<para lang="ru"> 12789регулярные выражения в location всегда тестировались с учётом регистра; 12790ошибка появилась в 0.8.25. 12791</para> 12792<para lang="en"> 12793regular expressions in location were always tested in case-sensitive mode; 12794the bug had appeared in 0.8.25. 12795</para> 12796</change> 12797 12798<change type="bugfix"> 12799<para lang="ru"> 12800nginx кэшировал 304 ответ, если в заголовке проксируемого запроса 12801была строка "If-None-Match".<br/> 12802Спасибо Tim Dettrick и David Kostal. 12803</para> 12804<para lang="en"> 12805nginx cached a 304 response if there was the "If-None-Match" header line 12806in a proxied request.<br/> 12807Thanks to Tim Dettrick and David Kostal. 12808</para> 12809</change> 12810 12811<change type="bugfix"> 12812<para lang="ru"> 12813nginx/Windows пытался дважды удалить временный файл 12814при перезаписи уже существующего файла. 12815</para> 12816<para lang="en"> 12817nginx/Windows tried to delete a temporary file twice 12818if the file should replace an already existent file. 12819</para> 12820</change> 12821 12822</changes> 12823 12824 12825<changes ver="0.8.30" date="2009-12-15"> 12826 12827<change type="change"> 12828<para lang="ru"> 12829теперь по умолчанию размер буфера директивы large_client_header_buffers 12830равен 8K.<br/> 12831Спасибо Andrew Cholakian. 12832</para> 12833<para lang="en"> 12834now the default buffer size of the "large_client_header_buffers" 12835directive is 8K.<br/> 12836Thanks to Andrew Cholakian. 12837</para> 12838</change> 12839 12840<change type="feature"> 12841<para lang="ru"> 12842файл conf/fastcgi.conf для простых конфигураций FastCGI. 12843</para> 12844<para lang="en"> 12845the conf/fastcgi.conf for simple FastCGI configurations. 12846</para> 12847</change> 12848 12849<change type="bugfix"> 12850<para lang="ru"> 12851nginx/Windows пытался дважды переименовать временный файл 12852при перезаписи уже существующего файла. 12853</para> 12854<para lang="en"> 12855nginx/Windows tried to rename a temporary file twice if the file 12856should replace an already existent file. 12857</para> 12858</change> 12859 12860<change type="bugfix"> 12861<para lang="ru"> 12862ошибки double free or corruption, возникающей, если имя хоста не было найдено; 12863ошибка появилась в 0.8.22.<br/> 12864Спасибо Константину Свисту. 12865</para> 12866<para lang="en"> 12867of "double free or corruption" error issued if host could not be resolved; 12868the bug had appeared in 0.8.22.<br/> 12869Thanks to Konstantin Svist. 12870</para> 12871</change> 12872 12873<change type="bugfix"> 12874<para lang="ru"> 12875в использовании libatomic на некоторых платформах.<br/> 12876Спасибо W-Mark Kubacki. 12877</para> 12878<para lang="en"> 12879in libatomic usage on some platforms.<br/> 12880Thanks to W-Mark Kubacki. 12881</para> 12882</change> 12883 12884</changes> 12885 12886 12887<changes ver="0.8.29" date="2009-11-30"> 12888 12889<change type="change"> 12890<para lang="ru"> 12891теперь для проксируемых ответов HTTP/0.9 в лог пишется код ответа "009". 12892</para> 12893<para lang="en"> 12894now the "009" status code is written to an access log for proxied HTTP/0.9 12895responses. 12896</para> 12897</change> 12898 12899<change type="feature"> 12900<para lang="ru"> 12901директивы addition_types, charset_types, gzip_types, ssi_types, 12902sub_filter_types и xslt_types поддерживают параметр "*". 12903</para> 12904<para lang="en"> 12905the "addition_types", "charset_types", "gzip_types", "ssi_types", 12906"sub_filter_types", and "xslt_types" directives support an "*" parameter. 12907</para> 12908</change> 12909 12910<change type="feature"> 12911<para lang="ru"> 12912использование встроенных атомарных операций GCC 4.1+.<br/> 12913Спасибо W-Mark Kubacki. 12914</para> 12915<para lang="en"> 12916GCC 4.1+ built-in atomic operations usage.<br/> 12917Thanks to W-Mark Kubacki. 12918</para> 12919</change> 12920 12921<change type="feature"> 12922<para lang="ru"> 12923параметр --with-libatomic[=DIR] в configure.<br/> 12924Спасибо W-Mark Kubacki. 12925</para> 12926<para lang="en"> 12927the --with-libatomic[=DIR] option in the configure.<br/> 12928Thanks to W-Mark Kubacki. 12929</para> 12930</change> 12931 12932<change type="bugfix"> 12933<para lang="ru"> 12934listen unix domain сокет имели ограниченные права доступа. 12935</para> 12936<para lang="en"> 12937listen unix domain socket had limited access rights. 12938</para> 12939</change> 12940 12941<change type="bugfix"> 12942<para lang="ru"> 12943закэшированные ответы ответов HTTP/0.9 неправильно обрабатывались. 12944</para> 12945<para lang="en"> 12946cached HTTP/0.9 responses were handled incorrectly. 12947</para> 12948</change> 12949 12950<change type="bugfix"> 12951<para lang="ru"> 12952именованные выделения в регулярных выражениях, заданные как "?P<...>", 12953не работали в директиве server_name.<br/> 12954Спасибо Максиму Дунину. 12955</para> 12956<para lang="en"> 12957regular expression named captures given by "?P<...>" did not work 12958in a "server_name" directive.<br/> 12959Thanks to Maxim Dounin. 12960</para> 12961</change> 12962 12963</changes> 12964 12965 12966<changes ver="0.8.28" date="2009-11-23"> 12967 12968<change type="bugfix"> 12969<para lang="ru"> 12970nginx не собирался с параметром --without-pcre; 12971ошибка появилась в 0.8.25. 12972</para> 12973<para lang="en"> 12974nginx could not be built with the --without-pcre parameter; 12975the bug had appeared in 0.8.25. 12976</para> 12977</change> 12978 12979</changes> 12980 12981 12982<changes ver="0.8.27" date="2009-11-17"> 12983 12984<change type="bugfix"> 12985<para lang="ru"> 12986регулярные выражения не работали в nginx/Windows; 12987ошибка появилась в 0.8.25. 12988</para> 12989<para lang="en"> 12990regular expressions did not work in nginx/Windows; 12991the bug had appeared in 0.8.25. 12992</para> 12993</change> 12994 12995</changes> 12996 12997 12998<changes ver="0.8.26" date="2009-11-16"> 12999 13000<change type="bugfix"> 13001<para lang="ru"> 13002ошибки при использовании выделений в директиве rewrite; 13003ошибка появилась в 0.8.25. 13004</para> 13005<para lang="en"> 13006in captures usage in "rewrite" directive; 13007the bug had appeared in 0.8.25. 13008</para> 13009</change> 13010 13011<change type="bugfix"> 13012<para lang="ru"> 13013nginx не собирался без параметра --with-debug; 13014ошибка появилась в 0.8.25. 13015</para> 13016<para lang="en"> 13017nginx could not be built without the --with-debug option; 13018the bug had appeared in 0.8.25. 13019</para> 13020</change> 13021 13022</changes> 13023 13024 13025<changes ver="0.8.25" date="2009-11-16"> 13026 13027<change type="change"> 13028<para lang="ru"> 13029теперь в лог ошибок не пишется сообщение, если переменная не найдена 13030с помощью метода $r->variable(). 13031</para> 13032<para lang="en"> 13033now no message is written in an error log if a variable is not found by 13034$r->variable() method. 13035</para> 13036</change> 13037 13038<change type="feature"> 13039<para lang="ru"> 13040модуль ngx_http_degradation_module. 13041</para> 13042<para lang="en"> 13043the ngx_http_degradation_module. 13044</para> 13045</change> 13046 13047<change type="feature"> 13048<para lang="ru"> 13049именованные выделения в регулярных выражениях. 13050</para> 13051<para lang="en"> 13052regular expression named captures. 13053</para> 13054</change> 13055 13056<change type="feature"> 13057<para lang="ru"> 13058теперь при использовании переменных в директиве proxy_pass не требуется 13059задавать URI. 13060</para> 13061<para lang="en"> 13062now URI part is not required a "proxy_pass" directive if variables are used. 13063</para> 13064</change> 13065 13066<change type="feature"> 13067<para lang="ru"> 13068теперь директива msie_padding работает и для Chrome. 13069</para> 13070<para lang="en"> 13071now the "msie_padding" directive works for Chrome too. 13072</para> 13073</change> 13074 13075<change type="bugfix"> 13076<para lang="ru"> 13077в рабочем процессе происходил segmentation fault при недостатке памяти; 13078ошибка появилась в 0.8.18. 13079</para> 13080<para lang="en"> 13081a segmentation fault occurred in a worker process on low memory condition; 13082the bug had appeared in 0.8.18. 13083</para> 13084</change> 13085 13086<change type="bugfix"> 13087<para lang="ru"> 13088nginx передавал сжатые ответы клиентам, не поддерживающим сжатие, 13089при настройках gzip_static on и gzip_vary off; 13090ошибка появилась в 0.8.16. 13091</para> 13092<para lang="en"> 13093nginx sent gzipped responses to clients those do not support gzip, 13094if "gzip_static on" and "gzip_vary off"; 13095the bug had appeared in 0.8.16. 13096</para> 13097</change> 13098 13099</changes> 13100 13101 13102<changes ver="0.8.24" date="2009-11-11"> 13103 13104<change type="bugfix"> 13105<para lang="ru"> 13106nginx всегда добавлял строку "Content-Encoding: gzip" в заголовок 13107304-ых ответов модуля ngx_http_gzip_static_module. 13108</para> 13109<para lang="en"> 13110nginx always added "Content-Encoding: gzip" response header line 13111in 304 responses sent by ngx_http_gzip_static_module. 13112</para> 13113</change> 13114 13115<change type="bugfix"> 13116<para lang="ru"> 13117nginx не собирался без параметра --with-debug; 13118ошибка появилась в 0.8.23. 13119</para> 13120<para lang="en"> 13121nginx could not be built without the --with-debug option; 13122the bug had appeared in 0.8.23. 13123</para> 13124</change> 13125 13126<change type="bugfix"> 13127<para lang="ru"> 13128параметр "unix:" в директиве set_real_ip_from неправильно наследовался 13129с предыдущего уровня. 13130</para> 13131<para lang="en"> 13132the "unix:" parameter of the "set_real_ip_from" directive inherited 13133incorrectly from previous level. 13134</para> 13135</change> 13136 13137<change type="bugfix"> 13138<para lang="ru"> 13139в resolver'е при определении пустого имени. 13140</para> 13141<para lang="en"> 13142in resolving empty name. 13143</para> 13144</change> 13145 13146</changes> 13147 13148 13149<changes ver="0.8.23" date="2009-11-11"> 13150 13151<change type="security"> 13152<para lang="ru"> 13153теперь SSL/TLS renegotiation запрещён.<br/> 13154Спасибо Максиму Дунину. 13155</para> 13156<para lang="en"> 13157now SSL/TLS renegotiation is disabled.<br/> 13158Thanks to Maxim Dounin. 13159</para> 13160</change> 13161 13162<change type="bugfix"> 13163<para lang="ru"> 13164listen unix domain сокет не наследовался во время обновления без перерыва. 13165</para> 13166<para lang="en"> 13167listen unix domain socket did not inherit while online upgrade. 13168</para> 13169</change> 13170 13171<change type="bugfix"> 13172<para lang="ru"> 13173параметр "unix:" в директиве set_real_ip_from не работал без ещё 13174одной директивы с любым IP-адресом. 13175</para> 13176<para lang="en"> 13177the "unix:" parameter of the "set_real_ip_from" directive did not without 13178yet another directive with any IP address. 13179</para> 13180</change> 13181 13182<change type="bugfix"> 13183<para lang="ru"> 13184segmentation fault и зацикливания в resolver'е. 13185</para> 13186<para lang="en"> 13187segmentation fault and infinite looping in resolver. 13188</para> 13189</change> 13190 13191<change type="bugfix"> 13192<para lang="ru"> 13193в resolver'е.<br/> 13194Спасибо Артёму Бохану. 13195</para> 13196<para lang="en"> 13197in resolver.<br/> 13198Thanks to Artem Bokhan. 13199</para> 13200</change> 13201 13202</changes> 13203 13204 13205<changes ver="0.8.22" date="2009-11-03"> 13206 13207<change type="feature"> 13208<para lang="ru"> 13209директивы proxy_bind, fastcgi_bind и memcached_bind. 13210</para> 13211<para lang="en"> 13212the "proxy_bind", "fastcgi_bind", and "memcached_bind" directives. 13213</para> 13214</change> 13215 13216<change type="feature"> 13217<para lang="ru"> 13218директивы access и deny поддерживают IPv6. 13219</para> 13220<para lang="en"> 13221the "access" and the "deny" directives support IPv6. 13222</para> 13223</change> 13224 13225<change type="feature"> 13226<para lang="ru"> 13227директива set_real_ip_from поддерживает IPv6 адреса в заголовках запроса. 13228</para> 13229<para lang="en"> 13230the "set_real_ip_from" directive supports IPv6 addresses in request headers. 13231</para> 13232</change> 13233 13234<change type="feature"> 13235<para lang="ru"> 13236параметр "unix:" в директиве set_real_ip_from. 13237</para> 13238<para lang="en"> 13239the "unix:" parameter of the "set_real_ip_from" directive. 13240</para> 13241</change> 13242 13243<change type="bugfix"> 13244<para lang="ru"> 13245nginx не удалял unix domain сокет после тестирования конфигурации. 13246</para> 13247<para lang="en"> 13248nginx did not delete unix domain socket after configuration testing. 13249</para> 13250</change> 13251 13252<change type="bugfix"> 13253<para lang="ru"> 13254nginx удалял unix domain сокет во время обновления без перерыва. 13255</para> 13256<para lang="en"> 13257nginx deleted unix domain socket while online upgrade. 13258</para> 13259</change> 13260 13261<change type="bugfix"> 13262<para lang="ru"> 13263оператор "!-x" не работал.<br/> 13264Спасибо Максиму Дунину. 13265</para> 13266<para lang="en"> 13267the "!-x" operator did not work.<br/> 13268Thanks to Maxim Dounin. 13269</para> 13270</change> 13271 13272<change type="bugfix"> 13273<para lang="ru"> 13274в рабочем процессе мог произойти segmentation fault 13275при использовании limit_rate в HTTPS сервере.<br/> 13276Спасибо Максиму Дунину. 13277</para> 13278<para lang="en"> 13279a segmentation fault might occur in a worker process, 13280if limit_rate was used in HTTPS server.<br/> 13281Thanks to Maxim Dounin. 13282</para> 13283</change> 13284 13285<change type="bugfix"> 13286<para lang="ru"> 13287при записи в лог переменной $limit_rate 13288в рабочем процессе происходил segmentation fault.<br/> 13289Спасибо Максиму Дунину. 13290</para> 13291<para lang="en"> 13292a segmentation fault might occur in a worker process 13293while $limit_rate logging.<br/> 13294Thanks to Maxim Dounin. 13295</para> 13296</change> 13297 13298<change type="bugfix"> 13299<para lang="ru"> 13300в рабочем процессе мог произойти segmentation fault, 13301если внутри блока server не было директивы listen; 13302ошибка появилась в 0.8.21. 13303</para> 13304<para lang="en"> 13305a segmentation fault might occur in a worker process, 13306if there was no "listen" directive in "server" block; 13307the bug had appeared in 0.8.21. 13308</para> 13309</change> 13310 13311</changes> 13312 13313 13314<changes ver="0.8.21" date="2009-10-26"> 13315 13316<change type="feature"> 13317<para lang="ru"> 13318теперь ключ -V показывает статус поддержки TLS SNI. 13319</para> 13320<para lang="en"> 13321now the "-V" switch shows TLS SNI support. 13322</para> 13323</change> 13324 13325<change type="feature"> 13326<para lang="ru"> 13327директива listen модуля HTTP поддерживает unix domain сокеты.<br/> 13328Спасибо Hongli Lai. 13329</para> 13330<para lang="en"> 13331the "listen" directive of the HTTP module supports unix domain sockets.<br/> 13332Thanks to Hongli Lai. 13333</para> 13334</change> 13335 13336<change type="feature"> 13337<para lang="ru"> 13338параметр "default_server" в директиве listen. 13339</para> 13340<para lang="en"> 13341the "default_server" parameter of the "listen" directive. 13342</para> 13343</change> 13344 13345<change type="feature"> 13346<para lang="ru"> 13347теперь параметр "default" не обязателен для установки параметров listen-сокета. 13348</para> 13349<para lang="en"> 13350now a "default" parameter is not required to set listen socket options. 13351</para> 13352</change> 13353 13354<change type="bugfix"> 13355<para lang="ru"> 13356nginx не поддерживал даты в 2038 году на 32-битных платформах; 13357</para> 13358<para lang="en"> 13359nginx did not support dates in 2038 year on 32-bit platforms; 13360</para> 13361</change> 13362 13363<change type="bugfix"> 13364<para lang="ru"> 13365утечки сокетов; 13366ошибка появилась в 0.8.11. 13367</para> 13368<para lang="en"> 13369socket leak; 13370the bug had appeared in 0.8.11. 13371</para> 13372</change> 13373 13374</changes> 13375 13376 13377<changes ver="0.8.20" date="2009-10-14"> 13378 13379<change type="change"> 13380<para lang="ru"> 13381теперь по умолчанию используются следующие шифры SSL: "HIGH:!ADH:!MD5". 13382</para> 13383<para lang="en"> 13384now default SSL ciphers are "HIGH:!ADH:!MD5". 13385</para> 13386</change> 13387 13388<change type="bugfix"> 13389<para lang="ru"> 13390модуль ngx_http_autoindex_module не показывал последний слэш для линков 13391на каталоги; 13392ошибка появилась в 0.7.15. 13393</para> 13394<para lang="en"> 13395the ngx_http_autoindex_module did not show the trailing slash in links to 13396a directory; 13397the bug had appeared in 0.7.15. 13398</para> 13399</change> 13400 13401<change type="bugfix"> 13402<para lang="ru"> 13403nginx не закрывал лог, заданный параметром конфигурации --error-log-path; 13404ошибка появилась в 0.7.53. 13405</para> 13406<para lang="en"> 13407nginx did not close a log file set by the --error-log-path configuration option; 13408the bug had appeared in 0.7.53. 13409</para> 13410</change> 13411 13412<change type="bugfix"> 13413<para lang="ru"> 13414nginx не считал запятую разделителем в строке "Cache-Control" в 13415заголовке ответа бэкенда. 13416</para> 13417<para lang="en"> 13418nginx did not treat a comma as separator in the "Cache-Control" backend response 13419header line. 13420</para> 13421</change> 13422 13423<change type="bugfix"> 13424<para lang="ru"> 13425nginx/Windows мог не создать временный файл, файл в кэше или файл 13426с помощью директив proxy/fastcgi_store, если рабочий процесс не имел 13427достаточно прав для работы с каталогами верхнего уровня. 13428</para> 13429<para lang="en"> 13430nginx/Windows might not create temporary file, a cache file, or 13431"proxy/fastcgi_store"d file if a worker had no enough access rights 13432for top level directories. 13433</para> 13434</change> 13435 13436<change type="bugfix"> 13437<para lang="ru"> 13438строки "Set-Cookie" и "P3P" в заголовке ответа FastCGI-сервера не скрывались 13439при кэшировании, если не использовались директивы fastcgi_hide_header 13440с любыми параметрами. 13441</para> 13442<para lang="en"> 13443the "Set-Cookie" and "P3P" FastCGI response header lines were not hidden 13444while caching if no "fastcgi_hide_header" directives were used with 13445any parameters. 13446</para> 13447</change> 13448 13449<change type="bugfix"> 13450<para lang="ru"> 13451nginx неверно считал размер кэша на диске. 13452</para> 13453<para lang="en"> 13454nginx counted incorrectly disk cache size. 13455</para> 13456</change> 13457 13458</changes> 13459 13460 13461<changes ver="0.8.19" date="2009-10-06"> 13462 13463<change type="change"> 13464<para lang="ru"> 13465теперь протокол SSLv2 по умолчанию запрещён. 13466</para> 13467<para lang="en"> 13468now SSLv2 protocol is disabled by default. 13469</para> 13470</change> 13471 13472<change type="change"> 13473<para lang="ru"> 13474теперь по умолчанию используются следующие шифры SSL: 13475"ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 13476</para> 13477<para lang="en"> 13478now default SSL ciphers are "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM". 13479</para> 13480</change> 13481 13482<change type="bugfix"> 13483<para lang="ru"> 13484директива limit_req не работала; 13485ошибка появилась в 0.8.18. 13486</para> 13487<para lang="en"> 13488a "limit_req" directive did not work; 13489the bug had appeared in 0.8.18. 13490</para> 13491</change> 13492 13493</changes> 13494 13495 13496<changes ver="0.8.18" date="2009-10-06"> 13497 13498<change type="feature"> 13499<para lang="ru"> 13500директива read_ahead. 13501</para> 13502<para lang="en"> 13503the "read_ahead" directive. 13504</para> 13505</change> 13506 13507<change type="feature"> 13508<para lang="ru"> 13509теперь можно использовать несколько директив perl_modules. 13510</para> 13511<para lang="en"> 13512now several "perl_modules" directives may be used. 13513</para> 13514</change> 13515 13516<change type="feature"> 13517<para lang="ru"> 13518директивы limit_req_log_level и limit_conn_log_level. 13519</para> 13520<para lang="en"> 13521the "limit_req_log_level" and "limit_conn_log_level" directives. 13522</para> 13523</change> 13524 13525<change type="bugfix"> 13526<para lang="ru"> 13527теперь директива limit_req соответствует алгоритму leaky bucket.<br/> 13528Спасибо Максиму Дунину. 13529</para> 13530<para lang="en"> 13531now "limit_req" directive conforms to the leaky bucket algorithm.<br/> 13532Thanks to Maxim Dounin. 13533</para> 13534</change> 13535 13536<change type="bugfix"> 13537<para lang="ru"> 13538nginx не работал на Linux/sparc.<br/> 13539Спасибо Marcus Ramberg. 13540</para> 13541<para lang="en"> 13542nginx did not work on Linux/sparc.<br/> 13543Thanks to Marcus Ramberg. 13544</para> 13545</change> 13546 13547<change type="bugfix"> 13548<para lang="ru"> 13549nginx слал символ '\0' в строке "Location" в заголовке в ответе на запрос 13550MKCOL.<br/> 13551Спасибо Xie Zhenye. 13552</para> 13553<para lang="en"> 13554nginx sent '\0' in a "Location" response header line on MKCOL request.<br/> 13555Thanks to Xie Zhenye. 13556</para> 13557</change> 13558 13559<change type="bugfix"> 13560<para lang="ru"> 13561вместо кода ответа 499 в лог записывался код 0; 13562ошибка появилась в 0.8.11. 13563</para> 13564<para lang="en"> 13565zero status code was logged instead of 499 status code; 13566the bug had appeared in 0.8.11. 13567</para> 13568</change> 13569 13570<change type="bugfix"> 13571<para lang="ru"> 13572утечки сокетов; 13573ошибка появилась в 0.8.11. 13574</para> 13575<para lang="en"> 13576socket leak; 13577the bug had appeared in 0.8.11. 13578</para> 13579</change> 13580 13581</changes> 13582 13583 13584<changes ver="0.8.17" date="2009-09-28"> 13585 13586<change type="security"> 13587<para lang="ru"> 13588теперь символы "/../" запрещены в строке "Destination" в заголовке запроса. 13589</para> 13590<para lang="en"> 13591now "/../" are disabled in "Destination" request header line. 13592</para> 13593</change> 13594 13595<change type="change"> 13596<para lang="ru"> 13597теперь значение переменной $host всегда в нижнем регистре. 13598</para> 13599<para lang="en"> 13600now $host variable value is always low case. 13601</para> 13602</change> 13603 13604<change type="feature"> 13605<para lang="ru"> 13606переменная $ssl_session_id. 13607</para> 13608<para lang="en"> 13609the $ssl_session_id variable. 13610</para> 13611</change> 13612 13613<change type="bugfix"> 13614<para lang="ru"> 13615утечки сокетов; 13616ошибка появилась в 0.8.11. 13617</para> 13618<para lang="en"> 13619socket leak; 13620the bug had appeared in 0.8.11. 13621</para> 13622</change> 13623 13624</changes> 13625 13626 13627<changes ver="0.8.16" date="2009-09-22"> 13628 13629<change type="feature"> 13630<para lang="ru"> 13631директива image_filter_transparency. 13632</para> 13633<para lang="en"> 13634the "image_filter_transparency" directive. 13635</para> 13636</change> 13637 13638<change type="bugfix"> 13639<para lang="ru"> 13640директива "addition_types" была неверно названа "addtion_types". 13641</para> 13642<para lang="en"> 13643"addition_types" directive was incorrectly named "addtion_types". 13644</para> 13645</change> 13646 13647<change type="bugfix"> 13648<para lang="ru"> 13649порчи кэша resolver'а.<br/> 13650Спасибо Matthew Dempsky. 13651</para> 13652<para lang="en"> 13653resolver cache poisoning.<br/> 13654Thanks to Matthew Dempsky. 13655</para> 13656</change> 13657 13658<change type="bugfix"> 13659<para lang="ru"> 13660утечки памяти в resolver'е.<br/> 13661Спасибо Matthew Dempsky. 13662</para> 13663<para lang="en"> 13664memory leak in resolver.<br/> 13665Thanks to Matthew Dempsky. 13666</para> 13667</change> 13668 13669<change type="bugfix"> 13670<para lang="ru"> 13671неверная строка запроса в переменной $request записывалась в access_log 13672только при использовании error_log на уровне info или debug. 13673</para> 13674<para lang="en"> 13675invalid request line in $request variable was written in access_log 13676only if error_log was set to "info" or "debug" level. 13677</para> 13678</change> 13679 13680<change type="bugfix"> 13681<para lang="ru"> 13682в поддержке альфа-канала PNG в модуле ngx_http_image_filter_module. 13683</para> 13684<para lang="en"> 13685in PNG alpha-channel support in the ngx_http_image_filter_module. 13686</para> 13687</change> 13688 13689<change type="bugfix"> 13690<para lang="ru"> 13691nginx всегда добавлял строку "Vary: Accept-Encoding" в заголовок ответа, 13692если обе директивы gzip_static и gzip_vary были включены. 13693</para> 13694<para lang="en"> 13695nginx always added "Vary: Accept-Encoding" response header line, 13696if both "gzip_static" and "gzip_vary" were on. 13697</para> 13698</change> 13699 13700<change type="bugfix"> 13701<para lang="ru"> 13702в поддержке кодировки UTF-8 директивой try_files в nginx/Windows. 13703</para> 13704<para lang="en"> 13705in UTF-8 encoding support by "try_files" directive in nginx/Windows. 13706</para> 13707</change> 13708 13709<change type="bugfix"> 13710<para lang="ru"> 13711ошибки при использовании post_action; 13712ошибка появилась в 0.8.11.<br/> 13713Спасибо Игорю Артемьеву. 13714</para> 13715<para lang="en"> 13716in "post_action" directive usage; 13717the bug had appeared in 0.8.11.<br/> 13718Thanks to Igor Artemiev. 13719</para> 13720</change> 13721 13722</changes> 13723 13724 13725<changes ver="0.8.15" date="2009-09-14"> 13726 13727<change type="security"> 13728<para lang="ru"> 13729при обработке специально созданного запроса 13730в рабочем процессе мог произойти segmentation fault.<br/> 13731Спасибо Chris Ries. 13732</para> 13733<para lang="en"> 13734a segmentation fault might occur in worker process 13735while specially crafted request handling.<br/> 13736Thanks to Chris Ries. 13737</para> 13738</change> 13739 13740<change type="bugfix"> 13741<para lang="ru"> 13742если были описаны имена .domain.tld, .sub.domain.tld и .domain-some.tld, 13743то имя .sub.domain.tld попадало под маску .domain.tld. 13744</para> 13745<para lang="en"> 13746if names .domain.tld, .sub.domain.tld, and .domain-some.tld were defined, 13747then the name .sub.domain.tld was matched by .domain.tld. 13748</para> 13749</change> 13750 13751<change type="bugfix"> 13752<para lang="ru"> 13753в поддержке прозрачности в модуле ngx_http_image_filter_module. 13754</para> 13755<para lang="en"> 13756in transparency support in the ngx_http_image_filter_module. 13757</para> 13758</change> 13759 13760<change type="bugfix"> 13761<para lang="ru"> 13762в файловом AIO. 13763</para> 13764<para lang="en"> 13765in file AIO. 13766</para> 13767</change> 13768 13769<change type="bugfix"> 13770<para lang="ru"> 13771ошибки при использовании X-Accel-Redirect; 13772ошибка появилась в 0.8.11. 13773</para> 13774<para lang="en"> 13775in X-Accel-Redirect usage; 13776the bug had appeared in 0.8.11. 13777</para> 13778</change> 13779 13780<change type="bugfix"> 13781<para lang="ru"> 13782ошибки при использовании встроенного перла; 13783ошибка появилась в 0.8.11. 13784</para> 13785<para lang="en"> 13786in embedded perl module; 13787the bug had appeared in 0.8.11. 13788</para> 13789</change> 13790 13791</changes> 13792 13793 13794<changes ver="0.8.14" date="2009-09-07"> 13795 13796<change type="bugfix"> 13797<para lang="ru"> 13798устаревший закэшированный запрос мог залипнуть в состоянии "UPDATING". 13799</para> 13800<para lang="en"> 13801an expired cached response might stick in the "UPDATING" state. 13802</para> 13803</change> 13804 13805<change type="bugfix"> 13806<para lang="ru"> 13807при использовании error_log на уровне info или debug 13808в рабочем процессе мог произойти segmentation fault.<br/> 13809Спасибо Сергею Боченкову. 13810</para> 13811<para lang="en"> 13812a segmentation fault might occur in worker process, 13813if error_log was set to info or debug level.<br/> 13814Thanks to Sergey Bochenkov. 13815</para> 13816</change> 13817 13818<change type="bugfix"> 13819<para lang="ru"> 13820ошибки при использовании встроенного перла; 13821ошибка появилась в 0.8.11. 13822</para> 13823<para lang="en"> 13824in embedded perl module; 13825the bug had appeared in 0.8.11. 13826</para> 13827</change> 13828 13829<change type="bugfix"> 13830<para lang="ru"> 13831директива error_page не перенаправляла ошибку 413; 13832ошибка появилась в 0.6.10. 13833</para> 13834<para lang="en"> 13835an "error_page" directive did not redirect a 413 error; 13836the bug had appeared in 0.6.10. 13837</para> 13838</change> 13839 13840</changes> 13841 13842 13843<changes ver="0.8.13" date="2009-08-31"> 13844 13845<change type="bugfix"> 13846<para lang="ru"> 13847в директиве "aio sendfile"; 13848ошибка появилась в 0.8.12. 13849</para> 13850<para lang="en"> 13851in the "aio sendfile" directive; 13852the bug had appeared in 0.8.12. 13853</para> 13854</change> 13855 13856<change type="bugfix"> 13857<para lang="ru"> 13858nginx не собирался без параметра --with-file-aio на FreeBSD; 13859ошибка появилась в 0.8.12. 13860</para> 13861<para lang="en"> 13862nginx could not be built without the --with-file-aio option on FreeBSD; 13863the bug had appeared in 0.8.12. 13864</para> 13865</change> 13866 13867</changes> 13868 13869 13870<changes ver="0.8.12" date="2009-08-31"> 13871 13872<change type="feature"> 13873<para lang="ru"> 13874параметр sendfile в директиве aio во FreeBSD. 13875</para> 13876<para lang="en"> 13877the "sendfile" parameter in the "aio" directive on FreeBSD. 13878</para> 13879</change> 13880 13881<change type="bugfix"> 13882<para lang="ru"> 13883ошибки при использовании try_files; 13884ошибка появилась в 0.8.11. 13885</para> 13886<para lang="en"> 13887in try_files; 13888the bug had appeared in 0.8.11. 13889</para> 13890</change> 13891 13892<change type="bugfix"> 13893<para lang="ru"> 13894ошибки при использовании memcached; 13895ошибка появилась в 0.8.11. 13896</para> 13897<para lang="en"> 13898in memcached; 13899the bug had appeared in 0.8.11. 13900</para> 13901</change> 13902 13903</changes> 13904 13905<changes ver="0.8.11" date="2009-08-28"> 13906 13907<change type="change"> 13908<para lang="ru"> 13909теперь директива "gzip_disable msie6" не запрещает сжатие для 13910<nobr>MSIE 6.0 SV1.</nobr> 13911</para> 13912<para lang="en"> 13913now directive "gzip_disable msie6" does not disable gzipping for 13914<nobr>MSIE 6.0 SV1.</nobr> 13915</para> 13916</change> 13917 13918<change type="feature"> 13919<para lang="ru"> 13920поддержка файлового AIO во FreeBSD и Linux. 13921</para> 13922<para lang="en"> 13923file AIO support on FreeBSD and Linux. 13924</para> 13925</change> 13926 13927<change type="feature"> 13928<para lang="ru"> 13929директива directio_alignment. 13930</para> 13931<para lang="en"> 13932the "directio_alignment" directive. 13933</para> 13934</change> 13935 13936</changes> 13937 13938 13939<changes ver="0.8.10" date="2009-08-24"> 13940 13941<change type="bugfix"> 13942<para lang="ru"> 13943утечек памяти при использовании базы GeoIP City. 13944</para> 13945<para lang="en"> 13946memory leaks if GeoIP City database was used. 13947</para> 13948</change> 13949 13950<change type="bugfix"> 13951<para lang="ru"> 13952ошибки при копировании временных файлов в постоянное место хранения; 13953ошибка появилась в 0.8.9. 13954</para> 13955<para lang="en"> 13956in copying temporary files to permanent storage area; 13957the bug had appeared in 0.8.9. 13958</para> 13959</change> 13960 13961</changes> 13962 13963 13964<changes ver="0.8.9" date="2009-08-17"> 13965 13966<change type="feature"> 13967<para lang="ru"> 13968теперь стартовый загрузчик кэша работает в отдельном процесс; 13969это должно улучшить обработку больших кэшей. 13970</para> 13971<para lang="en"> 13972now the start cache loader runs in a separate process; 13973this should improve large caches handling. 13974</para> 13975</change> 13976 13977<change type="feature"> 13978<para lang="ru"> 13979теперь временные файлы и постоянное место хранения могут располагаться 13980на разных файловых системах. 13981</para> 13982<para lang="en"> 13983now temporary files and permanent storage area may reside at 13984different file systems. 13985</para> 13986</change> 13987 13988</changes> 13989 13990 13991<changes ver="0.8.8" date="2009-08-10"> 13992 13993<change type="bugfix"> 13994<para lang="ru"> 13995в обработке заголовков ответа, разделённых в FastCGI-записях. 13996</para> 13997<para lang="en"> 13998in handling FastCGI headers split in records. 13999</para> 14000</change> 14001 14002<change type="bugfix"> 14003<para lang="ru"> 14004если запрос обрабатывался в двух проксированных или FastCGI location'ах 14005и в первом из них использовалось кэширование, 14006то в рабочем процессе происходил segmentation fault; 14007ошибка появилась в 0.8.7. 14008</para> 14009<para lang="en"> 14010a segmentation fault occurred in worker process, 14011if a request was handled in two proxied or FastCGIed locations 14012and a caching was enabled in the first location; 14013the bug had appeared in 0.8.7. 14014</para> 14015</change> 14016 14017</changes> 14018 14019 14020<changes ver="0.8.7" date="2009-07-27"> 14021 14022<change type="change"> 14023<para lang="ru"> 14024минимальная поддерживаемая версия OpenSSL—0.9.7. 14025</para> 14026<para lang="en"> 14027minimum supported OpenSSL version is 0.9.7. 14028</para> 14029</change> 14030 14031<change type="change"> 14032<para lang="ru"> 14033параметр ask директивы ssl_verify_client изменён на параметр optional 14034и теперь он проверяет клиентский сертификат, если он был предложен.<br/> 14035Спасибо Brice Figureau. 14036</para> 14037<para lang="en"> 14038the "ask" parameter of the "ssl_verify_client" directive was changed 14039to the "optional" parameter and now it checks a client certificate if it was 14040offered.<br/> 14041Thanks to Brice Figureau. 14042</para> 14043</change> 14044 14045<change type="feature"> 14046<para lang="ru"> 14047переменная $ssl_client_verify.<br/> 14048Спасибо Brice Figureau. 14049</para> 14050<para lang="en"> 14051the $ssl_client_verify variable.<br/> 14052Thanks to Brice Figureau. 14053</para> 14054</change> 14055 14056<change type="feature"> 14057<para lang="ru"> 14058директива ssl_crl.<br/> 14059Спасибо Brice Figureau. 14060</para> 14061<para lang="en"> 14062the "ssl_crl" directive.<br/> 14063Thanks to Brice Figureau. 14064</para> 14065</change> 14066 14067<change type="feature"> 14068<para lang="ru"> 14069параметр proxy директивы geo. 14070</para> 14071<para lang="en"> 14072the "proxy" parameter of the "geo" directive. 14073</para> 14074</change> 14075 14076<change type="feature"> 14077<para lang="ru"> 14078директива image_filter поддерживает переменные для задания размеров. 14079</para> 14080<para lang="en"> 14081the "image_filter" directive supports variables for setting size. 14082</para> 14083</change> 14084 14085<change type="bugfix"> 14086<para lang="ru"> 14087использование переменной $ssl_client_cert портило память; 14088ошибка появилась в 0.7.7.<br/> 14089Спасибо Сергею Журавлёву. 14090</para> 14091<para lang="en"> 14092the $ssl_client_cert variable usage corrupted memory; 14093the bug had appeared in 0.7.7.<br/> 14094Thanks to Sergey Zhuravlev. 14095</para> 14096</change> 14097 14098<change type="bugfix"> 14099<para lang="ru"> 14100директивы proxy_pass_header и fastcgi_pass_header" не передавали клиенту 14101строки "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering" и 14102"X-Accel-Charset" из заголовка ответа бэкенда.<br/> 14103Спасибо Максиму Дунину. 14104</para> 14105<para lang="en"> 14106"proxy_pass_header" and "fastcgi_pass_header" directives did not pass to 14107a client the "X-Accel-Redirect", "X-Accel-Limit-Rate", "X-Accel-Buffering", 14108and "X-Accel-Charset" lines from backend response header.<br/> 14109Thanks to Maxim Dounin. 14110</para> 14111</change> 14112 14113<change type="bugfix"> 14114<para lang="ru"> 14115в обработке строк "Last-Modified" и "Accept-Ranges" в заголовке ответа бэкенда; 14116ошибка появилась в 0.7.44.<br/> 14117Спасибо Максиму Дунину. 14118</para> 14119<para lang="en"> 14120in handling "Last-Modified" and "Accept-Ranges" backend response header lines; 14121the bug had appeared in 0.7.44.<br/> 14122Thanks to Maxim Dounin. 14123</para> 14124</change> 14125 14126<change type="bugfix"> 14127<para lang="ru"> 14128ошибки "[alert] zero size buf" при получении пустых ответы в подзапросах; 14129ошибка появилась в 0.8.5. 14130</para> 14131<para lang="en"> 14132the "[alert] zero size buf" error if subrequest returns an empty response; 14133the bug had appeared in 0.8.5. 14134</para> 14135</change> 14136 14137</changes> 14138 14139 14140<changes ver="0.8.6" date="2009-07-20"> 14141 14142<change type="feature"> 14143<para lang="ru"> 14144модуль ngx_http_geoip_module. 14145</para> 14146<para lang="en"> 14147the ngx_http_geoip_module. 14148</para> 14149</change> 14150 14151<change type="bugfix"> 14152<para lang="ru"> 14153XSLT-фильтр мог выдавать ошибку "not well formed XML document" для 14154правильного документа.<br/> 14155Спасибо Kuramoto Eiji. 14156</para> 14157<para lang="en"> 14158XSLT filter may fail with message "not well formed XML document" 14159for valid XML document.<br/> 14160Thanks to Kuramoto Eiji. 14161</para> 14162</change> 14163 14164<change type="bugfix"> 14165<para lang="ru"> 14166в MacOSX, Cygwin и nginx/Windows при проверке location'ов, заданных 14167регулярным выражением, теперь всегда делается сравнение без учёта 14168регистра символов. 14169</para> 14170<para lang="en"> 14171now in MacOSX, Cygwin, and nginx/Windows locations given by a regular 14172expression are always tested in case insensitive mode. 14173</para> 14174</change> 14175 14176<change type="bugfix"> 14177<para lang="ru"> 14178теперь nginx/Windows игнорирует точки в конце URI.<br/> 14179Спасибо Hugo Leisink. 14180</para> 14181<para lang="en"> 14182now nginx/Windows ignores trailing dots in URI.<br/> 14183Thanks to Hugo Leisink. 14184</para> 14185</change> 14186 14187<change type="bugfix"> 14188<para lang="ru"> 14189имя файла указанного в --conf-path игнорировалось при установке; 14190ошибка появилась в 0.6.6.<br/> 14191Спасибо Максиму Дунину. 14192</para> 14193<para lang="en"> 14194name of file specified in --conf-path was not honored during installation; 14195the bug had appeared in 0.6.6.<br/> 14196Thanks to Maxim Dounin. 14197</para> 14198</change> 14199 14200</changes> 14201 14202 14203<changes ver="0.8.5" date="2009-07-13"> 14204 14205<change type="bugfix"> 14206<para lang="ru"> 14207теперь nginx разрешает подчёркивания в методе запроса. 14208</para> 14209<para lang="en"> 14210now nginx allows underscores in a request method. 14211</para> 14212</change> 14213 14214<change type="bugfix"> 14215<para lang="ru"> 14216при использовании HTTP Basic-аутентификации на Windows 14217для неверных имени/пароля возвращалась 500-ая ошибка. 14218</para> 14219<para lang="en"> 14220a 500 error code was returned for invalid login/password while HTTP 14221Basic authentication on Windows. 14222</para> 14223</change> 14224 14225<change type="bugfix"> 14226<para lang="ru"> 14227ответы модуля ngx_http_perl_module не работали в подзапросах. 14228</para> 14229<para lang="en"> 14230ngx_http_perl_module responses did not work in subrequests. 14231</para> 14232</change> 14233 14234<change type="bugfix"> 14235<para lang="ru"> 14236в модуле ngx_http_limit_req_module.<br/> 14237Спасибо Максиму Дунину. 14238</para> 14239<para lang="en"> 14240in ngx_http_limit_req_module.<br/> 14241Thanks to Maxim Dounin. 14242</para> 14243</change> 14244 14245</changes> 14246 14247 14248<changes ver="0.8.4" date="2009-06-22"> 14249 14250<change type="bugfix"> 14251<para lang="ru"> 14252nginx не собирался с параметром --without-http-cache; 14253ошибка появилась в 0.8.3. 14254</para> 14255<para lang="en"> 14256nginx could not be built --without-http-cache; 14257the bug had appeared in 0.8.3. 14258</para> 14259</change> 14260 14261</changes> 14262 14263 14264<changes ver="0.8.3" date="2009-06-19"> 14265 14266<change type="feature"> 14267<para lang="ru"> 14268переменная $upstream_cache_status. 14269</para> 14270<para lang="en"> 14271the $upstream_cache_status variable. 14272</para> 14273</change> 14274 14275<change type="bugfix"> 14276<para lang="ru"> 14277nginx не собирался на MacOSX 10.6. 14278</para> 14279<para lang="en"> 14280nginx could not be built on MacOSX 10.6. 14281</para> 14282</change> 14283 14284<change type="bugfix"> 14285<para lang="ru"> 14286nginx не собирался с параметром --without-http-cache; 14287ошибка появилась в 0.8.2. 14288</para> 14289<para lang="en"> 14290nginx could not be built --without-http-cache; 14291the bug had appeared in 0.8.2. 14292</para> 14293</change> 14294 14295<change type="bugfix"> 14296<para lang="ru"> 14297если использовался перехват 401 ошибки от бэкенда и бэкенд 14298не возвращал строку "WWW-Authenticate" в заголовке ответа, 14299то в рабочем процессе происходил segmentation fault.<br/> 14300Спасибо Евгению Мычло. 14301</para> 14302<para lang="en"> 14303a segmentation fault occurred in worker process, 14304if a backend 401 error was intercepted and the backend did not set 14305the "WWW-Authenticate" response header line.<br/> 14306Thanks to Eugene Mychlo. 14307</para> 14308</change> 14309 14310</changes> 14311 14312 14313<changes ver="0.8.2" date="2009-06-15"> 14314 14315<change type="bugfix"> 14316<para lang="ru"> 14317во взаимодействии open_file_cache и proxy/fastcgi кэша на старте. 14318</para> 14319<para lang="en"> 14320in open_file_cache and proxy/fastcgi cache interaction on start up. 14321</para> 14322</change> 14323 14324<change type="bugfix"> 14325<para lang="ru"> 14326open_file_cache мог кэшировать открытые файлы очень долго; 14327ошибка появилась в 0.7.4. 14328</para> 14329<para lang="en"> 14330open_file_cache might cache open file descriptors too long; 14331the bug had appeared in 0.7.4. 14332</para> 14333</change> 14334 14335</changes> 14336 14337 14338<changes ver="0.8.1" date="2009-06-08"> 14339 14340<change type="feature"> 14341<para lang="ru"> 14342параметр updating в директивах proxy_cache_use_stale и fastcgi_cache_use_stale. 14343</para> 14344<para lang="en"> 14345the "updating" parameter in "proxy_cache_use_stale" and 14346"fastcgi_cache_use_stale" directives. 14347</para> 14348</change> 14349 14350<change type="bugfix"> 14351<para lang="ru"> 14352строки "If-Modified-Since", "If-Range" и им подобные в заголовке запроса 14353клиента передавались бэкенду при кэшировании, если не использовалась 14354директива proxy_set_header с любыми параметрами. 14355</para> 14356<para lang="en"> 14357the "If-Modified-Since", "If-Range", etc. client request header lines 14358were passed to backend while caching if no "proxy_set_header" directive 14359was used with any parameters. 14360</para> 14361</change> 14362 14363<change type="bugfix"> 14364<para lang="ru"> 14365строки "Set-Cookie" и "P3P" в заголовке ответа бэкенда не скрывались 14366при кэшировании, если не использовались директивы 14367proxy_hide_header/fastcgi_hide_header с любыми параметрами. 14368</para> 14369<para lang="en"> 14370the "Set-Cookie" and "P3P" response header lines were not hidden while caching 14371if no "proxy_hide_header/fastcgi_hide_header" directives were used with 14372any parameters. 14373</para> 14374</change> 14375 14376<change type="bugfix"> 14377<para lang="ru"> 14378модуль ngx_http_image_filter_module не понимал формат GIF87a.<br/> 14379Спасибо Денису Ильиных. 14380</para> 14381<para lang="en"> 14382the ngx_http_image_filter_module did not support GIF87a format.<br/> 14383Thanks to Denis Ilyinyh. 14384</para> 14385</change> 14386 14387<change type="bugfix"> 14388<para lang="ru"> 14389nginx не собирался на Solaris 10 и более ранних; 14390ошибка появилась в 0.7.56. 14391</para> 14392<para lang="en"> 14393nginx could not be built modules on Solaris 10 and early; 14394the bug had appeared in 0.7.56. 14395</para> 14396</change> 14397 14398</changes> 14399 14400 14401<changes ver="0.8.0" date="2009-06-02"> 14402 14403<change type="feature"> 14404<para lang="ru"> 14405директива keepalive_requests. 14406</para> 14407<para lang="en"> 14408the "keepalive_requests" directive. 14409</para> 14410</change> 14411 14412<change type="feature"> 14413<para lang="ru"> 14414директива limit_rate_after.<br/> 14415Спасибо Ivan Debnar. 14416</para> 14417<para lang="en"> 14418the "limit_rate_after" directive.<br/> 14419Thanks to Ivan Debnar. 14420</para> 14421</change> 14422 14423<change type="bugfix"> 14424<para lang="ru"> 14425XSLT-фильтр не работал в подзапросах. 14426</para> 14427<para lang="en"> 14428XLST filter did not work in subrequests. 14429</para> 14430</change> 14431 14432<change type="bugfix"> 14433<para lang="ru"> 14434обработке относительных путей в nginx/Windows. 14435</para> 14436<para lang="en"> 14437in relative paths handling in nginx/Windows. 14438</para> 14439</change> 14440 14441<change type="bugfix"> 14442<para lang="ru"> 14443в proxy_store, fastcgi_store, proxy_cache и fastcgi_cache в nginx/Windows. 14444</para> 14445<para lang="en"> 14446in proxy_store, fastcgi_store, proxy_cache, and fastcgi_cache in nginx/Windows. 14447</para> 14448</change> 14449 14450<change type="bugfix"> 14451<para lang="ru"> 14452в обработке ошибок выделения памяти.<br/> 14453Спасибо Максиму Дунину и Кириллу Коринскому. 14454</para> 14455<para lang="en"> 14456in memory allocation error handling.<br/> 14457Thanks to Maxim Dounin and Kirill A. Korinskiy. 14458</para> 14459</change> 14460 14461</changes> 14462 14463 14464<changes ver="0.7.59" date="2009-05-25"> 14465 14466<change type="feature"> 14467<para lang="ru"> 14468директивы proxy_cache_methods и fastcgi_cache_methods. 14469</para> 14470<para lang="en"> 14471the "proxy_cache_methods" and "fastcgi_cache_methods" directives. 14472</para> 14473</change> 14474 14475<change type="bugfix"> 14476<para lang="ru"> 14477утечки сокетов; 14478ошибка появилась в 0.7.25.<br/> 14479Спасибо Максиму Дунину. 14480</para> 14481<para lang="en"> 14482socket leak; 14483the bug had appeared in 0.7.25.<br/> 14484Thanks to Maxim Dounin. 14485</para> 14486</change> 14487 14488<change type="bugfix"> 14489<para lang="ru"> 14490при использовании переменной $request_body 14491в рабочем процессе происходил segmentation fault, 14492если в запросе не было тела; 14493ошибка появилась в 0.7.58. 14494</para> 14495<para lang="en"> 14496a segmentation fault occurred in worker process, 14497<nobr>if a request</nobr> had no body and the $request_body 14498variable was used;<br/> 14499the bug had appeared in 0.7.58. 14500</para> 14501</change> 14502 14503<change type="bugfix"> 14504<para lang="ru"> 14505SSL-модули могли не собираться на Solaris и Linux; 14506ошибка появилась в 0.7.56. 14507</para> 14508<para lang="en"> 14509the SSL modules might not built on Solaris and Linux;<br/> 14510the bug had appeared in 0.7.56. 14511</para> 14512</change> 14513 14514<change type="bugfix"> 14515<para lang="ru"> 14516ответы модуля ngx_http_xslt_filter_module не обрабатывались 14517SSI-, charset- и gzip-фильтрами. 14518</para> 14519<para lang="en"> 14520ngx_http_xslt_filter_module responses were not handled by SSI, charset, 14521and gzip filters. 14522</para> 14523</change> 14524 14525<change type="bugfix"> 14526<para lang="ru"> 14527директива charset не ставила кодировку для ответов модуля 14528ngx_http_gzip_static_module. 14529</para> 14530<para lang="en"> 14531a "charset" directive did not set a charset to ngx_http_gzip_static_module 14532responses. 14533</para> 14534</change> 14535 14536</changes> 14537 14538 14539<changes ver="0.7.58" date="2009-05-18"> 14540 14541<change type="feature"> 14542<para lang="ru"> 14543директива listen почтового прокси-сервера поддерживает IPv6. 14544</para> 14545<para lang="en"> 14546a "listen" directive of the mail proxy module supports IPv6. 14547</para> 14548</change> 14549 14550<change type="feature"> 14551<para lang="ru"> 14552директива image_filter_jpeg_quality. 14553</para> 14554<para lang="en"> 14555the "image_filter_jpeg_quality" directive. 14556</para> 14557</change> 14558 14559<change type="feature"> 14560<para lang="ru"> 14561директива client_body_in_single_buffer. 14562</para> 14563<para lang="en"> 14564the "client_body_in_single_buffer" directive. 14565</para> 14566</change> 14567 14568<change type="feature"> 14569<para lang="ru"> 14570переменная $request_body. 14571</para> 14572<para lang="en"> 14573the $request_body variable. 14574</para> 14575</change> 14576 14577<change type="bugfix"> 14578<para lang="ru"> 14579в модуле ngx_http_autoindex_module в ссылках на имена файлов, 14580содержащих символ ":". 14581</para> 14582<para lang="en"> 14583in ngx_http_autoindex_module in file name links 14584having a ":" symbol in the name. 14585</para> 14586</change> 14587 14588<change type="bugfix"> 14589<para lang="ru"> 14590процедура "make upgrade" не работала; 14591ошибка появилась в 0.7.53.<br/> 14592Спасибо Денису Латыпову. 14593</para> 14594<para lang="en"> 14595"make upgrade" procedure did not work; 14596the bug had appeared in 0.7.53.<br/> 14597Thanks to Denis F. Latypoff. 14598</para> 14599</change> 14600 14601</changes> 14602 14603 14604<changes ver="0.7.57" date="2009-05-12"> 14605 14606<change type="bugfix"> 14607<para lang="ru"> 14608при перенаправлении ошибок модуля ngx_http_image_filter_module 14609в именованный location в рабочем процессе происходил floating-point fault; 14610ошибка появилась в 0.7.56. 14611</para> 14612<para lang="en"> 14613a floating-point fault occurred in worker process, 14614if the ngx_http_image_filter_module errors were redirected to named location; 14615the bug had appeared in 0.7.56. 14616</para> 14617</change> 14618 14619</changes> 14620 14621 14622<changes ver="0.7.56" date="2009-05-11"> 14623 14624<change type="feature"> 14625<para lang="ru"> 14626nginx/Windows поддерживает IPv6 в директиве listen модуля HTTP. 14627</para> 14628<para lang="en"> 14629nginx/Windows supports IPv6 in a "listen" directive of the HTTP module. 14630</para> 14631</change> 14632 14633<change type="bugfix"> 14634<para lang="ru"> 14635в модуле ngx_http_image_filter_module. 14636</para> 14637<para lang="en"> 14638in ngx_http_image_filter_module. 14639</para> 14640</change> 14641 14642</changes> 14643 14644 14645<changes ver="0.7.55" date="2009-05-06"> 14646 14647<change type="bugfix"> 14648<para lang="ru"> 14649параметры http_XXX в директивах proxy_cache_use_stale 14650и fastcgi_cache_use_stale не работали. 14651</para> 14652<para lang="en"> 14653the http_XXX parameters in "proxy_cache_use_stale" and 14654"fastcgi_cache_use_stale" directives did not work. 14655</para> 14656</change> 14657 14658<change type="bugfix"> 14659<para lang="ru"> 14660fastcgi кэш не кэшировал ответы, состоящие только из заголовка. 14661</para> 14662<para lang="en"> 14663fastcgi cache did not cache header only responses. 14664</para> 14665</change> 14666 14667<change type="bugfix"> 14668<para lang="ru"> 14669ошибки "select() failed (9: Bad file descriptor)" в nginx/Unix 14670и "select() failed (10038: ...)" в nginx/Windows. 14671</para> 14672<para lang="en"> 14673of "select() failed (9: Bad file descriptor)" error in nginx/Unix 14674and "select() failed (10038: ...)" error in nginx/Windows. 14675</para> 14676</change> 14677 14678<change type="bugfix"> 14679<para lang="ru"> 14680при использовании директивы debug_connection 14681в рабочем процессе мог произойти segmentation fault; 14682ошибка появилась в 0.7.54. 14683</para> 14684<para lang="en"> 14685a segmentation fault might occur in worker process, 14686if an "debug_connection" directive was used; 14687the bug had appeared in 0.7.54. 14688</para> 14689</change> 14690 14691<change type="bugfix"> 14692<para lang="ru"> 14693в сборке модуля ngx_http_image_filter_module. 14694</para> 14695<para lang="en"> 14696fix ngx_http_image_filter_module building errors. 14697</para> 14698</change> 14699 14700<change type="bugfix"> 14701<para lang="ru"> 14702файлы больше 2G не передавались с использованием $r->sendfile.<br/> 14703Спасибо Максиму Дунину. 14704</para> 14705<para lang="en"> 14706the files bigger than 2G could not be transferred using $r->sendfile.<br/> 14707Thanks to Maxim Dounin. 14708</para> 14709</change> 14710 14711</changes> 14712 14713 14714<changes ver="0.7.54" date="2009-05-01"> 14715 14716<change type="feature"> 14717<para lang="ru"> 14718модуль ngx_http_image_filter_module. 14719</para> 14720<para lang="en"> 14721the ngx_http_image_filter_module. 14722</para> 14723</change> 14724 14725<change type="feature"> 14726<para lang="ru"> 14727директивы proxy_ignore_headers и fastcgi_ignore_headers. 14728</para> 14729<para lang="en"> 14730the "proxy_ignore_headers" and "fastcgi_ignore_headers" directives. 14731</para> 14732</change> 14733 14734<change type="bugfix"> 14735<para lang="ru"> 14736при использовании переменных "open_file_cache_errors on" 14737в рабочем процессе мог произойти segmentation fault; 14738ошибка появилась в 0.7.53. 14739</para> 14740<para lang="en"> 14741a segmentation fault might occur in worker process, 14742if an "open_file_cache_errors off" directive was used; 14743the bug had appeared in 0.7.53. 14744</para> 14745</change> 14746 14747<change type="bugfix"> 14748<para lang="ru"> 14749директива "port_in_redirect off" не работала; 14750ошибка появилась в 0.7.39. 14751</para> 14752<para lang="en"> 14753the "port_in_redirect off" directive did not work; 14754the bug had appeared in 0.7.39. 14755</para> 14756</change> 14757 14758<change type="bugfix"> 14759<para lang="ru"> 14760улучшение обработки ошибок метода select. 14761</para> 14762<para lang="en"> 14763improve handling of "select" method errors. 14764</para> 14765</change> 14766 14767<change type="bugfix"> 14768<para lang="ru"> 14769ошибки "select() failed (10022: ...)" в nginx/Windows. 14770</para> 14771<para lang="en"> 14772of "select() failed (10022: ...)" error in nginx/Windows. 14773</para> 14774</change> 14775 14776<change type="bugfix"> 14777<para lang="ru"> 14778в текстовых сообщениях об ошибках в nginx/Windows; 14779ошибка появилась в 0.7.53. 14780</para> 14781<para lang="en"> 14782in error text descriptions in nginx/Windows; 14783the bug had appeared in 0.7.53. 14784</para> 14785</change> 14786 14787</changes> 14788 14789 14790<changes ver="0.7.53" date="2009-04-27"> 14791 14792<change type="change"> 14793<para lang="ru"> 14794теперь лог, указанный в --error-log-path, создаётся с самого начала работы. 14795</para> 14796<para lang="en"> 14797now a log set by --error-log-path is created from the very start-up. 14798</para> 14799</change> 14800 14801<change type="feature"> 14802<para lang="ru"> 14803теперь ошибки и предупреждения при старте записываются в error_log 14804и выводятся на stderr. 14805</para> 14806<para lang="en"> 14807now the start up errors and warnings are outputted to an error_log and stderr. 14808</para> 14809</change> 14810 14811<change type="feature"> 14812<para lang="ru"> 14813при сборке с пустым параметром --prefix= nginx использует как префикс каталог, 14814в котором он был запущен. 14815</para> 14816<para lang="en"> 14817the empty --prefix= configure parameter forces nginx to use a directory 14818where it was run as prefix. 14819</para> 14820</change> 14821 14822<change type="feature"> 14823<para lang="ru"> 14824ключ -p. 14825</para> 14826<para lang="en"> 14827the -p switch. 14828</para> 14829</change> 14830 14831<change type="feature"> 14832<para lang="ru"> 14833ключ -s на Unix-платформах. 14834</para> 14835<para lang="en"> 14836the -s switch on Unix platforms. 14837</para> 14838</change> 14839 14840<change type="feature"> 14841<para lang="ru"> 14842ключи -? и -h.<br/> 14843Спасибо Jerome Loyet. 14844</para> 14845<para lang="en"> 14846the -? and -h switches.<br/> 14847Thanks to Jerome Loyet. 14848</para> 14849</change> 14850 14851<change type="feature"> 14852<para lang="ru"> 14853теперь ключи можно задавать в сжатой форме. 14854</para> 14855<para lang="en"> 14856now switches may be set in condensed form. 14857</para> 14858</change> 14859 14860<change type="bugfix"> 14861<para lang="ru"> 14862nginx/Windows не работал, если файл конфигурации был задан ключом -c. 14863</para> 14864<para lang="en"> 14865nginx/Windows did not work if configuration file was given by the -c switch. 14866</para> 14867</change> 14868 14869<change type="bugfix"> 14870<para lang="ru"> 14871при использовании директив proxy_store, fastcgi_store, 14872proxy_cache или fastcgi_cache временные файлы могли не удаляться.<br/> 14873Спасибо Максиму Дунину. 14874</para> 14875<para lang="en"> 14876temporary files might be not removed if the "proxy_store", "fastcgi_store", 14877"proxy_cache", or "fastcgi_cache" were used.<br/> 14878Thanks to Maxim Dounin. 14879</para> 14880</change> 14881 14882<change type="bugfix"> 14883<para lang="ru"> 14884в заголовке Auth-Method запроса серверу аутентификации почтового 14885прокси-сервера передавалось неверное значение; 14886ошибка появилась в 0.7.34.<br/> 14887Спасибо Simon Lecaille. 14888</para> 14889<para lang="en"> 14890an incorrect value was passed to mail proxy authentication server 14891in "Auth-Method" header line; 14892the bug had appeared<br/> 14893in 0.7.34.<br/> 14894Thanks to Simon Lecaille. 14895</para> 14896</change> 14897 14898<change type="bugfix"> 14899<para lang="ru"> 14900при логгировании на Linux не писались текстовые описания системных ошибок; 14901ошибка появилась в 0.7.45. 14902</para> 14903<para lang="en"> 14904system error text descriptions were not logged on Linux;<br/> 14905the bug had appeared in 0.7.45. 14906</para> 14907</change> 14908 14909<change type="bugfix"> 14910<para lang="ru"> 14911директива fastcgi_cache_min_uses не работала.<br/> 14912Спасибо Андрею Воробьёву. 14913</para> 14914<para lang="en"> 14915the "fastcgi_cache_min_uses" directive did not work.<br/> 14916Thanks to Andrew Vorobyoff. 14917</para> 14918</change> 14919 14920</changes> 14921 14922 14923<changes ver="0.7.52" date="2009-04-20"> 14924 14925<change type="feature"> 14926<para lang="ru"> 14927первая бинарная версия под Windows. 14928</para> 14929<para lang="en"> 14930the first native Windows binary release. 14931</para> 14932</change> 14933 14934<change type="bugfix"> 14935<para lang="ru"> 14936корректная обработка метода HEAD при кэшировании. 14937</para> 14938<para lang="en"> 14939in processing HEAD method while caching. 14940</para> 14941</change> 14942 14943<change type="bugfix"> 14944<para lang="ru"> 14945корректная обработка строк "If-Modified-Since", "If-Range" и им подобных 14946в заголовке запроса клиента при кэшировании. 14947</para> 14948<para lang="en"> 14949in processing the "If-Modified-Since", "If-Range", etc. client request 14950header lines while caching. 14951</para> 14952</change> 14953 14954<change type="bugfix"> 14955<para lang="ru"> 14956теперь строки "Set-Cookie" и "P3P" скрываются в заголовке ответа 14957для закэшированных ответов. 14958</para> 14959<para lang="en"> 14960now the "Set-Cookie" and "P3P" header lines are hidden in cacheable responses. 14961</para> 14962</change> 14963 14964<change type="bugfix"> 14965<para lang="ru"> 14966если nginx был собран с модулем ngx_http_perl_module и perl 14967поддерживал потоки, то при выходе основного процесса 14968могла выдаваться ошибка "panic: MUTEX_LOCK". 14969</para> 14970<para lang="en"> 14971if nginx was built with the ngx_http_perl_module and with a perl which 14972supports threads, then during a master process exit 14973the message "panic: MUTEX_LOCK" might be issued. 14974</para> 14975</change> 14976 14977<change type="bugfix"> 14978<para lang="ru"> 14979nginx не собирался с параметром --without-http-cache; 14980ошибка появилась в 0.7.48. 14981</para> 14982<para lang="en"> 14983nginx could not be built --without-http-cache; 14984the bug had appeared in 0.7.48. 14985</para> 14986</change> 14987 14988<change type="bugfix"> 14989<para lang="ru"> 14990nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 14991ошибка появилась в 0.7.42. 14992</para> 14993<para lang="en"> 14994nginx could not be built on platforms different from i386, amd64, sparc, 14995and ppc; 14996the bug had appeared in 0.7.42. 14997</para> 14998</change> 14999 15000</changes> 15001 15002 15003<changes ver="0.7.51" date="2009-04-12"> 15004 15005<change type="feature"> 15006<para lang="ru"> 15007директива try_files поддерживает код ответа в последнем параметре. 15008</para> 15009<para lang="en"> 15010the "try_files" directive supports a response code in the fallback parameter. 15011</para> 15012</change> 15013 15014<change type="feature"> 15015<para lang="ru"> 15016теперь в директиве return можно использовать любой код ответа. 15017</para> 15018<para lang="en"> 15019now any response code can be used in the "return" directive. 15020</para> 15021</change> 15022 15023<change type="bugfix"> 15024<para lang="ru"> 15025директива error_page делала внешний редирект без строки запроса; 15026ошибка появилась в 0.7.44. 15027</para> 15028<para lang="en"> 15029the "error_page" directive made an external redirect without query string; 15030the bug had appeared in 0.7.44. 15031</para> 15032</change> 15033 15034<change type="bugfix"> 15035<para lang="ru"> 15036если сервера слушали на нескольких явно описанных адресах, 15037то виртуальные сервера могли не работать; 15038ошибка появилась в 0.7.39. 15039</para> 15040<para lang="en"> 15041if servers listened on several defined explicitly addresses, 15042then virtual servers might not work; 15043the bug had appeared in 0.7.39. 15044</para> 15045</change> 15046 15047</changes> 15048 15049 15050<changes ver="0.7.50" date="2009-04-06"> 15051 15052<change type="bugfix"> 15053<para lang="ru"> 15054переменные $arg_... не работали; 15055ошибка появилась в 0.7.49. 15056</para> 15057<para lang="en"> 15058the $arg_... variables did not work; 15059the bug had appeared in 0.7.49. 15060</para> 15061</change> 15062 15063</changes> 15064 15065 15066<changes ver="0.7.49" date="2009-04-06"> 15067 15068<change type="bugfix"> 15069<para lang="ru"> 15070при использовании переменных $arg_... 15071в рабочем процессе мог произойти segmentation fault; 15072ошибка появилась в 0.7.48. 15073</para> 15074<para lang="en"> 15075a segmentation fault might occur in worker process, 15076if the $arg_... variables were used; 15077the bug had appeared in 0.7.48. 15078</para> 15079</change> 15080 15081</changes> 15082 15083 15084<changes ver="0.7.48" date="2009-04-06"> 15085 15086<change type="feature"> 15087<para lang="ru"> 15088директива proxy_cache_key. 15089</para> 15090<para lang="en"> 15091the "proxy_cache_key" directive. 15092</para> 15093</change> 15094 15095<change type="bugfix"> 15096<para lang="ru"> 15097теперь nginx учитывает при кэшировании строки "X-Accel-Expires", 15098"Expires" и "Cache-Control" в заголовке ответа бэкенда. 15099</para> 15100<para lang="en"> 15101now nginx takes into account the "X-Accel-Expires", "Expires", and 15102"Cache-Control" header lines in a backend response. 15103</para> 15104</change> 15105 15106<change type="bugfix"> 15107<para lang="ru"> 15108теперь nginx кэширует только ответы на запросы GET. 15109</para> 15110<para lang="en"> 15111now nginx caches responses for the GET requests only. 15112</para> 15113</change> 15114 15115<change type="bugfix"> 15116<para lang="ru"> 15117директива fastcgi_cache_key не наследовалась. 15118</para> 15119<para lang="en"> 15120the "fastcgi_cache_key" directive was not inherited. 15121</para> 15122</change> 15123 15124<change type="bugfix"> 15125<para lang="ru"> 15126переменные $arg_... не работали с SSI-подзапросами.<br/> 15127Спасибо Максиму Дунину. 15128</para> 15129<para lang="en"> 15130the $arg_... variables did not work with SSI subrequests.<br/> 15131Thanks to Maxim Dounin. 15132</para> 15133</change> 15134 15135<change type="bugfix"> 15136<para lang="ru"> 15137nginx не собирался с библиотекой uclibc.<br/> 15138Спасибо Timothy Redaelli. 15139</para> 15140<para lang="en"> 15141nginx could not be built with uclibc library.<br/> 15142Thanks to Timothy Redaelli. 15143</para> 15144</change> 15145 15146<change type="bugfix"> 15147<para lang="ru"> 15148nginx не собирался на OpenBSD; 15149ошибка появилась <nobr>в 0.7.46.</nobr> 15150</para> 15151<para lang="en"> 15152nginx could not be built on OpenBSD; 15153the bug had <nobr>appeared in 0.7.46.</nobr> 15154</para> 15155</change> 15156 15157</changes> 15158 15159 15160<changes ver="0.7.47" date="2009-04-01"> 15161 15162<change type="bugfix"> 15163<para lang="ru"> 15164nginx не собирался на FreeBSD 6 и более ранних версиях; 15165ошибка появилась в 0.7.46. 15166</para> 15167<para lang="en"> 15168nginx could not be built on FreeBSD 6 and early versions; 15169the bug had appeared in 0.7.46. 15170</para> 15171</change> 15172 15173<change type="bugfix"> 15174<para lang="ru"> 15175nginx не собирался на MacOSX; 15176ошибка появилась в 0.7.46. 15177</para> 15178<para lang="en"> 15179nginx could not be built on MacOSX; 15180the bug had <nobr>appeared in 0.7.46.</nobr> 15181</para> 15182</change> 15183 15184<change type="bugfix"> 15185<para lang="ru"> 15186если использовался параметр max_size, то cache manager мог удалить весь кэш; 15187ошибка появилась в 0.7.46. 15188</para> 15189<para lang="en"> 15190if the "max_size" parameter was set, then the cache manager might purge 15191a whole cache; 15192the bug had appeared in 0.7.46. 15193</para> 15194</change> 15195 15196<change type="change"> 15197<para lang="ru"> 15198в рабочем процессе мог произойти segmentation fault, 15199если директивы proxy_cache/fastcgi_cache 15200и proxy_cache_valid/ fastcgi_cache_valid не были заданы на одном уровне; 15201ошибка появилась в 0.7.46. 15202</para> 15203<para lang="en"> 15204a segmentation fault might occur in worker process, 15205if the "proxy_cache"/"fastcgi_cache" and 15206the "proxy_cache_valid"/ "fastcgi_cache_valid" were set on different levels; 15207the bug had appeared in 0.7.46. 15208</para> 15209</change> 15210 15211<change type="bugfix"> 15212<para lang="ru"> 15213в рабочем процессе мог произойти segmentation fault 15214при перенаправлении запроса проксированному или FastCGI-серверу 15215с помощью error_page или try_files; 15216ошибка появилась в 0.7.44. 15217</para> 15218<para lang="en"> 15219a segmentation fault might occur in worker process, 15220if a request was redirected to a proxied or FastCGI server via 15221error_page or try_files; 15222the bug had appeared in 0.7.44. 15223</para> 15224</change> 15225 15226</changes> 15227 15228 15229<changes ver="0.7.46" date="2009-03-30"> 15230 15231<change type="bugfix"> 15232<para lang="ru"> 15233архив предыдущего релиза был неверным. 15234</para> 15235<para lang="en"> 15236the previous release tarball was incorrect. 15237</para> 15238</change> 15239 15240</changes> 15241 15242 15243<changes ver="0.7.45" date="2009-03-30"> 15244 15245<change type="change"> 15246<para lang="ru"> 15247теперь директивы proxy_cache и proxy_cache_valid можно задавать 15248на разных уровнях. 15249</para> 15250<para lang="en"> 15251now the "proxy_cache" and the "proxy_cache_valid" directives can be set on 15252different levels. 15253</para> 15254</change> 15255 15256<change type="change"> 15257<para lang="ru"> 15258параметр clean_time в директиве proxy_cache_path удалён. 15259</para> 15260<para lang="en"> 15261the "clean_time" parameter of the "proxy_cache_path" directive is canceled. 15262</para> 15263</change> 15264 15265<change type="feature"> 15266<para lang="ru"> 15267параметр max_size в директиве proxy_cache_path. 15268</para> 15269<para lang="en"> 15270the "max_size" parameter of the "proxy_cache_path" directive. 15271</para> 15272</change> 15273 15274<change type="feature"> 15275<para lang="ru"> 15276предварительная поддержка кэширования в модуле ngx_http_fastcgi_module. 15277</para> 15278<para lang="en"> 15279the ngx_http_fastcgi_module preliminary cache support. 15280</para> 15281</change> 15282 15283<change type="feature"> 15284<para lang="ru"> 15285теперь при ошибках выделения в разделяемой памяти в логе указываются 15286названия директивы и зоны. 15287</para> 15288<para lang="en"> 15289now on shared memory allocation errors directive and zone names are logged. 15290</para> 15291</change> 15292 15293<change type="bugfix"> 15294<para lang="ru"> 15295директива "add_header last-modified ''" не удаляла в заголовке ответа 15296строку "Last-Modified"; 15297ошибка появилась в 0.7.44. 15298</para> 15299<para lang="en"> 15300the directive "add_header last-modified ''" did not delete a "Last-Modified" 15301response header line; 15302the bug had appeared in 0.7.44. 15303</para> 15304</change> 15305 15306<change type="bugfix"> 15307<para lang="ru"> 15308в директиве auth_basic_user_file не работал относительный путь, 15309заданный строкой без переменных; 15310ошибка появилась в 0.7.44.<br/> 15311Спасибо Jerome Loyet. 15312</para> 15313<para lang="en"> 15314a relative path in the "auth_basic_user_file" directive given without variables 15315did not work; 15316the bug had appeared in 0.7.44.<br/> 15317Thanks to Jerome Loyet. 15318</para> 15319</change> 15320 15321<change type="bugfix"> 15322<para lang="ru"> 15323в директиве alias, заданной переменными 15324без ссылок на выделения в регулярных выражениях; 15325ошибка появилась в 0.7.42. 15326</para> 15327<para lang="en"> 15328in an "alias" directive given using variables 15329without references to captures of regular expressions; 15330the bug had appeared in 0.7.42. 15331</para> 15332</change> 15333 15334</changes> 15335 15336 15337<changes ver="0.7.44" date="2009-03-23"> 15338 15339<change type="feature"> 15340<para lang="ru"> 15341предварительная поддержка кэширования в модуле ngx_http_proxy_module. 15342</para> 15343<para lang="en"> 15344the ngx_http_proxy_module preliminary cache support. 15345</para> 15346</change> 15347 15348<change type="feature"> 15349<para lang="ru"> 15350параметр --with-pcre в configure. 15351</para> 15352<para lang="en"> 15353the --with-pcre option in the configure. 15354</para> 15355</change> 15356 15357<change type="feature"> 15358<para lang="ru"> 15359теперь директива try_files может быть использована на уровне server. 15360</para> 15361<para lang="en"> 15362the "try_files" directive is now allowed on the server block level. 15363</para> 15364</change> 15365 15366<change type="bugfix"> 15367<para lang="ru"> 15368директива try_files неправильно обрабатывала строку запроса в последнем 15369параметре. 15370</para> 15371<para lang="en"> 15372the "try_files" directive handled incorrectly a query string 15373in a fallback parameter. 15374</para> 15375</change> 15376 15377<change type="bugfix"> 15378<para lang="ru"> 15379директива try_files могла неверно тестировать каталоги. 15380</para> 15381<para lang="en"> 15382the "try_files" directive might test incorrectly directories. 15383</para> 15384</change> 15385 15386<change type="bugfix"> 15387<para lang="ru"> 15388если для пары адрес:порт описан только один сервер, то выделения 15389в регулярных выражениях в директиве server_name не работали. 15390</para> 15391<para lang="en"> 15392if there was a single server for given address:port pair, 15393then captures in regular expressions in a "server_name" directive did not work. 15394</para> 15395</change> 15396 15397</changes> 15398 15399 15400<changes ver="0.7.43" date="2009-03-18"> 15401 15402<change type="bugfix"> 15403<para lang="ru"> 15404запрос обрабатывался неверно, если директива root использовала переменные; 15405ошибка появилась в 0.7.42. 15406</para> 15407<para lang="en"> 15408a request was handled incorrectly, if a "root" directive used variables; 15409the bug had appeared in 0.7.42. 15410</para> 15411</change> 15412 15413<change type="bugfix"> 15414<para lang="ru"> 15415если сервер слушал на адресах типа "*", то значение переменной $server_addr 15416было "0.0.0.0"; 15417ошибка появилась в 0.7.36. 15418</para> 15419<para lang="en"> 15420if a server listened on wildcard address, then the $server_addr variable 15421value was "0.0.0.0"; 15422the bug had appeared in 0.7.36. 15423</para> 15424</change> 15425 15426</changes> 15427 15428 15429<changes ver="0.7.42" date="2009-03-16"> 15430 15431<change type="change"> 15432<para lang="ru"> 15433ошибка "Invalid argument", возвращаемая setsockopt(TCP_NODELAY) на Solaris, 15434теперь игнорируется. 15435</para> 15436<para lang="en"> 15437now the "Invalid argument" error returned by setsockopt(TCP_NODELAY) on Solaris, 15438is ignored. 15439</para> 15440</change> 15441 15442<change type="change"> 15443<para lang="ru"> 15444при отсутствии файла, указанного в директиве auth_basic_user_file, 15445теперь возвращается ошибка 403 вместо 500. 15446</para> 15447<para lang="en"> 15448now if a file specified in a "auth_basic_user_file" directive is absent, 15449then the 403 error is returned instead of the 500 one. 15450</para> 15451</change> 15452 15453<change type="feature"> 15454<para lang="ru"> 15455директива auth_basic_user_file поддерживает переменные. 15456<br/> 15457Спасибо Кириллу Коринскому. 15458</para> 15459<para lang="en"> 15460the "auth_basic_user_file" directive supports variables.<br/> 15461Thanks to Kirill A. Korinskiy. 15462</para> 15463</change> 15464 15465<change type="feature"> 15466<para lang="ru"> 15467директива listen поддерживает параметр ipv6only.<br/> 15468Спасибо Zhang Hua. 15469</para> 15470<para lang="en"> 15471the "listen" directive supports the "ipv6only" parameter. 15472<br/> 15473Thanks to Zhang Hua. 15474</para> 15475</change> 15476 15477<change type="bugfix"> 15478<para lang="ru"> 15479в директиве alias со ссылками на выделения в регулярных выражениях; 15480ошибка появилась в 0.7.40. 15481</para> 15482<para lang="en"> 15483in an "alias" directive with references to captures of regular expressions; 15484the bug had appeared in 0.7.40. 15485</para> 15486</change> 15487 15488<change type="bugfix"> 15489<para lang="ru"> 15490совместимость с Tru64 UNIX.<br/> 15491Спасибо Dustin Marquess. 15492</para> 15493<para lang="en"> 15494compatibility with Tru64 UNIX.<br/> 15495Thanks to Dustin Marquess. 15496</para> 15497</change> 15498 15499<change type="bugfix"> 15500<para lang="ru"> 15501nginx не собирался без библиотеки PCRE; 15502ошибка появилась в 0.7.41. 15503</para> 15504<para lang="en"> 15505nginx could not be built without PCRE library; 15506the bug had appeared in 0.7.41. 15507</para> 15508</change> 15509 15510</changes> 15511 15512 15513<changes ver="0.7.41" date="2009-03-11"> 15514 15515<change type="bugfix"> 15516<para lang="ru"> 15517в рабочем процессе мог произойти segmentation fault, 15518если в server_name или location были выделения в регулярных выражениях; 15519ошибка появилась в 0.7.40.<br/> 15520Спасибо Владимиру Сопоту. 15521</para> 15522<para lang="en"> 15523a segmentation fault might occur in worker process, 15524if a "server_name" or a "location" directives had captures 15525in regular expressions; 15526the issue had appeared in 0.7.40.<br/> 15527Thanks to Vladimir Sopot. 15528</para> 15529</change> 15530 15531</changes> 15532 15533 15534<changes ver="0.7.40" date="2009-03-09"> 15535 15536<change type="feature"> 15537<para lang="ru"> 15538директива location поддерживает выделения в регулярных выражениях. 15539</para> 15540<para lang="en"> 15541the "location" directive supports captures in regular expressions. 15542</para> 15543</change> 15544 15545<change type="feature"> 15546<para lang="ru"> 15547директиву alias с ссылками на выделения в регулярных выражениях 15548можно использовать внутри location'а, заданного регулярным выражением 15549с выделениями. 15550</para> 15551<para lang="en"> 15552an "alias" directive with capture references may be used inside 15553a location given by a regular expression with captures. 15554</para> 15555</change> 15556 15557<change type="feature"> 15558<para lang="ru"> 15559директива server_name поддерживает выделения в регулярных выражениях. 15560</para> 15561<para lang="en"> 15562the "server_name" directive supports captures in regular expressions. 15563</para> 15564</change> 15565 15566<change type="workaround"> 15567<para lang="ru"> 15568модуль ngx_http_autoindex_module не показывал последний слэш для каталогов 15569на файловой системе XFS; 15570ошибка появилась в 0.7.15.<br/> 15571Спасибо Дмитрию Кузьменко. 15572</para> 15573<para lang="en"> 15574the ngx_http_autoindex_module did not show the trailing slash in directories 15575on XFS filesystem; 15576the issue had appeared in 0.7.15.<br/> 15577Thanks to Dmitry Kuzmenko. 15578</para> 15579</change> 15580 15581</changes> 15582 15583 15584<changes ver="0.7.39" date="2009-03-02"> 15585 15586<change type="bugfix"> 15587<para lang="ru"> 15588при включённом сжатии большие ответы с использованием SSI могли зависать; 15589ошибка появилась в 0.7.28.<br/> 15590Спасибо Артёму Бохану. 15591</para> 15592<para lang="en"> 15593large response with SSI might hang, if gzipping was enabled; 15594the bug had appeared in 0.7.28.<br/> 15595Thanks to Artem Bokhan. 15596</para> 15597</change> 15598 15599<change type="bugfix"> 15600<para lang="ru"> 15601при использовании коротких статических вариантов в директиве try_files 15602в рабочем процессе мог произойти segmentation fault. 15603</para> 15604<para lang="en"> 15605a segmentation fault might occur in worker process, 15606if short static variants are used in a "try_files" directive. 15607</para> 15608</change> 15609 15610</changes> 15611 15612 15613<changes ver="0.7.38" date="2009-02-23"> 15614 15615<change type="feature"> 15616<para lang="ru"> 15617логгирование ошибок аутентификации. 15618</para> 15619<para lang="en"> 15620authentication failures logging. 15621</para> 15622</change> 15623 15624<change type="bugfix"> 15625<para lang="ru"> 15626имя/пароль, заданные в auth_basic_user_file, игнорировались после нечётного 15627числа пустых строк.<br/> 15628Спасибо Александру Загребину. 15629</para> 15630<para lang="en"> 15631name/password in auth_basic_user_file were ignored after odd number 15632of empty lines.<br/> 15633Thanks to Alexander Zagrebin. 15634</para> 15635</change> 15636 15637<change type="bugfix"> 15638<para lang="ru"> 15639при использовании длинного пути в unix domain сокете 15640в главном процессе происходил segmentation fault; 15641ошибка появилась в 0.7.36. 15642</para> 15643<para lang="en"> 15644a segmentation fault occurred in a master process, 15645if long path was used in unix domain socket; 15646the bug had appeared in 0.7.36. 15647</para> 15648</change> 15649 15650</changes> 15651 15652 15653<changes ver="0.7.37" date="2009-02-21"> 15654 15655<change type="bugfix"> 15656<para lang="ru"> 15657директивы, использующие upstream'ы, не работали; 15658ошибка появилась в 0.7.36. 15659</para> 15660<para lang="en"> 15661directives using upstreams did not work; 15662the bug had appeared in 0.7.36. 15663</para> 15664</change> 15665 15666</changes> 15667 15668 15669<changes ver="0.7.36" date="2009-02-21"> 15670 15671<change type="feature"> 15672<para lang="ru"> 15673предварительная поддержка IPv6; 15674директива listen модуля HTTP поддерживает IPv6. 15675</para> 15676<para lang="en"> 15677a preliminary IPv6 support; 15678the "listen" directive of the HTTP module supports IPv6. 15679</para> 15680</change> 15681 15682<change type="bugfix"> 15683<para lang="ru"> 15684переменная $ancient_browser не работала для браузеров, заданных 15685директивами modern_browser. 15686</para> 15687<para lang="en"> 15688the $ancient_browser variable did not work for browsers 15689preset by a "modern_browser" directives. 15690</para> 15691</change> 15692 15693</changes> 15694 15695 15696<changes ver="0.7.35" date="2009-02-16"> 15697 15698<change type="bugfix"> 15699<para lang="ru"> 15700директива ssl_engine не использовала SSL-акселератор 15701для асимметричных шифров.<br/> 15702Спасибо Marcin Gozdalik. 15703</para> 15704<para lang="en"> 15705a "ssl_engine" directive did not use a SSL-accelerator 15706for asymmetric ciphers.<br/> 15707Thanks to Marcin Gozdalik. 15708</para> 15709</change> 15710 15711<change type="bugfix"> 15712<para lang="ru"> 15713директива try_files выставляла MIME-type, исходя из расширения 15714первоначального запроса. 15715</para> 15716<para lang="en"> 15717a "try_files" directive set MIME type depending on an 15718original request extension. 15719</para> 15720</change> 15721 15722<change type="bugfix"> 15723<para lang="ru"> 15724в директивах server_name, valid_referers и map 15725неправильно обрабатывались имена вида "*domain.tld", 15726если использовались маски вида ".domain.tld" и ".subdomain.domain.tld"; 15727ошибка появилась в 0.7.9. 15728</para> 15729<para lang="en"> 15730"*domain.tld" names were handled incorrectly in 15731"server_name", "valid_referers", and "map" directives, 15732if ".domain.tld" and ".subdomain.domain.tld" wildcards were used; 15733<nobr>the bug had</nobr> appeared in 0.7.9. 15734</para> 15735</change> 15736 15737</changes> 15738 15739 15740<changes ver="0.7.34" date="2009-02-10"> 15741 15742<change type="feature"> 15743<para lang="ru"> 15744параметр off в директиве if_modified_since. 15745</para> 15746<para lang="en"> 15747the "off" parameter of the "if_modified_since" directive. 15748</para> 15749</change> 15750 15751<change type="feature"> 15752<para lang="ru"> 15753теперь после команды XCLIENT nginx посылает команду HELO/EHLO.<br/> 15754Спасибо Максиму Дунину. 15755</para> 15756<para lang="en"> 15757now nginx sends an HELO/EHLO command after a XCLIENT command.<br/> 15758Thanks to Maxim Dounin. 15759</para> 15760</change> 15761 15762<change type="feature"> 15763<para lang="ru"> 15764поддержка Microsoft-специфичного режима 15765<nobr>"AUTH LOGIN with User Name"</nobr> 15766в почтовом прокси-сервере.<br/> 15767Спасибо Максиму Дунину. 15768</para> 15769<para lang="en"> 15770Microsoft specific "AUTH LOGIN with User Name" mode support 15771in mail proxy server.<br/> 15772Thanks to Maxim Dounin. 15773</para> 15774</change> 15775 15776<change type="bugfix"> 15777<para lang="ru"> 15778в директиве rewrite, возвращающей редирект, старые аргументы присоединялись 15779к новым через символ "?" вместо "&";<br/> 15780ошибка появилась в 0.1.18.<br/> 15781Спасибо Максиму Дунину. 15782</para> 15783<para lang="en"> 15784in a redirect rewrite directive original arguments were concatenated with 15785new arguments by a "?" rather than an "&";<br/> 15786the bug had appeared in 0.1.18.<br/> 15787Thanks to Maxim Dounin. 15788</para> 15789</change> 15790 15791<change type="bugfix"> 15792<para lang="ru"> 15793nginx не собирался на AIX. 15794</para> 15795<para lang="en"> 15796nginx could not be built on AIX. 15797</para> 15798</change> 15799 15800</changes> 15801 15802 15803<changes ver="0.7.33" date="2009-02-02"> 15804 15805<change type="bugfix"> 15806<para lang="ru"> 15807если на запрос с телом возвращался редирект, то ответ мог быть двойным 15808при использовании методов epoll или rtsig.<br/> 15809Спасибо Eden Li. 15810</para> 15811<para lang="en"> 15812a double response might be returned if the epoll or rtsig methods are used 15813and a redirect was returned to a request with body.<br/> 15814Thanks to Eden Li. 15815</para> 15816</change> 15817 15818<change type="bugfix"> 15819<para lang="ru"> 15820для некоторых типов редиректов в переменной $sent_http_location 15821было пустое значение. 15822</para> 15823<para lang="en"> 15824the $sent_http_location variable was empty for some redirects types. 15825</para> 15826</change> 15827 15828<change type="bugfix"> 15829<para lang="ru"> 15830при использовании директивы resolver в SMTP прокси-сервере 15831в рабочем процессе мог произойти segmentation fault. 15832</para> 15833<para lang="en"> 15834a segmentation fault might occur in worker process 15835if "resolver" directive was used in SMTP proxy. 15836</para> 15837</change> 15838 15839</changes> 15840 15841 15842<changes ver="0.7.32" date="2009-01-26"> 15843 15844<change type="feature"> 15845<para lang="ru"> 15846теперь в директиве try_files можно явно указать проверку каталога. 15847</para> 15848<para lang="en"> 15849now a directory existence testing can be set explicitly 15850in the "try_files" directive. 15851</para> 15852</change> 15853 15854<change type="bugfix"> 15855<para lang="ru"> 15856fastcgi_store не всегда сохранял файлы. 15857</para> 15858<para lang="en"> 15859fastcgi_store stored files not always. 15860</para> 15861</change> 15862 15863<change type="bugfix"> 15864<para lang="ru"> 15865в гео-диапазонах. 15866</para> 15867<para lang="en"> 15868in geo ranges. 15869</para> 15870</change> 15871 15872<change type="bugfix"> 15873<para lang="ru"> 15874ошибки выделения больших блоков в разделяемой памяти, 15875если nginx был собран без отладки.<br/> 15876Спасибо Андрею Квасову. 15877</para> 15878<para lang="en"> 15879in shared memory allocations if nginx was built without debugging.<br/> 15880Thanks to Andrey Kvasov. 15881</para> 15882</change> 15883 15884</changes> 15885 15886 15887<changes ver="0.7.31" date="2009-01-19"> 15888 15889<change type="change"> 15890<para lang="ru"> 15891теперь директива try_files проверяет только файлы, игнорируя каталоги. 15892</para> 15893<para lang="en"> 15894now the "try_files" directive tests files only and ignores directories. 15895</para> 15896</change> 15897 15898<change type="feature"> 15899<para lang="ru"> 15900директива fastcgi_split_path_info. 15901</para> 15902<para lang="en"> 15903the "fastcgi_split_path_info" directive. 15904</para> 15905</change> 15906 15907<change> 15908<para lang="ru"> 15909Исправления в поддержке строки "Expect" в заголовке запроса. 15910</para> 15911<para lang="en"> 15912Bugfixes in an "Expect" request header line support. 15913</para> 15914</change> 15915 15916<change> 15917<para lang="ru"> 15918Исправления в гео-диапазонах. 15919</para> 15920<para lang="en"> 15921Bugfixes in geo ranges. 15922</para> 15923</change> 15924 15925<change type="bugfix"> 15926<para lang="ru"> 15927при отсутствии ответа ngx_http_memcached_module возвращал 15928в теле ответа строку "END" вместо 404-ой страницы по умолчанию; 15929ошибка появилась в 0.7.18.<br/> 15930Спасибо Максиму Дунину. 15931</para> 15932<para lang="en"> 15933in a miss case ngx_http_memcached_module returned the "END" line 15934as response body instead of default 404 page body; 15935the bug had appeared in 0.7.18.<br/> 15936Thanks to Maxim Dounin. 15937</para> 15938</change> 15939 15940<change type="bugfix"> 15941<para lang="ru"> 15942при проксировании SMTP nginx выдавал сообщение 15943<nobr>"250 2.0.0 OK"</nobr> вместо "235 2.0.0 OK"; 15944ошибка появилась в 0.7.22.<br/> 15945Спасибо Максиму Дунину. 15946</para> 15947<para lang="en"> 15948while SMTP proxying nginx issued message 15949"250 2.0.0 OK" instead of "235 2.0.0 OK"; 15950the bug had appeared in 0.7.22.<br/> 15951Thanks to Maxim Dounin. 15952</para> 15953</change> 15954 15955</changes> 15956 15957 15958 15959<changes ver="0.7.30" date="2008-12-24"> 15960 15961<change type="bugfix"> 15962<para lang="ru"> 15963в рабочем процессе происходил segmentation fault, 15964если в директивах fastcgi_pass или proxy_pass 15965использовались переменные и имя хоста должно было резолвиться; 15966ошибка появилась в 0.7.29. 15967</para> 15968<para lang="en"> 15969a segmentation fault occurred in worker process, 15970if variables were used in the "fastcgi_pass" or "proxy_pass" directives 15971and host name must be resolved; 15972the bug had appeared in 0.7.29. 15973</para> 15974</change> 15975 15976</changes> 15977 15978 15979<changes ver="0.7.29" date="2008-12-24"> 15980 15981<change type="bugfix"> 15982<para lang="ru"> 15983директивы fastcgi_pass и proxy_pass не поддерживали переменные 15984при использовании unix domain сокетов. 15985</para> 15986<para lang="en"> 15987the "fastcgi_pass" and "proxy_pass" directives did not support 15988variables if unix domain sockets were used. 15989</para> 15990</change> 15991 15992<change> 15993<para lang="ru"> 15994Исправления в обработке подзапросов; 15995ошибки появились в 0.7.25. 15996</para> 15997<para lang="en"> 15998Bugfixes in subrequest processing; 15999the bugs had appeared in 0.7.25. 16000</para> 16001</change> 16002 16003<change type="bugfix"> 16004<para lang="ru"> 16005ответ "100 Continue" выдавался для запросов версии HTTP/1.0;<br/> 16006Спасибо Максиму Дунину. 16007</para> 16008<para lang="en"> 16009a "100 Continue" response was issued for HTTP/1.0 requests;<br/> 16010Thanks to Maxim Dounin. 16011</para> 16012</change> 16013 16014<change type="bugfix"> 16015<para lang="ru"> 16016в выделении памяти в модуле ngx_http_gzip_filter_module под Cygwin. 16017</para> 16018<para lang="en"> 16019in memory allocation in the ngx_http_gzip_filter_module on Cygwin. 16020</para> 16021</change> 16022 16023</changes> 16024 16025 16026<changes ver="0.7.28" date="2008-12-22"> 16027 16028<change type="change"> 16029<para lang="ru"> 16030в выделении памяти в модуле ngx_http_gzip_filter_module. 16031</para> 16032<para lang="en"> 16033in memory allocation in the ngx_http_gzip_filter_module. 16034</para> 16035</change> 16036 16037<change type="change"> 16038<para lang="ru"> 16039значения по умолчанию для директивы gzip_buffers изменены с 4 4k/8k 16040на 32 4k или 16 8k. 16041</para> 16042<para lang="en"> 16043the default "gzip_buffers" directive values have been changed 16044to 32 4k or 16 8k from 4 4k/8k. 16045</para> 16046</change> 16047 16048</changes> 16049 16050 16051<changes ver="0.7.27" date="2008-12-15"> 16052 16053<change type="feature"> 16054<para lang="ru"> 16055директива try_files. 16056</para> 16057<para lang="en"> 16058the "try_files" directive. 16059</para> 16060</change> 16061 16062<change type="feature"> 16063<para lang="ru"> 16064директива fastcgi_pass поддерживает переменные. 16065</para> 16066<para lang="en"> 16067variables support in the "fastcgi_pass" directive. 16068</para> 16069</change> 16070 16071<change type="feature"> 16072<para lang="ru"> 16073теперь директива geo может брать адрес из переменной.<br/> 16074Спасибо Андрею Нигматулину. 16075</para> 16076<para lang="en"> 16077now the $geo variable may get an address from a variable.<br/> 16078Thanks to Andrei Nigmatulin. 16079</para> 16080</change> 16081 16082<change type="feature"> 16083<para lang="ru"> 16084теперь модификатор location'а можно указывать без пробела перед названием. 16085</para> 16086<para lang="en"> 16087now a location's modifier may be used without space before name. 16088</para> 16089</change> 16090 16091<change type="feature"> 16092<para lang="ru"> 16093переменная $upstream_response_length. 16094</para> 16095<para lang="en"> 16096the $upstream_response_length variable. 16097</para> 16098</change> 16099 16100<change type="bugfix"> 16101<para lang="ru"> 16102теперь директива add_header не добавляет пустое значение. 16103</para> 16104<para lang="en"> 16105now a "add_header" directive does not add an empty value. 16106</para> 16107</change> 16108 16109<change type="bugfix"> 16110<para lang="ru"> 16111при запросе файла нулевой длины nginx закрывал соединение, ничего не передав; 16112ошибка появилась в 0.7.25. 16113</para> 16114<para lang="en"> 16115if zero length static file was requested, then nginx just closed connection; 16116the bug had appeared in 0.7.25. 16117</para> 16118</change> 16119 16120<change type="bugfix"> 16121<para lang="ru"> 16122метод MOVE не мог перемещать файл в несуществующий каталог. 16123</para> 16124<para lang="en"> 16125a MOVE method could not move file in non-existent directory. 16126</para> 16127</change> 16128 16129<change type="bugfix"> 16130<para lang="ru"> 16131если в сервере не был описан ни один именованный location, 16132но такой location использовался в директиве error_page, 16133то в рабочем процессе происходил segmentation fault.<br/> 16134Спасибо Сергею Боченкову. 16135</para> 16136<para lang="en"> 16137a segmentation fault occurred in worker process, 16138if no one named location was defined in server, 16139but some one was used in an error_page directive.<br/> 16140Thanks to Sergey Bochenkov. 16141</para> 16142</change> 16143 16144</changes> 16145 16146 16147<changes ver="0.7.26" date="2008-12-08"> 16148 16149<change type="bugfix"> 16150<para lang="ru"> 16151в обработке подзапросов; 16152ошибка появилась в 0.7.25. 16153</para> 16154<para lang="en"> 16155in subrequest processing; 16156the bug had appeared in 0.7.25. 16157</para> 16158</change> 16159 16160</changes> 16161 16162 16163<changes ver="0.7.25" date="2008-12-08"> 16164 16165<change type="change"> 16166<para lang="ru"> 16167в обработке подзапросов. 16168</para> 16169<para lang="en"> 16170in subrequest processing. 16171</para> 16172</change> 16173 16174<change type="change"> 16175<para lang="ru"> 16176теперь разрешаются POST'ы без строки "Content-Length" в заголовке запроса. 16177</para> 16178<para lang="en"> 16179now POSTs without "Content-Length" header line are allowed. 16180</para> 16181</change> 16182 16183<change type="bugfix"> 16184<para lang="ru"> 16185теперь директивы limit_req и limit_conn указывают причину запрета запроса. 16186</para> 16187<para lang="en"> 16188now the "limit_req" and "limit_conn" directives log a prohibition reason. 16189</para> 16190</change> 16191 16192<change type="bugfix"> 16193<para lang="ru"> 16194в параметре delete директивы geo. 16195</para> 16196<para lang="en"> 16197in the "delete" parameter of the "geo" directive. 16198</para> 16199</change> 16200 16201</changes> 16202 16203 16204<changes ver="0.7.24" date="2008-12-01"> 16205 16206<change type="feature"> 16207<para lang="ru"> 16208директива if_modified_since. 16209</para> 16210<para lang="en"> 16211the "if_modified_since" directive. 16212</para> 16213</change> 16214 16215<change type="bugfix"> 16216<para lang="ru"> 16217nginx не обрабатывал ответ FastCGI-сервера, 16218если перед ответом сервер передавал много сообщений в stderr. 16219</para> 16220<para lang="en"> 16221nginx did not process a FastCGI server response, 16222if the server send too many messages to stderr before response. 16223</para> 16224</change> 16225 16226<change type="bugfix"> 16227<para lang="ru"> 16228переменные "$cookie_..." не работали в SSI and в перловом модуле. 16229</para> 16230<para lang="en"> 16231the "$cookie_..." variables did not work in the SSI and the perl module. 16232</para> 16233</change> 16234 16235</changes> 16236 16237 16238<changes ver="0.7.23" date="2008-11-27"> 16239 16240<change type="feature"> 16241<para lang="ru"> 16242параметры delete и ranges в директиве geo. 16243</para> 16244<para lang="en"> 16245the "delete" and "ranges" parameters in the "geo" directive. 16246</para> 16247</change> 16248 16249<change type="feature"> 16250<para lang="ru"> 16251ускорение загрузки geo-базы с большим числом значений. 16252</para> 16253<para lang="en"> 16254speeding up loading of geo base with large number of values. 16255</para> 16256</change> 16257 16258<change type="feature"> 16259<para lang="ru"> 16260уменьшение памяти, необходимой для загрузки geo-базы. 16261</para> 16262<para lang="en"> 16263decrease of memory required for geo base load. 16264</para> 16265</change> 16266 16267</changes> 16268 16269 16270<changes ver="0.7.22" date="2008-11-20"> 16271 16272<change type="feature"> 16273<para lang="ru"> 16274параметр none в директиве smtp_auth.<br/> 16275Спасибо Максиму Дунину. 16276</para> 16277<para lang="en"> 16278the "none" parameter in the "smtp_auth" directive.<br/> 16279Thanks to Maxim Dounin. 16280</para> 16281</change> 16282 16283<change type="feature"> 16284<para lang="ru"> 16285переменные "$cookie_...". 16286</para> 16287<para lang="en"> 16288the "$cookie_..." variables. 16289</para> 16290</change> 16291 16292<change type="bugfix"> 16293<para lang="ru"> 16294директива directio не работала с файловой системой XFS. 16295</para> 16296<para lang="en"> 16297the "directio" directive did not work in XFS filesystem. 16298</para> 16299</change> 16300 16301<change type="bugfix"> 16302<para lang="ru"> 16303resolver не понимал большие DNS-ответы.<br/> 16304Спасибо Zyb. 16305</para> 16306<para lang="en"> 16307the resolver did not understand big DNS responses.<br/> 16308Thanks to Zyb. 16309</para> 16310</change> 16311 16312</changes> 16313 16314 16315<changes ver="0.7.21" date="2008-11-11"> 16316 16317<change> 16318<para lang="ru"> 16319Изменения в модуле ngx_http_limit_req_module. 16320</para> 16321<para lang="en"> 16322Changes in the ngx_http_limit_req_module. 16323</para> 16324</change> 16325 16326<change type="feature"> 16327<para lang="ru"> 16328поддержка EXSLT в модуле ngx_http_xslt_module.<br/> 16329Спасибо Денису Латыпову. 16330</para> 16331<para lang="en"> 16332the EXSLT support in the ngx_http_xslt_module.<br/> 16333Thanks to Denis F. Latypoff. 16334</para> 16335</change> 16336 16337<change type="workaround"> 16338<para lang="ru"> 16339совместимость с glibc 2.3.<br/> 16340Спасибо Eric Benson и Максиму Дунину. 16341</para> 16342<para lang="en"> 16343compatibility with glibc 2.3.<br/> 16344Thanks to Eric Benson and Maxim Dounin. 16345</para> 16346</change> 16347 16348<change type="bugfix"> 16349<para lang="ru"> 16350nginx не запускался на MacOSX 10.4 и более ранних; 16351ошибка появилась в 0.7.6. 16352</para> 16353<para lang="en"> 16354nginx could not run on MacOSX 10.4 and earlier; 16355the bug had appeared in 0.7.6. 16356</para> 16357</change> 16358 16359</changes> 16360 16361 16362<changes ver="0.7.20" date="2008-11-10"> 16363 16364<change> 16365<para lang="ru"> 16366Изменения в модуле ngx_http_gzip_filter_module. 16367</para> 16368<para lang="en"> 16369Changes in the ngx_http_gzip_filter_module. 16370</para> 16371</change> 16372 16373<change type="feature"> 16374<para lang="ru"> 16375модуль ngx_http_limit_req_module. 16376</para> 16377<para lang="en"> 16378the ngx_http_limit_req_module. 16379</para> 16380</change> 16381 16382<change type="bugfix"> 16383<para lang="ru"> 16384на платформах sparc и ppc рабочие процессы могли выходить по сигналу SIGBUS; 16385ошибка появилась в 0.7.3.<br/> 16386Спасибо Максиму Дунину. 16387</para> 16388<para lang="en"> 16389worker processes might exit on a SIGBUS signal on sparc and ppc platforms; 16390the bug had appeared in 0.7.3.<br/> 16391Thanks to Maxim Dounin. 16392</para> 16393</change> 16394 16395<change type="bugfix"> 16396<para lang="ru"> 16397директивы вида "proxy_pass http://host/some:uri" не работали; 16398ошибка появилась в 0.7.12. 16399</para> 16400<para lang="en"> 16401the "proxy_pass http://host/some:uri" directives did not work; 16402the bug had appeared in 0.7.12. 16403</para> 16404</change> 16405 16406<change type="bugfix"> 16407<para lang="ru"> 16408при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry". 16409</para> 16410<para lang="en"> 16411in HTTPS mode requests might fail with the "bad write retry" error. 16412</para> 16413</change> 16414 16415<change type="bugfix"> 16416<para lang="ru"> 16417модуль ngx_http_secure_link_module не работал внутри location'ов 16418с именами меньше 3 символов. 16419</para> 16420<para lang="en"> 16421the ngx_http_secure_link_module did not work inside locations, 16422whose names are less than 3 characters. 16423</para> 16424</change> 16425 16426<change type="bugfix"> 16427<para lang="ru"> 16428переменная $server_addr могла не иметь значения. 16429</para> 16430<para lang="en"> 16431$server_addr variable might have no value. 16432</para> 16433</change> 16434 16435</changes> 16436 16437 16438<changes ver="0.7.19" date="2008-10-13"> 16439 16440<change type="bugfix"> 16441<para lang="ru"> 16442обновление номера версии. 16443</para> 16444<para lang="en"> 16445version number update. 16446</para> 16447</change> 16448 16449</changes> 16450 16451 16452<changes ver="0.7.18" date="2008-10-13"> 16453 16454<change type="change"> 16455<para lang="ru"> 16456директива underscores_in_headers; 16457теперь nginx по умолчанию не разрешает подчёркивания в именах строк 16458в заголовке запроса клиента. 16459</para> 16460<para lang="en"> 16461the "underscores_in_headers" directive; 16462now nginx does not allows underscores in a client request header line names. 16463</para> 16464</change> 16465 16466<change type="feature"> 16467<para lang="ru"> 16468модуль ngx_http_secure_link_module. 16469</para> 16470<para lang="en"> 16471the ngx_http_secure_link_module. 16472</para> 16473</change> 16474 16475<change type="feature"> 16476<para lang="ru"> 16477директива real_ip_header поддерживает любой заголовок. 16478</para> 16479<para lang="en"> 16480the "real_ip_header" directive supports any header. 16481</para> 16482</change> 16483 16484<change type="feature"> 16485<para lang="ru"> 16486директива log_subrequest. 16487</para> 16488<para lang="en"> 16489the "log_subrequest" directive. 16490</para> 16491</change> 16492 16493<change type="feature"> 16494<para lang="ru"> 16495переменная $realpath_root. 16496</para> 16497<para lang="en"> 16498the $realpath_root variable. 16499</para> 16500</change> 16501 16502<change type="feature"> 16503<para lang="ru"> 16504параметры http_502 и http_504 в директиве proxy_next_upstream. 16505</para> 16506<para lang="en"> 16507the "http_502" and "http_504" parameters of the "proxy_next_upstream" directive. 16508</para> 16509</change> 16510 16511<change type="bugfix"> 16512<para lang="ru"> 16513параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream 16514не работал. 16515</para> 16516<para lang="en"> 16517the "http_503" parameter of the "proxy_next_upstream" or 16518"fastcgi_next_upstream" directives did not work. 16519</para> 16520</change> 16521 16522<change type="bugfix"> 16523<para lang="ru"> 16524nginx мог выдавать строку "Transfer-Encoding: chunked" для запросов HEAD. 16525</para> 16526<para lang="en"> 16527nginx might send a "Transfer-Encoding: chunked" header line for HEAD requests. 16528</para> 16529</change> 16530 16531<change type="bugfix"> 16532<para lang="ru"> 16533теперь accept-лимит зависит от числа worker_connections. 16534</para> 16535<para lang="en"> 16536now accept threshold depends on worker_connections. 16537</para> 16538</change> 16539 16540</changes> 16541 16542 16543<changes ver="0.7.17" date="2008-09-15"> 16544 16545<change type="feature"> 16546<para lang="ru"> 16547директива directio теперь работает на Linux. 16548</para> 16549<para lang="en"> 16550now the "directio" directive works on Linux. 16551</para> 16552</change> 16553 16554<change type="feature"> 16555<para lang="ru"> 16556переменная $pid. 16557</para> 16558<para lang="en"> 16559the $pid variable. 16560</para> 16561</change> 16562 16563<change type="bugfix"> 16564<para lang="ru"> 16565оптимизация directio, появившаяся в 0.7.15, не работала при использовании 16566open_file_cache. 16567</para> 16568<para lang="en"> 16569the "directio" optimization that had appeared in 0.7.15 did not work with 16570open_file_cache. 16571</para> 16572</change> 16573 16574<change type="bugfix"> 16575<para lang="ru"> 16576access_log с переменными не работал на Linux; 16577ошибка появилась в 0.7.7. 16578</para> 16579<para lang="en"> 16580the "access_log" with variables did not work on Linux; 16581the bug had appeared in 0.7.7. 16582</para> 16583</change> 16584 16585<change type="bugfix"> 16586<para lang="ru"> 16587модуль ngx_http_charset_module не понимал название кодировки в кавычках, 16588полученное от бэкенда. 16589</para> 16590<para lang="en"> 16591the ngx_http_charset_module did not understand quoted charset name 16592received from backend. 16593</para> 16594</change> 16595 16596</changes> 16597 16598 16599<changes ver="0.7.16" date="2008-09-08"> 16600 16601<change type="bugfix"> 16602<para lang="ru"> 16603nginx не собирался на 64-битных платформах; 16604ошибка появилась в 0.7.15. 16605</para> 16606<para lang="en"> 16607nginx could not be built on 64-bit platforms; 16608the bug had appeared in 0.7.15. 16609</para> 16610</change> 16611 16612</changes> 16613 16614 16615<changes ver="0.7.15" date="2008-09-08"> 16616 16617<change type="feature"> 16618<para lang="ru"> 16619модуль ngx_http_random_index_module. 16620</para> 16621<para lang="en"> 16622the ngx_http_random_index_module. 16623</para> 16624</change> 16625 16626<change type="feature"> 16627<para lang="ru"> 16628директива directio оптимизирована для запросов файлов, начинающихся 16629с произвольной позиции. 16630</para> 16631<para lang="en"> 16632the "directio" directive has been optimized for file requests starting 16633from arbitrary position. 16634</para> 16635</change> 16636 16637<change type="feature"> 16638<para lang="ru"> 16639директива directio при необходимости запрещает использование sendfile. 16640</para> 16641<para lang="en"> 16642the "directio" directive turns off sendfile if it is necessary. 16643</para> 16644</change> 16645 16646<change type="feature"> 16647<para lang="ru"> 16648теперь nginx разрешает подчёркивания в именах строк в заголовке запроса клиента. 16649</para> 16650<para lang="en"> 16651now nginx allows underscores in a client request header line names. 16652</para> 16653</change> 16654 16655</changes> 16656 16657 16658<changes ver="0.7.14" date="2008-09-01"> 16659 16660<change type="change"> 16661<para lang="ru"> 16662теперь директивы ssl_certificate и ssl_certificate_key не имеют 16663значений по умолчанию. 16664</para> 16665<para lang="en"> 16666now the ssl_certificate and ssl_certificate_key directives have no 16667default values. 16668</para> 16669</change> 16670 16671<change type="feature"> 16672<para lang="ru"> 16673директива listen поддерживает параметр ssl. 16674</para> 16675<para lang="en"> 16676the "listen" directive supports the "ssl" parameter. 16677</para> 16678</change> 16679 16680<change type="feature"> 16681<para lang="ru"> 16682теперь при переконфигурации nginx учитывает изменение временной зоны 16683на FreeBSD и Linux. 16684</para> 16685<para lang="en"> 16686now nginx takes into account a time zone change while reconfiguration 16687on FreeBSD and Linux. 16688</para> 16689</change> 16690 16691<change type="bugfix"> 16692<para lang="ru"> 16693параметры директивы listen, такие как backlog, rcvbuf и прочие, 16694не устанавливались, если сервером по умолчанию был не первый сервер. 16695</para> 16696<para lang="en"> 16697the "listen" directive parameters such as "backlog", "rcvbuf", etc. 16698were not set, if a default server was not the first one. 16699</para> 16700</change> 16701 16702<change type="bugfix"> 16703<para lang="ru"> 16704при использовании в качестве аргументов части URI, выделенного с помощью 16705директивы rewrite, эти аргументы не экранировались. 16706</para> 16707<para lang="en"> 16708if URI part captured by a "rewrite" directive was used as a query string, 16709then the query string was not escaped. 16710</para> 16711</change> 16712 16713<change type="bugfix"> 16714<para lang="ru"> 16715улучшения тестирования правильности конфигурационного файла. 16716</para> 16717<para lang="en"> 16718configuration file validity test improvements. 16719</para> 16720</change> 16721 16722 16723</changes> 16724 16725 16726<changes ver="0.7.13" date="2008-08-26"> 16727 16728<change type="bugfix"> 16729<para lang="ru"> 16730nginx не собирался на Linux и Solaris; 16731ошибка появилась в 0.7.12. 16732</para> 16733<para lang="en"> 16734nginx could not be built on Linux and Solaris; 16735the bug had appeared in 0.7.12. 16736</para> 16737</change> 16738 16739</changes> 16740 16741 16742<changes ver="0.7.12" date="2008-08-26"> 16743 16744<change type="feature"> 16745<para lang="ru"> 16746директива server_name поддерживает пустое имя "". 16747</para> 16748<para lang="en"> 16749the "server_name" directive supports empty name "". 16750</para> 16751</change> 16752 16753<change type="feature"> 16754<para lang="ru"> 16755директива gzip_disable поддерживает специальную маску msie6. 16756</para> 16757<para lang="en"> 16758the "gzip_disable" directive supports special "msie6" mask. 16759</para> 16760</change> 16761 16762<change type="bugfix"> 16763<para lang="ru"> 16764при использовании параметра max_fails=0 в upstream'е с несколькими 16765серверами рабочий процесс выходил по сигналу SIGFPE.<br/> 16766Спасибо Максиму Дунину. 16767</para> 16768<para lang="en"> 16769if the "max_fails=0" parameter was used in upstream with several servers, 16770then a worker process exited on a SIGFPE signal.<br/> 16771Thanks to Maxim Dounin. 16772</para> 16773</change> 16774 16775<change type="bugfix"> 16776<para lang="ru"> 16777при перенаправлении запроса с помощью директивы error_page 16778терялось тело запроса. 16779</para> 16780<para lang="en"> 16781a request body was dropped while redirection via an "error_page" directive. 16782</para> 16783</change> 16784 16785<change type="bugfix"> 16786<para lang="ru"> 16787при перенаправлении запроса с методом HEAD с помощью директивы error_page 16788возвращался полный ответ. 16789</para> 16790<para lang="en"> 16791a full response was returned for request method HEAD 16792while redirection via an "error_page" directive. 16793</para> 16794</change> 16795 16796<change type="bugfix"> 16797<para lang="ru"> 16798метод $r->header_in() не возвращал значения строк "Host", "User-Agent", 16799и "Connection" из заголовка запроса; 16800ошибка появилась в 0.7.0. 16801</para> 16802<para lang="en"> 16803the $r->header_in() method did not return value of the "Host", 16804"User-Agent", and "Connection" request header lines; 16805the bug had appeared in 0.7.0. 16806</para> 16807</change> 16808 16809</changes> 16810 16811 16812<changes ver="0.7.11" date="2008-08-18"> 16813 16814<change type="change"> 16815<para lang="ru"> 16816теперь ngx_http_charset_module по умолчанию не работает MIME-типом text/css. 16817</para> 16818<para lang="en"> 16819now ngx_http_charset_module does not work by default with text/css MIME type. 16820</para> 16821</change> 16822 16823<change type="feature"> 16824<para lang="ru"> 16825теперь nginx возвращает код 405 для метода POST при запросе статического 16826файла, только если файл существует. 16827</para> 16828<para lang="en"> 16829now nginx returns the 405 status code for POST method requesting a static file 16830only if the file exists. 16831</para> 16832</change> 16833 16834<change type="feature"> 16835<para lang="ru"> 16836директива proxy_ssl_session_reuse. 16837</para> 16838<para lang="en"> 16839the "proxy_ssl_session_reuse" directive. 16840</para> 16841</change> 16842 16843<change type="bugfix"> 16844<para lang="ru"> 16845после перенаправления запроса с помощью "X-Accel-Redirect" 16846директива proxy_pass без URI могла использовать оригинальный запрос. 16847</para> 16848<para lang="en"> 16849a "proxy_pass" directive without URI part might use original request 16850after the "X-Accel-Redirect" redirection was used. 16851</para> 16852</change> 16853 16854<change type="bugfix"> 16855<para lang="ru"> 16856если у каталога были права доступа только на поиск файлов 16857и первый индексный файл отсутствовал, то nginx возвращал ошибку 500. 16858</para> 16859<para lang="en"> 16860if a directory has search only rights and the first index file was absent, 16861then nginx returned the 500 status code. 16862</para> 16863</change> 16864 16865<change type="bugfix"> 16866<para lang="ru"> 16867ошибок во вложенных location'ах; 16868ошибки появились в 0.7.1. 16869</para> 16870<para lang="en"> 16871in inclusive locations; 16872the bugs had appeared in 0.7.1. 16873</para> 16874</change> 16875 16876</changes> 16877 16878 16879<changes ver="0.7.10" date="2008-08-13"> 16880 16881<change type="bugfix"> 16882<para lang="ru"> 16883ошибок в директивах addition_types, charset_types, 16884gzip_types, ssi_types, sub_filter_types и xslt_types; 16885ошибки появились в 0.7.9. 16886</para> 16887<para lang="en"> 16888in the "addition_types", "charset_types", 16889"gzip_types", "ssi_types", "sub_filter_types", and "xslt_types" directives; 16890the bugs had appeared in 0.7.9. 16891</para> 16892</change> 16893 16894<change type="bugfix"> 16895<para lang="ru"> 16896рекурсивной error_page для 500 ошибки. 16897</para> 16898<para lang="en"> 16899of recursive error_page for 500 status code. 16900</para> 16901</change> 16902 16903<change type="bugfix"> 16904<para lang="ru"> 16905теперь модуль ngx_http_realip_module устанавливает адрес не для 16906всего keepalive соединения, а для каждого запроса по этому соединению. 16907</para> 16908<para lang="en"> 16909now the ngx_http_realip_module sets address not for whole keepalive connection, 16910but for each request passed via the connection. 16911</para> 16912</change> 16913 16914</changes> 16915 16916 16917<changes ver="0.7.9" date="2008-08-12"> 16918 16919<change type="change"> 16920<para lang="ru"> 16921теперь ngx_http_charset_module по умолчанию работает со следующими MIME-типами: 16922text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 16923application/x-javascript и application/rss+xml. 16924</para> 16925<para lang="en"> 16926now ngx_http_charset_module works by default with following MIME types: 16927text/html, text/css, text/xml, text/plain, text/vnd.wap.wml, 16928application/x-javascript, and application/rss+xml. 16929</para> 16930</change> 16931 16932<change type="feature"> 16933<para lang="ru"> 16934директивы charset_types и addition_types. 16935</para> 16936<para lang="en"> 16937the "charset_types" and "addition_types" directives. 16938</para> 16939</change> 16940 16941<change type="feature"> 16942<para lang="ru"> 16943теперь директивы gzip_types, ssi_types и sub_filter_types используют хэш. 16944</para> 16945<para lang="en"> 16946now the "gzip_types", "ssi_types", and "sub_filter_types" directives use hash. 16947</para> 16948</change> 16949 16950<change type="feature"> 16951<para lang="ru"> 16952модуль ngx_cpp_test_module. 16953</para> 16954<para lang="en"> 16955the ngx_cpp_test_module. 16956</para> 16957</change> 16958 16959<change type="feature"> 16960<para lang="ru"> 16961директива expires поддерживает суточное время. 16962</para> 16963<para lang="en"> 16964the "expires" directive supports daily time. 16965</para> 16966</change> 16967 16968<change type="feature"> 16969<para lang="ru"> 16970улучшения и исправления в модуле ngx_http_xslt_module.<br/> 16971Спасибо Денису Латыпову и Максиму Дунину. 16972</para> 16973<para lang="en"> 16974the ngx_http_xslt_module improvements and bug fixing.<br/> 16975Thanks to Denis F. Latypoff and Maxim Dounin. 16976</para> 16977</change> 16978 16979<change type="bugfix"> 16980<para lang="ru"> 16981директива log_not_found не работала при поиске индексных файлов. 16982</para> 16983<para lang="en"> 16984the "log_not_found" directive did not work for index files tests. 16985</para> 16986</change> 16987 16988<change type="bugfix"> 16989<para lang="ru"> 16990HTTPS-соединения могли зависнуть, 16991если использовались методы kqueue, epoll, rtsig или eventport; 16992ошибка появилась в 0.7.7. 16993</para> 16994<para lang="en"> 16995HTTPS connections might hang, 16996if kqueue, epoll, rtsig, or eventport methods were used; 16997the bug had appeared in 0.7.7. 16998</para> 16999</change> 17000 17001<change type="bugfix"> 17002<para lang="ru"> 17003если в директивах server_name, valid_referers и map 17004использовалась маска вида "*.domain.tld" и при этом полное имя 17005вида "domain.tld" не было описано, то это имя попадало под маску; 17006ошибка появилась в 0.3.18. 17007</para> 17008<para lang="en"> 17009if the "server_name", "valid_referers", and "map" directives used 17010an "*.domain.tld" wildcard and exact name "domain.tld" was not set, 17011then the exact name was matched by the wildcard; 17012the bug had appeared in 0.3.18. 17013</para> 17014</change> 17015 17016</changes> 17017 17018 17019<changes ver="0.7.8" date="2008-08-04"> 17020 17021<change type="feature"> 17022<para lang="ru"> 17023модуль ngx_http_xslt_module. 17024</para> 17025<para lang="en"> 17026the ngx_http_xslt_module. 17027</para> 17028</change> 17029 17030<change type="feature"> 17031<para lang="ru"> 17032переменные "$arg_...". 17033</para> 17034<para lang="en"> 17035the "$arg_..." variables. 17036</para> 17037</change> 17038 17039<change type="feature"> 17040<para lang="ru"> 17041поддержка directio в Solaris.<br/> 17042Спасибо Ivan Debnar. 17043</para> 17044<para lang="en"> 17045Solaris directio support.<br/> 17046Thanks to Ivan Debnar. 17047</para> 17048</change> 17049 17050<change type="bugfix"> 17051<para lang="ru"> 17052теперь, если FastCGI-сервер присылает строку "Location" в заголовке ответа 17053без строки статуса, то nginx использует код статуса 302.<br/> 17054Спасибо Максиму Дунину. 17055</para> 17056<para lang="en"> 17057now if FastCGI server sends a "Location" header line without status line, 17058then nginx uses 302 status code.<br/> 17059Thanks to Maxim Dounin. 17060</para> 17061</change> 17062 17063</changes> 17064 17065 17066<changes ver="0.7.7" date="2008-07-30"> 17067 17068<change type="change"> 17069<para lang="ru"> 17070теперь ошибка EAGAIN при вызове connect() не считается временной. 17071</para> 17072<para lang="en"> 17073now the EAGAIN error returned by connect() is not considered as temporary error. 17074</para> 17075</change> 17076 17077<change type="change"> 17078<para lang="ru"> 17079значением переменной $ssl_client_cert теперь является сертификат, 17080перед каждой строкой которого, кроме первой, вставляется символ табуляции; 17081неизменённый сертификат доступен через переменную $ssl_client_raw_cert. 17082</para> 17083<para lang="en"> 17084now the $ssl_client_cert variable value is a certificate with TAB character 17085intended before each line except first one; 17086an unchanged certificate is available in the $ssl_client_raw_cert variable. 17087</para> 17088</change> 17089 17090<change type="feature"> 17091<para lang="ru"> 17092параметр ask директивы ssl_verify_client. 17093</para> 17094<para lang="en"> 17095the "ask" parameter in the "ssl_verify_client" directive. 17096</para> 17097</change> 17098 17099<change type="feature"> 17100<para lang="ru"> 17101улучшения в обработке byte-range.<br/> 17102Спасибо Максиму Дунину. 17103</para> 17104<para lang="en"> 17105byte-range processing improvements.<br/> 17106Thanks to Maxim Dounin. 17107</para> 17108</change> 17109 17110<change type="feature"> 17111<para lang="ru"> 17112директива directio.<br/> 17113Спасибо Jiang Hong. 17114</para> 17115<para lang="en"> 17116the "directio" directive.<br/> 17117Thanks to Jiang Hong. 17118</para> 17119</change> 17120 17121<change type="feature"> 17122<para lang="ru"> 17123поддержка sendfile() в MacOSX 10.5. 17124</para> 17125<para lang="en"> 17126MacOSX 10.5 sendfile() support. 17127</para> 17128</change> 17129 17130<change type="bugfix"> 17131<para lang="ru"> 17132в MacOSX и Cygwin при проверке location'ов теперь делается сравнение 17133без учёта регистра символов; 17134однако, сравнение ограничено только однобайтными locale'ями. 17135</para> 17136<para lang="en"> 17137now in MacOSX and Cygwin locations are tested in case insensitive mode; 17138however, the compare is provided by single-byte locales only. 17139</para> 17140</change> 17141 17142<change type="bugfix"> 17143<para lang="ru"> 17144соединения почтового прокси-сервера зависали в режиме SSL, 17145если использовались методы select, poll или /dev/poll. 17146</para> 17147<para lang="en"> 17148mail proxy SSL connections hanged, 17149if select, poll, or /dev/poll methods were used. 17150</para> 17151</change> 17152 17153<change type="bugfix"> 17154<para lang="ru"> 17155ошибки при использовании кодировки UTF-8 в ngx_http_autoindex_module. 17156</para> 17157<para lang="en"> 17158UTF-8 encoding usage in the ngx_http_autoindex_module. 17159</para> 17160</change> 17161 17162</changes> 17163 17164 17165<changes ver="0.7.6" date="2008-07-07"> 17166 17167<change type="bugfix"> 17168<para lang="ru"> 17169теперь при использовании переменных в директиве access_log 17170всегда проверяется существовании root'а для запроса. 17171</para> 17172<para lang="en"> 17173now if variables are used in the "access_log" directive 17174a request root existence is always tested. 17175</para> 17176</change> 17177 17178<change type="bugfix"> 17179<para lang="ru"> 17180модуль ngx_http_flv_module не поддерживал несколько значений в 17181аргументах запроса. 17182</para> 17183<para lang="en"> 17184the ngx_http_flv_module did not support several values in a query string. 17185</para> 17186</change> 17187 17188</changes> 17189 17190 17191<changes ver="0.7.5" date="2008-07-01"> 17192 17193<change> 17194<para lang="ru"> 17195Исправления в поддержке переменных в директиве access_log; 17196ошибки появились в 0.7.4. 17197</para> 17198<para lang="en"> 17199Bugfixes in variables support in the "access_log" directive; 17200the bugs had appeared in 0.7.4. 17201</para> 17202</change> 17203 17204<change type="bugfix"> 17205<para lang="ru"> 17206nginx не собирался с параметром --without-http_gzip_module; 17207ошибка появилась в 0.7.3.<br/> 17208Спасибо Кириллу Коринскому. 17209</para> 17210<para lang="en"> 17211nginx could not be built --without-http_gzip_module; 17212the bug had appeared in 0.7.3.<br/> 17213Thanks to Kirill A. Korinskiy. 17214</para> 17215</change> 17216 17217<change type="bugfix"> 17218<para lang="ru"> 17219при совместном использовании sub_filter и SSI 17220ответы могли передаваться неверно. 17221</para> 17222<para lang="en"> 17223if sub_filter and SSI were used together, then responses might 17224were transferred incorrectly. 17225</para> 17226</change> 17227 17228</changes> 17229 17230 17231<changes ver="0.7.4" date="2008-06-30"> 17232 17233<change type="feature"> 17234<para lang="ru"> 17235директива access_log поддерживает переменные. 17236</para> 17237<para lang="en"> 17238variables support in the "access_log" directive. 17239</para> 17240</change> 17241 17242<change type="feature"> 17243<para lang="ru"> 17244директива open_log_file_cache. 17245</para> 17246<para lang="en"> 17247the "open_log_file_cache" directive. 17248</para> 17249</change> 17250 17251<change type="feature"> 17252<para lang="ru"> 17253ключ -g. 17254</para> 17255<para lang="en"> 17256the -g switch. 17257</para> 17258</change> 17259 17260<change type="feature"> 17261<para lang="ru"> 17262поддержка строки "Expect" в заголовке запроса. 17263</para> 17264<para lang="en"> 17265the "Expect" request header line support. 17266</para> 17267</change> 17268 17269<change type="bugfix"> 17270<para lang="ru"> 17271большие включения в SSI могли передавались не полностью. 17272</para> 17273<para lang="en"> 17274large SSI inclusions might be truncated. 17275</para> 17276</change> 17277 17278</changes> 17279 17280 17281<changes ver="0.7.3" date="2008-06-23"> 17282 17283<change type="change"> 17284<para lang="ru"> 17285MIME-тип для расширения rss изменён на "application/rss+xml". 17286</para> 17287<para lang="en"> 17288the "rss" extension MIME type has been changed to "application/rss+xml". 17289</para> 17290</change> 17291 17292<change type="change"> 17293<para lang="ru"> 17294теперь директива "gzip_vary on" выдаёт строку 17295<nobr>"Vary: Accept-Encoding"</nobr> 17296в заголовке ответа и для несжатых ответов. 17297</para> 17298<para lang="en"> 17299now the "gzip_vary" directive turned on issues 17300a <nobr>"Vary: Accept-Encoding"</nobr> 17301header line for uncompressed responses too. 17302</para> 17303</change> 17304 17305<change type="feature"> 17306<para lang="ru"> 17307теперь при использовании протокола "https://" в директиве rewrite 17308автоматически делается редирект. 17309</para> 17310<para lang="en"> 17311now the "rewrite" directive does a redirect automatically 17312if the "https://" protocol is used. 17313</para> 17314</change> 17315 17316<change type="bugfix"> 17317<para lang="ru"> 17318директива proxy_pass не работала с протоколом HTTPS; 17319ошибка появилась в 0.6.9. 17320</para> 17321<para lang="en"> 17322the "proxy_pass" directive did not work with the HTTPS protocol; 17323the bug had appeared in 0.6.9. 17324</para> 17325</change> 17326 17327</changes> 17328 17329 17330<changes ver="0.7.2" date="2008-06-16"> 17331 17332<change type="feature"> 17333<para lang="ru"> 17334теперь nginx поддерживает шифры с обменом EDH-ключами. 17335</para> 17336<para lang="en"> 17337now nginx supports EDH key exchange ciphers. 17338</para> 17339</change> 17340 17341<change type="feature"> 17342<para lang="ru"> 17343директива ssl_dhparam. 17344</para> 17345<para lang="en"> 17346the "ssl_dhparam" directive. 17347</para> 17348</change> 17349 17350<change type="feature"> 17351<para lang="ru"> 17352переменная $ssl_client_cert.<br/> 17353Спасибо Manlio Perillo. 17354</para> 17355<para lang="en"> 17356the $ssl_client_cert variable.<br/> 17357Thanks to Manlio Perillo. 17358</para> 17359</change> 17360 17361<change type="bugfix"> 17362<para lang="ru"> 17363после изменения URI с помощью директивы rewrite nginx не искал новый location; 17364ошибка появилась в 0.7.1.<br/> 17365Спасибо Максиму Дунину. 17366</para> 17367<para lang="en"> 17368after changing URI via a "rewrite" directive nginx did not search 17369a new location; 17370the bug had appeared in 0.7.1.<br/> 17371Thanks to Maxim Dounin. 17372</para> 17373</change> 17374 17375<change type="bugfix"> 17376<para lang="ru"> 17377nginx не собирался без библиотеки PCRE; 17378ошибка появилась в 0.7.1. 17379</para> 17380<para lang="en"> 17381nginx could not be built without PCRE library; 17382the bug had appeared in 0.7.1. 17383</para> 17384</change> 17385 17386<change type="bugfix"> 17387<para lang="ru"> 17388при редиректе запроса к каталогу с добавлением слэша nginx 17389не добавлял аргументы из оригинального запроса. 17390</para> 17391<para lang="en"> 17392when a request to a directory was redirected with the slash added, 17393nginx dropped a query string from the original request. 17394</para> 17395</change> 17396 17397</changes> 17398 17399 17400<changes ver="0.7.1" date="2008-05-26"> 17401 17402<change type="change"> 17403<para lang="ru"> 17404теперь поиск location'а делается с помощью дерева. 17405</para> 17406<para lang="en"> 17407now locations are searched in a tree. 17408</para> 17409</change> 17410 17411<change type="change"> 17412<para lang="ru"> 17413директива optimize_server_names упразднена в связи с появлением 17414директивы server_name_in_redirect. 17415</para> 17416<para lang="en"> 17417the "optimize_server_names" directive was canceled 17418due to the "server_name_in_redirect" directive introduction. 17419</para> 17420</change> 17421 17422<change type="change"> 17423<para lang="ru"> 17424некоторые давно устаревшие директивы больше не поддерживаются. 17425</para> 17426<para lang="en"> 17427some long deprecated directives are not supported anymore. 17428</para> 17429</change> 17430 17431<change type="change"> 17432<para lang="ru"> 17433параметр "none" в директиве ssl_session_cache; 17434теперь этот параметр используется по умолчанию.<br/> 17435Спасибо Rob Mueller. 17436</para> 17437<para lang="en"> 17438the "none" parameter in the "ssl_session_cache" directive; 17439now this is default parameter.<br/> 17440Thanks to Rob Mueller. 17441</para> 17442</change> 17443 17444<change type="bugfix"> 17445<para lang="ru"> 17446рабочие процессы могли не реагировать на сигналы переконфигурации 17447и ротации логов. 17448</para> 17449<para lang="en"> 17450worker processes might not catch reconfiguration and log rotation signals. 17451</para> 17452</change> 17453 17454<change type="bugfix"> 17455<para lang="ru"> 17456nginx не собирался на последних Fedora 9 Linux.<br/> 17457Спасибо Roxis. 17458</para> 17459<para lang="en"> 17460nginx could not be built on latest Fedora 9 Linux.<br/> 17461Thanks to Roxis. 17462</para> 17463</change> 17464 17465</changes> 17466 17467 17468<changes ver="0.7.0" date="2008-05-19"> 17469 17470<change type="change"> 17471<para lang="ru"> 17472теперь символы 0x00-0x1F, '"' и '\' в access_log записываются в виде \xXX.<br/> 17473Спасибо Максиму Дунину. 17474</para> 17475<para lang="en"> 17476now the 0x00-0x1F, '"' and '\' characters are escaped as \xXX in an 17477access_log.<br/> 17478Thanks to Maxim Dounin. 17479</para> 17480</change> 17481 17482<change type="change"> 17483<para lang="ru"> 17484теперь nginx разрешает несколько строк "Host" в заголовке запроса. 17485</para> 17486<para lang="en"> 17487now nginx allows several "Host" request header line. 17488</para> 17489</change> 17490 17491<change type="feature"> 17492<para lang="ru"> 17493директива expires поддерживает флаг modified. 17494</para> 17495<para lang="en"> 17496the "modified" flag in the "expires" directive. 17497</para> 17498</change> 17499 17500<change type="feature"> 17501<para lang="ru"> 17502переменные $uid_got и $uid_set можно использовать на любой стадии обработки 17503запроса. 17504</para> 17505<para lang="en"> 17506the $uid_got and $uid_set variables may be used at any request processing stage. 17507</para> 17508</change> 17509 17510<change type="feature"> 17511<para lang="ru"> 17512переменная $hostname.<br/> 17513Спасибо Андрею Нигматулину. 17514</para> 17515<para lang="en"> 17516the $hostname variable.<br/> 17517Thanks to Andrei Nigmatulin. 17518</para> 17519</change> 17520 17521<change type="feature"> 17522<para lang="ru"> 17523поддержка DESTDIR.<br/> 17524Спасибо Todd A. Fisher и Andras Voroskoi. 17525</para> 17526<para lang="en"> 17527DESTDIR support.<br/> 17528Thanks to Todd A. Fisher and Andras Voroskoi. 17529</para> 17530</change> 17531 17532<change type="bugfix"> 17533<para lang="ru"> 17534при использовании keepalive на Linux 17535в рабочем процессе мог произойти segmentation fault. 17536</para> 17537<para lang="en"> 17538a segmentation fault might occur in worker process on Linux, 17539if keepalive was enabled. 17540</para> 17541</change> 17542 17543</changes> 17544 17545 17546<changes ver="0.6.31" date="2008-05-12"> 17547 17548<change type="bugfix"> 17549<para lang="ru"> 17550nginx не обрабатывал ответ FastCGI-сервера, если строка заголовка ответа была 17551в конце записи FastCGI; 17552ошибка появилась в 0.6.2.<br/> 17553Спасибо Сергею Серову. 17554</para> 17555<para lang="en"> 17556nginx did not process FastCGI response 17557if header was at the end of FastCGI record; 17558the bug had appeared in 0.6.2.<br/> 17559Thanks to Sergey Serov. 17560</para> 17561</change> 17562 17563<change type="bugfix"> 17564<para lang="ru"> 17565при удалении файла и использовании директивы open_file_cache_errors off 17566в рабочем процессе мог произойти segmentation fault. 17567</para> 17568<para lang="en"> 17569a segmentation fault might occur in worker process if a file was deleted 17570and the "open_file_cache_errors" directive was off. 17571</para> 17572</change> 17573 17574</changes> 17575 17576 17577<changes ver="0.6.30" date="2008-04-29"> 17578 17579<change type="change"> 17580<para lang="ru"> 17581теперь, если маске, заданной в директиве include, не соответствует 17582ни один файл, то nginx не выдаёт ошибку. 17583</para> 17584<para lang="en"> 17585now if an "include" directive pattern does not match any file, 17586then nginx does not issue an error. 17587</para> 17588</change> 17589 17590<change type="feature"> 17591<para lang="ru"> 17592теперь время в директивах можно задавать без пробела, например, "1h50m". 17593</para> 17594<para lang="en"> 17595now the time in directives may be specified without spaces, 17596for example, "1h50m". 17597</para> 17598</change> 17599 17600<change type="bugfix"> 17601<para lang="ru"> 17602утечек памяти, если директива ssl_verify_client имела значение on.<br/> 17603Спасибо Chavelle Vincent. 17604</para> 17605<para lang="en"> 17606memory leaks if the "ssl_verify_client" directive was on.<br/> 17607Thanks to Chavelle Vincent. 17608</para> 17609</change> 17610 17611<change type="bugfix"> 17612<para lang="ru"> 17613директива sub_filter могла вставлять заменяемый текст в вывод. 17614</para> 17615<para lang="en"> 17616the "sub_filter" directive might set text to change into output. 17617</para> 17618</change> 17619 17620<change type="bugfix"> 17621<para lang="ru"> 17622директива error_page не воспринимала параметры в перенаправляемом URI. 17623</para> 17624<para lang="en"> 17625the "error_page" directive did not take into account arguments in 17626redirected URI. 17627</para> 17628</change> 17629 17630<change type="bugfix"> 17631<para lang="ru"> 17632теперь при сборке с Cygwin nginx всегда открывает файлы в бинарном режиме. 17633</para> 17634<para lang="en"> 17635now nginx always opens files in binary mode under Cygwin. 17636</para> 17637</change> 17638 17639<change type="bugfix"> 17640<para lang="ru"> 17641nginx не собирался под OpenBSD; 17642ошибка появилась в 0.6.15. 17643</para> 17644<para lang="en"> 17645nginx could not be built on OpenBSD; 17646the bug had appeared in 0.6.15. 17647</para> 17648</change> 17649 17650</changes> 17651 17652 17653<changes ver="0.6.29" date="2008-03-18"> 17654 17655<change type="feature"> 17656<para lang="ru"> 17657модуль ngx_google_perftools_module. 17658</para> 17659<para lang="en"> 17660the ngx_google_perftools_module. 17661</para> 17662</change> 17663 17664<change type="bugfix"> 17665<para lang="ru"> 17666модуль ngx_http_perl_module не собирался на 64-битных платформах; 17667ошибка появилась в 0.6.27. 17668</para> 17669<para lang="en"> 17670the ngx_http_perl_module could not be built on 64-bit platforms; 17671the bug had appeared in 0.6.27. 17672</para> 17673</change> 17674 17675</changes> 17676 17677 17678<changes ver="0.6.28" date="2008-03-13"> 17679 17680<change type="bugfix"> 17681<para lang="ru"> 17682метод rtsig не собирался; 17683ошибка появилась в 0.6.27. 17684</para> 17685<para lang="en"> 17686the rtsig method could not be built; 17687the bug had appeared in 0.6.27. 17688</para> 17689</change> 17690 17691</changes> 17692 17693 17694<changes ver="0.6.27" date="2008-03-12"> 17695 17696<change type="change"> 17697<para lang="ru"> 17698теперь на Linux 2.6.18+ по умолчанию не собирается метод rtsig. 17699</para> 17700<para lang="en"> 17701now by default the rtsig method is not built on <nobr>Linux 2.6.18+.</nobr> 17702</para> 17703</change> 17704 17705<change type="change"> 17706<para lang="ru"> 17707теперь при перенаправлении запроса в именованный location с помощью 17708директивы error_page метод запроса не изменяется. 17709</para> 17710<para lang="en"> 17711now a request method is not changed while redirection to a named location 17712via an "error_page" directive. 17713</para> 17714</change> 17715 17716<change type="feature"> 17717<para lang="ru"> 17718директивы resolver и resolver_timeout в SMTP прокси-сервере. 17719</para> 17720<para lang="en"> 17721the "resolver" and "resolver_timeout" directives in SMTP proxy. 17722</para> 17723</change> 17724 17725<change type="feature"> 17726<para lang="ru"> 17727директива post_action поддерживает именованные location'ы. 17728</para> 17729<para lang="en"> 17730the "post_action" directive supports named locations. 17731</para> 17732</change> 17733 17734<change type="bugfix"> 17735<para lang="ru"> 17736при перенаправлении запроса из location'а c обработчиком proxy, FastCGI 17737или memcached в именованный location со статическим обработчиком 17738в рабочем процессе происходил segmentation fault. 17739</para> 17740<para lang="en"> 17741a segmentation fault occurred in worker process, 17742if a request was redirected from proxy, FastCGI, or memcached location 17743to static named locations. 17744</para> 17745</change> 17746 17747<change type="bugfix"> 17748<para lang="ru"> 17749браузеры не повторяли SSL handshake, если при первом handshake 17750не оказалось правильного клиентского сертификата. 17751<br/> 17752Спасибо Александру Инюхину. 17753</para> 17754<para lang="en"> 17755browsers did not repeat SSL handshake if there is no valid client certificate 17756in first handshake. 17757<br/> 17758Thanks to Alexander V. Inyukhin. 17759</para> 17760</change> 17761 17762<change type="bugfix"> 17763<para lang="ru"> 17764при перенаправлении ошибок 495-497 с помощью директивы error_page 17765без изменения кода ошибки nginx пытался выделить очень много памяти. 17766</para> 17767<para lang="en"> 17768if response code 495-497 was redirected via an "error_page" directive 17769without code change, then nginx tried to allocate too many memory. 17770</para> 17771</change> 17772 17773<change type="bugfix"> 17774<para lang="ru"> 17775утечки памяти в долгоживущих небуфферизированных соединениях. 17776</para> 17777<para lang="en"> 17778memory leak in long-lived non buffered connections. 17779</para> 17780</change> 17781 17782<change type="bugfix"> 17783<para lang="ru"> 17784утечки памяти в resolver'е. 17785</para> 17786<para lang="en"> 17787memory leak in resolver. 17788</para> 17789</change> 17790 17791<change type="bugfix"> 17792<para lang="ru"> 17793при перенаправлении запроса из location'а c обработчиком proxy 17794в другой location с обработчиком proxy 17795в рабочем процессе происходил segmentation fault. 17796</para> 17797<para lang="en"> 17798a segmentation fault occurred in worker process, 17799if a request was redirected from proxy, FastCGI, or memcached location 17800to static named locations. 17801</para> 17802</change> 17803 17804<change type="bugfix"> 17805<para lang="ru"> 17806ошибки в кэшировании переменных $proxy_host и $proxy_port.<br/> 17807Спасибо Сергею Боченкову. 17808</para> 17809<para lang="en"> 17810in the $proxy_host and $proxy_port variables caching.<br/> 17811Thanks to Sergey Bochenkov. 17812</para> 17813</change> 17814 17815<change type="bugfix"> 17816<para lang="ru"> 17817директива proxy_pass с переменными использовала порт, описанной в другой 17818директиве proxy_pass без переменных, но с таким же именем хоста.<br/> 17819Спасибо Сергею Боченкову. 17820</para> 17821<para lang="en"> 17822a "proxy_pass" directive with variables used incorrectly the same port 17823as in another "proxy_pass" directive with the same host name 17824and without variables.<br/> 17825Thanks to Sergey Bochenkov. 17826</para> 17827</change> 17828 17829<change type="bugfix"> 17830<para lang="ru"> 17831во время переконфигурации на некоторых 64-битном платформах в лог 17832записывался alert "sendmsg() failed (9: Bad file descriptor)". 17833</para> 17834<para lang="en"> 17835an alert "sendmsg() failed (9: Bad file descriptor)" on some 64-bit platforms 17836while reconfiguration. 17837</para> 17838</change> 17839 17840<change type="bugfix"> 17841<para lang="ru"> 17842при повторном использовании в SSI пустого block'а в качестве заглушки 17843в рабочем процессе происходил segmentation fault. 17844</para> 17845<para lang="en"> 17846a segmentation fault occurred in worker process, 17847if empty stub block was used second time in SSI. 17848</para> 17849</change> 17850 17851<change type="bugfix"> 17852<para lang="ru"> 17853ошибки при копировании части URI, содержащего экранированные символы, 17854в аргументы. 17855</para> 17856<para lang="en"> 17857in copying URI part contained escaped symbols into arguments. 17858</para> 17859</change> 17860 17861</changes> 17862 17863 17864<changes ver="0.6.26" date="2008-02-11"> 17865 17866<change type="bugfix"> 17867<para lang="ru"> 17868директивы proxy_store и fastcgi_store не проверяли длину ответа. 17869</para> 17870<para lang="en"> 17871the "proxy_store" and "fastcgi_store" directives did not check 17872a response length. 17873</para> 17874</change> 17875 17876<change type="bugfix"> 17877<para lang="ru"> 17878при использовании большого значения в директиве expires 17879в рабочем процессе происходил segmentation fault.<br/> 17880Спасибо Joaquin Cuenca Abela. 17881</para> 17882<para lang="en"> 17883a segmentation fault occurred in worker process, 17884if big value was used in a "expires" directive.<br/> 17885Thanks to Joaquin Cuenca Abela. 17886</para> 17887</change> 17888 17889<change type="bugfix"> 17890<para lang="ru"> 17891nginx неверно определял длину строки кэша на <nobr>Pentium 4.</nobr><br/> 17892Спасибо Геннадию Махомеду. 17893</para> 17894<para lang="en"> 17895nginx incorrectly detected cache line size on Pentium 4.<br/> 17896Thanks to Gena Makhomed. 17897</para> 17898</change> 17899 17900<change type="bugfix"> 17901<para lang="ru"> 17902в проксированных подзапросах и подзапросах к FastCGI-серверу 17903вместо метода GET использовался оригинальный метод клиента. 17904</para> 17905<para lang="en"> 17906in proxied or FastCGI subrequests a client original method was used 17907instead of the GET method. 17908</para> 17909</change> 17910 17911<change type="bugfix"> 17912<para lang="ru"> 17913утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 17914Спасибо Ben Maurer. 17915</para> 17916<para lang="en"> 17917socket leak in HTTPS mode if deferred accept was used.<br/> 17918Thanks to Ben Maurer. 17919</para> 17920</change> 17921 17922<change type="bugfix"> 17923<para lang="ru"> 17924nginx выдавал ошибочное сообщение "SSL_shutdown() failed (SSL: )"; 17925ошибка появилась в 0.6.23. 17926</para> 17927<para lang="en"> 17928nginx issued the bogus error message "SSL_shutdown() failed (SSL: )"; 17929the bug had appeared in 0.6.23. 17930</para> 17931</change> 17932 17933<change type="bugfix"> 17934<para lang="ru"> 17935при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 17936ошибка появилась в 0.6.23. 17937</para> 17938<para lang="en"> 17939in HTTPS mode requests might fail with the "bad write retry" error; 17940the bug had appeared in 0.6.23. 17941</para> 17942</change> 17943 17944</changes> 17945 17946 17947<changes ver="0.6.25" date="2008-01-08"> 17948 17949<change type="change"> 17950<para lang="ru"> 17951вместо специального параметра "*" в директиве server_name теперь 17952используется директива server_name_in_redirect. 17953</para> 17954<para lang="en"> 17955now the "server_name_in_redirect" directive is used instead of 17956the "server_name" directive's special "*" parameter. 17957</para> 17958</change> 17959 17960<change type="change"> 17961<para lang="ru"> 17962в качестве основного имени в директиве server_name теперь 17963можно использовать имена с масками и регулярными выражениями. 17964</para> 17965<para lang="en"> 17966now wildcard and regex names can be used as main name in 17967a "server_name" directive. 17968</para> 17969</change> 17970 17971<change type="change"> 17972<para lang="ru"> 17973директива satisfy_any заменена директивой satisfy. 17974</para> 17975<para lang="en"> 17976the "satisfy_any" directive was replaced by the "satisfy" directive. 17977</para> 17978</change> 17979 17980<change type="workaround"> 17981<para lang="ru"> 17982после переконфигурации старые рабочие процесс могли сильно нагружать процессор 17983при запуске под Linux OpenVZ. 17984</para> 17985<para lang="en"> 17986old worker processes might hog CPU after reconfiguration if they was run 17987under Linux OpenVZ. 17988</para> 17989</change> 17990 17991<change type="feature"> 17992<para lang="ru"> 17993директива min_delete_depth. 17994</para> 17995<para lang="en"> 17996the "min_delete_depth" directive. 17997</para> 17998</change> 17999 18000<change type="bugfix"> 18001<para lang="ru"> 18002методы COPY и MOVE не работали с одиночными файлами. 18003</para> 18004<para lang="en"> 18005the COPY and MOVE methods did not work with single files. 18006</para> 18007</change> 18008 18009<change type="bugfix"> 18010<para lang="ru"> 18011модуль ngx_http_gzip_static_module не позволял работать модулю 18012ngx_http_dav_module; 18013ошибка появилась в 0.6.23. 18014</para> 18015<para lang="en"> 18016the ngx_http_gzip_static_module did not allow the ngx_http_dav_module to work; 18017the bug had appeared in 0.6.23. 18018</para> 18019</change> 18020 18021<change type="bugfix"> 18022<para lang="ru"> 18023утечки сокетов в режиме HTTPS при использовании отложенного accept'а.<br/> 18024Спасибо Ben Maurer. 18025</para> 18026<para lang="en"> 18027socket leak in HTTPS mode if deferred accept was used.<br/> 18028Thanks to Ben Maurer. 18029</para> 18030</change> 18031 18032<change type="bugfix"> 18033<para lang="ru"> 18034nginx не собирался без библиотеки PCRE; 18035ошибка появилась в 0.6.23. 18036</para> 18037<para lang="en"> 18038nginx could not be built without PCRE library; 18039the bug had appeared in 0.6.23. 18040</para> 18041</change> 18042 18043</changes> 18044 18045<changes ver="0.6.24" date="2007-12-27"> 18046 18047<change type="bugfix"> 18048<para lang="ru"> 18049при использовании HTTPS в рабочем процессе мог произойти segmentation fault; 18050ошибка появилась в 0.6.23. 18051</para> 18052<para lang="en"> 18053a segmentation fault might occur in worker process if HTTPS was used; 18054the bug had appeared in 0.6.23. 18055</para> 18056</change> 18057 18058</changes> 18059 18060 18061<changes ver="0.6.23" date="2007-12-27"> 18062 18063<change type="change"> 18064<para lang="ru"> 18065параметр "off" в директиве ssl_session_cache; 18066теперь этот параметр используется по умолчанию. 18067</para> 18068<para lang="en"> 18069the "off" parameter in the "ssl_session_cache" directive; 18070now this is default parameter. 18071</para> 18072</change> 18073 18074<change type="change"> 18075<para lang="ru"> 18076директива open_file_cache_retest переименована в open_file_cache_valid. 18077</para> 18078<para lang="en"> 18079the "open_file_cache_retest" directive was renamed 18080to the "open_file_cache_valid". 18081</para> 18082</change> 18083 18084<change type="feature"> 18085<para lang="ru"> 18086директива open_file_cache_min_uses. 18087</para> 18088<para lang="en"> 18089the "open_file_cache_min_uses" directive. 18090</para> 18091</change> 18092 18093<change type="feature"> 18094<para lang="ru"> 18095модуль ngx_http_gzip_static_module. 18096</para> 18097<para lang="en"> 18098the ngx_http_gzip_static_module. 18099</para> 18100</change> 18101 18102<change type="feature"> 18103<para lang="ru"> 18104директива gzip_disable. 18105</para> 18106<para lang="en"> 18107the "gzip_disable" directive. 18108</para> 18109</change> 18110 18111<change type="feature"> 18112<para lang="ru"> 18113директиву memcached_pass можно использовать внутри блока if. 18114</para> 18115<para lang="en"> 18116the "memcached_pass" directive may be used inside the "if" block. 18117</para> 18118</change> 18119 18120<change type="bugfix"> 18121<para lang="ru"> 18122если внутри одного location'а использовались директивы "memcached_pass" и "if", 18123то в рабочем процессе происходил segmentation fault. 18124</para> 18125<para lang="en"> 18126a segmentation fault occurred in worker process, 18127if the "memcached_pass" and "if" directives were used in the same location. 18128</para> 18129</change> 18130 18131<change type="bugfix"> 18132<para lang="ru"> 18133если при использовании директивы satisfy_any on" были заданы директивы 18134не всех модулей доступа, то заданные директивы не проверялись. 18135</para> 18136<para lang="en"> 18137if a "satisfy_any on" directive was used and not all access and auth modules 18138directives were set, then other given access and auth directives 18139were not tested; 18140</para> 18141</change> 18142 18143<change type="bugfix"> 18144<para lang="ru"> 18145параметры, заданные регулярным выражением в директиве valid_referers, 18146не наследовалась с предыдущего уровня. 18147</para> 18148<para lang="en"> 18149regex parameters in a "valid_referers" directive were not inherited 18150from previous level. 18151</para> 18152</change> 18153 18154<change type="bugfix"> 18155<para lang="ru"> 18156директива post_action не работала, если запрос завершался с кодом 499. 18157</para> 18158<para lang="en"> 18159a "post_action" directive did run if a request was completed 18160with 499 status code. 18161</para> 18162</change> 18163 18164<change type="bugfix"> 18165<para lang="ru"> 18166оптимизация использования 16K буфера для SSL-соединения.<br/> 18167Спасибо Ben Maurer. 18168</para> 18169<para lang="en"> 18170optimization of 16K buffer usage in a SSL connection.<br/> 18171Thanks to Ben Maurer. 18172</para> 18173</change> 18174 18175<change type="bugfix"> 18176<para lang="ru"> 18177STARTTLS в режиме SMTP не работал.<br/> 18178Спасибо Олегу Мотиенко. 18179</para> 18180<para lang="en"> 18181the STARTTLS in SMTP mode did not work.<br/> 18182Thanks to Oleg Motienko. 18183</para> 18184</change> 18185 18186<change type="bugfix"> 18187<para lang="ru"> 18188при использовании HTTPS запросы могли завершаться с ошибкой "bad write retry"; 18189ошибка появилась в 0.5.13. 18190</para> 18191<para lang="en"> 18192in HTTPS mode requests might fail with the "bad write retry" error; 18193the bug had appeared in 0.5.13. 18194</para> 18195</change> 18196 18197</changes> 18198 18199 18200<changes ver="0.6.22" date="2007-12-19"> 18201 18202<change type="change"> 18203<para lang="ru"> 18204теперь все методы модуля ngx_http_perl_module 18205возвращают значения, скопированные в память, выделенную perl'ом. 18206</para> 18207<para lang="en"> 18208now all ngx_http_perl_module methods return values copied to perl's 18209allocated memory. 18210</para> 18211</change> 18212 18213<change type="bugfix"> 18214<para lang="ru"> 18215если nginx был собран с модулем ngx_http_perl_module, 18216использовался perl до версии 5.8.6 и perl поддерживал потоки, 18217то во время переконфигурации основной процесс аварийно выходил; 18218ошибка появилась в 0.5.9.<br/> 18219Спасибо Борису Жмурову. 18220</para> 18221<para lang="en"> 18222if nginx was built with ngx_http_perl_module, 18223the perl before 5.8.6 was used, and perl supported threads, 18224then during reconfiguration the master process aborted; 18225the bug had appeared in 0.5.9.<br/> 18226Thanks to Boris Zhmurov. 18227</para> 18228</change> 18229 18230<change type="bugfix"> 18231<para lang="ru"> 18232в методы модуля ngx_http_perl_module 18233могли передаваться неверные результаты выделения в регулярных выражениях. 18234</para> 18235<para lang="en"> 18236the ngx_http_perl_module methods may get invalid values of the regex captures. 18237</para> 18238</change> 18239 18240<change type="bugfix"> 18241<para lang="ru"> 18242если метод $r->has_request_body() вызывался для запроса, 18243у которого небольшое тело запроса было уже полностью получено, 18244то в рабочем процессе происходил segmentation fault. 18245</para> 18246<para lang="en"> 18247a segmentation fault occurred in worker process, 18248if the $r->has_request_body() method was called for a request 18249whose small request body was already received. 18250</para> 18251</change> 18252 18253<change type="bugfix"> 18254<para lang="ru"> 18255large_client_header_buffers не освобождались перед переходом в состояние 18256keep-alive.<br/> 18257Спасибо Олександру Штепе. 18258</para> 18259<para lang="en"> 18260large_client_header_buffers did not freed before going to keep-alive state.<br/> 18261Thanks to Olexander Shtepa. 18262</para> 18263</change> 18264 18265<change type="bugfix"> 18266<para lang="ru"> 18267в переменной $upstream_addr не записывался последний адрес; 18268ошибка появилась в 0.6.18. 18269</para> 18270<para lang="en"> 18271the last address was missed in the $upstream_addr variable; 18272the bug had appeared in 0.6.18. 18273</para> 18274</change> 18275 18276<change type="bugfix"> 18277<para lang="ru"> 18278директива fastcgi_catch_stderr не возвращала ошибку; 18279теперь она возвращает ошибку 502, которую можно направить на следующий сервер 18280с помощью "fastcgi_next_upstream invalid_header". 18281</para> 18282<para lang="en"> 18283the "fastcgi_catch_stderr" directive did return error code; 18284now it returns 502 code, that can be rerouted to a next server using 18285the "fastcgi_next_upstream invalid_header" directive. 18286</para> 18287</change> 18288 18289<change type="bugfix"> 18290<para lang="ru"> 18291при использовании директивы fastcgi_catch_stderr 18292в основном процессе происходил segmentation fault; 18293ошибка появилась в 0.6.10.<br/> 18294Спасибо Manlio Perillo. 18295</para> 18296<para lang="en"> 18297a segmentation fault occurred in master process 18298if the "fastcgi_catch_stderr" directive was used; 18299the bug had appeared in 0.6.10.<br/> 18300Thanks to Manlio Perillo. 18301</para> 18302</change> 18303 18304</changes> 18305 18306 18307<changes ver="0.6.21" date="2007-12-03"> 18308 18309<change type="change"> 18310<para lang="ru"> 18311если в значениях переменных директивы proxy_pass используются 18312только IP-адреса, то указывать resolver не нужно. 18313</para> 18314<para lang="en"> 18315if variable values used in a "proxy_pass" directive contain IP-addresses only, 18316then a "resolver" directive is not mandatory. 18317</para> 18318</change> 18319 18320<change type="bugfix"> 18321<para lang="ru"> 18322при использовании директивы proxy_pass c URI-частью 18323в рабочем процессе мог произойти segmentation fault; 18324ошибка появилась в 0.6.19. 18325</para> 18326<para lang="en"> 18327a segmentation fault might occur in worker process 18328if a "proxy_pass" directive with URI-part was used; 18329the bug had appeared in 0.6.19. 18330</para> 18331</change> 18332 18333<change type="bugfix"> 18334<para lang="ru"> 18335если resolver использовался на платформах, не поддерживающих метод kqueue, 18336то nginx выдавал alert "name is out of response".<br/> 18337Спасибо Андрею Нигматулину. 18338</para> 18339<para lang="en"> 18340if resolver was used on platform that does not support kqueue, 18341then nginx issued an alert "name is out of response".<br/> 18342Thanks to Andrei Nigmatulin. 18343</para> 18344</change> 18345 18346<change type="bugfix"> 18347<para lang="ru"> 18348При использовании переменной $server_protocol в FastCGI-параметрах 18349и запросе, длина которого была близка к значению директивы 18350client_header_buffer_size, 18351nginx выдавал alert "fastcgi: the request record is too big". 18352</para> 18353<para lang="en"> 18354if the $server_protocol was used in FastCGI parameters 18355and a request line length was near to the "client_header_buffer_size" 18356directive value, 18357then nginx issued an alert "fastcgi: the request record is too big". 18358</para> 18359</change> 18360 18361<change type="bugfix"> 18362<para lang="ru"> 18363при обычном запросе версии HTTP/0.9 к HTTPS серверу nginx возвращал 18364обычный ответ. 18365</para> 18366<para lang="en"> 18367if a plain text HTTP/0.9 version request was made to HTTPS server, 18368then nginx returned usual response. 18369</para> 18370</change> 18371 18372</changes> 18373 18374 18375<changes ver="0.6.20" date="2007-11-28"> 18376 18377<change type="bugfix"> 18378<para lang="ru"> 18379при использовании директивы proxy_pass c URI-частью 18380в рабочем процессе мог произойти segmentation fault; 18381ошибка появилась в 0.6.19. 18382</para> 18383<para lang="en"> 18384a segmentation fault might occur in worker process 18385if a "proxy_pass" directive with URI-part was used; 18386the bug had appeared in 0.6.19. 18387</para> 18388</change> 18389 18390</changes> 18391 18392 18393<changes ver="0.6.19" date="2007-11-27"> 18394 18395<change type="bugfix"> 18396<para lang="ru"> 18397версия 0.6.18 не собиралась. 18398</para> 18399<para lang="en"> 18400the 0.6.18 version could not be built. 18401</para> 18402</change> 18403 18404</changes> 18405 18406<changes ver="0.6.18" date="2007-11-27"> 18407 18408<change type="change"> 18409<para lang="ru"> 18410теперь модуль ngx_http_userid_module в поле куки с номером процесса 18411добавляет микросекунды на время старта. 18412</para> 18413<para lang="en"> 18414now the ngx_http_userid_module adds start time microseconds 18415to the cookie field contains a pid value. 18416</para> 18417</change> 18418 18419<change type="change"> 18420<para lang="ru"> 18421в error_log теперь записывается полная строка запроса вместо только URI. 18422</para> 18423<para lang="en"> 18424now the full request line instead of URI only is written to error_log. 18425</para> 18426</change> 18427 18428<change type="feature"> 18429<para lang="ru"> 18430директива proxy_pass поддерживает переменные. 18431</para> 18432<para lang="en"> 18433variables support in the "proxy_pass" directive. 18434</para> 18435</change> 18436 18437<change type="feature"> 18438<para lang="ru"> 18439директивы resolver и resolver_timeout. 18440</para> 18441<para lang="en"> 18442the "resolver" and "resolver_timeout" directives. 18443</para> 18444</change> 18445 18446<change type="feature"> 18447<para lang="ru"> 18448теперь директива "add_header last-modified ''" удаляет в заголовке ответа 18449строку "Last-Modified". 18450</para> 18451<para lang="en"> 18452now the directive "add_header last-modified ''" deletes a "Last-Modified" 18453response header line. 18454</para> 18455</change> 18456 18457<change type="bugfix"> 18458<para lang="ru"> 18459директива limit_rate не позволяла передавать на полной скорости, 18460даже если был указан очень большой лимит. 18461</para> 18462<para lang="en"> 18463the "limit_rate" directive did not allow to use full throughput, 18464even if limit value was very high. 18465</para> 18466</change> 18467 18468</changes> 18469 18470 18471<changes ver="0.6.17" date="2007-11-15"> 18472 18473<change type="feature"> 18474<para lang="ru"> 18475поддержка строки "If-Range" в заголовке запроса.<br/> 18476Спасибо Александру Инюхину. 18477</para> 18478<para lang="en"> 18479the "If-Range" request header line support.<br/> 18480Thanks to Alexander V. Inyukhin. 18481</para> 18482</change> 18483 18484<change type="bugfix"> 18485<para lang="ru"> 18486при использовании директивы msie_refresh повторно экранировались 18487уже экранированные символы; 18488ошибка появилась в 0.6.4. 18489</para> 18490<para lang="en"> 18491URL double escaping in a redirect of the "msie_refresh" directive; 18492the bug had appeared in 0.6.4. 18493</para> 18494</change> 18495 18496<change type="bugfix"> 18497<para lang="ru"> 18498директива autoindex не работала при использовании "alias /". 18499</para> 18500<para lang="en"> 18501the "autoindex" directive did not work with the "alias /" directive. 18502</para> 18503</change> 18504 18505<change type="bugfix"> 18506<para lang="ru"> 18507при использовании подзапросов 18508в рабочем процессе мог произойти segmentation fault. 18509</para> 18510<para lang="en"> 18511a segmentation fault might occur in worker process if subrequests were used. 18512</para> 18513</change> 18514 18515<change type="bugfix"> 18516<para lang="ru"> 18517при использовании SSL и gzip большие ответы могли передаваться не полностью. 18518</para> 18519<para lang="en"> 18520the big responses may be transferred truncated if SSL and gzip were used. 18521</para> 18522</change> 18523 18524<change type="bugfix"> 18525<para lang="ru"> 18526если ответ проксированного сервера был версии HTTP/0.9, 18527то переменная $status была равна 0. 18528</para> 18529<para lang="en"> 18530the $status variable was equal to 0 if a proxied server returned response 18531in HTTP/0.9 version. 18532</para> 18533</change> 18534 18535</changes> 18536 18537 18538<changes ver="0.6.16" date="2007-10-29"> 18539 18540<change type="change"> 18541<para lang="ru"> 18542теперь на Linux используется uname(2) вместо procfs.<br/> 18543Спасибо Илье Новикову. 18544</para> 18545<para lang="en"> 18546now the uname(2) is used on Linux instead of procfs.<br/> 18547Thanks to Ilya Novikov. 18548</para> 18549</change> 18550 18551<change type="bugfix"> 18552<para lang="ru"> 18553если в директиве error_page использовался символ "?", то он экранировался 18554при проксировании запроса; 18555ошибка появилась в 0.6.11. 18556</para> 18557<para lang="en"> 18558if the "?" character was in a "error_page" directive, then it was escaped 18559in a proxied request; 18560the bug had appeared in 0.6.11. 18561</para> 18562</change> 18563 18564<change type="bugfix"> 18565<para lang="ru"> 18566совместимость с mget. 18567</para> 18568<para lang="en"> 18569compatibility with mget. 18570</para> 18571</change> 18572 18573</changes> 18574 18575 18576<changes ver="0.6.15" date="2007-10-22"> 18577 18578<change type="feature"> 18579<para lang="ru"> 18580совместимость с Cygwin.<br/> 18581Спасибо Владимиру Кутакову. 18582</para> 18583<para lang="en"> 18584Cygwin compatibility.<br/> 18585Thanks to Vladimir Kutakov. 18586</para> 18587</change> 18588 18589<change type="feature"> 18590<para lang="ru"> 18591директива merge_slashes. 18592</para> 18593<para lang="en"> 18594the "merge_slashes" directive. 18595</para> 18596</change> 18597 18598<change type="feature"> 18599<para lang="ru"> 18600директива gzip_vary. 18601</para> 18602<para lang="en"> 18603the "gzip_vary" directive. 18604</para> 18605</change> 18606 18607<change type="feature"> 18608<para lang="ru"> 18609директива server_tokens. 18610</para> 18611<para lang="en"> 18612the "server_tokens" directive. 18613</para> 18614</change> 18615 18616<change type="bugfix"> 18617<para lang="ru"> 18618nginx не раскодировал URI в команде SSI include. 18619</para> 18620<para lang="en"> 18621nginx did not unescape URI in the "include" SSI command. 18622</para> 18623</change> 18624 18625<change type="bugfix"> 18626<para lang="ru"> 18627при использовании переменной в директивах charset или source_charset 18628на старте или во время переконфигурации происходил segmentation fault, 18629</para> 18630<para lang="en"> 18631the segmentation fault was occurred on start or while reconfiguration 18632if variable was used in the "charset" or "source_charset" directives. 18633</para> 18634</change> 18635 18636<change type="bugfix"> 18637<para lang="ru"> 18638nginx возвращал ошибку 400 на запросы вида 18639<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 18640Спасибо James Oakley. 18641</para> 18642<para lang="en"> 18643nginx returned the 400 response on requests like 18644<nobr>"GET http://www.domain.com HTTP/1.0"</nobr>.<br/> 18645Thanks to James Oakley. 18646</para> 18647</change> 18648 18649<change type="bugfix"> 18650<para lang="ru"> 18651после перенаправления запроса с телом запроса с помощью директивы 18652error_page nginx пытался снова прочитать тело запроса; 18653ошибка появилась в 0.6.7. 18654</para> 18655<para lang="en"> 18656if request with request body was redirected using the "error_page" directive, 18657then nginx tried to read the request body again; 18658the bug had appeared in 0.6.7. 18659</para> 18660</change> 18661 18662<change type="bugfix"> 18663<para lang="ru"> 18664в рабочем процессе происходил segmentation fault, если у сервера, 18665обрабатывающему запрос, не был явно определён server_name; 18666ошибка появилась в 0.6.7. 18667</para> 18668<para lang="en"> 18669a segmentation fault occurred in worker process 18670if no server_name was explicitly defined for server processing request; 18671the bug had appeared in 0.6.7. 18672</para> 18673</change> 18674 18675</changes> 18676 18677 18678<changes ver="0.6.14" date="2007-10-15"> 18679 18680<change type="change"> 18681<para lang="ru"> 18682теперь по умолчанию команда SSI echo использует кодирование entity. 18683</para> 18684<para lang="en"> 18685now by default the "echo" SSI command uses entity encoding. 18686</para> 18687</change> 18688 18689<change type="feature"> 18690<para lang="ru"> 18691параметр encoding в команде SSI echo. 18692</para> 18693<para lang="en"> 18694the "encoding" parameter in the "echo" SSI command. 18695</para> 18696</change> 18697 18698<change type="feature"> 18699<para lang="ru"> 18700директиву access_log можно использовать внутри блока limit_except. 18701</para> 18702<para lang="en"> 18703the "access_log" directive may be used inside the "limit_except" block. 18704</para> 18705</change> 18706 18707<change type="bugfix"> 18708<para lang="ru"> 18709если все сервера апстрима оказывались недоступными, 18710то до восстановления работоспособности 18711у всех серверов вес становился равным одному; 18712ошибка появилась в 0.6.6. 18713</para> 18714<para lang="en"> 18715if all upstream servers were failed, then all servers had got weight 18716the was equal one until servers became alive; 18717the bug had appeared in 0.6.6. 18718</para> 18719</change> 18720 18721<change type="bugfix"> 18722<para lang="ru"> 18723при использовании переменных $date_local и $date_gmt вне модуля 18724ngx_http_ssi_filter_module в рабочем процессе происходил segmentation fault. 18725</para> 18726<para lang="en"> 18727a segmentation fault occurred in worker process 18728if $date_local and $date_gmt were used outside the ngx_http_ssi_filter_module. 18729</para> 18730</change> 18731 18732<change type="bugfix"> 18733<para lang="ru"> 18734при использовании включённом отладочном логе 18735в рабочем процессе мог произойти segmentation fault.<br/> 18736Спасибо Андрею Нигматулину. 18737</para> 18738<para lang="en"> 18739a segmentation fault might occur in worker process 18740if debug log was enabled.<br/> 18741Thanks to Andrei Nigmatulin. 18742</para> 18743</change> 18744 18745<change type="bugfix"> 18746<para lang="ru"> 18747ngx_http_memcached_module не устанавливал $upstream_response_time.<br/> 18748Спасибо Максиму Дунину. 18749</para> 18750<para lang="en"> 18751ngx_http_memcached_module did not set $upstream_response_time.<br/> 18752Thanks to Maxim Dounin. 18753</para> 18754</change> 18755 18756<change type="bugfix"> 18757<para lang="ru"> 18758рабочий процесс мог зациклиться при использовании memcached. 18759</para> 18760<para lang="en"> 18761a worker process may got caught in an endless loop, if the memcached was used. 18762</para> 18763</change> 18764 18765<change type="bugfix"> 18766<para lang="ru"> 18767nginx распознавал параметры "close" и "keep-alive" в строке "Connection" 18768в заголовке запроса только, если они были в нижнем регистре; 18769ошибка появилась в 0.6.11. 18770</para> 18771<para lang="en"> 18772nginx supported low case only "close" and "keep-alive" values 18773in the "Connection" request header line; 18774the bug had appeared in 0.6.11. 18775</para> 18776</change> 18777 18778<change type="bugfix"> 18779<para lang="ru"> 18780sub_filter не работал с пустой строкой замены. 18781</para> 18782<para lang="en"> 18783sub_filter did not work with empty substitution. 18784</para> 18785</change> 18786 18787<change type="bugfix"> 18788<para lang="ru"> 18789в парсинге sub_filter. 18790</para> 18791<para lang="en"> 18792in sub_filter parsing. 18793</para> 18794</change> 18795 18796</changes> 18797 18798 18799<changes ver="0.6.13" date="2007-09-24"> 18800 18801<change type="bugfix"> 18802<para lang="ru"> 18803nginx не закрывал файл каталога для запроса HEAD, 18804если использовался autoindex<br/> 18805Спасибо Arkadiusz Patyk. 18806</para> 18807<para lang="en"> 18808nginx did not close directory file on HEAD request if autoindex was used.<br/> 18809Thanks to Arkadiusz Patyk. 18810</para> 18811</change> 18812 18813</changes> 18814 18815 18816<changes ver="0.6.12" date="2007-09-21"> 18817 18818<change type="change"> 18819<para lang="ru"> 18820почтовый прокси-сервер разделён на три модуля: pop3, imap и smtp. 18821</para> 18822<para lang="en"> 18823mail proxy was split on three modules: pop3, imap and smtp. 18824</para> 18825</change> 18826 18827<change type="feature"> 18828<para lang="ru"> 18829параметры конфигурации --without-mail_pop3_module, 18830--without-mail_imap_module и --without-mail_smtp_module. 18831</para> 18832<para lang="en"> 18833the --without-mail_pop3_module, --without-mail_imap_module, 18834and --without-mail_smtp_module configuration parameters. 18835</para> 18836</change> 18837 18838<change type="feature"> 18839<para lang="ru"> 18840директивы smtp_greeting_delay и smtp_client_buffer модуля ngx_mail_smtp_module. 18841</para> 18842<para lang="en"> 18843the "smtp_greeting_delay" and "smtp_client_buffer" directives 18844of the ngx_mail_smtp_module. 18845</para> 18846</change> 18847 18848<change type="bugfix"> 18849<para lang="ru"> 18850wildcard в конце имени сервера не работали; 18851ошибка появилась в 0.6.9. 18852</para> 18853<para lang="en"> 18854the trailing wildcards did not work; 18855the bug had appeared in 0.6.9. 18856</para> 18857</change> 18858 18859<change type="bugfix"> 18860<para lang="ru"> 18861при использовании разделяемой библиотеки PCRE, 18862расположенной в нестандартном месте, nginx не запускался на Solaris. 18863</para> 18864<para lang="en"> 18865nginx could not start on Solaris if the shared PCRE library located 18866in non-standard place was used. 18867</para> 18868</change> 18869 18870<change type="bugfix"> 18871<para lang="ru"> 18872директивы proxy_hide_header и fastcgi_hide_header не скрывали 18873строки заголовка ответа с именем больше 32 символов.<br/> 18874Спасибо Manlio Perillo. 18875</para> 18876<para lang="en"> 18877the "proxy_hide_header" and "fastcgi_hide_header" directives did not 18878hide response header lines whose name was longer than 32 characters.<br/> 18879Thanks to Manlio Perillo. 18880</para> 18881</change> 18882 18883</changes> 18884 18885 18886<changes ver="0.6.11" date="2007-09-11"> 18887 18888<change type="bugfix"> 18889<para lang="ru"> 18890счётчик активных соединений всегда рос при использовании почтового 18891прокси-сервера. 18892</para> 18893<para lang="en"> 18894active connection counter always increased if mail proxy was used. 18895</para> 18896</change> 18897 18898<change type="bugfix"> 18899<para lang="ru"> 18900если бэкенд возвращал только заголовок ответа при небуферизированном 18901проксировании, то nginx закрывал соединение с бэкендом по таймауту. 18902</para> 18903<para lang="en"> 18904if backend returned response header only using non-buffered proxy, 18905then nginx closed backend connection on timeout. 18906</para> 18907</change> 18908 18909<change type="bugfix"> 18910<para lang="ru"> 18911nginx не поддерживал несколько строк "Connection" в заголовке запроса. 18912</para> 18913<para lang="en"> 18914nginx did not support several "Connection" request header lines. 18915</para> 18916</change> 18917 18918<change type="bugfix"> 18919<para lang="ru"> 18920если в сервере апстрима был задан max_fails, то после первой же неудачной 18921попытки вес сервера навсегда становился равным одному; 18922ошибка появилась в 0.6.6. 18923</para> 18924<para lang="en"> 18925if the "max_fails" was set for upstream server, then after first 18926failure server weight was always one; 18927the bug had appeared in 0.6.6. 18928</para> 18929</change> 18930 18931</changes> 18932 18933 18934<changes ver="0.6.10" date="2007-09-03"> 18935 18936<change type="feature"> 18937<para lang="ru"> 18938директивы open_file_cache, open_file_cache_retest и open_file_cache_errors. 18939</para> 18940<para lang="en"> 18941the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" 18942directives. 18943</para> 18944</change> 18945 18946<change type="bugfix"> 18947<para lang="ru"> 18948утечки сокетов; 18949ошибка появилась в 0.6.7. 18950</para> 18951<para lang="en"> 18952socket leak; 18953the bug had appeared in 0.6.7. 18954</para> 18955</change> 18956 18957<change type="bugfix"> 18958<para lang="ru"> 18959В строку заголовка ответа "Content-Type", указанную в методе 18960$r->send_http_header(), не добавлялась кодировка, указанная в директиве charset. 18961</para> 18962<para lang="en"> 18963a charset set by the "charset" directive was not appended 18964to the "Content-Type" header set by $r->send_http_header(). 18965</para> 18966</change> 18967 18968<change type="bugfix"> 18969<para lang="ru"> 18970при использовании метода /dev/poll 18971в рабочем процессе мог произойти segmentation fault. 18972</para> 18973<para lang="en"> 18974a segmentation fault might occur in worker process 18975if /dev/poll method was used. 18976</para> 18977</change> 18978 18979</changes> 18980 18981 18982<changes ver="0.6.9" date="2007-08-28"> 18983 18984<change type="bugfix"> 18985<para lang="ru"> 18986рабочий процесс мог зациклиться при использовании протокола HTTPS; 18987ошибка появилась в 0.6.7. 18988</para> 18989<para lang="en"> 18990a worker process may got caught in an endless loop, 18991if the HTTPS protocol was used; 18992the bug had appeared in 0.6.7. 18993</para> 18994</change> 18995 18996<change type="bugfix"> 18997<para lang="ru"> 18998если сервер слушал на двух адресах или портах, то nginx не запускался 18999при использовании wildcard в конце имени сервера. 19000</para> 19001<para lang="en"> 19002if server listened on two addresses or ports and trailing wildcard was used, 19003then nginx did not run. 19004</para> 19005</change> 19006 19007<change type="bugfix"> 19008<para lang="ru"> 19009директива ip_hash могла неверно помечать сервера как нерабочие. 19010</para> 19011<para lang="en"> 19012the "ip_hash" directive might incorrectly mark servers as down. 19013</para> 19014</change> 19015 19016<change type="bugfix"> 19017<para lang="ru"> 19018nginx не собирался на amd64; 19019ошибка появилась в 0.6.8. 19020</para> 19021<para lang="en"> 19022nginx could not be built on amd64; 19023the bug had appeared in 0.6.8. 19024</para> 19025</change> 19026 19027</changes> 19028 19029 19030<changes ver="0.6.8" date="2007-08-20"> 19031 19032<change type="change"> 19033<para lang="ru"> 19034теперь nginx пытается установить директивы worker_priority, 19035worker_rlimit_nofile, worker_rlimit_core, worker_rlimit_sigpending 19036без привилегий root'а. 19037</para> 19038<para lang="en"> 19039now nginx tries to set the "worker_priority", "worker_rlimit_nofile", 19040"worker_rlimit_core", and "worker_rlimit_sigpending" without super-user 19041privileges. 19042</para> 19043</change> 19044 19045<change type="change"> 19046<para lang="ru"> 19047теперь nginx экранирует символы пробела и "%" при передаче запроса 19048серверу аутентификации почтового прокси-сервера. 19049</para> 19050<para lang="en"> 19051now nginx escapes space and "%" in request to a mail proxy authentication 19052server. 19053</para> 19054</change> 19055 19056<change type="change"> 19057<para lang="ru"> 19058теперь nginx экранирует символ "%" в переменной $memcached_key. 19059</para> 19060<para lang="en"> 19061now nginx escapes "%" in $memcached_key variable. 19062</para> 19063</change> 19064 19065<change type="bugfix"> 19066<para lang="ru"> 19067при указании относительного пути к конфигурационному файлу в качестве 19068параметра ключа -c nginx определял путь относительно конфигурационного префикса; 19069ошибка появилась в 0.6.6. 19070</para> 19071<para lang="en"> 19072nginx used path relative to configuration prefix for non-absolute 19073configuration file path specified in the "-c" key; 19074the bug had appeared in 0.6.6. 19075</para> 19076</change> 19077 19078<change type="bugfix"> 19079<para lang="ru"> 19080nginx не работал на FreeBSD/sparc64. 19081</para> 19082<para lang="en"> 19083nginx did not work on FreeBSD/sparc64. 19084</para> 19085</change> 19086 19087</changes> 19088 19089 19090<changes ver="0.6.7" date="2007-08-15"> 19091 19092<change type="change"> 19093<para lang="ru"> 19094теперь пути, указанные в директивах include, auth_basic_user_file, 19095perl_modules, ssl_certificate, ssl_certificate_key и 19096ssl_client_certificate, определяются относительно каталога конфигурационного 19097файла nginx.conf, а не относительно префикса. 19098</para> 19099<para lang="en"> 19100now the paths specified in the "include", "auth_basic_user_file", 19101"perl_modules", "ssl_certificate", "ssl_certificate_key", and 19102"ssl_client_certificate" directives are relative to directory of 19103nginx configuration file nginx.conf, but not to nginx prefix directory. 19104</para> 19105</change> 19106 19107<change type="change"> 19108<para lang="ru"> 19109параметр --sysconfdir=PATH в configure упразднён. 19110</para> 19111<para lang="en"> 19112the --sysconfdir=PATH option in configure was canceled. 19113</para> 19114</change> 19115 19116<change type="change"> 19117<para lang="ru"> 19118для обновления на лету версий 0.1.x создан специальный сценарий 19119<nobr>make upgrade1.</nobr> 19120</para> 19121<para lang="en"> 19122the special make target "upgrade1" was defined for online upgrade of 191230.1.x versions. 19124</para> 19125</change> 19126 19127<change type="feature"> 19128<para lang="ru"> 19129директивы server_name и valid_referers поддерживают регулярные выражения. 19130</para> 19131<para lang="en"> 19132the "server_name" and "valid_referers" directives support regular expressions. 19133</para> 19134</change> 19135 19136<change type="feature"> 19137<para lang="ru"> 19138директива server в блоке upstream поддерживает параметр backup. 19139</para> 19140<para lang="en"> 19141the "server" directive in the "upstream" context supports 19142the "backup" parameter. 19143</para> 19144</change> 19145 19146<change type="feature"> 19147<para lang="ru"> 19148модуль ngx_http_perl_module поддерживает метод $r->discard_request_body. 19149</para> 19150<para lang="en"> 19151the ngx_http_perl_module supports the $r->discard_request_body. 19152</para> 19153</change> 19154 19155<change type="feature"> 19156<para lang="ru"> 19157директива "add_header Last-Modified ..." меняет строку "Last-Modified" 19158в заголовке ответа. 19159</para> 19160<para lang="en"> 19161the "add_header Last-Modified ..." directive changes the "Last-Modified" 19162response header line. 19163</para> 19164</change> 19165 19166<change type="bugfix"> 19167<para lang="ru"> 19168если на запрос с телом возвращался ответ с кодом HTTP отличным от 200, 19169и после этого запроса соединение переходило в состояние keep-alive, 19170то на следующий запрос nginx возвращал 400. 19171</para> 19172<para lang="en"> 19173if a response different than 200 was returned to a request with body 19174and connection went to the keep-alive state after the request, then 19175nginx returned 400 for the next request. 19176</para> 19177</change> 19178 19179<change type="bugfix"> 19180<para lang="ru"> 19181если в директиве auth_http был задан неправильный адрес, то 19182в рабочем процессе происходил segmentation fault. 19183</para> 19184<para lang="en"> 19185a segmentation fault occurred in worker process 19186if invalid address was set in the "auth_http" directive. 19187</para> 19188</change> 19189 19190<change type="bugfix"> 19191<para lang="ru"> 19192теперь по умолчанию nginx использует значение 511 для listen backlog 19193на всех платформах, кроме FreeBSD.<br/> 19194Спасибо Jiang Hong. 19195</para> 19196<para lang="en"> 19197now nginx uses default listen backlog value 511 on all platforms 19198except FreeBSD.<br/> 19199Thanks to Jiang Hong. 19200</para> 19201</change> 19202 19203<change type="bugfix"> 19204<para lang="ru"> 19205рабочий процесс мог зациклиться, если server в блоке upstream был помечен 19206как down; 19207ошибка появилась в 0.6.6. 19208</para> 19209<para lang="en"> 19210a worker process may got caught in an endless loop, if a "server" inside 19211"upstream" block was marked as "down"; 19212the bug had appeared in 0.6.6. 19213</para> 19214</change> 19215 19216<change type="bugfix"> 19217<para lang="ru"> 19218sendfilev() в Solaris теперь не используется при передаче тела запроса 19219FastCGI-серверу через unix domain сокет. 19220</para> 19221<para lang="en"> 19222now Solaris sendfilev() is not used to transfer the client request body 19223to FastCGI-server via the unix domain socket. 19224</para> 19225</change> 19226 19227</changes> 19228 19229 19230<changes ver="0.6.6" date="2007-07-30"> 19231 19232<change type="feature"> 19233<para lang="ru"> 19234параметр --sysconfdir=PATH в configure. 19235</para> 19236<para lang="en"> 19237the --sysconfdir=PATH option in configure. 19238</para> 19239</change> 19240 19241<change type="feature"> 19242<para lang="ru"> 19243именованные location'ы. 19244</para> 19245<para lang="en"> 19246named locations. 19247</para> 19248</change> 19249 19250<change type="feature"> 19251<para lang="ru"> 19252переменную $args можно устанавливать с помощью set. 19253</para> 19254<para lang="en"> 19255the $args variable can be set with the "set" directive. 19256</para> 19257</change> 19258 19259<change type="feature"> 19260<para lang="ru"> 19261переменная $is_args. 19262</para> 19263<para lang="en"> 19264the $is_args variable. 19265</para> 19266</change> 19267 19268<change type="bugfix"> 19269<para lang="ru"> 19270равномерное распределение запросов к апстримам с большими весами. 19271</para> 19272<para lang="en"> 19273fair big weight upstream balancer. 19274</para> 19275</change> 19276 19277<change type="bugfix"> 19278<para lang="ru"> 19279если клиент в почтовом прокси-сервере закрывал соединение, 19280то nginx мог не закрывать соединение с бэкендом. 19281</para> 19282<para lang="en"> 19283if a client has closed connection to mail proxy 19284 then nginx might not close connection to backend. 19285</para> 19286</change> 19287 19288<change type="bugfix"> 19289<para lang="ru"> 19290при использовании одного хоста в качестве бэкендов для протоколов HTTP и HTTPS 19291без явного указания портов, nginx использовал только один порт—80 или 443. 19292</para> 19293<para lang="en"> 19294if the same host without specified port was used as backend for HTTP and HTTPS, 19295then nginx used only one port—80 or 443. 19296</para> 19297</change> 19298 19299<change type="bugfix"> 19300<para lang="ru"> 19301nginx не собирался на Solaris/amd64 Sun Studio 11 и более ранними версиями; 19302ошибка появилась в 0.6.4. 19303</para> 19304<para lang="en"> 19305fix building on Solaris/amd64 by Sun Studio 11 and early versions; 19306the bug had appeared in 0.6.4. 19307</para> 19308</change> 19309 19310</changes> 19311 19312 19313<changes ver="0.6.5" date="2007-07-23"> 19314 19315<change type="feature"> 19316<para lang="ru"> 19317переменная $nginx_version.<br/> 19318Спасибо Николаю Гречуху. 19319</para> 19320<para lang="en"> 19321$nginx_version variable.<br/> 19322Thanks to Nick S. Grechukh. 19323</para> 19324</change> 19325 19326<change type="feature"> 19327<para lang="ru"> 19328почтовый прокси-сервер поддерживает AUTHENTICATE в режиме IMAP.<br/> 19329Спасибо Максиму Дунину. 19330</para> 19331<para lang="en"> 19332the mail proxy supports AUTHENTICATE in IMAP mode.<br/> 19333Thanks to Maxim Dounin. 19334</para> 19335</change> 19336 19337<change type="feature"> 19338<para lang="ru"> 19339почтовый прокси-сервер поддерживает STARTTLS в режиме SMTP.<br/> 19340Спасибо Максиму Дунину. 19341</para> 19342<para lang="en"> 19343the mail proxy supports STARTTLS in SMTP mode.<br/> 19344Thanks to Maxim Dounin. 19345</para> 19346</change> 19347 19348<change type="bugfix"> 19349<para lang="ru"> 19350теперь nginx экранирует пробел в переменной $memcached_key. 19351</para> 19352<para lang="en"> 19353now nginx escapes space in $memcached_key variable. 19354</para> 19355</change> 19356 19357<change type="bugfix"> 19358<para lang="ru"> 19359nginx неправильно собирался Sun Studio на Solaris/amd64.<br/> 19360Спасибо Jiang Hong. 19361</para> 19362<para lang="en"> 19363nginx was incorrectly built by Sun Studio on Solaris/amd64.<br/> 19364Thanks to Jiang Hong. 19365</para> 19366</change> 19367 19368<change type="bugfix"> 19369<para lang="ru"> 19370незначительных потенциальных ошибок.<br/> 19371Спасибо Coverity's Scan. 19372</para> 19373<para lang="en"> 19374of minor potential bugs.<br/> 19375Thanks to Coverity's Scan. 19376</para> 19377</change> 19378 19379</changes> 19380 19381 19382<changes ver="0.6.4" date="2007-07-17"> 19383 19384<change type="security"> 19385<para lang="ru"> 19386при использовании директивы msie_refresh был возможен XSS.<br/> 19387Спасибо Максиму Богуку. 19388</para> 19389<para lang="en"> 19390the "msie_refresh" directive allowed XSS.<br/> 19391Thanks to Maxim Boguk. 19392</para> 19393</change> 19394 19395<change type="change"> 19396<para lang="ru"> 19397директивы proxy_store и fastcgi_store изменены. 19398</para> 19399<para lang="en"> 19400the "proxy_store" and "fastcgi_store" directives were changed. 19401</para> 19402</change> 19403 19404<change type="feature"> 19405<para lang="ru"> 19406директивы proxy_store_access и fastcgi_store_access. 19407</para> 19408<para lang="en"> 19409the "proxy_store_access" and "fastcgi_store_access" directives. 19410</para> 19411</change> 19412 19413<change type="bugfix"> 19414<para lang="ru"> 19415nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 19416Спасибо Андрею Нигматулину. 19417</para> 19418<para lang="en"> 19419nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 19420Thanks to Andrei Nigmatulin. 19421</para> 19422</change> 19423 19424<change type="workaround"> 19425<para lang="ru"> 19426обход ошибки в Sun Studio 12.<br/> 19427Спасибо Jiang Hong. 19428</para> 19429<para lang="en"> 19430for Sun Studio 12.<br/> 19431Thanks to Jiang Hong. 19432</para> 19433</change> 19434 19435</changes> 19436 19437 19438<changes ver="0.6.3" date="2007-07-12"> 19439 19440<change type="feature"> 19441<para lang="ru"> 19442директивы proxy_store и fastcgi_store. 19443</para> 19444<para lang="en"> 19445the "proxy_store" and "fastcgi_store" directives. 19446</para> 19447</change> 19448 19449<change type="bugfix"> 19450<para lang="ru"> 19451при использовании директивы auth_http_header 19452в рабочем процессе мог произойти segmentation fault.<br/> 19453Спасибо Максиму Дунину. 19454</para> 19455<para lang="en"> 19456a segmentation fault might occur in worker process 19457if the "auth_http_header" directive was used.<br/> 19458Thanks to Maxim Dounin. 19459</para> 19460</change> 19461 19462<change type="bugfix"> 19463<para lang="ru"> 19464если использовался метод аутентификации CRAM-MD5, но он не был разрешён, 19465то в рабочем процессе происходил segmentation fault. 19466</para> 19467<para lang="en"> 19468a segmentation fault occurred in worker process 19469if the CRAM-MD5 authentication method was used, but it was not enabled. 19470</para> 19471</change> 19472 19473<change type="bugfix"> 19474<para lang="ru"> 19475при использовании протокола HTTPS в директиве proxy_pass 19476в рабочем процессе мог произойти segmentation fault. 19477</para> 19478<para lang="en"> 19479a segmentation fault might occur in worker process when 19480the HTTPS protocol was used in the "proxy_pass" directive. 19481</para> 19482</change> 19483 19484<change type="bugfix"> 19485<para lang="ru"> 19486в рабочем процессе мог произойти segmentation fault, 19487если использовался метод eventport. 19488</para> 19489<para lang="en"> 19490a segmentation fault might occur in worker process 19491if the eventport method was used. 19492</para> 19493</change> 19494 19495<change type="bugfix"> 19496<para lang="ru"> 19497директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort не работали; 19498ошибка появилась в 0.5.13. 19499</para> 19500<para lang="en"> 19501the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives 19502did not work; 19503the bug had appeared in 0.5.13. 19504</para> 19505</change> 19506 19507</changes> 19508 19509 19510<changes ver="0.6.2" date="2007-07-09"> 19511 19512<change type="bugfix"> 19513<para lang="ru"> 19514если заголовок ответа был разделён в FastCGI-записях, то nginx передавал 19515клиенту мусор в таких заголовках. 19516</para> 19517<para lang="en"> 19518if the FastCGI header was split in records, 19519then nginx passed garbage in the header to a client. 19520</para> 19521</change> 19522 19523</changes> 19524 19525 19526<changes ver="0.6.1" date="2007-06-17"> 19527 19528<change type="bugfix"> 19529<para lang="ru"> 19530в парсинге SSI. 19531</para> 19532<para lang="en"> 19533in SSI parsing. 19534</para> 19535</change> 19536 19537<change type="bugfix"> 19538<para lang="ru"> 19539при использовании удалённого подзапроса в SSI последующий 19540подзапрос локального файла мог отдаваться клиенту в неверном порядке. 19541</para> 19542<para lang="en"> 19543if remote SSI subrequest was used, then posterior local file subrequest 19544might transferred to client in wrong order. 19545</para> 19546</change> 19547 19548<change type="bugfix"> 19549<para lang="ru"> 19550большие включения в SSI, сохранённые во временные файлы, 19551передавались не полностью. 19552</para> 19553<para lang="en"> 19554large SSI inclusions buffered in temporary files were truncated. 19555</para> 19556</change> 19557 19558<change type="bugfix"> 19559<para lang="ru"> 19560значение perl'овой переменной $$ модуля ngx_http_perl_module было равно 19561номеру главного процесса. 19562</para> 19563<para lang="en"> 19564the perl $$ variable value in ngx_http_perl_module was equal to the master 19565process identification number. 19566</para> 19567</change> 19568 19569</changes> 19570 19571 19572<changes ver="0.6.0" date="2007-06-14"> 19573 19574<change type="feature"> 19575<para lang="ru"> 19576директивы "server_name", "map", and "valid_referers" поддерживают 19577маски вида "www.example.*". 19578</para> 19579<para lang="en"> 19580the "server_name", "map", and "valid_referers" directives support 19581the "www.example.*" wildcards. 19582</para> 19583</change> 19584 19585</changes> 19586 19587 19588<changes ver="0.5.25" date="2007-06-11"> 19589 19590<change type="bugfix"> 19591<para lang="ru"> 19592nginx не собирался с параметром --without-http_rewrite_module; 19593ошибка появилась в 0.5.24. 19594</para> 19595<para lang="en"> 19596nginx could not be built with the --without-http_rewrite_module parameter; 19597the bug had appeared in 0.5.24. 19598</para> 19599</change> 19600 19601</changes> 19602 19603 19604<changes ver="0.5.24" date="2007-06-06"> 19605 19606<change type="security"> 19607<para lang="ru"> 19608директива ssl_verify_client не работала, если запрос выполнялся 19609по протоколу HTTP/0.9. 19610</para> 19611<para lang="en"> 19612the "ssl_verify_client" directive did not work if request was made 19613using HTTP/0.9. 19614</para> 19615</change> 19616 19617<change type="bugfix"> 19618<para lang="ru"> 19619при использовании сжатия часть ответа могла передаваться несжатой; 19620ошибка появилась в 0.5.23. 19621</para> 19622<para lang="en"> 19623a part of response body might be passed uncompressed if gzip was used; 19624the bug had appeared in 0.5.23. 19625</para> 19626</change> 19627 19628</changes> 19629 19630 19631<changes ver="0.5.23" date="2007-06-04"> 19632 19633<change type="feature"> 19634<para lang="ru"> 19635модуль ngx_http_ssl_module поддерживает расширение TLS Server Name Indication. 19636</para> 19637<para lang="en"> 19638the ngx_http_ssl_module supports Server Name Indication TLS extension. 19639</para> 19640</change> 19641 19642<change type="feature"> 19643<para lang="ru"> 19644директива fastcgi_catch_stderr.<br/> 19645Спасибо Николаю Гречуху, проект OWOX. 19646</para> 19647<para lang="en"> 19648the "fastcgi_catch_stderr" directive.<br/> 19649Thanks to Nick S. Grechukh, OWOX project. 19650</para> 19651</change> 19652 19653<change type="bugfix"> 19654<para lang="ru"> 19655на Линуксе в основном процессе происходил segmentation fault, 19656если два виртуальных сервера должны bind()ится к пересекающимся портам. 19657</para> 19658<para lang="en"> 19659a segmentation fault occurred in master process if 19660two virtual servers should bind() to the overlapping ports. 19661</para> 19662</change> 19663 19664<change type="bugfix"> 19665<para lang="ru"> 19666если nginx был собран с модулем ngx_http_perl_module и perl 19667поддерживал потоки, то во время второй переконфигурации 19668выдавались ошибки "panic: MUTEX_LOCK" и "perl_parse() failed". 19669</para> 19670<para lang="en"> 19671if nginx was built with ngx_http_perl_module and perl supported threads, 19672then during second reconfiguration the error messages 19673"panic: MUTEX_LOCK" and "perl_parse() failed" were issued. 19674</para> 19675</change> 19676 19677<change type="bugfix"> 19678<para lang="ru"> 19679в использовании протокола HTTPS в директиве proxy_pass. 19680</para> 19681<para lang="en"> 19682in the HTTPS protocol in the "proxy_pass" directive. 19683</para> 19684</change> 19685 19686</changes> 19687 19688 19689<changes ver="0.5.22" date="2007-05-29"> 19690 19691<change type="bugfix"> 19692<para lang="ru"> 19693большое тело запроса могло не передаваться бэкенду; 19694ошибка появилась в 0.5.21. 19695</para> 19696<para lang="en"> 19697a big request body might not be passed to backend; 19698the bug had appeared in 0.5.21. 19699</para> 19700</change> 19701 19702</changes> 19703 19704 19705<changes ver="0.5.21" date="2007-05-28"> 19706 19707<change type="bugfix"> 19708<para lang="ru"> 19709если внутри сервера описано больше примерно десяти location'ов, 19710то location'ы, заданные с помощью регулярного выражения, 19711могли выполняться не в том, порядке, в каком они описаны. 19712</para> 19713<para lang="en"> 19714if server has more than about ten locations, then regex locations 19715might be chosen not in that order as they were specified. 19716</para> 19717</change> 19718 19719<change type="bugfix"> 19720<para lang="ru"> 19721на 64-битной платформе рабочий процесс мог зациклиться, если 33-тий 19722по счёту или последующий бэкенд упал.<br/> 19723Спасибо Антону Поварову. 19724</para> 19725<para lang="en"> 19726a worker process may got caught in an endless loop on 64-bit platform, 19727if the 33-rd or next in succession backend has failed.<br/> 19728Thanks to Anton Povarov. 19729</para> 19730</change> 19731 19732<change type="bugfix"> 19733<para lang="ru"> 19734при использовании библиотеки PCRE на Solaris/sparc64 19735мог произойти bus error.<br/> 19736Спасибо Андрею Нигматулину. 19737</para> 19738<para lang="en"> 19739a bus error might occur on Solaris/sparc64 if the PCRE library was used.<br/> 19740Thanks to Andrei Nigmatulin. 19741</para> 19742</change> 19743 19744<change type="bugfix"> 19745<para lang="ru"> 19746в использовании протокола HTTPS в директиве proxy_pass. 19747</para> 19748<para lang="en"> 19749in the HTTPS protocol in the "proxy_pass" directive. 19750</para> 19751</change> 19752 19753</changes> 19754 19755 19756<changes ver="0.5.20" date="2007-05-07"> 19757 19758<change type="feature"> 19759<para lang="ru"> 19760директива sendfile_max_chunk. 19761</para> 19762<para lang="en"> 19763the "sendfile_max_chunk" directive. 19764</para> 19765</change> 19766 19767<change type="feature"> 19768<para lang="ru"> 19769переменные "$http_...", "$sent_http_..." и "$upstream_http_..." 19770можно менять директивой set. 19771</para> 19772<para lang="en"> 19773the "$http_...", "$sent_http_...", and "$upstream_http_..." variables 19774may be changed using the "set" directive. 19775</para> 19776</change> 19777 19778<change type="bugfix"> 19779<para lang="ru"> 19780при использовании SSI-команды 'if expr="$var = /"' 19781в рабочем процессе мог произойти segmentation fault. 19782</para> 19783<para lang="en"> 19784a segmentation fault might occur in worker process 19785if the SSI command 'if expr="$var = /"' was used. 19786</para> 19787</change> 19788 19789<change type="bugfix"> 19790<para lang="ru"> 19791завершающая строка multipart range ответа передавалась неверно.<br/> 19792Спасибо Evan Miller. 19793</para> 19794<para lang="en"> 19795trailing boundary of multipart range response was transferred incorrectly.<br/> 19796Thanks to Evan Miller. 19797</para> 19798</change> 19799 19800<change type="bugfix"> 19801<para lang="ru"> 19802nginx не работал на Solaris/sparc64, если был собран Sun Studio.<br/> 19803Спасибо Андрею Нигматулину. 19804</para> 19805<para lang="en"> 19806nginx did not work on Solaris/sparc64 if it was built by Sun Studio.<br/> 19807Thanks to Andrei Nigmatulin. 19808</para> 19809</change> 19810 19811<change type="bugfix"> 19812<para lang="ru"> 19813модуль ngx_http_perl_module не собирался make в Solaris.<br/> 19814Спасибо Андрею Нигматулину. 19815</para> 19816<para lang="en"> 19817the ngx_http_perl_module could not be built by Solaris make.<br/> 19818Thanks to Andrei Nigmatulin. 19819</para> 19820</change> 19821 19822</changes> 19823 19824 19825<changes ver="0.5.19" date="2007-04-24"> 19826 19827<change type="change"> 19828<para lang="ru"> 19829значение переменной $request_time теперь записывается с точностью 19830до миллисекунд. 19831</para> 19832<para lang="en"> 19833now the $request_time variable has millisecond precision. 19834</para> 19835</change> 19836 19837<change type="change"> 19838<para lang="ru"> 19839метод $r->rflush в модуле ngx_http_perl_module переименован в $r->flush. 19840</para> 19841<para lang="en"> 19842the method $r->rflush of ngx_http_perl_module was renamed to the $r->flush. 19843</para> 19844</change> 19845 19846<change type="feature"> 19847<para lang="ru"> 19848переменная $upstream_addr. 19849</para> 19850<para lang="en"> 19851the $upstream_addr variable. 19852</para> 19853</change> 19854 19855<change type="feature"> 19856<para lang="ru"> 19857директивы proxy_headers_hash_max_size и proxy_headers_hash_bucket_size.<br/> 19858Спасибо Володымыру Костырко. 19859</para> 19860<para lang="en"> 19861the "proxy_headers_hash_max_size" and "proxy_headers_hash_bucket_size" 19862directives.<br/> 19863Thanks to Volodymyr Kostyrko. 19864</para> 19865</change> 19866 19867<change type="bugfix"> 19868<para lang="ru"> 19869при использовании sendfile и limit_rate на 64-битных платформах 19870нельзя было передавать файлы больше 2G. 19871</para> 19872<para lang="en"> 19873the files more than 2G could not be transferred using sendfile and limit_rate 19874on 64-bit platforms. 19875</para> 19876</change> 19877 19878<change type="bugfix"> 19879<para lang="ru"> 19880при использовании sendfile на 64-битном Linux нельзя было передавать файлы 19881больше 2G. 19882</para> 19883<para lang="en"> 19884the files more than 2G could not be transferred using sendfile on 64-bit Linux. 19885</para> 19886</change> 19887 19888</changes> 19889 19890 19891<changes ver="0.5.18" date="2007-04-19"> 19892 19893<change type="feature"> 19894<para lang="ru"> 19895модуль ngx_http_sub_filter_module. 19896</para> 19897<para lang="en"> 19898the ngx_http_sub_filter_module. 19899</para> 19900</change> 19901 19902<change type="feature"> 19903<para lang="ru"> 19904переменные "$upstream_http_...". 19905</para> 19906<para lang="en"> 19907the "$upstream_http_..." variables. 19908</para> 19909</change> 19910 19911<change type="feature"> 19912<para lang="ru"> 19913теперь переменные $upstream_status и $upstream_response_time 19914содержат данные о всех обращениях к апстримам, сделанным до X-Accel-Redirect. 19915</para> 19916<para lang="en"> 19917now the $upstream_status and $upstream_response_time variables 19918keep data about all upstreams before X-Accel-Redirect. 19919</para> 19920</change> 19921 19922<change type="bugfix"> 19923<para lang="ru"> 19924если nginx был собран с модулем ngx_http_perl_module и perl 19925не поддерживал multiplicity, то после первой переконфигурации 19926и после получения любого сигнала 19927в основном процессе происходил segmentation fault; 19928ошибка появилась в 0.5.9. 19929</para> 19930<para lang="en"> 19931a segmentation fault occurred in master process 19932after first reconfiguration and receiving any signal 19933if nginx was built with ngx_http_perl_module and perl 19934did not support multiplicity; 19935the bug had appeared in 0.5.9. 19936</para> 19937</change> 19938 19939<change type="bugfix"> 19940<para lang="ru"> 19941если perl не поддерживал multiplicity, то после переконфигурации 19942перловый код не работал; 19943ошибка появилась в 0.3.38. 19944</para> 19945<para lang="en"> 19946if perl did not support multiplicity, then after reconfiguration 19947perl code did not work; 19948the bug had appeared in 0.3.38. 19949</para> 19950</change> 19951 19952</changes> 19953 19954 19955<changes ver="0.5.17" date="2007-04-02"> 19956 19957<change type="change"> 19958<para lang="ru"> 19959теперь nginx для метода TRACE всегда возвращает код 405. 19960</para> 19961<para lang="en"> 19962now nginx always returns the 405 status for the TRACE method. 19963</para> 19964</change> 19965 19966<change type="feature"> 19967<para lang="ru"> 19968теперь nginx поддерживает директиву include внутри блока types. 19969</para> 19970<para lang="en"> 19971now nginx supports the "include" directive inside the "types" block. 19972</para> 19973</change> 19974 19975<change type="bugfix"> 19976<para lang="ru"> 19977использование переменной $document_root в директиве root и alias 19978запрещено: оно вызывало рекурсивное переполнение стека. 19979</para> 19980<para lang="en"> 19981the $document_root variable usage in the "root" and "alias" directives 19982is disabled: this caused recursive stack overflow. 19983</para> 19984</change> 19985 19986<change type="bugfix"> 19987<para lang="ru"> 19988в использовании протокола HTTPS в директиве proxy_pass. 19989</para> 19990<para lang="en"> 19991in the HTTPS protocol in the "proxy_pass" directive. 19992</para> 19993</change> 19994 19995<change type="bugfix"> 19996<para lang="ru"> 19997в некоторых случаях некэшируемые переменные (такие, как $uri) 19998возвращали старое закэшированное значение. 19999</para> 20000<para lang="en"> 20001in some cases non-cacheable variables (such as $uri variable) 20002returned old cached value. 20003</para> 20004</change> 20005 20006</changes> 20007 20008 20009<changes ver="0.5.16" date="2007-03-26"> 20010 20011<change type="bugfix"> 20012<para lang="ru"> 20013в качестве ключа для хэша в директиве ip_hash не использовалась сеть 20014класса С.<br/> 20015Спасибо Павлу Ярковому. 20016</para> 20017<para lang="en"> 20018the C-class network was not used as hash key in the "ip_hash" directive.<br/> 20019Thanks to Pavel Yarkovoy. 20020</para> 20021</change> 20022 20023<change type="bugfix"> 20024<para lang="ru"> 20025если в строке "Content-Type" в заголовке ответа бэкенда был указан charset 20026и строка завершалась символом ";", 20027то в рабочем процессе мог произойти segmentation fault; 20028ошибка появилась в 0.3.50. 20029</para> 20030<para lang="en"> 20031a segmentation fault might occur in worker process 20032if a charset was set in the "Content-Type" header line and the line 20033has trailing ";"; 20034the bug had appeared in 0.3.50. 20035</para> 20036</change> 20037 20038<change type="bugfix"> 20039<para lang="ru"> 20040ошибки "[alert] zero size buf" при работе с FastCGI-сервером, если 20041тело запроса, записанное во временный файл, было кратно 32K. 20042</para> 20043<para lang="en"> 20044the "[alert] zero size buf" error when FastCGI server was used and 20045a request body written in a temporary file was multiple of 32K. 20046</para> 20047</change> 20048 20049<change type="bugfix"> 20050<para lang="ru"> 20051nginx не собирался на Solaris без параметра --with-debug; 20052ошибка появилась в 0.5.15. 20053</para> 20054<para lang="en"> 20055nginx could not be built on Solaris without the --with-debug option; 20056the bug had appeared in 0.5.15. 20057</para> 20058</change> 20059 20060</changes> 20061 20062 20063<changes ver="0.5.15" date="2007-03-19"> 20064 20065<change type="feature"> 20066<para lang="ru"> 20067почтовый прокси-сервер поддерживает аутентифицированное SMTP-проксирование и 20068директивы smtp_auth, smtp_capabilities и xclient.<br/> 20069Спасибо Антону Южанинову и Максиму Дунину. 20070</para> 20071<para lang="en"> 20072the mail proxy supports authenticated SMTP proxying and 20073the "smtp_auth", "smtp_capabilities", and "xclient" directives.<br/> 20074Thanks to Anton Yuzhaninov and Maxim Dounin. 20075</para> 20076</change> 20077 20078<change type="feature"> 20079<para lang="ru"> 20080теперь keep-alive соединения закрываются сразу же по получении сигнала 20081переконфигурации. 20082</para> 20083<para lang="en"> 20084now the keep-alive connections are closed just after receiving 20085the reconfiguration signal. 20086</para> 20087</change> 20088 20089<change type="change"> 20090<para lang="ru"> 20091директивы imap и auth переименованы соответственно в mail и pop3_auth. 20092</para> 20093<para lang="en"> 20094the "imap" and "auth" directives were renamed 20095to the "mail" and "pop3_auth" directives. 20096</para> 20097</change> 20098 20099<change type="bugfix"> 20100<para lang="ru"> 20101если использовался метод аутентификации CRAM-MD5 и не был разрешён метод APOP, 20102то в рабочем процессе происходил segmentation fault. 20103</para> 20104<para lang="en"> 20105a segmentation fault occurred in worker process 20106if the CRAM-MD5 authentication method was used 20107and the APOP method was disabled. 20108</para> 20109</change> 20110 20111<change type="bugfix"> 20112<para lang="ru"> 20113при использовании директивы starttls only в протоколе POP3 nginx 20114разрешал аутентификацию без перехода в режим SSL. 20115</para> 20116<para lang="en"> 20117if the "starttls only" directive was used in POP3 protocol, 20118then nginx allowed authentication without switching to the SSL mode. 20119</para> 20120</change> 20121 20122<change type="bugfix"> 20123<para lang="ru"> 20124рабочие процессы не выходили после переконфигурации и не переоткрывали логи, 20125если использовался метод eventport. 20126</para> 20127<para lang="en"> 20128worker processes did not exit after reconfiguration and 20129did not rotate logs if the eventport method was used. 20130</para> 20131</change> 20132 20133<change type="bugfix"> 20134<para lang="ru"> 20135при использовании директивы ip_hash рабочий процесс мог зациклиться. 20136</para> 20137<para lang="en"> 20138a worker process may got caught in an endless loop, 20139if the "ip_hash" directive was used. 20140</para> 20141</change> 20142 20143<change type="bugfix"> 20144<para lang="ru"> 20145теперь nginx не пишет в лог некоторые alert'ы, 20146если используются методы eventport или /dev/poll. 20147</para> 20148<para lang="en"> 20149now nginx does not log some alerts if eventport or /dev/poll methods are used. 20150</para> 20151</change> 20152 20153</changes> 20154 20155 20156<changes ver="0.5.14" date="2007-02-23"> 20157 20158<change type="bugfix"> 20159<para lang="ru"> 20160nginx игнорировал лишние закрывающие скобки "}" в конце 20161конфигурационного файла. 20162</para> 20163<para lang="en"> 20164nginx ignored superfluous closing "}" in the end of configuration file. 20165</para> 20166</change> 20167 20168</changes> 20169 20170 20171<changes ver="0.5.13" date="2007-02-19"> 20172 20173<change type="feature"> 20174<para lang="ru"> 20175методы COPY и MOVE. 20176</para> 20177<para lang="en"> 20178the COPY and MOVE methods. 20179</para> 20180</change> 20181 20182<change type="bugfix"> 20183<para lang="ru"> 20184модуль ngx_http_realip_module устанавливал мусор для запросов, 20185переданных по keep-alive соединению. 20186</para> 20187<para lang="en"> 20188the ngx_http_realip_module set garbage for requests passed via 20189keep-alive connection. 20190</para> 20191</change> 20192 20193<change type="bugfix"> 20194<para lang="ru"> 20195nginx не работал на 64-битном big-endian Linux.<br/> 20196Спасибо Андрею Нигматулину. 20197</para> 20198<para lang="en"> 20199nginx did not work on big-endian 64-bit Linux.<br/> 20200Thanks to Andrei Nigmatulin. 20201</para> 20202</change> 20203 20204<change type="bugfix"> 20205<para lang="ru"> 20206при получении слишком длинной команды IMAP/POP3-прокси теперь сразу 20207закрывает соединение, а не по таймауту. 20208</para> 20209<para lang="en"> 20210now when IMAP/POP3 proxy receives too long command it closes the connection 20211right away, but not after timeout. 20212</para> 20213</change> 20214 20215<change type="bugfix"> 20216<para lang="ru"> 20217если при использовании метода epoll клиент закрывал преждевременно 20218соединение со своей стороны, то nginx закрывал это соединение только 20219по истечении таймаута на передачу. 20220</para> 20221<para lang="en"> 20222if the "epoll" method was used and a client closed a connection prematurely, 20223then nginx closed the connection after a send timeout only. 20224</para> 20225</change> 20226 20227<change type="bugfix"> 20228<para lang="ru"> 20229nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 20230ошибка появилась в 0.5.8. 20231</para> 20232<para lang="en"> 20233nginx could not be built on platforms different from i386, amd64, sparc, 20234and ppc; 20235the bug had appeared in 0.5.8. 20236</para> 20237</change> 20238 20239</changes> 20240 20241 20242<changes ver="0.5.12" date="2007-02-12"> 20243 20244<change type="bugfix"> 20245<para lang="ru"> 20246nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 20247ошибка появилась в 0.5.8. 20248</para> 20249<para lang="en"> 20250nginx could not be built on platforms different from i386, amd64, sparc, 20251and ppc; 20252the bug had appeared in 0.5.8. 20253</para> 20254</change> 20255 20256<change type="bugfix"> 20257<para lang="ru"> 20258при использовании временных файлов в время работы с FastCGI-сервером 20259в рабочем процессе мог произойти segmentation fault; 20260ошибка появилась в 0.5.8. 20261</para> 20262<para lang="en"> 20263a segmentation fault might occur in worker process 20264if the temporary files were used while working with FastCGI server; 20265the bug had appeared in 0.5.8. 20266</para> 20267</change> 20268 20269<change type="bugfix"> 20270<para lang="ru"> 20271если переменная $fastcgi_script_name записывалась в лог, 20272то в рабочем процессе мог произойти segmentation fault. 20273</para> 20274<para lang="en"> 20275a segmentation fault might occur in worker process 20276if the $fastcgi_script_name variable was logged. 20277</para> 20278</change> 20279 20280<change type="bugfix"> 20281<para lang="ru"> 20282ngx_http_perl_module не собирался на Solaris. 20283</para> 20284<para lang="en"> 20285ngx_http_perl_module could not be built on Solaris. 20286</para> 20287</change> 20288 20289</changes> 20290 20291 20292<changes ver="0.5.11" date="2007-02-05"> 20293 20294<change type="feature"> 20295<para lang="ru"> 20296теперь configure определяет библиотеку PCRE в MacPorts.<br/> 20297Спасибо Chris McGrath. 20298</para> 20299<para lang="en"> 20300now configure detects system PCRE library in MacPorts.<br/> 20301Thanks to Chris McGrath. 20302</para> 20303</change> 20304 20305<change type="bugfix"> 20306<para lang="ru"> 20307ответ был неверным, если запрашивалось несколько диапазонов; 20308ошибка появилась в 0.5.6. 20309</para> 20310<para lang="en"> 20311the response was incorrect if several ranges were requested; 20312the bug had appeared in 0.5.6. 20313</para> 20314</change> 20315 20316<change type="bugfix"> 20317<para lang="ru"> 20318директива create_full_put_path не могла создавать промежуточные каталоги, 20319если не была установлена директива dav_access.<br/> 20320Спасибо Evan Miller. 20321</para> 20322<para lang="en"> 20323the "create_full_put_path" directive could not create the intermediate 20324directories if no "dav_access" directive was set.<br/> 20325Thanks to Evan Miller. 20326</para> 20327</change> 20328 20329<change type="bugfix"> 20330<para lang="ru"> 20331вместо кодов ошибок "400" и "408" в access_log мог записываться код "0". 20332</para> 20333<para lang="en"> 20334the "0" response code might be logged in the access_log instead of 20335the "400" and "408" error codes. 20336</para> 20337</change> 20338 20339<change type="bugfix"> 20340<para lang="ru"> 20341при сборке с оптимизацией -O2 в рабочем процессе мог произойти 20342segmentation fault. 20343</para> 20344<para lang="en"> 20345a segmentation fault might occur in worker process 20346if nginx was built with -O2 optimization. 20347</para> 20348</change> 20349 20350</changes> 20351 20352 20353<changes ver="0.5.10" date="2007-01-26"> 20354 20355<change type="bugfix"> 20356<para lang="ru"> 20357во время обновления исполняемого файла новый процесс не наследовал 20358слушающие сокеты; 20359ошибка появилась в 0.5.9. 20360</para> 20361<para lang="en"> 20362while online executable file upgrade the new master process did not 20363inherit the listening sockets; 20364the bug had appeared in 0.5.9. 20365</para> 20366</change> 20367 20368<change type="bugfix"> 20369<para lang="ru"> 20370при сборке с оптимизацией -O2 в рабочем процессе мог произойти 20371segmentation fault; 20372ошибка появилась в 0.5.1. 20373</para> 20374<para lang="en"> 20375a segmentation fault might occur in worker process 20376if nginx was built with -O2 optimization; 20377the bug had appeared in 0.5.1. 20378</para> 20379</change> 20380 20381</changes> 20382 20383 20384<changes ver="0.5.9" date="2007-01-25"> 20385 20386<change type="change"> 20387<para lang="ru"> 20388модуль ngx_http_memcached_module теперь в качестве ключа использует 20389значение переменной $memcached_key. 20390</para> 20391<para lang="en"> 20392now the ngx_http_memcached_module uses the $memcached_key variable value 20393as a key. 20394</para> 20395</change> 20396 20397<change type="feature"> 20398<para lang="ru"> 20399переменная $memcached_key. 20400</para> 20401<para lang="en"> 20402the $memcached_key variable. 20403</para> 20404</change> 20405 20406<change type="feature"> 20407<para lang="ru"> 20408параметр clean в директиве client_body_in_file_only. 20409</para> 20410<para lang="en"> 20411the "clean" parameter in the "client_body_in_file_only" directive. 20412</para> 20413</change> 20414 20415<change type="feature"> 20416<para lang="ru"> 20417директива env. 20418</para> 20419<para lang="en"> 20420the "env" directive. 20421</para> 20422</change> 20423 20424<change type="feature"> 20425<para lang="ru"> 20426директива sendfile работает внутри блока if. 20427</para> 20428<para lang="en"> 20429the "sendfile" directive is available inside the "if" block. 20430</para> 20431</change> 20432 20433<change type="feature"> 20434<para lang="ru"> 20435теперь при ошибке записи в access_log nginx записывает сообщение в error_log, 20436но не чаще одного раза в минуту. 20437</para> 20438<para lang="en"> 20439now on failure of the writing to access nginx logs a message to error_log, 20440but not more often than once a minute. 20441</para> 20442</change> 20443 20444<change type="bugfix"> 20445<para lang="ru"> 20446директива "access_log off" не всегда запрещала запись в лог. 20447</para> 20448<para lang="en"> 20449the "access_log off" directive did not always turn off the logging. 20450</para> 20451</change> 20452 20453</changes> 20454 20455 20456<changes ver="0.5.8" date="2007-01-19"> 20457 20458<change type="bugfix"> 20459<para lang="ru"> 20460если использовалась директива <nobr>"client_body_in_file_only on"</nobr> 20461и тело запроса было небольшое, то мог произойти segmentation fault. 20462</para> 20463<para lang="en"> 20464a segmentation fault might occur if 20465<nobr>"client_body_in_file_only on"</nobr> was used 20466and a request body was small. 20467</para> 20468</change> 20469 20470<change type="bugfix"> 20471<para lang="ru"> 20472происходил segmentation fault, если использовались директивы 20473<nobr>"client_body_in_file_only on"</nobr> 20474и <nobr>"proxy_pass_request_body off"</nobr> 20475или <nobr>"fastcgi_pass_request_body off"</nobr>, 20476и делался переход к следующему бэкенду. 20477</para> 20478<para lang="en"> 20479a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 20480and <nobr>"proxy_pass_request_body off"</nobr> 20481or <nobr>"fastcgi_pass_request_body off"</nobr> 20482directives were used, and nginx switched to a next upstream. 20483</para> 20484</change> 20485 20486<change type="bugfix"> 20487<para lang="ru"> 20488если при использовании директивы "proxy_buffering off" соединение с клиентом 20489было неактивно, то оно закрывалось по таймауту, заданному директивой 20490send_timeout; 20491ошибка появилась в 0.4.7. 20492</para> 20493<para lang="en"> 20494if the "proxy_buffering off" directive was used and a client connection 20495was non-active, then the connection was closed after send timeout; 20496the bug had appeared in 0.4.7. 20497</para> 20498</change> 20499 20500<change type="bugfix"> 20501<para lang="ru"> 20502если при использовании метода epoll клиент закрывал преждевременно 20503соединение со своей стороны, то nginx закрывал это соединение только 20504по истечении таймаута на передачу. 20505</para> 20506<para lang="en"> 20507if the "epoll" method was used and a client closed a connection prematurely, 20508then nginx closed the connection after a send timeout only. 20509</para> 20510</change> 20511 20512<change type="bugfix"> 20513<para lang="ru"> 20514ошибки "[alert] zero size buf" при работе с FastCGI-сервером. 20515</para> 20516<para lang="en"> 20517the "[alert] zero size buf" error when FastCGI server was used. 20518</para> 20519</change> 20520 20521<change> 20522<para lang="ru"> 20523Исправление ошибок в директиве limit_zone. 20524</para> 20525<para lang="en"> 20526Bugfixes in the "limit_zone" directive. 20527</para> 20528</change> 20529 20530</changes> 20531 20532 20533<changes ver="0.5.7" date="2007-01-15"> 20534 20535<change type="feature"> 20536<para lang="ru"> 20537оптимизация использования памяти в ssl_session_cache. 20538</para> 20539<para lang="en"> 20540the ssl_session_cache storage optimization. 20541</para> 20542</change> 20543 20544<change> 20545<para lang="ru"> 20546Исправление ошибок в директивах ssl_session_cache и limit_zone. 20547</para> 20548<para lang="en"> 20549Bugfixes in the "ssl_session_cache" and "limit_zone" directives. 20550</para> 20551</change> 20552 20553<change type="bugfix"> 20554<para lang="ru"> 20555на старте или во время переконфигурации происходил segmentation fault, 20556если директивы ssl_session_cache или limit_zone использовались 20557на 64-битных платформах. 20558</para> 20559<para lang="en"> 20560the segmentation fault was occurred on start or while reconfiguration 20561if the "ssl_session_cache" or "limit_zone" directives were used 20562on 64-bit platforms. 20563</para> 20564</change> 20565 20566<change type="bugfix"> 20567<para lang="ru"> 20568при использовании директив add_before_body или add_after_body происходил 20569segmentation fault, если в заголовке ответа нет строки "Content-Type". 20570</para> 20571<para lang="en"> 20572a segmentation fault occurred if the "add_before_body" or "add_after_body" 20573directives were used and there was no "Content-Type" header line in response. 20574</para> 20575</change> 20576 20577<change type="bugfix"> 20578<para lang="ru"> 20579библиотека OpenSSL всегда собиралась с поддержкой потоков.<br/> 20580Спасибо Дену Иванову. 20581</para> 20582<para lang="en"> 20583the OpenSSL library was always built with the threads support.<br/> 20584Thanks to Den Ivanov. 20585</para> 20586</change> 20587 20588<change type="bugfix"> 20589<para lang="ru"> 20590совместимость библиотеки PCRE-6.5+ и компилятора icc. 20591</para> 20592<para lang="en"> 20593the PCRE-6.5+ library and the icc compiler compatibility. 20594</para> 20595</change> 20596 20597</changes> 20598 20599 20600<changes ver="0.5.6" date="2007-01-09"> 20601 20602<change type="change"> 20603<para lang="ru"> 20604теперь модуль ngx_http_index_module игнорирует все методы, 20605кроме GET, HEAD и POST. 20606</para> 20607<para lang="en"> 20608now the ngx_http_index_module ignores all methods except the GET, HEAD, and 20609POST methods. 20610</para> 20611</change> 20612 20613<change type="feature"> 20614<para lang="ru"> 20615модуль ngx_http_limit_zone_module. 20616</para> 20617<para lang="en"> 20618the ngx_http_limit_zone_module. 20619</para> 20620</change> 20621 20622<change type="feature"> 20623<para lang="ru"> 20624переменная $binary_remote_addr. 20625</para> 20626<para lang="en"> 20627the $binary_remote_addr variable. 20628</para> 20629</change> 20630 20631<change type="feature"> 20632<para lang="ru"> 20633директивы ssl_session_cache модулей ngx_http_ssl_module и ngx_imap_ssl_module. 20634</para> 20635<para lang="en"> 20636the "ssl_session_cache" directives 20637of the ngx_http_ssl_module and ngx_imap_ssl_module. 20638</para> 20639</change> 20640 20641<change type="feature"> 20642<para lang="ru"> 20643метод DELETE поддерживает рекурсивное удаление. 20644</para> 20645<para lang="en"> 20646the DELETE method supports recursive removal. 20647</para> 20648</change> 20649 20650<change type="bugfix"> 20651<para lang="ru"> 20652при использовании $r->sendfile() byte-ranges передавались неверно. 20653</para> 20654<para lang="en"> 20655the byte-ranges were transferred incorrectly if the $r->sendfile() was used. 20656</para> 20657</change> 20658 20659</changes> 20660 20661 20662<changes ver="0.5.5" date="2006-12-24"> 20663 20664<change type="change"> 20665<para lang="ru"> 20666ключ -v больше не выводит информацию о компиляторе. 20667</para> 20668<para lang="en"> 20669the -v switch does not show compiler information any more. 20670</para> 20671</change> 20672 20673<change type="feature"> 20674<para lang="ru"> 20675ключ -V. 20676</para> 20677<para lang="en"> 20678the -V switch. 20679</para> 20680</change> 20681 20682<change type="feature"> 20683<para lang="ru"> 20684директива worker_rlimit_core поддерживает указание размера в K, M и G. 20685</para> 20686<para lang="en"> 20687the "worker_rlimit_core" directive supports size in K, M, and G. 20688</para> 20689</change> 20690 20691<change type="bugfix"> 20692<para lang="ru"> 20693модуль nginx.pm теперь может устанавливаться непривилегированным пользователем. 20694</para> 20695<para lang="en"> 20696the nginx.pm module now could be installed by an unprivileged user. 20697</para> 20698</change> 20699 20700<change type="bugfix"> 20701<para lang="ru"> 20702при использовании методов $r->request_body или $r->request_body_file мог 20703произойти segmentation fault. 20704</para> 20705<para lang="en"> 20706a segmentation fault might occur if the $r->request_body or 20707$r->request_body_file methods were used. 20708</para> 20709</change> 20710 20711<change type="bugfix"> 20712<para lang="ru"> 20713ошибок, специфичных для платформы ppc. 20714</para> 20715<para lang="en"> 20716the ppc platform specific bugs. 20717</para> 20718</change> 20719 20720</changes> 20721 20722 20723<changes ver="0.5.4" date="2006-12-15"> 20724 20725<change type="feature"> 20726<para lang="ru"> 20727директиву perl можно использовать внутри блока limit_except. 20728</para> 20729<para lang="en"> 20730the "perl" directive may be used inside the "limit_except" block. 20731</para> 20732</change> 20733 20734<change type="bugfix"> 20735<para lang="ru"> 20736модуль ngx_http_dav_module требовал строку "Date" в заголовке запроса 20737для метода DELETE. 20738</para> 20739<para lang="en"> 20740the ngx_http_dav_module required the "Date" request header line 20741for the DELETE method. 20742</para> 20743</change> 20744 20745<change type="bugfix"> 20746<para lang="ru"> 20747при использовании одного параметра в директиве dav_access nginx мог 20748сообщить об ошибке в конфигурации. 20749</para> 20750<para lang="en"> 20751if one only parameter was used in the "dav_access" directive, then 20752nginx might report about configuration error. 20753</para> 20754</change> 20755 20756<change type="bugfix"> 20757<para lang="ru"> 20758при использовании переменной $host мог произойти segmentation fault; 20759ошибка появилась в 0.4.14. 20760</para> 20761<para lang="en"> 20762a segmentation fault might occur if the $host variable was used; 20763the bug had appeared in 0.4.14. 20764</para> 20765</change> 20766 20767</changes> 20768 20769 20770<changes ver="0.5.3" date="2006-12-13"> 20771 20772<change type="feature"> 20773<para lang="ru"> 20774модуль ngx_http_perl_module поддерживает методы $r->status, $r->log_error 20775и $r->sleep. 20776</para> 20777<para lang="en"> 20778the ngx_http_perl_module supports the $r->status, $r->log_error, 20779and $r->sleep methods. 20780</para> 20781</change> 20782 20783<change type="feature"> 20784<para lang="ru"> 20785метод $r->variable поддерживает переменные, неописанные в конфигурации nginx'а. 20786</para> 20787<para lang="en"> 20788the $r->variable method supports variables that do not exist in nginx 20789configuration. 20790</para> 20791</change> 20792 20793<change type="bugfix"> 20794<para lang="ru"> 20795метод $r->has_request_body не работал. 20796</para> 20797<para lang="en"> 20798the $r->has_request_body method did not work. 20799</para> 20800</change> 20801 20802</changes> 20803 20804 20805<changes ver="0.5.2" date="2006-12-11"> 20806 20807<change type="bugfix"> 20808<para lang="ru"> 20809если в директивах proxy_pass использовалось имя, указанное в upstream, 20810то nginx пытался найти IP-адрес этого имени; 20811ошибка появилась в 0.5.1. 20812</para> 20813<para lang="en"> 20814if the "proxy_pass" directive used the name of the "upstream" block, 20815then nginx tried to resolve the name; 20816the bug had appeared in 0.5.1. 20817</para> 20818</change> 20819 20820</changes> 20821 20822 20823<changes ver="0.5.1" date="2006-12-11"> 20824 20825<change type="bugfix"> 20826<para lang="ru"> 20827директива post_action могла не работать после неудачного завершения запроса. 20828</para> 20829<para lang="en"> 20830the "post_action" directive might not run after a unsuccessful completion 20831of a request. 20832</para> 20833</change> 20834 20835<change type="workaround"> 20836<para lang="ru"> 20837обход ошибки в Eudora для Mac; 20838ошибка появилась в 0.4.11.<br/> 20839Спасибо Bron Gondwana. 20840</para> 20841<para lang="en"> 20842for Eudora for Mac; 20843the bug had appeared in 0.4.11.<br/> 20844Thanks to Bron Gondwana. 20845</para> 20846</change> 20847 20848<change type="bugfix"> 20849<para lang="ru"> 20850при указании в директиве fastcgi_pass имени описанного upstream'а выдавалось 20851сообщение "no port in upstream"; 20852ошибка появилась в 0.5.0. 20853</para> 20854<para lang="en"> 20855if the "upstream" name was used in the "fastcgi_pass", then the message 20856"no port in upstream" was issued; 20857the bug had appeared in 0.5.0. 20858</para> 20859</change> 20860 20861<change type="bugfix"> 20862<para lang="ru"> 20863если в директивах proxy_pass и fastcgi_pass использовались одинаковых имена 20864серверов, но с разными портами, то эти директивы использовали первый 20865описанный порт; 20866ошибка появилась в 0.5.0. 20867</para> 20868<para lang="en"> 20869if the "proxy_pass" and "fastcgi_pass" directives used the same servers but 20870different ports, then these directives uses the first described port; 20871the bug had appeared in 0.5.0. 20872</para> 20873</change> 20874 20875<change type="bugfix"> 20876<para lang="ru"> 20877если в директивах proxy_pass и fastcgi_pass использовались unix domain сокеты, 20878то эти директивы использовали первый описанный сокет; 20879ошибка появилась в 0.5.0. 20880</para> 20881<para lang="en"> 20882if the "proxy_pass" and "fastcgi_pass" directives used the unix domain sockets, 20883then these directives used first described socket; 20884the bug had appeared in 0.5.0. 20885</para> 20886</change> 20887 20888<change type="bugfix"> 20889<para lang="ru"> 20890ngx_http_auth_basic_module игнорировал пользователя, если он был указан 20891в последней строке файла паролей и после пароля не было перевода строки, 20892возврата каретки или символа ":". 20893</para> 20894<para lang="en"> 20895ngx_http_auth_basic_module ignored the user if it was in the last line in 20896the password file and there was no the carriage return, the line feed, 20897or the ":" symbol after the password. 20898</para> 20899</change> 20900 20901<change type="bugfix"> 20902<para lang="ru"> 20903переменная $upstream_response_time могла быть равна "0.000", хотя время 20904обработки было больше 1 миллисекунды. 20905</para> 20906<para lang="en"> 20907the $upstream_response_time variable might be equal to "0.000", although 20908response time was more than 1 millisecond. 20909</para> 20910</change> 20911 20912</changes> 20913 20914 20915<changes ver="0.5.0" date="2006-12-04"> 20916 20917<change type="change"> 20918<para lang="ru"> 20919параметры в виде "%name" в директиве log_format больше не поддерживаются. 20920</para> 20921<para lang="en"> 20922the parameters in the "%name" form in the "log_format" directive 20923are not supported anymore. 20924</para> 20925</change> 20926 20927<change type="change"> 20928<para lang="ru"> 20929директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 20930fastcgi_upstream_max_fails, и fastcgi_upstream_fail_timeout, 20931memcached_upstream_max_fails и memcached_upstream_fail_timeout 20932больше не поддерживаются. 20933</para> 20934<para lang="en"> 20935the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 20936"fastcgi_upstream_max_fails", "fastcgi_upstream_fail_timeout", 20937"memcached_upstream_max_fails", and "memcached_upstream_fail_timeout" 20938directives are not supported anymore. 20939</para> 20940</change> 20941 20942<change type="feature"> 20943<para lang="ru"> 20944директива server в блоке upstream поддерживает параметры 20945max_fails, fail_timeout и down. 20946</para> 20947<para lang="en"> 20948the "server" directive in the "upstream" context supports 20949the "max_fails", "fail_timeout", and "down" parameters. 20950</para> 20951</change> 20952 20953<change type="feature"> 20954<para lang="ru"> 20955директива ip_hash в блоке upstream. 20956</para> 20957<para lang="en"> 20958the "ip_hash" directive inside the "upstream" block. 20959</para> 20960</change> 20961 20962<change type="feature"> 20963<para lang="ru"> 20964статус WAIT в строке "Auth-Status" в заголовке ответа сервера аутентификации 20965IMAP/POP3 прокси. 20966</para> 20967<para lang="en"> 20968the WAIT status in the "Auth-Status" header line of the IMAP/POP3 proxy 20969authentication server response. 20970</para> 20971</change> 20972 20973<change type="bugfix"> 20974<para lang="ru"> 20975nginx не собирался на 64-битных платформах; 20976ошибка появилась в 0.4.14. 20977</para> 20978<para lang="en"> 20979nginx could not be built on 64-bit platforms; 20980the bug had appeared in 0.4.14. 20981</para> 20982</change> 20983 20984</changes> 20985 20986 20987<changes ver="0.4.14" date="2006-11-27"> 20988 20989<change type="feature"> 20990<para lang="ru"> 20991директива proxy_pass_error_message в IMAP/POP3 прокси. 20992</para> 20993<para lang="en"> 20994the "proxy_pass_error_message" directive in IMAP/POP3 proxy. 20995</para> 20996</change> 20997 20998<change type="feature"> 20999<para lang="ru"> 21000теперь configure определяет библиотеку PCRE на FreeBSD, Linux и NetBSD. 21001</para> 21002<para lang="en"> 21003now configure detects system PCRE library on FreeBSD, Linux, and NetBSD. 21004</para> 21005</change> 21006 21007<change type="bugfix"> 21008<para lang="ru"> 21009ngx_http_perl_module не работал с перлом, собранным с поддержкой потоков; 21010ошибка появилась в 0.3.38. 21011</para> 21012<para lang="en"> 21013ngx_http_perl_module did not work with perl built with the threads support; 21014the bug had appeared in 0.3.38. 21015</para> 21016</change> 21017 21018<change type="bugfix"> 21019<para lang="ru"> 21020ngx_http_perl_module не работал корректно, если перл вызывался рекурсивно. 21021</para> 21022<para lang="en"> 21023ngx_http_perl_module did not work if perl was called recursively. 21024</para> 21025</change> 21026 21027<change type="bugfix"> 21028<para lang="ru"> 21029nginx игнорировал имя сервера в строке запроса. 21030</para> 21031<para lang="en"> 21032nginx ignored a host name in a request line. 21033</para> 21034</change> 21035 21036<change type="bugfix"> 21037<para lang="ru"> 21038если FastCGI сервер передавал много в stderr, 21039то рабочий процесс мог зациклиться. 21040</para> 21041<para lang="en"> 21042a worker process may got caught in an endless loop, 21043if a FastCGI server sent too many data to the stderr. 21044</para> 21045</change> 21046 21047<change type="bugfix"> 21048<para lang="ru"> 21049при изменении системного времени переменная $upstream_response_time 21050могла быть отрицательной. 21051</para> 21052<para lang="en"> 21053the $upstream_response_time variable may be negative if the system time 21054was changed backward. 21055</para> 21056</change> 21057 21058<change type="bugfix"> 21059<para lang="ru"> 21060при использовании POP3 серверу аутентификации IMAP/POP3 прокси 21061не передавался параметр Auth-Login-Attempt. 21062</para> 21063<para lang="en"> 21064the "Auth-Login-Attempt" parameter was not sent to 21065IMAP/POP3 proxy authentication server when POP3 was used. 21066</para> 21067</change> 21068 21069<change type="bugfix"> 21070<para lang="ru"> 21071при ошибке соединения с сервером аутентификации IMAP/POP3 прокси 21072мог произойти segmentation fault. 21073</para> 21074<para lang="en"> 21075a segmentation fault might occur if connect to IMAP/POP3 proxy 21076authentication server failed. 21077</para> 21078</change> 21079 21080</changes> 21081 21082 21083<changes ver="0.4.13" date="2006-11-15"> 21084 21085<change type="feature"> 21086<para lang="ru"> 21087директиву proxy_pass можно использовать внутри блока limit_except. 21088</para> 21089<para lang="en"> 21090the "proxy_pass" directive may be used inside the "limit_except" block. 21091</para> 21092</change> 21093 21094<change type="feature"> 21095<para lang="ru"> 21096директива limit_except поддерживает все WebDAV методы. 21097</para> 21098<para lang="en"> 21099the "limit_except" directive supports all WebDAV methods. 21100</para> 21101</change> 21102 21103<change type="bugfix"> 21104<para lang="ru"> 21105при использовании директивы add_before_body без директивы add_after_body 21106ответ передавался не полностью. 21107</para> 21108<para lang="en"> 21109if the "add_before_body" directive was used without 21110the "add_after_body" directive, then a response did not transferred complete. 21111</para> 21112</change> 21113 21114<change type="bugfix"> 21115<para lang="ru"> 21116большое тело запроса не принималось, если использовались метод epoll 21117и deferred accept(). 21118</para> 21119<para lang="en"> 21120a large request body did not receive if the epoll method 21121and the deferred accept() were used. 21122</para> 21123</change> 21124 21125<change type="bugfix"> 21126<para lang="ru"> 21127для ответов модуля ngx_http_autoindex_module не выставлялась кодировка; 21128ошибка появилась в 0.3.50. 21129</para> 21130<para lang="en"> 21131a charset could not be set for ngx_http_autoindex_module responses; 21132the bug had appeared in 0.3.50. 21133</para> 21134</change> 21135 21136<change type="bugfix"> 21137<para lang="ru"> 21138ошибки "[alert] zero size buf" при работе с FastCGI-сервером; 21139</para> 21140<para lang="en"> 21141the "[alert] zero size buf" error when FastCGI server was used; 21142</para> 21143</change> 21144 21145<change type="bugfix"> 21146<para lang="ru"> 21147параметр конфигурации --group= игнорировался.<br/> 21148Спасибо Thomas Moschny. 21149</para> 21150<para lang="en"> 21151the --group= configuration parameter was ignored.<br/> 21152Thanks to Thomas Moschny. 21153</para> 21154</change> 21155 21156<change type="bugfix"> 21157<para lang="ru"> 2115850-й подзапрос в SSI ответе не работал; 21159ошибка появилась в 0.3.50. 21160</para> 21161<para lang="en"> 21162the 50th subrequest in SSI response did not work; 21163the bug had appeared in 0.3.50. 21164</para> 21165</change> 21166 21167</changes> 21168 21169 21170<changes ver="0.4.12" date="2006-10-31"> 21171 21172<change type="feature"> 21173<para lang="ru"> 21174модуль ngx_http_perl_module поддерживает метод $r->variable. 21175</para> 21176<para lang="en"> 21177the ngx_http_perl_module supports the $r->variable method. 21178</para> 21179</change> 21180 21181<change type="bugfix"> 21182<para lang="ru"> 21183при включении в ответ большого статического файла с помощью SSI 21184ответ мог передаваться не полностью. 21185</para> 21186<para lang="en"> 21187if a big static file was included using SSI in a response, 21188then the response may be transferred incomplete. 21189</para> 21190</change> 21191 21192<change type="bugfix"> 21193<para lang="ru"> 21194nginx не убирал "#fragment" в URI. 21195</para> 21196<para lang="en"> 21197nginx did not omit the "#fragment" part in URI. 21198</para> 21199</change> 21200 21201</changes> 21202 21203 21204<changes ver="0.4.11" date="2006-10-25"> 21205 21206<change type="feature"> 21207<para lang="ru"> 21208POP3 прокси поддерживает AUTH LOGIN PLAIN и CRAM-MD5. 21209</para> 21210<para lang="en"> 21211the POP3 proxy supports the AUTH LOGIN PLAIN and CRAM-MD5. 21212</para> 21213</change> 21214 21215<change type="feature"> 21216<para lang="ru"> 21217модуль ngx_http_perl_module поддерживает метод $r->allow_ranges. 21218</para> 21219<para lang="en"> 21220the ngx_http_perl_module supports the $r->allow_ranges method. 21221</para> 21222</change> 21223 21224<change type="bugfix"> 21225<para lang="ru"> 21226при включённой поддержке команды APOP в POP3 прокси могли 21227не работать команды USER/PASS; 21228ошибка появилась в 0.4.10. 21229</para> 21230<para lang="en"> 21231if the APOP was enabled in the POP3 proxy, then the USER/PASS commands 21232might not work; 21233the bug had appeared in 0.4.10. 21234</para> 21235</change> 21236 21237</changes> 21238 21239 21240<changes ver="0.4.10" date="2006-10-23"> 21241 21242<change type="feature"> 21243<para lang="ru"> 21244POP3 прокси поддерживает APOP. 21245</para> 21246<para lang="en"> 21247the POP3 proxy supports the APOP command. 21248</para> 21249</change> 21250 21251<change type="bugfix"> 21252<para lang="ru"> 21253при использовании методов select, poll и /dev/poll во время ожидания 21254ответа от сервера аутентификации IMAP/POP3 прокси нагружал процессор. 21255</para> 21256<para lang="en"> 21257if the select, poll or /dev/poll methods were used, then while 21258waiting authentication server response the IMAP/POP3 proxy hogged CPU. 21259</para> 21260</change> 21261 21262<change type="bugfix"> 21263<para lang="ru"> 21264при использовании переменной $server_addr в директиве map мог 21265произойти segmentation fault. 21266</para> 21267<para lang="en"> 21268a segmentation fault might occur if the $server_addr variable was used 21269in the "map" directive. 21270</para> 21271</change> 21272 21273<change type="bugfix"> 21274<para lang="ru"> 21275модуль ngx_http_flv_module не поддерживал byte ranges для полных ответов; 21276ошибка появилась в 0.4.7. 21277</para> 21278<para lang="en"> 21279the ngx_http_flv_module did not support the byte ranges for full responses; 21280the bug had appeared in 0.4.7. 21281</para> 21282</change> 21283 21284<change type="bugfix"> 21285<para lang="ru"> 21286nginx не собирался на Debian amd64; 21287ошибка появилась в 0.4.9. 21288</para> 21289<para lang="en"> 21290nginx could not be built on Debian amd64; 21291the bug had appeared in 0.4.9. 21292</para> 21293</change> 21294 21295</changes> 21296 21297 21298<changes ver="0.4.9" date="2006-10-13"> 21299 21300<change type="feature"> 21301<para lang="ru"> 21302параметр set в команде SSI include. 21303</para> 21304<para lang="en"> 21305the "set" parameter in the "include" SSI command. 21306</para> 21307</change> 21308 21309<change type="feature"> 21310<para lang="ru"> 21311модуль ngx_http_perl_module теперь проверяет версию модуля nginx.pm. 21312</para> 21313<para lang="en"> 21314the ngx_http_perl_module now tests the nginx.pm module version. 21315</para> 21316</change> 21317 21318</changes> 21319 21320 21321<changes ver="0.4.8" date="2006-10-11"> 21322 21323<change type="bugfix"> 21324<para lang="ru"> 21325если до команды SSI include с параметром wait выполнялась ещё 21326одна команда SSI include, то параметр wait мог не работать. 21327</para> 21328<para lang="en"> 21329if an "include" SSI command were before another "include" SSI command 21330with a "wait" parameter, then the "wait" parameter might not work. 21331</para> 21332</change> 21333 21334<change type="bugfix"> 21335<para lang="ru"> 21336модуль ngx_http_flv_module добавлял FLV-заголовок для полных ответов.<br/> 21337Спасибо Алексею Ковырину. 21338</para> 21339<para lang="en"> 21340the ngx_http_flv_module added the FLV header to the full responses.<br/> 21341Thanks to Alexey Kovyrin. 21342</para> 21343</change> 21344 21345</changes> 21346 21347 21348<changes ver="0.4.7" date="2006-10-10"> 21349 21350<change type="feature"> 21351<para lang="ru"> 21352модуль ngx_http_flv_module. 21353</para> 21354<para lang="en"> 21355the ngx_http_flv_module. 21356</para> 21357</change> 21358 21359<change type="feature"> 21360<para lang="ru"> 21361переменная $request_body_file. 21362</para> 21363<para lang="en"> 21364the $request_body_file variable. 21365</para> 21366</change> 21367 21368<change type="feature"> 21369<para lang="ru"> 21370директивы charset и source_charset поддерживают переменные. 21371</para> 21372<para lang="en"> 21373the "charset" and "source_charset" directives support the variables. 21374</para> 21375</change> 21376 21377<change type="bugfix"> 21378<para lang="ru"> 21379если до команды SSI include с параметром wait выполнялась ещё 21380одна команда SSI include, то параметр wait мог не работать. 21381</para> 21382<para lang="en"> 21383if an "include" SSI command were before another "include" SSI command 21384with a "wait" parameter, then the "wait" parameter might not work. 21385</para> 21386</change> 21387 21388<change type="bugfix"> 21389<para lang="ru"> 21390при использовании директивы "proxy_buffering off" или при работе 21391с memcached соединения могли не закрываться по таймауту. 21392</para> 21393<para lang="en"> 21394if the "proxy_buffering off" directive was used or while working with 21395memcached the connections might not be closed on timeout. 21396</para> 21397</change> 21398 21399<change type="bugfix"> 21400<para lang="ru"> 21401nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 21402</para> 21403<para lang="en"> 21404nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 21405</para> 21406</change> 21407 21408</changes> 21409 21410 21411<changes ver="0.4.6" date="2006-10-06"> 21412 21413<change type="bugfix"> 21414<para lang="ru"> 21415nginx не запускался на 64-битных платформах, отличных от amd64, sparc64 и ppc64. 21416</para> 21417<para lang="en"> 21418nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64. 21419</para> 21420</change> 21421 21422<change type="bugfix"> 21423<para lang="ru"> 21424при запросе версии HTTP/1.1 nginx передавал ответ chunk'ами, 21425если длина ответа в методе $r->headers_out("Content-Length", ...) 21426была задана текстовой строкой. 21427</para> 21428<para lang="en"> 21429nginx sent the chunked response for HTTP/1.1 request,<br/> 21430if its length was set by text string in 21431the $r->headers_out("Content-Length", ...) method. 21432</para> 21433</change> 21434 21435<change type="bugfix"> 21436<para lang="ru"> 21437после перенаправления ошибки с помощью директивы error_page любая директива 21438модуля ngx_http_rewrite_module возвращала эту ошибку; 21439ошибка появилась в 0.4.4. 21440</para> 21441<para lang="en"> 21442after redirecting error by an "error_page" directive 21443any ngx_http_rewrite_module directive returned this error code; 21444the bug had appeared in 0.4.4. 21445</para> 21446</change> 21447 21448</changes> 21449 21450 21451<changes ver="0.4.5" date="2006-10-02"> 21452 21453<change type="bugfix"> 21454<para lang="ru"> 21455nginx не собирался на Linux и Solaris; 21456ошибка появилась в 0.4.4. 21457</para> 21458<para lang="en"> 21459nginx could not be built on Linux and Solaris; 21460the bug had appeared in 0.4.4. 21461</para> 21462</change> 21463 21464</changes> 21465 21466 21467<changes ver="0.4.4" date="2006-10-02"> 21468 21469<change type="feature"> 21470<para lang="ru"> 21471переменная $scheme. 21472</para> 21473<para lang="en"> 21474the $scheme variable. 21475</para> 21476</change> 21477 21478<change type="feature"> 21479<para lang="ru"> 21480директива expires поддерживает параметр max. 21481</para> 21482<para lang="en"> 21483the "expires" directive supports the "max" parameter. 21484</para> 21485</change> 21486 21487<change type="feature"> 21488<para lang="ru"> 21489директива include поддерживает маску "*".<br/> 21490Спасибо Jonathan Dance. 21491</para> 21492<para lang="en"> 21493the "include" directive supports the "*" mask.<br/> 21494Thanks to Jonathan Dance. 21495</para> 21496</change> 21497 21498<change type="bugfix"> 21499<para lang="ru"> 21500директива return всегда изменяла код ответа, перенаправленного 21501директивой error_page. 21502</para> 21503<para lang="en"> 21504the "return" directive always overrode the "error_page" response code 21505redirected by the "error_page" directive. 21506</para> 21507</change> 21508 21509<change type="bugfix"> 21510<para lang="ru"> 21511происходил segmentation fault, если в методе PUT передавалось 21512тело нулевой длины. 21513</para> 21514<para lang="en"> 21515a segmentation fault occurred if zero-length body was in PUT method. 21516</para> 21517</change> 21518 21519<change type="bugfix"> 21520<para lang="ru"> 21521при использовании переменных в директиве proxy_redirect редирект 21522изменялся неверно. 21523</para> 21524<para lang="en"> 21525the redirect was changed incorrectly if the variables were used 21526in the "proxy_redirect" directive. 21527</para> 21528</change> 21529 21530</changes> 21531 21532 21533<changes ver="0.4.3" date="2006-09-26"> 21534 21535<change type="change"> 21536<para lang="ru"> 21537ошибку 499 теперь нельзя перенаправить с помощью директивы error_page. 21538</para> 21539<para lang="en"> 21540now the 499 error could not be redirected using an "error_page" directive. 21541</para> 21542</change> 21543 21544<change type="feature"> 21545<para lang="ru"> 21546поддержка Solaris 10 event ports. 21547</para> 21548<para lang="en"> 21549the Solaris 10 event ports support. 21550</para> 21551</change> 21552 21553<change type="feature"> 21554<para lang="ru"> 21555модуль ngx_http_browser_module. 21556</para> 21557<para lang="en"> 21558the ngx_http_browser_module. 21559</para> 21560</change> 21561 21562<change type="bugfix"> 21563<para lang="ru"> 21564при перенаправлении ошибки 400 проксированному серверу 21565помощью директивы error_page мог произойти segmentation fault. 21566</para> 21567<para lang="en"> 21568a segmentation fault may occur while redirecting the 400 error 21569to the proxied server using a "proxy_pass" directive. 21570</para> 21571</change> 21572 21573<change type="bugfix"> 21574<para lang="ru"> 21575происходил segmentation fault, если в директиве proxy_pass использовался 21576unix domain сокет; 21577ошибка появилась в 0.3.47. 21578</para> 21579<para lang="en"> 21580a segmentation fault occurred if an unix domain socket was used in 21581a "proxy_pass" directive; 21582the bug had appeared in 0.3.47. 21583</para> 21584</change> 21585 21586<change type="bugfix"> 21587<para lang="ru"> 21588SSI не работал с ответами memcached и небуферизированными проксированными 21589ответами. 21590</para> 21591<para lang="en"> 21592SSI did work with memcached and nonbuffered responses. 21593</para> 21594</change> 21595 21596<change type="workaround"> 21597<para lang="ru"> 21598обход ошибки PAUSE hardware capability в Sun Studio. 21599</para> 21600<para lang="en"> 21601of the Sun Studio PAUSE hardware capability bug. 21602</para> 21603</change> 21604 21605</changes> 21606 21607 21608<changes ver="0.4.2" date="2006-09-14"> 21609 21610<change type="bugfix"> 21611<para lang="ru"> 21612убрана поддержка флага O_NOATIME на Linux; 21613ошибка появилась в 0.4.1. 21614</para> 21615<para lang="en"> 21616the O_NOATIME flag support on Linux was canceled; 21617the bug had appeared in 0.4.1. 21618</para> 21619</change> 21620 21621</changes> 21622 21623 21624<changes ver="0.4.1" date="2006-09-14"> 21625 21626<change type="bugfix"> 21627<para lang="ru"> 21628совместимость с DragonFlyBSD.<br/> 21629Спасибо Павлу Назарову. 21630</para> 21631<para lang="en"> 21632the DragonFlyBSD compatibility.<br/> 21633Thanks to Pavel Nazarov. 21634</para> 21635</change> 21636 21637<change type="workaround"> 21638<para lang="ru"> 21639обход ошибки в sendfile() в 64-битном Linux при передаче файлов больше 2G. 21640</para> 21641<para lang="en"> 21642of bug in 64-bit Linux sendfile(), when file is more than 2G. 21643</para> 21644</change> 21645 21646<change type="feature"> 21647<para lang="ru"> 21648теперь на Linux nginx для статических запросов использует флаг O_NOATIME.<br/> 21649Спасибо Yusuf Goolamabbas. 21650</para> 21651<para lang="en"> 21652now on Linux nginx uses O_NOATIME flag for static requests.<br/> 21653Thanks to Yusuf Goolamabbas. 21654</para> 21655</change> 21656 21657</changes> 21658 21659 21660<changes ver="0.4.0" date="2006-08-30"> 21661 21662<change> 21663<para lang="ru"> 21664Изменение во внутреннем API: инициализация модулей HTTP перенесена из фазы 21665init module в фазу HTTP postconfiguration. 21666</para> 21667<para lang="en"> 21668Change in internal API: the HTTP modules initialization was moved 21669from the init module phase to the HTTP postconfiguration phase. 21670</para> 21671</change> 21672 21673<change type="change"> 21674<para lang="ru"> 21675теперь тело запроса в модуле ngx_http_perl_module не считывается 21676заранее: нужно явно инициировать чтение с помощью метода $r->has_request_body. 21677</para> 21678<para lang="en"> 21679now the request body is not read beforehand for the ngx_http_perl_module: 21680it's required to start the reading using the $r->has_request_body method. 21681</para> 21682</change> 21683 21684<change type="feature"> 21685<para lang="ru"> 21686модуль ngx_http_perl_module поддерживает код возврата DECLINED. 21687</para> 21688<para lang="en"> 21689the ngx_http_perl_module supports the DECLINED return code. 21690</para> 21691</change> 21692 21693<change type="feature"> 21694<para lang="ru"> 21695модуль ngx_http_dav_module поддерживает входящую строку заголовка "Date" 21696для метода PUT. 21697</para> 21698<para lang="en"> 21699the ngx_http_dav_module supports the incoming "Date" header line 21700for the PUT method. 21701</para> 21702</change> 21703 21704<change type="feature"> 21705<para lang="ru"> 21706директива ssi работает внутри блока if. 21707</para> 21708<para lang="en"> 21709the "ssi" directive is available inside the "if" block. 21710</para> 21711</change> 21712 21713<change type="bugfix"> 21714<para lang="ru"> 21715происходил segmentation fault, если в директиве index использовалась 21716переменные и при этом первое имя индексного файла было без переменных; 21717ошибка появилась в 0.1.29. 21718</para> 21719<para lang="en"> 21720a segmentation fault occurred if there was an "index" directive with 21721variables and the first index name was without variables; 21722the bug had appeared in 0.1.29. 21723</para> 21724</change> 21725 21726</changes> 21727 21728 21729<changes ver="0.3.61" date="2006-08-28"> 21730 21731<change type="change"> 21732<para lang="ru"> 21733директива tcp_nodelay теперь по умолчанию включена. 21734</para> 21735<para lang="en"> 21736now the "tcp_nodelay" directive is turned on by default. 21737</para> 21738</change> 21739 21740<change type="feature"> 21741<para lang="ru"> 21742директива msie_refresh. 21743</para> 21744<para lang="en"> 21745the "msie_refresh" directive. 21746</para> 21747</change> 21748 21749<change type="feature"> 21750<para lang="ru"> 21751директива recursive_error_pages. 21752</para> 21753<para lang="en"> 21754the "recursive_error_pages" directive. 21755</para> 21756</change> 21757 21758<change type="bugfix"> 21759<para lang="ru"> 21760директива rewrite возвращала неправильный редирект, если редирект 21761включал в себя выделенные закодированные символы из оригинального URI. 21762</para> 21763<para lang="en"> 21764the "rewrite" directive returned incorrect redirect, if the redirect 21765had the captured escaped symbols from original URI. 21766</para> 21767</change> 21768 21769</changes> 21770 21771 21772<changes ver="0.3.60" date="2006-08-18"> 21773 21774<change type="bugfix"> 21775<para lang="ru"> 21776во время перенаправления ошибки рабочий процесс мог зациклиться; 21777ошибка появилась в 0.3.59. 21778</para> 21779<para lang="en"> 21780a worker process may got caught in an endless loop 21781while an error redirection; 21782the bug had appeared in 0.3.59. 21783</para> 21784</change> 21785 21786</changes> 21787 21788 21789<changes ver="0.3.59" date="2006-08-16"> 21790 21791<change type="feature"> 21792<para lang="ru"> 21793теперь можно делать несколько перенаправлений через директиву error_page. 21794</para> 21795<para lang="en"> 21796now is possible to do several redirection using the "error_page" directive. 21797</para> 21798</change> 21799 21800<change type="bugfix"> 21801<para lang="ru"> 21802директива dav_access не поддерживала три параметра. 21803</para> 21804<para lang="en"> 21805the "dav_access" directive did not support three parameters. 21806</para> 21807</change> 21808 21809<change type="bugfix"> 21810<para lang="ru"> 21811директива error_page не изменяла строку "Content-Type" 21812после перенаправления с помощью "X-Accel-Redirect"; 21813ошибка появилась в 0.3.58. 21814</para> 21815<para lang="en"> 21816the "error_page" directive did not changes the "Content-Type" header line 21817after the "X-Accel-Redirect" was used; 21818the bug had appeared in 0.3.58. 21819</para> 21820</change> 21821 21822</changes> 21823 21824 21825<changes ver="0.3.58" date="2006-08-14"> 21826 21827<change type="feature"> 21828<para lang="ru"> 21829директива error_page поддерживает переменные. 21830</para> 21831<para lang="en"> 21832the "error_page" directive supports the variables. 21833</para> 21834</change> 21835 21836<change type="change"> 21837<para lang="ru"> 21838теперь на Linux используется интерфейс procfs вместо sysctl. 21839</para> 21840<para lang="en"> 21841now the procfs interface instead of sysctl is used on Linux. 21842</para> 21843</change> 21844 21845<change type="change"> 21846<para lang="ru"> 21847теперь при использовании "X-Accel-Redirect" строка "Content-Type" наследуется 21848из первоначального ответа. 21849</para> 21850<para lang="en"> 21851now the "Content-Type" header line is inherited from first response 21852when the "X-Accel-Redirect" was used. 21853</para> 21854</change> 21855 21856<change type="bugfix"> 21857<para lang="ru"> 21858директива error_page не перенаправляла ошибку 413. 21859</para> 21860<para lang="en"> 21861the "error_page" directive did not redirect the 413 error. 21862</para> 21863</change> 21864 21865<change type="bugfix"> 21866<para lang="ru"> 21867завершающий "?" не удалял старые аргументы, если в переписанном URI 21868не было новых аргументов. 21869</para> 21870<para lang="en"> 21871the trailing "?" did not remove old arguments if no new arguments 21872were added to a rewritten URI. 21873</para> 21874</change> 21875 21876<change type="bugfix"> 21877<para lang="ru"> 21878nginx не запускался на 64-битной FreeBSD 7.0-CURRENT. 21879</para> 21880<para lang="en"> 21881nginx could not run on 64-bit FreeBSD 7.0-CURRENT. 21882</para> 21883</change> 21884 21885</changes> 21886 21887 21888<changes ver="0.3.57" date="2006-08-09"> 21889 21890<change type="feature"> 21891<para lang="ru"> 21892переменная $ssl_client_serial. 21893</para> 21894<para lang="en"> 21895the $ssl_client_serial variable. 21896</para> 21897</change> 21898 21899<change type="bugfix"> 21900<para lang="ru"> 21901в операторе "!-e" в директиве if.<br/> 21902Спасибо Андриану Буданцову. 21903</para> 21904<para lang="en"> 21905in the "!-e" operator of the "if" directive.<br/> 21906Thanks to Andrian Budanstov. 21907</para> 21908</change> 21909 21910<change type="bugfix"> 21911<para lang="ru"> 21912при проверке клиентского сертификата nginx не передавал клиенту 21913информацию о требуемых сертификатах. 21914</para> 21915<para lang="en"> 21916while a client certificate verification nginx did not send to a client 21917the required certificates information. 21918</para> 21919</change> 21920 21921<change type="bugfix"> 21922<para lang="ru"> 21923переменная $document_root не поддерживала переменные в директиве root. 21924</para> 21925<para lang="en"> 21926the $document_root variable did not support the variables in the "root" 21927directive. 21928</para> 21929</change> 21930 21931</changes> 21932 21933 21934<changes ver="0.3.56" date="2006-08-04"> 21935 21936<change type="feature"> 21937<para lang="ru"> 21938директива dav_access. 21939</para> 21940<para lang="en"> 21941the "dav_access" directive. 21942</para> 21943</change> 21944 21945<change type="feature"> 21946<para lang="ru"> 21947директива if поддерживает операторы "-d", "!-d", "-e", "!-e", "-x" и "!-x". 21948</para> 21949<para lang="en"> 21950the "if" directive supports the "-d", "!-d", "-e", "!-e", "-x", and "!-x" 21951operators. 21952</para> 21953</change> 21954 21955<change type="bugfix"> 21956<para lang="ru"> 21957при записи в access_log некоторых передаваемых клиенту строк заголовков 21958происходил segmentation fault, если запрос возвращал редирект. 21959</para> 21960<para lang="en"> 21961a segmentation fault occurred if a request returned a redirect and 21962some sent to client header lines were logged in the access log. 21963</para> 21964</change> 21965 21966</changes> 21967 21968 21969<changes ver="0.3.55" date="2006-07-28"> 21970 21971<change type="feature"> 21972<para lang="ru"> 21973параметр stub в команде SSI include. 21974</para> 21975<para lang="en"> 21976the "stub" parameter in the "include" SSI command. 21977</para> 21978</change> 21979 21980<change type="feature"> 21981<para lang="ru"> 21982команда SSI block. 21983</para> 21984<para lang="en"> 21985the "block" SSI command. 21986</para> 21987</change> 21988 21989<change type="feature"> 21990<para lang="ru"> 21991скрипт unicode2nginx добавлен в contrib. 21992</para> 21993<para lang="en"> 21994the unicode2nginx script was added to contrib. 21995</para> 21996</change> 21997 21998<change type="bugfix"> 21999<para lang="ru"> 22000если root был задан только переменной, то корень задавался 22001относительно префикса сервера. 22002</para> 22003<para lang="en"> 22004if a "root" was specified by variable only, then the root was relative 22005to a server prefix. 22006</para> 22007</change> 22008 22009<change type="bugfix"> 22010<para lang="ru"> 22011если в запросе был "//" или "/.", и после этого закодированные 22012символы в виде "%XX", то проксируемый запрос передавался незакодированным. 22013</para> 22014<para lang="en"> 22015if the request contained "//" or "/./" and escaped symbols after them, 22016then the proxied request was sent unescaped. 22017</para> 22018</change> 22019 22020<change type="bugfix"> 22021<para lang="ru"> 22022метод $r->header_in("Cookie") модуля ngx_http_perl_module теперь возвращает 22023все строки "Cookie" в заголовке запроса. 22024</para> 22025<para lang="en"> 22026the $r->header_in("Cookie") of the ngx_http_perl_module now returns 22027all "Cookie" header lines. 22028</para> 22029</change> 22030 22031<change type="bugfix"> 22032<para lang="ru"> 22033происходил segmentation fault, если использовался 22034<nobr>"client_body_in_file_only on"</nobr> 22035и делался переход к следующему бэкенду. 22036</para> 22037<para lang="en"> 22038a segmentation fault occurred if <nobr>"client_body_in_file_only on"</nobr> 22039was used and nginx switched to a next upstream. 22040</para> 22041</change> 22042 22043<change type="bugfix"> 22044<para lang="ru"> 22045при некоторых условиях во время переконфигурации коды символов 22046внутри директивы charset_map могли считаться неверными; 22047ошибка появилась в 0.3.50. 22048</para> 22049<para lang="en"> 22050on some condition while reconfiguration character codes 22051inside the "charset_map" may be treated invalid; 22052the bug had appeared in 0.3.50. 22053</para> 22054</change> 22055 22056</changes> 22057 22058 22059<changes ver="0.3.54" date="2006-07-11"> 22060 22061<change type="feature"> 22062<para lang="ru"> 22063nginx теперь записывает в лог информацию о подзапросах. 22064</para> 22065<para lang="en"> 22066nginx now logs the subrequest information to the error log. 22067</para> 22068</change> 22069 22070<change type="feature"> 22071<para lang="ru"> 22072директивы proxy_next_upstream, fastcgi_next_upstream и memcached_next_upstream 22073поддерживают параметр off. 22074</para> 22075<para lang="en"> 22076the "proxy_next_upstream", "fastcgi_next_upstream", 22077and "memcached_next_upstream" directives support the "off" parameter. 22078</para> 22079</change> 22080 22081<change type="feature"> 22082<para lang="ru"> 22083директива debug_connection поддерживает запись адресов в формате CIDR. 22084</para> 22085<para lang="en"> 22086the "debug_connection" directive supports the CIDR address form. 22087</para> 22088</change> 22089 22090<change type="bugfix"> 22091<para lang="ru"> 22092при перекодировании ответа проксированного сервера или сервера FastCGI 22093в UTF-8 или наоборот ответ мог передаваться не полностью. 22094</para> 22095<para lang="en"> 22096if a response of proxied server or FastCGI server was converted from UTF-8 22097or back, then it may be transferred incomplete. 22098</para> 22099</change> 22100 22101<change type="bugfix"> 22102<para lang="ru"> 22103переменная $upstream_response_time содержала время только первого 22104обращения к бэкенду. 22105</para> 22106<para lang="en"> 22107the $upstream_response_time variable had the time of the first 22108request to a backend only. 22109</para> 22110</change> 22111 22112<change type="bugfix"> 22113<para lang="ru"> 22114nginx не собирался на платформе amd64; 22115ошибка появилась в 0.3.53. 22116</para> 22117<para lang="en"> 22118nginx could not be built on amd64 platform; 22119the bug had appeared in 0.3.53. 22120</para> 22121</change> 22122 22123</changes> 22124 22125 22126<changes ver="0.3.53" date="2006-07-07"> 22127 22128<change type="change"> 22129<para lang="ru"> 22130директива add_header добавляет строки в ответы с кодом 204, 301 и 302. 22131</para> 22132<para lang="en"> 22133the "add_header" directive adds the string to 204, 301, and 302 responses. 22134</para> 22135</change> 22136 22137<change type="feature"> 22138<para lang="ru"> 22139директива server в блоке upstream поддерживает параметр weight. 22140</para> 22141<para lang="en"> 22142the "server" directive in the "upstream" context supports 22143the "weight" parameter. 22144</para> 22145</change> 22146 22147<change type="feature"> 22148<para lang="ru"> 22149директива server_name поддерживает маску "*". 22150</para> 22151<para lang="en"> 22152the "server_name" directive supports the "*" wildcard. 22153</para> 22154</change> 22155 22156<change type="feature"> 22157<para lang="ru"> 22158nginx поддерживает тело запроса больше 2G. 22159</para> 22160<para lang="en"> 22161nginx supports the request body size more than 2G. 22162</para> 22163</change> 22164 22165<change type="bugfix"> 22166<para lang="ru"> 22167если при использовании "satisfy_any on" клиент успешно проходил аутентификацию, 22168в лог всё равно записалоcь сообщение "access forbidden by rule". 22169</para> 22170<para lang="en"> 22171if a client was successfully authorized using "satisfy_any on", then anyway 22172the message "access forbidden by rule" was written in the log. 22173</para> 22174</change> 22175 22176<change type="bugfix"> 22177<para lang="ru"> 22178метод PUT мог ошибочно не создать файл и вернуть код 409. 22179</para> 22180<para lang="en"> 22181the "PUT" method may erroneously not create a file and return the 409 code. 22182</para> 22183</change> 22184 22185<change type="bugfix"> 22186<para lang="ru"> 22187если во время аутентификации IMAP/POP3 бэкенд возвращал ошибку, nginx 22188продолжал проксирование. 22189</para> 22190<para lang="en"> 22191if the IMAP/POP3 backend returned an error, then nginx continued proxying 22192anyway. 22193</para> 22194</change> 22195 22196</changes> 22197 22198 22199<changes ver="0.3.52" date="2006-07-03"> 22200 22201<change type="change"> 22202<para lang="ru"> 22203восстановлено поведение модуля ngx_http_index_module для запросов "POST /": 22204как в версии до 0.3.40, модуль теперь не выдаёт ошибку 405. 22205</para> 22206<para lang="en"> 22207the ngx_http_index_module behavior for the "POST /" requests is reverted 22208to the 0.3.40 version state: the module now does not return the 405 error. 22209</para> 22210</change> 22211 22212<change type="bugfix"> 22213<para lang="ru"> 22214при использовании ограничения скорости рабочий процесс мог зациклиться; 22215ошибка появилась в 0.3.37. 22216</para> 22217<para lang="en"> 22218the worker process may got caught in an endless loop if the limit rate was used; 22219the bug had appeared in 0.3.37. 22220</para> 22221</change> 22222 22223<change type="bugfix"> 22224<para lang="ru"> 22225модуль ngx_http_charset_module записывал в лог ошибку "unknown charset", 22226даже если перекодировка не требовалась; 22227ошибка появилась в 0.3.50. 22228</para> 22229<para lang="en"> 22230ngx_http_charset_module logged "unknown charset" alert, even if the recoding 22231was not needed; 22232the bug had appeared in 0.3.50. 22233</para> 22234</change> 22235 22236<change type="bugfix"> 22237<para lang="ru"> 22238если в результате запроса PUT возвращался код 409, то временный файл 22239не удалялся. 22240</para> 22241<para lang="en"> 22242if a code response of the PUT request was 409, then a temporary file 22243was not removed. 22244</para> 22245</change> 22246 22247</changes> 22248 22249 22250<changes ver="0.3.51" date="2006-06-30"> 22251 22252<change type="bugfix"> 22253<para lang="ru"> 22254при некоторых условиях в SSI мог пропадать символы "<"; 22255ошибка появилась в 0.3.50. 22256</para> 22257<para lang="en"> 22258the "<" symbols might disappeared some conditions in the SSI; 22259the bug had appeared in 0.3.50. 22260</para> 22261</change> 22262 22263</changes> 22264 22265 22266<changes ver="0.3.50" date="2006-06-28"> 22267 22268<change type="change"> 22269<para lang="ru"> 22270директивы proxy_redirect_errors и fastcgi_redirect_errors 22271переименованы соответственно в proxy_intercept_errors и 22272fastcgi_intercept_errors. 22273</para> 22274<para lang="en"> 22275the "proxy_redirect_errors" and "fastcgi_redirect_errors" directives 22276was renamed to the "proxy_intercept_errors" and 22277"fastcgi_intercept_errors" directives. 22278</para> 22279</change> 22280 22281<change type="feature"> 22282<para lang="ru"> 22283модуль ngx_http_charset_module поддерживает перекодирование из 22284однобайтных кодировок в UTF-8 и обратно. 22285</para> 22286<para lang="en"> 22287the ngx_http_charset_module supports the recoding from the single byte 22288encodings to the UTF-8 encoding and back. 22289</para> 22290</change> 22291 22292<change type="feature"> 22293<para lang="ru"> 22294в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Charset" 22295в ответе бэкенда. 22296</para> 22297<para lang="en"> 22298the "X-Accel-Charset" response header line is supported in proxy 22299and FastCGI mode. 22300</para> 22301</change> 22302 22303<change type="bugfix"> 22304<para lang="ru"> 22305символ "\" в парах "\"" и "\'" в SSI командах убирался, только если 22306также использовался символ "$". 22307</para> 22308<para lang="en"> 22309the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 22310was removed only if the command also has the "$" symbol. 22311</para> 22312</change> 22313 22314<change type="bugfix"> 22315<para lang="ru"> 22316при некоторых условиях в SSI после вставки могла быть добавлена 22317строка "<!--". 22318</para> 22319<para lang="en"> 22320the "<!--" string might be added on some conditions 22321in the SSI after inclusion. 22322</para> 22323</change> 22324 22325<change type="bugfix"> 22326<para lang="ru"> 22327если в заголовке ответа была строка <nobr>"Content-Length: 0",</nobr> 22328то при использовании небуферизированного проксировании не закрывалось соединение 22329с клиентом. 22330</para> 22331<para lang="en"> 22332if the "Content-Length: 0" header line was in response, then 22333in nonbuffered proxying mode the client connection was not closed. 22334</para> 22335</change> 22336 22337</changes> 22338 22339 22340<changes ver="0.3.49" date="2006-05-31"> 22341 22342<change type="bugfix"> 22343<para lang="ru"> 22344в директиве set. 22345</para> 22346<para lang="en"> 22347in the "set" directive. 22348</para> 22349</change> 22350 22351<change type="bugfix"> 22352<para lang="ru"> 22353при включении в ssi двух и более подзапросов, обрабатываемых через FastCGI, 22354вместо вывода второго и остальных подзапросов в ответ включался вывод 22355первого подзапроса. 22356</para> 22357<para lang="en"> 22358if two or more FastCGI subrequests was in SSI, then first subrequest output 22359was included instead of second and following subrequests. 22360</para> 22361</change> 22362 22363</changes> 22364 22365 22366<changes ver="0.3.48" date="2006-05-29"> 22367 22368<change type="change"> 22369<para lang="ru"> 22370теперь модуль ngx_http_charset_module работает для подзапросов, 22371в ответах которых нет строки заголовка "Content-Type". 22372</para> 22373<para lang="en"> 22374now the ngx_http_charset_module works for subrequests, 22375if the response has no "Content-Type" header line. 22376</para> 22377</change> 22378 22379<change type="bugfix"> 22380<para lang="ru"> 22381если в директиве proxy_pass не было URI, 22382то директива "proxy_redirect default" добавляла в переписанный 22383редирект в начало лишний слэш. 22384</para> 22385<para lang="en"> 22386if the "proxy_pass" directive has no URI part, 22387then the "proxy_redirect default" directive add the unnecessary slash 22388in start of the rewritten redirect. 22389</para> 22390</change> 22391 22392<change type="bugfix"> 22393<para lang="ru"> 22394внутренний редирект всегда превращал любой HTTP-метод в GET, 22395теперь это делается только для редиректов, выполняемых с помощью 22396X-Accel-Redirect, и у которых метод не равен HEAD; 22397ошибка появилась в 0.3.42. 22398</para> 22399<para lang="en"> 22400the internal redirect always transform client's HTTP method to GET, 22401now the transformation is made for the "X-Accel-Redirect" redirects only 22402and if the method is not HEAD; 22403the bug had appeared in 0.3.42. 22404</para> 22405</change> 22406 22407<change type="bugfix"> 22408<para lang="ru"> 22409модуль ngx_http_perl_module не собирался, если перл был с поддержкой потоков; 22410ошибка появилась в 0.3.46. 22411</para> 22412<para lang="en"> 22413the ngx_http_perl_module could not be built, if the perl was built 22414with the threads support; 22415the bug had appeared in 0.3.46. 22416</para> 22417</change> 22418 22419</changes> 22420 22421 22422<changes ver="0.3.47" date="2006-05-23"> 22423 22424<change type="feature"> 22425<para lang="ru"> 22426директива upstream. 22427</para> 22428<para lang="en"> 22429the "upstream" directive. 22430</para> 22431</change> 22432 22433<change type="change"> 22434<para lang="ru"> 22435символ "\" в парах "\"" и "\'" в SSI командах теперь всегда убирается. 22436</para> 22437<para lang="en"> 22438now the "\" escape symbol in the "\"" and "\'" pairs in the SSI command 22439is always removed. 22440</para> 22441</change> 22442 22443</changes> 22444 22445 22446<changes ver="0.3.46" date="2006-05-11"> 22447 22448<change type="feature"> 22449<para lang="ru"> 22450директивы proxy_hide_header, proxy_pass_header, fastcgi_hide_header 22451и fastcgi_pass_header. 22452</para> 22453<para lang="en"> 22454the "proxy_hide_header", "proxy_pass_header", "fastcgi_hide_header", 22455and "fastcgi_pass_header" directives. 22456</para> 22457</change> 22458 22459<change type="change"> 22460<para lang="ru"> 22461директивы proxy_pass_x_powered_by, fastcgi_x_powered_by и proxy_pass_server 22462упразднены. 22463</para> 22464<para lang="en"> 22465the "proxy_pass_x_powered_by", "fastcgi_x_powered_by", and "proxy_pass_server" 22466directives were canceled. 22467</para> 22468</change> 22469 22470<change type="feature"> 22471<para lang="ru"> 22472в режиме прокси поддерживается строка заголовка "X-Accel-Buffering" 22473в ответе бэкенда. 22474</para> 22475<para lang="en"> 22476the "X-Accel-Buffering" response header line is supported in proxy mode. 22477</para> 22478</change> 22479 22480<change type="bugfix"> 22481<para lang="ru"> 22482ошибок и утечек памяти при переконфигурации в модуле ngx_http_perl_module. 22483</para> 22484<para lang="en"> 22485the reconfiguration bug and memory leaks in the ngx_http_perl_module. 22486</para> 22487</change> 22488 22489</changes> 22490 22491 22492<changes ver="0.3.45" date="2006-05-06"> 22493 22494<change type="feature"> 22495<para lang="ru"> 22496директивы ssl_verify_client, ssl_verify_depth и ssl_client_certificate. 22497</para> 22498<para lang="en"> 22499the "ssl_verify_client", "ssl_verify_depth", and "ssl_client_certificate" 22500directives. 22501</para> 22502</change> 22503 22504<change type="change"> 22505<para lang="ru"> 22506теперь переменная $request_method возвращает метод только основного запроса. 22507</para> 22508<para lang="en"> 22509the $request_method variable now returns the main request method. 22510</para> 22511</change> 22512 22513<change type="change"> 22514<para lang="ru"> 22515в таблице перекодировки koi-win изменены коды символа &deg;. 22516</para> 22517<para lang="en"> 22518the &deg; symbol codes were changed in koi-win conversion table. 22519</para> 22520</change> 22521 22522<change type="feature"> 22523<para lang="ru"> 22524в таблицу перекодировки koi-win добавлены символы евро и номера. 22525</para> 22526<para lang="en"> 22527the euro and N symbols were added to koi-win conversion table. 22528</para> 22529</change> 22530 22531<change type="bugfix"> 22532<para lang="ru"> 22533если nginx распределял запросы на несколько машин, то при падении 22534одной из них запросы, предназначенные для этой машины, перенаправлялись только 22535на одну машину вместо того, чтобы равномерно распределяться между остальными. 22536</para> 22537<para lang="en"> 22538if nginx distributed the requests among several backends and some backend 22539failed, then requests intended for this backend was directed to one live 22540backend only instead of being distributed among the rest. 22541</para> 22542</change> 22543 22544</changes> 22545 22546 22547<changes ver="0.3.44" date="2006-05-04"> 22548 22549<change type="feature"> 22550<para lang="ru"> 22551параметр wait в команде SSI include. 22552</para> 22553<para lang="en"> 22554the "wait" parameter in the "include" SSI command. 22555</para> 22556</change> 22557 22558<change type="feature"> 22559<para lang="ru"> 22560в таблицу перекодировки koi-win добавлены украинские и белорусские символы. 22561</para> 22562<para lang="en"> 22563the Ukrainian and Byelorussian characters were added to koi-win conversion 22564table. 22565</para> 22566</change> 22567 22568<change type="bugfix"> 22569<para lang="ru"> 22570в SSI. 22571</para> 22572<para lang="en"> 22573in the SSI. 22574</para> 22575</change> 22576 22577</changes> 22578 22579 22580<changes ver="0.3.43" date="2006-04-26"> 22581 22582<change type="bugfix"> 22583<para lang="ru"> 22584в SSI. 22585</para> 22586<para lang="en"> 22587in the SSI. 22588</para> 22589</change> 22590 22591</changes> 22592 22593 22594<changes ver="0.3.42" date="2006-04-26"> 22595 22596<change type="feature"> 22597<para lang="ru"> 22598параметр bind в директиве listen в IMAP/POP3 прокси. 22599</para> 22600<para lang="en"> 22601the "bind" option of the "listen" directive in IMAP/POP3 proxy. 22602</para> 22603</change> 22604 22605<change type="bugfix"> 22606<para lang="ru"> 22607ошибки при использовании в директиве rewrite одного и того же 22608выделения более одного раза. 22609</para> 22610<para lang="en"> 22611if the same capture in the "rewrite" directive was used more then once. 22612</para> 22613</change> 22614 22615<change type="bugfix"> 22616<para lang="ru"> 22617в лог не записывались переменные 22618$sent_http_content_type, $sent_http_content_length, $sent_http_last_modified, 22619$sent_http_connection, $sent_http_keep_alive и $sent_http_transfer_encoding. 22620</para> 22621<para lang="en"> 22622the $sent_http_content_type, $sent_http_content_length, 22623$sent_http_last_modified, $sent_http_connection, $sent_http_keep_alive, 22624and $sent_http_transfer_encoding variables were not written to access log. 22625</para> 22626</change> 22627 22628<change type="bugfix"> 22629<para lang="ru"> 22630переменная $sent_http_cache_control возвращала содержимое только одной 22631строки "Cache-Control" в заголовке ответа. 22632</para> 22633<para lang="en"> 22634the $sent_http_cache_control returned value of the single "Cache-Control" 22635response header line. 22636</para> 22637</change> 22638 22639</changes> 22640 22641 22642<changes ver="0.3.41" date="2006-04-21"> 22643 22644<change type="feature"> 22645<para lang="ru"> 22646ключ -v. 22647</para> 22648<para lang="en"> 22649the -v switch. 22650</para> 22651</change> 22652 22653<change type="bugfix"> 22654<para lang="ru"> 22655при включении в SSI удалённых подзапросов 22656мог произойти segmentation fault. 22657</para> 22658<para lang="en"> 22659the segmentation fault may occurred if the SSI page has remote subrequests. 22660</para> 22661</change> 22662 22663<change type="bugfix"> 22664<para lang="ru"> 22665в обработке FastCGI. 22666</para> 22667<para lang="en"> 22668in FastCGI handling. 22669</para> 22670</change> 22671 22672<change type="bugfix"> 22673<para lang="ru"> 22674если путь к перловым модулям не был указан с помощью 22675--with-perl_modules_path=PATH или директивы perl_modules, 22676то на старте происходил segmentation fault. 22677</para> 22678<para lang="en"> 22679if the perl modules path was not set using 22680--with-perl_modules_path=PATH or the "perl_modules", then 22681the segmentation fault was occurred. 22682</para> 22683</change> 22684 22685</changes> 22686 22687 22688<changes ver="0.3.40" date="2006-04-19"> 22689 22690<change type="feature"> 22691<para lang="ru"> 22692модуль ngx_http_dav_module поддерживает метод MKCOL. 22693</para> 22694<para lang="en"> 22695the ngx_http_dav_module supports the MKCOL method. 22696</para> 22697</change> 22698 22699<change type="feature"> 22700<para lang="ru"> 22701директива create_full_put_path. 22702</para> 22703<para lang="en"> 22704the "create_full_put_path" directive. 22705</para> 22706</change> 22707 22708<change type="feature"> 22709<para lang="ru"> 22710переменная $limit_rate. 22711</para> 22712<para lang="en"> 22713the "$limit_rate" variable. 22714</para> 22715</change> 22716 22717</changes> 22718 22719 22720<changes ver="0.3.39" date="2006-04-17"> 22721 22722<change type="feature"> 22723<para lang="ru"> 22724директива uninitialized_variable_warn; уровень логгирования сообщения 22725о неинициализированной переменной понижен с уровня alert на warn. 22726</para> 22727<para lang="en"> 22728the "uninitialized_variable_warn" directive; the logging level of the 22729"uninitialized variable" message was lowered from "alert" to "warn". 22730</para> 22731</change> 22732 22733<change type="feature"> 22734<para lang="ru"> 22735директива override_charset. 22736</para> 22737<para lang="en"> 22738the "override_charset" directive. 22739</para> 22740</change> 22741 22742<change type="change"> 22743<para lang="ru"> 22744при использовании неизвестной переменной в SSI-командах echo и if expr='$name' 22745теперь не записывается в лог сообщение о неизвестной переменной. 22746</para> 22747<para lang="en"> 22748now if the unknown variable is used in the "echo" and "if expr='$name'" 22749SSI-commands, then the "unknown variable" message is not logged. 22750</para> 22751</change> 22752 22753<change type="bugfix"> 22754<para lang="ru"> 22755счётчик активных соединений рос при превышении лимита соединений, 22756заданного директивой worker_connections; 22757ошибка появилась в 0.2.0. 22758</para> 22759<para lang="en"> 22760the active connection counter increased on the exceeding of the connection 22761limit specified by the "worker_connections" directive; 22762the bug had appeared in 0.2.0. 22763</para> 22764</change> 22765 22766<change type="bugfix"> 22767<para lang="ru"> 22768при некоторых условия ограничение скорости соединения могло не работать; 22769ошибка появилась в 0.3.38. 22770</para> 22771<para lang="en"> 22772the limit rate might not work on some condition; 22773the bug had appeared in 0.3.38. 22774</para> 22775</change> 22776 22777</changes> 22778 22779 22780<changes ver="0.3.38" date="2006-04-14"> 22781 22782<change type="feature"> 22783<para lang="ru"> 22784модуль ngx_http_dav_module. 22785</para> 22786<para lang="en"> 22787the ngx_http_dav_module. 22788</para> 22789</change> 22790 22791<change type="change"> 22792<para lang="ru"> 22793оптимизация модуля ngx_http_perl_module.<br/> 22794Спасибо Сергею Скворцову. 22795</para> 22796<para lang="en"> 22797the ngx_http_perl_module optimizations.<br/> 22798Thanks to Sergey Skvortsov. 22799</para> 22800</change> 22801 22802<change type="feature"> 22803<para lang="ru"> 22804модуль ngx_http_perl_module поддерживает метод $r->request_body_file. 22805</para> 22806<para lang="en"> 22807the ngx_http_perl_module supports the $r->request_body_file method. 22808</para> 22809</change> 22810 22811<change type="feature"> 22812<para lang="ru"> 22813директива client_body_in_file_only. 22814</para> 22815<para lang="en"> 22816the "client_body_in_file_only" directive. 22817</para> 22818</change> 22819 22820<change type="workaround"> 22821<para lang="ru"> 22822теперь при переполнении диска nginx пытается писать access_log'и только 22823раз в секунду.<br/> 22824Спасибо Антону Южанинову и Максиму Дунину. 22825</para> 22826<para lang="en"> 22827now on disk overflow nginx tries to write access logs once a second only.<br/> 22828Thanks to Anton Yuzhaninov and Maxim Dounin. 22829</para> 22830</change> 22831 22832<change type="bugfix"> 22833<para lang="ru"> 22834теперь директива limit_rate точнее ограничивает скорость при значениях 22835больше <nobr>100 Kbyte/s.</nobr><br/> 22836Спасибо ForJest. 22837</para> 22838<para lang="en"> 22839now the "limit_rate" directive more precisely limits rate if rate is more 22840than <nobr>100 Kbyte/s.</nobr><br/> 22841Thanks to ForJest. 22842</para> 22843</change> 22844 22845<change type="bugfix"> 22846<para lang="ru"> 22847IMAP/POP3 прокси теперь передаёт серверу авторизации символы "\r" и "\n" 22848в логине и пароле в закодированном виде.<br/> 22849Спасибо Максиму Дунину. 22850</para> 22851<para lang="en"> 22852now the IMAP/POP3 proxy escapes the "\r" and "\n" symbols in login and 22853password to pass authorization server.<br/> 22854Thanks to Maxim Dounin. 22855</para> 22856</change> 22857 22858</changes> 22859 22860 22861<changes ver="0.3.37" date="2006-04-07"> 22862 22863<change type="feature"> 22864<para lang="ru"> 22865директива limit_except. 22866</para> 22867<para lang="en"> 22868the "limit_except" directive. 22869</para> 22870</change> 22871 22872<change type="feature"> 22873<para lang="ru"> 22874директива if поддерживает операторы "!~", "!~*", "-f" и "!-f". 22875</para> 22876<para lang="en"> 22877the "if" directive supports the "!~", "!~*", "-f", and "!-f" operators. 22878</para> 22879</change> 22880 22881<change type="feature"> 22882<para lang="ru"> 22883модуль ngx_http_perl_module поддерживает метод $r->request_body. 22884</para> 22885<para lang="en"> 22886the ngx_http_perl_module supports the $r->request_body method. 22887</para> 22888</change> 22889 22890<change type="bugfix"> 22891<para lang="ru"> 22892в модуле ngx_http_addition_filter_module. 22893</para> 22894<para lang="en"> 22895in the ngx_http_addition_filter_module. 22896</para> 22897</change> 22898 22899</changes> 22900 22901 22902<changes ver="0.3.36" date="2006-04-05"> 22903 22904<change type="feature"> 22905<para lang="ru"> 22906модуль ngx_http_addition_filter_module. 22907</para> 22908<para lang="en"> 22909the ngx_http_addition_filter_module. 22910</para> 22911</change> 22912 22913<change type="feature"> 22914<para lang="ru"> 22915директивы proxy_pass и fastcgi_pass можно использовать внутри блока if. 22916</para> 22917<para lang="en"> 22918the "proxy_pass" and "fastcgi_pass" directives may be used inside 22919the "if" block. 22920</para> 22921</change> 22922 22923<change type="feature"> 22924<para lang="ru"> 22925директивы proxy_ignore_client_abort и fastcgi_ignore_client_abort. 22926</para> 22927<para lang="en"> 22928the "proxy_ignore_client_abort" and "fastcgi_ignore_client_abort" directives. 22929</para> 22930</change> 22931 22932<change type="feature"> 22933<para lang="ru"> 22934переменная $request_completion. 22935</para> 22936<para lang="en"> 22937the "$request_completion" variable. 22938</para> 22939</change> 22940 22941<change type="feature"> 22942<para lang="ru"> 22943модуль ngx_http_perl_module поддерживает методы $r->request_method и 22944$r->remote_addr. 22945</para> 22946<para lang="en"> 22947the ngx_http_perl_module supports the $r->request_method and $r->remote_addr. 22948</para> 22949</change> 22950 22951<change type="feature"> 22952<para lang="ru"> 22953модуль ngx_http_ssi_module поддерживает команду elif. 22954</para> 22955<para lang="en"> 22956the ngx_http_ssi_module supports the "elif" command. 22957</para> 22958</change> 22959 22960<change type="bugfix"> 22961<para lang="ru"> 22962строка "\/" в начале выражения команды if модуля ngx_http_ssi_module 22963воспринималась неверно. 22964</para> 22965<para lang="en"> 22966the "\/" string in the expression of the "if" command of the 22967ngx_http_ssi_module was treated incorrectly. 22968</para> 22969</change> 22970 22971<change type="bugfix"> 22972<para lang="ru"> 22973в использовании регулярных выражениях в команде if модуля ngx_http_ssi_module. 22974</para> 22975<para lang="en"> 22976in the regular expressions in the "if" command of the ngx_http_ssi_module. 22977</para> 22978</change> 22979 22980<change type="bugfix"> 22981<para lang="ru"> 22982при задании относительного пути в директивах 22983client_body_temp_path, proxy_temp_path, fastcgi_temp_path и perl_modules 22984использовался каталог относительно текущего каталога, а не относительно 22985префикса сервера. 22986</para> 22987<para lang="en"> 22988if the relative path was specified in the "client_body_temp_path", 22989"proxy_temp_path", "fastcgi_temp_path", and "perl_modules" directives, 22990then the directory was used relatively to a current path but not 22991to a server prefix. 22992</para> 22993</change> 22994 22995</changes> 22996 22997 22998<changes ver="0.3.35" date="2006-03-22"> 22999 23000<change type="bugfix"> 23001<para lang="ru"> 23002accept-фильтр и TCP_DEFER_ACCEPT устанавливались только для первой 23003директивы listen; 23004ошибка появилась в 0.3.31. 23005</para> 23006<para lang="en"> 23007the accept-filter and the TCP_DEFER_ACCEPT option were set for first "listen" 23008directive only; 23009the bug had appeared in 0.3.31. 23010</para> 23011</change> 23012 23013<change type="bugfix"> 23014<para lang="ru"> 23015в директиве proxy_pass без URI при использовании в подзапросе. 23016</para> 23017<para lang="en"> 23018in the "proxy_pass" directive without the URI part in a subrequest. 23019</para> 23020</change> 23021 23022</changes> 23023 23024 23025<changes ver="0.3.34" date="2006-03-21"> 23026 23027<change type="feature"> 23028<para lang="ru"> 23029директива add_header поддерживает переменные. 23030</para> 23031<para lang="en"> 23032the "add_header" directive supports the variables. 23033</para> 23034</change> 23035 23036</changes> 23037 23038 23039<changes ver="0.3.33" date="2006-03-15"> 23040 23041<change type="feature"> 23042<para lang="ru"> 23043параметр http_503 в директивах proxy_next_upstream или fastcgi_next_upstream. 23044</para> 23045<para lang="en"> 23046the "http_503" parameter of the "proxy_next_upstream" or 23047"fastcgi_next_upstream" directives. 23048</para> 23049</change> 23050 23051<change type="bugfix"> 23052<para lang="ru"> 23053ngx_http_perl_module не работал со встроенным в конфигурационный файл кодом, 23054если он не начинался сразу же с "sub". 23055</para> 23056<para lang="en"> 23057ngx_http_perl_module did not work with inlined in the configuration code, 23058if it was not started with the "sub" word. 23059</para> 23060</change> 23061 23062<change type="bugfix"> 23063<para lang="ru"> 23064в директиве post_action. 23065</para> 23066<para lang="en"> 23067in the "post_action" directive. 23068</para> 23069</change> 23070 23071</changes> 23072 23073 23074<changes ver="0.3.32" date="2006-03-11"> 23075 23076<change type="bugfix"> 23077<para lang="ru"> 23078удаление отладочного логгирования на старте и при переконфигурации; 23079ошибка появилась в 0.3.31. 23080</para> 23081<para lang="en"> 23082the debug logging on startup and reconfiguration time was removed; 23083the bug had appeared in 0.3.31. 23084</para> 23085</change> 23086 23087</changes> 23088 23089 23090<changes ver="0.3.31" date="2006-03-10"> 23091 23092<change type="change"> 23093<para lang="ru"> 23094теперь nginx передаёт неверные ответы проксированного бэкенда. 23095</para> 23096<para lang="en"> 23097now nginx passes the malformed proxied backend responses. 23098</para> 23099</change> 23100 23101<change type="feature"> 23102<para lang="ru"> 23103директивы listen поддерживают адрес в виде "*:порт". 23104</para> 23105<para lang="en"> 23106the "listen" directives support the address in the "*:port" form. 23107</para> 23108</change> 23109 23110<change type="feature"> 23111<para lang="ru"> 23112поддержка EVFILER_TIMER в MacOSX 10.4. 23113</para> 23114<para lang="en"> 23115the EVFILER_TIMER support in MacOSX 10.4. 23116</para> 23117</change> 23118 23119<change type="workaround"> 23120<para lang="ru"> 23121обход ошибки обработки миллисекундных таймаутов kqueue в 64-битном ядре 23122MacOSX.<br/> 23123Спасибо Андрею Нигматулину. 23124</para> 23125<para lang="en"> 23126for MacOSX 64-bit kernel kqueue millisecond timeout bug.<br/> 23127Thanks to Andrei Nigmatulin. 23128</para> 23129</change> 23130 23131<change type="bugfix"> 23132<para lang="ru"> 23133если внутри одного сервера описаны несколько директив listen, слушающих на 23134разных адресах, то имена серверов вида "*.domain.tld" работали только 23135для первого адреса; 23136ошибка появилась в 0.3.18. 23137</para> 23138<para lang="en"> 23139if there were several "listen" directives listening one various addresses 23140inside one server, then server names like "*.domain.tld" worked for first 23141address only; 23142the bug had appeared in 0.3.18. 23143</para> 23144</change> 23145 23146<change type="bugfix"> 23147<para lang="ru"> 23148при использовании протокола HTTPS в директиве proxy_pass не передавались 23149запросы с телом, записанным во временный файл. 23150</para> 23151<para lang="en"> 23152if the HTTPS protocol was used in the "proxy_pass" directive and 23153the request body was in temporary file then the request was not transferred. 23154</para> 23155</change> 23156 23157<change type="bugfix"> 23158<para lang="ru"> 23159совместимость с perl 5.8.8. 23160</para> 23161<para lang="en"> 23162perl 5.8.8 compatibility. 23163</para> 23164</change> 23165 23166</changes> 23167 23168 23169<changes ver="0.3.30" date="2006-02-22"> 23170 23171<change type="change"> 23172<para lang="ru"> 23173уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. 23174</para> 23175<para lang="en"> 23176the ECONNABORTED error log level was changed to "error" from "crit". 23177</para> 23178</change> 23179 23180<change type="bugfix"> 23181<para lang="ru"> 23182модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. 23183</para> 23184<para lang="en"> 23185the ngx_http_perl_module could not be build without 23186the ngx_http_ssi_filter_module. 23187</para> 23188</change> 23189 23190<change type="bugfix"> 23191<para lang="ru"> 23192nginx не собирался на i386 платформе, если использовался PIC; 23193ошибка появилась в 0.3.27. 23194</para> 23195<para lang="en"> 23196nginx could not be built on i386 platform, if the PIC was used; 23197the bug had appeared in 0.3.27. 23198</para> 23199</change> 23200 23201</changes> 23202 23203 23204<changes ver="0.3.29" date="2006-02-20"> 23205 23206<change type="feature"> 23207<para lang="ru"> 23208теперь nginx использует меньше памяти, если PHP в режиме FastCGI передаёт 23209большое количество предупреждений перед ответом. 23210</para> 23211<para lang="en"> 23212now nginx uses less memory, if PHP in FastCGI mode sends many warnings 23213before the response. 23214</para> 23215</change> 23216 23217<change type="bugfix"> 23218<para lang="ru"> 23219в ответах 204 для запросов версии HTTP/1.1 выдавалась строка заголовка 23220"Transfer-Encoding: chunked". 23221</para> 23222<para lang="en"> 23223the "Transfer-Encoding: chunked" header line was issued in the 204 responses 23224for the HTTP/1.1 requests. 23225</para> 23226</change> 23227 23228<change type="bugfix"> 23229<para lang="ru"> 23230nginx возвращал 502 код ответа, если FastCGI сервер передавал полные строки 23231заголовка ответа в отдельных FastCGI записях. 23232</para> 23233<para lang="en"> 23234nginx returned the 502 response, if the complete response header lines 23235were transferred in a separate FastCGI records. 23236</para> 23237</change> 23238 23239<change type="bugfix"> 23240<para lang="ru"> 23241если в директиве post_action был указан проксируемый URI, то он выполнялся 23242только после успешного завершения запроса. 23243</para> 23244<para lang="en"> 23245if the proxied URI was specified in the "post_action" directive, then it ran 23246only after a successful completion of a request. 23247</para> 23248</change> 23249 23250</changes> 23251 23252 23253<changes ver="0.3.28" date="2006-02-16"> 23254 23255<change type="feature"> 23256<para lang="ru"> 23257директива restrict_host_names упразднена. 23258</para> 23259<para lang="en"> 23260the "restrict_host_names" directive was canceled. 23261</para> 23262</change> 23263 23264<change type="feature"> 23265<para lang="ru"> 23266параметр конфигурации --with-cpu-opt=ppc64. 23267</para> 23268<para lang="en"> 23269the --with-cpu-opt=ppc64 configuration parameter. 23270</para> 23271</change> 23272 23273<change type="bugfix"> 23274<para lang="ru"> 23275при некоторых условиях проксированное соединение с клиентом завершалось 23276преждевременно.<br/> 23277Спасибо Владимиру Шутову. 23278</para> 23279<para lang="en"> 23280on some condition the proxied connection with a client was terminated 23281prematurely.<br/> 23282Thanks to Vladimir Shutoff. 23283</para> 23284</change> 23285 23286<change type="bugfix"> 23287<para lang="ru"> 23288строка заголовка "X-Accel-Limit-Rate" не учитывалась для запросов, 23289перенаправленных с помощью строки "X-Accel-Redirect". 23290</para> 23291<para lang="en"> 23292the "X-Accel-Limit-Rate" header line was not taken into account 23293if the request was redirected using the "X-Accel-Redirect" header line. 23294</para> 23295</change> 23296 23297<change type="bugfix"> 23298<para lang="ru"> 23299директива post_action работала только после успешного завершения запроса. 23300</para> 23301<para lang="en"> 23302the "post_action" directive ran only after a successful completion of a request. 23303</para> 23304</change> 23305 23306<change type="bugfix"> 23307<para lang="ru"> 23308тело проксированного ответа, создаваемого директивой post_action, 23309передавалось клиенту. 23310</para> 23311<para lang="en"> 23312the proxied response body generated by the "post_action" directive 23313was transferred to a client. 23314</para> 23315</change> 23316 23317</changes> 23318 23319 23320<changes ver="0.3.27" date="2006-02-08"> 23321 23322<change type="change"> 23323<para lang="ru"> 23324директивы variables_hash_max_size и variables_hash_bucket_size. 23325</para> 23326<para lang="en"> 23327the "variables_hash_max_size" and "variables_hash_bucket_size" directives. 23328</para> 23329</change> 23330 23331<change type="feature"> 23332<para lang="ru"> 23333переменная $body_bytes_sent доступна не только в директиве log_format. 23334</para> 23335<para lang="en"> 23336the $body_bytes_sent variable can be used not only in the "log_format" 23337directive. 23338</para> 23339</change> 23340 23341<change type="feature"> 23342<para lang="ru"> 23343переменные $ssl_protocol и $ssl_cipher. 23344</para> 23345<para lang="en"> 23346the $ssl_protocol and $ssl_cipher variables. 23347</para> 23348</change> 23349 23350<change type="feature"> 23351<para lang="ru"> 23352определение размера строки кэша распространённых процессоров при старте. 23353</para> 23354<para lang="en"> 23355the cache line size detection for widespread CPUs at start time. 23356</para> 23357</change> 23358 23359<change type="feature"> 23360<para lang="ru"> 23361директива accept_mutex теперь поддерживается посредством fcntl(2) 23362на платформах, отличных от i386, amd64, sparc64 и ppc. 23363</para> 23364<para lang="en"> 23365now the "accept_mutex" directive is supported using fcntl(2) 23366on platforms different from i386, amd64, sparc64, and ppc. 23367</para> 23368</change> 23369 23370<change type="feature"> 23371<para lang="ru"> 23372директива lock_file и параметр автоконфигурации --with-lock-path=PATH. 23373</para> 23374<para lang="en"> 23375the "lock_file" directive and the --with-lock-path=PATH autoconfiguration 23376directive. 23377</para> 23378</change> 23379 23380<change type="bugfix"> 23381<para lang="ru"> 23382при использовании протокола HTTPS в директиве proxy_pass не передавались 23383запросы с телом. 23384</para> 23385<para lang="en"> 23386if the HTTPS protocol was used in the "proxy_pass" directive then 23387the requests with the body was not transferred. 23388</para> 23389</change> 23390 23391</changes> 23392 23393 23394<changes ver="0.3.26" date="2006-02-03"> 23395 23396<change type="change"> 23397<para lang="ru"> 23398директива optimize_host_names переименована в optimize_server_names. 23399</para> 23400<para lang="en"> 23401the "optimize_host_names" directive was renamed to the "optimize_server_names". 23402</para> 23403</change> 23404 23405<change type="bugfix"> 23406<para lang="ru"> 23407при проксировании подзапроса в SSI бэкенду передавался URI основного запроса, 23408если в директиве proxy_pass отсутствовал URI. 23409</para> 23410<para lang="en"> 23411if in the "proxy_pass" directive was no the URI part, then the main request 23412URI was transferred to a backend while proxying the SSI subrequest. 23413</para> 23414</change> 23415 23416</changes> 23417 23418 23419<changes ver="0.3.25" date="2006-02-01"> 23420 23421<change type="bugfix"> 23422<para lang="ru"> 23423при неверной конфигурации на старте или во время переконфигурации происходил 23424segmentation fault; 23425ошибка появилась в 0.3.24. 23426</para> 23427<para lang="en"> 23428the segmentation fault was occurred on start or while reconfiguration 23429if there was invalid configuration; 23430the bug had appeared in 0.3.24. 23431</para> 23432</change> 23433 23434</changes> 23435 23436 23437<changes ver="0.3.24" date="2006-02-01"> 23438 23439<change type="workaround"> 23440<para lang="ru"> 23441обход ошибки в kqueue во FreeBSD. 23442</para> 23443<para lang="en"> 23444for bug in FreeBSD kqueue. 23445</para> 23446</change> 23447 23448<change type="bugfix"> 23449<para lang="ru"> 23450ответ, создаваемый директивой post_action, теперь не передаётся клиенту. 23451</para> 23452<para lang="en"> 23453now a response generated by the "post_action" directive is not transferred 23454to a client. 23455</para> 23456</change> 23457 23458<change type="bugfix"> 23459<para lang="ru"> 23460при использовании большого количества лог-файлов происходила утечка памяти. 23461</para> 23462<para lang="en"> 23463the memory leaks were occurring if many log files were used. 23464</para> 23465</change> 23466 23467<change type="bugfix"> 23468<para lang="ru"> 23469внутри одного location работала только первая директива proxy_redirect. 23470</para> 23471<para lang="en"> 23472the first "proxy_redirect" directive was working inside one location. 23473</para> 23474</change> 23475 23476<change type="bugfix"> 23477<para lang="ru"> 23478на 64-битных платформах при старте мог произойти segmentation fault, 23479если использовалось большое количество имён в директивах server_name; 23480ошибка появилась в 0.3.18. 23481</para> 23482<para lang="en"> 23483on 64-bit platforms segmentation fault may occurred on start 23484if the many names were used in the "server_name" directives; 23485the bug had appeared in 0.3.18. 23486</para> 23487</change> 23488 23489</changes> 23490 23491 23492<changes ver="0.3.23" date="2006-01-24"> 23493 23494<change type="feature"> 23495<para lang="ru"> 23496директива optimize_host_names. 23497</para> 23498<para lang="en"> 23499the "optimize_host_names" directive. 23500</para> 23501</change> 23502 23503<change type="bugfix"> 23504<para lang="ru"> 23505ошибки при использовании переменных в директивах path и alias. 23506</para> 23507<para lang="en"> 23508in using of the variables in the "path" and "alias" directives. 23509</para> 23510</change> 23511 23512<change type="bugfix"> 23513<para lang="ru"> 23514модуль ngx_http_perl_module неправильно собирался на Linux и Solaris. 23515</para> 23516<para lang="en"> 23517the ngx_http_perl_module was incorrectly built on Linux and Solaris. 23518</para> 23519</change> 23520 23521</changes> 23522 23523 23524<changes ver="0.3.22" date="2006-01-17"> 23525 23526<change type="feature"> 23527<para lang="ru"> 23528модуль ngx_http_perl_module поддерживает методы $r->args и $r->unescape. 23529</para> 23530<para lang="en"> 23531the ngx_http_perl_module supports the $r->args and $r->unescape methods. 23532</para> 23533</change> 23534 23535<change type="feature"> 23536<para lang="ru"> 23537метод $r->query_string в модуле ngx_http_perl_module упразднён. 23538</para> 23539<para lang="en"> 23540the method $r->query_string of ngx_http_perl_module was canceled. 23541</para> 23542</change> 23543 23544<change type="bugfix"> 23545<para lang="ru"> 23546если в директиве valid_referers указаны только none или blocked, то 23547происходил segmentation fault; 23548ошибка появилась в 0.3.18. 23549</para> 23550<para lang="en"> 23551segmentation fault was occurred if the "none" or "blocked" values was 23552specified in the "valid_referers" directive; 23553the bug had appeared in 0.3.18. 23554</para> 23555</change> 23556 23557</changes> 23558 23559 23560<changes ver="0.3.21" date="2006-01-16"> 23561 23562<change type="feature"> 23563<para lang="ru"> 23564модуль ngx_http_perl_module. 23565</para> 23566<para lang="en"> 23567the ngx_http_perl_module. 23568</para> 23569</change> 23570 23571<change type="change"> 23572<para lang="ru"> 23573директива valid_referers разрешает использовать рефереры совсем без URI. 23574</para> 23575<para lang="en"> 23576the "valid_referers" directive allows the referrers without URI part. 23577</para> 23578</change> 23579 23580</changes> 23581 23582 23583<changes ver="0.3.20" date="2006-01-11"> 23584 23585<change type="bugfix"> 23586<para lang="ru"> 23587ошибки в обработке SSI. 23588</para> 23589<para lang="en"> 23590in SSI handling. 23591</para> 23592</change> 23593 23594<change type="bugfix"> 23595<para lang="ru"> 23596модуль ngx_http_memcached_module не поддерживал ключи в виде /uri?args. 23597</para> 23598<para lang="en"> 23599the ngx_http_memcached_module did not support the keys in the "/usr?args" form. 23600</para> 23601</change> 23602 23603</changes> 23604 23605<changes ver="0.3.19" date="2005-12-28"> 23606 23607<change type="feature"> 23608<para lang="ru"> 23609директивы path и alias поддерживают переменные. 23610</para> 23611<para lang="en"> 23612the "path" and "alias" directives support the variables. 23613</para> 23614</change> 23615 23616<change type="change"> 23617<para lang="ru"> 23618теперь директива valid_referers опять учитывает URI. 23619</para> 23620<para lang="en"> 23621now the "valid_referers" directive again checks the URI part. 23622</para> 23623</change> 23624 23625<change type="bugfix"> 23626<para lang="ru"> 23627ошибки в обработке SSI. 23628</para> 23629<para lang="en"> 23630in SSI handling. 23631</para> 23632</change> 23633 23634</changes> 23635 23636 23637<changes ver="0.3.18" date="2005-12-26"> 23638 23639<change type="feature"> 23640<para lang="ru"> 23641директива server_names поддерживает имена вида ".domain.tld". 23642</para> 23643<para lang="en"> 23644the "server_names" directive supports the ".domain.tld" names. 23645</para> 23646</change> 23647 23648<change type="feature"> 23649<para lang="ru"> 23650директива server_names использует хэш для имён вида "*.domain.tld" 23651и более эффективный хэш для обычных имён. 23652</para> 23653<para lang="en"> 23654the "server_names" directive uses the hash for the "*.domain.tld" names 23655and more effective hash for usual names. 23656</para> 23657</change> 23658 23659<change type="change"> 23660<para lang="ru"> 23661директивы server_names_hash_max_size и server_names_hash_bucket_size. 23662</para> 23663<para lang="en"> 23664the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. 23665</para> 23666</change> 23667 23668<change type="change"> 23669<para lang="ru"> 23670директивы server_names_hash и server_names_hash_threshold упразднены. 23671</para> 23672<para lang="en"> 23673the "server_names_hash" and "server_names_hash_threshold" directives 23674were canceled. 23675</para> 23676</change> 23677 23678<change type="feature"> 23679<para lang="ru"> 23680директива valid_referers использует хэш для имён сайтов. 23681</para> 23682<para lang="en"> 23683the "valid_referers" directive uses the hash site names. 23684</para> 23685</change> 23686 23687<change type="change"> 23688<para lang="ru"> 23689теперь директива valid_referers проверяет только имена сайтов без учёта URI. 23690</para> 23691<para lang="en"> 23692now the "valid_referers" directive checks the site names only without 23693the URI part. 23694</para> 23695</change> 23696 23697<change type="bugfix"> 23698<para lang="ru"> 23699некоторые имена вида ".domain.tld" неверно обрабатывались модулем 23700ngx_http_map_module. 23701</para> 23702<para lang="en"> 23703some ".domain.tld" names incorrectly processed by the ngx_http_map_module. 23704</para> 23705</change> 23706 23707<change type="bugfix"> 23708<para lang="ru"> 23709если конфигурационного файла не было, то происходил segmentation fault; 23710ошибка появилась в 0.3.12. 23711</para> 23712<para lang="en"> 23713segmentation fault was occurred if configuration file did not exist; 23714the bug had appeared in 0.3.12. 23715</para> 23716</change> 23717 23718<change type="bugfix"> 23719<para lang="ru"> 23720на 64-битных платформах при старте мог произойти segmentation fault; 23721ошибка появилась в 0.3.16. 23722</para> 23723<para lang="en"> 23724on 64-bit platforms segmentation fault may occurred on start; 23725the bug had appeared in 0.3.16. 23726</para> 23727</change> 23728 23729</changes> 23730 23731 23732<changes ver="0.3.17" date="2005-12-18"> 23733 23734<change type="change"> 23735<para lang="ru"> 23736на Linux configure теперь проверяет наличие epoll и sendfile64() в ядре. 23737</para> 23738<para lang="en"> 23739now on Linux configure checks the presence of epoll and sendfile64() in kernel. 23740</para> 23741</change> 23742 23743<change type="feature"> 23744<para lang="ru"> 23745директива map поддерживает доменные имена в формате ".domain.tld". 23746</para> 23747<para lang="en"> 23748the "map" directive supports domain names in the ".domain.tld" form. 23749</para> 23750</change> 23751 23752<change type="bugfix"> 23753<para lang="ru"> 23754во время SSL handshake не иcпользовались таймауты; 23755ошибка появилась в 0.2.4. 23756</para> 23757<para lang="en"> 23758the timeouts were not used in SSL handshake; 23759the bug had appeared in 0.2.4. 23760</para> 23761</change> 23762 23763<change type="bugfix"> 23764<para lang="ru"> 23765в использовании протокола HTTPS в директиве proxy_pass. 23766</para> 23767<para lang="en"> 23768in the HTTPS protocol in the "proxy_pass" directive. 23769</para> 23770</change> 23771 23772<change type="bugfix"> 23773<para lang="ru"> 23774при использовании протокола HTTPS в директиве proxy_pass по умолчанию 23775использовался порт 80. 23776</para> 23777<para lang="en"> 23778when the HTTPS protocol was used in the "proxy_pass" directive the port 80 23779was used by default. 23780</para> 23781</change> 23782 23783</changes> 23784 23785 23786<changes ver="0.3.16" date="2005-12-16"> 23787 23788<change type="feature"> 23789<para lang="ru"> 23790модуль ngx_http_map_module. 23791</para> 23792<para lang="en"> 23793the ngx_http_map_module. 23794</para> 23795</change> 23796 23797<change type="feature"> 23798<para lang="ru"> 23799директивы types_hash_max_size и types_hash_bucket_size. 23800</para> 23801<para lang="en"> 23802the "types_hash_max_size" and "types_hash_bucket_size" directives. 23803</para> 23804</change> 23805 23806<change type="feature"> 23807<para lang="ru"> 23808директива ssi_value_length. 23809</para> 23810<para lang="en"> 23811the "ssi_value_length" directive. 23812</para> 23813</change> 23814 23815<change type="feature"> 23816<para lang="ru"> 23817директива worker_rlimit_core. 23818</para> 23819<para lang="en"> 23820the "worker_rlimit_core" directive. 23821</para> 23822</change> 23823 23824<change type="workaround"> 23825<para lang="ru"> 23826при сборке компиляторами icc 8.1 и 9.0 с оптимизацией для 23827<nobr>Pentium 4</nobr> номер соединения в логах всегда был равен 1. 23828</para> 23829<para lang="en"> 23830the connection number in logs was always 1 if nginx was built by the 23831icc 8.1 or 9.0 compilers with optimization for <nobr>Pentium 4.</nobr> 23832</para> 23833</change> 23834 23835<change type="bugfix"> 23836<para lang="ru"> 23837команда config timefmt в SSI задавала неверный формат времени. 23838</para> 23839<para lang="en"> 23840the "config timefmt" SSI command set incorrect time format. 23841</para> 23842</change> 23843 23844<change type="bugfix"> 23845<para lang="ru"> 23846nginx не закрывал соединения с IMAP/POP3 бэкендом при использовании SSL 23847соединений; 23848ошибка появилась в 0.3.13.<br/> 23849Спасибо Rob Mueller. 23850</para> 23851<para lang="en"> 23852nginx did not close connection to IMAP/POP3 backend for the SSL 23853connections; 23854the bug had appeared in 0.3.13.<br/> 23855Thanks to Rob Mueller. 23856</para> 23857</change> 23858 23859<change type="bugfix"> 23860<para lang="ru"> 23861segmentation fault мог произойти во время SSL shutdown; 23862ошибка появилась в 0.3.13. 23863</para> 23864<para lang="en"> 23865segmentation fault may occurred in at SSL shutdown; 23866the bug had appeared in 0.3.13. 23867</para> 23868</change> 23869 23870</changes> 23871 23872 23873<changes ver="0.3.15" date="2005-12-07"> 23874 23875<change type="feature"> 23876<para lang="ru"> 23877новой код 444 в директиве return для закрытия соединения. 23878</para> 23879<para lang="en"> 23880the new 444 code of the "return" directive to close connection. 23881</para> 23882</change> 23883 23884<change type="feature"> 23885<para lang="ru"> 23886директива so_keepalive в IMAP/POP3 прокси. 23887</para> 23888<para lang="en"> 23889the "so_keepalive" directive in IMAP/POP3 proxy. 23890</para> 23891</change> 23892 23893<change type="bugfix"> 23894<para lang="ru"> 23895nginx теперь вызывает abort() при обнаружении незакрытых соединений 23896только при плавном выходе и включённой директиве debug_points. 23897</para> 23898<para lang="en"> 23899if there are unclosed connection nginx now calls abort() only on graceful 23900quit and active "debug_points" directive. 23901</para> 23902</change> 23903 23904</changes> 23905 23906 23907<changes ver="0.3.14" date="2005-12-05"> 23908 23909<change type="bugfix"> 23910<para lang="ru"> 23911в ответе 304 передавалось тело ответа; 23912ошибка появилась в 0.3.13. 23913</para> 23914<para lang="en"> 23915in the 304 response the body was transferred; 23916the bug had appeared in 0.3.13. 23917</para> 23918</change> 23919 23920</changes> 23921 23922 23923<changes ver="0.3.13" date="2005-12-05"> 23924 23925<change type="feature"> 23926<para lang="ru"> 23927IMAP/POP3 прокси поддерживает STARTTLS и STLS. 23928</para> 23929<para lang="en"> 23930the IMAP/POP3 proxy supports STARTTLS and STLS. 23931</para> 23932</change> 23933 23934<change type="bugfix"> 23935<para lang="ru"> 23936IMAP/POP3 прокси не работала с методами select, poll и /dev/poll. 23937</para> 23938<para lang="en"> 23939the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. 23940</para> 23941</change> 23942 23943<change type="bugfix"> 23944<para lang="ru"> 23945ошибки в обработке SSI. 23946</para> 23947<para lang="en"> 23948in SSI handling. 23949</para> 23950</change> 23951 23952<change type="bugfix"> 23953<para lang="ru"> 23954sendfilev() в Solaris теперь не используется при передаче тела запроса 23955FastCGI-серверу через unix domain сокет. 23956</para> 23957<para lang="en"> 23958now Solaris sendfilev() is not used to transfer the client request body 23959to FastCGI-server via the unix domain socket. 23960</para> 23961</change> 23962 23963<change type="bugfix"> 23964<para lang="ru"> 23965директива auth_basic не запрещала аутентификацию; 23966ошибка появилась в 0.3.11. 23967</para> 23968<para lang="en"> 23969the "auth_basic" directive did not disable the authorization; 23970the bug had appeared in 0.3.11. 23971</para> 23972</change> 23973 23974</changes> 23975 23976 23977<changes ver="0.3.12" date="2005-11-26"> 23978 23979<change type="security"> 23980<para lang="ru"> 23981если nginx был собран с модулем ngx_http_realip_module, то при использовании 23982директивы "satisfy_any on" директивы доступа и аутентификации не работали. 23983Модуль ngx_http_realip_module не собирался и не собирается по умолчанию. 23984</para> 23985<para lang="en"> 23986if nginx was built with the ngx_http_realip_module and the "satisfy_any on" 23987directive was used, then access and authorization directives did not work. 23988The ngx_http_realip_module was not built and is not built by default. 23989</para> 23990</change> 23991 23992<change type="change"> 23993<para lang="ru"> 23994имя переменной "$time_gmt" изменено на "$time_local". 23995</para> 23996<para lang="en"> 23997the "$time_gmt" variable name was changed to "$time_local". 23998</para> 23999</change> 24000 24001<change type="change"> 24002<para lang="ru"> 24003директивы proxy_header_buffer_size и fastcgi_header_buffer_size 24004переименованы соответственно в proxy_buffer_size и fastcgi_buffer_size. 24005</para> 24006<para lang="en"> 24007the "proxy_header_buffer_size" and "fastcgi_header_buffer_size" directives 24008was renamed to the "proxy_buffer_size" and "fastcgi_buffer_size" directives. 24009</para> 24010</change> 24011 24012<change type="feature"> 24013<para lang="ru"> 24014модуль ngx_http_memcached_module. 24015</para> 24016<para lang="en"> 24017the ngx_http_memcached_module. 24018</para> 24019</change> 24020 24021<change type="feature"> 24022<para lang="ru"> 24023директива proxy_buffering. 24024</para> 24025<para lang="en"> 24026the "proxy_buffering" directive. 24027</para> 24028</change> 24029 24030<change type="bugfix"> 24031<para lang="ru"> 24032изменение в работе с accept mutex при использовании метода rtsig; 24033ошибка появилась в 0.3.0. 24034</para> 24035<para lang="en"> 24036the changes in accept mutex handling when the "rtsig" method was used; 24037the bug had appeared in 0.3.0. 24038</para> 24039</change> 24040 24041<change type="bugfix"> 24042<para lang="ru"> 24043если клиент передал строку "Transfer-Encoding: chunked" в заголовке 24044запроса, то nginx теперь выдаёт ошибку 411. 24045</para> 24046<para lang="en"> 24047if the client sent the "Transfer-Encoding: chunked" header line, then 24048nginx returns the 411 error. 24049</para> 24050</change> 24051 24052<change type="bugfix"> 24053<para lang="ru"> 24054при наследовании директивы auth_basic с уровня http в строке 24055"WWW-Authenticate" заголовка ответа выводился realm без текста "Basic realm". 24056</para> 24057<para lang="en"> 24058if the "auth_basic" directive was inherited from the http level, 24059then the realm in the "WWW-Authenticate" header line was without 24060the "Basic realm" text. 24061</para> 24062</change> 24063 24064<change type="bugfix"> 24065<para lang="ru"> 24066если в директиве access_log был явно указан формат combined, то в лог 24067записывались пустые строки; 24068ошибка появилась в 0.3.8. 24069</para> 24070<para lang="en"> 24071if the "combined" format was explicitly specified in the "access_log" directive, 24072then the empty lines was written to the log; 24073the bug had appeared in 0.3.8. 24074</para> 24075</change> 24076 24077<change type="bugfix"> 24078<para lang="ru"> 24079nginx не работал на платформе sparc под любыми OS, кроме Solaris. 24080</para> 24081<para lang="en"> 24082nginx did not run on the sparc platform under any OS except Solaris. 24083</para> 24084</change> 24085 24086<change type="bugfix"> 24087<para lang="ru"> 24088в директиве if теперь не нужно разделять пробелом строку в кавычках и 24089закрывающую скобку. 24090</para> 24091<para lang="en"> 24092now it is not necessary to place space between the quoted string and closing 24093bracket in the "if" directive. 24094</para> 24095</change> 24096 24097</changes> 24098 24099 24100<changes ver="0.3.11" date="2005-11-15"> 24101 24102<change type="bugfix"> 24103<para lang="ru"> 24104nginx не передавал при проксировании тело запроса и строки заголовка клиента; 24105ошибка появилась в 0.3.10. 24106</para> 24107<para lang="en"> 24108nginx did not pass the client request headers and body while proxying; 24109the bug had appeared in 0.3.10. 24110</para> 24111</change> 24112 24113</changes> 24114 24115 24116<changes ver="0.3.10" date="2005-11-15"> 24117 24118<change type="change"> 24119<para lang="ru"> 24120директива valid_referers и переменная $invalid_referer перенесены 24121из модуля ngx_http_rewrite_module в новый модуль ngx_http_referer_module. 24122</para> 24123<para lang="en"> 24124the "valid_referers" directive and the "$invalid_referer" variable 24125were moved to the new ngx_http_referer_module from the ngx_http_rewrite_module. 24126</para> 24127</change> 24128 24129<change type="change"> 24130<para lang="ru"> 24131имя переменной "$apache_bytes_sent" изменено на "$body_bytes_sent". 24132</para> 24133<para lang="en"> 24134the "$apache_bytes_sent" variable name was changed to "$body_bytes_sent". 24135</para> 24136</change> 24137 24138<change type="feature"> 24139<para lang="ru"> 24140переменные "$sent_http_...". 24141</para> 24142<para lang="en"> 24143the "$sent_http_..." variables. 24144</para> 24145</change> 24146 24147<change type="feature"> 24148<para lang="ru"> 24149директива if поддерживает операции "=" и "!=". 24150</para> 24151<para lang="en"> 24152the "if" directive supports the "=" and "!=" operations. 24153</para> 24154</change> 24155 24156<change type="feature"> 24157<para lang="ru"> 24158директива proxy_pass поддерживает протокол HTTPS. 24159</para> 24160<para lang="en"> 24161the "proxy_pass" directive supports the HTTPS protocol. 24162</para> 24163</change> 24164 24165<change type="feature"> 24166<para lang="ru"> 24167директива proxy_set_body. 24168</para> 24169<para lang="en"> 24170the "proxy_set_body" directive. 24171</para> 24172</change> 24173 24174<change type="feature"> 24175<para lang="ru"> 24176директива post_action. 24177</para> 24178<para lang="en"> 24179the "post_action" directive. 24180</para> 24181</change> 24182 24183<change type="feature"> 24184<para lang="ru"> 24185модуль ngx_http_empty_gif_module. 24186</para> 24187<para lang="en"> 24188the ngx_http_empty_gif_module. 24189</para> 24190</change> 24191 24192<change type="feature"> 24193<para lang="ru"> 24194директива worker_cpu_affinity для Linux. 24195</para> 24196<para lang="en"> 24197the "worker_cpu_affinity" directive for Linux. 24198</para> 24199</change> 24200 24201<change type="bugfix"> 24202<para lang="ru"> 24203директива rewrite не раскодировала символы в редиректах в URI, 24204теперь символы раскодируются, кроме символов %00-%25 и %7F-%FF. 24205</para> 24206<para lang="en"> 24207the "rewrite" directive did not unescape URI part in redirect, 24208now it is unescaped except the %00-%25 and %7F-%FF characters. 24209</para> 24210</change> 24211 24212<change type="bugfix"> 24213<para lang="ru"> 24214nginx не собирался компилятором icc 9.0. 24215</para> 24216<para lang="en"> 24217nginx could not be built by the icc 9.0 compiler. 24218</para> 24219</change> 24220 24221<change type="bugfix"> 24222<para lang="ru"> 24223если для статического файла нулевого размера был разрешён SSI, 24224то ответ передавался неверно при кодировании chunk'ами. 24225</para> 24226<para lang="en"> 24227if the SSI was enabled for zero size static file, then the chunked 24228response was encoded incorrectly. 24229</para> 24230</change> 24231 24232</changes> 24233 24234 24235<changes ver="0.3.9" date="2005-11-10"> 24236 24237<change type="bugfix"> 24238<para lang="ru"> 24239nginx считал небезопасными URI, в которых между двумя слэшами 24240находилось два любых символа; 24241ошибка появилась в 0.3.8. 24242</para> 24243<para lang="en"> 24244nginx considered URI as unsafe if two any symbols was between two slashes; 24245the bug had appeared in 0.3.8. 24246</para> 24247</change> 24248 24249</changes> 24250 24251 24252<changes ver="0.3.8" date="2005-11-09"> 24253 24254<change type="security"> 24255<para lang="ru"> 24256nginx теперь проверят URI, полученные от бэкенда в строке "X-Accel-Redirect" 24257в заголовке ответа, или в SSI файле на наличие путей "/../" и нулей. 24258</para> 24259<para lang="en"> 24260nginx now checks URI got from a backend in "X-Accel-Redirect" header line 24261or in SSI file for the "/../" paths and zeroes. 24262</para> 24263</change> 24264 24265<change type="change"> 24266<para lang="ru"> 24267nginx теперь не воспринимает пустое имя как правильное 24268в строке "Authorization" в заголовке запроса. 24269</para> 24270<para lang="en"> 24271nginx now does not treat the empty user name in the "Authorization" header 24272line as valid one. 24273</para> 24274</change> 24275 24276<change type="feature"> 24277<para lang="ru"> 24278директива ssl_session_timeout модулей 24279ngx_http_ssl_module и ngx_imap_ssl_module. 24280</para> 24281<para lang="en"> 24282the "ssl_session_timeout" directives 24283of the ngx_http_ssl_module and ngx_imap_ssl_module. 24284</para> 24285</change> 24286 24287<change type="feature"> 24288<para lang="ru"> 24289директива auth_http_header модуля ngx_imap_auth_http_module. 24290</para> 24291<para lang="en"> 24292the "auth_http_header" directive of the ngx_imap_auth_http_module. 24293</para> 24294</change> 24295 24296<change type="feature"> 24297<para lang="ru"> 24298директива add_header. 24299</para> 24300<para lang="en"> 24301the "add_header" directive. 24302</para> 24303</change> 24304 24305<change type="feature"> 24306<para lang="ru"> 24307модуль ngx_http_realip_module. 24308</para> 24309<para lang="en"> 24310the ngx_http_realip_module. 24311</para> 24312</change> 24313 24314<change type="feature"> 24315<para lang="ru"> 24316новые переменные для использования в директиве log_format: 24317$bytes_sent, $apache_bytes_sent, $status, $time_gmt, 24318$uri, $request_time, $request_length, 24319$upstream_status, $upstream_response_time, 24320$gzip_ratio, 24321$uid_got, $uid_set, 24322$connection, $pipe и $msec. 24323Параметры в виде "%name" скоро будут упразднены. 24324</para> 24325<para lang="en"> 24326the new variables to use in the "log_format" directive: 24327$bytes_sent, $apache_bytes_sent, $status, $time_gmt, 24328$uri, $request_time, $request_length, 24329$upstream_status, $upstream_response_time, 24330$gzip_ratio, 24331$uid_got, $uid_set, 24332$connection, $pipe, and $msec. 24333The parameters in the "%name" form will be canceled soon. 24334</para> 24335</change> 24336 24337<change type="change"> 24338<para lang="ru"> 24339в директиве "if" ложными значениями переменных теперь являются 24340пустая строка "" и строки, начинающиеся на "0". 24341</para> 24342<para lang="en"> 24343now the false variable values in the "if" directive are the empty string "" 24344and string starting with "0". 24345</para> 24346</change> 24347 24348<change type="bugfix"> 24349<para lang="ru"> 24350при работает с проксированными или FastCGI-серверами nginx мог оставлять 24351открытыми соединения и временные файлы с запросами клиентов. 24352</para> 24353<para lang="en"> 24354while using proxied or FastCGI-server nginx may leave connections 24355and temporary files with client requests in open state. 24356</para> 24357</change> 24358 24359<change type="bugfix"> 24360<para lang="ru"> 24361рабочие процессы не сбрасывали буферизированные логи при плавном выходе. 24362</para> 24363<para lang="en"> 24364the worker processes did not flush the buffered logs on graceful exit. 24365</para> 24366</change> 24367 24368<change type="bugfix"> 24369<para lang="ru"> 24370если URI запроса изменялось с помощью rewrite, а затем запрос проксировался 24371в location, заданном регулярным выражением, то бэкенду передавался 24372неверный запрос; 24373ошибка появилась в 0.2.6. 24374</para> 24375<para lang="en"> 24376if the request URI was changes by the "rewrite" directive and the request 24377was proxied in location given by regular expression, then the incorrect 24378request was transferred to backend; 24379the bug had appeared in 0.2.6. 24380</para> 24381</change> 24382 24383<change type="bugfix"> 24384<para lang="ru"> 24385директива expires не удаляла уже установленную строку заголовка "Expires". 24386</para> 24387<para lang="en"> 24388the "expires" directive did not remove the previous "Expires" header. 24389</para> 24390</change> 24391 24392<change type="bugfix"> 24393<para lang="ru"> 24394при использовании метода rtsig и нескольких рабочих процессах nginx 24395мог перестать принимать запросы. 24396</para> 24397<para lang="en"> 24398nginx may stop to accept requests if the "rtsig" method and several worker 24399processes were used. 24400</para> 24401</change> 24402 24403<change type="bugfix"> 24404<para lang="ru"> 24405в SSI командах неверно обрабатывались строки "\"" и "\'". 24406</para> 24407<para lang="en"> 24408the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. 24409</para> 24410</change> 24411 24412<change type="bugfix"> 24413<para lang="ru"> 24414если ответ заканчивался сразу же после SSI команды, то при использовании 24415сжатия ответ передавался не до конца или не передавался вообще. 24416</para> 24417<para lang="en"> 24418if the response was ended just after the SSI command and gzipping was used, 24419then the response did not transferred complete or did not transferred at all. 24420</para> 24421</change> 24422 24423</changes> 24424 24425 24426<changes ver="0.3.7" date="2005-10-27"> 24427 24428<change type="feature"> 24429<para lang="ru"> 24430директива access_log поддерживает параметр buffer=. 24431</para> 24432<para lang="en"> 24433the "access_log" supports the "buffer=" parameter. 24434</para> 24435</change> 24436 24437<change type="bugfix"> 24438<para lang="ru"> 24439nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 24440ошибка появилась в 0.3.2. 24441</para> 24442<para lang="en"> 24443nginx could not be built on platforms different from i386, amd64, sparc, 24444and ppc; 24445the bug had appeared in 0.3.2. 24446</para> 24447</change> 24448 24449</changes> 24450 24451 24452<changes ver="0.3.6" date="2005-10-24"> 24453 24454<change type="change"> 24455<para lang="ru"> 24456IMAP/POP3 прокси теперь не передаёт серверу авторизации пустой логин. 24457</para> 24458<para lang="en"> 24459now the IMAP/POP3 proxy do not send the empty login to authorization server. 24460</para> 24461</change> 24462 24463<change type="feature"> 24464<para lang="ru"> 24465директива log_format поддерживает переменные в виде $name. 24466</para> 24467<para lang="en"> 24468the "log_format" supports the variables in the $name form. 24469</para> 24470</change> 24471 24472<change type="bugfix"> 24473<para lang="ru"> 24474если хотя бы в одном сервере не было описано ни одной директивы listen, то 24475nginx не слушал на 80 порту; 24476ошибка появилась в 0.3.3. 24477</para> 24478<para lang="en"> 24479if at least in one server was no the "listen" directive, then nginx did not 24480listen on the 80 port; 24481the bug had appeared in 0.3.3. 24482</para> 24483</change> 24484 24485<change type="bugfix"> 24486<para lang="ru"> 24487если в директиве proxy_pass отсутствовал URI, то всегда использовался порт 80. 24488</para> 24489<para lang="en"> 24490if the URI part is omitted in "proxy_pass" directive, the 80 port was 24491always used. 24492</para> 24493</change> 24494 24495</changes> 24496 24497 24498<changes ver="0.3.5" date="2005-10-21"> 24499 24500<change type="bugfix"> 24501<para lang="ru"> 24502если логин IMAP/POP3 менялся сервером авторизации, то мог произойти 24503segmentation fault; 24504ошибка появилась в 0.2.2. 24505</para> 24506<para lang="en"> 24507the segmentation fault may occurred if the IMAP/POP3 login was changed 24508by authorization server; 24509the bug had appeared in 0.2.2. 24510</para> 24511</change> 24512 24513<change type="bugfix"> 24514<para lang="ru"> 24515accept mutex не работал, все соединения обрабатывались одним рабочим процессом; 24516ошибка появилась в 0.3.3. 24517</para> 24518<para lang="en"> 24519the accept mutex did not work and all connections were handled by one process; 24520the bug had appeared in 0.3.3. 24521</para> 24522</change> 24523 24524<change type="bugfix"> 24525<para lang="ru"> 24526при использовании метода rtsig и директивы timer_resolution 24527не работали таймауты. 24528</para> 24529<para lang="en"> 24530the timeout did not work if the "rtsig" method and the "timer_resolution" 24531directive were used. 24532</para> 24533</change> 24534 24535</changes> 24536 24537 24538<changes ver="0.3.4" date="2005-10-19"> 24539 24540<change type="bugfix"> 24541<para lang="ru"> 24542nginx не собирался на Linux 2.4+ и MacOS X; 24543ошибка появилась в 0.3.3. 24544</para> 24545<para lang="en"> 24546nginx could not be built on Linux 2.4+ and MacOS X; 24547the bug had appeared in 0.3.3. 24548</para> 24549</change> 24550 24551</changes> 24552 24553 24554<changes ver="0.3.3" date="2005-10-19"> 24555 24556<change type="change"> 24557<para lang="ru"> 24558параметры "bl" и "af" директивы listen переименованы в "backlog" 24559и "accept_filter". 24560</para> 24561<para lang="en"> 24562the "bl" and "af" parameters of the "listen" directive was renamed to 24563the "backlog" and "accept_filter". 24564</para> 24565</change> 24566 24567<change type="feature"> 24568<para lang="ru"> 24569параметры "rcvbuf" и "sndbuf" в директиве listen. 24570</para> 24571<para lang="en"> 24572the "rcvbuf" and "sndbuf" parameters of the "listen" directive. 24573</para> 24574</change> 24575 24576<change type="change"> 24577<para lang="ru"> 24578параметр лога $msec теперь не требует дополнительного системного 24579вызова gettimeofday(). 24580</para> 24581<para lang="en"> 24582the "$msec" log parameter does not require now the additional 24583the gettimeofday() system call. 24584</para> 24585</change> 24586 24587<change type="feature"> 24588<para lang="ru"> 24589ключ -t теперь проверяет директивы listen. 24590</para> 24591<para lang="en"> 24592the -t switch now tests the "listen" directives. 24593</para> 24594</change> 24595 24596<change type="bugfix"> 24597<para lang="ru"> 24598если в директиве listen был указан неверный адрес, то nginx после 24599сигнала -HUP оставлял открытый сокет в состоянии CLOSED. 24600</para> 24601<para lang="en"> 24602if the invalid address was specified in the "listen" directive, then 24603after the -HUP signal nginx left an open socket in the CLOSED state. 24604</para> 24605</change> 24606 24607<change type="bugfix"> 24608<para lang="ru"> 24609для индексных файлов, содержащих в имени переменную, мог неверно выставляться 24610тип mime по умолчанию; 24611ошибка появилась в 0.3.0. 24612</para> 24613<para lang="en"> 24614the mime type may be incorrectly set to default value for index file with 24615variable in the name; 24616the bug had appeared in 0.3.0. 24617</para> 24618</change> 24619 24620<change type="feature"> 24621<para lang="ru"> 24622директива timer_resolution. 24623</para> 24624<para lang="en"> 24625the "timer_resolution" directive. 24626</para> 24627</change> 24628 24629<change type="feature"> 24630<para lang="ru"> 24631параметр лога $upstream_response_time в миллисекундах. 24632</para> 24633<para lang="en"> 24634the millisecond "$upstream_response_time" log parameter. 24635</para> 24636</change> 24637 24638<change type="bugfix"> 24639<para lang="ru"> 24640временный файл с телом запроса клиента теперь удаляется сразу после того, 24641как клиенту передан заголовок ответа. 24642</para> 24643<para lang="en"> 24644a temporary file with client request body now is removed just after 24645the response header was transferred to a client. 24646</para> 24647</change> 24648 24649<change type="bugfix"> 24650<para lang="ru"> 24651совместимость с OpenSSL 0.9.6. 24652</para> 24653<para lang="en"> 24654OpenSSL 0.9.6 compatibility. 24655</para> 24656</change> 24657 24658<change type="bugfix"> 24659<para lang="ru"> 24660пути к файлам с SSL сертификатом и ключом не могли быть относительными. 24661</para> 24662<para lang="en"> 24663the SSL certificate and key file paths could not be relative. 24664</para> 24665</change> 24666 24667<change type="bugfix"> 24668<para lang="ru"> 24669директива ssl_prefer_server_ciphers не работала для модуля ngx_imap_ssl_module. 24670</para> 24671<para lang="en"> 24672the "ssl_prefer_server_ciphers" directive did not work in 24673the ngx_imap_ssl_module. 24674</para> 24675</change> 24676 24677<change type="bugfix"> 24678<para lang="ru"> 24679директива ssl_protocols позволяла задать только один протокол. 24680</para> 24681<para lang="en"> 24682the "ssl_protocols" directive allowed to specify the single protocol only. 24683</para> 24684</change> 24685 24686</changes> 24687 24688 24689<changes ver="0.3.2" date="2005-10-12"> 24690 24691<change type="feature"> 24692<para lang="ru"> 24693поддержка Sun Studio 10 C compiler. 24694</para> 24695<para lang="en"> 24696the Sun Studio 10 C compiler support. 24697</para> 24698</change> 24699 24700<change type="feature"> 24701<para lang="ru"> 24702директивы proxy_upstream_max_fails, proxy_upstream_fail_timeout, 24703fastcgi_upstream_max_fails и fastcgi_upstream_fail_timeout. 24704</para> 24705<para lang="en"> 24706the "proxy_upstream_max_fails", "proxy_upstream_fail_timeout", 24707"fastcgi_upstream_max_fails", and "fastcgi_upstream_fail_timeout" 24708directives. 24709</para> 24710</change> 24711 24712</changes> 24713 24714 24715<changes ver="0.3.1" date="2005-10-10"> 24716 24717<change type="bugfix"> 24718<para lang="ru"> 24719во время переполнения очереди сигналов при использовании метода rtsig 24720происходил segmentation fault; 24721ошибка появилась в 0.2.0. 24722</para> 24723<para lang="en"> 24724the segmentation fault occurred when the signal queue overflowed 24725if the "rtsig" method was used; 24726the bug had appeared in 0.2.0. 24727</para> 24728</change> 24729 24730<change type="change"> 24731<para lang="ru"> 24732корректная обработка пар "\\", "\"", "\'" и "\$" в SSI. 24733</para> 24734<para lang="en"> 24735correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. 24736</para> 24737</change> 24738 24739</changes> 24740 24741 24742<changes ver="0.3.0" date="2005-10-07"> 24743 24744<change type="change"> 24745<para lang="ru"> 24746убрано десятидневное ограничение времени работы рабочего процесса. 24747Ограничение было введено из-за переполнения миллисекундных таймеров. 24748</para> 24749<para lang="en"> 24750the 10-days live time limit of worker process was eliminated. 24751The limit was introduced because of millisecond timers overflow. 24752</para> 24753</change> 24754 24755</changes> 24756 24757 24758<changes ver="0.2.6" date="2005-10-05"> 24759 24760<change type="change"> 24761<para lang="ru"> 24762с 60 до 10 секунд уменьшено время повторного обращения к бэкенду 24763при использовании распределения нагрузки. 24764</para> 24765<para lang="en"> 24766while using load-balancing the time before the failed backend retry 24767was decreased from 60 to 10 seconds. 24768</para> 24769</change> 24770 24771<change type="change"> 24772<para lang="ru"> 24773директива proxy_pass_unparsed_uri упразднена, оригинальный запрос теперь 24774передаётся, если в директиве proxy_pass отсутствует URI. 24775</para> 24776<para lang="en"> 24777the "proxy_pass_unparsed_uri" was canceled, the original URI now passed, 24778if the URI part is omitted in "proxy_pass" directive. 24779</para> 24780</change> 24781 24782<change type="feature"> 24783<para lang="ru"> 24784директива error_page поддерживает редиректы и позволяет более гибко 24785менять код ошибки. 24786</para> 24787<para lang="en"> 24788the "error_page" directive supports redirects and allows more flexible 24789to change an error code. 24790</para> 24791</change> 24792 24793<change type="change"> 24794<para lang="ru"> 24795в проксированных подзапросах теперь игнорируется переданный charset. 24796</para> 24797<para lang="en"> 24798the charset in the "Content-Type" header line now is ignored 24799in proxied subrequests. 24800</para> 24801</change> 24802 24803<change type="bugfix"> 24804<para lang="ru"> 24805если после изменения URI в блоке if для запроса не находилась 24806новая конфигурация, то правила модуля ngx_http_rewrite_module выполнялись 24807снова. 24808</para> 24809<para lang="en"> 24810if the URI was changed in the "if" block and request did not found 24811new configuration, then the ngx_http_rewrite_module rules ran again. 24812</para> 24813</change> 24814 24815<change type="bugfix"> 24816<para lang="ru"> 24817если директива set устанавливала переменную модуля ngx_http_geo_module 24818в какой-либо части конфигурации, то эта переменная не была доступна в 24819других частях конфигурации и выдавалась ошибка "using uninitialized variable"; 24820ошибка появилась в 0.2.2. 24821</para> 24822<para lang="en"> 24823if the "set" directive set the ngx_http_geo_module variable in some 24824configuration part, the this variable was not available in other 24825configuration parts and the "using uninitialized variable" error was occurred; 24826the bug had appeared in 0.2.2. 24827</para> 24828</change> 24829 24830</changes> 24831 24832 24833<changes ver="0.2.5" date="2005-10-04"> 24834 24835<change type="change"> 24836<para lang="ru"> 24837дублирующее значение переменной модуля ngx_http_geo_module теперь 24838выдаёт предупреждение и изменяет старое значение. 24839</para> 24840<para lang="en"> 24841the duplicate value of the ngx_http_geo_module variable now causes 24842the warning and changes old value. 24843</para> 24844</change> 24845 24846<change type="feature"> 24847<para lang="ru"> 24848модуль ngx_http_ssi_module поддерживает команду set. 24849</para> 24850<para lang="en"> 24851the ngx_http_ssi_module supports the "set" command. 24852</para> 24853</change> 24854 24855<change type="feature"> 24856<para lang="ru"> 24857модуль ngx_http_ssi_module поддерживает параметр file в команде include. 24858</para> 24859<para lang="en"> 24860the ngx_http_ssi_module supports the "file" parameter in the "include" command. 24861</para> 24862</change> 24863 24864<change type="feature"> 24865<para lang="ru"> 24866модуль ngx_http_ssi_module поддерживает подстановку значений переменных 24867в выражениях команды if. 24868</para> 24869<para lang="en"> 24870the ngx_http_ssi_module supports the variable value substitutions in 24871expressions of the "if" command. 24872</para> 24873</change> 24874 24875</changes> 24876 24877 24878<changes ver="0.2.4" date="2005-10-03"> 24879 24880<change type="feature"> 24881<para lang="ru"> 24882модуль ngx_http_ssi_module поддерживает выражения 24883"$var=text", "$var!=text", "$var=/text/" и "$var!=/text/" 24884в команде if. 24885</para> 24886<para lang="en"> 24887the ngx_http_ssi_module supports 24888"$var=text", "$var!=text", "$var=/text/", and "$var!=/text/" expressions 24889in the "if" command. 24890</para> 24891</change> 24892 24893<change type="bugfix"> 24894<para lang="ru"> 24895ошибки при проксировании location без слэша в конце; 24896ошибка появилась в 0.1.44. 24897</para> 24898<para lang="en"> 24899in proxying location without trailing slash; 24900the bug had appeared in 0.1.44. 24901</para> 24902</change> 24903 24904<change type="bugfix"> 24905<para lang="ru"> 24906при использовании метода rtsig мог произойти segmentation fault; 24907ошибка появилась в 0.2.0. 24908</para> 24909<para lang="en"> 24910the segmentation fault may occurred if the "rtsig" method was used; 24911the bug had appeared in 0.2.0. 24912</para> 24913</change> 24914 24915</changes> 24916 24917 24918<changes ver="0.2.3" date="2005-09-30"> 24919 24920<change type="bugfix"> 24921<para lang="ru"> 24922nginx не собирался без параметра --with-debug; 24923ошибка появилась в 0.2.2. 24924</para> 24925<para lang="en"> 24926nginx could not be built without the --with-debug option; 24927the bug had appeared in 0.2.2. 24928</para> 24929</change> 24930 24931</changes> 24932 24933 24934<changes ver="0.2.2" date="2005-09-30"> 24935 24936<change type="feature"> 24937<para lang="ru"> 24938команда config errmsg в модуле ngx_http_ssi_module. 24939</para> 24940<para lang="en"> 24941the "config errmsg" command of the ngx_http_ssi_module. 24942</para> 24943</change> 24944 24945<change type="change"> 24946<para lang="ru"> 24947переменные модуля ngx_http_geo_module можно переопределять директивой set. 24948</para> 24949<para lang="en"> 24950the ngx_http_geo_module variables can be overridden by the "set" directive. 24951</para> 24952</change> 24953 24954<change type="feature"> 24955<para lang="ru"> 24956директивы ssl_protocols и ssl_prefer_server_ciphers модулей 24957ngx_http_ssl_module и ngx_imap_ssl_module. 24958</para> 24959<para lang="en"> 24960the "ssl_protocols" and "ssl_prefer_server_ciphers" directives 24961of the ngx_http_ssl_module and ngx_imap_ssl_module. 24962</para> 24963</change> 24964 24965<change type="bugfix"> 24966<para lang="ru"> 24967ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 24968</para> 24969<para lang="en"> 24970the ngx_http_autoindex_module did not show correctly the long file names; 24971</para> 24972</change> 24973 24974<change type="bugfix"> 24975<para lang="ru"> 24976модуль ngx_http_autoindex_module теперь не показывает файлы, 24977начинающиеся на точку. 24978</para> 24979<para lang="en"> 24980the ngx_http_autoindex_module now do not show the files starting by dot. 24981</para> 24982</change> 24983 24984<change type="bugfix"> 24985<para lang="ru"> 24986если SSL handshake завершался с ошибкой, то это могло привести также 24987к закрытию другого соединения.<br/> 24988Спасибо Rob Mueller. 24989</para> 24990<para lang="en"> 24991if the SSL handshake failed then another connection may be closed too.<br/> 24992Thanks to Rob Mueller. 24993</para> 24994</change> 24995 24996<change type="bugfix"> 24997<para lang="ru"> 24998экспортные версии MSIE 5.x не могли соединиться по HTTPS. 24999</para> 25000<para lang="en"> 25001the export versions of MSIE 5.x could not connect via HTTPS. 25002</para> 25003</change> 25004 25005</changes> 25006 25007 25008<changes ver="0.2.1" date="2005-09-23"> 25009 25010<change type="bugfix"> 25011<para lang="ru"> 25012если все бэкенды, используемые для балансировки нагрузки, оказывались 25013в нерабочем состоянии после одной ошибки, то nginx мог зациклится; 25014ошибка появилась в 0.2.0. 25015</para> 25016<para lang="en"> 25017if all backend using in load-balancing failed after one error, then 25018nginx may got caught in an endless loop; 25019the bug had appeared in 0.2.0. 25020</para> 25021</change> 25022 25023</changes> 25024 25025 25026<changes ver="0.2.0" date="2005-09-23"> 25027 25028<change> 25029<para lang="ru"> 25030Изменились имена pid-файлов, используемые во время обновления исполняемого 25031файла. Ручное переименование теперь не нужно. 25032Старый основной процесс добавляет к своему pid-файл суффикс ".oldbin" 25033и запускает новый исполняемый файл. 25034Новый основной процесс создаёт обычный pid-файл без суффикса ".newbin". 25035Если новый основной процесс выходит, то старый процесс переименовывает свой 25036pid-файл c суффиксом ".oldbin" в pid-файл без суффикса. 25037При обновлении с версии 0.1.х до 0.2.0 нужно учитывать, что оба 25038процесса—старый 0.1.x и новый 0.2.0—используют pid-файл 25039без суффиксов. 25040</para> 25041<para lang="en"> 25042The pid-file names used during online upgrade was changed and now is not 25043required a manual rename operation. 25044The old master process adds the ".oldbin" suffix to its pid-file and 25045executes a new binary file. 25046The new master process creates usual pid-file without the ".newbin" suffix. 25047If the master process exits, then old master process renames back 25048its pid-file with the ".oldbin" suffix to the pid-file without suffix. 25049</para> 25050</change> 25051 25052<change type="change"> 25053<para lang="ru"> 25054директива worker_connections, новое название директивы connections; 25055директива теперь задаёт максимальное число соединений, 25056а не максимально возможный номер дескриптора для сокета. 25057</para> 25058<para lang="en"> 25059the "worker_connections" directive, new name of the "connections" directive; 25060now the directive specifies maximum number of connections, 25061but not maximum socket descriptor number. 25062</para> 25063</change> 25064 25065<change type="feature"> 25066<para lang="ru"> 25067SSL поддерживает кэширование сессий в пределах одного рабочего процесса. 25068</para> 25069<para lang="en"> 25070SSL supports the session cache inside one worker process. 25071</para> 25072</change> 25073 25074<change type="feature"> 25075<para lang="ru"> 25076директива satisfy_any. 25077</para> 25078<para lang="en"> 25079the "satisfy_any" directive. 25080</para> 25081</change> 25082 25083<change type="change"> 25084<para lang="ru"> 25085модули ngx_http_access_module и ngx_http_auth_basic_module не работают 25086для подзапросов. 25087</para> 25088<para lang="en"> 25089the ngx_http_access_module and ngx_http_auth_basic_module do not run 25090for subrequests. 25091</para> 25092</change> 25093 25094<change type="feature"> 25095<para lang="ru"> 25096директивы worker_rlimit_nofile и worker_rlimit_sigpending. 25097</para> 25098<para lang="en"> 25099the "worker_rlimit_nofile" and "worker_rlimit_sigpending" directives. 25100</para> 25101</change> 25102 25103<change type="bugfix"> 25104<para lang="ru"> 25105если все бэкенды, используемые для балансировки нагрузки, оказывались 25106в нерабочем состоянии после одной ошибки, то nginx не обращался к ним 25107в течение 60 секунд. 25108</para> 25109<para lang="en"> 25110if all backend using in load-balancing failed after one error, then 25111nginx did not try do connect to them during 60 seconds. 25112</para> 25113</change> 25114 25115<change type="bugfix"> 25116<para lang="ru"> 25117в парсинге аргументов IMAP/POP3 команд.<br/> 25118Спасибо Rob Mueller. 25119</para> 25120<para lang="en"> 25121in IMAP/POP3 command argument parsing.<br/> 25122Thanks to Rob Mueller. 25123</para> 25124</change> 25125 25126<change type="bugfix"> 25127<para lang="ru"> 25128ошибки при использовании SSL в IMAP/POP3 прокси. 25129</para> 25130<para lang="en"> 25131errors while using SSL in IMAP/POP3 proxy. 25132</para> 25133</change> 25134 25135<change type="bugfix"> 25136<para lang="ru"> 25137ошибки при использовании SSI и сжатия. 25138</para> 25139<para lang="en"> 25140errors while using SSI and gzipping. 25141</para> 25142</change> 25143 25144<change type="bugfix"> 25145<para lang="ru"> 25146в ответах 304 не добавлялись строки заголовка ответа "Expires" и 25147"Cache-Control".<br/> 25148Спасибо Александру Кукушкину. 25149</para> 25150<para lang="en"> 25151the "Expires" and "Cache-Control" header lines were omitted 25152from the 304 responses.<br/> 25153Thanks to Alexandr Kukushkin. 25154</para> 25155</change> 25156 25157</changes> 25158 25159 25160<changes ver="0.1.45" date="2005-09-08"> 25161 25162<change type="change"> 25163<para lang="ru"> 25164директива ssl_engine упразднена в модуле ngx_http_ssl_module и 25165перенесена на глобальный уровень. 25166</para> 25167<para lang="en"> 25168the "ssl_engine" directive was canceled in the ngx_http_ssl_module 25169and now is introduced at global level. 25170</para> 25171</change> 25172 25173<change type="bugfix"> 25174<para lang="ru"> 25175ответы с подзапросами, включённые с помощью SSI, не передавались 25176через SSL соединение. 25177</para> 25178<para lang="en"> 25179the responses with SSI subrequests did not transferred via SSL connection. 25180</para> 25181</change> 25182 25183<change> 25184<para lang="ru"> 25185Разные исправления в IMAP/POP3 прокси. 25186</para> 25187<para lang="en"> 25188Various bug fixes in the IMAP/POP3 proxy. 25189</para> 25190</change> 25191 25192</changes> 25193 25194 25195<changes ver="0.1.44" date="2005-09-06"> 25196 25197<change type="feature"> 25198<para lang="ru"> 25199IMAP/POP3 прокси поддерживает SSL. 25200</para> 25201<para lang="en"> 25202the IMAP/POP3 proxy supports SSL. 25203</para> 25204</change> 25205 25206<change type="feature"> 25207<para lang="ru"> 25208директива proxy_timeout модуля ngx_imap_proxy_module. 25209</para> 25210<para lang="en"> 25211the "proxy_timeout" directive of the ngx_imap_proxy_module. 25212</para> 25213</change> 25214 25215<change type="feature"> 25216<para lang="ru"> 25217директива userid_mark. 25218</para> 25219<para lang="en"> 25220the "userid_mark" directive. 25221</para> 25222</change> 25223 25224<change type="feature"> 25225<para lang="ru"> 25226значение переменной $remote_user определяется независимо от того, 25227используется ли авторизация или нет. 25228</para> 25229<para lang="en"> 25230the $remote_user variable value is determined independently of 25231authorization use. 25232</para> 25233</change> 25234 25235</changes> 25236 25237 25238<changes ver="0.1.43" date="2005-08-30"> 25239 25240<change type="feature"> 25241<para lang="ru"> 25242listen(2) backlog в директиве listen можно менять по сигналу -HUP. 25243</para> 25244<para lang="en"> 25245the listen(2) backlog in the "listen" directive 25246can be changed using the -HUP signal. 25247</para> 25248</change> 25249 25250<change type="feature"> 25251<para lang="ru"> 25252скрипт geo2nginx.pl добавлен в contrib. 25253</para> 25254<para lang="en"> 25255the geo2nginx.pl script was added to contrib. 25256</para> 25257</change> 25258 25259<change type="change"> 25260<para lang="ru"> 25261параметры FastCGI с пустым значениями теперь передаются серверу. 25262</para> 25263<para lang="en"> 25264the FastCGI parameters with the empty values now are passed to a server. 25265</para> 25266</change> 25267 25268<!-- 25269 25270<change type="bugfix"> 25271<para lang="ru"> 25272при ошибках в работе с проксированным сервером или FastCGI сервером 25273мог произойти segmentation fault; 25274в режиме прокси ошибка появилась в 0.1.29. 25275</para> 25276<para lang="en"> 25277the segmentation fault may occurred if there were errors while 25278working with proxied or FastCGI server; 25279in the proxied mode the bug had appeared in 0.1.29. 25280</para> 25281</change> 25282 25283--> 25284 25285<change type="bugfix"> 25286<para lang="ru"> 25287если в ответе проксированного сервера или FastCGI сервера была строка 25288"Cache-Control", то при использовании директивы expires происходил 25289segmentation fault или рабочий процесс мог зациклится; 25290в режиме прокси ошибка появилась в 0.1.29. 25291</para> 25292<para lang="en"> 25293the segmentation fault occurred or the worker process may got caught 25294in an endless loop if the proxied or FastCGI server sent the "Cache-Control" 25295header line and the "expires" directive was used; 25296in the proxied mode the bug had appeared in 0.1.29. 25297</para> 25298</change> 25299 25300</changes> 25301 25302 25303<changes ver="0.1.42" date="2005-08-23"> 25304 25305<change type="bugfix"> 25306<para lang="ru"> 25307если URI запроса получался нулевой длины после обработки модулем 25308ngx_http_rewrite_module, то в модуле ngx_http_proxy_module происходил 25309segmentation fault или bus error. 25310</para> 25311<para lang="en"> 25312if the request URI had a zero length after the processing in 25313the ngx_http_proxy_module, then the segmentation fault or bus error occurred 25314in the ngx_http_proxy_module. 25315</para> 25316</change> 25317 25318<change type="bugfix"> 25319<para lang="ru"> 25320директива limit_rate не работала внутри блока if; 25321ошибка появилась в 0.1.38. 25322</para> 25323<para lang="en"> 25324the "limit_rate" directive did not work inside the "if" block; 25325the bug had appeared in 0.1.38. 25326</para> 25327</change> 25328 25329</changes> 25330 25331 25332<changes ver="0.1.41" date="2005-07-25"> 25333 25334<change type="bugfix"> 25335<para lang="ru"> 25336если переменная использовалась в файле конфигурации, 25337то она не могла использоваться в SSI. 25338</para> 25339<para lang="en"> 25340if the variable was used in the configuration file, 25341then it can not be used in SSI. 25342</para> 25343</change> 25344 25345</changes> 25346 25347 25348<changes ver="0.1.40" date="2005-07-22"> 25349 25350<change type="bugfix"> 25351<para lang="ru"> 25352если клиент слал очень длинную строку заголовка, то в логе не помещалась 25353информация, связанная с этим запросом. 25354</para> 25355<para lang="en"> 25356if a client sent too long header line, then the request information 25357did not logged in the error log. 25358</para> 25359</change> 25360 25361<change type="bugfix"> 25362<para lang="ru"> 25363при использовании "X-Accel-Redirect" не передавалась строка "Set-Cookie"; 25364ошибка появилась в 0.1.39. 25365</para> 25366<para lang="en"> 25367the "Set-Cookie" header line was not transferred when the "X-Accel-Redirect" 25368was used; 25369the bug had appeared in 0.1.39. 25370</para> 25371</change> 25372 25373<change type="bugfix"> 25374<para lang="ru"> 25375при использовании "X-Accel-Redirect" не передавалась строка 25376"Content-Disposition". 25377</para> 25378<para lang="en"> 25379the "Content-Disposition" header line was not transferred when 25380the "X-Accel-Redirect" was used. 25381</para> 25382</change> 25383 25384<change type="bugfix"> 25385<para lang="ru"> 25386по сигналу SIGQUIT основной процесс не закрывал сокеты, на которых он слушал. 25387</para> 25388<para lang="en"> 25389the master process did not close the listen socket on the SIGQUIT signal. 25390</para> 25391</change> 25392 25393<change type="bugfix"> 25394<para lang="ru"> 25395после обновления исполняемого файла на лету на Linux и Solaris 25396название процесса в команде ps становилось короче. 25397</para> 25398<para lang="en"> 25399after on-line upgrade on Linux and Solaris the process name 25400became shorter in the "ps" command. 25401</para> 25402</change> 25403 25404</changes> 25405 25406 25407<changes ver="0.1.39" date="2005-07-14"> 25408 25409<change> 25410<para lang="ru"> 25411Изменения в модуле ngx_http_charset_module: 25412директива default_charset упразднена; 25413директива charset задаёт кодировку ответа; 25414директива source_charset задаёт только исходную кодировку. 25415</para> 25416<para lang="en"> 25417The changes in the ngx_http_charset_module: 25418the "default_charset" directive was canceled; 25419the "charset" directive sets the response charset; 25420the "source_charset" directive sets the source charset only. 25421</para> 25422</change> 25423 25424<change type="bugfix"> 25425<para lang="ru"> 25426при перенаправлении ошибки 401, полученной от бэкенда, не передавалась 25427строка заголовка "WWW-Authenticate". 25428</para> 25429<para lang="en"> 25430the backend "WWW-Authenticate" header line did not transferred while 25431the 401 response code redirecting. 25432</para> 25433</change> 25434 25435<change type="bugfix"> 25436<para lang="ru"> 25437модули ngx_http_proxy_module и ngx_http_fastcgi_module могли закрыть 25438соединение до того, как что-нибудь было передано клиенту; 25439ошибка появилась в 0.1.38. 25440</para> 25441<para lang="en"> 25442the ngx_http_proxy_module and ngx_http_fastcgi_module may close 25443a connection before anything was transferred to a client; 25444the bug had appeared in 0.1.38. 25445</para> 25446</change> 25447 25448<change type="workaround"> 25449<para lang="ru"> 25450обработка ошибки инициализации в crypt_r() в Linux glibc. 25451</para> 25452<para lang="en"> 25453the Linux glibc crypt_r() initialization bug. 25454</para> 25455</change> 25456 25457<change type="bugfix"> 25458<para lang="ru"> 25459модуль ngx_http_ssi_module не поддерживал относительные URI в 25460команде include virtual. 25461</para> 25462<para lang="en"> 25463the ngx_http_ssi_module did not support the relative URI in 25464the "include virtual" command. 25465</para> 25466</change> 25467 25468<change type="bugfix"> 25469<para lang="ru"> 25470если в строке заголовка ответа бэкенда была строка "Location", 25471которую nginx не должен был изменять, то в ответе передавалось тело 500 ошибки; 25472ошибка появилась в 0.1.29. 25473</para> 25474<para lang="en"> 25475if the backend response had the "Location" header line and nginx 25476should not rewrite this line, then the 500 code response body was transferred; 25477the bug had appeared in 0.1.29. 25478</para> 25479</change> 25480 25481<change type="bugfix"> 25482<para lang="ru"> 25483некоторые директивы модулей ngx_http_proxy_module и ngx_http_fastcgi_module 25484не наследовались с уровня server на уровень location; 25485ошибка появилась в 0.1.29. 25486</para> 25487<para lang="en"> 25488some directives of the ngx_http_proxy_module and ngx_http_fastcgi_module 25489were not inherited from the server to the location level; 25490the bug had appeared in 0.1.29. 25491</para> 25492</change> 25493 25494<change type="bugfix"> 25495<para lang="ru"> 25496модуль ngx_http_ssl_module не поддерживал цепочки сертификатов. 25497</para> 25498<para lang="en"> 25499the ngx_http_ssl_module did not support the certificate chain. 25500</para> 25501</change> 25502 25503<change type="bugfix"> 25504<para lang="ru"> 25505ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов; 25506ошибка появилась в 0.1.38. 25507</para> 25508<para lang="en"> 25509the ngx_http_autoindex_module did not show correctly the long file names; 25510the bug had appeared in 0.1.38. 25511</para> 25512</change> 25513 25514<change> 25515<para lang="ru"> 25516Исправления в IMAP/POP3 прокси при взаимодействии с бэкендом на стадии login. 25517</para> 25518<para lang="en"> 25519Bugfixes in IMAP/POP3 proxy in interaction with a backend at the login state. 25520</para> 25521</change> 25522 25523</changes> 25524 25525 25526<changes ver="0.1.38" date="2005-07-08"> 25527 25528<change type="feature"> 25529<para lang="ru"> 25530директива limit_rate поддерживается в режиме прокси и FastCGI. 25531</para> 25532<para lang="en"> 25533the "limit_rate" directive is supported in proxy and FastCGI mode. 25534</para> 25535</change> 25536 25537<change type="feature"> 25538<para lang="ru"> 25539в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Limit-Rate" 25540в ответе бэкенда. 25541</para> 25542<para lang="en"> 25543the "X-Accel-Limit-Rate" response header line is supported in proxy 25544and FastCGI mode. 25545</para> 25546</change> 25547 25548<change type="feature"> 25549<para lang="ru"> 25550директива break. 25551</para> 25552<para lang="en"> 25553the "break" directive. 25554</para> 25555</change> 25556 25557<change type="feature"> 25558<para lang="ru"> 25559директива log_not_found. 25560</para> 25561<para lang="en"> 25562the "log_not_found" directive. 25563</para> 25564</change> 25565 25566<change type="bugfix"> 25567<para lang="ru"> 25568при перенаправлении запроса с помощью строки заголовка "X-Accel-Redirect" 25569не изменялся код ответа. 25570</para> 25571<para lang="en"> 25572the response status code was not changed when request was redirected 25573by the ""X-Accel-Redirect" header line. 25574</para> 25575</change> 25576 25577<change type="bugfix"> 25578<para lang="ru"> 25579переменные, установленные директивой set не могли использоваться в SSI. 25580</para> 25581<para lang="en"> 25582the variables set by the "set" directive could not be used in SSI. 25583</para> 25584</change> 25585 25586<change type="bugfix"> 25587<para lang="ru"> 25588при включении в SSI более одного удалённого подзапроса 25589мог произойти segmentation fault. 25590</para> 25591<para lang="en"> 25592the segmentation fault may occurred if the SSI page has more than one 25593remote subrequest. 25594</para> 25595</change> 25596 25597<change type="bugfix"> 25598<para lang="ru"> 25599если статусная строка в ответе бэкенда передавалась в двух пакетах, то 25600nginx считал ответ неверным; 25601ошибка появилась в 0.1.29. 25602</para> 25603<para lang="en"> 25604nginx treated the backend response as invalid if the status line in the 25605header was transferred in two packets; 25606the bug had appeared in 0.1.29. 25607</para> 25608</change> 25609 25610<change type="feature"> 25611<para lang="ru"> 25612директива ssi_types. 25613</para> 25614<para lang="en"> 25615the "ssi_types" directive. 25616</para> 25617</change> 25618 25619<change type="feature"> 25620<para lang="ru"> 25621директива autoindex_exact_size. 25622</para> 25623<para lang="en"> 25624the "autoindex_exact_size" directive. 25625</para> 25626</change> 25627 25628<change type="bugfix"> 25629<para lang="ru"> 25630модуль ngx_http_autoindex_module не поддерживал длинные имена файлов в UTF-8. 25631</para> 25632<para lang="en"> 25633the ngx_http_autoindex_module did not support the long file names in UTF-8. 25634</para> 25635</change> 25636 25637<change type="feature"> 25638<para lang="ru"> 25639IMAP/POP3 прокси. 25640</para> 25641<para lang="en"> 25642the IMAP/POP3 proxy. 25643</para> 25644</change> 25645 25646</changes> 25647 25648 25649<changes ver="0.1.37" date="2005-06-23"> 25650 25651<change type="change"> 25652<para lang="ru"> 25653в конце файла nginx.pid теперь добавляется "\n". 25654</para> 25655<para lang="en"> 25656now the "\n" is added to the end of the "nginx.pid" file. 25657</para> 25658</change> 25659 25660<change type="bugfix"> 25661<para lang="ru"> 25662при включении большого количества вставок или нескольких больших вставок 25663с помощью SSI ответ мог передаваться не полностью. 25664</para> 25665<para lang="en"> 25666the responses may be transferred not completely, 25667if many parts or the big parts were included by SSI. 25668</para> 25669</change> 25670 25671<change type="bugfix"> 25672<para lang="ru"> 25673если все бэкенды возвращали ответ 404, то при использовании параметра http_404 25674в директивах proxy_next_upstream или fastcgi_next_upstream, nginx 25675начинал запрашивать все бэкенды снова. 25676</para> 25677<para lang="en"> 25678if all backends had returned the 404 response and the "http_404" parameter of 25679the "proxy_next_upstream" or "fastcgi_next_upstream" directives was used, 25680then nginx started to request all backends again. 25681</para> 25682</change> 25683 25684</changes> 25685 25686 25687<changes ver="0.1.36" date="2005-06-15"> 25688 25689<change type="change"> 25690<para lang="ru"> 25691если в заголовке запроса есть дублирующиеся строки "Host", "Connection", 25692"Content-Length" и "Authorization", то nginx теперь выдаёт ошибку 400. 25693</para> 25694<para lang="en"> 25695if the request header has duplicate the "Host", "Connection", "Content-Length", 25696or "Authorization" lines, then nginx now returns the 400 error. 25697</para> 25698</change> 25699 25700<change type="change"> 25701<para lang="ru"> 25702директива post_accept_timeout упразднена. 25703</para> 25704<para lang="en"> 25705the "post_accept_timeout" directive was canceled. 25706</para> 25707</change> 25708 25709<change type="feature"> 25710<para lang="ru"> 25711параметры default, af=, bl=, deferred и bind в директиве listen. 25712</para> 25713<para lang="en"> 25714the "default", "af=", "bl=", "deferred", and "bind" parameters 25715of the "listen" directive. 25716</para> 25717</change> 25718 25719<change type="feature"> 25720<para lang="ru"> 25721поддержка accept фильтров во FreeBSD. 25722</para> 25723<para lang="en"> 25724the FreeBSD accept filters support. 25725</para> 25726</change> 25727 25728<change type="feature"> 25729<para lang="ru"> 25730поддержка TCP_DEFER_ACCEPT в Linux. 25731</para> 25732<para lang="en"> 25733the Linux TCP_DEFER_ACCEPT support. 25734</para> 25735</change> 25736 25737<change type="bugfix"> 25738<para lang="ru"> 25739модуль ngx_http_autoindex_module не поддерживал имена файлов в UTF-8. 25740</para> 25741<para lang="en"> 25742the ngx_http_autoindex_module did not support the file names in UTF-8. 25743</para> 25744</change> 25745 25746<change type="bugfix"> 25747<para lang="ru"> 25748после добавления новый лог-файл ротация этого лога по сигналу -USR1 25749выполнялась, только если переконфигурировать nginx два раза по сигналу -HUP. 25750</para> 25751<para lang="en"> 25752the new log file can be rotated by the -USR1 signal only if 25753the reconfiguration by the -HUP signal was made twice. 25754</para> 25755</change> 25756 25757</changes> 25758 25759 25760<changes ver="0.1.35" date="2005-06-07"> 25761 25762<change type="feature"> 25763<para lang="ru"> 25764директива working_directory. 25765</para> 25766<para lang="en"> 25767the "working_directory" directive. 25768</para> 25769</change> 25770 25771<change type="feature"> 25772<para lang="ru"> 25773директива port_in_redirect. 25774</para> 25775<para lang="en"> 25776the "port_in_redirect" directive. 25777</para> 25778</change> 25779 25780<change type="bugfix"> 25781<para lang="ru"> 25782если заголовок ответа бэкенда не помещался в один пакет, то 25783происходил segmentation fault; 25784ошибка появилась в 0.1.29. 25785</para> 25786<para lang="en"> 25787the segmentation fault was occurred if the backend response header was in 25788several packets; 25789the bug had appeared in 0.1.29. 25790</para> 25791</change> 25792 25793<change type="bugfix"> 25794<para lang="ru"> 25795если было сконфигурировано более 10 серверов или в сервере не описана 25796директива "listen", 25797то при запуске мог произойти segmentation fault. 25798</para> 25799<para lang="en"> 25800if more than 10 servers were configured or some server did not use the 25801"listen" directive, then the segmentation fault was occurred on the start. 25802</para> 25803</change> 25804 25805<change type="bugfix"> 25806<para lang="ru"> 25807если ответ не помещался во временный файл, 25808то мог произойти segmentation fault. 25809</para> 25810<para lang="en"> 25811the segmentation fault might occur if the response was bigger than 25812the temporary file. 25813</para> 25814</change> 25815 25816<change type="bugfix"> 25817<para lang="ru"> 25818nginx возвращал ошибку 400 на запросы вида 25819<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 25820ошибка появилась в 0.1.28. 25821</para> 25822<para lang="en"> 25823nginx returned the 400 response on requests like 25824<nobr>"GET http://www.domain.com/uri HTTP/1.0"</nobr>; 25825the bug had appeared in 0.1.28. 25826</para> 25827</change> 25828 25829</changes> 25830 25831 25832<changes ver="0.1.34" date="2005-05-26"> 25833 25834<change type="bugfix"> 25835<para lang="ru"> 25836при включении больших ответов с помощью SSI рабочий процесс мог зациклиться. 25837</para> 25838<para lang="en"> 25839the worker process may got caught in an endless loop if the big response 25840part were include by SSI. 25841</para> 25842</change> 25843 25844<change type="bugfix"> 25845<para lang="ru"> 25846переменные, устанавливаемые директивой "set", не были доступны в SSI. 25847</para> 25848<para lang="en"> 25849the variables set by the "set" directive were not available in SSI. 25850</para> 25851</change> 25852 25853<change type="feature"> 25854<para lang="ru"> 25855директива autoindex_localtime. 25856</para> 25857<para lang="en"> 25858the "autoindex_localtime" directive. 25859</para> 25860</change> 25861 25862<change type="bugfix"> 25863<para lang="ru"> 25864пустое значение в директиве proxy_set_header запрещает передачу заголовка. 25865</para> 25866<para lang="en"> 25867the empty value of the "proxy_set_header" directive forbids the client 25868request header line passing. 25869</para> 25870</change> 25871 25872</changes> 25873 25874 25875<changes ver="0.1.33" date="2005-05-23"> 25876 25877<change type="bugfix"> 25878<para lang="ru"> 25879nginx не собирался с параметром --without-pcre; 25880ошибка появилась в 0.1.29. 25881</para> 25882<para lang="en"> 25883nginx could not be built with the --without-pcre parameter; 25884the bug had appeared in 0.1.29. 25885</para> 25886</change> 25887 25888<change type="bugfix"> 25889<para lang="ru"> 258903, 5, 7 и 8 директив proxy_set_header на одном уровне вызывали 25891bus fault при запуске. 25892</para> 25893<para lang="en"> 258943, 4, 7, and 8 the "proxy_set_header" directives in one level cause 25895the bus fault on start up. 25896</para> 25897</change> 25898 25899<change type="bugfix"> 25900<para lang="ru"> 25901в редиректах внутри HTTPS сервера был указан протокол HTTP. 25902</para> 25903<para lang="en"> 25904the HTTP protocol was specified in the HTTPS redirects. 25905</para> 25906</change> 25907 25908<change type="bugfix"> 25909<para lang="ru"> 25910если директива rewrite использовала выделения внутри директивы if, то 25911возвращалась ошибка 500. 25912</para> 25913<para lang="en"> 25914if the "rewrite" directive used the captures inside the "if" directive, then 25915the 500 error code was returned. 25916</para> 25917</change> 25918 25919</changes> 25920 25921 25922<changes ver="0.1.32" date="2005-05-19"> 25923 25924<change type="bugfix"> 25925<para lang="ru"> 25926в редиректах, выдаваемых с помощью директивы rewrite, не передавались аргументы; 25927ошибка появилась в 0.1.29. 25928</para> 25929<para lang="en"> 25930the arguments were omitted in the redirects, issued by the "rewrite" directive; 25931the bug had appeared in 0.1.29. 25932</para> 25933</change> 25934 25935<change type="feature"> 25936<para lang="ru"> 25937директива if поддерживает выделения в регулярных выражениях. 25938</para> 25939<para lang="en"> 25940the "if" directive supports the captures in regular expressions. 25941</para> 25942</change> 25943 25944<change type="feature"> 25945<para lang="ru"> 25946директива set поддерживает переменные и выделения из регулярных выражений. 25947</para> 25948<para lang="en"> 25949the "set" directive supports the variables and the captures of regular 25950expressions. 25951</para> 25952</change> 25953 25954<change type="feature"> 25955<para lang="ru"> 25956в режиме прокси и FastCGI поддерживается строка заголовка "X-Accel-Redirect" 25957в ответе бэкенда. 25958</para> 25959<para lang="en"> 25960the "X-Accel-Redirect" response header line is supported in proxy and FastCGI 25961mode. 25962</para> 25963</change> 25964 25965</changes> 25966 25967 25968<changes ver="0.1.31" date="2005-05-16"> 25969 25970<change type="bugfix"> 25971<para lang="ru"> 25972при использовании SSL ответ мог передаваться не до конца. 25973</para> 25974<para lang="en"> 25975the response encrypted by SSL may not transferred complete. 25976</para> 25977</change> 25978 25979<change type="bugfix"> 25980<para lang="ru"> 25981ошибки при обработке SSI в ответе, полученного от FastCGI-сервера. 25982</para> 25983<para lang="en"> 25984errors while processing FastCGI response by SSI. 25985</para> 25986</change> 25987 25988<change type="bugfix"> 25989<para lang="ru"> 25990ошибки при использовании SSI и сжатия. 25991</para> 25992<para lang="en"> 25993errors while using SSI and gzipping. 25994</para> 25995</change> 25996 25997<change type="bugfix"> 25998<para lang="ru"> 25999редирект с кодом 301 передавался без тела ответа; 26000ошибка появилась в 0.1.30. 26001</para> 26002<para lang="en"> 26003the redirect with the 301 code was transferred without response body; 26004the bug had appeared in 0.1.30. 26005</para> 26006</change> 26007 26008</changes> 26009 26010 26011<changes ver="0.1.30" date="2005-05-14"> 26012 26013<change type="bugfix"> 26014<para lang="ru"> 26015при использовании SSI рабочий процесс мог зациклиться. 26016</para> 26017<para lang="en"> 26018the worker process may got caught in an endless loop if the SSI was used. 26019</para> 26020</change> 26021 26022<change type="bugfix"> 26023<para lang="ru"> 26024при использовании SSL ответ мог передаваться не до конца. 26025</para> 26026<para lang="en"> 26027the response encrypted by SSL may not transferred complete. 26028</para> 26029</change> 26030 26031<change type="bugfix"> 26032<para lang="ru"> 26033если длина части ответа, полученного за один раз от проксируемого или 26034FastCGI сервера была равна 500 байт, то nginx возвращал код ответа 500; 26035в режиме прокси ошибка появилась только в 0.1.29. 26036</para> 26037<para lang="en"> 26038if the length of the response part received at once from proxied 26039or FastCGI server was equal to 500, then nginx returns the 500 response code; 26040in proxy mode the bug had appeared in 0.1.29 only. 26041</para> 26042</change> 26043 26044<change type="bugfix"> 26045<para lang="ru"> 26046nginx не считал неверными директивы с 8-ю или 9-ю параметрами. 26047</para> 26048<para lang="en"> 26049nginx did not consider the directives with 8 or 9 parameters as invalid. 26050</para> 26051</change> 26052 26053<change type="feature"> 26054<para lang="ru"> 26055директива return может возвращать код ответа 204. 26056</para> 26057<para lang="en"> 26058the "return" directive can return the 204 response code. 26059</para> 26060</change> 26061 26062<change type="feature"> 26063<para lang="ru"> 26064директива ignore_invalid_headers. 26065</para> 26066<para lang="en"> 26067the "ignore_invalid_headers" directive. 26068</para> 26069</change> 26070 26071</changes> 26072 26073 26074<changes ver="0.1.29" date="2005-05-12"> 26075 26076<change type="feature"> 26077<para lang="ru"> 26078модуль ngx_http_ssi_module поддерживает команду include virtual. 26079</para> 26080<para lang="en"> 26081the ngx_http_ssi_module supports "include virtual" command. 26082</para> 26083</change> 26084 26085<change type="feature"> 26086<para lang="ru"> 26087модуль ngx_http_ssi_module поддерживает условную команду вида 26088'if expr="$NAME"' и команды else и endif. 26089Допускается только один уровень вложенности. 26090</para> 26091<para lang="en"> 26092the ngx_http_ssi_module supports the condition command like 26093'if expr="$NAME"' and "else" and "endif" commands. 26094Only one nested level is supported. 26095</para> 26096</change> 26097 26098<change type="feature"> 26099<para lang="ru"> 26100модуль ngx_http_ssi_module поддерживает две переменные DATE_LOCAL и DATE_GMT 26101и команду config timefmt. 26102</para> 26103<para lang="en"> 26104the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables 26105and "config timefmt" command. 26106</para> 26107</change> 26108 26109<change type="feature"> 26110<para lang="ru"> 26111директива ssi_ignore_recycled_buffers. 26112</para> 26113<para lang="en"> 26114the "ssi_ignore_recycled_buffers" directive. 26115</para> 26116</change> 26117 26118<change type="bugfix"> 26119<para lang="ru"> 26120если переменная QUERY_STRING не была определена, то в команде echo 26121не ставилось значение по умолчанию. 26122</para> 26123<para lang="en"> 26124the "echo" command did not show the default value for the empty QUERY_STRING 26125variable. 26126</para> 26127</change> 26128 26129<change type="change"> 26130<para lang="ru"> 26131модуль ngx_http_proxy_module полностью переписан. 26132</para> 26133<para lang="en"> 26134the ngx_http_proxy_module was rewritten. 26135</para> 26136</change> 26137 26138<change type="feature"> 26139<para lang="ru"> 26140директивы proxy_redirect, proxy_pass_request_headers, 26141proxy_pass_request_body и proxy_method. 26142</para> 26143<para lang="en"> 26144the "proxy_redirect", "proxy_pass_request_headers", 26145"proxy_pass_request_body", and "proxy_method" directives. 26146</para> 26147</change> 26148 26149<change type="feature"> 26150<para lang="ru"> 26151директива proxy_set_header. 26152Директива proxy_x_var упразднена и должна быть заменена директивой 26153proxy_set_header. 26154</para> 26155<para lang="en"> 26156the "proxy_set_header" directive. 26157The "proxy_x_var" was canceled and must be replaced with the proxy_set_header 26158directive. 26159</para> 26160</change> 26161 26162<change type="change"> 26163<para lang="ru"> 26164директива proxy_preserve_host упразднена и должна быть заменена директивами 26165"proxy_set_header Host $host" и "proxy_redirect off" 26166или директивой <nobr>"proxy_set_header Host $host:$proxy_port"</nobr> 26167и соответствующими ей директивами proxy_redirect. 26168</para> 26169<para lang="en"> 26170the "proxy_preserve_host" is canceled and must be replaced with 26171the "proxy_set_header Host $host" and the "proxy_redirect off" directives, 26172the <nobr>"proxy_set_header Host $host:$proxy_port" directive</nobr> 26173and the appropriate proxy_redirect directives. 26174</para> 26175</change> 26176 26177<change type="change"> 26178<para lang="ru"> 26179директива proxy_set_x_real_ip упразднена и должна быть заменена директивой 26180"proxy_set_header X-Real-IP $remote_addr". 26181</para> 26182<para lang="en"> 26183the "proxy_set_x_real_ip" is canceled and must be replaced with 26184the "proxy_set_header X-Real-IP $remote_addr" directive. 26185</para> 26186</change> 26187 26188<change type="change"> 26189<para lang="ru"> 26190директива proxy_add_x_forwarded_for упразднена и должна быть заменена 26191директивой 26192<nobr>"proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for".</nobr> 26193</para> 26194<para lang="en"> 26195the "proxy_add_x_forwarded_for" is canceled and must be replaced with 26196<nobr>the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"</nobr> 26197directive. 26198</para> 26199</change> 26200 26201<change type="change"> 26202<para lang="ru"> 26203директива proxy_set_x_url упразднена и должна быть заменена директивой 26204<nobr>"proxy_set_header X-URL http://$host:$server_port$request_uri".</nobr> 26205</para> 26206<para lang="en"> 26207the "proxy_set_x_url" is canceled and must be replaced with 26208the "proxy_set_header X-URL http://$host:$server_port$request_uri" 26209directive. 26210</para> 26211</change> 26212 26213<change type="feature"> 26214<para lang="ru"> 26215директива fastcgi_param. 26216</para> 26217<para lang="en"> 26218the "fastcgi_param" directive. 26219</para> 26220</change> 26221 26222<change type="change"> 26223<para lang="ru"> 26224директивы fastcgi_root, fastcgi_set_var и fastcgi_params упразднены 26225и должны быть замены директивами fastcgi_param. 26226</para> 26227<para lang="en"> 26228the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive 26229are canceled and must be replaced with the fastcgi_param directives. 26230</para> 26231</change> 26232 26233<change type="feature"> 26234<para lang="ru"> 26235директива index может использовать переменные. 26236</para> 26237<para lang="en"> 26238the "index" directive can use the variables. 26239</para> 26240</change> 26241 26242<change type="feature"> 26243<para lang="ru"> 26244директива index может быть указана на уровне http и server. 26245</para> 26246<para lang="en"> 26247the "index" directive can be used at http and server levels. 26248</para> 26249</change> 26250 26251<change type="change"> 26252<para lang="ru"> 26253только последний параметр в директиве index может быть абсолютным. 26254</para> 26255<para lang="en"> 26256the last index only in the "index" directive can be absolute. 26257</para> 26258</change> 26259 26260<change type="feature"> 26261<para lang="ru"> 26262в директиве rewrite могут использоваться переменные. 26263</para> 26264<para lang="en"> 26265the "rewrite" directive can use the variables. 26266</para> 26267</change> 26268 26269<change type="feature"> 26270<para lang="ru"> 26271директива internal. 26272</para> 26273<para lang="en"> 26274the "internal" directive. 26275</para> 26276</change> 26277 26278<change type="feature"> 26279<para lang="ru"> 26280переменные CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 26281SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 26282REQUEST_METHOD, REQUEST_URI и REMOTE_USER. 26283</para> 26284<para lang="en"> 26285the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, 26286SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, 26287REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. 26288</para> 26289</change> 26290 26291<change type="change"> 26292<para lang="ru"> 26293nginx теперь передаёт неверные строки в заголовках запроса клиента и 26294ответа бэкенда. 26295</para> 26296<para lang="en"> 26297nginx now passes the invalid lines in a client request headers 26298or a backend response header. 26299</para> 26300</change> 26301 26302<change type="bugfix"> 26303<para lang="ru"> 26304если бэкенд долго не передавал ответ и send_timeout был меньше, чем 26305proxy_read_timeout, то клиенту возвращался ответ 408. 26306</para> 26307<para lang="en"> 26308if the backend did not transfer response for a long time and 26309the "send_timeout" was less than "proxy_read_timeout", then nginx 26310returned the 408 response. 26311</para> 26312</change> 26313 26314<change type="bugfix"> 26315<para lang="ru"> 26316если бэкенд передавал неверную строку в заголовке ответа, то происходил 26317segmentation fault; 26318ошибка появилась в 0.1.26. 26319</para> 26320<para lang="en"> 26321the segmentation fault was occurred if the backend sent an invalid line 26322in response header; 26323the bug had appeared in 0.1.26. 26324</para> 26325</change> 26326 26327<change type="bugfix"> 26328<para lang="ru"> 26329при использовании отказоустойчивой конфигурации в FastCGI мог 26330происходить segmentation fault. 26331</para> 26332<para lang="en"> 26333the segmentation fault may occurred in FastCGI fault tolerance configuration. 26334</para> 26335</change> 26336 26337<change type="bugfix"> 26338<para lang="ru"> 26339директива expires не удаляла уже установленные строки заголовка 26340"Expires" и "Cache-Control". 26341</para> 26342<para lang="en"> 26343the "expires" directive did not remove the previous "Expires" and 26344"Cache-Control" headers. 26345</para> 26346</change> 26347 26348<change type="bugfix"> 26349<para lang="ru"> 26350nginx не учитывал завершающую точку в строке заголовка запроса "Host". 26351</para> 26352<para lang="en"> 26353nginx did not take into account trailing dot in "Host" header line. 26354</para> 26355</change> 26356 26357<change type="bugfix"> 26358<para lang="ru"> 26359модуль ngx_http_auth_module не работал на Linux. 26360</para> 26361<para lang="en"> 26362the ngx_http_auth_module did not work under Linux. 26363</para> 26364</change> 26365 26366<change type="bugfix"> 26367<para lang="ru"> 26368директива rewrite неверно работала, если в запросе присутствовали аргументы. 26369</para> 26370<para lang="en"> 26371the rewrite directive worked incorrectly, if the arguments were in a request. 26372</para> 26373</change> 26374 26375<change type="bugfix"> 26376<para lang="ru"> 26377nginx не собирался на MacOS X. 26378</para> 26379<para lang="en"> 26380nginx could not be built on MacOS X. 26381</para> 26382</change> 26383 26384</changes> 26385 26386 26387<changes ver="0.1.28" date="2005-04-08"> 26388 26389<change type="bugfix"> 26390<para lang="ru"> 26391при проксировании больших файлов nginx сильно нагружал процессор. 26392</para> 26393<para lang="en"> 26394nginx hogs CPU while proxying the huge files. 26395</para> 26396</change> 26397 26398<change type="bugfix"> 26399<para lang="ru"> 26400nginx не собирался gcc 4.0 на Linux. 26401</para> 26402<para lang="en"> 26403nginx could not be built by gcc 4.0 on Linux. 26404</para> 26405</change> 26406 26407</changes> 26408 26409 26410<changes ver="0.1.27" date="2005-03-28"> 26411 26412<change type="feature"> 26413<para lang="ru"> 26414параметр blocked в директиве valid_referers. 26415</para> 26416<para lang="en"> 26417the "blocked" parameter of the "valid_referers" directive. 26418</para> 26419</change> 26420 26421<change type="change"> 26422<para lang="ru"> 26423ошибки обработки заголовка запроса теперь записываются на уровне 26424info, в лог также записывается имя сервера и строки заголовка 26425запроса "Host" и "Referer". 26426</para> 26427<para lang="en"> 26428the errors while handling the request header now logged at "info" level. 26429The server name and the "Host" and "Referer" header lines also logged. 26430</para> 26431</change> 26432 26433<change type="change"> 26434<para lang="ru"> 26435при записи ошибок в лог записывается также строка заголовка запроса "Host". 26436</para> 26437<para lang="en"> 26438the "Host" header line is also logged in error log. 26439</para> 26440</change> 26441 26442<change type="feature"> 26443<para lang="ru"> 26444директива proxy_pass_unparsed_uri. 26445Специальная обработка символов "://" в URI, введённая в версии 0.1.11, 26446теперь упразднена. 26447</para> 26448<para lang="en"> 26449the proxy_pass_unparsed_uri directive. 26450The special handling of the "://" symbols in URI, appeared in 0.1.11 version, 26451now is canceled. 26452</para> 26453</change> 26454 26455<change type="bugfix"> 26456<para lang="ru"> 26457nginx не собирался на FreeBSD и Linux, если был указан параметр конфигурации 26458--without-ngx_http_auth_basic_module. 26459</para> 26460<para lang="en"> 26461nginx could not be built on FreeBSD and Linux, if the 26462--without-ngx_http_auth_basic_module configuration parameter was used. 26463</para> 26464</change> 26465 26466</changes> 26467 26468 26469<changes ver="0.1.26" date="2005-03-22"> 26470 26471<change type="change"> 26472<para lang="ru"> 26473неверные строки заголовка, переданные клиентом, теперь игнорируется и 26474записываются в error_log на уровне info. 26475</para> 26476<para lang="en"> 26477the invalid client header lines are now ignored and logged at the info level. 26478</para> 26479</change> 26480 26481<change type="change"> 26482<para lang="ru"> 26483при записи ошибок в лог записывается также имя сервера, при обращении 26484к которому произошла ошибка. 26485</para> 26486<para lang="en"> 26487the server name is also logged in error log. 26488</para> 26489</change> 26490 26491<change type="feature"> 26492<para lang="ru"> 26493модуль ngx_http_auth_basic_module и директивы auth_basic и 26494auth_basic_user_file. 26495</para> 26496<para lang="en"> 26497the ngx_http_auth_basic_module module and the auth_basic and 26498auth_basic_user_file directives. 26499</para> 26500</change> 26501 26502</changes> 26503 26504 26505<changes ver="0.1.25" date="2005-03-19"> 26506 26507<change type="bugfix"> 26508<para lang="ru"> 26509nginx не работал на Linux parisc. 26510</para> 26511<para lang="en"> 26512nginx did run on Linux parisc. 26513</para> 26514</change> 26515 26516<change type="feature"> 26517<para lang="ru"> 26518nginx теперь не запускается под FreeBSD, если значение 26519sysctl kern.ipc.somaxconn слишком большое. 26520</para> 26521<para lang="en"> 26522nginx now does not start under FreeBSD if the sysctl kern.ipc.somaxconn 26523value is too big. 26524</para> 26525</change> 26526 26527<change type="bugfix"> 26528<para lang="ru"> 26529если модуль ngx_http_index_module делал внутреннее перенаправление запроса 26530в модули ngx_http_proxy_module или ngx_http_fastcgi_module, то файл индекса 26531не закрывался после обслуживания запроса. 26532</para> 26533<para lang="en"> 26534if a request was internally redirected by the ngx_http_index_module 26535module to the ngx_http_proxy_module or ngx_http_fastcgi_module modules, 26536then the index file was not closed after request completion. 26537</para> 26538</change> 26539 26540<change type="feature"> 26541<para lang="ru"> 26542директива proxy_pass может использоваться в location, заданных регулярным 26543выражением. 26544</para> 26545<para lang="en"> 26546the "proxy_pass" can be used in location with regular expression. 26547</para> 26548</change> 26549 26550<change type="feature"> 26551<para lang="ru"> 26552модуль ngx_http_rewrite_filter_module поддерживает условия вида 26553"if ($HTTP_USER_AGENT ~ MSIE)". 26554</para> 26555<para lang="en"> 26556the ngx_http_rewrite_filter_module module supports the condition like 26557"if ($HTTP_USER_AGENT ~ MSIE)". 26558</para> 26559</change> 26560 26561<change type="bugfix"> 26562<para lang="ru"> 26563nginx очень медленно запускался при большом количестве адресов и 26564использовании текстовых значений в директиве geo. 26565</para> 26566<para lang="en"> 26567nginx started too slow if the large number of addresses and text values 26568were used in the "geo" directive. 26569</para> 26570</change> 26571 26572<change type="change"> 26573<para lang="ru"> 26574имя переменной в директиве geo нужно указывать, как $name. 26575Прежний вариант без "$" пока работает, но вскоре будет убран. 26576</para> 26577<para lang="en"> 26578a variable name must be declared as "$name" in the "geo" directive. 26579The previous variant without "$" is still supported, but will be removed soon. 26580</para> 26581</change> 26582 26583<change type="feature"> 26584<para lang="ru"> 26585параметр лога "%{VARIABLE}v". 26586</para> 26587<para lang="en"> 26588the "%{VARIABLE}v" logging parameter. 26589</para> 26590</change> 26591 26592<change type="feature"> 26593<para lang="ru"> 26594директива "set $name value". 26595</para> 26596<para lang="en"> 26597the "set $name value" directive. 26598</para> 26599</change> 26600 26601<change type="bugfix"> 26602<para lang="ru"> 26603совместимость с gcc 4.0. 26604</para> 26605<para lang="en"> 26606gcc 4.0 compatibility. 26607</para> 26608</change> 26609 26610<change type="feature"> 26611<para lang="ru"> 26612параметр автоконфигурации --with-openssl-opt=OPTIONS. 26613</para> 26614<para lang="en"> 26615the --with-openssl-opt=OPTIONS autoconfiguration directive. 26616</para> 26617</change> 26618 26619</changes> 26620 26621 26622<changes ver="0.1.24" date="2005-03-04"> 26623 26624<change type="feature"> 26625<para lang="ru"> 26626модуль ngx_http_ssi_filter_module поддерживает переменные 26627QUERY_STRING и DOCUMENT_URI. 26628</para> 26629<para lang="en"> 26630the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI 26631variables. 26632</para> 26633</change> 26634 26635<change type="bugfix"> 26636<para lang="ru"> 26637модуль ngx_http_autoindex_module мог выдавать ответ 404 26638на существующий каталог, если этот каталог был указан как alias. 26639</para> 26640<para lang="en"> 26641the ngx_http_autoindex_module may some times return the 404 response 26642for existent directory, if this directory was used in "alias" directive. 26643</para> 26644</change> 26645 26646<change type="bugfix"> 26647<para lang="ru"> 26648модуль ngx_http_ssi_filter_module неправильно работал при больших 26649ответах. 26650</para> 26651<para lang="en"> 26652the ngx_http_ssi_filter_module ran incorrectly for large responses. 26653</para> 26654</change> 26655 26656<change type="bugfix"> 26657<para lang="ru"> 26658отсутствие строки заголовка "Referer" всегда считалось правильным referrer'ом. 26659</para> 26660<para lang="en"> 26661the lack of the "Referer" header line was always accounted as valid referrer. 26662</para> 26663</change> 26664 26665</changes> 26666 26667 26668<changes ver="0.1.23" date="2005-03-01"> 26669 26670<change type="feature"> 26671<para lang="ru"> 26672модуль ngx_http_ssi_filter_module и 26673директивы ssi, ssi_silent_errors и ssi_min_file_chunk. 26674Поддерживаются команды 'echo var="HTTP_..." default=""' и 26675'echo var="REMOTE_ADDR"'. 26676</para> 26677<para lang="en"> 26678the ngx_http_ssi_filter_module and 26679the ssi, ssi_silent_errors, and ssi_min_file_chunk directives. 26680The 'echo var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands 26681are supported. 26682</para> 26683</change> 26684 26685<change type="feature"> 26686<para lang="ru"> 26687параметр лога %request_time. 26688</para> 26689<para lang="en"> 26690the %request_time log parameter. 26691</para> 26692</change> 26693 26694<change type="feature"> 26695<para lang="ru"> 26696если запрос пришёл без строки заголовка "Host", то директива 26697proxy_preserve_host устанавливает в качестве этого заголовка первое имя 26698сервера из директивы server_name. 26699</para> 26700<para lang="en"> 26701if the request has no the "Host" header line, then the "proxy_preserve_host" 26702directive set this header line to the first server name of the "server_name" 26703directive. 26704</para> 26705</change> 26706 26707<change type="bugfix"> 26708<para lang="ru"> 26709nginx не собирался на платформах, отличных от i386, amd64, sparc и ppc; 26710ошибка появилась в 0.1.22. 26711</para> 26712<para lang="en"> 26713nginx could not be built on platforms different from i386, amd64, sparc, 26714and ppc; 26715the bug had appeared in 0.1.22. 26716</para> 26717</change> 26718 26719<change type="bugfix"> 26720<para lang="ru"> 26721модуль ngx_http_autoindex_module теперь показывает информацию не о 26722символическом линке, а о файле или каталоге, на который он указывает. 26723</para> 26724<para lang="en"> 26725the ngx_http_autoindex_module now shows the information not about the symlink, 26726but about file or directory it points to. 26727</para> 26728</change> 26729 26730<change type="bugfix"> 26731<para lang="ru"> 26732если клиенту ничего не передавалось, то параметр %apache_length 26733записывал в лог отрицательную длину заголовка ответа. 26734</para> 26735<para lang="en"> 26736the %apache_length parameter logged the negative length 26737of the response header if the no response was transferred to a client. 26738</para> 26739</change> 26740 26741</changes> 26742 26743 26744<changes ver="0.1.22" date="2005-02-22"> 26745 26746<change type="bugfix"> 26747<para lang="ru"> 26748модуль ngx_http_stub_status_module показывал неверную статистику 26749для обработанных соединений, если использовалось проксирование 26750или FastCGI-сервер. 26751</para> 26752<para lang="en"> 26753the ngx_http_stub_status_module showed incorrect handled connections 26754statistics if the proxying or FastCGI server were used. 26755</para> 26756</change> 26757 26758<change type="bugfix"> 26759<para lang="ru"> 26760на Linux и Solaris установочные пути были неверно заключены в кавычки; 26761ошибка появилась в 0.1.21. 26762</para> 26763<para lang="en"> 26764the installation paths were incorrectly quoted on Linux and Solaris; 26765the bug had appeared in 0.1.21. 26766</para> 26767</change> 26768 26769</changes> 26770 26771 26772<changes ver="0.1.21" date="2005-02-22"> 26773 26774<change type="bugfix"> 26775<para lang="ru"> 26776модуль ngx_http_stub_status_module показывал неверную статистику 26777при использовании метода rtsig или при использовании нескольких 26778рабочих процессов на SMP машине. 26779</para> 26780<para lang="en"> 26781the ngx_http_stub_status_module showed incorrect statistics 26782if "rtsig" method was used or if several worker process ran on SMP. 26783</para> 26784</change> 26785 26786<change type="bugfix"> 26787<para lang="ru"> 26788nginx не собирался компилятором icc под Линуксом или 26789если библиотека zlib-1.2.x собиралась из исходных текстов. 26790</para> 26791<para lang="en"> 26792nginx could not be built by the icc compiler on Linux or 26793if the zlib-1.2.x library was building from sources. 26794</para> 26795</change> 26796 26797<change type="bugfix"> 26798<para lang="ru"> 26799nginx не собирался под NetBSD 2.0. 26800</para> 26801<para lang="en"> 26802nginx could not be built on NetBSD 2.0. 26803</para> 26804</change> 26805 26806</changes> 26807 26808 26809<changes ver="0.1.20" date="2005-02-17"> 26810 26811<change type="feature"> 26812<para lang="ru"> 26813новые параметры script_filename и remote_port в директиве fastcgi_params. 26814</para> 26815<para lang="en"> 26816the new "script_filename" and "remote_port" parameters 26817of the fastcgi_params directive. 26818</para> 26819</change> 26820 26821<change type="bugfix"> 26822<para lang="ru"> 26823неправильно обрабатывался поток stderr от FastCGI-сервера. 26824</para> 26825<para lang="en"> 26826the FastCGI stderr stream was handled incorrectly. 26827</para> 26828</change> 26829 26830</changes> 26831 26832 26833<changes ver="0.1.19" date="2005-02-16"> 26834 26835<change type="bugfix"> 26836<para lang="ru"> 26837если в запросе есть нуль, то для локальных запросов теперь возвращается 26838ошибка 404. 26839</para> 26840<para lang="en"> 26841now, if request contains the zero, then the 404 error is returned 26842for the local requests. 26843</para> 26844</change> 26845 26846<change type="bugfix"> 26847<para lang="ru"> 26848nginx не собирался под NetBSD 2.0. 26849</para> 26850<para lang="en"> 26851nginx could not be built on NetBSD 2.0. 26852</para> 26853</change> 26854 26855<change type="bugfix"> 26856<para lang="ru"> 26857во время чтения тела запроса клиента в SSL соединении мог произойти таймаут. 26858</para> 26859<para lang="en"> 26860the timeout may occur while reading of the client request body 26861via SSL connections. 26862</para> 26863</change> 26864 26865</changes> 26866 26867 26868<changes ver="0.1.18" date="2005-02-09"> 26869 26870<change type="workaround"> 26871<para lang="ru"> 26872для совместимости с Solaris 10 в директивах devpoll_events и devpoll_changes 26873значения по умолчанию уменьшены с 512 до 32. 26874</para> 26875<para lang="en"> 26876the default values of the devpoll_events and the devpoll_changes directives 26877changed from 512 to 32 to be compatible with Solaris 10. 26878</para> 26879</change> 26880 26881<change type="bugfix"> 26882<para lang="ru"> 26883директивы proxy_set_x_var и fastcgi_set_var не наследовались. 26884</para> 26885<para lang="en"> 26886the proxy_set_x_var and fastcgi_set_var directives were not inherited. 26887</para> 26888</change> 26889 26890<change type="bugfix"> 26891<para lang="ru"> 26892в директиве rewrite, возвращающей редирект, аргументы присоединялись 26893к URI через символ "&" вместо "?". 26894</para> 26895<para lang="en"> 26896in a redirect rewrite directive arguments were concatenated with URI 26897by an "&" rather than a "?". 26898</para> 26899</change> 26900 26901<change type="bugfix"> 26902<para lang="ru"> 26903строки для модуля ngx_http_geo_module без символа ";" во включённом файле 26904игнорировались. 26905</para> 26906<para lang="en"> 26907the lines without trailing ";" in the file being included 26908by the ngx_http_geo_module were silently ignored. 26909</para> 26910</change> 26911 26912<change type="feature"> 26913<para lang="ru"> 26914модуль ngx_http_stub_status_module. 26915</para> 26916<para lang="en"> 26917the ngx_http_stub_status_module. 26918</para> 26919</change> 26920 26921<change type="bugfix"> 26922<para lang="ru"> 26923неизвестный формат лог-файла в директиве access_log вызывал segmentation fault. 26924</para> 26925<para lang="en"> 26926the unknown log format in the access_log directive caused 26927the segmentation fault. 26928</para> 26929</change> 26930 26931<change type="feature"> 26932<para lang="ru"> 26933новый параметр document_root в директиве fastcgi_params. 26934</para> 26935<para lang="en"> 26936the new "document_root" parameter of the fastcgi_params directive. 26937</para> 26938</change> 26939 26940<change type="feature"> 26941<para lang="ru"> 26942директива fastcgi_redirect_errors. 26943</para> 26944<para lang="en"> 26945the fastcgi_redirect_errors directive. 26946</para> 26947</change> 26948 26949<change type="feature"> 26950<para lang="ru"> 26951новый модификатор break в директиве rewrite позволяет прекратить 26952цикл rewrite/location и устанавливает текущую конфигурацию для запроса. 26953</para> 26954<para lang="en"> 26955the new "break" modifier of the "rewrite" directive allows to stop 26956the rewrite/location cycle and sets the current configuration to the request. 26957</para> 26958</change> 26959 26960</changes> 26961 26962 26963<changes ver="0.1.17" date="2005-02-03"> 26964 26965<change type="change"> 26966<para lang="ru"> 26967модуль ngx_http_rewrite_module полностью переписан. 26968Теперь можно делать редиректы, возвращать коды ошибок 26969и проверять переменные и рефереры. 26970Эти директивы можно использовать внутри location. 26971Директива redirect упразднена. 26972</para> 26973<para lang="en"> 26974the ngx_http_rewrite_module was rewritten from the scratch. 26975Now it is possible to redirect, to return the error codes, 26976to check the variables and referrers. The directives can be used 26977inside locations. 26978The redirect directive was canceled. 26979</para> 26980</change> 26981 26982<change type="feature"> 26983<para lang="ru"> 26984модуль ngx_http_geo_module. 26985</para> 26986<para lang="en"> 26987the ngx_http_geo_module. 26988</para> 26989</change> 26990 26991<change type="feature"> 26992<para lang="ru"> 26993директивы proxy_set_x_var и fastcgi_set_var. 26994</para> 26995<para lang="en"> 26996the proxy_set_x_var and fastcgi_set_var directives. 26997</para> 26998</change> 26999 27000<change type="bugfix"> 27001<para lang="ru"> 27002конфигурация location с модификатором "=" могла использоваться 27003в другом location. 27004</para> 27005<para lang="en"> 27006the location configuration with "=" modifier may be used in another 27007location. 27008</para> 27009</change> 27010 27011<change type="bugfix"> 27012<para lang="ru"> 27013правильный тип ответа выставлялся только для запросов, у которых в расширении 27014были только маленькие буквы. 27015</para> 27016<para lang="en"> 27017the correct content type was set only for requests that use small caps letters 27018in extension. 27019</para> 27020</change> 27021 27022<change type="bugfix"> 27023<para lang="ru"> 27024если для location установлен proxy_pass или fastcgi_pass, и доступ 27025к нему запрещался, а ошибка перенаправлялась на статическую страницу, 27026то происходил segmentation fault. 27027</para> 27028<para lang="en"> 27029if the proxy_pass or fastcgi_pass directives were set in the location, 27030and access was denied, and the error was redirected to a static page, 27031then the segmentation fault occurred. 27032</para> 27033</change> 27034 27035<change type="bugfix"> 27036<para lang="ru"> 27037если в проксированном ответе в заголовке "Location" передавался 27038относительный URL, то к нему добавлялось имя хоста и слэш; 27039ошибка появилась в 0.1.14. 27040</para> 27041<para lang="en"> 27042if in a proxied "Location" header was a relative URL, 27043then a host name and a slash were added to them; 27044the bug had appeared in 0.1.14. 27045</para> 27046</change> 27047 27048<change type="bugfix"> 27049<para lang="ru"> 27050на Linux в лог не записывался текст системной ошибки. 27051</para> 27052<para lang="en"> 27053the system error message was not logged on Linux. 27054</para> 27055</change> 27056 27057</changes> 27058 27059 27060<changes ver="0.1.16" date="2005-01-25"> 27061 27062<change type="bugfix"> 27063<para lang="ru"> 27064если ответ передавался chunk'ами, то при запросе HEAD выдавался 27065завершающий chunk. 27066</para> 27067<para lang="en"> 27068if the response were transferred by chunks, then on the HEAD request 27069the final chunk was issued. 27070</para> 27071</change> 27072 27073<change type="bugfix"> 27074<para lang="ru"> 27075заголовок "Connection: keep-alive" выдавался, даже если директива 27076keepalive_timeout запрещала использование keep-alive. 27077</para> 27078<para lang="en"> 27079the "Connection: keep-alive" header were issued, even if the 27080keepalive_timeout directive forbade the keep-alive use. 27081</para> 27082</change> 27083 27084<change type="bugfix"> 27085<para lang="ru"> 27086ошибки в модуле ngx_http_fastcgi_module вызывали segmentation fault. 27087</para> 27088<para lang="en"> 27089the errors in the ngx_http_fastcgi_module caused the segmentation faults. 27090</para> 27091</change> 27092 27093<change type="bugfix"> 27094<para lang="ru"> 27095при использовании SSL сжатый ответ мог передаваться не до конца. 27096</para> 27097<para lang="en"> 27098the compressed response encrypted by SSL may not transferred complete. 27099</para> 27100</change> 27101 27102<change type="bugfix"> 27103<para lang="ru"> 27104опции TCP_NODELAY, TCP_NOPUSH и TCP_CORK, специфичные для TCP сокетов, 27105не используются для unix domain сокетов. 27106</para> 27107<para lang="en"> 27108the TCP-specific TCP_NODELAY, TCP_NOPUSH, and TCP_CORK options, 27109are not used for the unix domain sockets. 27110</para> 27111</change> 27112 27113<change type="feature"> 27114<para lang="ru"> 27115директива rewrite поддерживает перезаписывание аргументов. 27116</para> 27117<para lang="en"> 27118the rewrite directive supports the arguments rewriting. 27119</para> 27120</change> 27121 27122<change type="bugfix"> 27123<para lang="ru"> 27124на запрос POST с заголовком "Content-Length: 0" возвращался ответ 400; 27125ошибка появилась в 0.1.14. 27126</para> 27127<para lang="en"> 27128the response code 400 was returned for the POST request with the 27129"Content-Length: 0" header; 27130the bug had appeared in 0.1.14. 27131</para> 27132</change> 27133 27134</changes> 27135 27136 27137<changes ver="0.1.15" date="2005-01-19"> 27138 27139<change type="bugfix"> 27140<para lang="ru"> 27141ошибка соединения с FastCGI-сервером вызывала segmentation fault. 27142</para> 27143<para lang="en"> 27144the error while the connecting to the FastCGI server caused 27145segmentation fault. 27146</para> 27147</change> 27148 27149<change type="bugfix"> 27150<para lang="ru"> 27151корректная обработка регулярного выражения, в котором число 27152выделенных частей не совпадает с числом подстановок. 27153</para> 27154<para lang="en"> 27155the correct handling of the regular expression, that 27156has different number of the captures and substitutions. 27157</para> 27158</change> 27159 27160<change type="feature"> 27161<para lang="ru"> 27162location, который передаётся FastCGI-серверу, может быть задан 27163с помощью регулярного выражения. 27164</para> 27165<para lang="en"> 27166the location, that is passed to the FastCGI server, can be 27167regular expression. 27168</para> 27169</change> 27170 27171<change type="bugfix"> 27172<para lang="ru"> 27173параметр FastCGI REQUEST_URI теперь передаётся вместе с аргументами 27174и в том виде, в котором был получен от клиента. 27175</para> 27176<para lang="en"> 27177the FastCGI's parameter REQUEST_URI is now passed with the arguments 27178and in the original state. 27179</para> 27180</change> 27181 27182<change type="bugfix"> 27183<para lang="ru"> 27184для использования регулярных выражений в location нужно было 27185собирать nginx вместе с ngx_http_rewrite_module. 27186</para> 27187<para lang="en"> 27188the ngx_http_rewrite_module module was required to be built to use 27189the regular expressions in locations. 27190</para> 27191</change> 27192 27193<change type="bugfix"> 27194<para lang="ru"> 27195если бэкенд слушал на 80-ом порту, то при использовании директивы 27196<nobr>"proxy_preserve_host on"</nobr> в заголовке "Host" указывался 27197также порт 80; 27198ошибка появилась в 0.1.14. 27199</para> 27200<para lang="en"> 27201the directive <nobr>"proxy_preserve_host on"</nobr> adds port 80 27202to the "Host" headers, if upstream listen on port 80; 27203the bug had appeared in 0.1.14. 27204</para> 27205</change> 27206 27207<change type="bugfix"> 27208<para lang="ru"> 27209если задать одинаковые пути в параметрах автоконфигурации 27210--http-client-body-temp-path=PATH и --http-proxy-temp-path=PATH 27211или --http-client-body-temp-path=PATH и --http-fastcgi-temp-path=PATH, 27212то происходил segmentation fault. 27213</para> 27214<para lang="en"> 27215the same paths in autoconfiguration parameters 27216--http-client-body-temp-path=PATH and --http-proxy-temp-path=PATH, 27217or --http-client-body-temp-path=PATH and --http-fastcgi-temp-path=PATH 27218caused segmentation fault. 27219</para> 27220</change> 27221 27222</changes> 27223 27224 27225<changes ver="0.1.14" date="2005-01-18"> 27226 27227<change type="feature"> 27228<para lang="ru"> 27229параметры автоконфигурации 27230--http-client-body-temp-path=PATH, 27231--http-proxy-temp-path=PATH 27232и --http-fastcgi-temp-path=PATH 27233</para> 27234<para lang="en"> 27235the autoconfiguration directives: 27236--http-client-body-temp-path=PATH, 27237--http-proxy-temp-path=PATH, 27238and --http-fastcgi-temp-path=PATH 27239</para> 27240</change> 27241 27242<change type="change"> 27243<para lang="ru"> 27244имя каталога с временными файлами, содержащие тело запроса клиента, 27245задаётся директивой client_body_temp_path, 27246по умолчанию <prefix>/client_body_temp. 27247</para> 27248<para lang="en"> 27249the directory name for the temporary files with the client request body 27250is specified by directive client_body_temp_path, 27251by default it is <prefix>/client_body_temp. 27252</para> 27253</change> 27254 27255<change type="feature"> 27256<para lang="ru"> 27257модуль ngx_http_fastcgi_module и директивы 27258fastcgi_pass, 27259fastcgi_root, 27260fastcgi_index, 27261fastcgi_params, 27262fastcgi_connect_timeout, 27263fastcgi_send_timeout, 27264fastcgi_read_timeout, 27265fastcgi_send_lowat, 27266fastcgi_header_buffer_size, 27267fastcgi_buffers, 27268fastcgi_busy_buffers_size, 27269fastcgi_temp_path, 27270fastcgi_max_temp_file_size, 27271fastcgi_temp_file_write_size, 27272fastcgi_next_upstream 27273и fastcgi_x_powered_by. 27274 27275</para> 27276<para lang="en"> 27277the ngx_http_fastcgi_module and the directives: 27278fastcgi_pass, 27279fastcgi_root, 27280fastcgi_index, 27281fastcgi_params, 27282fastcgi_connect_timeout, 27283fastcgi_send_timeout, 27284fastcgi_read_timeout, 27285fastcgi_send_lowat, 27286fastcgi_header_buffer_size, 27287fastcgi_buffers, 27288fastcgi_busy_buffers_size, 27289fastcgi_temp_path, 27290fastcgi_max_temp_file_size, 27291fastcgi_temp_file_write_size, 27292fastcgi_next_upstream, 27293and fastcgi_x_powered_by. 27294</para> 27295</change> 27296 27297<change type="bugfix"> 27298<para lang="ru"> 27299ошибка "[alert] zero size buf"; 27300ошибка появилась в 0.1.3. 27301</para> 27302<para lang="en"> 27303the "[alert] zero size buf" error; 27304the bug had appeared in 0.1.3. 27305</para> 27306</change> 27307 27308<change type="change"> 27309<para lang="ru"> 27310в директиве proxy_pass нужно обязательно указывать URI после имени хоста. 27311</para> 27312<para lang="en"> 27313the URI must be specified after the host name in the proxy_pass directive. 27314</para> 27315</change> 27316 27317<change type="change"> 27318<para lang="ru"> 27319если в URI встречался символ %3F, то он считался началом строки аргументов. 27320</para> 27321<para lang="en"> 27322the %3F symbol in the URI was considered as the argument string start. 27323</para> 27324</change> 27325 27326<change type="feature"> 27327<para lang="ru"> 27328поддержка unix domain сокетов в модуле ngx_http_proxy_module. 27329</para> 27330<para lang="en"> 27331the unix domain sockets support in the ngx_http_proxy_module. 27332</para> 27333</change> 27334 27335<change type="feature"> 27336<para lang="ru"> 27337директивы ssl_engine и ssl_ciphers.<br/> 27338Спасибо Сергею Скворцову за SSL-акселератор. 27339</para> 27340<para lang="en"> 27341the ssl_engine and ssl_ciphers directives.<br/> 27342Thanks to Sergey Skvortsov for SSL-accelerator. 27343</para> 27344</change> 27345 27346</changes> 27347 27348 27349<changes ver="0.1.13" date="2004-12-21"> 27350 27351<change type="feature"> 27352<para lang="ru"> 27353директивы server_names_hash и server_names_hash_threshold. 27354</para> 27355<para lang="en"> 27356the server_names_hash and server_names_hash_threshold directives. 27357</para> 27358</change> 27359 27360<change type="bugfix"> 27361<para lang="ru"> 27362имена *.domain.tld в директиве server_name не работали. 27363</para> 27364<para lang="en"> 27365the *.domain.tld names in the "server_name" directive did not work. 27366</para> 27367</change> 27368 27369<change type="bugfix"> 27370<para lang="ru"> 27371параметр лога %request_length записывал неверную длину. 27372</para> 27373<para lang="en"> 27374the %request_length log parameter logged the incorrect length. 27375</para> 27376</change> 27377 27378</changes> 27379 27380 27381<changes ver="0.1.12" date="2004-12-06"> 27382 27383<change type="feature"> 27384<para lang="ru"> 27385параметр лога %request_length. 27386</para> 27387<para lang="en"> 27388the %request_length log parameter. 27389</para> 27390</change> 27391 27392<change type="bugfix"> 27393<para lang="ru"> 27394при использовании /dev/poll, select и poll на платформах, где возможны 27395ложные срабатывания указанных методов, могли быть длительные задержки 27396при обработке запроса по keep-alive соединению. 27397Наблюдалось по крайней мере на Solaris с использованием /dev/poll. 27398</para> 27399<para lang="en"> 27400when using the /dev/poll, select and poll on the platforms, where 27401these methods may do the false reports, there may be the long delay when 27402the request was passed via the keep-alive connection. 27403It may be at least on Solaris when using the /dev/poll. 27404</para> 27405</change> 27406 27407<change type="bugfix"> 27408<para lang="ru"> 27409директива send_lowat игнорируется на Linux, так как Linux не поддерживает 27410опцию SO_SNDLOWAT. 27411</para> 27412<para lang="en"> 27413the send_lowat directive is ignored on Linux because Linux does not support 27414the SO_SNDLOWAT option. 27415</para> 27416</change> 27417 27418</changes> 27419 27420 27421<changes ver="0.1.11" date="2004-12-02"> 27422 27423<change type="feature"> 27424<para lang="ru"> 27425директива worker_priority. 27426</para> 27427<para lang="en"> 27428the worker_priority directive. 27429</para> 27430</change> 27431 27432<change type="change"> 27433<para lang="ru"> 27434под FreeBSD директивы tcp_nopush и tcp_nodelay вместе влияют на передачу 27435ответа. 27436</para> 27437<para lang="en"> 27438both tcp_nopush and tcp_nodelay directives affect the transferred response. 27439</para> 27440</change> 27441 27442<change type="bugfix"> 27443<para lang="ru"> 27444nginx не вызывал initgroups().<br/> 27445Спасибо Андрею Ситникову и Андрею Нигматулину. 27446</para> 27447<para lang="en"> 27448nginx did not call initgroups().<br/> 27449Thanks to Andrew Sitnikov and Andrei Nigmatulin. 27450</para> 27451</change> 27452 27453<change type="change"> 27454<para lang="ru"> 27455ngx_http_auto_index_module теперь выдаёт размер файлов в байтах. 27456</para> 27457<para lang="en"> 27458now the ngx_http_autoindex_module shows the file size in the bytes. 27459</para> 27460</change> 27461 27462<change type="bugfix"> 27463<para lang="ru"> 27464ngx_http_auto_index_module возвращал ошибку 500, если в каталоге есть 27465битый symlink. 27466</para> 27467<para lang="en"> 27468the ngx_http_autoindex_module returned the 500 error if the broken symlink 27469was in a directory. 27470</para> 27471</change> 27472 27473<change type="bugfix"> 27474<para lang="ru"> 27475файлы больше 4G не передавались с использованием sendfile. 27476</para> 27477<para lang="en"> 27478the files bigger than 4G could not be transferred using sendfile. 27479</para> 27480</change> 27481 27482<change type="bugfix"> 27483<para lang="ru"> 27484если бэкенд резолвился в несколько адресов и при ожидании от него ответа 27485происходила ошибка, то процесс зацикливался. 27486</para> 27487<para lang="en"> 27488if the backend was resolved to several backends and there was an error while 27489the response waiting then process may got caught in an endless loop. 27490</para> 27491</change> 27492 27493<change type="bugfix"> 27494<para lang="ru"> 27495при использовании метода /dev/poll рабочий процесс мог завершиться 27496с сообщением "unknown cycle". 27497</para> 27498<para lang="en"> 27499the worker process may exit with the "unknown cycle" message when the /dev/poll 27500method was used. 27501</para> 27502</change> 27503 27504<change type="bugfix"> 27505<para lang="ru"> 27506ошибки "close() channel failed". 27507</para> 27508<para lang="en"> 27509"close() channel failed" errors. 27510</para> 27511</change> 27512 27513<change type="bugfix"> 27514<para lang="ru"> 27515автоматическое определение групп nobody и nogroup. 27516</para> 27517<para lang="en"> 27518the autodetection of the "nobody" and "nogroup" groups. 27519</para> 27520</change> 27521 27522<change type="bugfix"> 27523<para lang="ru"> 27524директива send_lowat не работала на Linux. 27525</para> 27526<para lang="en"> 27527the send_lowat directive did not work on Linux. 27528</para> 27529</change> 27530 27531<change type="bugfix"> 27532<para lang="ru"> 27533если в конфигурации не было раздела events, то происходил segmentation fault. 27534</para> 27535<para lang="en"> 27536the segmentation fault occurred if there was no events section 27537in configuration. 27538</para> 27539</change> 27540 27541<change type="bugfix"> 27542<para lang="ru"> 27543nginx не собирался под OpenBSD. 27544</para> 27545<para lang="en"> 27546nginx could not be built on OpenBSD. 27547</para> 27548</change> 27549 27550<change type="bugfix"> 27551<para lang="ru"> 27552двойные слэшы в "://" в URI превращались в ":/". 27553</para> 27554<para lang="en"> 27555the double slashes in "://" in the URI were converted to ":/". 27556</para> 27557</change> 27558 27559</changes> 27560 27561 27562<changes ver="0.1.10" date="2004-11-26"> 27563 27564<change type="bugfix"> 27565<para lang="ru"> 27566если в запросе без аргументов есть "//", "/./", "/../" или "%XX", 27567то терялся последний символ в строке запроса; 27568ошибка появилась в 0.1.9. 27569</para> 27570<para lang="en"> 27571if the request without arguments contains "//", "/./", "/../" or "%XX" 27572then the last character in the request line was lost; 27573the bug had appeared in 0.1.9. 27574</para> 27575</change> 27576 27577<change type="bugfix"> 27578<para lang="ru"> 27579исправление в версии 0.1.9 для файлов больше 2G на Linux не работало. 27580</para> 27581<para lang="en"> 27582the fix in 0.1.9 for the files bigger than 2G on Linux did not work. 27583</para> 27584</change> 27585 27586</changes> 27587 27588 27589<changes ver="0.1.9" date="2004-11-25"> 27590 27591<change type="bugfix"> 27592<para lang="ru"> 27593если в запросе есть "//", "/./", "/../" или "%XX", то проксируемый 27594запрос передавался без аргументов. 27595</para> 27596<para lang="en"> 27597the proxied request was sent without arguments if the request contains 27598"//", "/./", "/../" or "%XX". 27599</para> 27600</change> 27601 27602<change type="bugfix"> 27603<para lang="ru"> 27604при сжатии больших ответов иногда они передавались не полностью. 27605</para> 27606<para lang="en"> 27607the large compressed responses may be transferred not completely. 27608</para> 27609</change> 27610 27611<change type="bugfix"> 27612<para lang="ru"> 27613не передавались файлы больше 2G на Linux, неподдерживающем sendfile64(). 27614</para> 27615<para lang="en"> 27616the files bigger than 2G was not transferred on Linux that does not support 27617sendfile64(). 27618</para> 27619</change> 27620 27621<change type="bugfix"> 27622<para lang="ru"> 27623на Linux при конфигурации сборки нужно было обязательно использовать 27624параметр --with-poll_module; 27625ошибка появилась в 0.1.8. 27626</para> 27627<para lang="en"> 27628while the build configuration on Linux the --with-poll_module parameter 27629was required; 27630the bug had appeared in 0.1.8. 27631</para> 27632</change> 27633 27634</changes> 27635 27636 27637<changes ver="0.1.8" date="2004-11-20"> 27638 27639<change type="bugfix"> 27640<para lang="ru"> 27641ошибка в модуле ngx_http_autoindex_module при показе длинных имён файлов. 27642</para> 27643<para lang="en"> 27644in the ngx_http_autoindex_module if the long file names were in the listing. 27645</para> 27646</change> 27647 27648<change type="feature"> 27649<para lang="ru"> 27650модификатор "^~" в директиве location. 27651</para> 27652<para lang="en"> 27653the "^~" modifier in the location directive. 27654</para> 27655</change> 27656 27657<change type="feature"> 27658<para lang="ru"> 27659директива proxy_max_temp_file_size. 27660</para> 27661<para lang="en"> 27662the proxy_max_temp_file_size directive. 27663</para> 27664</change> 27665 27666</changes> 27667 27668 27669<changes ver="0.1.7" date="2004-11-12"> 27670 27671<change type="bugfix"> 27672<para lang="ru"> 27673при использовании sendfile, если передаваемый файл менялся, то мог 27674произойти segmentation fault на FreeBSD; 27675ошибка появилась в 0.1.5. 27676</para> 27677<para lang="en"> 27678on FreeBSD the segmentation fault may occur if the size of the transferred 27679file was changed; 27680the bug had appeared in 0.1.5. 27681</para> 27682</change> 27683 27684</changes> 27685 27686 27687<changes ver="0.1.6" date="2004-11-11"> 27688 27689<change type="bugfix"> 27690<para lang="ru"> 27691при некоторых комбинациях директив location c регулярными выражениями 27692использовалась конфигурация не из того location. 27693</para> 27694<para lang="en"> 27695some location directive combinations with the regular expressions caused 27696the wrong configuration choose. 27697</para> 27698</change> 27699 27700</changes> 27701 27702 27703<changes ver="0.1.5" date="2004-11-11"> 27704 27705<change type="bugfix"> 27706<para lang="ru"> 27707на Solaris и Linux могло быть очень много сообщений "recvmsg() returned 27708not enough data". 27709</para> 27710<para lang="en"> 27711on Solaris and Linux there may be too many "recvmsg() returned not enough data" 27712alerts. 27713</para> 27714</change> 27715 27716<change type="bugfix"> 27717<para lang="ru"> 27718в режиме прокси без использования sendfile на Solaris возникала 27719ошибка "writev() failed <nobr>(22: Invalid argument)".</nobr> 27720На других платформах, не поддерживающих sendfile, процесс зацикливался. 27721</para> 27722<para lang="en"> 27723there were the "writev() failed <nobr>(22: Invalid argument)"</nobr> errors on 27724Solaris in proxy mode without sendfile. On other platforms that do not 27725support sendfile at all the process got caught in an endless loop. 27726</para> 27727</change> 27728 27729<change type="bugfix"> 27730<para lang="ru"> 27731при использовании sendfile в режиме прокси на Solaris возникал 27732segmentation fault. 27733</para> 27734<para lang="en"> 27735segmentation fault on Solaris in proxy mode and using sendfile. 27736</para> 27737</change> 27738 27739<change type="bugfix"> 27740<para lang="ru"> 27741segmentation fault на Solaris. 27742</para> 27743<para lang="en"> 27744segmentation fault on Solaris. 27745</para> 27746</change> 27747 27748<change type="bugfix"> 27749<para lang="ru"> 27750обновление исполняемого файла на лету не работало на Linux. 27751</para> 27752<para lang="en"> 27753on-line upgrade did not work on Linux. 27754</para> 27755</change> 27756 27757<change type="bugfix"> 27758<para lang="ru"> 27759в списке файлов, выдаваемом модулем ngx_http_autoindex_module, 27760не перекодировались пробелы, кавычки и знаки процента. 27761</para> 27762<para lang="en"> 27763the ngx_http_autoindex_module module did not escape the spaces, 27764the quotes, and the percent signs in the directory listing. 27765</para> 27766</change> 27767 27768<change type="change"> 27769<para lang="ru"> 27770уменьшение операций копирования. 27771</para> 27772<para lang="en"> 27773the decrease of the copy operations. 27774</para> 27775</change> 27776 27777<change type="feature"> 27778<para lang="ru"> 27779директива userid_p3p. 27780</para> 27781<para lang="en"> 27782the userid_p3p directive. 27783</para> 27784</change> 27785 27786</changes> 27787 27788 27789<changes ver="0.1.4" date="2004-10-26"> 27790 27791<change type="bugfix"> 27792<para lang="ru"> 27793ошибка в модуле ngx_http_autoindex_module. 27794</para> 27795<para lang="en"> 27796in the ngx_http_autoindex_module. 27797</para> 27798</change> 27799 27800</changes> 27801 27802 27803<changes ver="0.1.3" date="2004-10-25"> 27804 27805<change type="feature"> 27806<para lang="ru"> 27807модуль ngx_http_autoindex_module и директива autoindex. 27808</para> 27809<para lang="en"> 27810the ngx_http_autoindex_module and the autoindex directive. 27811</para> 27812</change> 27813 27814<change type="feature"> 27815<para lang="ru"> 27816директива proxy_set_x_url. 27817</para> 27818<para lang="en"> 27819the proxy_set_x_url directive. 27820</para> 27821</change> 27822 27823<change type="bugfix"> 27824<para lang="ru"> 27825модуль проксировании мог привести к зацикливанию, если не использовался 27826sendfile. 27827</para> 27828<para lang="en"> 27829proxy module may get caught in an endless loop when sendfile is not used. 27830</para> 27831</change> 27832 27833</changes> 27834 27835 27836<changes ver="0.1.2" date="2004-10-21"> 27837 27838<change type="feature"> 27839<para lang="ru"> 27840параметры --user=USER, --group=GROUP и --with-ld-opt=OPTIONS в configure. 27841</para> 27842<para lang="en"> 27843the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS options in configure. 27844</para> 27845</change> 27846 27847<change type="feature"> 27848<para lang="ru"> 27849директива server_name поддерживает *.domain.tld. 27850</para> 27851<para lang="en"> 27852the server_name directive supports *.domain.tld. 27853</para> 27854</change> 27855 27856<change type="bugfix"> 27857<para lang="ru"> 27858улучшена переносимость на неизвестные платформы. 27859</para> 27860<para lang="en"> 27861the portability improvements. 27862</para> 27863</change> 27864 27865<change type="bugfix"> 27866<para lang="ru"> 27867нельзя переконфигурировать nginx, если конфигурационный файл указан 27868в командной строке; 27869ошибка появилась в 0.1.1. 27870</para> 27871<para lang="en"> 27872if configuration file was set in command line, the reconfiguration 27873was impossible; 27874the bug had appeared in 0.1.1. 27875</para> 27876</change> 27877 27878<change type="bugfix"> 27879<para lang="ru"> 27880модуль проксировании мог привести к зацикливанию, если не использовался 27881sendfile. 27882</para> 27883<para lang="en"> 27884proxy module may get caught in an endless loop when sendfile is not used. 27885</para> 27886</change> 27887 27888<change type="bugfix"> 27889<para lang="ru"> 27890при использовании sendfile текст ответа не перекодировался 27891согласно директивам модуля charset; 27892ошибка появилась в 0.1.1. 27893</para> 27894<para lang="en"> 27895with sendfile the response was not recoded according to the charset 27896module directives; 27897the bug had appeared in 0.1.1. 27898</para> 27899</change> 27900 27901<change type="bugfix"> 27902<para lang="ru"> 27903очень редкая ошибка при обработке kqueue. 27904</para> 27905<para lang="en"> 27906very seldom bug in the kqueue processing. 27907</para> 27908</change> 27909 27910<change type="bugfix"> 27911<para lang="ru"> 27912модуль сжатия сжимал уже сжатые ответы, полученные при проксировании. 27913</para> 27914<para lang="en"> 27915the gzip module compressed the proxied responses that was already compressed. 27916</para> 27917</change> 27918 27919</changes> 27920 27921 27922<changes ver="0.1.1" date="2004-10-11"> 27923 27924<change type="feature"> 27925<para lang="ru"> 27926директива gzip_types. 27927</para> 27928<para lang="en"> 27929the gzip_types directive. 27930</para> 27931</change> 27932 27933<change type="feature"> 27934<para lang="ru"> 27935директива tcp_nodelay. 27936</para> 27937<para lang="en"> 27938the tcp_nodelay directive. 27939</para> 27940</change> 27941 27942<change type="feature"> 27943<para lang="ru"> 27944директива send_lowat работает не только на платформах, поддерживающих 27945kqueue NOTE_LOWAT, но и на всех, поддерживающих SO_SNDLOWAT. 27946</para> 27947<para lang="en"> 27948the send_lowat directive is working not only on OSes that support 27949kqueue NOTE_LOWAT, but also on OSes that support SO_SNDLOWAT. 27950</para> 27951</change> 27952 27953<change type="feature"> 27954<para lang="ru"> 27955эмуляция setproctitle() для Linux и Solaris. 27956</para> 27957<para lang="en"> 27958the setproctitle() emulation for Linux and Solaris. 27959</para> 27960</change> 27961 27962<change type="bugfix"> 27963<para lang="ru"> 27964ошибка при переписывании заголовка "Location" при проксировании. 27965</para> 27966<para lang="en"> 27967the "Location" header rewrite bug fixed while the proxying. 27968</para> 27969</change> 27970 27971<change type="bugfix"> 27972<para lang="ru"> 27973ошибка в модуле ngx_http_chunked_module, приводившая к зацикливанию. 27974</para> 27975<para lang="en"> 27976the ngx_http_chunked_module module may get caught in an endless loop. 27977</para> 27978</change> 27979 27980<change type="bugfix"> 27981<para lang="ru"> 27982ошибки в модуле /dev/poll. 27983</para> 27984<para lang="en"> 27985the /dev/poll module bugs fixed. 27986</para> 27987</change> 27988 27989<change type="bugfix"> 27990<para lang="ru"> 27991при проксировании и использовании временных файлов ответы портились. 27992</para> 27993<para lang="en"> 27994the responses were corrupted when the temporary files were used 27995while the proxying. 27996</para> 27997</change> 27998 27999<change type="bugfix"> 28000<para lang="ru"> 28001бэкенду передавались запросы с неперекодированными символами. 28002</para> 28003<para lang="en"> 28004the unescaped requests were passed to the backend. 28005</para> 28006</change> 28007 28008<change type="bugfix"> 28009<para lang="ru"> 28010на Linux 2.4 при конфигурации сборки нужно было обязательно использовать 28011параметр --with-poll_module. 28012</para> 28013<para lang="en"> 28014while the build configuration on Linux 2.4 the --with-poll_module parameter 28015was required. 28016</para> 28017</change> 28018 28019</changes> 28020 28021 28022<changes ver="0.1.0" date="2004-10-04"> 28023 28024<change> 28025<para lang="ru"> 28026Первая публично доступная версия. 28027</para> 28028<para lang="en"> 28029The first public version. 28030</para> 28031</change> 28032 28033</changes> 28034 28035 28036</change_log> 28037