/awesome-nginx

A curated list of awesome Nginx distributions, 3rd party modules, Active developers, etc. :octocat:

Primary LanguageC

Awesome Nginx Build Status Awesome

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

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

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.

Tutorials

Mailing Lists

Forum

Active Developers