FAQ

Page Discussion History

Difference between revisions of "3rdPartyModules"

m (Known modules)
(Add OpenSSL Version module from Apcera)
 
(71 intermediate revisions by 35 users not shown)
Line 44: Line 44:
 
| [http://github.com/rsms rsms]
 
| [http://github.com/rsms rsms]
 
| [http://github.com/rsms/afcgi Download]
 
| [http://github.com/rsms/afcgi Download]
 +
|-
 +
| [http://github.com/refractalize/nginx_mod_akamai_g2o Akamai G2O]
 +
| Restricts access to content to Akamai edge servers using G2O headers
 +
| [http://github.com/refractalize refractalize]
 +
| [http://github.com/refractalize/nginx_mod_akamai_g2o Download]
 
|-
 
|-
 
| [http://github.com/agentzh/array-var-nginx-module Array Var]
 
| [http://github.com/agentzh/array-var-nginx-module Array Var]
Line 49: Line 54:
 
| [http://agentzh.org agentzh]
 
| [http://agentzh.org agentzh]
 
| [http://github.com/agentzh/array-var-nginx-module/tags Download]
 
| [http://github.com/agentzh/array-var-nginx-module/tags Download]
 +
|-
 +
| [[AudioTrackForHLS|Audio Track for HLS]]
 +
| Generate audio track for HTTP Live Streaming (HLS) streams on the fly.
 +
| [http://flavioribeiro.com flavioribeiro]
 +
| [https://github.com/flavioribeiro/nginx-audio-track-for-hls-module/tags Download]
 
|-
 
|-
 
| [[HttpAuthDigestModule|Auth Digest]]
 
| [[HttpAuthDigestModule|Auth Digest]]
Line 75: Line 85:
 
| [http://github.com/anomalizer/ngx_aws_auth/ Download]
 
| [http://github.com/anomalizer/ngx_aws_auth/ Download]
 
|-
 
|-
| [https://github.com/taobao/nginx-backtrace Backtrace]
+
| [https://github.com/alibaba/nginx-backtrace Backtrace]
 
| A nginx module to dump backtrace case a worker process exits abnormally.
 
| A nginx module to dump backtrace case a worker process exits abnormally.
 
| [http://tengine.taobao.org/ Tengine]
 
| [http://tengine.taobao.org/ Tengine]
| [https://github.com/taobao/nginx-backtrace Download]
+
| [https://github.com/alibaba/nginx-backtrace Download]
 
|-
 
|-
 
| [http://labs.frickle.com/nginx_ngx_cache_purge/ Cache Purge]
 
| [http://labs.frickle.com/nginx_ngx_cache_purge/ Cache Purge]
Line 90: Line 100:
 
| [http://github.com/agentzh/chunkin-nginx-module/tags Download]
 
| [http://github.com/agentzh/chunkin-nginx-module/tags Download]
 
|-
 
|-
| [https://github.com/taobao/nginx-http-concat Concat]
+
| [[ClojureModule|Clojure]]
 +
| A module for embedding Clojure or Java programs, typically those Ring based handlers.
 +
| [http://github.com/xfeep xfeep]
 +
| [https://github.com/nginx-clojure/nginx-clojure Download]
 +
|-
 +
| [[HttpConcatModule|Concat]]
 
| This module can concatenate files in a given context: CSS and JS files usually
 
| This module can concatenate files in a given context: CSS and JS files usually
 
| [http://tengine.taobao.org/ Tengine]
 
| [http://tengine.taobao.org/ Tengine]
| [https://github.com/taobao/nginx-http-concat/tags Download]
+
| [https://github.com/alibaba/nginx-http-concat/ Download]
 
|-
 
|-
 
| [[HttpCircleGifModule|Circle GIF]]
 
| [[HttpCircleGifModule|Circle GIF]]
Line 148: Line 163:
 
| First of the Expressz lineup modules, Off-loading image and file/stream compression to (a) GPU(s).
 
| First of the Expressz lineup modules, Off-loading image and file/stream compression to (a) GPU(s).
 
| [http://www.acronymlabs.com/ Jason Giedymin at AcronymLabs]
 
| [http://www.acronymlabs.com/ Jason Giedymin at AcronymLabs]
 +
|-
 +
| [[Extended status module|Extended status module]]
 +
| Extended status module for nginx
 +
| 최영석(Choi Youngseok), 李金虎(Li Jinhu)
 +
| [http://github.com/zealot83/ngx_http_extended_status_module Download]
 
|-
 
|-
 
| [http://github.com/ry/nginx-ey-balancer/tree/master EY Balancer]
 
| [http://github.com/ry/nginx-ey-balancer/tree/master EY Balancer]
Line 156: Line 176:
 
| [http://wiki.nginx.org/NgxFancyIndex Fancy Indexes]
 
| [http://wiki.nginx.org/NgxFancyIndex Fancy Indexes]
 
| Like the built-in [[Modules#HTTP_Auto_Index|autoindex]] module, but fancier.
 
| Like the built-in [[Modules#HTTP_Auto_Index|autoindex]] module, but fancier.
| Adrian Perez de Castro
+
| [http://perezdecastro.org Adrian Perez de Castro]
| [http://gitorious.org/ngx-fancyindex/ngx-fancyindex Download]
+
| [http://github.com/aperezdc/ngx-fancyindex Download]
 
|-
 
|-
 
| [[HttpFormInputModule|Form Input]]
 
| [[HttpFormInputModule|Form Input]]
Line 164: Line 184:
 
| [http://github.com/calio/form-input-nginx-module/tags Download]
 
| [http://github.com/calio/form-input-nginx-module/tags Download]
 
|-
 
|-
| [https://github.com/taobao/nginx-http-footer-filter Foot filter]
+
| [[HttpFootFilterModule|Foot filter]]
 
| This module implements a body filter that adds a given string to the page footer.
 
| This module implements a body filter that adds a given string to the page footer.
 
| [http://tengine.taobao.org/ Tengine]
 
| [http://tengine.taobao.org/ Tengine]
| [https://github.com/taobao/nginx-http-footer-filter/tags Download]
+
| [https://github.com/alibaba/nginx-http-footer-filter/tags Download]
 +
|-
 +
| [https://github.com/flygoast/ngx_http_footer_if_filter/ Footer If Filter]
 +
| A nginx module to add given content to the end of the response according to the condition specified.
 +
| [https://github.com/flygoast/ Flygoast]
 +
| [https://github.com/flygoast/ngx_http_footer_if_filter/releases/ Download]
 
|-
 
|-
 
| [[Http3rdPartyGeoIPModule|GeoIP]]
 
| [[Http3rdPartyGeoIPModule|GeoIP]]
Line 173: Line 198:
 
| [http://www.spilgames.com/ SPIL GAMES]
 
| [http://www.spilgames.com/ SPIL GAMES]
 
| [[File:Nginx-geoip-0.2.tar.gz|Download]]
 
| [[File:Nginx-geoip-0.2.tar.gz|Download]]
 +
|-
 +
| [http://github.com/leev/ngx_http_geoip2_module GeoIP2]
 +
| City and country code lookups via the [http://www.maxmind.com/ MaxMind] GeoIP2 API.
 +
| [http://github.com/leev Lee Valentine]
 +
| [http://github.com/leev/ngx_http_geoip2_module Download]
 
|-
 
|-
 
| [http://github.com/mdirolf/nginx-gridfs GridFS]
 
| [http://github.com/mdirolf/nginx-gridfs GridFS]
Line 203: Line 233:
 
| [https://github.com/wandenberg Wandenberg Peixoto]
 
| [https://github.com/wandenberg Wandenberg Peixoto]
 
| [https://github.com/wandenberg/nginx-push-stream-module/downloads Download]
 
| [https://github.com/wandenberg/nginx-push-stream-module/downloads Download]
 +
|-
 +
| [[HttpRdnsModule|HTTP rDNS]]
 +
| Makes a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname.
 +
| [https://github.com/distorhead Timofey Kirillov]
 +
| [https://github.com/flant/nginx-http-rdns Download]
 
|-
 
|-
 
| [[HttpRedis|HTTP Redis]]
 
| [[HttpRedis|HTTP Redis]]
Line 218: Line 253:
 
| [http://vimedia.org/ Calio], [http://agentzh.org/ agentzh]
 
| [http://vimedia.org/ Calio], [http://agentzh.org/ agentzh]
 
| [http://github.com/calio/iconv-nginx-module/tags Download]
 
| [http://github.com/calio/iconv-nginx-module/tags Download]
 +
|-
 +
| [https://github.com/flygoast/ngx_http_internal_redirect/ Internal Redirect]
 +
| A nginx module to make an internal redirect to the uri specified according to the condition specified.
 +
| [https://github.com/flygoast/ Flygoast]
 +
| [https://github.com/flygoast/ngx_http_internal_redirect/releases/ Download]
 +
|-
 +
| [https://github.com/chrislim2888/ip2location-nginx IP2Location]
 +
| Enables the user to identify the country code and country name by IP address using IP2Location database.
 +
| [https://www.ip2location.com IP2Location]
 +
| [https://github.com/chrislim2888/ip2location-nginx Download]
 +
|-
 +
| [https://github.com/cfsego/nginx-limit-upstream/ Limit Upstream Connection]
 +
| Limit the maximum of connections to each server in a upstream, the outnumbered connections will be delayed or dropped.
 +
| [https://github.com/cfsego cfsego]
 +
| [https://github.com/cfsego/nginx-limit-upstream/ Download]
 +
|-
 +
| [https://github.com/cfsego/limit_upload_rate/ Limit Upload Rate]
 +
| Limit the transmission rate of request body from a client
 +
| [https://github.com/cfsego cfsego]
 +
| [https://github.com/cfsego/limit_upload_rate/ Download]
 +
|-
 +
| [https://github.com/cfsego/ngx_log_if/ Log If]
 +
| Log the requests only when given conditions are met
 +
| [https://github.com/cfsego cfsego]
 +
| [https://github.com/cfsego/ngx_log_if/ Download]
 
|-
 
|-
 
| [[HttpLogRequestSpeed|Log Request Speed]]
 
| [[HttpLogRequestSpeed|Log Request Speed]]
Line 238: Line 298:
 
| [http://alacner.com alacner]
 
| [http://alacner.com alacner]
 
| [https://github.com/alacner/nginx_lua_module/tarball/master Download]
 
| [https://github.com/alacner/nginx_lua_module/tarball/master Download]
 +
|-
 +
| [http://github.com/kainswor/nginx_md5_filter MD5 Filter]
 +
| Simple output filter to return the MD5 sum of the content that would've otherwise been served
 +
| [http://github.com/kainswor Keith Ainsworth]
 +
| [http://github.com/kainswor/nginx_md5_filter/tarball/master Download]
 
|-
 
|-
 
| [[HttpMemcModule|Memc]]
 
| [[HttpMemcModule|Memc]]
Line 243: Line 308:
 
| [http://agentzh.org/ agentzh]
 
| [http://agentzh.org/ agentzh]
 
| [http://github.com/agentzh/memc-nginx-module/tags Download]
 
| [http://github.com/agentzh/memc-nginx-module/tags Download]
 +
|-
 +
| [http://www.modsecurity.org/projects/modsecurity/nginx/index.html ModSecurity]
 +
| Web application firewall.
 +
| Alan Silva, Trustwave
 +
|
 
|-
 
|-
 
| [http://www.grid.net.ru/nginx/mogilefs.en.html Mogilefs]
 
| [http://www.grid.net.ru/nginx/mogilefs.en.html Mogilefs]
Line 259: Line 329:
 
| [[MP4StreamingLite|Download]]
 
| [[MP4StreamingLite|Download]]
 
|-
 
|-
| [http://naxsi.googlecode.com Naxsi]
+
| [https://github.com/nbs-system/naxsi Naxsi]
 
| Web Application Firewall for nginx.
 
| Web Application Firewall for nginx.
 
| Thibault Koechlin
 
| Thibault Koechlin
| [http://naxsi.googlecode.com Download]
+
| [https://github.com/nbs-system/naxsi Download]
 
|-
 
|-
 
| [http://xph.us/software/nginx-notice/ Notice]
 
| [http://xph.us/software/nginx-notice/ Notice]
Line 268: Line 338:
 
| Keith Rarick
 
| Keith Rarick
 
| [http://xph.us/software/nginx-notice/nginx-notice-2.tar.gz Download]
 
| [http://xph.us/software/nginx-notice/nginx-notice-2.tar.gz Download]
 +
|-
 +
| [https://github.com/kyprizel/nginx_ocsp_proxy-module OCSP proxy]
 +
| Nginx OCSP processing module designed for response caching.
 +
| kyprizel
 +
| [https://github.com/kyprizel/nginx_ocsp_proxy-module Download]
 +
|-
 +
| [https://github.com/apcera/nginx-openssl-version OpenSSL Version]
 +
| OpenSSL minimum version constraints in configuration
 +
| [http://www.apcera.com/ Apcera]
 +
| [https://github.com/apcera/nginx-openssl-version/releases Download]
 
|-
 
|-
 
| [http://wiki.nginx.org/HttpOwnerMatchModule OwnerMatch]
 
| [http://wiki.nginx.org/HttpOwnerMatchModule OwnerMatch]
Line 273: Line 353:
 
| [https://heiher.info Heiher]
 
| [https://heiher.info Heiher]
 
| [http://heiher.info/sftp/files/Nginx-0.8.54-Add-OwnerMatch-module.patch Download]
 
| [http://heiher.info/sftp/files/Nginx-0.8.54-Add-OwnerMatch-module.patch Download]
 +
|-
 +
| [http://ngxpagespeed.com/ngx_pagespeed_example/ PageSpeed]
 +
| This module rewrites web pages and associated assets to reduce latency and bandwidth: image optimization, asset minification and compression, HTML rewriting for better visual rendering performance, cache extension, and more.
 +
| [https://developers.google.com/speed/pagespeed/ Google]
 +
| [https://github.com/pagespeed/ngx_pagespeed Download]
 
|-
 
|-
 
| [http://mauro-stettler.blogspot.com/2011/08/pecl-memcache-standard-loadbalancer-for.html PHP-Memache Standard Hash]
 
| [http://mauro-stettler.blogspot.com/2011/08/pecl-memcache-standard-loadbalancer-for.html PHP-Memache Standard Hash]
Line 307: Line 392:
 
| Upstream module for the full [http://redis.io/ Redis] 2.0 protocol
 
| Upstream module for the full [http://redis.io/ Redis] 2.0 protocol
 
| [http://agentzh.org/ agentzh]
 
| [http://agentzh.org/ agentzh]
| [http://github.com/agentzh/redis2-nginx-module/tags Download]
+
| [https://github.com/agentzh/redis2-nginx-module/tags Download]
 +
|-
 +
| [https://github.com/agentzh/replace-filter-nginx-module#name Replace Filter]
 +
| Output filter module for doing streaming regular expression substitutions in response bodies (ngx_replace_filter)
 +
| [http://agentzh.org/ agentzh]
 +
| [https://github.com/agentzh/replace-filter-nginx-module/tags Download]
 
|-
 
|-
 
| [https://github.com/yuri-gushin/Roboo Roboo]
 
| [https://github.com/yuri-gushin/Roboo Roboo]
Line 318: Line 408:
 
| [http://evanmiller.org Evan Miller]
 
| [http://evanmiller.org Evan Miller]
 
| [http://github.com/evanmiller/mod_rrd_graph Download]
 
| [http://github.com/evanmiller/mod_rrd_graph Download]
 +
|-
 +
| [https://github.com/arut/nginx-rtmp-module RTMP]
 +
| RTMP protocol support. Live streaming and video on demand.
 +
| [https://github.com/arut Roman Arutyunyan]
 +
| [https://github.com/arut/nginx-rtmp-module Download]
 +
|-
 +
| [https://github.com/mneudert/sass-nginx-module Sass]
 +
| Compiles [http://sass-lang.com/ sass] files in nginx before sending the response.
 +
| [https://github.com/mneudert Marc Neudert]
 +
| [https://github.com/mneudert/sass-nginx-module Download]
 
|-
 
|-
 
| [[HttpSecureDownload|Secure Download]]
 
| [[HttpSecureDownload|Secure Download]]
Line 323: Line 423:
 
| [https://github.com/replay Mauro Stettler], Szymon Modzelewski
 
| [https://github.com/replay Mauro Stettler], Szymon Modzelewski
 
| [http://github.com/replay/ngx_http_secure_download Download]
 
| [http://github.com/replay/ngx_http_secure_download Download]
 +
|-
 +
| [https://github.com/wandenberg/nginx-selective-cache-purge-module/ Selective Cache Purge]
 +
| Module similar to Cache Purge from FRiCKLE, and based on it, to allow purge cache using GLOB expressions like *.jpg or /test* using Redis as a cache keys database.
 +
| [https://github.com/wandenberg Wandenberg Peixoto]
 +
| [https://github.com/wandenberg/nginx-selective-cache-purge-module/downloads Download]
 
|-
 
|-
 
| [http://github.com/liseen/set-cconv-nginx-module/ Set CConv]
 
| [http://github.com/liseen/set-cconv-nginx-module/ Set CConv]
Line 349: Line 454:
 
| [http://code.google.com/p/nginx-sflow-module/downloads/list Download]
 
| [http://code.google.com/p/nginx-sflow-module/downloads/list Download]
 
|-
 
|-
| [https://github.com/taobao/nginx-http-slice Slice]
+
| [[HttpSliceModule|Slice]]
 
| Nginx module for serving a file in slices (reverse byte-range).
 
| Nginx module for serving a file in slices (reverse byte-range).
 
| [http://tengine.taobao.org Tengine]
 
| [http://tengine.taobao.org Tengine]
| [https://github.com/taobao/nginx-http-slice/tags Download]
+
| [https://github.com/alibaba/nginx-http-slice/tags Download]
 
|-
 
|-
 
| [http://labs.frickle.com/nginx_ngx_slowfs_cache/ SlowFS Cache]
 
| [http://labs.frickle.com/nginx_ngx_slowfs_cache/ SlowFS Cache]
Line 359: Line 464:
 
| [http://labs.frickle.com/nginx_ngx_slowfs_cache/ Download]
 
| [http://labs.frickle.com/nginx_ngx_slowfs_cache/ Download]
 
|-
 
|-
| [https://github.com/muhgatus/spnego-http-auth-nginx-module SPNEGO]
+
| [https://github.com/cubicdaiya/ngx_small_light SmallLight]
 +
| Dynamic Image Transformation Module For nginx
 +
| [https://github.com/cubicdaiya cubicdaiya]
 +
| [https://github.com/cubicdaiya/ngx_small_light/tags Download]
 +
|-
 +
| [https://github.com/reeteshranjan/sphinx2-nginx-module Sphinx]
 +
| Nginx upstream module for Sphinx 2.x
 +
| [https://github.com/reeteshranjan Reetesh Ranjan]
 +
| [https://github.com/reeteshranjan/sphinx2-nginx-module/tags Download]
 +
|-
 +
| [https://github.com/stnoonan/spnego-http-auth-nginx-module SPNEGO]
 
| Support for SPNEGO/gssapi in nginx.
 
| Support for SPNEGO/gssapi in nginx.
| [https://github.com/mike503 mike503]/[https://github.com/muhgatus/ muhgatus]
+
| [https://github.com/stnoonan stnoonan]/[https://github.com/mike503 mike503]/[https://github.com/muhgatus/ muhgatus]
| [https://github.com/muhgatus/spnego-http-auth-nginx-module Download]
+
| [https://github.com/stnoonan/spnego-http-auth-nginx-module Download]
 
|-
 
|-
 
| [http://wiki.nginx.org/HttpSRCacheModule SR Cache]
 
| [http://wiki.nginx.org/HttpSRCacheModule SR Cache]
Line 379: Line 494:
 
| [https://github.com/zebrafishlabs/nginx-statsd Download]
 
| [https://github.com/zebrafishlabs/nginx-statsd Download]
 
|-
 
|-
| [http://code.google.com/p/nginx-sticky-module/ Sticky upstream]
+
| [https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng Sticky upstream]
| A nginx module to add an upstream server persistance using cookies.
+
| A nginx module to add an upstream server persistance using cookies, extended version w/ httponly/secure - cookies
| [http://code.google.com/u/jerome@loyet.net/ Jérôme Loyet]
+
| [https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng Jérôme Loyet et al]
| [http://code.google.com/p/nginx-sticky-module/downloads/list Download]
+
| [https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz Download]
 
|-
 
|-
 
| [[HttpStripModule|Strip]]
 
| [[HttpStripModule|Strip]]
Line 392: Line 507:
 
| A filter module which can do both regular expression and fixed string substitutions on response bodies.
 
| A filter module which can do both regular expression and fixed string substitutions on response bodies.
 
| [http://yaoweibin.cn Weibin Yao]
 
| [http://yaoweibin.cn Weibin Yao]
| [http://code.google.com/p/substitutions4nginx/ Download]
+
| [https://github.com/yaoweibin/ngx_http_substitutions_filter_module/tarball/master Download]
 +
|-
 +
| [https://github.com/reeteshranjan/summarizer-nginx-module Summarizer]
 +
| Nginx upstream module for Summarizer 1.0, the text summary service using a highly efficient version of popular open-text-summarizer (or OTS)
 +
| [https://github.com/reeteshranjan Reetesh Ranjan]
 +
| [https://github.com/reeteshranjan/summarizer-nginx-module/tags Download]
 
|-
 
|-
 
| [http://labs.frickle.com/nginx_ngx_supervisord/ Supervisord]
 
| [http://labs.frickle.com/nginx_ngx_supervisord/ Supervisord]
Line 399: Line 519:
 
| [http://labs.frickle.com/nginx_ngx_supervisord/ Download]
 
| [http://labs.frickle.com/nginx_ngx_supervisord/ Download]
 
|-
 
|-
| [http://www.grid.net.ru/nginx/upload.en.html Upload]
+
| [https://github.com/alibaba/nginx-http-sysguard SysGuard]
| Parses <code>multipart/form-data</code> allowing arbitrary handling of uploaded files.
+
| A module to protect servers when system load or memory use goes too high.
 +
| [http://tengine.taobao.org/ Tengine]
 +
| [https://github.com/alibaba/nginx-http-sysguard Download]
 +
|-
 +
| [https://github.com/Qihoo360/ngx_http_subrange_module Subrange]
 +
| Split one big HTTP/Range request to multiple subrange requesets.
 +
| [https://github.com/Qihoo360 Qihoo360, renenglish]
 +
| [https://github.com/Qihoo360/ngx_http_subrange_module Download]
 +
|-
 +
| [https://github.com/yaoweibin/nginx_tcp_proxy_module TCP Proxy]
 +
| A module to protect servers when system load or memory use goes too high.
 +
| Weibin Yao
 +
| [https://github.com/yaoweibin/nginx_tcp_proxy_module Download]
 +
|-
 +
| [https://kyprizel.github.io/testcookie-nginx-module/ TestCookie module]
 +
| Simple robot (DDoS) mitigation module using cookie based challenge/response technique.
 +
| kyprizel
 +
| [https://github.com/kyprizel/testcookie-nginx-module Download]
 +
|-
 +
| [https://github.com/flygoast/ngx_http_types_filter Types Filter]
 +
| A filter module which change the `Content-Type` output header depending on an extension variable according to a optional condition specified in the 'if' clause.
 +
| [https://github.com/flygoast Flygoast]
 +
| [https://github.com/flygoast/ngx_http_types_filter/releases/ Download]
 +
|-
 +
| [[NgxUnZip|UnZip]]
 +
| serve file directly from the archives (unzip on the fly).
 +
| [https://smatly.com Bartek Jarocki]
 +
| [https://github.com/youzee/nginx-unzip-module Download]
 +
|-
 +
| [[HttpUploadModule|Upload]]
 +
| Adds support for TCP proxying.
 
| Valery Kholodkov
 
| Valery Kholodkov
 
| [http://www.grid.net.ru/nginx/upload.en.html#download Download]
 
| [http://www.grid.net.ru/nginx/upload.en.html#download Download]
Line 413: Line 563:
 
| [https://github.com/replay Mauro Stettler]
 
| [https://github.com/replay Mauro Stettler]
 
| [http://github.com/replay/ngx_http_consistent_hash Download]
 
| [http://github.com/replay/ngx_http_consistent_hash Download]
 +
|-
 +
| [[HttpUpstreamJdomainModule|Upstream Domain Resolve]]
 +
| An asynchronous domain name resolve module for nginx upstream.
 +
| wdaike
 +
| [http://github.com/wdaike/ngx_upstream_jdomain/ Download]
 
|-
 
|-
 
| [[HttpUpstreamFairModule|Upstream Fair Balancer]]
 
| [[HttpUpstreamFairModule|Upstream Fair Balancer]]
Line 423: Line 578:
 
| [http://evanmiller.org Evan Miller]
 
| [http://evanmiller.org Evan Miller]
 
| [http://github.com/evanmiller/nginx_upstream_hash/ Download]
 
| [http://github.com/evanmiller/nginx_upstream_hash/ Download]
 +
|-
 +
| [[HttpUpstreamKetamaCHashModule|Upstream Ketama CHash]]
 +
| Provides upstream load distribution by hashing a configurable variable using ketama consistent hashing algorithm.
 +
| [https://github.com/flygoast Flygoast]
 +
| [https://github.com/flygoast/ngx_http_upstream_ketama_chash/releases/ Download]
 
|-
 
|-
 
| [[HttpUpstreamKeepaliveModule|Upstream Keepalive]]
 
| [[HttpUpstreamKeepaliveModule|Upstream Keepalive]]
Line 429: Line 589:
 
| [http://mdounin.ru/hg/ngx_http_upstream_keepalive/ Download]
 
| [http://mdounin.ru/hg/ngx_http_upstream_keepalive/ Download]
 
|-
 
|-
| [https://github.com/taobao/nginx-http-user-agent User-agent]
+
| [https://github.com/yzprofile/ngx_http_dyups_module Dynamic Upstream]
| A more powerful module than the Native [http://wiki.nginx.org/HttpBrowserModule BrowserModule]
+
| Update upstreams' config by restful interface.
 +
| [https://github.com/yzprofile yzprofile]
 +
| [https://github.com/yzprofile/ngx_http_dyups_module Download]
 +
|-
 +
| [[HttpUserAgentModule|User Agent]]
 +
| A more powerful module than the native [http://wiki.nginx.org/HttpBrowserModule BrowserModule]
 
| [http://tengine.taobao.org/ Tengine]
 
| [http://tengine.taobao.org/ Tengine]
| [https://github.com/taobao/nginx-http-user-agent Download]
+
| [https://github.com/alibaba/nginx-http-user-agent Download]
 
|-
 
|-
 
| [https://github.com/wandenberg/nginx-video-thumbextractor-module Video Thumb Extractor]
 
| [https://github.com/wandenberg/nginx-video-thumbextractor-module Video Thumb Extractor]
Line 453: Line 618:
 
| [http://www.evanmiller.org/ Evan Miller]
 
| [http://www.evanmiller.org/ Evan Miller]
 
| [http://github.com/evanmiller/mod_zip/ Download]
 
| [http://github.com/evanmiller/mod_zip/ Download]
|-
 
| [[Extended status module|Extended status module]]
 
| Extended status module for nginx
 
| 최영석(Choi Youngseok), 李金虎(Li Jinhu)
 
| [http://github.com/zealot83/ngx_http_extended_status_module Download]
 
 
|-
 
|-
 
|}
 
|}
Line 477: Line 637:
 
| [http://simpl.it Marcus Clyne]
 
| [http://simpl.it Marcus Clyne]
 
| [http://github.com/simpl/ngx_devel_kit/downloads Download]
 
| [http://github.com/simpl/ngx_devel_kit/downloads Download]
 +
|-
 +
| [https://github.com/yzprofile/ngx_sync_msg_module Nginx Sync Messages API]
 +
| This module provides a mechanism to sync messages between workers for other modules.
 +
| [https://github.com/yzprofile yzprofile]
 +
| [https://github.com/yzprofile/ngx_sync_msg_module Download]
 
|}
 
|}
  
Line 500: Line 665:
 
| [http://hezmatt.org/~mpalmer/blog/2011/07/24/followup-to-ssl-session-caching-with-nginx.html Matthew Palmer]
 
| [http://hezmatt.org/~mpalmer/blog/2011/07/24/followup-to-ssl-session-caching-with-nginx.html Matthew Palmer]
 
| [https://github.com/mpalmer/nginx Git repository for changes]
 
| [https://github.com/mpalmer/nginx Git repository for changes]
 +
|-
 +
| output client certificate expiration time
 +
| SunGod
 +
| [[File:Nginx-0.7.67.ssl_cert_date.patch.txt|Nginx-0.7.67.ssl_cert_date.patch.txt]]
 +
|-
 +
| Support for BCrypt hashes in auth_basic_user_file
 +
| [http://github.com/z38/ z38]
 +
| [https://gist.github.com/z38/5227024 Patch for version 1.3.14]
 +
|}
 +
 +
= Tools for Migration =
 +
{| class="modules-index-table"
 +
! Name
 +
! Description
 +
! Author
 +
! Link
 +
|-
 +
| [https://github.com/nhnc-nginx/apache2nginx/wiki/Welcome-to-Apache2Nginx Apache2Nginx]
 +
| A command line tool, which can be used to generate nginx config file according to given config files of Apache
 +
| [mailto:mailtolide@sina.com 李德(Reed), 李金虎(Li Jinhu), 최영석(Choi Youngseok)]
 +
| [https://github.com/nhnc-nginx/apache2nginx/wiki/Welcome-to-Apache2Nginx Download]
 
|}
 
|}
  
 
= References =
 
= References =
 
* [http://github.com/search?type=Repositories&language=c&q=nginx&repo=&langOverride=&x=13&y=17&start_value=1 github search]
 
* [http://github.com/search?type=Repositories&language=c&q=nginx&repo=&langOverride=&x=13&y=17&start_value=1 github search]
 +
* Aiguarentacar [http://www.aiguarentacar.it]

Latest revision as of 17:32, 3 June 2014

Contents

Third party modules

These modules are not officially supported and may not be compatible across versions of Nginx. 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.

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
Akamai G2O Restricts access to content to Akamai edge servers using G2O headers refractalize Download
Array Var Add support for array variables to nginx config files agentzh Download
Audio Track for HLS Generate audio track for HTTP Live Streaming (HLS) streams on the fly. flavioribeiro 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
Backtrace A nginx module to dump backtrace case a worker process exits abnormally. Tengine 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
Clojure A module for embedding Clojure or Java programs, typically those Ring based handlers. xfeep Download
Concat This module can concatenate files in a given context: CSS and JS files usually Tengine 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
Enhanced Memcached Repackaging of the standard memcached module to add features : custom http headers, hash keys, store entries in memcached with post http request, flush, key namespace, send 304 when no modification Bertrand Paquet 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
Extended status module Extended status module for nginx 최영석(Choi Youngseok), 李金虎(Li Jinhu) Download
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
Foot filter This module implements a body filter that adds a given string to the page footer. Tengine Download
Footer If Filter A nginx module to add given content to the end of the response according to the condition specified. Flygoast Download
GeoIP Country code lookups via the MaxMind GeoIP API. SPIL GAMES File:Nginx-geoip-0.2.tar.gz
GeoIP2 City and country code lookups via the MaxMind GeoIP2 API. Lee Valentine Download
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 rDNS Makes a reverse DNS (rDNS) lookup for incoming connection and provides simple access control of incoming hostname. Timofey Kirillov 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
Internal Redirect A nginx module to make an internal redirect to the uri specified according to the condition specified. Flygoast Download
IP2Location Enables the user to identify the country code and country name by IP address using IP2Location database. IP2Location Download
Limit Upstream Connection Limit the maximum of connections to each server in a upstream, the outnumbered connections will be delayed or dropped. cfsego Download
Limit Upload Rate Limit the transmission rate of request body from a client cfsego Download
Log If Log the requests only when given conditions are met cfsego 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
MD5 Filter Simple output filter to return the MD5 sum of the content that would've otherwise been served Keith Ainsworth Download
Memc An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands. agentzh Download
ModSecurity Web application firewall. Alan Silva, Trustwave
Mogilefs Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS. Valery Kholodkov Download
Mongo Upstream module that allows nginx to communicate directly with MongoDB database. FRiCKLE & Simpl.it 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
OCSP proxy Nginx OCSP processing module designed for response caching. kyprizel Download
OpenSSL Version OpenSSL minimum version constraints in configuration Apcera Download
OwnerMatch This module provides a simple file owner-based access control. Heiher Download
PageSpeed This module rewrites web pages and associated assets to reduce latency and bandwidth: image optimization, asset minification and compression, HTML rewriting for better visual rendering performance, cache extension, and more. Google 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
Replace Filter Output filter module for doing streaming regular expression substitutions in response bodies (ngx_replace_filter) 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
RTMP RTMP protocol support. Live streaming and video on demand. Roman Arutyunyan Download
Sass Compiles sass files in nginx before sending the response. Marc Neudert Download
Secure Download Create expiring links. Mauro Stettler, Szymon Modzelewski Download
Selective Cache Purge Module similar to Cache Purge from FRiCKLE, and based on it, to allow purge cache using GLOB expressions like *.jpg or /test* using Redis as a cache keys database. Wandenberg Peixoto 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
Slice Nginx module for serving a file in slices (reverse byte-range). Tengine Download
SlowFS Cache Module adding ability to cache static files. FRiCKLE Download
SmallLight Dynamic Image Transformation Module For nginx cubicdaiya Download
Sphinx Nginx upstream module for Sphinx 2.x Reetesh Ranjan Download
SPNEGO Support for SPNEGO/gssapi in nginx. stnoonan/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, extended version w/ httponly/secure - cookies Jérôme Loyet et al 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
Summarizer Nginx upstream module for Summarizer 1.0, the text summary service using a highly efficient version of popular open-text-summarizer (or OTS) Reetesh Ranjan Download
Supervisord Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand. FRiCKLE Download
SysGuard A module to protect servers when system load or memory use goes too high. Tengine Download
Subrange Split one big HTTP/Range request to multiple subrange requesets. Qihoo360, renenglish Download
TCP Proxy A module to protect servers when system load or memory use goes too high. Weibin Yao Download
TestCookie module Simple robot (DDoS) mitigation module using cookie based challenge/response technique. kyprizel Download
Types Filter A filter module which change the `Content-Type` output header depending on an extension variable according to a optional condition specified in the 'if' clause. Flygoast Download
UnZip serve file directly from the archives (unzip on the fly). Bartek Jarocki Download
Upload Adds support for TCP proxying. 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 Domain Resolve An asynchronous domain name resolve module for nginx upstream. wdaike 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 Ketama CHash Provides upstream load distribution by hashing a configurable variable using ketama consistent hashing algorithm. Flygoast Download
Upstream Keepalive Provides keep-alive connections to memcached upstreams. Maxim Dounin Download
Dynamic Upstream Update upstreams' config by restful interface. yzprofile Download
User Agent A more powerful module than the native BrowserModule Tengine 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
Nginx Sync Messages API This module provides a mechanism to sync messages between workers for other modules. yzprofile 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
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
output client certificate expiration time SunGod File:Nginx-0.7.67.ssl cert date.patch.txt
Support for BCrypt hashes in auth_basic_user_file z38 Patch for version 1.3.14

Tools for Migration

Name Description Author Link
Apache2Nginx A command line tool, which can be used to generate nginx config file according to given config files of Apache 李德(Reed), 李金虎(Li Jinhu), 최영석(Choi Youngseok) Download

References