Origin HTTP response
Request a file that should be delivered through CDN from the origin, using GET and discarding the body.curl -I sends HEAD, which an origin application can handle differently from GET. An HTTP 200 response means the origin can serve the object for that request. An HTTP 4xx or 5xx on that same request usually means the origin cannot serve the object. CDN nodes can still fail later if the Host header, SNI hostname, origin ACL, or authentication differs from this request.
Reproduce the CDN pull: use the origin protocol, send the configured Custom Host header, use the configured SNI hostname in --resolve and in the URL for HTTPS, and pin --resolve to the origin IP. Add the same authentication headers or credentials the CDN sends when the origin requires them.
sni.example.com with the SNI hostname: the Change Host header value when Dynamic SNI hostname is selected, or Specify SNI hostname when Custom SNI hostname is selected. Replace host.example.com with Custom Host header. Replace 203.0.113.10 with the origin IP and image.png with the object path. For HTTP origin, use http://, port 80 in --resolve, and skip SNI.
CDN resource settings
In the Gcore Customer Portal, navigate to CDN > CDN resources and open the resource. Each check below maps to one setting that commonly blocks delivery after creation.Custom domain and DNS
A missing or incorrect CNAME prevents the custom domain from resolving to Gcore. Traffic does not automatically go to the origin; the custom hostname fails to resolve, or it resolves to the wrong target. The Setup guide reports whether DNS is in place.Open Setup guide

Check DNS setup status


Confirm the CNAME
cdn.example.com in the screenshot), select the resolvers, and click Search.On the CNAME tab, compare the result with the Setup guide target. A matching CNAME means the record exists in those resolvers. If Setup guide still reports that DNS is missing, wait and repeat Check DNS setup status. Resolver caches often update within about 15 minutes, though a recent nameserver change can take longer.If the lookup target does not match the Setup guide value, or the result is No records were found, add or correct the CNAME in custom domain settings.Wait for DNS propagation
Host header
The Host header tells CDN nodes which origin hostname to request. When it does not match the origin, the origin cannot serve the object.Open Host header

Copy the Host header value
Request the origin with Host and SNI
sni.example.com with the configured SNI hostname, host.example.com with Custom Host header, 203.0.113.10 with the origin IP, and image.png with the object path. For HTTP origin, use http:// and port 80 in --resolve.Update Custom Host header if needed
Origin pull protocol
The origin pull protocol (HTTP, HTTPS, or both) is how CDN nodes fetch from the origin. The wrong protocol causes fetch errors or redirects.Confirm the origin protocol
https://example.com is HTTPS. http://example.com is HTTP. Confirm both schemes if the origin is expected to serve both.

Compare Origin pull protocol

Save and retest
SSL certificate
HTTPS delivery needs a certificate on the custom domain. A missing or invalid certificate blocks HTTPS or shows a browser trust warning.Open SSL settings

Confirm Enable HTTPS


/.well-known/acme-challenge/. Broad patterns such as /* are not inherently blocking. Narrow the rule or exclude that path so automatic renewal continues working. Full issuance steps are in Let’s Encrypt.
Custom SSL certificate
A third-party certificate must cover the custom domain and present a complete chain. Browsers will not trust the certificate unless its chain leads to a public trusted CA. In custom SSL settings, Signed by a trusted CA. can be cleared when the certificate is not from a trusted CA. Clearing that checkbox allows the upload; it does not make browsers trust a private CA or an incomplete chain.
Test TLS on the custom domain
cdn.example.com with the custom domain and image.png with the object path.A 2xx response means the TLS handshake succeeded. Continue with the browser check.A rejected server certificate typically looks like this:Inspect the certificate in the browser
*.example.com covers cdn.example.com. It does not cover the apex domain example.com or a nested hostname assets.cdn.example.com.
Inspect the chain on SSL Labs



Cache behavior
Wrong cache settings rarely make content unavailable. They more often serve a stale object or keep the origin busy. If the CDN hostname returns an error or an empty response, continue with Cache purge. If the object loads but looks outdated or the cache hit ratio is unexpectedly low, use the low cache hit ratio checks.Inspect cache response headers
Cache and Cache-Control.
Review query string and Set-Cookie

Cache purge
A stale or wrong object can remain in cache after origin or settings changes. Confirm the purge in history, then confirm cache status on the object.Content-Length and ETag can differ because of compression or transformation, so matching those values does not prove that a purge succeeded.
Check Purge history
Verify miss or bypass then hit
X-ID header. That value identifies the edge that handled the request.X-ID value:m9-up-e245 with the X-ID from the response. Use dig in place of nslookup if that is the local DNS tool.Pin the next request to the same edge so both responses come from one server:cdn.example.com with the CDN hostname and 203.0.113.10 with the edge IP. An initial Cache: MISS or Cache: BYPASS, followed by Cache: HIT on the pinned request, means that edge fetched a fresh copy and then served it from cache.Purge again with a supported pattern
/ and can use * to replace any number of characters. Examples: