What is a custom CDN resource?
A custom CDN resource is a separate CDN product that you create and configure independently from the default Video Streaming setup. It provides:- Advanced security policies (geo-blocking, referrer validation, IP restrictions)
- Custom domain names (e.g.,
video.yourdomain.com) - Granular caching control and CDN settings
- Different billing model (per-GB instead of per-minute)
- Separate access policies for different content types
Key difference: The default Video Streaming CDN is fully integrated and billed per-minute. A custom CDN resource is a separate service billed per-GB with more configuration options.
When to use a custom CDN resource
Consider creating a custom CDN resource if you need:| Feature | Default streaming CDN | Custom CDN resource |
|---|---|---|
| Billing model | Per-minute (all-inclusive) | Per-GB (bandwidth only) |
| Custom domains | Not available | ✅ Supported |
| Geo-blocking | Not available | ✅ Country access policies |
| Referrer validation | Not available | ✅ Domain restrictions |
| IP allowlists/blocklists | Not available | ✅ IP access policies |
| Secure tokens | Requires custom resource | ✅ Configurable |
| Advanced caching | Default settings | ✅ Full control |
| Separate policies | One policy for all | ✅ Multiple resources |
Common use cases
1. Geo-blocking for broadcasting rights
Scenario: You have broadcasting rights only in specific countries (e.g., sports events, regional content). Solution: Create a custom CDN resource with Country access policy to restrict content to specific regions. Example:- Allow only: Stream available only in Dominican Republic, Mexico, and Brazil
- Block: Stream blocked in specific countries while available elsewhere
2. Custom domain names
Scenario: You want to deliver video from your branded domain instead of defaultclientID.gvideo.io.
Solution: Create a custom CDN resource with a CNAME pointing to your domain (e.g., video.yourdomain.com).
Benefits:
- Brand consistency
- Professional appearance
- Custom SSL certificates
3. Protected and public content separation
Scenario: You have both free public content and paid/protected content. Solution: Create two custom CDN resources:public.yourdomain.com– No restrictions, free contentprotected.yourdomain.com– Secure tokens enabled, paid content
4. Referrer validation for embedding control
Scenario: You want to prevent other websites from embedding your videos without permission. Solution: Create a custom CDN resource with Referrer validation to allow embedding only on approved domains. Example:- Allow embedding only on
mywebsite.comand*.mywebsite.com - Block embedding on all other sites
Security and access control policies
Custom CDN resources unlock powerful security features through CDN access policies. See the full documentation: Control access to content with country, referrer, IP, and user agents policies.Country access policy (geo-blocking)
What it does:- Restrict content availability by country or region
- Support for both allowlists (allow only) and blocklists (block specific countries)
- Applied at CDN edge servers for fast enforcement
- Broadcasting rights compliance (e.g., “available only in EU countries”)
- Regional content distribution
- Regulatory compliance for specific markets
- Navigate to CDN > CDN resources > Select your resource > Security
- Enable Country access policy
- Choose Allow only (whitelist) or Block (blacklist)
- Select countries from the list
- Save changes
Referrer access policy
What it does:- Control which websites can embed your video content
- Prevent unauthorized hotlinking
- Protect against content theft
- Allow embedding only on your own websites
- Prevent competitors from embedding your content
- Control distribution channels
- Navigate to CDN > CDN resources > Select your resource > Security
- Enable Referrer access policy
- Choose Allow referrer policy or Block referrer policy
- Add domains:
www.domain.com– specific domain only*.domain.com– all subdomains
- Save changes
IP access policy
What it does:- Restrict access based on IP addresses or CIDR ranges
- Create IP allowlists or blocklists
- Network-level access control
- Corporate content delivery (allow only company IP ranges)
- Block known bot networks or abusive IPs
- Partner-specific content delivery
- Navigate to CDN > CDN resources > Select your resource > Security
- Enable IP access policy
- Choose Allow IP policy or Block IP policy
- Add IP addresses or CIDR ranges
- Save changes
User agent policy
What it does:- Control access based on user agent strings
- Block or allow specific browsers, devices, or bots
- Useful for device-specific content delivery
- Block known scrapers or bots
- Deliver content only to mobile devices
- Restrict access to specific applications
Billing: per-GB vs. per-minute
Understanding the billing difference is crucial when choosing between default streaming and custom CDN resources.Default streaming CDN (per-minute billing)
What’s included:- Video transcoding
- CDN bandwidth
- Storage
- All streaming features
- 10,000 minutes streamed = billed for 10,000 minutes
- Simple, predictable billing
- Most streaming use cases
- When you want all-inclusive pricing
- When you don’t need advanced CDN features
Custom CDN resource (per-GB billing)
What’s included:- CDN bandwidth only
- No transcoding costs (already covered by streaming)
- No storage costs (already covered by streaming)
- 100 GB transferred = billed for 100 GB at your CDN tariff rate
- Plus your streaming costs (transcoding, storage)
- When you need advanced CDN features (geo-blocking, custom domains)
- High-volume delivery where per-GB is more cost-effective
- When you need separate billing for different content types
How to set up a custom CDN resource for streaming
Prerequisites
Before you begin, ensure:- Active CDN subscription – Activate the CDN product
- Paid CDN tariff – Free tariff does not support streaming
- Video Streaming active – Your streaming account must be active
Step 1: Activate CDN product
- Log in to your Gcore account
- Navigate to CDN in the main menu
- Click Activate CDN service if not already active
- Select a paid tariff that fits your bandwidth needs
Important: The free CDN tariff cannot be used for streaming delivery. You must select a paid plan.
Step 2: Create a new CDN resource
- Navigate to CDN > CDN resources
- Click Create CDN resource
- Configure the resource:
- Origin source: Your Video Streaming subdomain (e.g.,
12345.gvideo.io) - Origin protocol: HTTPS
- Origin pull protocol: HTTPS
- CDN resource name: Descriptive name (e.g., “Streaming - Protected Content”)
- CNAME (custom domain): Optional – Add your custom domain if needed
- Click Create resource
Step 3: Configure security policies (optional)
After creating the resource, configure security policies as needed:- Go to CDN > CDN resources > Select your resource
- Navigate to Security tab
- Configure:
- Country access policy for geo-blocking
- Referrer access policy for embedding control
- Secure tokens for access control
Step 4: Contact support to enable streaming
Critical step: For legal and technical reasons, you must contact Gcore support to activate streaming delivery on your custom CDN resource. What support will do:- Apply necessary
Streaming Rulesto route streaming traffic correctly - Ensure proper manifest and chunk delivery
- Verify CDN resource is properly configured for streaming
- Contact: Gcore Support
- Provide: Your CDN resource ID and streaming client ID
Step 5: Update your application
Once support confirms the setup is complete:-
Test the new CDN resource:
- Replace
clientID.gvideo.iowith your custom domain in video URLs - Verify playback works correctly
- Test security policies (if configured)
- Replace
-
Update your application:
- Change video URLs to use the new custom CDN resource
- Deploy the changes
- Monitor playback metrics
Multiple CDN resources for different policies
You can create multiple custom CDN resources pointing to the same streaming origin, each with different security policies. This allows sophisticated content delivery strategies: Example setup:| CDN resource | Domain | Security policy | Use case |
|---|---|---|---|
| Resource 1 | public.mysite.com | No restrictions | Free, public content |
| Resource 2 | protected.mysite.com | Secure tokens | Paid/private content |
| Resource 3 | us-only.mysite.com | Country: US only | US-specific content |
| Resource 4 | eu-only.mysite.com | Country: EU only | EU-specific content |
- Separate billing per resource
- Different security policies
- Granular access control
- Easier monitoring and analytics
Troubleshooting
CDN resource not delivering content
Problem: 404 or 502 errors when accessing content through custom CDN resource. Solution:- Verify support has configured
Streaming Rulesfor streaming - Check origin settings (should be your streaming subdomain)
- Ensure CDN tariff is paid and active
Secure tokens not working
Problem: 403 errors even with valid tokens. Solution:- Verify secure token is enabled on the CDN resource
- Check token generation matches CDN configuration (IP binding, etc.)
- Ensure expiration time is in the future
- See Video secure token for implementation details
Geo-blocking not working
Problem: Content accessible from blocked countries. Solution:- Verify country access policy is enabled and saved
- Check policy type (Allow only vs. Block)
- CDN changes can take 5-15 minutes to propagate
- Test from a VPN or proxy in the target country
Custom domain not working
Problem: DNS errors or certificate issues with custom domain. Solution:- Verify CNAME record points to your CDN resource
- DNS propagation can take 24-48 hours
- Ensure SSL certificate is valid
- Check CDN resource status in portal
Next steps
- Set up access control: See Video secure token
- Learn about CDN features: Browse CDN documentation
- Optimize caching: Configure CDN caching rules
- Monitor performance: Set up CDN resource monitoring
Need help?
For assistance with custom CDN resources:- Contact support: Gcore Support
- Contact your personal manager (if applicable)
- Documentation: CDN documentation