1.12 released 12 April 2017, latest 1.12.2.
nginx 1.12 reached end of life on 17 April 2018.
What changed
NGINX 1.12 was the stable line that consolidated changes from the preceding mainline development series, following the earlier 1.10 stable line. Its inherited capabilities included the Stream module's SSL preread support, which can inspect a TLS ClientHello without terminating TLS, and support for configuring multiple SSL certificate and key pairs for a virtual server, useful for serving different certificate types. It also included cache behaviour improvements such as background cache updating and more control over serving stale cached responses while an upstream response is refreshed or unavailable. Teams using TCP or UDP proxying, TLS-heavy virtual hosts, or proxy caching may therefore have configuration and runtime behaviour in 1.12 that differs from 1.10.
What staying costs
NGINX 1.12 has reached end of life, so it no longer receives maintenance or security fixes from the upstream project. Remaining on it leaves the service exposed when defects are found in NGINX itself or when newer TLS libraries, operating systems, package repositories, and client behaviour create incompatibilities that the old line will not be updated to address. It also prevents use of later NGINX improvements in HTTP handling, TLS, proxying, observability, and protocol support. The operational risk is not limited to a known vulnerability: an unmaintained web and reverse-proxy tier can become harder to patch, package, test, and recover as its surrounding platform advances.
What to do
Plan a move to a currently supported NGINX release line rather than treating 1.12 as a target for further hardening. First inventory the installed build, enabled modules, externally loaded dynamic modules, TLS library, configuration includes, certificates, upstream definitions, cache settings, and any Stream listeners. Rebuild or obtain compatible versions of every third-party module for the target NGINX build; binary modules must match the target build's module compatibility requirements. Test the existing configuration with the target binary in a non-production environment, with particular attention to TLS certificate selection, HTTP and redirect handling, proxy headers, upstream failure behaviour, cache freshness and stale-response handling, request limits, and Stream SSL preread routing. Deploy through a staged rollout with health checks, traffic comparison, configuration validation, and a documented rollback path, then retire the 1.12 packages and artifacts after the replacement is operating normally.
We can tell you what moving off nginx 1.12 involves.
What it takes to move off nginx 1.12 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
