Previously, it was possible to change the default behavior of ArvanCloud Security products for different domain addresses with “page rules”. In the new generation of these products, this is done by defining rules in the respective product. These rules use a different type of page rule called “Glob Pattern” to specify an address.
Glob patterns are a common way to match addresses on Unix operating systems. In this way, the following meta scripts are introduced to define the pattern of a part of an address:
- ? : a character of any kind
- * : any string (also empty string)
- […] : only the characters in brackets. Characters can be defined as a range (like a-z). To use “-” as one of the characters, it must be placed after the character. For example: [abc-]
- […!] : Any character except the characters in brackets.
None of these contain the address separator “/”. For this reason, the superscript »**« (without suffix or prefix) should be used to check a pattern in all sub-branches.
Note: Glob patterns in the new generation of ArvanCloud Security are not case-sensitive.
Note: Given the common <scheme>://<hostname>/<path> form for addresses, patterns are matched only with the <hostname>/<path> part (and the / /:<scheme> part is not considered).
Assuming you are setting up the example.com domain, the following table shows examples of glob patterns and their matches and mismatches:
Glob Pattern | |
Pattern | Conformity |
example.com/** | Any path within example.com (and not its subdomains) |
*example.com | Any subdomain of example.com |
example.com/test* | Matches with:
example.com/test example.com/tests example.com/TeSt Not Matches with: example.com/atest example.com/test/icon.jpg |
example.com/assets/**/*.jpg | Matches with:
example.com/assets/icon.jpg example.com/assets/images/bg.jpg example.com/assets/images/icons/ok.jpg Not Matches with: example.com/assets/icon.png |
api.example.com/v? | Matches with:
api.example.com/v1 api.example.com/v2 Not Matches with: api.example.com/v api.example.com/v1/items |
api.example.com/v[0-9]/** | Matches with:
api.example.com/v1 api.example.com/v1/items Not Matches with: api.example.com/v api.example.com/va |