NGINX Extras Documentation
The NGINX Extras is the largest commercial collection of prebuilt dynamic NGINX modules on the Internet. Each module can be installed as a separate package.
The major benefit of packaged installations is security, maintainability, and reproducibility.
No longer you have to manually compile anything when you need to update NGINX or modules.
An update is just a yum update
that takes seconds and no downtime whatsoever.
We currently support all major RPM-based distros, including CentOS/RHEL, as well as Amazon Linux and latest Fedora Linux.
All RHEL derivatives like Oracle Linux, AlmaLinux and Rocky Linux are supported as well.
Due to the extensive nature of our collection, it's easy to get lost in all the goodies and new NGINX directives.
This documentation mini-site brings you each module's installation instructions and added directives in a single place.
Getting started
Install repository configuration
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo amazon-linux-extras install epel
Once the repository configuration is installed, activate your subscription to the GetPageSpeed repository.
Subscribed? Proceed with installing the modules to build your ultimate high-performance web stack.
Install NGINX modules
Thanks to the nature of dynamic modules, you can install just the modules you want instead of using bloatware NGINX installation.
For example, to install NGINX and the PageSpeed module for it, run:
sudo yum -y install nginx nginx-module-pagespeed
Enable the module by adding the load_module ...
directive that is shown after installation.
In case you missed it, refer to the documentation of respective module and look for load_module
directive
required to enable it.
To list available modules for installation, run:
sudo yum list available | grep nginx-module
To install the recommended group of modules for performance and security, you may want to run:
sudo yum -y groupinstall "nginx extras recommended"
This installs NGINX, and modules: PageSpeed, Brotli, Dynamic ETag, Immutable (performance); ModSecurity, Security Headers (security).
Upgrading modules
New NGINX releases require upgrading its modules. Thanks to the repository, you don't need to worry about recompiling anything.
We ship updated NGINX and module packages, and you can simply run yum upgrade
to get to the latest NGINX and module packages.
After updating a module package, to actually apply it at runtime, you have to run the binary upgrade routine. This can be done like this:
service nginx upgrade
This ensures that NGINX loads the updated module(s).
How to use this documentation
- Use the search at the top rightmost. It's good for locating whether a feature you are after is available via a module
- Just curious what's there? Look at the complete list of modules below, or in the left-side navigation.
Complete module list
Package Name | Description |
---|---|
nginx-module-accept-language | NGINX Accept-Language module |
nginx-module-ajp | Support AJP protocol proxy with NGINX |
nginx-module-array-var | Array-typed variables for NGINX |
nginx-module-auth-digest | Digest Authentication for NGINX |
nginx-module-auth-ldap | LDAP Authentication module for nginx |
nginx-module-auth-pam | PAM authentication dynamic module for NGINX |
nginx-module-auth-totp | Time-based one-time password (TOTP) authentication for NGINX |
nginx-module-aws-auth | NGINX module to proxy to authenticated AWS services |
nginx-module-bot-verifier | A search index bot verification module for NGINX |
nginx-module-brotli | NGINX Brotli dynamic modules |
nginx-module-cache-purge | NGINX Cache Purge module |
nginx-module-captcha | NGINX Captcha Module |
nginx-module-combined-upstreams | NGINX Combined Upstreams module |
nginx-module-concat | HTTP Concatenation module for NGINX |
nginx-module-cookie-flag | NGINX cookie flag module |
nginx-module-cookie-limit | NGINX module to limit the number of malicious ip forged cookies |
nginx-module-coolkit | NGINX CoolKit Module |
nginx-module-dav-ext | NGINX WebDAV PROPFIND,OPTIONS,LOCK,UNLOCK support |
nginx-module-doh | NGINX module for serving DNS-over-HTTPS (DOH) requests |
nginx-module-dynamic-etag | NGINX module for adding ETag to dynamic content |
nginx-module-dynamic-limit-req | NGINX module to dynamically lock IP and release it periodically |
nginx-module-echo | nginx Echo module |
nginx-module-encrypted-session | Encrypt and decrypt NGINX variable values |
nginx-module-execute | NGINX Execute module |
nginx-module-f4fhds | NGINX module for Adobe f4f format |
nginx-module-fancyindex | NGINX Fancy Index module |
nginx-module-flv | Media streaming server based on nginx-module-rtmp |
nginx-module-form-input | NGINX form input module |
nginx-module-geoip2 | NGINX GeoIP2 module |
nginx-module-geoip | NGINX GeoIP dynamic modules |
nginx-module-google | NGINX Module for Google Mirror creation |
nginx-module-graphite | An NGINX module for collecting stats into Graphite |
nginx-module-headers-more | NGINX Headers More dynamic module |
nginx-module-hmac-secure-link | Alternative NGINX HMAC Secure Link module with support for OpenSSL hashes |
nginx-module-html-sanitize | NGINX module to sanitize HTML 5 with whitelisted elements, attributes and CSS |
nginx-module-iconv | NGINX iconv module |
nginx-module-image-filter | NGINX image filter dynamic module |
nginx-module-immutable | NGINX module for setting immutable caching on static assets |
nginx-module-ipscrub | IP address anonymizer module for NGINX |
nginx-module-jpeg | NGINX JPEG filter module |
nginx-module-js-challenge | NGINX Javascript challenge module |
nginx-module-json-var | NGINX JSON variables module |
nginx-module-json | NGINX JSON module |
nginx-module-jwt | NGINX JWT Module |
nginx-module-length-hiding | NGINX Length Hiding Filter Module |
nginx-module-let | NGINX let module |
nginx-module-live-common | Kaltura Media Framework Common NGINX Module |
nginx-module-log-zmq | ZeroMQ logger module for NGINX |
nginx-module-lua | Lua scripting support for NGINX |
nginx-module-markdown | Markdown-to-html NGINX module |
nginx-module-memc | Extended version of the standard NGINX memcached module |
nginx-module-naxsi | NGINX Anti XSS & SQL Injection module |
nginx-module-nchan | Scalable, flexible pub/sub server for the modern web |
nginx-module-ndk | Nginx Development Kit |
nginx-module-njs | NGINX njs dynamic modules |
nginx-module-ntlm | NTLM NGINX Module |
nginx-module-pagespeed | PageSpeed dynamic module for NGINX |
nginx-module-passenger | Passenger module |
nginx-module-perl | NGINX Perl dynamic module |
nginx-module-phantom-token | Phantom Token NGINX Module |
nginx-module-postgres | PostgreSQL module for NGINX |
nginx-module-pta | Period of Time Authentication module for NGINX |
nginx-module-push-stream | NGINX push stream module |
nginx-module-rdns | NGINX HTTP rDNS module |
nginx-module-redis2 | NGINX upstream module for the Redis 2.0 protocol |
nginx-module-rtmp | NGINX RTMP module |
nginx-module-secure-token | Secure token module for NGINX |
nginx-module-security-headers | NGINX module for sending security headers |
nginx-module-security | ModSecurity v3 Nginx Connector |
nginx-module-set-misc | NGINX Set-Misc module |
nginx-module-shibboleth | Shibboleth Auth Request module for NGINX |
nginx-module-slowfs | NGINX SlowFS Cache Module |
nginx-module-small-light | Dynamic image transformation module For NGINX |
nginx-module-spnego-http-auth | Nginx module for HTTP SPNEGO auth |
nginx-module-srcache | Transparent subrequest-based caching layout for arbitrary NGINX locations |
nginx-module-srt | Nginx SRT Module |
nginx-module-statsd | NGINX module for sending stats to statsd |
nginx-module-sticky | NGINX sticky cookie module |
nginx-module-stream-lua | Lua scripting support for NGINX streams |
nginx-module-stream-sts | Nginx stream server traffic status core module |
nginx-module-stream-upsync | NGINX module for syncing stream backends from consul or etcd |
nginx-module-sts | Nginx stream server traffic status module |
nginx-module-substitutions | String substitutions module for nginx |
nginx-module-sxg | Signed HTTP Exchange(SXG) support for NGINX |
nginx-module-sysguard | NGINX sysguard module |
nginx-module-testcookie | NGINX testcookie robot mitigation module |
nginx-module-traffic-accounting | Monitor the incoming and outgoing traffic metrics in realtime for NGINX |
nginx-module-ts | NGINX MPEG-TS Live Module |
nginx-module-unbrotli | Decompresses Brotli-encoded responses for clients that do not support it |
nginx-module-untar | NGINX HTTP Untar Module |
nginx-module-upload | NGINX module for handling file uploads |
nginx-module-upstream-fair | The fair load balancer module for NGINX |
nginx-module-upstream-jdomain | Asynchronous domain name resolution module for NGINX upstream |
nginx-module-upsync | NGINX module for syncing upstreams from consul or etcd |
nginx-module-vod | NGINX-based VOD Packager |
nginx-module-vts | NGINX virtual host traffic status module |
nginx-module-webp | NGINX WebP module |
nginx-module-xslt | NGINX XSLT dynamic module |
nginx-module-xss | Native cross-site scripting support in NGINX |
nginx-module-zip | Streaming ZIP archiver for NGINX |
nginx-module-zstd | NGINX module for the Zstandard compression |