ralph_ralf
May 17, 2022Altostratus
Solved
condition irule OR not working
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 }}
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 } }