Forum Discussion
iRule with HTTP::request and datagroup
Hi Guys,
I need to create an iRule that will check two conditions:
1) HTTP::request contain a specific word "test"
2) The source IP is a member of the Datagroup
I would like to create an iRule using only one if statement (one line) to check both conditions above?
Thanks in advance
Here, you can use logical AND operator to check both conditions and if both are fulfilled, set required actions.
Below is IF statement for your reference.
if { ([HTTP::host] contains "test") && ([class match [IP::client_addr] equals Allow-List]) }
Hope it helps!
Add string tolower functions may help here.
- Thiago_MoraisAltostratus
I can use this irule inside a HTTP_REQUEST event? The HTTP_REQUEST event allows me to check the client IP address in datagroup?
Yes it should! I tested below iRule on my lab setup and it is working fine. You can try your iRule using above IF Statement and test.
when HTTP_REQUEST { if {([HTTP::host] contains "test") && ([class match [IP::client_addr] equals Allow-List])} { pool TEST-Pool log local0. "Allowed client IP is [IP::client_addr]" } else { log local0. "Dropped IP is [IP::client_addr]" } }
Hope it helps!
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com