An open API service indexing awesome lists of open source software.

awesome-nginx

Curated list of production-grade NGINX modules, tools, distributions and learning resources, by GetPageSpeed.
https://github.com/getpagespeed/awesome-nginx

Last synced: 6 days ago
JSON representation

  • Authentication

  • Bot mitigation

  • Caching and compression

    • cache-purge - Purge content from FastCGI, proxy, SCGI and uWSGI caches by URL. 📦
    • ngx_brotli - Brotli compression module (GetPageSpeed fork of google/ngx_brotli with regular releases). 📦
    • compression-vary - Enhanced Vary header handling for compression, emits the right Vary without duplicates. 📦
    • immutable - Marks public assets with Cache-Control: immutable so browsers stop revalidating fingerprinted files. 📦
    • ngx_dynamic_etag - Adds correct ETag headers to dynamic responses, enabling 304s on proxied content. 📦
    • ngx_http_compression_normalize_module - Parses and normalizes the Accept-Encoding header so caches see one canonical form. 📦
    • ngx_http_unzstd_filter_module - Decompresses Zstd-encoded upstream responses for clients that don't support Zstd. 📦
    • ngx_slowfs_cache - Caches static files served from slow filesystems. 📦
    • ngx_unbrotli - Decompresses Brotli-encoded upstream responses for clients that don't support Brotli. 📦
    • sorted-args - Normalizes query-string parameter order to dramatically improve cache hit rates. 📦
    • srcache-nginx-module - Transparent subrequest-based caching for arbitrary NGINX locations. 📦
    • zstd-nginx-module - Zstandard compression module for NGINX (by tokers). 📦
  • Configuration and tooling

    • gixy - Static analyzer that catches alias-traversal, SSRF, host-header attacks and other NGINX config footguns.
    • crossplane - Convert NGINX configs to and from JSON, fork of the NGINX Amplify tool with fixes.
    • gixy-jetbrains - JetBrains IDE plugin surfacing gixy findings inline.
    • Mozilla SSL Configuration Generator - Mozilla-maintained generator for the TLS / cipher configuration block.
    • nginx-honeypot - Run an NGINX honeypot to capture and study attacker behaviour.
    • nginxconfig.io - Online NGINX config generator with sensible TLS, performance and security defaults.
    • nginxpwner - Look for common NGINX misconfigurations and exploitable patterns.
    • ngxtop - Real-time NGINX top, like `top` for your traffic.
    • off-by-slash - Detect alias-traversal misconfigurations (the trailing-slash class of bugs).
  • Distributions and forks

    • nginx - Official NGINX source repository, mirrored from the canonical Mercurial.
    • angie - Modern NGINX fork by ex-NGINX core engineers, adds ACME, HTTP/3, observability.
    • freenginx - Community fork of NGINX maintained by long-time NGINX core developer Maxim Dounin.
    • openresty - Dynamic web platform based on NGINX and LuaJIT, bundling many modules out of the box.
    • tengine - Alibaba's NGINX fork with dynamic upstream, request-trace and additional optimisations.
  • Documentation and learning

  • Headers, cookies and response filters

  • Honourable mentions

  • Logging and observability

  • Lua and OpenResty ecosystem

    • lua-nginx-module - Embed the power of LuaJIT into NGINX's HTTP request lifecycle. 📦
    • array-var-nginx-module - Array-typed variables for the OpenResty stack. 📦
    • echo-nginx-module - Echo, sleep, time and exec directives for the content phase. 📦
    • encrypted-session-nginx-module - Encrypt and decrypt NGINX variable values, for sessionless session cookies. 📦
    • lua-upstream-nginx-module - Lua API for controlling NGINX upstreams at runtime. 📦
    • memc-nginx-module - Extended memcached upstream module (full memcached command set, not just GET). 📦
    • nginx-eval-module - Evaluate memcached or proxy response into a variable. 📦
    • ngx_devel_kit - Nginx Devel Kit, generic toolkit that many third-party modules depend on. 📦
    • ngx_wasm_module - Proxy-Wasm (WebAssembly) support for NGINX, powered by wasmtime. 📦
    • njs - Official JavaScript scripting in NGINX (subset of ES5 + extensions). 📦
    • redis2-nginx-module - Native upstream for the Redis 2.0+ protocol, full pipelining. 📦
    • set-misc-nginx-module - Provides set_xxx directives (md5, sha1, base64, hex, escape, quote) for the rewrite phase. 📦
    • stream-lua-nginx-module - Embed LuaJIT into NGINX's stream {} (TCP/UDP) processing. 📦
  • Networking and protocols

    • nginx-cgi - Run classic CGI scripts under NGINX. 📦
    • nginx-dav-ext-module - Adds PROPFIND, OPTIONS, LOCK and UNLOCK to NGINX's core WebDAV. 📦
    • Nginx-DOH-Module - Serve DNS-over-HTTPS responses straight from NGINX. 📦
    • nginx_ajp_module - Apache AJP13 protocol upstream (talk to Tomcat / JBoss natively). 📦
    • ngx_coolkit - Collection of small NGINX utilities, encoding, time helpers, IP utilities. 📦
    • ngx_http_geoip2_module - MaxMind GeoIP2 lookups into NGINX variables. 📦
    • ngx_http_proxy_connect_module - Adds HTTP CONNECT (forward-proxy) support to NGINX. 📦
    • rdns - Reverse-DNS lookup of the client IP into NGINX variables. 📦
  • Packaging and distribution

    • extras.getpagespeed.com - Production-grade RPM and DEB repository with 130+ NGINX modules across all major distributions.
    • docker-nginx - Official NGINX Docker images.
    • lastversion - Find and download the latest release of any project on GitHub / GitLab / SourceForge / PyPI / Hg / official sites.
    • nginx.org Linux packages - Official NGINX binary packages for Debian, Ubuntu, RHEL/CentOS, Amazon Linux, SLES.
  • Performance and optimization

    • incubator-pagespeed-ngx - Apache mod_pagespeed for NGINX, automatic CSS/JS/image optimization at the edge. 📦
    • nginx-link-function - Dlopen application code straight into NGINX request handling for ultra-low-latency endpoints. 📦
    • nginx-sxg-module - Signed HTTP Exchange (SXG) support, prefetch with original-origin attribution. 📦
    • passenger - Phusion Passenger application server module, runs Ruby/Python/Node apps inside NGINX. 📦
    • tuning - Observes real traffic patterns and proposes data-driven NGINX tuning. 📦
  • Security and WAF

    • nginx-acme - Automatic certificate management (ACMEv2) module for NGINX, by F5/NGINX Inc. 📦
    • ModSecurity-nginx - ModSecurity v3 connector for NGINX. 📦
    • naxsi - Open-source positive-model WAF for NGINX. 📦
    • ngx_security_headers - Sends modern security headers (CSP, X-Frame-Options, Referrer-Policy) and strips insecure ones. 📦
    • ngx_waf - High-performance, ModSecurity-compatible WAF module for NGINX. 📦
  • Streaming, media and image processing

    • nginx-rtmp-module - RTMP media streaming server based on the historical nginx-rtmp-module. 📦
    • f4fhds - HTTP Dynamic Streaming (HDS) f4f fragment handler (Adobe legacy). 📦
    • immerse - Modern-image-format filter: transparent WebP and AVIF delivery based on Accept. 📦
    • ipscrub - Anonymizes client IP addresses in access logs (k-anonymity-style). 📦
    • markdown - Renders Markdown files to HTML on the fly. 📦
    • media-framework - Kaltura Media Framework shared module, HTTP API, events, persistence and Lua interop. 📦
    • mod_zip - Assembles ZIP archives on the fly from a manifest of upstream URLs. 📦
    • modjpeg-nginx - JPEG filter for overlays, logos and watermarks on JPEGs in flight. 📦
    • nchan - Scalable pub/sub server inside NGINX: HTTP, WebSocket, Server-Sent Events and long-polling. 📦
    • nginx-http-flv-module - HTTP-FLV streaming on top of nginx-rtmp-module. 📦
    • nginx-push-stream-module - HTTP push (Comet, EventSource, long-polling, WebSocket) as a pure-NGINX pub/sub stream. 📦
    • nginx-srt-module - Haivision SRT (Secure Reliable Transport) TCP gateway module. 📦
    • nginx-ts-module - MPEG-TS live streaming module. 📦
    • nginx-vod-module - On-the-fly MP4 repackager to DASH, HDS, HLS and MSS (by Kaltura). 📦
    • ngx_http_html_sanitize_module - HTML5 sanitizer based on Google Gumbo, whitelisted elements, attributes and CSS. 📦
    • ngx_http_untar_module - Serves file content directly out of tar archives. 📦
    • ngx_small_light - Dynamic image transformation (resize, crop, rotate, watermark). 📦
    • ngx_webp - On-the-fly WebP conversion of JPEG and PNG responses. 📦
  • Upstreams, rate limiting and access control

  • Variables, JSON and extensibility

    • form-input-nginx-module - Parses application/x-www-form-urlencoded request bodies into variables. 📦
    • iconv-nginx-module - Character-set conversion of request and response bodies via libiconv. 📦
    • nginx-json-var-module - Group variable expressions as a JSON value for clean logging. 📦
    • nginx-keyval - Key-value store backed module, variables sourced from disk-backed KV pairs. 📦
    • nginx-let-module - Arithmetic and string expressions in the rewrite phase. 📦
    • ngx_http_json_module - Dumps a $json variable into a string. 📦
    • ngx_http_label_module - Define global key-value labels for dynamic configuration. 📦
    • ngx_http_var_module - Dynamically assign variables via predefined functions (math, string, hash). 📦
    • ngx_postgres - Direct PostgreSQL upstream, no PHP / app layer needed for read-heavy paths. 📦