Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Website translation is used to set a variety of address translation rules for application-specific packets sent through the Barracuda Load Balancer ADC. It translates the internal codes, headers, and cookies so that the actual message is concealed from external users. Using website translation, you can accomplish website cloaking and translation of URLs and headers in requests or responses.
Use the TRAFFIC > Web Translations page to create rules to modify inbound HTTP requests and outbound responses for HTTP/HTTPS Services. From this page you can:
Create rewrite rules to modify incoming HTTP request headers and URLs
Create rewrite rules to modify outbound HTTP response headers
Create rules to rewrite any text string in an outbound HTTP response body
HTTP Request Rewrite Conditions
An HTTP request rewrite is applied to the HTTP request coming from the client to the Barracuda Load Balancer ADC. A request rewrite condition is made up of one or more expressions. An expression consists of an operand, an operator, and a matching value.
Table 1. HTTP Request Rewrite Operators
Table 1 describes the operators you can use in the request rewrite condition expression:
Operator Values
Description
Operator Values
Description
contains, CONTAINS, co, CO
Checks if the operand contains the matching value.
ncontains, nCONTAINS, nco, nCO
Checks if the operand does not contain the matching value.
rcontains, rCONTAINS, rco, rC
Checks if the operand contains the matching value, where the matching value is interpreted as a regular expression.
equals, EQUALS, eq, E
Checks if the operand is equal to the matching value.
nequals, nEQUALS, neq, nEQ
Checks if the operand is not equal to the matching value.
requals, rEQUALS, req, rE
Checks if the operand is equal to the matching value, where the matching value is interpreted as a regular expression.
exists, EXISTS, ex, EX
Checks if the operand exists. No matching value is required.
nexists, nEXISTS, nex, nEX
Checks if the operand does not exist. No matching value is required.
Table 2. HTTP Response Rewrite Expression Tokens
Table 2 describes the tokens available for joining expressions:
Token
Description
Token
Description
or, OR, ||
Checks if either of the expressions is true.
and, AND, &
Checks if both the expressions are true.
( )
Use parentheses to group together multiple expressions.
Table 3 describes the possible operands for the expression; all keywords are case insensitive:
Operands
Description
Example
Operands
Description
Example
Header
Examine the request header. You can search for a header field name, which is a string followed by a colon (:), or for any string. To search for HTTP or custom header field names, type Header followed by the header field name. The header field name to be examined may be a string (e.g. user-agent, accept) or a wildcard (to examine all headers).
To search for any string in the header area, enter that string without the keyword. In all of these cases, the matching value may be a regular expression.
Header Accept co soap
Header Soap-Action ex
AnyString EX
Client IP
Check the IP address of the client that sent the request. The IP address can be either the host IP address or subnet IP address specified by a mask. Only the EQUAL and NOT EQUAL operators may be used with this operand
Client-IP eq 192.168.1.0/24 (subnet IP address containing the mask)
Client-IP eq 192.168.1.10 (host IP address)
URI
The Uniform Resource Identifier (URI) identifies the resource upon which to apply the request. The matching value may be a regular expression.
URI rco /abc*html
Method
HTTP method in the request.
Method eq GET
HTTP-Version
HTTP protocol version of the request.
HTTP-Version eq HTTP/1.1
Parameter
The query portion of the URL which is passed to the server as a name-value pair. $NONAME_PARAM may be used to refer to the case where the parameter name is absent. The matching value may be a regular expression.
Parameter sid eq 1234
Parameter $NONAME_PARAM co abcd
Pathinfo
The portion of URL containing extra information about the path of the resource on the server. The matching value may be a regular expression.
pathinfo rco abc*
HTTP Response Rewrite Conditions
A response rewrite condition is made up of one or more expressions consisting of an operand, an operator, and a matching value.
HTTP Response Rewrite
An HTTP Response rewrite is applied to the HTTP response going out from the servers to the client through the Barracuda Load Balancer ADC.
Table 6 describes the possible operands for the expression; all keywords are case insensitive:
Operands
Description
Example
Operands
Description
Example
Header
Examine the request header. You can search for a header field name, which is a string followed by a colon (:), or for any string. To search for HTTP or custom header field names, type Header followed by the header field name. The header field name to be examined may be a string (e.g. user-agent, accept) or a wildcard (to examine all headers).
To search for any string in the header area, enter that string without the keyword. In all of these cases, the matching value may be a regular expression.
Header Accept co soap
Header Soap-Action ex
AnyString EX
Response-Header
Examine the header of the response. You can search for a header field name, which is a string followed by a colon (:), or for any string.
To search for HTTP or custom header field names, type Response-Header followed by the header field name. The header field name to be examined may be a string (e.g. user-agent, accept) or a wildcard (to examine all headers).
To search for any string in the header area, enter that string without the keyword. In all of these cases, the matching value may be a regular expression.
Response-Header Set-Cookie co sessionid
Status-Code
Checks the status code of the response returned by the server.
Status-Code eq 200
Response Body Rewrite
You can create rules for searching and replacing any string in the body of outbound responses. Only responses where the content-type begins with text/ (text/html, text/plain, text/javascript, text/css, text/xml) are searched, not flash or applet content. Table 7 lists the response body rewrite values.
Search and replace strings must be text; regular expressions cannot be used. Additionally, because meta-characters such as \r or \n cannot be used, you cannot search and replace any multi-byte character set strings.
Table 7. Response Body Rewrite Values
Table 7 describes the Response Body Rewrite Rule fields: