Forum Discussion
@Dario
Thank you .
I have to modify this rule with few more if and else statements , Can you please help ?
1.Redirect all the request comming from specidic source IP : 10.10.10.10 or 10.10.10.0/24 to www.example.fr/ckpartner
- Jan 23, 2020
Hello Chethan.
Below one example of using URI replacement (first statement) and redirect (second statement).
when HTTP_REQUEST { if { [HTTP::host] contains "www.example.fr" } { HTTP::uri /ckpartner } elseif { [IP::addr [IP::client_addr] equals 10.10.10.0/24] } { HTTP::redirect "http://www.example.fr/ckpartner/" } }
Note that in the redirect command you should use the adequate scheme (http:// or https://)
Please, don't forget to mark this answer as "the best" if it was helpful.
KR,
Dario.
- Blue_whaleJan 24, 2020Cirrocumulus
Thanks Dario ,
I tested first irule , it did not work for us .
We want all the request comming to www.example.fr from specific source 10.10.10.1 to get redirected to www.example.fr/ckpartner/ and this should be logged .
Can you please check if the below Irule we can achieve this ?
when HTTP_REQUEST {
if { ([IP::addr [IP::client_addr] equals 10.10.10.1]) && ([HTTP::host] starts_with "www.example.fr") } {
log local0.
set newUri [string map {"/" "ckpartner/"} [HTTP::uri]]
HTTP::uri $newUri
}
}
- Jan 24, 2020
Try this
when HTTP_REQUEST { if { ([IP::addr [IP::client_addr] equals 10.10.10.1]) && ([HTTP::host] contains "www.example.fr") } { if { [HTTP::path] equals "/" } { HTTP::redirect "/ckpartner/" log local0. "Redirection to /ckpartner" } } }
KR,
Dario.
- Blue_whaleJan 29, 2020Cirrocumulus
Thanks for your help ,
My requirement is currently working with below Irule but I would like to add Datagroup to below Irule so that I can filter more external IP's
Could you please help me modify this irule .
I tried but I got error "variable reference required preeciding $"
when HTTP_REQUEST {
if {
([IP::client_addr] contains "10.10.10.1%70") && ([string tolower [HTTP::uri]] contains "/cklauncher/")
}
{
drop
}
elseif { [string tolower [HTTP::path]] equals "/" && ( [IP::addr [IP::client_addr] equals 10.10.10.1%70]) } {
# redirect the request
log local0. "issuing redirect request to [HTTP::host][HTTP::uri] from [IP::client_addr]"
HTTP::redirect https://[getfield [HTTP::host] ":" 1]/ckpartner/
}
}