nginx-1.23.0 changes draft
mdounin at mdounin.ru
Tue Jun 21 13:19:30 UTC 2022
On Tue, Jun 21, 2022 at 03:20:31PM +0400, Sergey Kandaurov wrote:
> > On 21 Jun 2022, at 05:27, Maxim Dounin <mdounin at mdounin.ru> wrote:
> > Changes with nginx 1.23.0 21 Jun 2022
> > *) Change in internal API: now header lines are represented as linked
> > lists.
> > *) Change: now nginx combines arbitrary header lines with identical
> > names when sending to FastCGI, SCGI, and uwsgi backends, in the
> > $r->header_in() method of the ngx_http_perl_module, and during lookup
> > of the "$http_...", "$sent_http_...", "$sent_trailer_...",
> > "$upstream_http_...", and "$upstream_trailer_..." variables.
> > *) Bugfix: if there were multiple "Vary" header lines in the backend
> > response, nginx only used the last of them when caching.
> > *) Bugfix: if there were multiple "WWW-Authenticate" header lines in the
> > backend response and errors with code 401 were intercepted or the
> > "auth_request" directive was used, nginx only sent the first of the
> > header lines to the client.
> > *) Change: the logging level of the "application data after close
> > notify" SSL errors has been lowered from "crit" to "info".
> > *) Bugfix: connections might hang if nginx was build on Linux 2.6.17 or
> > newer, but was used on systems without EPOLLRDHUP support, notably
> > with epoll emulation layers; the bug had appeared in 1.17.5.
> > Thanks to Marcus Ball.
> Just wonder how such emulation layer is widespread enough to step on
> the bug and to deserve an entry in changes, comparing to the bugfix for
> "ignore long locked" alert with two cache managers that's not there.
The "ignore long locked" alert is something caught with artificial
stress testing and never reported in practice (or at least never
attributed to the particular race condition). Further, there is
no real issue, just a race condition which results in an unwanted
alert. As such, I've skipped it as something minor, mostly
internal and very unlikely to be seen by users. If you think it
worth an entry I can add one though.
The EPOLLRDHUP issue is a real one, which results in connection
hangs. And, as far as I understand, it was observed by Marcus in a
real world use case on DigitalOcean's App Platform. As such, it
certainly deserves to be mentioned in CHANGES.
> > *) Bugfix: nginx did not cache the response if the "Expires" response
> > header line disabled caching, but following "Cache-Control" header
> > line enabled caching.
> > Изменения в nginx 1.23.0 21.06.2022
> > *) Изменение во внутреннем API: теперь строки заголовков представлены
> > связными списками.
> > *) Изменение: теперь nginx объединяет произвольные строки заголовков с
> > одинаковыми именами при отправке на FastCGI-, SCGI- и uwsgi- бэкенды,
> a stray space in "uwsgi- "?
Yes, fixed, thnx.
More information about the nginx-devel