13-Dec-2021 06:39
Hi,
I'm new at Irules and I need help
I'm trying to create an I rule that searches for a server name in the URI ("server1/2/3")
and match it to the IP address of the server in the pool I created
but that's doesn't work
here an example
when HTTP_REQUEST {
set uri [string tolower [HTTP::uri]]
if { $uri contains "server1" } {
node 10.10.10.10
}
elseif { $uri contains "server2" } {
node 10.10.10.11
}
else {
pool test1
}
}
Solved! Go to Solution.
15-Dec-2021
02:55
- last edited on
04-Jun-2023
19:14
by
JimmyPackets
You can create pool for server1 and server2 and use all services under service port while adding node. Reference that pool in the iRule and it should work.
when HTTP_REQUEST {
set uri [string tolower [HTTP::uri]]
if { $uri contains "server1" } {
pool pool1
} elseif { $uri contains "server2" } {
pool pool2
} else {
pool test1
}
}
14-Dec-2021
13:42
- last edited on
04-Jun-2023
19:14
by
JimmyPackets
Hi lior,
You must add port number for node command:
node 10.10.10.10 80
#or
node "10.10.10.11:443"
15-Dec-2021 02:37
Thank you Enes,
but the port number is not static
15-Dec-2021
02:55
- last edited on
04-Jun-2023
19:14
by
JimmyPackets
You can create pool for server1 and server2 and use all services under service port while adding node. Reference that pool in the iRule and it should work.
when HTTP_REQUEST {
set uri [string tolower [HTTP::uri]]
if { $uri contains "server1" } {
pool pool1
} elseif { $uri contains "server2" } {
pool pool2
} else {
pool test1
}
}
18-Dec-2021 23:30
it works thank you