Skip to content

3rd-Party Modules Catalog

Community-maintained modules that extend NGINX functionality.

Easy Installation with NGINX Extras

For RHEL/CentOS/AlmaLinux/Rocky Linux users, NGINX Extras provides pre-built module packages. No compiling needed!

For Debian/Ubuntu users, see APT NGINX Extras.


Installing Pre-Built Modules

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-<name>
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install epel-release
yum -y install nginx-module-<name>

See APT setup instructions.

Auto-enabled

Debian/Ubuntu packages automatically enable modules — no load_module needed!

RHEL-based systems only: After installing, enable the module in /etc/nginx/nginx.conf:

load_module modules/ngx_http_<name>_module.so;

Detailed Documentation

These modules have in-depth documentation in this wiki:

Module Description
Upload File upload handling with multipart/form-data
Nchan Pub/sub for WebSockets, EventSource, Long-Poll

Content & Templating

Module Description Documentation
Echo Shell-style commands (echo, sleep, exec) NGINX Extras
Lua Embed Lua scripts in NGINX NGINX Extras
Perl Embed Perl (built-in, --with-http_perl_module) Built-in
Substitutions Regex-based response body substitution NGINX Extras
Headers More Set/clear input/output headers NGINX Extras
Fancy Index Customizable directory listings NGINX Extras

Caching & Performance

Module Description Documentation
Brotli Brotli compression NGINX Extras
Redis2 Full Redis 2.0 protocol support NGINX Extras
Memc Memcached protocol with full support NGINX Extras
SRCache Transparent subrequest caching NGINX Extras
PageSpeed Google PageSpeed optimization NGINX Extras

Load Balancing

Module Description Documentation
Upstream Fair Fair load balancing algorithm NGINX Extras
Upstream JDomain Dynamic DNS resolution for upstreams NGINX Extras
Upsync Dynamic upstream configuration NGINX Extras

Security & Access Control

Module Description Documentation
Auth Digest RFC 2617 Digest Authentication NGINX Extras
Auth PAM PAM authentication NGINX Extras
Auth LDAP LDAP authentication NGINX Extras
Auth TOTP Time-based One-Time Password NGINX Extras
NAXSI Web Application Firewall NGINX Extras
ModSecurity WAF with OWASP Core Rule Set NGINX Extras
Security Headers Add security headers automatically NGINX Extras

Real-time & Push

Module Description Documentation
Nchan Pub/sub (WebSocket, SSE, Long-Poll) NGINX Extras
Push Stream Push/streaming capabilities NGINX Extras

File Handling

Module Description Documentation
Upload Multipart file upload handling NGINX Extras
ZIP Create ZIP archives on-the-fly NGINX Extras
Untar Serve files from tar archives NGINX Extras

Media & Streaming

Module Description Documentation
RTMP RTMP/HLS/DASH streaming NGINX Extras
VOD On-the-fly HLS/DASH from MP4 NGINX Extras
Image Filter On-the-fly image transformation NGINX Extras
Small Light Advanced image transformation NGINX Extras

Utilities

Module Description Documentation
Set Misc Additional set directives NGINX Extras
Form Input Parse POST form data NGINX Extras
Array Var Array variables NGINX Extras
Iconv Character encoding conversion NGINX Extras
GeoIP2 MaxMind GeoIP2 database support NGINX Extras
NJS JavaScript scripting NGINX Extras

Logging & Monitoring

Module Description Documentation
Log ZMQ ZeroMQ log publishing NGINX Extras
VTS Virtual host traffic status NGINX Extras
STS Stream traffic status NGINX Extras
Graphite Send metrics to Graphite NGINX Extras

Development & Helper

Module Description Documentation
NDK Nginx Development Kit (required by many modules) NGINX Extras
Cache Purge Purge content from cache NGINX Extras
DAV Ext Extended WebDAV support NGINX Extras

Complete Module List

For a complete list of available modules with documentation:


Lua Scripting

For Lua scripting in NGINX, you have several options:

  • NGINX Extras: Install nginx-module-lua from NGINX Extras for RPM-based systems
  • Lua Libraries: Browse available Lua libraries for common tasks
  • OpenResty: A full distribution bundling NGINX with LuaJIT (useful if you need many Lua modules)

For quick setup, NGINX Extras provides module groups:

# Performance and security essentials
sudo dnf -y groupinstall "nginx extras recommended"

This installs: PageSpeed, Brotli, Dynamic ETag, Immutable (performance) and ModSecurity, Security Headers (security).


Upgrading Modules

After updating module packages:

# Apply updates at runtime
sudo service nginx upgrade

This performs a binary upgrade without dropping connections.


Contributing

To suggest additions or corrections to this catalog, please contact the maintainers.