Page Discussion History


Revision as of 14:35, 7 January 2012 by Lax (Talk)


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 \

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.

See also the tools at the bottom of this page.

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

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

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 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) | Patch for version 0.8.49 with 'sh is not bash' fix | Syslog Patch for Nginx 0.8.54+
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
SSL Session tickets distributed via memcached Matthew Palmer Git repository for changes