Home‎ > ‎Barracuda‎ > ‎

Parameter Based Redirection

tested on firmware version 7.6.4

Overview:

If you have a pool of servers, sometimes (for monitoring or testing, or something else) you might want to be able to direct yourself to only one specific server in the pool.  There are a couple of ways to do this, this example shows how to do this with appending parameters to the URI. 

Make your Pool:

First create a pool of servers with a front end vip.  See WAF as a LB for a how-to on this. 

Create a New Rule:

Under Basic(1), Services(2) tabs, within the Services(3) section, select the pool you want to modify(4), and select its Rule(5) link to create a new rule for that pool. 

In the Edit Contents Rule, enter in the following:

the variables should be as such:
  1. Rule Group Name = {ref to webserver} ie: hppweb01-only
  2. Host Match = *
  3. URL Match = /*
  4. Extended Match(Parameter server eq 01)
  5. Extended Match Sequence = 999 (this should not be the same for two concurrent rules)
Note that for each entry you make, the extended match sequence needs to be unique, so change the number to be different (998 instead of 999).  Also the extended match(1) , by selecting the edit icon(2) you can modify the rules with their built in calculator. 

Make sure the following variables are set:
  • Header Expression = {blank}
  • Element Type = Parameter
  • Element Name = Others = server
  • Operation = equals
  • Value = 01

Note that for Element Name(3) select the other checkbox, and enter in the variable name you want to use.

When you have filled in the values properly, first select the Insert(4) button, and then the Apply(5) button. 

Add a server to the rule:

Under the Services(1) section, under the newly created Rule(2), select the Server(3) link to add a server to the rule. 




In the Add Real Server window, provide the server name(1), it's IP(2), and modify the port(3) to 443 if needed.  then add that server with the add(4) button. 

Once the server is defined, you will need to go back and modify the server.  To do this, under the newly created rule(1), on the newly created server(2), select the Edit(3) link. 

Make sure you update the SSL section(1) and set the Server uses SSL(2) to ON, and Validate Server Certificate(3) to No


Then under the Application Layer Health Check(4), make sure the url(5) is the path to the health check page (in this case /status/), and make sure that the match content string value(6) is set (in this case to ok).  Then save the changes(7)

Test new Rules:

We test the pools VIP with both the "server=01" and "server=02" parameters, and then confirm that traffic round robbins without any parameters. 

$ curl -k https://10.50.128.55/status/index.html?server=01
ok (web01.bos)
$ curl -k https://10.50.128.55/status/index.html?server=01
ok (web01.bos)
$ curl -k https://10.50.128.55/status/index.html?server=01
ok (web01.bos)
$
$ curl -k https://10.50.128.55/status/index.html?server=02
ok (web02.bos)
$ curl -k https://10.50.128.55/status/index.html?server=02
ok (web02.bos)
$ curl -k https://10.50.128.55/status/index.html?server=02
ok (web02.bos)
$
$ curl -k https://10.50.128.55/status/index.html
ok (web02.bos)
$ curl -k https://10.50.128.55/status/index.html
ok (web01.bos)
$ curl -k https://10.50.128.55/status/index.html
ok (web02.bos)
$ curl -k https://10.50.128.55/status/index.html
ok (web01.bos)
$





Comments