<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:hub="http://hub.upcloud.com/"><channel><title>Documentation – Content Delivery Network (CDN) Guides</title><link>https://upcloud.com/docs/guides/cdn/</link><description>Recent content in Content Delivery Network (CDN) Guides on Documentation</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>hello@upcloud.com (UpCloud)</managingEditor><webMaster>hello@upcloud.com (UpCloud)</webMaster><copyright>© 2024 UpCloud</copyright><atom:link href="https://upcloud.com/docs/guides/cdn/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Wed, 07 Oct 2026 07:39:48 +0000</lastBuildDate><item><title>How to get started with UpCloud CDN</title><link>https://upcloud.com/docs/guides/get-started-upcloud-cdn/</link><pubDate>Wed, 07 Oct 2026 07:39:48 +0000</pubDate><author>hello@upcloud.com (UpCloud)</author><guid>https://upcloud.com/docs/guides/get-started-upcloud-cdn/</guid><hub:summary/><hub:linkHref/><hub:linkTitle/><description>
Beta notice UpCloud CDN is in closed beta. To request access, contact Customer Support. Features shown in this guide may change before general availability.
What a CDN is A content delivery network (CDN) is a set of servers spread around the world that keep copies of your files close to the people requesting them. The first request for a file is fetched from your server (the origin) and stored at the CDN edge. Later requests for the same file are served from the edge, so they are faster for the visitor and put less load on your origin.
The UpCloud CDN is a pull-based CDN with more than 120 points of presence (PoPs) worldwide. You do not upload files to it. You point it at an origin, and it fetches and caches content on demand.
Before you start You need:
An UpCloud account. An origin that serves your content over HTTP or HTTPS. This can be an UpCloud Object Storage bucket, a Managed Load Balancer, a Cloud Server, or any public URL. If you want a branded hostname such as cdn.example.com, access to the DNS for that domain. The CDN is billed on the bandwidth it delivers, with a rate that depends on the region content is served from. See CDN billing for how it works and the pricing page for current rates.
Create a CDN In the Control Panel, open CDN in the left-hand menu and select Create CDN. Fill in the sections below and select Create CDN at the bottom of the page. CDN configuration Give the CDN a Name for your own reference and a Hostname prefix. The prefix becomes your default hostname: entering mysite serves your files from mysite.b-cdn.net. You can add your own hostnames after the CDN is created.
Origin The origin is where your original content lives. Choose one of four origin types:
Origin URL. Enter the full URL of your site or files, including https://. Use this for anything outside UpCloud, or to point at a specific address such as a single Object Storage bucket. Object Storage. Pick a Managed Object Storage instance from the list. The origin URL is set to the instance endpoint, and every public bucket on it is reachable through the CDN by putting the bucket name first in the path, for example https://mysite.b-cdn.net/my-bucket/image.jpg. Load Balancer. Pick a Managed Load Balancer. The origin URL is set to its hostname. Server. Pick a Cloud Server. The origin URL is set to its public IP address over plain HTTP. Leave Host header empty unless your origin serves several sites and needs a specific hostname to pick the right one. See Origins and caching for every origin setting.
Object Storage origins Objects must be publicly readable for the CDN to fetch them, either through the bucket's anonymous HTTPS access setting or a bucket policy. Requests for private objects return a 403 error to visitors. To serve one bucket at the root of the CDN hostname instead of under its bucket name, use the Origin URL type with the bucket's own address, for example https://my-bucket.g7bao.upcloudobjects.com.
Choose tier and pricing zones Select the Standard tier. The High Volume tier is for large file and video workloads and is enabled by sales. See Configurations.
Below the tier, all five pricing zones are enabled by default. Disabling a region routes visitors there to the nearest enabled region, which lowers cost for that traffic at the expense of latency. Leave them all enabled unless you have a reason not to. See Availability.
Manage a CDN After creation, the CDN list shows each CDN's name, UUID, origin, tier, month-to-date traffic, and estimated cost. Select a row to open it.
Each CDN has four tabs: Overview, Security, Edge rules, and Usage. The Purge cache button and the Delete menu are available on every tab.
Overview tab The Overview tab holds the CDN name, its UUID and main hostname, the hostname list, the origin settings, caching options, pricing zones, and the monthly bandwidth limit. The defaults are sensible for most sites. The one thing most people want to change is the hostname, covered next.
Add a custom hostname Your CDN always has a default hostname on b-cdn.net, marked Main. Adding a custom hostname lets visitors see your own domain.
In the Hostnames section, enter a subdomain such as cdn.example.com and select Add hostname. Root domains such as example.com are not supported.
A pop up dialog shows the CNAME record to create. At your DNS provider, add a CNAME record with the name you entered, pointing at your default b-cdn.net hostname.
Wait for DNS to propagate, then click Verify CNAME in the pop up dialog or in the hostname row. Propagation usually takes a few minutes but can take longer depending on your provider and TTL. Until it succeeds, the row shows CNAME missing.
Once the custom domain has been verified, select the SSL button in the row and choose a certificate:
Enable free SSL. A Let's Encrypt certificate is issued and renewed automatically. The row shows Provisioning for a short while, then Enabled. Set up manual SSL cert. Paste or upload your own PEM-encoded certificate and private key. Optionally turn on Force SSL for the hostname so that HTTP requests are redirected to HTTPS.
Cloudflare users: set the record to DNS only Turn off the proxy (orange cloud) on the CNAME record. With the proxy on, DNS returns Cloudflare's addresses instead of the CNAME, verification fails, and traffic would pass through two CDNs.
Root domains Root domains such as example.com are not supported as custom hostnames. Use a subdomain such as cdn.example.com or www.example.com, and redirect the root domain to it at your web server or DNS provider.
Security tab CORS headers adds Access-Control-Allow-Origin: * to responses for the file extensions in the allowed list, which you need if pages on other domains load fonts or scripts from the CDN. Select Edit to change the list, then Done.
Hotlink protection controls which websites can embed your content based on the Referer header. Leave the lists empty to allow everyone, or add your own domains to Allowed referrers to stop other sites using your bandwidth. See CDN security for each setting.
Edge rules tab Edge rules change how the CDN handles requests that match a condition, before they reach the cache or the origin. Use them for redirects, cache overrides, blocking, and header changes.
Select Add rule to open the rule builder. A rule is a trigger (what to inspect, such as the URL or the visitor's country), one or more patterns to match, and an action to take.
For the full list of triggers, actions, and variables, see Edge rules.
Below are some common edge rules. Each lists the fields to set in the Add rule dialog; leave anything not listed at its default.
Block visitors from a country
Trigger type: Country code Pattern matching: Match any Patterns: the two-letter country code to block, such as CN. Select Add pattern to block more than one country. Action: Block request Status code: 403 Forbidden Redirect an old path to a new one
Trigger type: URL Pattern matching: Match any Patterns: */old-blog/* Action: Redirect Redirect URL: https://www.example.com/blog/%{Path.-1} Status code: 301 Moved Permanently Cache images longer than other files
Trigger type: URL extension Pattern matching: Match any Patterns: jpg, png, webp, each added separately with Add pattern Action: Override edge cache time, then set the cache duration This also sets the browser cache time to the same duration. To keep a different browser cache time, add a second rule with the same trigger and the Override browser cache time action. The new edge cache time applies to files fetched after the rule is created, so purge the cache afterwards.
Force HTTPS on a single path
Trigger type: URL Pattern matching: Match any Patterns: */account/* Action: Force SSL Usage tab Billing summary shows month-to-date bandwidth, request count, and the estimated bandwidth price. It comes from the billing system, is refreshed every 10 minutes, and is what appears on your end-of-month invoice.
Statistics shows traffic over time. Daily statistics are kept for the past 365 days and can be viewed in ranges of up to 40 days. Statistics are collected with a delay of about an hour, so a new CDN shows no data at first.
Purge cache Purge cache removes every cached object for this CDN from all edge locations. The next request for each file is fetched from the origin again. Use it after you change files at the origin and need visitors to see the new version immediately.
Purging is global and cannot be undone. Expect a short increase in origin load while the cache refills.
Delete a CDN Open the menu next to Purge cache and select Delete. Deleting stops the CDN hostnames from serving. Remove or repoint any DNS records that reference the b-cdn.net hostname first.
Troubleshooting "This hostname cannot be added to this CDN distribution". The hostname is on a blocklist. Reserved and well-known domains such as example.com and google.com are rejected, including any subdomain of them. Check the spelling, and if it is your own domain and is still rejected, contact support.
Custom hostname stays at "CNAME missing". Check the record with a public DNS lookup tool. The record must be a CNAME pointing exactly at your b-cdn.net hostname. Common causes: the hostname is a root domain, the record was created with the wrong name or target, a Cloudflare proxy is enabled on the record, or the change has not propagated yet. Wait a few minutes and select Verify CNAME again.
Visitors see old content after an update. Smart Cache honors Cache-Control from your origin. Either purge the cache, lower the cache time at the origin, or add an edge rule that overrides the edge cache time for the affected path.
Files are still served after you made them private or changed the origin. The edge keeps its cached copies until they expire, regardless of what changed at the origin. Purge the cache after revoking access to a bucket or switching the origin.
HTML pages are not cached. This is expected. Smart Cache never caches dynamic responses, including HTML. Use the CDN for static assets, or use an edge rule to override the edge cache time for specific HTML paths if you understand the consequences.
CDN stopped serving mid-month. Check Monthly bandwidth limit on the Overview tab. When the limit is reached, the CDN is disabled until the next billing cycle.
Fonts or scripts fail to load from another domain. Enable CORS headers on the Security tab and make sure the file extension is in the allowed list, or clear the list to apply the header to all responses.
Images load on your site but not when linked from elsewhere. Hotlink protection is doing its job. Add the other site to Allowed referrers if you want it to work.</description></item></channel></rss>