Condition
Condition
|
Description
|
Example
|
<form>
|
HTML forms are used to pass data to a server
|
Example “form doesn’t have length 0”
|
GEO Location
|
This compares the source IP address to the ISO 3166 Country Code
|
GEO Location does equal GB OR GEO Location does equal Germany
|
Host
|
This is the host extracted from the URL
|
www.mywebsite.com or 192.168.1.1
|
Language
|
This is the Language extracted from the language HTTP header
|
This condition will produce a dropdown with a list of Languages
|
Method
|
This is a drop down of HTTP methods
|
This is a drop down that includes GET, POST etc
|
Origin IP
|
If upstream proxy supports X-Forwarded-for (XFF) it will use the true Origin address
|
Client IP. Can also use multiple IP’s or subnets.
10\.1\.2\.* is 10.1.2.0 /24 subnet
10\.1\.2\.3|10\.1\.2\.4 Use | for multiple IP’s
|
Path
|
This is the path of the website
|
/mywebsite/index.asp
|
POST
|
POST request method
|
Check data being uploaded to a website
|
Query
|
This is the name and Value of a Query as such it can either accept the query name or a value also
|
“Best=edgeNEXUS” Where the Match is Best and the Value is edgeNEXUS
|
Query String
|
The whole query string after the ? character
|
|
Request Cookie
|
This is the name of a cookie requested by a client
|
MS-WSMAN=afYfn1CDqqCDqUD::
|
Request Header
|
This can be any HTTP Header
|
Referrer, User-Agent, From, Date
|
Request Version
|
This is the HTTP version
|
HTTP/1.0 OR HTTP/1.1
|
Response Body
|
A user defined string in the response body
|
Server UP
|
Response Code
|
The HTTP code for the response
|
200 OK, 304 Not Modified
|
Response Cookie
|
This is the name of a cookie sent by the server
|
MS-WSMAN=afYfn1CDqqCDqUD::
|
Response Header
|
This can be any HTTP Header
|
Referrer, User-Agent, From, Date
|
Response Version
|
The HTTP version sent by the server
|
HTTP/1.0 OR HTTP/1.1
|
Source IP
|
This is either the origin IP, proxy server IP or some other aggregated IP address
|
Client
IP, Proxy IP, Firewall IP. Can also use multiple IP’s and subnets. You
must escape the dots as these are RegEX. Example 10\.1\.2\.3 is 10.1.2.3
|
Match
|
Description
|
Example
|
Accept
|
Content-Types that are acceptable
|
Accept: text/plain
|
Accept-Encoding
|
Acceptable encodings
|
Accept-Encoding: <compress | gzip | deflate | sdch | identity>
|
Accept-Language
|
Acceptable languages for response
|
Accept-Language: en-US
|
Accept-Ranges
|
What partial content range types this server supports
|
Accept-Ranges: bytes
|
Authorization
|
Authentication credentials for HTTP authentication
|
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
|
Charge-To
|
Contains account information for the costs of the application of the method requested
|
|
Content-Encoding
|
The type of encoding used on the data.
|
Content-Encoding: gzip
|
Content-Length
|
The length of the response body in Octets (8-bit bytes)
|
Content-Length: 348
|
Content-Type
|
The mime type of the body of the request (used with POST and PUT requests)
|
Content-Type: application/x-www-form-urlencoded
|
Cookie
|
A HTTP cookie previously sent by the server with Set-Cookie (below)
|
Cookie: $Version=1; Skin=new;
|
Date
|
Date and time at message was originated
|
Date = “Date” “:” HTTP-date
|
ETag
|
An identifier for a specific version of a resource, often a message digest
|
ETag: “aed6bdb8e090cd1:0”
|
From
|
The email address of the user making the request
|
From: user@example.com
|
If-Modified-Since
|
Allows a 304 Not Modified to be returned if the content is unchanged
|
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
|
Last-Modified
|
The last modified date for the requested object, in RFC 2822 format
|
Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
|
Pragma
|
The Implementation-specific headers may have various effects anywhere along the request-response chain.
|
Pragma: no-cache
|
Referrer
|
This is the address of the previous web page from which a link to the currently requested page was followed
|
Referrer: HTTP://www.edgenexus.io
|
Server
|
A name for the server
|
Server: Apache/2.4.1 (Unix)
|
Set-Cookie
|
A HTTP cookie
|
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
|
User-Agent
|
The user agent string of the user agent
|
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
|
Vary
|
Tells downstream proxies how to match future request headers to decide
whether the cached response can be used rather than requesting a fresh
one from the origin server
|
Vary: User-Agent
|
X-Powered-By
|
Specifies the technology (e.g. ASP.NET, PHP, JBoss) supporting the web application
|
X-Powered-By: PHP/5.4.0
|
Check
|
Description
|
Example
|
Exist
|
This does not care for the detail of the condition just that it does/doesn’t exist
|
Host — Does — Exist
|
Start
|
The string starts with the Value
|
Path — Does — Start — /secure
|
End
|
The string ends with the Value
|
Path — Does — End — .jpg
|
Contain
|
The string does contain the Value
|
Request Header — Accept — Does — Contain — image
|
Equal
|
The string does Equal the Value
|
Host — Does — Equal — www.edgenexus.io
|
Have Length
|
The string does have length of the value
|
Host — Does — Have Length — 16
www.edgenexus.io = TRUE
www.edgenexus.com = FALSE
|
Match RegEx
|
This enables you to enter a full Perl compatible regular expression
|
Origin IP — Does — Match Regex — 10\..* | 11\..*
|
Example
· The example has two conditions, and BOTH must be met to carry out the action
· The first is checking that the requested object is an image
· The second is checking for a specific hostname