Skip to content

Embedded Variables ​

When writing nginx.conf, some variables are inevitably needed. For example, $remote_addr can be used to get the client IP address.

This module adds several available variables.

CAN NOT BE USED FOR DIRECTIVE if

See FAQ.

$waf_log ​

Not an empty string if the firewall is checked in this request, otherwise an empty string. This variable is mainly used in the directive access_log, see Customised Log Format.

$waf_blocking_log ​

Not an empty string if this request was originally blocked by the module, and vice versa. This variable is mainly used in the directive access_log, see Customised Log Format.

$waf_blocked ​

Whether this request is intercepted by this module, if intercepted, its value is 'true', otherwise it is 'false'.

$waf_spend ​

Indicates how much time (in milliseconds) this check took, retaining 5 decimal places, with rounding rules depending on the specific C standard library implementation.

$waf_rule_type ​

If a black and white list rule is in effect for this request, the value is the type of rule that triggered it. Here are the possible values. If no black and white list rule is in effect then the value is ''.

  • 'CC-DENY'
  • 'WHITE-IPV4'
  • 'WHITE-IPV6'
  • 'BLACK-IPV4'
  • 'BLACK-IPV6'
  • 'WHITE-URL'
  • 'BLACK-URL'
  • 'BLACK-ARGS'
  • 'BLACK-USER-AGENT'
  • 'WHITE-REFERER'
  • 'BLACK-REFERER'
  • 'BLACK-COOKIE'
  • 'BLACK-POST'
  • 'UNDER-ATTACK'
  • 'FAKE-BOT'
  • 'CAPTCHA'

$waf_rule_details ​

If this request is blocked by this module, its value is the content of the specific rule triggered. If it is not blocked, its value is ''.

$waf_rate ​

An integer that represents the number of accesses to the current IP in a cycle.

BSD 3-Clause License