NGINX modules optimized & extended
Current version: 1.31.1 · Last built: 2026-05-27 · Modules shipped: 101 dynamic + 10 standalone libraries · Sub-packages: 9 core + 101 modules (110 binary packages) · Patches: 8 core + 12 module patches · Distros: Debian bullseye / bookworm / trixie, Ubuntu jammy / noble / resolute
This page is the canonical index for the deb.myguard.nl NGINX and Angie packages: a hardened, mainline build with HTTP/3 (QUIC), kTLS, Brotli, Zstandard, ModSecurity v3, Lua/NJS scripting and over a hundred dynamic modules, packaged for Docker, WordPress, Magento and OpenCart workloads. Rebuilds usually run within a few hours of an upstream nginx release; if no patch conflicts trip the pipeline, the new .deb and Docker image are published automatically.
Builds track Debian upstream closely and are backported to older releases. Most of the optional modules are included because you asked for them — if a module you need is missing, open an issue and it usually ends up in the next build.
Software is provided as-is, no commercial support, but build bugs get fixed and questions answered when time allows.
On this page
- How to install
- Module groups at a glance
- Build features
- Dynamic modules (full list)
- Standalone libraries
- Custom scripts
- Applied patches
- FAQ
- See also
How to install
Debian deprecated the meta-packages nginx-light, nginx-core, nginx-extras and nginx-full. The supported installation pattern is now: install nginx, then add each dynamic module you need.
apt-get install nginx
apt-get install libnginx-mod-http-fancyindex libnginx-mod-http-brotli libnginx-mod-http-zstd
Repository setup, signing keys, and per-distribution suite names are covered on How to use. Containerised builds live in Angie and NGINX Docker Images — a good general-purpose tag is eilandert/nginx-modsecurity3-pagespeed:deb-php8.3.
If you want the smallest possible footprint, install nginx-minimal instead. It strips every non-essential static module (keeping only proxy, cache and FastCGI) and still loads any of the dynamic modules below — ideal for a slim WordPress reverse-proxy container.
Module groups at a glance
- Security & WAF: ModSecurity v3, Naxsi, ngx_waf, captcha, JS challenge, testcookie, security-headers, bot-verifier.
- Auth & access control: LDAP, PAM, SPNEGO/Kerberos, JWT, HMAC, AWS-auth, access-plus, CORS, cookie controls, dynamic rate limiting.
- Compression, cache & storage: Brotli & unbrotli, Zstandard & unzstd, cache-purge, cache-dechunk, memcached, redis2, srcache, slowfs-cache, sorted-querystring.
- Scripting & extensibility: Lua (OpenResty), NJS, NDK, echo, set-misc, eval, headers-more, subs-filter, xslt, response & header manipulation.
- Streaming, media & realtime: RTMP, Nchan, push-stream, HTTP-FLV live, MPEG-TS, VOD (HLS/DASH/MSS), stream, stream-lua, stream-njs.
- Observability: VTS, STS, statsd, upstream-log, log-var-set, extra-variables, error-log-write.
Build features
- Latest mainline NGINX, packaged for Debian and Ubuntu.
- Vendor branding stripped from the server signature.
- Hardened default
nginx.confand asnippets/tree with bot/security/hardening/proxy examples. - Linked against OpenSSL-NGINX for full TLS 1.3, HTTP/3 (QUIC), kTLS and a web-server-tuned OpenSSL build.
- Includes the Cloudflare Optimizing TLS over TCP patch for lower handshake latency.
- SSL defaults tuned for A+ on SSL Labs.
- kTLS ready — load the
tlskernel module and addssl_conf_command Options KTLS;in thehttp { }block. - Built with AIO and threads (better throughput on ZFS and other high-latency filesystems).
- Linked against zlib-ng (native mode) for faster gzip.
- Compiled with
-Ofast, frame-pointer omission and aggressive inlining; LTO is deliberately disabled (-fno-lto) to keep dynamic modules ABI-compatible across rebuilds._FORTIFY_SOURCE=3is enforced on top of the Debian hardening flags. - TCP Fast Open enabled — activate with
sysctl -w net.ipv4.tcp_fastopen=3. - PageSpeed ships with a separately built PSOL (Page Speed Optimisation Library) per distribution.
- Daily-rebuilt Docker images on Docker Hub.
- The OWASP ModSecurity Core Rule Set is repackaged on every nginx version bump.
- A bundle of useful lua-resty modules, also repackaged per nginx release.
- NGINX and OpenSSL patched to allow yielding in
ssl_session_fetch_by_lua*andssl_certificate_by_lua*.
Extra NGINX modules built from git (dynamic)
Every entry below links to the upstream source repository it’s built from — usually GitHub, occasionally a project home page. The handful of unlinked entries (image-filter, perl, geoip, xslt-filter, mail, stream, stream-geoip) are internal modules shipped with the upstream nginx / Angie source tree; they have no separate repository because they live in nginx/nginx itself. If you find a module that’s missing a link, file a bug.
- libnginx-mod-http-ndk – Nginx Development Kit module.
- libnginx-mod-http-access-control – fine-grained access control rules beyond allow/deny.
- libnginx-mod-http-access-plus – limit access by HTTP method and client address.
- libnginx-mod-http-array-var – array-typed variables for use with rewrite/lua.
- libnginx-mod-http-auth-hmac – HMAC-signed URL authentication.
- libnginx-mod-http-auth-internal – internal authentication helper for protected locations.
- libnginx-mod-http-auth-jwt – JWT validation and claims-based authorisation.
- libnginx-mod-http-auth-ldap – LDAP authentication module for nginx.
- libnginx-mod-http-auth-pam – PAM authentication module.
- libnginx-mod-http-auth-spnego – SPNEGO/Kerberos auth support.
- libnginx-mod-http-auth-totp – Time-based one-time password (TOTP) authentication for Nginx
- libnginx-mod-http-aws-auth – AWS request signing (SigV4) and authorisation helpers for nginx.
- libnginx-mod-http-bot-verifier – verifies declared bots (Googlebot etc.) by reverse-DNS.
- libnginx-mod-http-brotli – nginx module for Brotli compression.
- libnginx-mod-http-cache-dechunk-filter – filter chunked upstream responses before cache storage.
- libnginx-mod-http-cache-purge – purge content from nginx caches.
- libnginx-mod-http-captcha – generate and validate captcha challenges.
- libnginx-mod-http-cgi – Brings CGI support to Nginx and
- libnginx-mod-http-combined-upstreams – The module introduces three directives add_upstream,
- libnginx-mod-http-compression-normalize – normalise compression handling across upstream responses.
- libnginx-mod-http-compression-vary – improve Vary header handling for compressed content.
- libnginx-mod-http-concat – concatenate files (typically CSS and JS) in a given context.
- libnginx-mod-http-cookie-flag – add or rewrite cookie flags such as Secure, HttpOnly and SameSite.
- libnginx-mod-http-cookies-filter – inspect and filter request cookies before they reach the upstream.
- libnginx-mod-http-cors – Cross-Origin Resource Sharing helpers for nginx.
- libnginx-mod-http-dav-ext – the WebDAV commands missing from the core
davmodule. - libnginx-mod-http-doh – serve DNS-over-HTTPS (DoH) requests.
- libnginx-mod-http-dynamic-etag – generate ETag headers for dynamic responses.
- libnginx-mod-http-dynamic-limit-req – dynamically lock IPs and release them periodically.
- libnginx-mod-http-dynamic-upstream – runtime upstream management via HTTP API.
- libnginx-mod-http-early-hints – experimental module sending HTTP 103 early hints.
- libnginx-mod-http-echo – bring echo and other shell-style goodies to nginx.
- libnginx-mod-http-encrypted-session – encrypt and decrypt nginx variable values.
- libnginx-mod-http-enhanced-memc – (description pending)
- libnginx-mod-http-error-log-write – write custom entries into the nginx error log from config.
- libnginx-mod-http-eval – evaluate memcached or proxy responses into a variable.
- libnginx-mod-http-extra-variables – additional built-in variables for logging and routing.
- libnginx-mod-http-fancyindex – fancy directory index module.
- libnginx-mod-http-flv-live – like RTMP, with HTTP-FLV, GOP cache, VHost and JSON stats.
- libnginx-mod-http-footer-filter – append content to response bodies.
- libnginx-mod-http-form-input – read
application/x-www-form-urlencodedPOST data into variables. - libnginx-mod-http-geoip2 – GeoIP2 HTTP module.
- libnginx-mod-http-headers-more-filter – set and clear input and output headers.
- libnginx-mod-http-hmac-secure-link – HMAC secure link module.
- libnginx-mod-http-iconv – on-the-fly character encoding conversion of responses.
- libnginx-mod-http-internal-redirect – issue internal redirects from config.
- libnginx-mod-http-js-challenge – JavaScript proof-of-work access challenge (Cloudflare-style anti-DDoS).
- libnginx-mod-http-keyval – nginx-keyval is a key-value store dynamic module for nginx.
- libnginx-mod-http-length-hiding-filter – append a random string to the end of an HTML response.
- libnginx-mod-http-let – assign expressions to variables with arithmetic and string ops.
- libnginx-mod-http-limit-traffic-rate – apply per-request traffic shaping and throttling.
- libnginx-mod-http-log-var-set – set variables specifically for use in access logs.
- libnginx-mod-http-loop-detect – detect proxy loops before they become outages.
- libnginx-mod-http-lua – embed Lua into nginx (OpenResty).
- libnginx-mod-http-lua-upstream – Lua scripting hooks into the upstream subsystem.
- libnginx-mod-http-memc – extended memcached protocol module for direct memcached access (OpenResty).
- libnginx-mod-http-modsecurity – connector for libmodsecurity3.
- libnginx-mod-http-naxsi – Naxsi open-source web application firewall.
- libnginx-mod-http-proxy-var-set – set variables on proxied requests.
- libnginx-mod-http-push-stream – HTTP push-stream server and real-time pub/sub support.
- libnginx-mod-http-postgres – direct PostgreSQL upstream backend.
- libnginx-mod-http-redis2 – upstream module for the Redis 2.0 protocol.
- libnginx-mod-http-rewrite-status-filter – rewrite upstream response status codes.
- libnginx-mod-http-security-headers – module for sending security headers.
- libnginx-mod-http-server-redirect – server-block-level redirect helper.
- libnginx-mod-http-set-misc – various
set_xxxdirectives (md5/sha1, SQL/JSON quoting, and more). - libnginx-mod-http-slowfs-cache – slow-filesystem caching layer for static assets.
- libnginx-mod-http-sorted-querystring – normalize query-string order for cache-key stability.
- libnginx-mod-http-statsd – emit nginx metrics to a StatsD collector.
- libnginx-mod-http-srcache-filter – transparent subrequest-based caching for arbitrary nginx locations.
- libnginx-mod-http-subs-filter – substitution filter module.
- libnginx-mod-http-sysguard – protect nginx against high system load, memory pressure or slow requests.
- libnginx-mod-http-testcookie-access – simple robot mitigation using cookie-based challenge/response.
- libnginx-mod-http-trim-filter – trim unnecessary whitespace and comments from HTML.
- libnginx-mod-http-ts – MPEG-TS streaming module.
- libnginx-mod-http-upload – resumable file upload handler.
- libnginx-mod-http-unbrotli – transparently decompress Brotli-encoded upstream responses.
- libnginx-mod-http-unzstd – transparently decompress zstd-encoded upstream responses.
- libnginx-mod-http-uploadprogress – upload progress system for nginx.
- libnginx-mod-http-upstream-cache-vars – expose upstream cache state as variables.
- libnginx-mod-http-upstream-fair – fair upstream proxy load balancer.
- libnginx-mod-http-upstream-log – detailed access-log-style logging for upstream request handling.
- libnginx-mod-http-user-agent – match browsers and crawlers.
- libnginx-mod-http-var – declare custom variables (with expressions, defaults and conditionals) in nginx config.
- libnginx-mod-http-vhost-traffic-status – per-vhost traffic status information.
- libnginx-mod-http-vod – video-on-demand packaging (HLS, DASH, MSS) on the fly.
- libnginx-mod-stream-sts – stream-context traffic status monitoring.
- libnginx-mod-http-waf – handy, high-performance nginx firewall module (ngx_waf).
- libnginx-mod-http-xss-filter – native cross-site scripting protection helpers for responses (OpenResty).
- libnginx-mod-http-zip – stream ZIP archives assembled from upstream files.
- libnginx-mod-http-zstd – adds Zstandard (zstd) compression.
- libnginx-mod-ssl-ct – the global hook half of the Certificate Transparency module (loaded once alongside the per-protocol
http-ssl-ctandstream-ssl-ctmodules). - libnginx-mod-ipscrub – IP address anonymiser module for nginx.
- libnginx-mod-nchan – fast, flexible pub/sub server.
- libnginx-mod-njs – NGINX JavaScript — built against QuickJS-NG instead of njs’s native interpreter, so the language surface is full ES2023 (real
async/await,BigInt,Proxy, ES modules, modern regex,Intl) forjs_set/js_content/js_periodicscripting. - libnginx-mod-stream-lua – embed Lua into the nginx stream module (OpenResty).
- libnginx-mod-http-pagespeed – ngx_pagespeed speeds up your site and reduces page load time by automatically
- libnginx-mod-rtmp – RTMP support (alternative: libnginx-mod-http-flv-live).
Standalone libraries provided
- libmodsecurity3 – v3 library component used by the nginx connector.
- modsecurity-crs – OWASP ModSecurity Core Rule Set.
- libjemalloc2 – jemalloc allocator, built specifically for NGINX (use the one from this repo).
- libz-ng2 – next-generation zlib data-compression library (native mode).
- lua-resty – bundle of the most-used Lua modules for libnginx-mod-http-lua.
- lua-resty-core – FFI-based Lua API for ngx_http_lua_module / ngx_stream_lua_module (OpenResty).
- lua-resty-lrucache – Lua-land LRU cache based on the LuaJIT FFI (OpenResty).
- openssl-nginx – dedicated OpenSSL build tuned for nginx (kTLS, QUIC, leaner crypto defaults).
- PSOL – Page Speed Optimisation Library, per-distro builds for ngx_pagespeed.
- wordpress-hardening-plugin – opinionated WordPress hardening plugin (login lockdown, REST/XML-RPC throttling, ModSecurity-friendly headers, FireHOL Level 1 integration, CI-tested against Apache+ModSec v2 and nginx+libmodsecurity3).
Custom scripts
reorder-modules.sh– prioritises certain nginx modules in the right load order, with Docker support.cloudflare.sh– fetch Cloudflare IP ranges for inclusion in a vhost usingCF-Connecting-IP.
Applied patches
The complete patch series applied to every nginx build on this repository, in the exact order the Debian packaging applies them (debian/patches/series):
0002-Make-sure-signature-stays-the-same-in-all-nginx-buil.patch– keeps theServer:response header andnginx -voutput identical across the whole package matrix, so client fingerprints don’t drift between distros or rebuilds.nginx-fix-pidfile.patch– restores the correct/run/nginx.pidhandling for systemd-supervised installs, preventing the post-reload PID-file race that ships in mainline.1.30.0-zlib-ng.patch– teaches nginx’s gzip filter about zlib-ng in native mode, so the package links against the faster compressor without breaking ABI for callers expecting classic zlib.nginx_hpack.patch– carries the well-known Cloudflare HPACK encoding patch, shrinking HTTP/2 response headers (Cookie / Set-Cookie heavy workloads see the biggest win).nginx_dynamic_tls_records.patch– enables the Cloudflare dynamic TLS record sizing logic so the first byte of TLS payload arrives in a single packet, cutting time-to-first-byte over the wire.nginx-ssl_cert_cb_yield.patch– lets Lua handlers yield (cosocket calls, sleeps, redis lookups…) from insidessl_certificate_by_lua*andssl_session_fetch_by_lua*callbacks; required for any non-trivial dynamic-certificate setup.http2-ktls-lingering-close-eio.patch– silences the spuriousSSL_read() failed (EIO)alert that mainline emits when an HTTP/2 client closes a kTLS connection during lingering-close; cosmetic only, but it filled error logs.myguard-branding.patch– final branding sweep: replaces vendor strings and tweaks the default error pages so packaged installs identify asnginxonly, notnginx (Debian)ornginx (Ubuntu).
Bundled support libraries
Upstream libraries vendored into the build and linked into specific modules. Not loadable as nginx modules themselves; listed for transparency.
- libinjection – SQL injection and XSS detection library. Bundled because the
http-wafmodule links against it for its pattern-matching engine. - quickjs-ng – Maintained fork of the QuickJS JavaScript engine. Compiled and staged at build time so the njs dynamic module can be linked against the QuickJS engine instead of njs’s older bundled interpreter.
Frequently asked questions
listen 443 quic reuseport; alongside the normal listen 443 ssl; and advertise it with add_header Alt-Svc 'h3=":443"; ma=86400';. See the HTTP/3 on NGINX guide linked under See also for a complete vhost.modprobe tls (and persist it via /etc/modules-load.d/), then add ssl_conf_command Options KTLS; inside your http { } block. nginx will offload the symmetric crypto to the kernel and you will see fewer userspace copies in perf top.apt install nginx gives you the base; then add only libnginx-mod-http-brotli, libnginx-mod-http-modsecurity, or whatever else you want. The nginx-minimal package goes further by stripping non-essential static modules from the base build for the leanest possible footprint.Related deep-dives
Most of the modules and patches above have a dedicated explainer post on this site — install walk-throughs, internals, benchmarks and history. Read them for context before tuning a production stack.
Compression
- What Is Zstd? NGINX, Angie, History and Browser Support — what zstd is, where it came from, and which browsers actually accept it.
- Zstd vs Brotli vs zlib-ng: The NGINX Compression Deep Dive — encodings vs engines, CPU trade-offs, browser support and production configs.
- NGINX Brotli Compression: Install, Configure and Pre-Compress Static Assets — the install and tuning guide for
libnginx-mod-http-brotli. - zstd-nginx-module: What Broke, What We Fixed, and Why It Matters — the upstream bugs in
libnginx-mod-http-zstdand our fork’s fixes.
TLS, HTTP/3 and OpenSSL
- openssl-nginx: The Dedicated OpenSSL Built Just for NGINX and Angie — the OpenSSL build these packages link against.
- OpenSSL 4.0 for NGINX: Upgrading openssl-nginx from 3.x to 4.0 — what changes when we ship OpenSSL 4.
- TLS Configuration for NGINX and Angie: Get A+ on SSL Labs — ciphers, HSTS, OCSP and the full A+ recipe.
- How to Enable HTTP/3 on NGINX for Debian and Ubuntu (QUIC Guide 2026) — the QUIC + Alt-Svc walkthrough.
- Post-Quantum Cryptography with NGINX and Angie: ML-KEM, Hybrid TLS — turning on X25519MLKEM768 with these builds.
Security, WAF and hardening
- How to Install ModSecurity and OWASP CRS on NGINX (Step-by-Step) — the install guide for
libnginx-mod-http-modsecurity+ CRS. - NGINX ModSecurity Setup on Debian and Ubuntu: WAF with OWASP Core Rule Set — the deeper ModSecurity + tuning guide.
- WordPress Hardening Plugin for ModSecurity CRS — the WP-side companion to
libnginx-mod-http-modsecurity. - What Is the BREACH Attack? How It Works and How to Stop It — the compression side-channel and how to mitigate it on these builds.
- NGINX Rate Limiting: Protect Your Server from Bots, Scrapers and Brute Force —
limit_reqand the dynamic-limit-req module in practice.
Scripting (Lua and NJS)
- NGINX Lua Module: Your Web Server Just Got a Superpower — what
libnginx-mod-http-luaunlocks, with working examples. - NGINX NJS: Write JavaScript Inside Your Web Server —
libnginx-mod-http-njsin depth, with NJS vs Lua trade-offs. - OpenResty Lua Modules for NGINX and Angie — the bundled
lua-resty-*packages that ship alongside.
Performance, benchmarks and operations
- Nginx & Angie: The Expert Guide to Maximum Performance and Security — the all-in-one tuning guide for these builds.
- NGINX vs Apache Benchmark 2026: Performance, Memory and Real-World Throughput — why we run this NGINX build instead of Apache.
- WordPress NGINX Configuration: PHP-FPM Tuning, FastCGI Cache and Redis — the WordPress-focused tuning recipe.
- NGINX Load Balancing: Upstream Config, Health Checks and Failover —
upstream { }patterns with these modules. - NGINX Reverse Proxy Configuration: The Complete Setup Guide — the canonical reverse-proxy walkthrough.
- NGINX and Angie on Kubernetes: Helm, Ingress, WAF, HTTP/3 and TLS — how this module set runs in a Helm/Ingress setup.
History, deprecations and releases
- nginx-core, nginx-full, nginx-light Are Gone — Here’s What to Use Instead — the migration path to this per-module layout.
- nginx-minimal: The Lean NGINX Build for WordPress, PHP, and Docker — the slim base package this repo ships alongside.
- NGINX on Debian 13 Trixie: Install, Modules and Modern Stack — Trixie-specific install notes.
- NGINX on Debian 13 Trixie: What Changed and How to Upgrade — the bookworm->trixie upgrade procedure.
- nginx 1.31.0 Released: Six CVEs Fixed, HTTP/2 Hardened, Buffer Overflow Worth Knowing About — the security release these packages tracked.
- Angie 1.11.5 Released: 5 Security Fixes Explained — the Angie counterpart release.
- Google PageSpeed for NGINX: What It Was, Why It Died, What to Use Instead — context for the
libnginx-mod-pagespeedpackage we still ship. - Curl Patches Record Number of AI-Found Vulnerabilities — a recent ecosystem note on the security pipeline these builds depend on.
Mail, PHP and other packaged software
- Postfix + Dovecot Mail Server Setup on Debian 12 and 13 — the mail stack we package alongside the web server.
- Rspamd Explained: How Modern Spam Filtering Actually Works — the rspamd package’s full explainer.
- PHP Snuffleupagus Tutorial — Harden PHP-FPM on Debian and Ubuntu — PHP-FPM hardening alongside this NGINX build.
- Hardening PHP with PHP-Snuffleupagus — the deeper Snuffleupagus rules guide.
- Valkey Explained: The Redis Fork That Actually Won — the Valkey package we publish.
- Database Boost: Free WordPress Database Optimization Plugin — the WP-side companion plugin.
- docker-cms: PHP 8.5 Docker Image for WordPress and CMS Hosting — container image bundling these packages.
- Docker Hardening for Self-Hosters: Rootless, Read-Only, Cap-Drop, Distroless — how we lock down the container images that ship NGINX/Angie.
- Self-Hosted Vaultwarden: Docker Setup, Clients & Full Guide — another self-hosting walkthrough using this stack.
History and background
- The Enigma Machine: How Bletchley Park Cracked the Unbreakable Code — cryptography history, for context on the TLS chapters above.
See also
- OpenSSL-NGINX – the dedicated OpenSSL build these packages are linked against for kTLS, QUIC, and leaner crypto defaults.
- HTTP/3 on NGINX – QUIC setup on current Debian and Ubuntu releases.
- Post-Quantum TLS for NGINX and Angie – hybrid ML-KEM TLS using these OpenSSL-enabled builds today.
- Angie and NGINX Docker Images – the daily-rebuilt containers and image tags.
- lua-resty modules – the bundled OpenResty helper libraries packaged alongside nginx.
- How to use – repository setup, signing keys and per-distribution suite names.
- eilandert/zstd-nginx-module – our maintained fork of the zstd-nginx-module (the source for
libnginx-mod-http-zstdon this repo); fuzz tests, AGENTS notes and a security policy live there. - eilandert/wordpress-hardening-plugin – the WordPress hardening plugin packaged alongside these builds; integration-tested against both Apache + ModSecurity v2 and nginx + libmodsecurity3.
- Articles – release notes, build write-ups and configuration walkthroughs.
See also: Self-Hosting Aptly: Run Your Own Debian APT Repository Behind NGINX.