Installing NGINX Plus

Install Dynamically Loadable Modules

NGINX Plus functionality can be extended with dynamically loadable modules. They can be added or updated independently of the core binary, enabling powerful capabilities such as advanced security, traffic shaping, telemetry, embedded scripting, geolocation, and many more.

Dynamic modules are shared object files (.so) that can be loaded at runtime using the load_module directive in the NGINX configuration.

Types of dynamic modules

Type Description Distribution Method F5 NGINX Support
NGINX-authored Developed and distributed by NGINX Packaged binaries from nginx-plus official repo Full support
NGINX-certified Community Tested and distributed by NGINX Packaged binaries from nginx-plus official repo Installation and basic configuration support
NGINX Certified Partner Partner-built modules verified through NGINX’s certification Provided by partners Provided by partners
Community Developed and distributed by third‑party contributors Self-compiled No support

NGINX-authored dynamic modules

NGINX-authored dynamic modules are developed and officially maintained by the F5 NGINX team. These modules are available as packaged binaries for various operating systems and can be installed from the nginx-plus repository.

Name Description Package name
GeoIP Enables IP-based geolocation using the precompiled MaxMind databases. nginx-plus-module-geoip
Image-Filter Adds on-the-fly support for JPEG, GIF, PNG, and WebP image resizing and cropping. nginx-plus-module-image-filter
njs Scripting Language Adds JavaScript-like scripting for advanced server-side logic in NGINX configuration file. nginx-plus-module-njs
OpenTelemetry Adds distributed tracing support via OpenTelemetry. nginx-plus-module-otel
Perl Integrates Perl scripting for advanced customization. nginx-plus-module-perl
XSLT Applies XSLT transformations to XML responses. nginx-plus-module-xslt

NGINX-certified community dynamic modules

NGINX-certified community dynamic modules are popular third‑party modules tested and distributed by F5 NGINX, with installation and basic configuration support provided. They are also distributed as precompiled packages for various operating systems and can be installed from the nginx-plus repository.

Name Description Package name
Brotli Brotli compression support with modules for dynamic compression and for serving pre-compressed .br files. nginx-plus-module-brotli
Encrypted-Session AES-256 based encryption/decryption of NGINX variables. nginx-plus-module-encrypted-session
FIPS Status Check Verifies if OpenSSL is operating in FIPS mode. nginx-plus-module-fips-check
GeoIP2 Uses MaxMind GeoIP2 for enhanced geolocation. nginx-plus-module-geoip2
Headers-More Extends the NGINX Headers module to modify request and response headers. nginx-plus-module-headers-more
HTTP Substitutions Filter Enables regex and string-based substitutions in response bodies. nginx-plus-module-subs-filter
Lua Embeds Lua programming language. nginx-plus-module-lua
NGINX Developer Kit Provides helper macros for module development. nginx-plus-module-ndk
Phusion Passenger Application server for Node.js, Python, Ruby. nginx-plus-module-passenger
Prometheus-njs Converts NGINX Plus metrics into Prometheus format. nginx-plus-module-prometheus
RTMP Adds streaming capabilities (RTMP, HLS, MPEG-DASH, FFmpeg support). nginx-plus-module-rtmp
Set-Misc Adds set_* directives for scripting (extend NGINX Rewrite module). nginx-plus-module-set-misc
SPNEGO for Kerberos Adds support for GSS‑API based SPNEGO/Kerberos authentication. nginx-plus-module-auth-spnego