AWS WAF URI regex don't match

1

Hi, I created a Web ACL with one rule to allow traffic only on some enpoint, and the default ACL action is to block requests that don't match the rule.

## Rule
Field to Match: URI Path
Regular Expression: /(account|category|post)/ 
Action: ALLOW

##  Default web ACL action for requests that don't match any rules
Action: BLOCK

The problem is that the rule match only path with two or more segments, but don't match path with 1 segment.

http://api.example.com/account/foo/bar     => MATCH - ALLOW
http://api.example.com/account/foo?bar=baz => MATCH - ALLOW
http://api.example.com/account/foo         => MATCH - ALLOW

http://api.example.com/account             => DON'T MATCH - BLOCK
http://api.example.com/account?foo=bar     => DON'T MATCH - BLOCK

What's wrong? I would like the rule matches also path with 1 segment. Thanks in advance

posta 2 anni fa2438 visualizzazioni
1 Risposta
3

Your regex ends with "/" so the last two URLs will not match because "account" in these URL does not end with "/"

Can you try with "/(account|category|post)"?

Thanks

profile pictureAWS
con risposta 2 anni fa
  • Uh really? I'm using "/" as a delimiter of the regex. Anyway now it works

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande