About the NGINX module

You can use our NGINX module to deploy the Next-Gen WAF directly onto your hosting environment. In the module-agent deployment topology, the NGINX module accesses request data from incoming requests via the NGINX API. Then, the module passes the data to the Next-Gen WAF agent for inspection via remote procedure calls (RPC) through a Unix domain socket (UDS) or over transmission control protocol (TCP). The agent then tells the module how to handle the requests, and the module blocks, allows, or rate limits requests per the agent's direction.

Choosing an NGINX module variation

Our NGINX module has two variations:

  • The NGINX dynamic module variation is compiled and then dynamically loaded into NGINX at runtime without recompiling the entire NGINX binary. This module is written in C and can be integrated with NGINX Open Source and NGINX Plus.
  • The NGINX Lua module variation leverages OpenResty's Lua module for NGINX (often referred to as ngx_http_lua_module), which allows for embedded Lua code directly in your NGINX configuration. This module is written in the Lua scripting language and can be integrated with NGINX Open Source, NGINX Plus, and OpenResty.

Both module variations implement similar request handling logic to pass the request to the Next-Gen WAF agent for inspection.

The NGINX module variation you install depends on your business and hosting environment requirements.

TIP

If you're unsure which module variation to install and aren't already using OpenResty or NGINX Plus, we recommend installing the dynamic module for NGINX Open Source because it doesn't have dependencies outside of NGINX itself.

Module variationNGINX modelModule package nameNotes
DynamicNGINX Open Sourcenginx-module-sigsci-nxoThis package is compiled against the appropriate NGINX releases. Certain upstream repositories that maintain their own NGINX releases may deviate from these builds and cause issues installing.
DynamicNGINX Plusnginx-module-sigsci-nxp
LuaOpenRestysigsci-module-nginx
LuaNGINX Open Sourcesigsci-module-nginxngx_http_lua_module must be installed.
LuaNGINX Plussigsci-module-nginxnginx-plus-module-lua must be installed.

Supported versions

Our Compatibility and requirements guide lists the distributions our NGINX module has packages available for. We update our NGINX module after a mainline NGINX release occurs. We will expedite a release when there are exceptions (e.g., critical vulnerability).

WARNING

NGINX and various other upstreams that supply NGINX builds often stop releasing or updating NGINX packages for certain distribution release repositories after a certain period of time, often coinciding with distribution end of life dates, which is outside of our control. This may mean that for certain distribution releases, certain versions of the module may not be available or the appropriate package may be outdated for your release. If you believe a package should be made available for your version on your platform, contact support@fastly.com.

Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.