Accept cookies for analytics, social media, and advertising, or learn more and adjust your preferences. These cookies are on by default for visitors outside the UK and EEA. Privacy Notice.
Below is a list of third-party modules for NGINX and NGINX Plus, created and maintained by members of the NGINX community. NGINX, Inc. does not provide support for these modules, so please reach out to each individual module developer for issues or help. For information on how to contribute a module to this list, see https://github.com/nginxinc/nginx-wiki.
For a list of officially supported modules from NGINX, Inc. and NGINX Plus Certified Modules from our partners, see https://www.nginx.com/products/nginx/modules.
For information on how to contribute a module to this list, see https://github.com/nginxinc/nginx-wiki.
Module | Description | Repository |
---|---|---|
Accept Language Module | Accept-Language header parser | giom/nginx_accept_language_module |
AFCGI | Asynchronous/multiplexing FastCGI for NGINX | rsms/afcgi |
Akamai G2O | Restricts access to content to Akamai edge servers using G2O headers | kaltura/nginx_mod_akamai_g2o |
Array Var | Add support for array variables to NGINX config files | openresty/array-var-nginx-module |
Audio Track for HTTP Live Streaming | Generate audio track for HTTP Live Streaming (HLS) streams on the fly | flavioribeiro/nginx-audio-track-for-hls-module |
HTTP Digest Authentication | HTTP Digest Authentication | atomx/nginx-http-auth-digest |
PAM Authentication | HTTP Basic Authentication using PAM | sto/ngx_http_auth_pam_module |
Request Authentication | Allows authorization based on subrequest result | ngx_http_auth_request_module |
Auto Lib | Reuse pre-compiled/installed versions of OpenSSL, PCRE and Zlib | simplresty/ngx_auto_lib |
AWS Auth | Generate security headers for GET requests to Amazon S3 | anomalizer/ngx_aws_auth |
Backtrace | A NGINX module to dump backtrace case a worker process exits abnormally | alibaba/nginx-backtrace |
Brotli | Serves dynamically or statically compressed responses with brotli | google/ngx_brotli |
Cache Purge | Adds ability to purge content from FastCGI, proxy, and uWSGI caches | FRiCKLE/ngx_cache_purge |
Circle Gif | Generates simple circle images with colors/size specified in the URL | evanmiller/nginx_circle_gif |
Clojure | A module for embedding Clojure, Java, and Groovy programs | nginx-clojure/nginx-clojure |
Cookie Flag | Set the flags “HttpOnly”, “secure” and “SameSite” for cookies | AirisX/nginx_cookie_flag_module, (support) |
Concat | Concatenates files in a given context | alibaba/nginx-http-concat |
Upstream Consistent Hash | Select backend based on Consistent hash ring | replay/ngx_http_consistent_hash |
Development Kit | An extension to the core functionality of NGINX | simplresty/ngx_devel_kit |
Upstream Domain Resolve | An asynchronous domain name resolution module for NGINX upstream | nicholaschiasson/ngx_upstream_jdomain |
HTTP Drizzle | Make NGINX talk directly to MySQL or Drizzle database servers | openresty/drizzle-nginx-module |
Dynamic etags | NGINX module for etags on dynamic content | kali/nginx-dynamic-etags |
Dynamic Upstream | Update upstreams’ config by restful interface | yzprofile/ngx_http_dyups_module |
Dynamic limit | Dynamically lock IP and release it periodically | limithit/ngx_dynamic_limit_req_module |
Dynamic limit token | Generate token according to cookie | limithit/ngx_cookie_limit_req_module |
HTTP Echo | Provides familiar shell-style commands to NGINX HTTP servers | openresty/echo-nginx-module |
Stream Echo | Provides familiar shell-style commands to NGINX stream servers | openresty/stream-echo-nginx-module |
Elasticsearch client | Elasticsearch client in nginx proxy for multiple elasticsearch server | Taymindis/nginx-elastic-client |
Encrypted Session | Encrypt NGINX variables for light-weight session-based authentication | openresty/encrypted-session-nginx-module |
Enhanced Memcached | Repackaging of the standard memcached module to add features | bpaquet/ngx_http_enhanced_memcached_module |
Eval | A module for evaluating memcached or proxy response into variable | vkholodkov/nginx-eval-module |
Eval (OpenResty’s fork) | Captures arbitrary subrequests’ responses into custom NGINX variables | openresty/nginx-eval-module |
Execute | Commands remotely and return results | limithit/NginxExecute |
EY Balancer | Provides a request queue for limiting concurrent requests | ezmobius/nginx-ey-balancer |
Upstream Fair Balancer | Distributes incoming requests to least-busy servers | gnosek/nginx-upstream-fair |
Fancy Index | Like the built-in autoindex module, but fancier | aperezdc/ngx-fancyindex |
Foot Filter | Implements a body filter that adds a given string to the page footer | alibaba/nginx-http-footer-filter |
FastCGI Functional Handler | c/c++ service function handler which built for NGINX fastcgi | Taymindis/fcgi-function |
Footer If Filter | Applies a footer if a response meets a specified condition | flygoast/ngx_http_footer_if_filter/ |
Form Input | Parses HTTP POST request bodies and saves results to NGINX variables | calio/form-input-nginx-module |
GeoIP2 | City and country code lookups via the MaxMind GeoIP2 API | leev/ngx_http_geoip2_module, (support) |
GridFS | NGINX module for serving files from MongoDB’s GridFS | mdirolf/nginx-gridfs |
Groovy | A module for embedding Clojure, Java, and Groovy programs | nginx-clojure/nginx-clojure |
Haskell | Binding Haskell code in configuration files for great good! | lyokha/nginx-haskell-module |
Headers More | Set and clear input and output headers… more than “add”! | openresty/headers-more-nginx-module, (support) |
HTTP Healthcheck | Health check HTTP servers inside an upstream | cep21/healthcheck_nginx_upstreams |
Traffic Accounting | Realtime traffic and status code monitoring (HTTP + Stream) | Lax/traffic-accounting-nginx-module |
HTTP Iconv | Converts character encodings | calio/iconv-nginx-module |
Immutable | Setting immutable caching on static assets | GetPageSpeed/ngx_immutable |
Internal Redirect | A NGINX module for internal redirection | flygoast/ngx_http_internal_redirect/ |
IP2Location | Identifies the country name/code of an IP address | chrislim2888/ip2location-nginx |
ipscrub | Anonymizes IP addresses for logging | masonicboom/ipscrub |
Java | A module for embedding Clojure, Java, and Groovy programs | nginx-clojure/nginx-clojure |
JavaScript | Embedding SpiderMonkey, a full port of Perl module, and more | peter-leonov/ngx_http_js_module#readme |
Upstream Ketama CHash | Provides upstream load distribution by hashing a configurable variable | flygoast/ngx_http_upstream_ketama_chash/releases/ |
LDAP Auth | LDAP module which supports authentication against multiple LDAP servers | kvspb/nginx-auth-ldap |
Limit Upload Rate | Limit the transmission rate of request body from a client | cfsego/limit_upload_rate |
Limit Upstream Connection | Limits the maximum connections to each server in a upstream | cfsego/nginx-limit-upstream/ |
Lock Free Queue | enqueue/dequeue across multiple threads and workers without any lock | Taymindis/ngx_lfqueue |
Lock Free Stack | push/pop across multiple threads and workers without any lock | Taymindis/ngx_lfstack |
Log If | Log the requests only when given conditions are met | cfsego/ngx_log_if/ |
Log ZMQ | Log the requests via ZeroMQ | alticelabs/nginx-log-zmq |
Lower Upper Case | Provides upper/lowercase string functions in NGINX config files | replay/ngx_http_lower_upper_case |
HTTP Lua | Embed the power of Lua into NGINX HTTP servers (OpenResty Official) | openresty/lua-nginx-module, (support) |
Stream Lua | Embed the power of Lua into NGINX TCP servers (OpenResty Official) | openresty/stream-lua-nginx-module |
Luafile | Embed the power of Lua into NGINX | alacner/nginx_lua_module |
HTTP Lua Upstream | Make Nginx http upstream configurations scriptable by Lua | openresty/lua-upstream-nginx-module |
MD5 Filter | Returns the MD5 sum of content that would’ve otherwise been served | kainswor/nginx_md5_filter |
HTTP Memc | Extension of the standard memcached module | openresty/memc-nginx-module |
ModJPEG | Add overlays and logos to JPEGs on-the-fly without degrading the quality | ioppermann/modjpeg-nginx |
ModSecurity | Web application firewall | spiderlabs/modsecurity/ |
Mogilefs | Implements a MogileFS client | Download |
Mongo | Upstream module for direct communication with MongoDB | simplresty/ngx_mongo |
MP4 Streaming Lite | Seeks time within H.264/MP4 files if a “start” parameter is in the URL | Download |
mruby | Embedded mruby script language for nginx-module | matsumotory/ngx_mruby |
Nchan | Pubsub server for Websockets, Long-Poll, EventSource etc. | slact/nchan |
Naxsi | Web Application Firewall for NGINX | nbs-system/naxsi |
nginx-c-function | It is a NGINX module that allow you to link your .so(c/c++) application | Taymindis/nginx-c-function |
nginx-ip-blocker | An efficient shared memory IP blocking system for nginx. | tmthrgd/nginx-ip-blocker |
Notice | Serve static file to POST requests | kr/nginx-notice |
OCSP proxy | OCSP processing module designed for response caching | kyprizel/nginx_ocsp_proxy-module |
OpenSSL Version | OpenSSL minimum version constraints in configuration | PennockTech/nginx-openssl-version |
OpenSSL status | OpenSSL status counters (SSL_CTX_sess_*) | andreydomas/ngx_http_ssl_status_module |
Owner Match | Provides a simple file owner-based access control | Download |
PageSpeed | Rewrites webpages and associated assets to reduce latency and bandwidth | pagespeed/ngx_pagespeed |
Passenger | NGINX-based application server for Ruby, Node.js and Python apps | Download, (support) |
NGINX Phoenix edition (v0.7) | An NGINX proxy that has improved stability and effective resiliency against man-in-the-middle attacks coming from network. | R6-Security-Phoenix/mod-nginx-phoenix |
PHP | Embedded php script language for nginx-module | rryqszq4/ngx_php |
PHP Session Parser | Extract values that are stored in a serialized PHP session | replay/ngx_http_php_session |
PHP-Memache Standard Hash | Load balancer that imitates the PHP-Memcache standard hash’s behaviour | replay/ngx_http_php_memcache_standard_balancer |
POST authentication | Authentication and authorization via POST request and PAM | veruu/ngx_form_auth |
Postgres | Allows NGINX to communicate directly with PostgreSQL database | Download |
Pubcookie | Adds Pubcookie-based cross-site authentication method to NGINX | ivandeex/pubcookie |
HTTP Push Stream | Turns NGINX into an adept stream HTTP Push server | wandenberg/nginx-push-stream-module |
HTTP rDNS | Makes a reverse DNS lookup and provides control of incoming hostname | flant/nginx-http-rdns |
RDS CSV | Helps ngx_drizzle, ngx_postgres, and others emit Comma-Separated Values | openresty/rds-csv-nginx-module |
RDS JSON | Helps ngx_drizzle, ngx_postgres, and others emit JSON data | openresty/rds-json-nginx-module |
HTTP Redis | Redis support module | Download |
HTTP Redis2 | HTTP Upstream module for the full Redis 2.0 protocol | openresty/redis2-nginx-module |
HTTP Tarantool | HTTP Upstream module for communicate with Tarantool DB | tarantool/nginx_upstream_module |
redirection.io | Embeds the redirect manager and SEO-optimizer “redirection.io” in NGINX | redirectionio/libnginx-mod-redirectionio |
Replace Filter | Performs regular expression substitutions on response bodies | openresty/replace-filter-nginx-module |
Roboo | HTTP Robot Mitigator that integrates easily with NGINX | yuri-gushin/Roboo/downloads |
RRD Graph | This module provides an HTTP interface to RRDtool’s graphing facilities | evanmiller/mod_rrd_graph |
RTMP | RTMP protocol support. Live streaming and video on demand | arut/nginx-rtmp-module |
RTMPT module | Proxy RTMP packages using stadard HTTP requests | kwojtek/nginx-rtmpt-proxy-module |
Sass | Compiles SASS files in NGINX before sending the response | mneudert/sass-nginx-module |
Secure Download | Create expiring links | replay/ngx_http_secure_download |
Security Headers | Adds security HTTP headers like X-Content-Type-Options | GetPageSpeed/ngx_security_headers |
Select Lang | Chooses a suitable language from key-values and set it in the variable | sndyuk/nginx_select_lang_module |
Selective Cache Purge | A cache purge module that allows GLOB expressions like .jpg or /test | wandenberg/nginx-selective-cache-purge-module |
Set CConv | Conversion between Simplified and Traditional Chinese at rewrite phase | liseen/set-cconv-nginx-module |
Set Hash | Set a variable to hash functions, including MD5, SHA1 and Murmurhash 2 | simplresty/ngx_http_set_hash |
Set Lang | Set a variable to indicate the language based on a variety of sources | simplresty/ngx_http_set_lang/downloads |
HTTP Set Misc | Various set_xxx directives added to NGINX’s rewrite module | openresty/set-misc-nginx-module, (support) |
sFlow | Operational performance monitoring with standard sFlow protocol | Download |
Shibboleth Auth | Perform authorization based on subrequest to Shibboleth FastCGI app | nginx-shib/nginx-http-shibboleth |
Slice | NGINX module for serving a file in slices (reverse byte-range) | alibaba/nginx-http-slice |
SlowFS Cache | Adds ability to cache static files | Download |
SmallLight | Dynamic Image Transformation Module For NGINX | cubicdaiya/ngx_small_light |
SOCKS | SOCKS5 proxy module for NGINX | dannote/socks-nginx-module |
Sorted Querystring | Expose a variable with the parameters ordered to be used as a cache_key | wandenberg/nginx-sorted-querystring-module |
Sphinx | NGINX upstream module for Sphinx 2.x | reeteshranjan/sphinx2-nginx-module |
SPNEGO | Support for SPNEGO/gssapi in NGINX | stnoonan/spnego-http-auth-nginx-module |
HTTP SRCache | Transparent subrequest-based caching layout for NGINX locations | openresty/srcache-nginx-module |
SSSD info | Retrieves and exposes additional user attributes from SSSD | veruu/ngx_sssd_info |
Static etags | Generates etags for static content | mikewest/nginx-static-etags |
Statsd | Adds the ability for NGINX to interacting with Statsd | zebrafishlabs/nginx-statsd |
Sticky upstream | Adds an upstream server persistance using cookies | nginx-goodies/nginx-sticky-module-ng/get/master.tar.gz |
Stomp Messaging Protocol | A STOMP upstream module on nginx, send http to any AMQ which has stomp | Taymindis/ngx-stomp |
STS | A stream traffic status module | vozlt/nginx-module-sts |
Subrange | Split one big HTTP/Range request to multiple subrange requesets | Qihoo360/ngx_http_subrange_module |
Substitutions | Performs regular expression and string substitutions on response bodies | yaoweibin/ngx_http_substitutions_filter_module, (support) |
Summarizer | An upstream module for Summarizer 1.0 | reeteshranjan/summarizer-nginx-module |
Supervisord | Communicate with supervisord and manage backends on-demand | Download |
Sync Upstreams | Syncing upstreams from etcd or consul, needn’t reload nginx(HTTP Module) | weibocom/nginx-upsync-module |
Sync Upstreams | Syncing upstreams from etcd or consul, needn’t reload nginx(TCP Module) | xiaokai-wang/nginx-stream-upsync-module |
SysGuard | A module to protect the system against too high load | vozlt/nginx-module-sysguard |
TCP Proxy | TCP proxy with NGINX, includes health check and status monitor | yaoweibin/nginx_tcp_proxy_module |
TestCookie module | Simple robot (DDoS) mitigation module | kyprizel/testcookie-nginx-module |
Transcode Module | NGINX module for media transcoding | HiSunzhenliang/nginx-transcode-module |
Types Filter | Changes the Content-Type output header on specified conditions | flygoast/ngx_http_types_filter |
UnTar | serve static file content from tar archives | ajax16384/ngx_http_untar_module |
UnZip | serve file directly from the archives | youzee/nginx-unzip-module |
Upload | Handles file uploads using multipart/form-data encoding (RFC 1867) | vkholodkov/nginx-upload-module |
NGINX Upload Progress Module | Tracks and reports upload progress | masterzen/nginx-upload-progress-module |
Url | A module to convert uri to user-defined encoding | vozlt/nginx-module-url |
User Agent | A more powerful module than the native BrowserModule | alibaba/nginx-http-user-agent |
Video Thumb Extractor | NGINX module to extract thumbs from a video file | wandenberg/nginx-video-thumbextractor-module |
VOD | Repackage MP4 files for streaming in HLS, HDS, MSS and DASH | kaltura/nginx-vod-module |
VTS | A virtual host and upstream traffic status module | vozlt/nginx-module-vts |
Webp | Webp wrapper to convert files on the fly | vladbondarenko/ngx_webp |
XSS | Native support for cross-site scripting (XSS) | openresty/xss-nginx-module |
Zip | Assemble ZIP archives on the fly | evanmiller/mod_zip |
ngx_waf | Handy, High performance, ModSecurity compatible Nginx firewall module | ADD-SP/ngx_waf |
ngx_sqlite | Allow accessing SQLite database directly from HTTP requests | rryqszq4/ngx_sqlite |
ngx_casbin | A powerful authorization module with casbin supports flexible policy | casbin-cpp/nginx-casbin-module |
Markdown filter | Render markdown files as html on-the-fly | ukarim/ngx_markdown_filter_module |