cdn.convertly.sh:
cdn.convertly.sh.
How it works
You add a CNAME record from your hostname to a Convertly edge target. Convertly’s edge sees theHost header, looks up which workspace cdn.yourdomain.com is bound to, and serves the response with valid SSL. From the browser’s perspective the URL belongs to you; behind the scenes Convertly does the rendering and caching.
No origin-shielding work, no Cloudflare account, no SSL cert to manage. Convertly’s edge handles caching, format negotiation, and cert renewal for every custom hostname you add.
Setup
Pick a hostname
A subdomain on a domain you control.
cdn.yourdomain.com is the convention; images.yourdomain.com and media.yourdomain.com are common alternatives.Add the hostname in Convertly
Go to Settings → Image CDN → Custom domain, click Add hostname, and enter
cdn.yourdomain.com. You’ll see:- The CNAME target to point your DNS at (e.g.
cdn-edge.convertly.sh). - A verification token in the form of a
_convertly-verifyTXT record. This proves you own the domain before we issue an SSL certificate for it.
Add two DNS records at your registrar
In your DNS provider (Cloudflare, Route 53, Namecheap, Vercel, etc.) add:
If your DNS is on Cloudflare, set the proxy status on the
| Type | Name | Value | TTL |
|---|---|---|---|
CNAME | cdn | cdn-edge.convertly.sh | Auto / 300 |
TXT | _convertly-verify.cdn | the verification token from Settings | Auto / 300 |
CNAME to DNS only (grey cloud). Convertly’s edge handles caching; an extra Cloudflare proxy on top isn’t needed and complicates SSL.DNS usually propagates in 1–5 minutes. The Settings page polls for the records every 30 seconds and shows a green tick once both are visible.Wait for SSL
The moment we see the TXT record, we kick off SSL provisioning (Let’s Encrypt via the ACME HTTP-01 challenge over your new CNAME). It usually finishes in under a minute.The hostname’s status badge moves through Pending DNS → Pending SSL → Active. When it’s Active, your domain is live.
Update your delivery URLs
Pass your custom hostname as Or set Use a delivery alias instead of
baseUrl in the SDK or loader config. Newly rendered URLs pick up the hostname automatically:NEXT_PUBLIC_CONVERTLY_CDN_HOST=https://cdn.yourdomain.com and read it in your loader.cvly_pub_… when you want a readable key segment. Existing cdn.convertly.sh URLs in already-rendered HTML keep working — both hostnames are valid simultaneously.Multiple hostnames
You can bind several hostnames to the same workspace — useful for multi-brand sites or staging vs. production. Add each one in Settings → Image CDN → Custom domain; they’re all equivalent (same delivery keys, same caches, same metering). Set whichever hostname is active in your app’sbaseUrl / environment config when building CDN URLs. Switch at any time without breaking previously rendered URLs on other hostnames.
Rotating to a new hostname
Replacingcdn.old.com with cdn.new.com:
- Add
cdn.new.comin the dashboard. Provision DNS + SSL as above. - Once Active, point your SDK
baseUrl(or env var) atcdn.new.com. New URLs use the new hostname. - Leave
cdn.old.combound to the workspace for as long as old URLs are still cached downstream (we recommend at least 30 days; many teams keep it indefinitely so old marketing links don’t 404).
SSL renewal
Certificates are auto-renewed ~30 days before expiry, transparently. As long as the CNAME stays pointed at us, you never touch it. If you delete the CNAME or change its target, renewal will fail and the hostname’s badge will turn red after the cert expires. The Settings page will show the exact failure reason.Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Status stuck on Pending DNS | The CNAME or TXT record isn’t visible from public DNS yet. | dig cdn.yourdomain.com and dig TXT _convertly-verify.cdn.yourdomain.com should both resolve. If they don’t, check your DNS provider for typos. |
| Status stuck on Pending SSL | ACME challenge can’t reach the CNAME target. | Confirm the CNAME points at cdn-edge.convertly.sh (not an old/wrong target) and the proxy status (if on Cloudflare) is DNS only. |
421 Misdirected Request | The hostname resolves to our edge but isn’t bound to your workspace yet. | The hostname needs to be Active in Settings before traffic works. |
SSL_ERROR_NO_CYPHER_OVERLAP / ERR_CERT_COMMON_NAME_INVALID | Cert isn’t ready or hostname mismatch. | Wait for Active status. If already Active, try a hard refresh — browsers cache cert errors aggressively. |
| Cache miss on every request | Hostname shares cookies with your app. | Use a dedicated subdomain (e.g. cdn. rather than reusing www. or the apex). |
Next steps
Set up the image CDN
Create a delivery key, attach a source, install the SDK.
Every URL parameter
Width, height, quality, fit, gravity, format, smart crop.
Presets and signed URLs
Named transformation bundles and HMAC-signed URLs.