Installation

  1. Install the module dependencies:
apt update && apt install -y libcurl4 libapr1 libjansson4 libaprutil1 bzip2
yum update && yum install -y jansson libcurl apr apr-util pcre
  1. Extract the module:
bunzip2 envoy.bz2
  1. Copy the new Envoy binary to /usr/local/bin/ folder:
cp envoy /usr/local/bin/
  1. In your config.yaml file add, a new filter in the http_filters section:
http_filters:
    ...
    - name: perimeterx
        config:
            px_enabled: true
            px_appid: "<APP_ID>"
            px_cookie_secret: "<COOKIE_SECRET>"
            px_auth_token: "<AUTH_TOKEN>"

Make sure to update the following required properties:

  1. In your config.yaml file add, a new entry to the clusters section:
clusters:
    ...
    - name: px_collector
        connect_timeout: 1s
        type: LOGICAL_DNS
        dns_lookup_family: V4_ONLY
        lb_policy: ROUND_ROBIN
        hosts: [{ socket_address: { address: sapi-<APP_ID_WITHOUT_PX>.perimeterx.net, port_value: 443 }}]
        tls_context: { sni: sapi-<APP_ID_WITHOUT_PX>.perimeterx.net }

Make sure to update the <APP_ID_WITHOUT_PX> placeholder with your PerimeterX app_id without the leading PX, for example, if your app_id is PX1234567, change <APP_ID_WITHOUT_PX> to 1234567.


Did this page help you?