Build CDN profile and endpoint configs with origins, origin groups, delivery rules, caching, compression, and custom domains.
Build CDN profile and endpoint configs with origins, origin groups, delivery rules, caching, compression, and custom domains.
Required Fields
profileNameresourceGroupskuendpointsendpoints[0].nameendpoints[0].originsOutput will appear here...The builder validates that profileName, resourceGroup, sku, endpoints, the first endpoint's name, and its origins all resolve before accepting the JSON as a valid CDN profile-plus-endpoint definition, the fields Azure needs to provision the profile and at least one endpoint with a real origin; it can't verify the referenced origin hostnames are actually reachable or that delivery rule conditions/actions are internally consistent for your intended request flow, those are only confirmed once real traffic hits the endpoint.
Build an Azure CDN profile and endpoint with multiple prioritized origins in an originGroup for automatic failover, deliveryRules evaluated in order for conditional caching/redirect behavior, and per-content-type compression settings. deliveryRules order matters directly, as the example shows an EnforceHttps rule at order 1 before CacheStaticAssets at order 2, since rules execute in ascending order and an HTTP-to-HTTPS redirect needs to happen before any caching logic evaluates the (now-redirected) request, getting delivery rule order wrong doesn't error, it just produces subtly incorrect behavior like caching decisions being evaluated against the pre-redirect request instead of the intended post-redirect one.
Always order delivery rules with protocol/redirect enforcement before caching or other content-dependent rules, getting this backward produces subtly wrong behavior (caching decisions evaluated pre-redirect) rather than an obvious error, which makes it easy to ship unnoticed.
queryStringCachingBehavior IgnoreQueryString is wrong for any endpoint where query strings genuinely affect response content (a paginated API response, a personalized page), verify content actually is query-string-invariant before setting it, or you'll serve incorrect cached content to users.
Compression should be scoped to genuinely compressible content types, applying it broadly to already-compressed binary formats (JPEG, MP4, WOFF2 in some cases) wastes CPU on the CDN edge for negligible or zero size reduction.
It genuinely affects behavior, rules execute in ascending order value, and each rule's actions can affect what the subsequent rule evaluates. Putting a caching rule before an HTTPS-enforcement redirect rule, for instance, means the caching decision gets evaluated against the original HTTP request rather than the redirected HTTPS one, producing behavior that's subtly wrong in a way that isn't obviously broken, just not quite what was intended.
Based on responseBasedOriginErrorDetection's configured threshold (like the example's 50% failover threshold on TcpAndHttpErrors), CDN automatically shifts traffic to the next-priority origin in the group, this happens without any manual intervention or DNS change, which is the core value of configuring an origin group with health probing rather than a single static origin.
No, it only affects how CDN keys its cache, IgnoreQueryString means CDN treats requests to the same path with different query strings as the same cached object (serving the cached version regardless of query string), the original query string is still passed through to the origin on a cache miss. This is the right setting when query strings don't affect the actual response content; the wrong setting (causing incorrect cached responses to be served) if they do.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.