1.21 released 25 May 2021, latest 1.21.6.
nginx 1.21 reached end of life on 21 June 2022.
What changed
NGINX 1.21 advanced the mainline 1.19 series and, most notably, added experimental QUIC and HTTP/3 support. That implementation was explicitly experimental, so its configuration, protocol behavior, and operational expectations were not a stable long-term interface. The cycle also accumulated smaller HTTP, stream, TLS, proxying, logging, and bug-fix changes typical of a mainline release line. Teams using third-party dynamic modules should note that NGINX module binaries are tied to the NGINX build and compatibility settings; a module built for an older line cannot be assumed to load unchanged after an upgrade.
What staying costs
NGINX 1.21 has reached end of life. Remaining on it means newly discovered defects and security issues in that release line will not receive upstream fixes. This is particularly material for an Internet-facing reverse proxy, where TLS handling, request parsing, HTTP protocol behavior, caching, and upstream proxying are exposed to untrusted traffic. Its experimental HTTP/3 and QUIC implementation adds a separate risk: it should not be treated as equivalent to the later, maintained HTTP/3 implementation. Staying also increases migration effort over time because configuration, package repositories, operating-system dependencies, and third-party modules continue to move forward while the deployed NGINX line does not.
What to do
Plan a move to a currently supported NGINX release line supplied by the chosen vendor or operating-system channel. First inventory the exact NGINX binary, build flags, installed static and dynamic modules, included configuration files, certificates, upstream dependencies, and any QUIC or HTTP/3 listeners. Review the intervening NGINX change logs and the target release documentation for directives whose behavior or syntax affects the deployed configuration. Rebuild or obtain target-version packages for every third-party dynamic module, rather than copying existing module binaries. Test the upgrade in a representative environment with real TLS policies, HTTP/1.1 and HTTP/2 traffic, proxy and cache paths, access controls, rate limits, logging, reloads, and failure handling. If HTTP/3 is enabled, validate it independently on the target version and retain a tested TCP-based HTTP fallback. Deploy through a staged rollout with configuration backups, health checks, and a rollback path.
We can tell you what moving off nginx 1.21 involves.
What it takes to move off nginx 1.21 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.
Not sure yet? Get my plan
