Skip to content

GetPageSpeed/awesome-nginx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome NGINX Awesome

High-performance web server, reverse proxy and load balancer powering a large share of the web.

Every entry is production-grade β€” actively maintained and deployed on real systems. Hobbyware, abandoned forks and proof-of-concept malware are left out by design.

  • πŸ“¦ marks an entry available as an RPM and DEB package, installable in seconds on RHEL, Alma, Rocky, Amazon Linux, Fedora, Ubuntu, Debian and SLES.

Contents

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.
  • NGINX Plus - Commercial NGINX with live activity monitoring, dynamic config and JWT/SAML auth, by F5.
  • 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.

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.

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).

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. πŸ“¦

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). πŸ“¦

Headers, cookies and response filters

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. πŸ“¦

Logging and observability

  • GetPageSpeed Amplify - Hosted NGINX monitoring with built-in continuous gixy scanning; drop-in compatible with the deprecated nginx-amplify-agent.
  • nginx-module-vts - Virtual-host traffic status module, Prometheus / JSON / HTML real-time stats. πŸ“¦
  • graphite-nginx-module - Send per-location stats directly to Graphite. πŸ“¦
  • log-zmq - Stream access logs over ZeroMQ for centralized collection. πŸ“¦
  • nginx-module-stream-sts - Stream server traffic status core module (companion to sts). πŸ“¦
  • nginx-module-sts - Stream server traffic status, same idea as VTS but for the stream {} block. πŸ“¦
  • nginx-otel - Official OpenTelemetry tracing exporter module for NGINX. πŸ“¦
  • nginx-statsd - Send NGINX metrics to a StatsD collector. πŸ“¦
  • ngx-sqlite-log - SQLite-backed access log, queryable logs without a separate pipeline. πŸ“¦
  • ngx_http_error_log_write_module - Conditionally emit error-log entries from configuration. πŸ“¦
  • ngx_http_log_var_set_module - Set NGINX variables right before the access log writes, late-stage log enrichment. πŸ“¦
  • ngx_http_pipelog_module - Pipe access logs to an external program (analytics, alerting, archival). πŸ“¦
  • ngx_http_upstream_log_module - Writes upstream-side request logs separate from the client-side access log. πŸ“¦
  • traffic-accounting-nginx-module - Real-time incoming/outgoing traffic counters per zone. πŸ“¦

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. πŸ“¦

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. πŸ“¦

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. πŸ“¦

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. πŸ“¦

Documentation and learning

Honourable mentions

Contributing

Contributions welcome. See the contribution guidelines.

About

Curated list of production-grade NGINX modules, tools, distributions and learning resources, by GetPageSpeed.

Topics

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages