Awesome
Awesome Nginx
A curated list of awesome nginx distributions, third party modules, active developers and so forth.
If you want to contribute, please submit a pull request.
Feel free to add your project :)
Table of Contents
- Well-known Distributions
- Embeddable Scripting Languages
- Third Party Modules
- Built-in Modules
- Njs Projects
- Tools
- Tutorials
- Mailing Lists
- Forum
- Active Developers
Well-known Distributions
Embeddable Scripting Languages
Builder
This is bash command line builder that uses this curated list to automate installing and compiling nginx
Third Party Modules
These modules are not distributed with the Nginx source.
C Modules
- lua-nginx-module - Embed the Power of Lua into NGINX.
- nginx-rtmp-module - NGINX-based Media Streaming Server.
- xss-nginx-module - Native support for cross-site scripting (XSS) in an nginx.
- srcache-nginx-module - Transparent subrequest-based caching layout for arbitrary nginx locations.
- replace-filter-nginx-module - Streaming regular expression replacement in response bodies.
- rds-json-nginx-module - An nginx output filter that formats Resty DBD Streams generated by ngx_drizzle and others to JSON.
- echo-nginx-module - An Nginx module for bringing the power of "echo", "sleep", "time" and more to Nginx's config file.
- headers-more-nginx-module - Set, add, and clear arbitrary output headers.
- rds-csv-nginx-module - Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV).
- memc-nginx-module - An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands..
- encrypted-session-nginx-module - encrypt and decrypt nginx variable values.
- redis2-nginx-module - Nginx upstream module for the Redis 2.0 protocol.
- drizzle-nginx-module - an nginx upstream module that talks to mysql and drizzle by libdrizzle.
- array-var-nginx-module - Add support for array-typed variables to nginx config files.
- set-misc-nginx-module - Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more).
- nginx-eval-module - A module for evaluating memcached or proxy response into variable.
- ngx_pagespeed - Automatic PageSpeed optimization module for Nginx.
- ngx_devel_kit - Nginx Development Kit - an Nginx module that adds additional generic tools that module developers can use in their own modules.
- ngx_cache_purge - nginx module which adds ability to purge content from FastCGI, proxy, SCGI and uWSGI caches.
- ngx_postgres - upstream module that allows nginx to communicate directly with PostgreSQL database.
- nginx-backtrace - A Nginx module to dump backtrace when a worker process exits abnormally.
- nginx-http-concat - A Nginx module for concatenating files in a given context: CSS and JS files usually.
- nginx-http-user-agent - A nginx module to match browsers and crawlers.
- nginx-http-footer-filter - A nginx module that prints some text in the footer of a request.
- nginx-http-slice - Nginx module for serving a file in slices (reverse byte-range).
- nginx-clojure - Nginx module for embedding Clojure or Java or Groovy programs, typically those Ring based handlers.
- nginx-audio-track-for-hls-module - Nginx module that generates audio track for HTTP Live Streaming (HLS) streams on the fly.
- nginx-access-plus - nginx module allows limiting access to certain http request methods and client addresses.
- ngx_http_subrange_module - Split one big HTTP/Range request to multiple subrange requesets.
- nginx_tcp_proxy_module - add the feature of tcp proxy with nginx, with health check and status monitor.
- nginx_ajp_module - support AJP protocol proxy with Nginx.
- ngx_http_substitutions_filter_module - a filter module which can do both regular expression and fixed string substitutions for nginx.
- nginx-sticky-module - A nginx module to add an upstream server persistance using cookies.
- nginx-http-sysguard - A Nginx module to protect servers when system load or memory use goes too high.
- nginx-tfs - An Asynchronous Nginx module providing a RESTful API for TFS (Taobao File System).
- ngx_aws_auth - nginx module to proxy to authenticated AWS services.
- nginx_mod_akamai_g2o - Nginx Module for Authenticating Akamai G2O requests.
- ngx_supervisord - nginx module providing API to communicate with supervisord and manage (start/stop) backends on-demand.
- ngx_http_google_filter_module - Nginx Module for Google Mirror.
- ngx_http_dyups_module - update upstreams' config by restful interface.
- ngx_sync_msg_module - This module provides a mechanism to sync messages between workers for your module.
- nginx-upload-module - A module for nginx web server for handling file uploads using multipart/form-data encoding (RFC 1867).
- nginx-video-thumbextractor-module - Nginx module to extract thumbs from a video file.
- nginx-push-stream-module - A pure stream http push technology for your Nginx setup. Comet made easy and really scalable.
- nginx-module-vts - Nginx virtual host traffic status module.
- url-protector-nginx-module - Nginx module which adds ability to decrypt strings encrypted with xxtea algorithm.
- nginx-module-url - Nginx url encoding converting module.
- ngx_small_light - Dynamic Image Transformation Module For nginx.
- nginx-upstream-fair - The fair load balancer module for nginx.
- nginx_modSecurity - ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave's SpiderLabs.
- nginx-fluentd-module - Nginx module for Fluentd data collector.
- ngx_zeromq - ZeroMQ transport for nginx.
- ngx_cache_viewer - nginx module which adds ability to view cache node info from FastCGI, proxy, SCGI and uWSGI caches.
- nginx_http_push_module - Turn NGiNX into an adept HTTP push server.
- nginx-selective-cache-purge-module - A module to purge cache by GLOB patterns..
- naxsi - NAXSI is an open-source, high performance, low rules maintenance WAF for NGINX.
- couchbase-nginx-module - The module for nginx webserver to access Couchbase Server.
- protobuf-nginx - Google Protocol Buffers code generator for nginx module developers.
- testcookie-nginx-module - simple robot mitigation module using cookie based challenge/response technique.
- nginx_circle_gif - this module generates simple circle images with the colors and size specified in the URL.
- ngx_http_estreaming_module - An adaptive hls streaming module for nginx.
- ngx_mruby - ngx_mruby - A Fast and Memory-Efficient Web Server Extension Mechanism Using Scripting Language mruby for nginx.
- ngx_http_geoip2_module - creates variables with values from the maxmind geoip2 databases based on the client IP (supports both IPv4 and IPv6).
- tcp-nginx-module - Use nginx as a common TCP server framework.
- ngx_openresty - Turning Nginx into a Full-fledged Web App Server.
- iconv-nginx-module - a character conversion nginx module using libiconv.
- form-input-nginx-module - This is a nginx module that reads HTTP POST and PUT request body encoded in "application/x-www-form-urlencoded", and parse the arguments in request body into nginx variables..
- ngx-ip2location - Nginx IP2Location Module.
- nginx-hmux-module - The module implements resin's hmux protocol in nginx.
- nginx_ocsp_proxy-module - Nginx OCSP processing module designed for response caching.
- nginx-hmac-secure-link - Alternative Nginx secure link module with support for MD5, SHA-1, and SHA-2 hashes.
- waf-nginx-module - A lightweight web application firewall module for nginx..
- ngx-gm-filter - Another image filter based GraphicsMagick..
- nginx-mod-so - nginx_mod_so is dynamic loadable module for Nginx.
- nginx-auth-ldap - LDAP authentication module for nginx.
- nginx-xsltproc-module - XSLT processor bases on Nginx.
- nginx-dlg-auth - NGINX module for delegating authentication and authorization to an HTTP gateway.
- ngx_http_qqwry_module - A nginx module that creates variables with location info from QQWry.
- nginx-markdown-module - renderize markdown as HTML directly from your upstream server.
- nginx-nonewlines - This is an nginx module to strip the served HTML of all newlines (\n and \r characters).
- nginx-udplog-module - Implementation of logging using BSD Syslog Protocol for nginx (RFC 3164).
- nginx-fancyindex - nginx fancy index module.
- nginx_ipset_blacklist - nginx module to use linux netfilter ipsets as blacklists.
- nginx-mogilefs-module - MogileFS client for nginx.
- ngx_http_php_session - nginx module to parse php sessions.
- ngx_trace - runtime call tracer for nginx.
- nginx-qrcode - Native QR encoding for Nginx Web Server.
- nginx-dav-ext-module - NGINX WebDAV missing methods support (PROPFIND & OPTIONS).
- nginx-gridfs - Nginx module for serving files from MongoDB's GridFS.
- Session-Binding-Proxy - An Nginx module capable of binding the application session to the SSL session by encrypting the application cookie with a secret key and the SSL master key.
- ngx_http_gif_magick - nginx http filter module for dynamically resizing gifs with ImageMagick.
- nginx-upload-progress-module - Nginx module implementing an upload progress system, that monitors RFC1867 POST uploads as they are transmitted to upstream servers.
- ngx_http_avatars_gen_module - Nginx module for on-the-fly generating of avatars based on user initials.
- ngx_http_proxy_connect_module - A forward proxy module for CONNECT request handling
- modjpeg-nginx - Filter module for adding overlays and logos to JPEGs on-the-fly without degrading the quality of the image.
- nginx-c-function - It is a NGINX module that allow you to link your .so(c/c++) application in server context and call the function of .so application in location directive.
- ngx_lfqueue - a lock free queue(enq/deq) container running on nginx share memory and it enqueue/dequeue the messages across multiple threads and multiple workers without any locking.
- ngx_lfstack - a lock free stack(push/pop) container running on nginx share memory and it push/pop the messages across multiple threads and multiple workers without any locking.
- ngx-stomp - A STOMP upstream module on nginx, STOMP is the Simple (or Streaming) Text Orientated Messaging Protocol.
- nginx-elastic-client - To structure your elastic client command in your nginx proxy for multiple elasticsearch server.
- zstd-nginx-module - Nginx modules for the Zstandard compression.
- nginx_upstream_check_module - Health checks upstreams for nginx.
- ngx_php - Embedded php script language for nginx-module.
- ngx_http_guess_mime_module - Guess the MIME type of files served using libmagic.
- ngx_http_stat_check - Dynamic access blacklisting configuration via filesystem paths.
- nginx_mime_magic_module - Another MIME guesser using libmagic with configurable Magic database path and fallback or compulsory mode.
- nginx-otel - Module providing support for OpenTelemetry distributed tracing.
- nginx-http-est - Enrollment over Secure Transport (EST) module for Nginx
- nginx-http-auth-totp - Time-based one-time password (TOTP) authentication for Nginx
- ngx_status_module - Nginx mod status module similar to Apache plugin
Rust Modules
- ngx-rust - Rust bindings for Nginx modules.
Lua Modules
- lua-resty-redis - Lua redis client driver for the ngx_lua based on the cosocket API.
- lua-resty-memcached - Lua memcached client driver for the ngx_lua based on the cosocket API.
- lua-resty-mysql - Nonblocking Lua MySQL driver library for ngx_lua.
- lua-resty-postgres - Nonblocking Lua PostgreSQL driver library for ngx_lua.
- lua-resty-cassandra - Pure Lua Cassandra client using CQL binary protocol.
- lua-resty-fastcgi - Lua FCGI client driver for ngx_lua based on the cosocket API.
- lua-resty-ssdb - Lua ssdb client driver for the ngx_lua based on the cosocket API, SSDB is a leveldb server.
- lua-resty-fastdfs - Nonblocking Lua FastDFS driver library for ngx_lua.
- lua-resty-mongol - Lua MongoDB driver.
- lua-resty-oceanbase - Lua OceanBase client driver for ngx_lua based on the cosocket API.
- lua-resty-lrucache - Lua-land LRU Cache based on LuaJIT FFI.
- lua-resty-core - New FFI-based API for lua-nginx-module.
- lua-resty-upload - Streaming reader and parser for http file uploading based on ngx_lua cosocket.
- lua-resty-websocket - WebSocket support for the ngx_lua module (and OpenResty).
- lua-resty-dns - DNS resolver for the nginx lua module.
- lua-resty-string - String utilities and common hash functions for ngx_lua and LuaJIT.
- lua-redis-parser - Lua module for parsing raw redis responses.
- lua-rds-parser - Resty DBD Stream (RDS) parser for Lua written in C.
- lua-resty-http - Lua HTTP client cosocket driver for OpenResty / ngx_lua.
- lua-resty-template - Templating Engine (HTML) for Lua and OpenResty
- lua-resty-cookie - Lua library for HTTP cookie manipulations for OpenResty/ngx_lua.
- lua-resty-kafka - Lua kafka client driver for the ngx_lua based on the cosocket API.
- lua-resty-rabbitmqstomp - Opinionated Lua RabbitMQ client library for the ngx_lua apps based on the cosocket API.
- lua-resty-logger-socket - Raw-socket-based Logger Library for Nginx.
- lua-resty-beanstalkd - non-blocking beanstalkd client lib for ngx_lua.
- lua-resty-libcjson - LuaJIT FFI-based cJSON library for OpenResty.
- lua-resty-session - Session library for OpenResty implementing Secure Cookie Protocol.
- lua-resty-validation - Validation Library (Input Validation and Filtering) for Lua and OpenResty.
- lua-resty-random - LuaJIT FFI-based Random Library for OpenResty.
- lua-resty-scrypt - LuaJIT FFI-based scrypt library for OpenResty.
- lua-resty-uuid - LuaJIT FFI bindings for libuuid, a DCE compatible Universally Unique Identifier library.
- lua-resty-hoedown - LuaJIT FFI bindings to Hoedown, a standards compliant, fast, secure markdown processing library in C.
- lua-resty-snappy - LuaJIT FFI bindings for Snappy, a fast compressor/decompressor.
- lua-resty-nettle - LuaJIT FFI bindings for Nettle (a low-level cryptographic library).
- lua-resty-rack - A simple and extensible HTTP server framework for OpenResty.
- lua-resty-upstream - Upstream connection load balancing and failover module for Openresty.
- lua-resty-dns-cache - Cache wrapper for lua-resty-dns.
- lua-resty-consul - Library to interface with the consul HTTP API from ngx_lua.
- lua-resty-gearman - Lua gearman client driver for the ngx_lua based on the cosocket API.
- lua-resty-jwt - JWT For The Great Openresty.
- lua-resty-shell - tiny subprocess/shell library to use with OpenResty application server.
- lua-resty-rsa - RSA encrypt/decrypt & sign/verify for LuaJIT.
- lua-resty-smtp - I must be crazy trying to send mail with Nginx..
- lua-resty-riak - Lua riak protocol buffer client driver for the ngx_lua based on the cosocket API.
- lua-resty-iputils - Utility functions for working with IP addresses in Openresty.
- lua-resty-qless - Lua binding to Qless (Queue / Pipeline management) for OpenResty.
- lua-resty-hmac - HMAC functions for ngx_lua and LuaJIT.
- lua-resty-kyototycoon - Lua client driver for KyotoTycoon using its native wire protocol (OpenResty/ngx_lua).
- lua-resty-libxl - LuaJIT FFI-based LibXL (Excel) library for OpenResty.
- lua-resty-gettext - LuaJIT FFI-based gettext library for OpenResty.
- lua-resty-github - Lua library for using the github api in the ngx_lua nginx module.
- lua-resty-murmurhash2 - LuaJIT MurmurHash 2 bindings to Nginx / OpenResty murmurhash2 implementation.
- lua-resty-hipchat - Lua library for using the hipchat api.
- lua-resty-readurl - Lua library for capturing urls, decoding, and logging results.
- lua-resty-kyototycoon - kyototycoon's binary protocol.
- lua-resty-mobile - Mobile detection for nginx/openresty.
- lua-resty-fileinfo - LuaJIT FFI bindings to libmagic, magic number recognition library - tries to determine file types.
- lua-resty-sass - LuaJIT FFI bindings for libsass - A C/C++ implementation of a Sass compiler.
- lua-resty-taglib - LuaJIT FFI bindings for TagLib - An Audio Meta-Data Library.
- lua-resty-woothee - Woothee Lua-Openresty implementation.
- lua-resty-json - json lib for lua and C.
- ngx_lua_waf - lua waf based on ngx_lua.
- lua-resty-limit-req - Limit the request processing rate between multiple NGINX instances.
- LuaWeb - A very simple blog engine using openresty, nginx, lua, markdown, git and redis.
- lua-nginx-osm - OpenStreetMap extension for Nginx Lua module.
- nginx-tcp-lua-module - A TCP server with lua supporting based on nginx.
- nginx-google-oauth - Lua module to add Google OAuth to nginx.
- lua-upstream-nginx-module - Nginx C module to expose Lua API to ngx_lua for Nginx upstreams.
- lua-resty-upstream-healthcheck - Health Checker for Nginx Upstream Servers in Pure Lua.
- lua-resty-lock - Simple nonblocking lock API for ngx_lua based on shared memory dictionaries.
Built-in Modules
For more details, see nginx.org.
Njs Projects
- njs-types - Provides type script type definitions for njs.
- njs-examples - Examples of njs usage.
- nginx-njs-usecases - A collection of njs use cases.
- njs-acme - ACME protocol implementation in njs allowing Let's Encrypt certificates to be issued directly from nginx.
- nginx-s3-gateway - S3 gateway for Nginx allowing to proxy requests directly to S3 private buckets.
- njs-memory-profiler - Tool to understand per-request memory usage of njs scripts.
- nginx-dns - Example njs configuration for using Nginx with DNS services.
- njs-prometheus-module - Converts NGINX metrics exposed by the API module to a Prometheus format.
- nginx-xml-json - Proof-of-concept solution for presenting XML services as a JSON API.
- mqtt5 - MQTT 5.0 protocol parser implemented in njs.
- babel-preset-njs - A Babel preset for njs - NGINX JavaScript.
- njs-typescript-starter - A starting template for developing njs (NGINX JavaScript) scripts for NGINX server in TypeScript.
Tools
- nginx-devel-utils - Utilities for nginx module development.
- gixy - Nginx configuration static analyzer
- no-pool-nginx - replace nginx's pool mechanism with plain malloc & free to help tools like valgrind.
- nginx-dtrace - An nginx fork that adds dtrace USDT probes.
- test-nginx - Data-driven test scaffold for Nginx C module and OpenResty Lua library development.
- nginx-systemtap-toolkit - Real-time analyzing and diagnosing tools for Nginx based on SystemTap.
- nginx-gdb-utils - GDB Utilities for Nginx, ngx_lua, LuaJIT, and etc.
- apache2nginx - A command line tool, which can be used to generate nginx config file according to given config files of Apache.
- nginx-build - seamless nginx builder.
- puppet-nginx - Puppet Module to manage NGINX on various UNIXes.
- server-configs-nginx - Nginx HTTP server boilerplate configs.
- nginx-boilerplate - Awesome Nginx configuration template.
- ngxtop - Real-time metrics for nginx server.
- GoAccess - real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.
- nginx-conf - A collection of useful Nginx configuration snippets.
- libngxcore - libngxcore is the library built from nginx core APIs..
- nginx-cache-purge - A bash script for deleting items from Nginx cache.
- ngx-admintools - Debian Administration Tools for nginx web server.
- nginx-config-formatter - Nginx config file formatter/beautifier written in Python.
- veryNginx - A very powerful and friendly nginx base on lua-nginx-module( openresty ) which provide WAF, Control Panel, and Dashboards.
- akamai-nginx - Autoconfigure nginx based on Akamai property api rules using generated lua.
- nginxconfig.io - GitHub - Online nginx configuration generator for general purposes.
- nginx-opentracing - NGINX plugin for OpenTracing.
- nixy - Nginx auto configuration and service discovery for Mesos/Marathon
- build-nginx - An nginx build tool to really simplify downloading and building specific versions of nginx with different core and 3rd-party modules.
- nginx-autoinstall - Compile Nginx from source with custom modules on Debian and Ubuntu
- nginx-proxy-manager - Webinterface to manage nginx reverse-proxys with Letsencrypt support.
- bunkerized-nginx - nginx Docker image secure by default.
- nginx-proxy - Automated nginx proxy for Docker containers using docker-gen.
- nginx-lua - Nginx 1.19+ with LUA support based on Alpine Linux, Amazon Linux, CentOS, Debian, Fedora and Ubuntu.
- nginx-testing - Support for integration/acceptance testing of nginx configuration in TypeScript/JavaScript.
- nginx-binaries - Nginx and njs binaries for Linux (x86_64, aarch64, ppc64le), macOS and Windows; Linux binaries are static so works on every Linux.
- NPMplus - Docker container for managing Nginx proxy hosts with a simple, powerful interface
Tutorials
- Nginx admin guide - Nginx and nginx plus admin guide.
- Nginx documentation - Nginx documentation introduction.
- Nginx blog - News, views, and how-tos from nginx.
- Nginx beginner’s Guide - This guide gives a basic introduction to nginx and describes some simple tasks that can be done with it.
- Nginx tutorials - Nginx tutorials by Agentzh.
- Nginx docs cn - The chinese translation of nginx documentation.
- Nginx book - Nginx from primer to expert (In Chinese).
- Nginx module development - Emiller's guide to nginx module development.
- OpenResty best practice - OpenResty best practice(In Chinese).
- Nginx-cheatsheet - A quick reference to common server configurations from serving static files to using in congruency with Node.js applications.
- Monitoring Nginx on Kubernetes - Deployment options, use cases, metrics and alerts for containerized Nginx instances on Kubernetes.
Mailing Lists
Forum
Active Developers
- Maxim Dounin
- Roman Arutyunyan
- Sergey Kandaurov