Forum Discussion
CGI
Altostratus
Jan 11, 2011Irule problem
Hi iam trying to combine a couple of functions into one irule, the irule should look at the origin land
of the request allowing only countries i a specific data list and then look at the the ip to see if it is trusted
ip in the trusted ip data list (which allows access) and then last of all should look at the requested uri and if
the uri includes /compass and is from a ip that comes from Denmark it should be sent to a specific pool.
My atttempt at this is below, as iam a begineer at this, i have a problem th syntax seems okay but the irule does not seem
to work.
Any help or suggestions greatly appreciated.
when CLIENT_ACCEPTED {
if {([class match [whereis [IP::client_addr] country] eq allowed_country] or [class match [IP::client_addr] eq allowed_ip])} {
set allowed 1 }
else { set allowed 0
log local0. "Blocked Country client IP: [IP::client_addr] from [whereis [IP::client_addr] country]"}}
when HTTP_REQUEST {
if { ([$allowed eq 1] and [whereis [IP::client_addr] country ] eq "dk" and [[HTTP::uri] contains "/compass/*"])}{
pool Compass_http_pool}
else {pool OnDemand_htp_pool}}
Regards Craig
- Chris_Miller
Altostratus
Which parts aren't working? - CGI
Altostratus
This part works if i remove the log local :-
when HTTP_REQUEST {if { ([$allowed eq 1] and [whereis [IP::client_addr] country ] eq "dk" and [[HTTP::uri] contains "/compass/*"])}{
pool Compass_http_pool}
else {pool OnDemand_htp_pool}}
- Chris_Miller
Altostratus
when HTTP_REQUEST { if { $allowed eq 1 and [whereis [IP::client_addr] country ] eq "dk" and [HTTP::uri] contains "/compass/" } { pool Compass_http_pool } else { pool OnDemand_htp_pool } }
- Chris_Miller
Altostratus
I haven't looked at the client_accepted statement too much yet, but give this a shot.when CLIENT_ACCEPTED { if { ([class match [whereis [IP::client_addr] country] eq allowed_country] or [class match [IP::client_addr] eq allowed_ip]) } { set allowed 1 } else { log local0. "Blocked Country client IP: [IP::client_addr] from [whereis [IP::client_addr] country]" set allowed 0 } }
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects