nginxtra 1.6.3.9 → 1.8.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/bin/nginxtra +1 -1
  3. data/bin/nginxtra_rails +1 -1
  4. data/lib/nginxtra/version.rb +1 -1
  5. data/vendor/nginx/CHANGES +358 -14
  6. data/vendor/nginx/CHANGES.ru +372 -18
  7. data/vendor/nginx/LICENSE +2 -2
  8. data/vendor/nginx/auto/cc/clang +5 -0
  9. data/vendor/nginx/auto/cc/gcc +5 -0
  10. data/vendor/nginx/auto/lib/google-perftools/conf +1 -1
  11. data/vendor/nginx/auto/lib/openssl/make +0 -5
  12. data/vendor/nginx/auto/lib/perl/conf +9 -1
  13. data/vendor/nginx/auto/make +1 -1
  14. data/vendor/nginx/auto/modules +11 -0
  15. data/vendor/nginx/auto/options +10 -2
  16. data/vendor/nginx/auto/os/darwin +0 -1
  17. data/vendor/nginx/auto/os/freebsd +6 -23
  18. data/vendor/nginx/auto/sources +16 -14
  19. data/vendor/nginx/auto/summary +3 -24
  20. data/vendor/nginx/auto/threads +20 -0
  21. data/vendor/nginx/auto/types/sizeof +2 -12
  22. data/vendor/nginx/auto/unix +50 -6
  23. data/vendor/nginx/configure +5 -0
  24. data/vendor/nginx/contrib/vim/syntax/nginx.vim +183 -50
  25. data/vendor/nginx/src/core/nginx.c +21 -9
  26. data/vendor/nginx/src/core/nginx.h +8 -2
  27. data/vendor/nginx/src/core/ngx_buf.c +88 -0
  28. data/vendor/nginx/src/core/ngx_buf.h +15 -1
  29. data/vendor/nginx/src/core/ngx_conf_file.c +4 -1
  30. data/vendor/nginx/src/core/ngx_connection.c +25 -66
  31. data/vendor/nginx/src/core/ngx_connection.h +1 -3
  32. data/vendor/nginx/src/core/ngx_core.h +11 -3
  33. data/vendor/nginx/src/core/ngx_crypt.c +1 -1
  34. data/vendor/nginx/src/core/ngx_cycle.c +7 -1
  35. data/vendor/nginx/src/core/ngx_cycle.h +6 -2
  36. data/vendor/nginx/src/core/ngx_file.c +13 -5
  37. data/vendor/nginx/src/core/ngx_file.h +6 -0
  38. data/vendor/nginx/src/core/ngx_log.c +215 -21
  39. data/vendor/nginx/src/core/ngx_log.h +9 -1
  40. data/vendor/nginx/src/core/ngx_output_chain.c +104 -15
  41. data/vendor/nginx/src/core/ngx_palloc.c +3 -7
  42. data/vendor/nginx/src/core/ngx_rbtree.c +2 -4
  43. data/vendor/nginx/src/core/ngx_rbtree.h +2 -4
  44. data/vendor/nginx/src/core/ngx_regex.c +14 -6
  45. data/vendor/nginx/src/core/ngx_resolver.c +16 -23
  46. data/vendor/nginx/src/core/ngx_resolver.h +8 -7
  47. data/vendor/nginx/src/core/ngx_shmtx.c +1 -1
  48. data/vendor/nginx/src/core/ngx_slab.c +89 -2
  49. data/vendor/nginx/src/core/ngx_slab.h +3 -0
  50. data/vendor/nginx/src/core/ngx_string.c +58 -2
  51. data/vendor/nginx/src/core/ngx_string.h +1 -0
  52. data/vendor/nginx/src/core/ngx_syslog.c +374 -0
  53. data/vendor/nginx/src/core/ngx_syslog.h +30 -0
  54. data/vendor/nginx/src/core/ngx_thread_pool.c +630 -0
  55. data/vendor/nginx/src/core/ngx_thread_pool.h +36 -0
  56. data/vendor/nginx/src/core/ngx_times.c +19 -2
  57. data/vendor/nginx/src/core/ngx_times.h +1 -0
  58. data/vendor/nginx/src/event/modules/ngx_aio_module.c +1 -1
  59. data/vendor/nginx/src/event/modules/ngx_devpoll_module.c +9 -24
  60. data/vendor/nginx/src/event/modules/ngx_epoll_module.c +152 -28
  61. data/vendor/nginx/src/event/modules/ngx_eventport_module.c +43 -25
  62. data/vendor/nginx/src/event/modules/ngx_kqueue_module.c +86 -156
  63. data/vendor/nginx/src/event/modules/ngx_poll_module.c +21 -37
  64. data/vendor/nginx/src/event/modules/ngx_rtsig_module.c +15 -27
  65. data/vendor/nginx/src/event/modules/ngx_select_module.c +10 -12
  66. data/vendor/nginx/src/event/modules/ngx_win32_select_module.c +7 -9
  67. data/vendor/nginx/src/event/ngx_event.c +5 -33
  68. data/vendor/nginx/src/event/ngx_event.h +15 -50
  69. data/vendor/nginx/src/event/ngx_event_accept.c +11 -10
  70. data/vendor/nginx/src/event/ngx_event_connect.c +0 -11
  71. data/vendor/nginx/src/event/ngx_event_connect.h +1 -4
  72. data/vendor/nginx/src/event/ngx_event_openssl.c +622 -38
  73. data/vendor/nginx/src/event/ngx_event_openssl.h +20 -2
  74. data/vendor/nginx/src/event/ngx_event_openssl_stapling.c +5 -1
  75. data/vendor/nginx/src/event/ngx_event_pipe.c +45 -19
  76. data/vendor/nginx/src/event/ngx_event_pipe.h +3 -0
  77. data/vendor/nginx/src/event/ngx_event_posted.c +7 -145
  78. data/vendor/nginx/src/event/ngx_event_posted.h +12 -39
  79. data/vendor/nginx/src/event/ngx_event_timer.c +50 -70
  80. data/vendor/nginx/src/event/ngx_event_timer.h +2 -14
  81. data/vendor/nginx/src/http/modules/ngx_http_addition_filter_module.c +1 -1
  82. data/vendor/nginx/src/http/modules/ngx_http_autoindex_module.c +416 -71
  83. data/vendor/nginx/src/http/modules/ngx_http_charset_filter_module.c +19 -15
  84. data/vendor/nginx/src/http/modules/ngx_http_dav_module.c +16 -4
  85. data/vendor/nginx/src/http/modules/ngx_http_fastcgi_module.c +601 -134
  86. data/vendor/nginx/src/http/modules/ngx_http_geo_module.c +1 -1
  87. data/vendor/nginx/src/http/modules/ngx_http_geoip_module.c +9 -3
  88. data/vendor/nginx/src/http/modules/ngx_http_gunzip_filter_module.c +9 -3
  89. data/vendor/nginx/src/http/modules/ngx_http_gzip_filter_module.c +9 -3
  90. data/vendor/nginx/src/http/modules/ngx_http_gzip_static_module.c +0 -2
  91. data/vendor/nginx/src/http/modules/ngx_http_headers_filter_module.c +197 -91
  92. data/vendor/nginx/src/http/modules/ngx_http_image_filter_module.c +1 -0
  93. data/vendor/nginx/src/http/modules/ngx_http_limit_conn_module.c +65 -162
  94. data/vendor/nginx/src/http/modules/ngx_http_limit_req_module.c +53 -67
  95. data/vendor/nginx/src/http/modules/ngx_http_log_module.c +128 -23
  96. data/vendor/nginx/src/http/modules/ngx_http_memcached_module.c +25 -6
  97. data/vendor/nginx/src/http/modules/ngx_http_mp4_module.c +1 -1
  98. data/vendor/nginx/src/http/modules/ngx_http_not_modified_filter_module.c +39 -13
  99. data/vendor/nginx/src/http/modules/ngx_http_proxy_module.c +697 -141
  100. data/vendor/nginx/src/http/modules/ngx_http_rewrite_module.c +5 -1
  101. data/vendor/nginx/src/http/modules/ngx_http_scgi_module.c +282 -125
  102. data/vendor/nginx/src/http/modules/ngx_http_ssi_filter_module.c +4 -1
  103. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.c +44 -1
  104. data/vendor/nginx/src/http/modules/ngx_http_ssl_module.h +2 -0
  105. data/vendor/nginx/src/http/modules/ngx_http_stub_status_module.c +10 -8
  106. data/vendor/nginx/src/http/modules/ngx_http_sub_filter_module.c +18 -3
  107. data/vendor/nginx/src/http/modules/ngx_http_upstream_hash_module.c +641 -0
  108. data/vendor/nginx/src/http/modules/ngx_http_upstream_ip_hash_module.c +1 -1
  109. data/vendor/nginx/src/http/modules/ngx_http_upstream_keepalive_module.c +3 -21
  110. data/vendor/nginx/src/http/modules/ngx_http_upstream_least_conn_module.c +0 -5
  111. data/vendor/nginx/src/http/modules/ngx_http_uwsgi_module.c +449 -125
  112. data/vendor/nginx/src/http/modules/ngx_http_xslt_filter_module.c +4 -2
  113. data/vendor/nginx/src/http/modules/perl/ngx_http_perl_module.c +2 -1
  114. data/vendor/nginx/src/http/ngx_http.c +10 -5
  115. data/vendor/nginx/src/http/ngx_http.h +4 -4
  116. data/vendor/nginx/src/http/ngx_http_cache.h +26 -1
  117. data/vendor/nginx/src/http/ngx_http_copy_filter_module.c +109 -68
  118. data/vendor/nginx/src/http/ngx_http_core_module.c +191 -46
  119. data/vendor/nginx/src/http/ngx_http_core_module.h +16 -4
  120. data/vendor/nginx/src/http/ngx_http_file_cache.c +584 -67
  121. data/vendor/nginx/src/http/ngx_http_parse.c +55 -4
  122. data/vendor/nginx/src/http/ngx_http_request.c +14 -6
  123. data/vendor/nginx/src/http/ngx_http_request.h +12 -4
  124. data/vendor/nginx/src/http/ngx_http_request_body.c +114 -28
  125. data/vendor/nginx/src/http/ngx_http_spdy.c +383 -229
  126. data/vendor/nginx/src/http/ngx_http_spdy.h +8 -5
  127. data/vendor/nginx/src/http/ngx_http_spdy_filter_module.c +12 -4
  128. data/vendor/nginx/src/http/ngx_http_special_response.c +2 -2
  129. data/vendor/nginx/src/http/ngx_http_upstream.c +808 -132
  130. data/vendor/nginx/src/http/ngx_http_upstream.h +33 -3
  131. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.c +72 -65
  132. data/vendor/nginx/src/http/ngx_http_upstream_round_robin.h +1 -2
  133. data/vendor/nginx/src/http/ngx_http_variables.c +47 -3
  134. data/vendor/nginx/src/http/ngx_http_write_filter_module.c +15 -6
  135. data/vendor/nginx/src/mail/ngx_mail.c +2 -3
  136. data/vendor/nginx/src/mail/ngx_mail.h +2 -0
  137. data/vendor/nginx/src/mail/ngx_mail_auth_http_module.c +140 -11
  138. data/vendor/nginx/src/mail/ngx_mail_core_module.c +3 -3
  139. data/vendor/nginx/src/mail/ngx_mail_handler.c +79 -2
  140. data/vendor/nginx/src/mail/ngx_mail_imap_module.c +3 -1
  141. data/vendor/nginx/src/mail/ngx_mail_pop3_module.c +3 -1
  142. data/vendor/nginx/src/mail/ngx_mail_smtp_module.c +3 -1
  143. data/vendor/nginx/src/mail/ngx_mail_ssl_module.c +125 -1
  144. data/vendor/nginx/src/mail/ngx_mail_ssl_module.h +8 -0
  145. data/vendor/nginx/src/misc/ngx_cpp_test_module.cpp +1 -1
  146. data/vendor/nginx/src/os/unix/ngx_aio_read_chain.c +1 -1
  147. data/vendor/nginx/src/os/unix/ngx_channel.c +0 -7
  148. data/vendor/nginx/src/os/unix/ngx_darwin_config.h +0 -3
  149. data/vendor/nginx/src/os/unix/ngx_darwin_sendfile_chain.c +44 -208
  150. data/vendor/nginx/src/os/unix/ngx_file_aio_read.c +25 -17
  151. data/vendor/nginx/src/os/unix/ngx_files.c +109 -0
  152. data/vendor/nginx/src/os/unix/ngx_files.h +6 -0
  153. data/vendor/nginx/src/os/unix/ngx_freebsd_config.h +0 -6
  154. data/vendor/nginx/src/os/unix/ngx_freebsd_sendfile_chain.c +78 -206
  155. data/vendor/nginx/src/os/unix/ngx_linux_aio_read.c +25 -14
  156. data/vendor/nginx/src/os/unix/ngx_linux_config.h +4 -1
  157. data/vendor/nginx/src/os/unix/ngx_linux_sendfile_chain.c +235 -194
  158. data/vendor/nginx/src/os/unix/ngx_os.h +25 -3
  159. data/vendor/nginx/src/os/unix/ngx_posix_init.c +4 -2
  160. data/vendor/nginx/src/os/unix/ngx_process_cycle.c +13 -195
  161. data/vendor/nginx/src/os/unix/ngx_process_cycle.h +0 -1
  162. data/vendor/nginx/src/os/unix/ngx_readv_chain.c +27 -108
  163. data/vendor/nginx/src/os/unix/ngx_setproctitle.h +2 -2
  164. data/vendor/nginx/src/os/unix/ngx_solaris_sendfilev_chain.c +12 -67
  165. data/vendor/nginx/src/os/unix/ngx_thread.h +26 -83
  166. data/vendor/nginx/src/os/unix/ngx_thread_cond.c +87 -0
  167. data/vendor/nginx/src/os/unix/ngx_thread_id.c +70 -0
  168. data/vendor/nginx/src/os/unix/ngx_thread_mutex.c +174 -0
  169. data/vendor/nginx/src/os/unix/ngx_user.c +2 -20
  170. data/vendor/nginx/src/os/unix/ngx_writev_chain.c +129 -98
  171. metadata +16 -17
  172. data/vendor/nginx/auto/lib/zlib/patch.zlib.h +0 -10
  173. data/vendor/nginx/src/event/ngx_event_busy_lock.c +0 -286
  174. data/vendor/nginx/src/event/ngx_event_busy_lock.h +0 -65
  175. data/vendor/nginx/src/event/ngx_event_mutex.c +0 -70
  176. data/vendor/nginx/src/http/ngx_http_busy_lock.c +0 -307
  177. data/vendor/nginx/src/http/ngx_http_busy_lock.h +0 -54
  178. data/vendor/nginx/src/os/unix/ngx_freebsd_rfork_thread.c +0 -756
  179. data/vendor/nginx/src/os/unix/ngx_freebsd_rfork_thread.h +0 -122
  180. data/vendor/nginx/src/os/unix/ngx_pthread_thread.c +0 -278
  181. data/vendor/nginx/src/os/unix/rfork_thread.S +0 -73
@@ -1,25 +1,239 @@
1
1
 
2
- Изменения в nginx 1.6.3 07.04.2015
2
+ Изменения в nginx 1.8.0 21.04.2015
3
3
 
4
- *) Добавление: теперь директива tcp_nodelay работает для
5
- SPDY-соединений.
4
+ *) Стабильная ветка 1.8.x.
6
5
 
7
- *) Исправление: в обработке ошибок.
8
- Спасибо Yichun Zhang и Даниилу Бондареву.
9
6
 
10
- *) Исправление: при использовании директивы post_action в лог писались
11
- сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
7
+ Изменения в nginx 1.7.12 07.04.2015
12
8
 
13
- *) Исправление: в лог могли писаться сообщения "sem_post() failed".
9
+ *) Добавление: теперь директива tcp_nodelay работает для SSL-соединений
10
+ с бэкендами.
11
+
12
+ *) Добавление: теперь потоки могут использоваться для чтения заголовков
13
+ файлов в кэше.
14
+
15
+ *) Исправление: в директиве proxy_request_buffering.
16
+
17
+ *) Исправление: при использовании потоков на Linux в рабочем процессе
18
+ мог произойти segmentation fault.
19
+
20
+ *) Исправление: в обработке ошибок при использовании директивы
21
+ ssl_stapling.
22
+ Спасибо Filipe da Silva.
23
+
24
+ *) Исправление: в модуле ngx_http_spdy_module.
25
+
26
+
27
+ Изменения в nginx 1.7.11 24.03.2015
28
+
29
+ *) Изменение: параметр sendfile директивы aio более не нужен; теперь
30
+ nginx автоматически использует AIO для подгрузки данных для sendfile,
31
+ если одновременно используются директивы aio и sendfile.
32
+
33
+ *) Добавление: экспериментальная поддержка потоков.
34
+
35
+ *) Добавление: директивы proxy_request_buffering,
36
+ fastcgi_request_buffering, scgi_request_buffering и
37
+ uwsgi_request_buffering.
38
+
39
+ *) Добавление: экспериментальное API для обработки тела запроса.
40
+
41
+ *) Добавление: проверка клиентских SSL-сертификатов в почтовом
42
+ прокси-сервере.
43
+ Спасибо Sven Peter, Franck Levionnois и Filipe Da Silva.
44
+
45
+ *) Добавление: уменьшение времени запуска при использовании дирекивы
46
+ "hash ... consistent" в блоке upstream.
47
+ Спасибо Wai Keen Woon.
48
+
49
+ *) Добавление: отладочное логгирование в кольцевой буфер в памяти.
14
50
 
15
51
  *) Исправление: в обработке хэш-таблиц.
16
52
  Спасибо Chris West.
17
53
 
54
+ *) Исправление: в директиве proxy_cache_revalidate.
55
+
56
+ *) Исправление: SSL-соединения могли зависать, если использовался
57
+ отложенный accept или параметр proxy_protocol директивы listen.
58
+ Спасибо James Hamlin.
59
+
60
+ *) Исправление: переменная $upstream_response_time могла содержать
61
+ неверное значение при использовании директивы image_filter.
62
+
18
63
  *) Исправление: в обработке целочисленных переполнений.
19
64
  Спасибо Régis Leroy.
20
65
 
66
+ *) Исправление: при использовании LibreSSL было невозможно включить
67
+ поддержку SSLv3.
68
+
69
+ *) Исправление: при использовании LibreSSL в логах появлялись сообщения
70
+ "ignoring stale global SSL error ... called a function you should not
71
+ call".
72
+
73
+ *) Исправление: сертификаты, указанные в директивах
74
+ ssl_client_certificate и ssl_trusted_certificate, использовались для
75
+ автоматического построения цепочек сертификатов.
76
+
77
+
78
+ Изменения в nginx 1.7.10 10.02.2015
79
+
80
+ *) Добавление: параметр use_temp_path директив proxy_cache_path,
81
+ fastcgi_cache_path, scgi_cache_path и uwsgi_cache_path.
82
+
83
+ *) Добавление: переменная $upstream_header_time.
84
+
85
+ *) Изменение: теперь при переполнении диска nginx пытается писать
86
+ error_log'и только раз в секунду.
87
+
88
+ *) Исправление: директива try_files при тестировании каталогов не
89
+ игнорировала обычные файлы.
90
+ Спасибо Damien Tournoud.
91
+
92
+ *) Исправление: при использовании директивы sendfile на OS X возникали
93
+ ошибки "sendfile() failed"; ошибка появилась в nginx 1.7.8.
94
+
95
+ *) Исправление: в лог могли писаться сообщения "sem_post() failed".
96
+
97
+ *) Исправление: nginx не собирался с musl libc.
98
+ Спасибо James Taylor.
99
+
100
+ *) Исправление: nginx не собирался на Tru64 UNIX.
101
+ Спасибо Goetz T. Fischer.
102
+
103
+
104
+ Изменения в nginx 1.7.9 23.12.2014
105
+
106
+ *) Добавление: директивы proxy_cache, fastcgi_cache, scgi_cache и
107
+ uwsgi_cache поддерживают переменные.
108
+
109
+ *) Добавление: директива expires поддерживает переменные.
110
+
111
+ *) Добавление: возможность загрузки секретных ключей с аппаратных
112
+ устройств с помощью OpenSSL engines.
113
+ Спасибо Дмитрию Пичулину.
114
+
115
+ *) Добавление: директива autoindex_format.
116
+
117
+ *) Исправление: ревалидация элементов кэша теперь используется только
118
+ для ответов с кодами 200 и 206.
119
+ Спасибо Piotr Sikora.
120
+
121
+ *) Исправление: строка "TE" заголовка запроса клиента передавалась на
122
+ бэкенд при проксировании.
123
+
124
+ *) Исправление: директивы proxy_pass, fastcgi_pass, scgi_pass и
125
+ uwsgi_pass могли неправильно работать внутри блоков if и
126
+ limit_except.
127
+
128
+ *) Исправление: директива proxy_store с параметром "on" игнорировалась,
129
+ если на предыдущем уровне использовалась директива proxy_store с явно
130
+ заданным путём к файлам.
131
+
132
+ *) Исправление: nginx не собирался с BoringSSL.
133
+ Спасибо Lukas Tribus.
134
+
135
+
136
+ Изменения в nginx 1.7.8 02.12.2014
137
+
138
+ *) Изменение: теперь строки "If-Modified-Since", "If-Range" и им
139
+ подобные в заголовке запроса клиента передаются бэкенду при
140
+ включённом кэшировании, если nginx заранее знает, что не будет
141
+ кэшировать ответ (например, при использовании proxy_cache_min_uses).
142
+
143
+ *) Изменение: теперь после истечения proxy_cache_lock_timeout nginx
144
+ отправляет запрос на бэкенд без кэширования; новые директивы
145
+ proxy_cache_lock_age, fastcgi_cache_lock_age, scgi_cache_lock_age и
146
+ uwsgi_cache_lock_age позволяют указать, через какое время блокировка
147
+ будет принудительно снята и будет сделана ещё одна попытка
148
+ закэшировать ответ.
149
+
150
+ *) Изменение: директива log_format теперь может использоваться только на
151
+ уровне http.
152
+
153
+ *) Добавление: директивы proxy_ssl_certificate,
154
+ proxy_ssl_certificate_key, proxy_ssl_password_file,
155
+ uwsgi_ssl_certificate, uwsgi_ssl_certificate_key и
156
+ uwsgi_ssl_password_file.
157
+ Спасибо Piotr Sikora.
158
+
159
+ *) Добавление: теперь с помощью X-Accel-Redirect можно перейти в
160
+ именованный location.
161
+ Спасибо Toshikuni Fukaya.
162
+
163
+ *) Добавление: теперь директива tcp_nodelay работает для
164
+ SPDY-соединений.
165
+
166
+ *) Добавление: новые директивы в скриптах подсветки синтаксиса для vim.
167
+ Спасибо Peter Wu.
168
+
169
+ *) Исправление: nginx игнорировал значение "s-maxage" в строке
170
+ "Cache-Control" в заголовке ответа бэкенда.
171
+ Спасибо Piotr Sikora.
172
+
173
+ *) Исправление: в модуле ngx_http_spdy_module.
174
+ Спасибо Piotr Sikora.
175
+
176
+ *) Исправление: в директиве ssl_password_file при использовании OpenSSL
177
+ 0.9.8zc, 1.0.0o, 1.0.1j.
178
+
179
+ *) Исправление: при использовании директивы post_action в лог писались
180
+ сообщения "header already sent"; ошибка появилась в nginx 1.5.4.
181
+
182
+ *) Исправление: при использовании директивы "postpone_output 0" с
183
+ SSI-подзапросами в лог могли писаться сообщения "the http output
184
+ chain is empty".
185
+
186
+ *) Исправление: в директиве proxy_cache_lock при использовании
187
+ SSI-подзапросов.
188
+ Спасибо Yichun Zhang.
189
+
190
+
191
+ Изменения в nginx 1.7.7 28.10.2014
192
+
193
+ *) Изменение: теперь nginx учитывает при кэшировании строку "Vary" в
194
+ заголовке ответа бэкенда.
195
+
196
+ *) Добавление: директивы proxy_force_ranges, fastcgi_force_ranges,
197
+ scgi_force_ranges и uwsgi_force_ranges.
198
+
199
+ *) Добавление: директивы proxy_limit_rate, fastcgi_limit_rate,
200
+ scgi_limit_rate и uwsgi_limit_rate.
201
+
202
+ *) Добавление: параметр Vary директив proxy_ignore_headers,
203
+ fastcgi_ignore_headers, scgi_ignore_headers и uwsgi_ignore_headers.
21
204
 
22
- Изменения в nginx 1.6.2 16.09.2014
205
+ *) Исправление: последняя часть ответа, полученного от бэкенда при
206
+ небуферизированном проксировании, могла не отправляться клиенту, если
207
+ использовались директивы gzip или gunzip.
208
+
209
+ *) Исправление: в директиве proxy_cache_revalidate.
210
+ Спасибо Piotr Sikora.
211
+
212
+ *) Исправление: в обработке ошибок.
213
+ Спасибо Yichun Zhang и Даниилу Бондареву.
214
+
215
+ *) Исправление: в директивах proxy_next_upstream_tries и
216
+ proxy_next_upstream_timeout.
217
+ Спасибо Feng Gu.
218
+
219
+ *) Исправление: nginx/Windows не собирался с MinGW-w64 gcc.
220
+ Спасибо Kouhei Sutou.
221
+
222
+
223
+ Изменения в nginx 1.7.6 30.09.2014
224
+
225
+ *) Изменение: устаревшая директива limit_zone больше не поддерживается.
226
+
227
+ *) Добавление: в директивах limit_conn_zone и limit_req_zone теперь
228
+ можно использовать комбинации нескольких переменных.
229
+
230
+ *) Исправление: при повторной отправке FastCGI-запроса на бэкенд тело
231
+ запроса могло передаваться неправильно.
232
+
233
+ *) Исправление: в логгировании в syslog.
234
+
235
+
236
+ Изменения в nginx 1.7.5 16.09.2014
23
237
 
24
238
  *) Безопасность: при использовании общего для нескольких блоков server
25
239
  разделяемого кэша SSL-сессий или общего ключа для шифрования TLS
@@ -27,32 +241,172 @@
27
241
  контексте другого блока server (CVE-2014-3616).
28
242
  Спасибо Antoine Delignat-Lavaud.
29
243
 
30
- *) Исправление: запросы могли зависать, если использовался resolver и
31
- DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
244
+ *) Изменение: директиву stub_status теперь можно указывать без
245
+ параметров.
246
+
247
+ *) Добавление: параметр always директивы add_header.
248
+
249
+ *) Добавление: директивы proxy_next_upstream_tries,
250
+ proxy_next_upstream_timeout, fastcgi_next_upstream_tries,
251
+ fastcgi_next_upstream_timeout, memcached_next_upstream_tries,
252
+ memcached_next_upstream_timeout, scgi_next_upstream_tries,
253
+ scgi_next_upstream_timeout, uwsgi_next_upstream_tries и
254
+ uwsgi_next_upstream_timeout.
255
+
256
+ *) Исправление: в параметре if директивы access_log.
257
+
258
+ *) Исправление: в модуле ngx_http_perl_module.
259
+ Спасибо Piotr Sikora.
260
+
261
+ *) Исправление: директива listen почтового прокси-сервера не позволяла
262
+ указать более двух параметров.
263
+
264
+ *) Исправление: директива sub_filter не работала с заменяемой строкой из
265
+ одного символа.
32
266
 
33
267
  *) Исправление: запросы могли зависать, если использовался resolver и в
34
268
  процессе обращения к DNS-серверу происходил таймаут.
35
269
 
270
+ *) Исправление: в модуле ngx_http_spdy_module при использовании
271
+ совместно с AIO.
36
272
 
37
- Изменения в nginx 1.6.1 05.08.2014
273
+ *) Исправление: в рабочем процессе мог произойти segmentation fault,
274
+ если с помощью директивы set изменялись переменные "$http_...",
275
+ "$sent_http_..." или "$upstream_http_...".
276
+
277
+ *) Исправление: в обработке ошибок выделения памяти.
278
+ Спасибо Markus Linnala и Feng Gu.
279
+
280
+
281
+ Изменения в nginx 1.7.4 05.08.2014
38
282
 
39
283
  *) Безопасность: pipelined-команды не отбрасывались после команды
40
284
  STARTTLS в SMTP прокси-сервере (CVE-2014-3556); ошибка появилась в
41
285
  1.5.6.
42
286
  Спасибо Chris Boulton.
43
287
 
288
+ *) Изменение: экранирование символов в URI теперь использует
289
+ шестнадцатеричные цифры в верхнем регистре.
290
+ Спасибо Piotr Sikora.
291
+
292
+ *) Добавление: теперь nginx можно собрать с BoringSSL и LibreSSL.
293
+ Спасибо Piotr Sikora.
294
+
295
+ *) Исправление: запросы могли зависать, если использовался resolver и
296
+ DNS-сервер возвращал некорректный ответ; ошибка появилась в 1.5.8.
297
+
298
+ *) Исправление: в модуле ngx_http_spdy_module.
299
+ Спасибо Piotr Sikora.
300
+
44
301
  *) Исправление: переменная $uri могла содержать мусор при возврате
45
302
  ошибок с кодом 400.
46
303
  Спасибо Сергею Боброву.
47
304
 
305
+ *) Исправление: в обработке ошибок в директиве proxy_store и в модуле
306
+ ngx_http_dav_module.
307
+ Спасибо Feng Gu.
308
+
309
+ *) Исправление: при логгировании ошибок в syslog мог происходить
310
+ segmentation fault; ошибка появилась в 1.7.1.
311
+
312
+ *) Исправление: переменные $geoip_latitude, $geoip_longitude,
313
+ $geoip_dma_code и $geoip_area_code могли не работать.
314
+ Спасибо Yichun Zhang.
315
+
316
+ *) Исправление: в обработке ошибок выделения памяти.
317
+ Спасибо Tatsuhiko Kubo и Piotr Sikora.
318
+
319
+
320
+ Изменения в nginx 1.7.3 08.07.2014
321
+
322
+ *) Добавление: weak entity tags теперь не удаляются при изменениях
323
+ ответа, а strong entity tags преобразуются в weak.
324
+
325
+ *) Добавление: ревалидация элементов кэша теперь, если это возможно,
326
+ использует заголовок If-None-Match.
327
+
328
+ *) Добавление: директива ssl_password_file.
329
+
330
+ *) Исправление: при возврате ответа из кэша заголовок запроса
331
+ If-None-Match игнорировался, если в ответе не было заголовка
332
+ Last-Modified.
333
+
334
+ *) Исправление: сообщения "peer closed connection in SSL handshake" при
335
+ соединении с бэкендами логгировались на уровне info вместо error.
336
+
337
+ *) Исправление: в модуле ngx_http_dav_module в nginx/Windows.
338
+
339
+ *) Исправление: SPDY-соединения могли неожиданно закрываться, если
340
+ использовалось кэширование.
341
+
342
+
343
+ Изменения в nginx 1.7.2 17.06.2014
344
+
345
+ *) Добавление: директива hash в блоке upstream.
346
+
347
+ *) Добавление: дефрагментация свободных блоков разделяемой памяти.
348
+ Спасибо Wandenberg Peixoto и Yichun Zhang.
349
+
350
+ *) Исправление: в рабочем процессе мог произойти segmentation fault,
351
+ если использовалось значение access_log по умолчанию; ошибка
352
+ появилась в 1.7.0.
353
+ Спасибо Piotr Sikora.
354
+
355
+ *) Исправление: завершающий слэш ошибочно удалялся из последнего
356
+ параметра директивы try_files.
357
+
358
+ *) Исправление: nginx мог не собираться на OS X.
359
+
360
+ *) Исправление: в модуле ngx_http_spdy_module.
361
+
362
+
363
+ Изменения в nginx 1.7.1 27.05.2014
364
+
365
+ *) Добавление: переменные "$upstream_cookie_...".
366
+
367
+ *) Добавление: переменная $ssl_client_fingerprint.
368
+
369
+ *) Добавление: директивы error_log и access_log теперь поддерживают
370
+ логгирование в syslog.
371
+
372
+ *) Добавление: почтовый прокси-сервер теперь логгирует порт клиента при
373
+ соединении.
374
+
375
+ *) Исправление: утечки памяти при использовании директивы
376
+ "ssl_stapling".
377
+ Спасибо Filipe da Silva.
378
+
379
+ *) Исправление: директива alias внутри location'а, заданного регулярным
380
+ выражением, работала неправильно, если использовались директивы if
381
+ или limit_except.
382
+
383
+ *) Исправление: директива charset не ставила кодировку для сжатых
384
+ ответов бэкендов.
385
+
386
+ *) Исправление: директива proxy_pass без URI могла использовать
387
+ оригинальный запрос после установки переменной $args.
388
+ Спасибо Yichun Zhang.
389
+
48
390
  *) Исправление: в работе параметра none директивы smtp_auth; ошибка
49
391
  появилась в 1.5.6.
50
392
  Спасибо Святославу Никольскому.
51
393
 
394
+ *) Исправление: при совместном использовании sub_filter и SSI ответы
395
+ могли передаваться неверно.
396
+
397
+ *) Исправление: nginx не собирался с параметром --with-file-aio на
398
+ Linux/aarch64.
52
399
 
53
- Изменения в nginx 1.6.0 24.04.2014
54
400
 
55
- *) Стабильная ветка 1.6.x.
401
+ Изменения в nginx 1.7.0 24.04.2014
402
+
403
+ *) Добавление: проверка SSL-сертификатов бэкендов.
404
+
405
+ *) Добавление: поддержка SNI при работе с бэкендами по SSL.
406
+
407
+ *) Добавление: переменная $ssl_server_name.
408
+
409
+ *) Добавление: параметр if директивы access_log.
56
410
 
57
411
 
58
412
  Изменения в nginx 1.5.13 08.04.2014
@@ -1578,7 +1932,7 @@
1578
1932
  Изменения в nginx 0.9.2 06.12.2010
1579
1933
 
1580
1934
  *) Добавление: поддержка строки "If-Unmodified-Since" в заголовке
1581
- запросе клиента.
1935
+ запроса клиента.
1582
1936
 
1583
1937
  *) Изменение: использование accept(), если accept4() не реализован;
1584
1938
  ошибка появилась в 0.9.0.
@@ -3526,7 +3880,7 @@
3526
3880
  Изменения в nginx 0.6.31 12.05.2008
3527
3881
 
3528
3882
  *) Исправление: nginx не обрабатывал ответ FastCGI-сервера, если строка
3529
- заголовка ответ была в конце записи FastCGI; ошибка появилась в
3883
+ заголовка ответа была в конце записи FastCGI; ошибка появилась в
3530
3884
  0.6.2.
3531
3885
  Спасибо Сергею Серову.
3532
3886
 
@@ -4602,7 +4956,7 @@
4602
4956
 
4603
4957
  *) Добавление: директива ip_hash в блоке upstream.
4604
4958
 
4605
- *) Добавление: статус WAIT в строке "Auth-Status" в заголовка ответа
4959
+ *) Добавление: статус WAIT в строке "Auth-Status" в заголовке ответа
4606
4960
  сервера аутентификации IMAP/POP3 прокси.
4607
4961
 
4608
4962
  *) Исправление: nginx не собирался на 64-битных платформах; ошибка
@@ -6087,7 +6441,7 @@
6087
6441
 
6088
6442
  Изменения в nginx 0.1.36 15.06.2005
6089
6443
 
6090
- *) Изменение: если в заголовке запросе есть дублирующиеся строки "Host",
6444
+ *) Изменение: если в заголовке запроса есть дублирующиеся строки "Host",
6091
6445
  "Connection", "Content-Length" и "Authorization", то nginx теперь
6092
6446
  выдаёт ошибку 400.
6093
6447