> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.ibee.co.in/docs/network-security/cdn/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ibee.co.in/_mcp/server. # CDN > Distribute content globally with IBEE CDN. Cache an Object Storage bucket or any HTTPS origin at edge locations for low-latency delivery, with automatic SSL. The IBEE CDN caches your content at edge locations around the world so users get fast load times no matter where they are. Front any **IBEE Object Storage bucket** or any **custom HTTPS origin** with a single distribution. Each distribution gets a CDN URL in the format `dl-{hash}.cdn.ibee.ai` and an automatically-provisioned SSL certificate. ## Use cases * Accelerate static assets (images, CSS, JS) for websites. * Reduce origin server load by caching responses at the edge. * Add a TLS-terminated edge in front of an Object Storage bucket — see [Object Storage → CDN integration](/docs/infrastructure/object-storage/cdn-integration). * Cache responses from any external HTTPS server. ## Before you begin * An active IBEE Solutions organization with a verified account * For Object Storage origins — a bucket with content to serve ([Buckets](/docs/infrastructure/object-storage/buckets)) * For custom origins — a publicly reachable HTTPS endpoint ## Create a distribution ### 1. Open CDN In the IBEE Solutions portal, click **CDN** in the left sidebar under **Network & Security**. The page lives at `portal.ibee.ai/organizations/{orgId}/workspaces/{workspaceId}/cdn`. ### 2. Open the Create dialog Click **+ Create CDN** at the top right. The **Create CDN Distribution** dialog opens with the subtitle *"Configure origin and caching."* If no distributions exist, the empty state shows *"No CDN Distributions — Create a distribution to cache and accelerate your content delivery."* ### 3. Fill in the fields | Field | Required | Description | | ---------------- | -------- | -------------------------------------------------------------- | | **Name** | Yes | Unique distribution name (placeholder: `my-cdn-distribution`). | | **Origin Type** | Yes | Choose **Object Storage Bucket** or **Custom Origin**. | | **Cache Policy** | Yes | Select the caching behavior — defaults to `Static Assets`. | ### 4. Pick an origin type **Object Storage Bucket** — *"Use an existing bucket from your storage."* Pick a bucket from the **Select a bucket** dropdown (searchable). Only buckets in the current organization are listed. **Custom Origin** — *"Use any external HTTPS website or server."* | Field | Required | Description | | -------------------------- | -------- | ---------------------------------------------------------------- | | **IP address/Domain name** | Yes | Origin host (placeholder: `api.example.com` or `192.168.1.100`). | | **Port** | Yes | Origin port — defaults to `443`. | The custom origin must be reachable over HTTPS. HTTP-only origins are not supported. ### 5. Choose a cache policy The **Cache Policy** dropdown offers four presets: | Policy | TTL | Best for | | ----------------------------- | ------- | -------------------------------------------------------------- | | **Static Assets** *(default)* | 1 year | Images, fonts, CSS, JS — long-lived assets that rarely change. | | **Media Files** | 30 days | Video and audio. | | **Short Cache** | 1 hour | Frequently changing content. | | **No Cache** | None | Always fetches from the origin. | ### 6. Save Click **Create Distribution**. The distribution is provisioned and assigned a CDN URL. > **Info** > > **Custom domains and SSL** > Custom domains can be added after the distribution is created. SSL certificates are automatically provisioned — no manual configuration required. ## Verify Your new distribution appears in the CDN list with these columns: | Column | Description | | ------------ | -------------------------------------- | | NAME | Distribution name | | ORIGIN | Source bucket or custom origin | | CDN URL | Assigned URL — `dl-{hash}.cdn.ibee.ai` | | CACHE POLICY | Selected caching behavior | | STATUS | Active / Provisioning | | ACTIONS | Delete | Copy the **CDN URL** and use it to serve your content. Click a distribution's name to open its detail page — overview cards for origin, cache policy, and status, the default CDN URL, and the custom domains section. ## Custom domains Serve content from your own hostname (e.g. `cdn.example.com`) instead of the default CDN URL. ### Point your DNS at the CDN At your DNS provider, create a CNAME record from your subdomain to: ``` cname.cdn.ibee.ai ``` ### Add the domain On the distribution's detail page, click **Add Domain**, enter the subdomain you pointed at the CNAME target, and click **Add Domain**. ### Wait for validation The domain card shows **Pending** while the domain is validated over HTTP and an SSL certificate is provisioned — usually 5–15 minutes, up to 1 hour. If the card lists extra **TXT** or **CNAME** records, add those at your DNS provider too. Use **Verify** or **Check Status** on the card to re-check. ### Remove a custom domain On the distribution's detail page, click the delete icon on the domain's card. The domain is removed immediately, without a confirmation step. Remove the CNAME record at your DNS provider afterwards. ## Purge cached content Click **Purge CDN** on the distribution's detail page to remove cached content without waiting for TTLs to expire: | Purge type | Matches | Limit | | -------------------- | --------------------------------------------------------- | ----------- | | **URL** | Exact URLs or paths (e.g. `/images/logo.png`) | 30 entries | | **Hostname** | All assets under matching hostnames | 100 entries | | **Tag** | Assets served with a matching `Cache-Tag` response header | 100 entries | | **Prefix** | All assets under a directory (e.g. `/images/`) | 100 entries | | **Purge Everything** | The entire distribution cache | — | Separate multiple entries with commas or one per line. **Purge Everything** requires ticking a confirmation checkbox — it briefly increases origin load while the cache refills. ## Troubleshooting **Distribution not serving updated content** Cached objects live until the policy TTL expires. Use **Purge CDN** with a URL or prefix purge to refresh specific content immediately. **Custom origin not reachable** Ensure your origin is publicly accessible over HTTPS on the specified port. HTTP-only origins are not supported. **Custom domain stuck in Pending** Confirm the CNAME record points to `cname.cdn.ibee.ai` and any listed TXT records are added, then click **Verify**. DNS propagation can take up to an hour. **Cannot add a custom domain during creation** Custom domains are added after the distribution is created, from its detail page. ## Related pages * [Object Storage → CDN integration](/docs/infrastructure/object-storage/cdn-integration) * [Object Storage → Custom Domains](/docs/infrastructure/object-storage/buckets/custom-domains) * [Object Storage buckets](/docs/infrastructure/object-storage/buckets) > Distribute content globally with IBEE CDN. Cache an Object Storage bucket or any HTTPS origin at edge locations for low-latency delivery, with automatic SSL.