Nginx 1.29.6 Mainline Adds Sticky Sessions and QUIC Fixes That Make Real Difference
The latest mainline release of nginx brings practical improvements that touch everyday server operations: a new sticky‑session directive for upstream blocks, tighter control over QUIC stateless reset traffic, and several bug fixes that stop common headaches in their tracks.
Sticky Sessions in Upstreams
A handful of sites have struggled with users being bounced to a different backend after a worker process restart. The new sticky directive addresses this by binding a client’s session to a specific server based on the request context or a hash of cookies. This eliminates “session lost” errors when scaling horizontally and keeps stateful applications running smoothly without extra configuration in external load balancers.
QUIC Packet Size Limitation & Reset Handling
Earlier versions could send oversized QUIC reset packets that were silently dropped by routers, causing unexplained timeouts for some clients. Now nginx caps the size and rate of these packets, ensuring they pass through typical network gear. The change also fixes a race condition where a QUIC packet handled by the wrong worker would terminate the connection abruptly – an issue observed in test environments with high concurrency.
Bug Fixes That Save the Day
- A recurring “cache file … contains invalid header” warning has been silenced, which previously cluttered logs for sites serving cached HTTP/2 responses.
- Proxying to SCGI backends now works correctly when chunked transfer encoding is used; this patch responds to a long‑standing complaint from developers integrating legacy CGI scripts into nginx.
- The MP4 module no longer misparses certain metadata fields, making media streaming more reliable on older hardware.
- Cookie parsing was corrected so that commas in the Cookie header are treated properly, preventing false negatives when extracting $cookie_… variables.
Quick Configuration Checklist
- Add sticky; inside the relevant upstream { … } block and reload nginx.
- Verify QUIC settings by inspecting the error log for any “stateless reset” messages after upgrade.
- Test SCGI backends with chunked requests to confirm responses are intact.
These tweaks keep your deployments stable, reduce admin noise, and let you focus on delivering features rather than chasing random bugs. For download links, check out the GitHub annoucement below:
Release release-1.29.6
nginx-1.29.6 mainline version has been released, featuring sticky sessions support for upstreams. See official CHANGES on nginx.org. Below is a release summary generated by GitHub.
