Configure CDN Caching

Overview

CDN caching enables you to control how your web application assets are cached at the edge.

By defining caching parameters and applying them to specific URL paths, you can:

  • Reduce origin load

  • Improve response latency

  • Control cache freshness

CDN caching is configured per asset using a CDN Caching practice and Caching Configuration parameters, available via the CDN Caching tab in the asset view.

circle-info

Available only for assets associated with a WAF SaaS profile. If no WAF SaaS profile is attached, the CDN Caching tab displays a placeholder indicating that the feature is available only for assets with WAF SaaS profile.

circle-info

Planned Enhancements:

  • Path-based invalidation

  • Improved invalidation status visibility

  • Cache monitoring (hit/miss ratio insights)

If you're interested in any of the enhancements reach out to your check point contact

Limitations:

  • Assets sharing the same domain must use identical caching configuration if CDN caching is enabled on more than one of them

  • Two parameters within the same practice cannot define identical path patterns

  • Root domains are currently not supported

  • Only HTTPS (port 443) is supported

    • Non-standard ports are not supported

Configuration

Prerequisites

  • Completed domain deployment

  • WAF SaaS profile attached to the asset

Enable CDN Caching

CDN caching can be configured either during asset creation or on an existing asset.

  • During asset creation: CDN caching can be enabled as part of the setup wizard. When enabled, the created asset is automatically associated with a default CDN Caching practice, including predefined caching parameters.

    • Default Caching Parameters:

      • System-defined and read-only

      • Cannot be edited

      • Can be removed from a practice

      • Additional parameters can be created and added

  • For an existing asset with a WAF SaaS profile, navigate to the CDN Caching tab to create a new practice and define or attach caching parameters.

CDN caching is managed using practices and parameters:

  • Practice: controls whether CDN caching is enabled

  • Parameter: defines how requests matching specific paths are cached

Practice

Each Practice includes:

  • Parameters – Name of the caching parameters

  • Paths – URL patterns matched by the parameter

  • Caching Policy – Defines TTL and cache key behavior

  • Used By – Number of assets using this parameter

The toolbar allows creating, editing, and removing parameters.

Parameter

Each parameter includes:

  • Name

  • Paths – URL path patterns

  • Caching Policy - Cache behavior settings, including:

    • TTL

    • Headers

    • Query strings

    • Cookies

Each Parameter also offers a "Used By" view, which indicates by what assets and domain it is used and also allows direct navigation to each asset.

chevron-rightPath Matchinghashtag

Path matching is based on pattern matching.

  • Matching is case-sensitive

  • A leading / is optional and implicitly assumed

Supported Wildcards

  • * — matches 0 or more characters

  • ? — matches exactly 1 character

Examples

/images/*

/images/logo.png

*.jpg

image.jpg

/file?.txt

/file1.txt

/api/v1/*

/api/v1/users

Additional Constraints

  • Maximum pattern length is 255 characters

  • Patterns are case-sensitive (e.g., *.jpg does not match LOGO.JPG)

  • Supported Characters: _ - . * $ / ~ " ' @ : + &

Most Specific Match Wins

When multiple parameters match a request, the most specific path pattern is applied.

More specific patterns:

  • Match a narrower set of requests

  • Contain fewer wildcards

  • Include longer or more detailed paths

Example

Parameters:

  • /a/*

  • /a/b/*

Request: /a/b/file.png

/a/b/* is applied

Example

Parameters:

  • *.jpg

  • /images/*.jpg

Request: /images/logo.jpg

/images/*.jpg is applied

Evaluation is based on specificity, even if parameters are displayed alphabetically in the UI.

chevron-rightCaching Policyhashtag

Caching policies define how responses are cached.

TTL (Time to Live)

TTL determines how long a response is cached.

  • Default TTL is used when no caching headers are present

  • Minimum TTL enforces a lower bound

  • Maximum TTL enforces an upper bound

TTL works together with response headers to determine the final cache duration.

Cache Key

The cache key determines whether requests are treated as identical or different.

It is based on selected request attributes such as:

  • Headers

  • Query strings

  • Cookies

Key Behavior

  • If a value is included in the cache key → requests with different values are cached separately

  • If a value is ignored → requests are treated as identical for caching purposes

Example

If query strings are ignored:

  • /image.png?size=small

  • /image.png?size=large

→ Both requests may use the same cached response

If query strings are included: → Each variation may create a separate cache entry

Choosing fewer attributes increases cache hit ratio, while including more attributes increases granularity.

Cache Hit vs Miss

Cache behavior can be inspected using tools such as curl by checking response headers.

For example:

curl -I https://example.com/file.jpgarrow-up-right

Depending on the environment and configuration, response headers may indicate whether the response was served from cache or fetched from the origin.

Sharing Parameters Across Practices

  • Default parameters cannot be edited

  • The Used By view provides visibility into all usages

Additional Notes:

  • A parameter can be used in multiple practices

  • Changes affect all usages

  • Removing a parameter from a practice does not delete it

Caching parameters are reusable across multiple practices and assets.

Cache Invalidation

  • Executed asynchronously

  • Applied per domain

  • May take several minutes

Cache invalidation forces cached content to be refreshed.

circle-info

Cache invalidation is currently available via UI only

chevron-rightCDN APIhashtag

CDN caching configuration is available via the GraphQL API.

You can:

  • Create and update caching practices

  • Create and update caching parameters

circle-info

Cache invalidation is not currently available via the API

API Access

The API can be accessed using GraphQL clients (such as Postman), or via the Infinity Portal:

https://portal.checkpoint.com/dashboard/appsec/cloudguardwaf#/waf-support/api/arrow-up-right

Available Operations

Queries

  • Query.getCachingConfigurationParameter

  • Query.getAllCachePolicies

  • Query.getCachingPractice

Mutations

  • Mutation.newCachingConfigurationParameter

  • Mutation.updateCachingConfigurationParameter

  • Mutation.newCachingPractice

  • Mutation.updateCachingPractice

Last updated

Was this helpful?