-
Notifications
You must be signed in to change notification settings - Fork 63
/
CHANGES.ru
239 lines (166 loc) · 16 KB
/
CHANGES.ru
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
Изменения в Angie 1.5.1 16.05.2024
*) Изменение: теперь ACME-клиенты не игнорируют ранее сохраненные
сертификаты, если они просрочены или выпущены для отличающегося
списка доменных имён, а используют их, пока идет обновление.
*) Исправление: механизм "proxy_next_upstream" работал некорректно при
использовании опции "resolve" директивы "server" в блоке "upstream",
если количество полученных IP-адресов отличалось от числа заданных
серверов.
*) Исправление: при запросе сертификата по протоколу ACME могла
произойти ошибка сегментации в рабочем процессе.
*) Исправление: механизм "slow_start" не срабатывал при проксировании
TCP-соединений в модуле "stream".
*) Исправление: запросы HTTP/3 могли завершаться с ошибкой, если они
были присланы как TLS 1.3 early data; проблема появилась в 1.4.0.
*) Исправление: HTTP/3-соединение могло закрываться преждевременно при
использовании 0-RTT в QUIC.
*) Исправление: при чтении тела запроса из быстрого соединения было
возможно чтение в течение долгого времени. Спасибо Максиму Дунину
(freenginx).
Изменения в Angie 1.5.0 27.03.2024
*) Добавление: начальная поддержка автоматического получения и
обновления сертификатов по протоколу ACME, конфигурируемая с помощью
директив "acme_client" и "acme", а также переменных вида
"$acme_cert_*" и "$acme_cert_key_*".
*) Добавление: настройка автоматического перенаправления для добавления
слеша в конец URI запроса с помощью директивы "auto_redirect".
*) Добавление: вывод содержащих даты метрик в формате временных меток
Unix вместо ISO 8601 для использования в Prometheus, а также в JSON
API при запросе с аргументом "?date=epoch".
*) Добавление: новый статус "recovering" у проксируемых серверов в API
статистики, означающий, что сервер медленно восстанавливается после
сбоя согласно опции "slow_start".
*) Добавление: теперь ключ "-V" показывает также релевантную версию
nginx, что полезно для совместимости со сторонними утилитами, в
частности certbot. Спасибо AdvTechnoKing.
*) Добавление: вся функциональность nginx 1.25.4.
*) Исправление: если был зайдествован механизм переиспользования
SSL-сессий ("proxy_ssl_session_reuse"), то при динамическом
обновлении списка проксируемых серверов могла происходить утечка из
зоны разделяемой памяти ("zone"), настроенной для соответствующего
блока "upstream".
Изменения в Angie 1.4.1 15.02.2024
*) Безопасность: при использовании HTTP/3 в рабочем процессе во время
обработки специально созданной QUIC-сессии могла произойти ошибка
сегментации (CVE-2024-24989); при этом Angie, начиная ещё с версии
1.4.0, не подвержен уязвимости CVE-2024-24990.
Изменения в Angie 1.4.0 12.12.2023
*) Добавление: поддержка HTTP/3-соединений с upstream-серверами в
прокси-модуле HTTP, допускающая использование клиентами произвольных
версий HTTP. Конфигурация осуществляется с помощью директивы
"proxy_http_version" и набора директив "proxy_quic_" и
"proxy_http3_".
*) Добавление: механизм плавного ввода проксируемого сервера в работу
после сбоя с помощью опции "slow_start" директивы "server" в блоке
"upstream".
*) Добавление: директива "mqtt_preread" модуля "stream", позволяющая
помещать имя пользователя и идентификатор клиента из пакета CONNECT
протокола MQTT в переменные $mqtt_preread_username и
$mqtt_preread_clientid.
*) Добавление: ограничение скорости отдачи MP4-файлов клиенту
пропорционально битрейту с помощью директив "mp4_limit_rate" и
"mp4_limit_rate_after", снижающее нагрузку на полосу пропускания.
*) Добавление: вся функциональность nginx 1.25.3.
*) Исправление: если проксируемый сервер был единственным в группе, то
он мог некорректно учитываться как "unavailable" в API статистики
даже после восстановления работоспособности.
Изменения в Angie 1.3.2 23.11.2023
*) Исправление: были возможны некорректные значения метрик в формате
Prometheus, в значениях которых использовались отличные от $p8s_value
переменные; на практике проблема могла наблюдаться с
"angie_http_upstreams_peers_state" и
"angie_stream_upstreams_peers_state" из стандартного шаблона
"prometheus_all.conf".
*) Исправление: некоторые попытки соединения с проксируемыми серверами
могли не учитываться соответствующим образом в API статистики, если
ошибка происходила моментально; проблема появилась в 1.3.0.
Изменения в Angie 1.3.1 18.10.2023
*) Безопасность: добавлены дополнительные ограничения при обработке
потоков HTTP/2, чтобы лучше противостоять DoS-атаке "HTTP/2 Rapid
Reset" (CVE-2023-44487).
Изменения в Angie 1.3.0 19.09.2023
*) Добавление: возможность указывать в директиве "location" несколько
строк для сопоставления, что позволяет объединить несколько блоков
"location" с одинаковыми настройками и, таким образом, упростить
конфигурацию за счет уменьшения дублирования.
*) Добавление: экспорт различных метрик статистики в формате Prometheus
с гибко настраиваемыми шаблонами при помощи новых директив
"prometheus" и "prometheus_template".
*) Добавление: детальная информация и метрики по группам проксируемых
stream-серверов в интерфейсе статистики, предоставляемом директивой
"api".
*) Добавление: опция "resolve" директивы "server" в блоке "upstream"
модуля "stream", позволяющая отслеживать изменения списка IP-адресов,
соответствующего доменному имени, и автоматически обновлять его без
перезагрузки конфигурации.
*) Добавление: опция "service" директивы "server" в блоке "upstream"
модуля "stream", позволяющая получать списки адресов из DNS-записей
SRV, с базовой поддержкой приоритета.
*) Добавление: получение содержимого конфигурационных файлов, с которыми
было запущено текущее поколение рабочих процессов, в интерфейсе,
предоставляемом директивой "api" при включении директивы
"api_config_files".
*) Добавление: отображение номера поколения конфигурации в именах
процессов, что позволяет с помощью утилиты "ps" отслеживать успех
перезагрузок конфигурации и количество поколений рабочих процессов с
предыдущими версиями конфигурации.
*) Добавление: вся функциональность nginx 1.25.2.
*) Исправление: сборка завершалась ошибкой при использовании опций
./configure "--without-http_upstream_zone_module" или
"--without-stream_upstream_zone_module"; ошибка появилась в 1.2.0.
*) Изменение: теперь при загрузке конфигурации OpenSSL используется
appname "angie".
Изменения в Angie 1.2.0 30.05.2023
*) Добавление: директива "sticky" и сопутствующие настройки в блоке
"upstream" HTTP-модуля, позволяющие задать режим привязки сессий, при
котором все запросы в рамках сессии будут направляться на один и тот
же сервер.
*) Добавление: переменная $upstream_sticky_status, принимающая значения
"NEW", "HIT" или "MISS" в зависимости от успеха направления запроса
на релевантный проксируемый сервер с включенной привязкой сессий.
*) Добавление: поддержка NTLS в HTTP и stream модулях при использовании
TLS библиотеки TongSuo, которую можно включить опцией сборки
"--with-ntls" и сконфигурировать с помощью соответствующих директив
"ssl_ntls" и "proxy_ssl_ntls".
*) Добавление: в HTTP и stream прокси-модулях теперь можно настраивать
несколько сертификатов разного типа (RSA и ECDSA) и соответствующих
им ключей, используя директивы "proxy_ssl_certificate" и
"proxy_ssl_certificate_key".
*) Добавление: вывод версии и сборки в отображаемом имени "master"
процесса, что позволяет с помощью утилиты "ps" получить эту
информацию о работающем экземпляре сервера.
*) Добавление: возможность сжатия модулем gzip ответов со статусом "207
Multi-Status". Спасибо DBotThePony.
*) Добавление: вся функциональность nginx 1.25.0, включая поддержку
HTTP/3.
Изменения в Angie 1.1.0 24.01.2023
*) Добавление: опция "resolve" директивы "server" в блоке "upstream"
HTTP-модуля, позволяющая отслеживать изменения списка IP-адресов,
соответствующего доменному имени, и автоматически обновлять его без
перезагрузки конфигурации.
*) Добавление: опция "service" директивы "server" в блоке "upstream"
HTTP-модуля, позволяющая получать списки адресов из DNS SRV записей,
с базовой поддержкой приоритета.
*) Добавление: детальная информация и метрики по группам проксируемых
HTTP-серверов в интерфейсе статистики, предоставляемом директивой
"api".
*) Добавление: autoindex выводит листинги директорий в естественном
порядке.
*) Добавление: вся функциональность nginx 1.23.3.
*) Исправление: сборка завершалась ошибкой из-за ложного предупреждение
компилятора при использовании GCC 9 и старее с оптимизацией -O2 и
выше.
Изменения в Angie 1.0.0 27.10.2022
*) Добавление: директива "api", реализующая HTTP RESTful интерфейс для
получения в формате JSON базовой информации о веб-сервере, а также
статистики по клиентским соединениям, зонам разделяемой памяти,
DNS-запросам, HTTP-запросам, кэшу HTTP-ответов, сессиям модуля stream
и зонам модулей limit_conn/limit_req.
*) Добавление: директива "status_zone" в модуле http для указания зоны
сбора статистики по запросам в "server" и "location" контекстах.
*) Добавление: директива "status_zone" в модуле stream для указания зоны
сбора статистики по TCP/UDP сессиям.
*) Добавление: параметр status_zone директивы resolver для указания зоны
сбора статистики по DNS-запросам.
*) Добавление: переменная $angie_version, содержащая версию Angie.
*) Добавление: вся функциональность nginx 1.23.2.