Nginx3rdPartyModules
Contents |
Third party modules
These modules are not officially supported. Nevertheless many of them may prove useful to many people. Enjoy at your own risk.
Compiling third party modules
Modules are typically added by compiling them along with the Nginx source.
From the Nginx source directory, type:
./configure --add-module=/path/to/module1/source \
--add-module=/path/to/module2/source
You can use as many --add-module arguments as needed.
Be aware that some modules may require additional libraries to be installed on your system.
Writing your own module
Evan Miller has written the definitive guide to Nginx module development. But some parts of it are a little out of date. You've been warned.
A github search turned up the Nginx Development Kit. It seems to be more up to date.
Known modules
| Name | Description | Author | Link |
|---|---|---|---|
| Accept Language | Parses the Accept-Language header and gives the most suitable locale from a list of supported locales.
| Guillaume Maury | Download |
| Access Key | Denies access unless the request URL contains an access key. | Mykola Grechukh | Download |
| afcgi | Asynchronous/multiplexing FastCGI for nginx (incl. ref server implementation) | rsms | Download |
| Array Var | Add support for array variables to nginx config files | agentzh | Download |
| Auth PAM | HTTP Basic Authentication using PAM. | Sergio Talens-Oliag | Download |
| Cache Purge | Module adding ability to purge content from FastCGI, proxy, and uWSGI caches. | FRiCKLE | Download |
| Chunkin | HTTP 1.1 chunked-encoding request body support for Nginx. | agentzh | Download |
| Circle GIF | Generates simple circle images with the colors and size specified in the URL. | Evan Miller | File:Nginx circle gif-0.1.3.tar.gz |
| Drizzle | Make nginx talk directly to mysql, drizzle, and sqlite3 by libdrizzle. | chaoslawful, agentzh | Download |
| Dynamic etags | Nginx module for etags on dynamic content | kali | Download |
| Echo | Brings "echo", "sleep", "time", "exec", and more shell-style goodies to Nginx config file. | agentzh | Download |
| Encrypted Session | encrypt and decrypt nginx variable values, can be used for light-weight session-based authentication | agentzh | Download |
| Eval | A module for evaluating memcached or proxy response into variable. | vkholodkov | Download |
| agentzh's fork of Eval | Enhanced ngx_eval that can capture arbitrary subrequest's responses into nginx variables (can even with output filters enabled) | agentzh | Download |
| Events (ru) | Provides options for start/stop events. | Anton Dutov | Download |
| Expressz | First of the Expressz lineup modules, Off-loading image and file/stream compression to (a) GPU(s). | Jason Giedymin at AcronymLabs | |
| EY Balancer | Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream. | Ry Dahl | Download |
| Fancy Indexes | Like the built-in autoindex module, but fancier. | Adrian Perez de Castro | Download |
| Form Input | This module reads HTTP POST request body and parse the arguments into nginx variables. | Calio, agentzh | Download |
| GeoIP | Country code lookups via the MaxMind GeoIP API. | SPIL GAMES | File:Nginx-geoip-0.2.tar.gz |
| GridFS | Nginx module for serving files from MongoDB's GridFS. | mdirolf | Download |
| Headers More | Set and clear input and output headers...more than "add"! | agentzh | Download |
| HTTP Healthcheck | Health check HTTP servers inside an upstream so you don't forward requests to bad hosts | Jack Lindamood | |
| HTTP Push | Turn Nginx into an adept long-polling HTTP Push (Comet) server. | Leo Ponomarev | Download |
| HTTP Redis | Redis support. | Sergey A. Osokin <osa@FreeBSD.ORG.ru> | Download |
| JavaScript | Embedding SpiderMonkey. Full port of Perl module and more. | Peter Leonov | Download |
| Iconv | A character conversion nginx module using libiconv. | Calio, agentzh | Download |
| Image Hacker | nginx module for on the fly image manipulation ala amazon's image server | aaronbatalion | Download |
| Log Request Speed | Log the time it took to process each request. | Mauro Stettler | |
| Lua | Embed the power of Lua into nginx | chaoslawful, agentzh | Download |
| Memc | An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. | agentzh | Download |
| Mogilefs | Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS. | Valery Kholodkov | Download |
| MP4 Streaming Lite | Will seek to a certain time within H.264/MP4 files when provided with a "start" parameter in the URL. | Jiang Hong | Download |
| NCache | Web cache system based on Nginx web server. Faster and more efficient than Squid. | shineyear,simon,genxi | Download (64-bit) |
| Nginx Development Kit | a module that is designed to extend the core functionality of the excellent Nginx webserver in a way that can be used as a basis of other Nginx modules. | Marcus Clyne | Download |
| Nginx Notice | Serve static file to POST requests. | Keith Rarick | Download |
| PHP Session Parser | Extract values that are stored in a serialized PHP session | Mauro Stettler | Download |
| Postgres | Upstream module that allows nginx to communicate directly with PostgreSQL database. | FRiCKLE | Download |
| RDS JSON | Help ngx_drizzle and other DBD modules emit JSON data. | agentzh | Download |
| RRD Graph | This module provides an HTTP interface to RRDtool's graphing facilities. | Evan Miller | File:Mod rrd graph-0.2.0.tar.gz |
| SCGI | SCGI implementation for Nginx. | Manlio Perillo | Download |
| Secure Download | Create expiring links. | Mauro Stettler, Szymon Modzelewski | File:Ngx http secure download.tar.gz |
| Set CConv | Conversion between Simplified Chinese and Traditional Chinese at rewrite phase | Liseen Wan | Download |
| Set Misc | Various set_xxx directives added to nginx's rewrite module (md5/sha1, sql/json quoting, and many more) | agentzh, Calio, shrimp | Download |
| SlowFS Cache | Module adding ability to cache static files. | FRiCKLE | Download |
| SR Cache | Transparent subrequest-based caching layout for arbitrary nginx locations (can be used with ngx_memc + memcached!) | agentzh | Download |
| Static etags | Nginx doesn't generate etags for static content. I'd like it to. Let's see if I can remember some C from college. | mikewest | Download |
| Strip | Whitespace remover. | Evan Miller | File:Mod strip-0.1.tar.gz |
| Substitutions | A filter module which can do both regular expression and fixed string substitutions on response bodies. | Weibin Yao | Download |
| Supervisord | Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. | FRiCKLE | Download |
| Upload | Parses multipart/form-data allowing arbitrary handling of uploaded files.
| Valery Kholodkov | Download |
| Upload Progress | Tracks and reports upload progress. | Brice Figureau | Download |
| Upstream Fair Balancer | Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. | Gregory Nosek | Download |
| Upstream Consistent Hash | Select backend based on Consistent hash ring. | Mauro Stettler | Download |
| Upstream Hash | Provides simple upstream load distribution by hashing a configurable variable. | Evan Miller | File:Nginx upstream hash-0.3.tar.gz |
| WSGI | WSGI implementation for Nginx. Allows easy deployment of Python applications. | Manlio Perillo | Download |
| XSS | Native support for cross-site scripting (XSS) in an nginx. | agentzh | Download |
| Zip | Assemble ZIP archives on the fly. | Evan Miller | File:Mod zip-1.1.5.tar.gz |
Third party patches
These patches must be applied to the Nginx source code tree. There's no guarantee these patches will apply to a particular version of Nginx.
As with third party modules, these patches are not officially supported. Your mileage may vary.
| Description | Author | Link |
|---|---|---|
| Set Real IP header to any variable. | Joaquin Cuenca Abela | File:Realip.patch |
| Redirect to static file based on its freshness. | DeepFryed | File:Redirect modified.patch | File:Redirect modified readme.txt |
| Revision for 0.7.61 | Victor Espigares | File:Redirect modified-0.7.61.patch |
| Log to syslog. | Marlon de Boer | File:Syslog.patch (0.6.35) | File:Syslog 0.6.35 sh is not bash.patch | Patch against 0.8.4 (works on 0.7.x and 0.8.x) |
| Get client cert due date | SunGod | File:Nginx-0.7.67.ssl cert date.patch.txt |
| Disable nginx's memory pool to help valgrind and other tools (for nginx C developers only) | shrimp, agentzh | Git repository for the patch |












