17-May-2022 03:15
Can somebody help on this. the first irule is working perfectly but when adding OR condition it is not (not working section) .
this is working:
----------------------
when HTTP_REQUEST {
if { (([HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0") and ([IP::client_addr] equals "172.16.37.16"))}
{ reject }}
not working
------------------
when HTTP_REQUEST {
if { (([HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0") or ([HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0?wsdl")
and ([IP::client_addr] equals "172.16.37.16"))}
{ reject }}
Solved! Go to Solution.
17-May-2022 13:49
Hi ralph_ralf,
You should use "and" instead of "or" to block requests except these two uri.
when HTTP_REQUEST {
if { [IP::client_addr] equals "172.16.37.16" && [HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0" && [HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0?wsdl" } {
reject
}
}
17-May-2022 13:49
Hi ralph_ralf,
You should use "and" instead of "or" to block requests except these two uri.
when HTTP_REQUEST {
if { [IP::client_addr] equals "172.16.37.16" && [HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0" && [HTTP::uri] ne "/evs/ent.msg.evs.ext.Notification_1.0?wsdl" } {
reject
}
}
20-May-2022 05:01
Thabk you so much its working now