3rdPartyModules
Contents |
[edit] Third party modules
These modules are not officially supported. Nevertheless many of them may prove useful to many people. Enjoy at your own risk.
[edit] 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.
[edit] 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.
See also the tools at the bottom of this page.
[edit] 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 Digest | HTTP Digest Authentication. | Christian Swinehart | Download |
| Auth PAM | HTTP Basic Authentication using PAM. | Sergio Talens-Oliag | Download |
| Auth Request | Allows authorization based on subrequest result. | Maxim Dounin | Download |
| Auto Lib | Reuse pre-compiled/installed versions of OpenSSL, PCRE and Zlib without re-compiling them each time Nginx is compiled | Marcus Clyne | Download |
| AWS auth | Generate security headers for GET requests to Amazon S3. | Arvind Jayaprakash | 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 | Download |
| CT++ | Embeds CT++ (or CTPP2) VM, the execution part of a high-performance template engine system. | Valentin V. Bartenev | Download |
| Development Kit | An extension to the core functionality of Nginx which can be used as a basis for other modules | Marcus Clyne | Download |
| Drizzle | Make nginx talk directly to mysql and drizzle by libdrizzle. | chaoslawful, agentzh, Piotr Sikora | 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 |
| Eval (agentzh's fork) | Enhanced ngx_eval that can capture arbitrary subrequest's responses into nginx variables (can even with output filters enabled) | agentzh | 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 Accounting | Realtime netflow and status code monitor solution for nginx, need less memory and cpu than realtime log analyzing. Useful for http traffic accounting based on nginx config logic ( per-location-traffic or per-server-traffic ). | Liu Lantao | Download |
| HTTP Push | Turn Nginx into an adept long-polling HTTP Push (Comet) server. | Leo Ponomarev | Download |
| HTTP Push Stream | Turn Nginx into an adept stream HTTP Push (Comet) server. | Wandenberg Peixoto | 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 encoding conversion nginx module using libiconv. | Calio, agentzh | Download |
| Log Request Speed | Log the time it took to process each request. | Mauro Stettler | |
| Lower Upper Case | Simple module to upper-/lowercase a string in the Nginx config | Mauro Stettler | Download |
| Lua | Embed the power of Lua into nginx | chaoslawful, agentzh | Download |
| Luafile | Embed the power of Lua into nginx very easy. | alacner | 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 |
| Naxsi | Web Application Firewall for nginx. | Thibault Koechlin | Download |
| Notice | Serve static file to POST requests. | Keith Rarick | Download |
| OwnerMatch | This module provides a simple file owner-based access control. | Heiher | Download |
| PHP-Memache Standard Hash | This is a loadbalancer that imitates the PHP-Memcache standard hash's behaviour | Mauro Stettler | 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 |
| Pubcookie | Adds Pubcookie-based cross-site authentication method to Nginx. | Vitki | Download |
| RDS CSV | Help ngx_drizzle, ngx_postgres, and others emit Comma-Separated Values (CSV). | agentzh | Download |
| RDS JSON | Help ngx_drizzle, ngx_postgres, and others emit JSON data. | agentzh | Download |
| Redis2 | Upstream module for the full Redis 2.0 protocol | agentzh | Download |
| Roboo | HTTP Robot mitigator utilizing advanced non-interactive HTTP challenge/response mechanisms | Yuri Gushin, Alex Behar | Download |
| RRD Graph | This module provides an HTTP interface to RRDtool's graphing facilities. | Evan Miller | Download |
| SCGI | SCGI implementation for Nginx. | Manlio Perillo | Download |
| Secure Download | Create expiring links. | Mauro Stettler, Szymon Modzelewski | Download |
| Set CConv | Conversion between Simplified Chinese and Traditional Chinese at rewrite phase | Liseen Wan | Download |
| Set Hash | Set a variable to a variety of hash functions (upper/lowercase), including MD5, SHA1 and Murmurhash 2 | Marcus Clyne | Download |
| Set Lang | Set a variable to indicate the language based on a variety of sources including cookies, GET/POST variables, Accept Language header and more | Marcus Clyne | 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 |
| sFlow | Operational performance monitoring with standard sFlow protocol | Neil McKee | Download |
| SlowFS Cache | Module adding ability to cache static files. | FRiCKLE | Download |
| SPNEGO | Support for SPNEGO/gssapi in nginx. | mike503/muhgatus | 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 |
| Statsd | Adds the ability for Nginx to interacting with statsd. | zebrafishlabs | Download |
| Sticky upstream | A nginx module to add an upstream server persistance using cookies. | Jérôme Loyet | 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 Consistent Hash | Select backend based on Consistent hash ring. | Mauro Stettler | Download |
| Upstream Fair Balancer | Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin. | Gregory Nosek | Download |
| Upstream Hash | Provides simple upstream load distribution by hashing a configurable variable. | Evan Miller | Download |
| Upstream Keepalive | Provides keep-alive connections to memcached upstreams. | Maxim Dounin | Download |
| Video Thumb Extractor | Nginx module to extract thumbs from a video file. | Wandenberg Peixoto | Download |
| 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 | Download |
[edit] Tools for module developers
| Name | Description | Author | Link |
|---|---|---|---|
| Nginx Auto Lib Core | Reusable file for module developers to include with their modules to easily and consistently handle including external libraries; used in the Auto Lib module and included in the Nginx Development Kit | Marcus Clyne | Download |
| Nginx Development Kit | An extension to the core functionality of Nginx which can be used as a basis for other modules | Marcus Clyne | Download |
[edit] 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 |
|---|---|---|
| Log to syslog. | Marlon de Boer | Patch for version 0.8.49 with 'sh is not bash' fix | Syslog Patch for Nginx 0.8.54+ |
| Disable nginx's memory pool to help valgrind and other tools (for nginx C developers only) | shrimp, agentzh | Git repository for the patch |
| SSL Session tickets distributed via memcached | Matthew Palmer | Git repository for changes |









