nginx

Current release: 1.31.3, released 15 July 2026.

What it is

nginx is an open-source web server and reverse proxy designed to handle large numbers of concurrent network connections efficiently. It is commonly placed at the edge of an application stack to terminate TLS, serve static files, compress responses, cache content, route requests to application servers, and balance traffic across upstream services. Its event-driven architecture differs from the traditional process-or-thread-per-connection model associated with older web servers, making it well suited to high-throughput HTTP workloads and proxying. The open-source distribution provides a broad core feature set, while a commercially supported offering adds management, observability, and advanced traffic-management capabilities.

History

nginx was created to address the C10k-era challenge of serving many simultaneous connections with modest resource use. It gained adoption first as a high-performance static-content server and reverse proxy, then became a common front-end component for dynamic application stacks. Over time, its configuration language, proxy features, caching, load balancing, streaming support, and modular ecosystem expanded. It is now used both directly on servers and within containers, cloud environments, and Kubernetes-related traffic architectures. Development and stewardship moved from its original independent project into a commercial ecosystem after an acquisition, while the open-source project remains widely deployed.

Migration notes

Migration planning should focus less on moving the nginx binary and more on reproducing its request-processing behavior. Configurations can contain layered includes, inherited directives, conditional location matching, rewrites, internal redirects, maps, variables, and environment-specific templates. Small differences in location precedence, trailing-slash handling, URI rewriting, proxy path construction, header forwarding, redirect generation, and error-page behavior can change application routing or expose unintended endpoints. TLS settings, certificate automation, HTTP protocol behavior, client-body limits, timeouts, buffering, upload handling, compression, caching rules, rate limits, access controls, and real-client IP handling also frequently carry production assumptions that must be identified and tested. Third-party or dynamically loaded modules may provide security filtering, authentication, geo-routing, scripting, metrics, or protocol support that does not have a direct equivalent elsewhere. Moving from nginx to another proxy, ingress controller, CDN, application gateway, or service mesh therefore often requires translating behavior rather than mechanically converting configuration files. Moving to nginx can be complicated by expectations inherited from Apache-style per-directory configuration, application-generated rewrite rules, or platform-specific load balancer features. Container and Kubernetes deployments add another layer because an ingress controller may generate nginx configuration, making the effective behavior depend on controller annotations, templates, admission policies, and the controller's supported feature set rather than on a hand-maintained nginx.conf alone. Inventory active configuration after all includes and generated fragments are resolved, identify modules and upstream dependencies, and validate representative traffic paths with tests for routing, headers, authentication, caching, failure handling, upgrades, and TLS before cutover.

Release history

1.x

Version support status

nginx version support status by cycle
CycleStatusDate
nginx 1.31UnknownNo dates published
nginx 1.30UnknownNo dates published
nginx 1.29End of lifeEOL 13 May 2026
nginx 1.28End of lifeEOL 14 April 2026
nginx 1.27End of lifeEOL 24 June 2025
nginx 1.26End of lifeEOL 23 April 2025
nginx 1.25End of lifeEOL 29 May 2024
nginx 1.24End of lifeEOL 23 April 2024
nginx 1.23End of lifeEOL 23 May 2023
nginx 1.22End of lifeEOL 11 April 2023
nginx 1.21End of lifeEOL 21 June 2022
nginx 1.20End of lifeEOL 24 May 2022
nginx 1.19End of lifeEOL 25 May 2021
nginx 1.18End of lifeEOL 20 April 2021
nginx 1.16End of lifeEOL 20 April 2020
nginx 1.14End of lifeEOL 23 April 2019
nginx 1.12End of lifeEOL 17 April 2018