Fast Content Delivery
from the edge

Cache and deliver content through edge locations closer to your users — with public or signed access built in.

Storage and CDN delivery in one infrastructure stack. Select a bucket, enable delivery, and get a dedicated HTTPS endpoint — right from your Rabata dashboard.

Everything you need to deliver stored content faster

Edge caching

Cache frequently requested objects at edge locations closer to users instead of sending every request directly to the storage origin.

Custom domains and SSL

Deliver assets through your own CDN hostname with DNS verification and SSL support.

Storage + CDN in one stack

Turn any Rabata Storage bucket into a CDN origin without setting up and maintaining a separate CDN provider. There's nothing to configure outside your Rabata dashboard.

Public and protected delivery

Choose public CDN access for open assets or signed delivery with expiring URLs for protected content, when you enable CDN on a bucket.

Signing a delivery URL

require "base64"
require "openssl"
require "uri"

def sign_cdn_url(url, signing_key, expires_in: 3600)
  uri = URI(url)
  expires = Time.now.to_i + expires_in
  digest = OpenSSL::HMAC.digest("SHA256", signing_key, "#{uri.path}#{expires}")
  token = Base64.urlsafe_encode64(digest, padding: false)
  uri.query = URI.encode_www_form(token: "HS256-#{token}", expires: expires)
  uri.to_s
end
  • HMAC-SHA256 signing
  • Expiring access tokens
  • Server-side signing key
Full signing walkthrough

What is a content delivery network?

Problem

Serving every file directly from its storage origin means repeated requests must travel back to the same infrastructure, even when users are distributed across different locations.

Solution

A content delivery network caches frequently requested files at edge locations closer to users. This reduces repeated origin requests and creates a faster delivery path for static assets, media files, downloads, and other stored content.

With Rabata

The CDN is connected directly to Rabata Storage — enable it on a bucket and both layers are managed inside the same dashboard.

Deliver any type of stored content from the edge

Website and media assets

Deliver images, scripts, stylesheets, fonts, video, audio, and other media objects used by websites and applications.

Software and downloads

Distribute installers, application releases, updates, archives, and downloadable files.

User-generated content

Store user uploads in Rabata Storage and deliver frequently requested objects through the CDN layer.

Protected content

Use signed delivery for premium assets, private downloads, customer files, and content that should only be available for a limited time.

Public or protected — your choice, per bucket

Public CDN — Enable public CDN delivery when objects should be available to anyone with the URL.
Signed CDN — Require an expiring token before Rabata delivers the requested object.

Signed CDN URLs use HMAC-SHA256 and include an expiration time, allowing applications to grant temporary access without permanently exposing content. The signing key must remain server-side and should never be included in browser or mobile application source code.

Control how your CDN content is delivered

Custom CDN hostname

Deliver assets through your own domain such as cdn.example.com instead of exposing the generated Rabata hostname. Keep the CNAME in place for as long as the domain stays active.

SSL verification

Add the hostname in Rabata, create a CNAME at your DNS provider, and verify DNS and SSL directly from the dashboard.

Single-object purge

Invalidate a specific object path when a file changes.

Full cache purge

Purge the entire CDN endpoint when a full cache refresh is required.

Purges are asynchronous and may take a short time to propagate across all edge locations.

Storage and CDN delivery in one workflow

  1. 1 Application / upload workflow
  2. 2 Rabata Storage Bucket
  3. 3 Rabata CDN Endpoint
  4. 4 Edge Cache
  5. 5 Custom Domain / Rabata HTTPS Endpoint
  6. 6 Users

Rabata Storage acts as the origin while CDN edge locations cache and serve requested objects closer to users. External arbitrary origins are not supported — CDN endpoints always use a Rabata Storage bucket as their origin.

Built on a global network you can actually feel

  • 119 PoPs across Europe, North America, Asia, Oceania, Latin America, and the Middle East & Africa
  • Sub-25ms average latency, wherever your users are
  • High-capacity backbone, built to handle traffic spikes without slowing down

Rabata CDN runs on a global edge network sized for consistent delivery, not just peak-hour performance.

Integrated CDN vs managing storage and delivery separately

Feature
Rabata Storage + CDN
Separate storage + CDN stack
Origin setup Select an existing bucket Configure external origin
Storage integration Built in Separate provider integration
Origin credentials Created automatically Managed across providers
Public delivery Built in Requires CDN setup
Signed delivery Expiring HMAC-SHA256 URLs Provider-dependent
Custom domain + SSL Managed in Rabata Separate configuration
Cache invalidation Single object or full endpoint Provider-dependent
Usage visibility Integrated Rabata dashboard Usually split across services

Built for teams that already use Rabata Storage and want edge delivery without adding another infrastructure provider to the stack.

Know how much content your CDN delivers, and what it costs

Region-based pricing, tracked per endpoint.

Calculate your monthly cost

$0.01/GB
$0.03/GB
$0.045/GB
$0.06/GB

Secure delivery without exposing your storage origin

  • Dedicated origin credential per CDN endpoint
  • Origin credential secret is not stored in the Rabata application database
  • Signed URLs with expiration
  • HMAC-SHA256 signing
  • Server-side signing keys
  • Signing key rotation
  • HTTPS CDN endpoints
  • SSL for verified custom domains

Frequently asked questions

A content delivery network caches your stored files at edge locations around the world, so requests are served from a location close to the viewer instead of traveling back to a single storage origin every time.

Rabata Storage is always the origin. Once CDN is enabled on a bucket, requested objects are cached at edge locations and served from there on subsequent requests.

No. Rabata CDN endpoints always use a Rabata Storage bucket as their origin.

You generate a token server-side using your signing key, the object path, and an expiration time — the key is shown only once, so save it when you enable signed delivery. Full details and rotation behavior.

Yes, once your custom domain is verified.

Delivered data, request count, and current cost are shown per endpoint directly in the Rabata dashboard, aggregated by calendar month.

An edge delivery layer built directly on top of Rabata Storage. Enable it on a bucket and get a dedicated HTTPS endpoint — no separate CDN account or provider to manage.

Yes. Once an object is cached at the edge, repeat requests are served from that edge location rather than hitting the storage origin again.

Public delivery serves an object to anyone with the URL. Signed delivery requires a valid, time-limited HMAC-SHA256 token before the object is served.

Yes. Add your hostname in Rabata, create a CNAME at your DNS provider, and verify it from the dashboard.

Purge a single object path when one file changes, or purge the entire CDN endpoint for a full cache refresh. Purges are asynchronous and propagate across edge locations within a short time.

Delivery stops right away and the endpoint's usage for the month is finalized. Details on re-enabling and billing continuity.