Skip to content

Commit 4df8341

Browse files
committed
[버전] 1.23.1 업데이트
1 parent 5b7a16a commit 4df8341

File tree

195 files changed

+14497
-3297
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

195 files changed

+14497
-3297
lines changed

CHANGES

Lines changed: 331 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,335 @@
11

2+
Changes with nginx 1.23.1 19 Jul 2022
3+
4+
*) Feature: memory usage optimization in configurations with SSL
5+
proxying.
6+
7+
*) Feature: looking up of IPv4 addresses while resolving now can be
8+
disabled with the "ipv4=off" parameter of the "resolver" directive.
9+
10+
*) Change: the logging level of the "bad key share", "bad extension",
11+
"bad cipher", and "bad ecpoint" SSL errors has been lowered from
12+
"crit" to "info".
13+
14+
*) Bugfix: while returning byte ranges nginx did not remove the
15+
"Content-Range" header line if it was present in the original backend
16+
response.
17+
18+
*) Bugfix: a proxied response might be truncated during reconfiguration
19+
on Linux; the bug had appeared in 1.17.5.
20+
21+
22+
Changes with nginx 1.23.0 21 Jun 2022
23+
24+
*) Change in internal API: now header lines are represented as linked
25+
lists.
26+
27+
*) Change: now nginx combines arbitrary header lines with identical
28+
names when sending to FastCGI, SCGI, and uwsgi backends, in the
29+
$r->header_in() method of the ngx_http_perl_module, and during lookup
30+
of the "$http_...", "$sent_http_...", "$sent_trailer_...",
31+
"$upstream_http_...", and "$upstream_trailer_..." variables.
32+
33+
*) Bugfix: if there were multiple "Vary" header lines in the backend
34+
response, nginx only used the last of them when caching.
35+
36+
*) Bugfix: if there were multiple "WWW-Authenticate" header lines in the
37+
backend response and errors with code 401 were intercepted or the
38+
"auth_request" directive was used, nginx only sent the first of the
39+
header lines to the client.
40+
41+
*) Change: the logging level of the "application data after close
42+
notify" SSL errors has been lowered from "crit" to "info".
43+
44+
*) Bugfix: connections might hang if nginx was built on Linux 2.6.17 or
45+
newer, but was used on systems without EPOLLRDHUP support, notably
46+
with epoll emulation layers; the bug had appeared in 1.17.5.
47+
Thanks to Marcus Ball.
48+
49+
*) Bugfix: nginx did not cache the response if the "Expires" response
50+
header line disabled caching, but following "Cache-Control" header
51+
line enabled caching.
52+
53+
54+
Changes with nginx 1.21.6 25 Jan 2022
55+
56+
*) Bugfix: when using EPOLLEXCLUSIVE on Linux client connections were
57+
unevenly distributed among worker processes.
58+
59+
*) Bugfix: nginx returned the "Connection: keep-alive" header line in
60+
responses during graceful shutdown of old worker processes.
61+
62+
*) Bugfix: in the "ssl_session_ticket_key" when using TLSv1.3.
63+
64+
65+
Changes with nginx 1.21.5 28 Dec 2021
66+
67+
*) Change: now nginx is built with the PCRE2 library by default.
68+
69+
*) Change: now nginx always uses sendfile(SF_NODISKIO) on FreeBSD.
70+
71+
*) Feature: support for sendfile(SF_NOCACHE) on FreeBSD.
72+
73+
*) Feature: the $ssl_curve variable.
74+
75+
*) Bugfix: connections might hang when using HTTP/2 without SSL with the
76+
"sendfile" and "aio" directives.
77+
78+
79+
Changes with nginx 1.21.4 02 Nov 2021
80+
81+
*) Change: support for NPN instead of ALPN to establish HTTP/2
82+
connections has been removed.
83+
84+
*) Change: now nginx rejects SSL connections if ALPN is used by the
85+
client, but no supported protocols can be negotiated.
86+
87+
*) Change: the default value of the "sendfile_max_chunk" directive was
88+
changed to 2 megabytes.
89+
90+
*) Feature: the "proxy_half_close" directive in the stream module.
91+
92+
*) Feature: the "ssl_alpn" directive in the stream module.
93+
94+
*) Feature: the $ssl_alpn_protocol variable.
95+
96+
*) Feature: support for SSL_sendfile() when using OpenSSL 3.0.
97+
98+
*) Feature: the "mp4_start_key_frame" directive in the
99+
ngx_http_mp4_module.
100+
Thanks to Tracey Jaquith.
101+
102+
*) Bugfix: in the $content_length variable when using chunked transfer
103+
encoding.
104+
105+
*) Bugfix: after receiving a response with incorrect length from a
106+
proxied backend nginx might nevertheless cache the connection.
107+
Thanks to Awdhesh Mathpal.
108+
109+
*) Bugfix: invalid headers from backends were logged at the "info" level
110+
instead of "error"; the bug had appeared in 1.21.1.
111+
112+
*) Bugfix: requests might hang when using HTTP/2 and the "aio_write"
113+
directive.
114+
115+
116+
Changes with nginx 1.21.3 07 Sep 2021
117+
118+
*) Change: optimization of client request body reading when using
119+
HTTP/2.
120+
121+
*) Bugfix: in request body filters internal API when using HTTP/2 and
122+
buffering of the data being processed.
123+
124+
125+
Changes with nginx 1.21.2 31 Aug 2021
126+
127+
*) Change: now nginx rejects HTTP/1.0 requests with the
128+
"Transfer-Encoding" header line.
129+
130+
*) Change: export ciphers are no longer supported.
131+
132+
*) Feature: OpenSSL 3.0 compatibility.
133+
134+
*) Feature: the "Auth-SSL-Protocol" and "Auth-SSL-Cipher" header lines
135+
are now passed to the mail proxy authentication server.
136+
Thanks to Rob Mueller.
137+
138+
*) Feature: request body filters API now permits buffering of the data
139+
being processed.
140+
141+
*) Bugfix: backend SSL connections in the stream module might hang after
142+
an SSL handshake.
143+
144+
*) Bugfix: the security level, which is available in OpenSSL 1.1.0 or
145+
newer, did not affect loading of the server certificates when set
146+
with "@SECLEVEL=N" in the "ssl_ciphers" directive.
147+
148+
*) Bugfix: SSL connections with gRPC backends might hang if select,
149+
poll, or /dev/poll methods were used.
150+
151+
*) Bugfix: when using HTTP/2 client request body was always written to
152+
disk if the "Content-Length" header line was not present in the
153+
request.
154+
155+
156+
Changes with nginx 1.21.1 06 Jul 2021
157+
158+
*) Change: now nginx always returns an error for the CONNECT method.
159+
160+
*) Change: now nginx always returns an error if both "Content-Length"
161+
and "Transfer-Encoding" header lines are present in the request.
162+
163+
*) Change: now nginx always returns an error if spaces or control
164+
characters are used in the request line.
165+
166+
*) Change: now nginx always returns an error if spaces or control
167+
characters are used in a header name.
168+
169+
*) Change: now nginx always returns an error if spaces or control
170+
characters are used in the "Host" request header line.
171+
172+
*) Change: optimization of configuration testing when using many
173+
listening sockets.
174+
175+
*) Bugfix: nginx did not escape """, "<", ">", "\", "^", "`", "{", "|",
176+
and "}" characters when proxying with changed URI.
177+
178+
*) Bugfix: SSL variables might be empty when used in logs; the bug had
179+
appeared in 1.19.5.
180+
181+
*) Bugfix: keepalive connections with gRPC backends might not be closed
182+
after receiving a GOAWAY frame.
183+
184+
*) Bugfix: reduced memory consumption for long-lived requests when
185+
proxying with more than 64 buffers.
186+
187+
188+
Changes with nginx 1.21.0 25 May 2021
189+
190+
*) Security: 1-byte memory overwrite might occur during DNS server
191+
response processing if the "resolver" directive was used, allowing an
192+
attacker who is able to forge UDP packets from the DNS server to
193+
cause worker process crash or, potentially, arbitrary code execution
194+
(CVE-2021-23017).
195+
196+
*) Feature: variables support in the "proxy_ssl_certificate",
197+
"proxy_ssl_certificate_key" "grpc_ssl_certificate",
198+
"grpc_ssl_certificate_key", "uwsgi_ssl_certificate", and
199+
"uwsgi_ssl_certificate_key" directives.
200+
201+
*) Feature: the "max_errors" directive in the mail proxy module.
202+
203+
*) Feature: the mail proxy module supports POP3 and IMAP pipelining.
204+
205+
*) Feature: the "fastopen" parameter of the "listen" directive in the
206+
stream module.
207+
Thanks to Anbang Wen.
208+
209+
*) Bugfix: special characters were not escaped during automatic redirect
210+
with appended trailing slash.
211+
212+
*) Bugfix: connections with clients in the mail proxy module might be
213+
closed unexpectedly when using SMTP pipelining.
214+
215+
216+
Changes with nginx 1.19.10 13 Apr 2021
217+
218+
*) Change: the default value of the "keepalive_requests" directive was
219+
changed to 1000.
220+
221+
*) Feature: the "keepalive_time" directive.
222+
223+
*) Feature: the $connection_time variable.
224+
225+
*) Workaround: "gzip filter failed to use preallocated memory" alerts
226+
appeared in logs when using zlib-ng.
227+
228+
229+
Changes with nginx 1.19.9 30 Mar 2021
230+
231+
*) Bugfix: nginx could not be built with the mail proxy module, but
232+
without the ngx_mail_ssl_module; the bug had appeared in 1.19.8.
233+
234+
*) Bugfix: "upstream sent response body larger than indicated content
235+
length" errors might occur when working with gRPC backends; the bug
236+
had appeared in 1.19.1.
237+
238+
*) Bugfix: nginx might not close a connection till keepalive timeout
239+
expiration if the connection was closed by the client while
240+
discarding the request body.
241+
242+
*) Bugfix: nginx might not detect that a connection was already closed
243+
by the client when waiting for auth_delay or limit_req delay, or when
244+
working with backends.
245+
246+
*) Bugfix: in the eventport method.
247+
248+
249+
Changes with nginx 1.19.8 09 Mar 2021
250+
251+
*) Feature: flags in the "proxy_cookie_flags" directive can now contain
252+
variables.
253+
254+
*) Feature: the "proxy_protocol" parameter of the "listen" directive,
255+
the "proxy_protocol" and "set_real_ip_from" directives in mail proxy.
256+
257+
*) Bugfix: HTTP/2 connections were immediately closed when using
258+
"keepalive_timeout 0"; the bug had appeared in 1.19.7.
259+
260+
*) Bugfix: some errors were logged as unknown if nginx was built with
261+
glibc 2.32.
262+
263+
*) Bugfix: in the eventport method.
264+
265+
266+
Changes with nginx 1.19.7 16 Feb 2021
267+
268+
*) Change: connections handling in HTTP/2 has been changed to better
269+
match HTTP/1.x; the "http2_recv_timeout", "http2_idle_timeout", and
270+
"http2_max_requests" directives have been removed, the
271+
"keepalive_timeout" and "keepalive_requests" directives should be
272+
used instead.
273+
274+
*) Change: the "http2_max_field_size" and "http2_max_header_size"
275+
directives have been removed, the "large_client_header_buffers"
276+
directive should be used instead.
277+
278+
*) Feature: now, if free worker connections are exhausted, nginx starts
279+
closing not only keepalive connections, but also connections in
280+
lingering close.
281+
282+
*) Bugfix: "zero size buf in output" alerts might appear in logs if an
283+
upstream server returned an incorrect response during unbuffered
284+
proxying; the bug had appeared in 1.19.1.
285+
286+
*) Bugfix: HEAD requests were handled incorrectly if the "return"
287+
directive was used with the "image_filter" or "xslt_stylesheet"
288+
directives.
289+
290+
*) Bugfix: in the "add_trailer" directive.
291+
292+
293+
Changes with nginx 1.19.6 15 Dec 2020
294+
295+
*) Bugfix: "no live upstreams" errors if a "server" inside "upstream"
296+
block was marked as "down".
297+
298+
*) Bugfix: a segmentation fault might occur in a worker process if HTTPS
299+
was used; the bug had appeared in 1.19.5.
300+
301+
*) Bugfix: nginx returned the 400 response on requests like
302+
"GET http://example.com?args HTTP/1.0".
303+
304+
*) Bugfix: in the ngx_http_flv_module and ngx_http_mp4_module.
305+
Thanks to Chris Newton.
306+
307+
308+
Changes with nginx 1.19.5 24 Nov 2020
309+
310+
*) Feature: the -e switch.
311+
312+
*) Feature: the same source files can now be specified in different
313+
modules while building addon modules.
314+
315+
*) Bugfix: SSL shutdown did not work when lingering close was used.
316+
317+
*) Bugfix: "upstream sent frame for closed stream" errors might occur
318+
when working with gRPC backends.
319+
320+
*) Bugfix: in request body filters internal API.
321+
322+
323+
Changes with nginx 1.19.4 27 Oct 2020
324+
325+
*) Feature: the "ssl_conf_command", "proxy_ssl_conf_command",
326+
"grpc_ssl_conf_command", and "uwsgi_ssl_conf_command" directives.
327+
328+
*) Feature: the "ssl_reject_handshake" directive.
329+
330+
*) Feature: the "proxy_smtp_auth" directive in mail proxy.
331+
332+
2333
Changes with nginx 1.19.3 29 Sep 2020
3334

4335
*) Feature: the ngx_stream_set_module.

0 commit comments

Comments
 (0)