NGINX Gateway Fabric with the HUMAN Enforcer
NGINX Gateway Fabric + HUMAN Enforcer is a production-ready distribution of NGINX Gateway Fabric engineered specifically for high-security environments. This custom Docker image comes with the HUMAN Enforcer module pre-compiled and pre-installed, bridging the gap between modern Kubernetes networking and enterprise-grade bot protection.
What is NGINX Gateway Fabric?
NGINX Gateway Fabric (NGF) is the successor to the traditional NGINX Ingress Controller. It’s an implementation of the Kubernetes Gateway API designed to configure NGINX as a data plane using modern, role-oriented primitives. Unlike the legacy Ingress resource, NGF provides a standardized, expressive, and extensible way to manage external access to services in a Kubernetes cluster.
The Integration Logic: SnippetsFilter
One of the primary challenges of adopting the strict Gateway API standard is the loss of flexibility for custom NGINX modules. The Gateway API does not inherently know how to configure third-party modules like HUMAN Security. We solve this using SnippetsFilter.
SnippetsFilter is a powerful extension within NGINX Gateway Fabric that allows us to inject raw NGINX configuration directives directly into specific contexts (like main, http, or location) of the generated nginx.conf. Instead of mounting complex sidecar configurations or external files, you configure the HUMAN Enforcer using native Kubernetes manifests. You simply apply a SnippetsFilter resource that contains your HUMAN directives (e.g. px_appId, px_auth_token, px_cookie_secret, etc.). The NGINX Gateway Fabric dynamically injects these into the data plane configuration, ensuring your bot protection rules are applied at the edge, aligned perfectly with your HTTPRoutes.
NGINX Gateway Fabric & HUMAN Enforcer Docker image integration
The px-nginx-gateway-fabric image is based on the official NGINX Gateway Fabric image, with the HUMAN Enforcer module pre-compiled and integrated.
- Docker image repository:
us-docker.pkg.dev/hmn-registry/docker-public/px-nginx-gateway-fabric - Versioning schema:
px-nginx-ingress-controller:vX.X.X-Y.Y.Y, where:
Available Tags
v2.3.0-latest: NGINX Gateway Fabric v2.3.0 with the latest stable HUMAN Enforcer
Prerequisites
- A functioning NGINX Gateway Fabric setup
- Your unique HUMAN information:
- Your Application ID. You can find this under Platform Settings > Applications > Overview in the HUMAN console. If you have multiple environments, you’ll also have multiple Application IDs, so be sure to choose the correct ID for the environment you want to install on.
- Your Server Token. You can find this under Platform Settings > Applications > Status & Settings > Server Token.
- Your Risk Cookie Key. You can find this under Bot Defender > Policies > Policy Settings > Policy Information.
Integration
- Install NGINX Gateway Fabric and the HUMAN Enforcer as well as enable SnippetsFilter. Set the parameters as follows:
nginx.image.repository: Set tous-docker.pkg.dev/hmn-registry/docker-public/px-nginx-gateway-fabricnginx.image.tag: Usev2.3.0-latest
- Create a SnippetsFilter resource,
px-enforcer-sf, with your Enforcer configuration.
- Apply a new SnippetsFilter resource
- Create and apply an HTTPRoute resource that references the SnippetsFilter