You can integrate your HUMAN NGINX Enforcer with Kubernetes’ ingress NGINX controller to deploy the Enforcer. An ingress may be configured to give services externally reachable URLs, load balance traffic, terminate SSL/TLS, and offer name-based virtual hosting An ingress controller is responsible for fulfilling the ingress, usually with a load balancer, though it may also configure your edge router or additional frontends to help handle the traffic.
You can integrate the Enforcer with the ingress NGINX controller in two ways:
You can learn how to integrate using either of these methods below.
This integration method uses an External Module, which is a Docker image that contains the HUMAN Enforcer NGINX module. This image is attached to an ingress NGINX controller, and once deployed, the Enforcer NGINX module is available for your use.
The External Module is the preferred method of integration due to the following:
amd64
, arm64
, arm32v7
For these reasons, we highly recommend using the External Module if possible.
The image is hosted on a DockerHub repository: https://hub.docker.com/r/perimeterx/px-extramodules.
The images are tagged with the syntax px-
extramodules:vX.X.X-Y.Y.Y
, where:
vX.X.X
is the ingress version (see changelog)Y.Y.Y
is the NGINX Enforcer version (see changelog). The latest
tag always uses the latest stable version.To integrate with the external module:
values.xml
file with the minimum configurations as shown below. TAG
and DIGEST
can be found from the Docker Image.The TAG
must match the current ingress version. For example, if your ingress version is v1.12.0, then your TAG
must be v1.12.0-latest
.
server-snippet
. These are described in our Configuration Options article. Below is an example for the Advanced Blocking Response Flag configuration.This integration method uses a custom version of ingress NGINX controller, which includes an NGINX server with a built-in HUMAN Enforcer.
We highly recommend using the preferred method for integration using the External Module if possible.
The image is hosted on a DockerHub repository: https://hub.docker.com/r/perimeterx/px-nginx-ingress-controller.
The images are tagged with the syntax px-nginx-ingress-controller:vX.X.X-Y.Y.Y-Z
, where:
vX.X.X
is the ingress version (see changelog)Y.Y.Y
is the NGINX Enforcer version (see changelog). The latest
tag always uses the latest stable version.To replace the original Ingress NGINX controller image with the custom image:
values.xml
file with the minimum configurations as shown below. TAG
and DIGEST
can be found from the Docker Image.The TAG
must match the current ingress version. For example, if your ingress version is v1.12.0, then your TAG
must be v1.12.0-latest
.
server-snippet
. These are described in our Configuration Options article. Below is an example for the Advanced Blocking Response Flag configuration.