Documentation
Short version: CNAME to the edge, set an origin, keep your
Cache-Control honest.
1 — Point DNS at the edge
Create a CNAME from your delivery hostname to edge.dnox.eu for GeoDNS,
or straight to a node if you want a fixed location.
cdn.example.com. 300 IN CNAME edge.dnox.eu.
Apex domains cannot be CNAMEd. Use an A record to the node address and accept that you lose failover, or put a subdomain in front. We do not offer ALIAS records because we are not your DNS provider.
2 — Register the origin
$ curl -X POST https://api.dnox.eu/v1/zones \
-H "Authorization: Bearer $DNOX_TOKEN" \
-d '{"host":"cdn.example.com","origin":"https://origin.example.com"}'
{"id":"zn_8f21c","host":"cdn.example.com","state":"provisioning"}
Provisioning includes certificate issuance and takes 30–90 s. Until it finishes
the zone answers 503 rather than serving an unverified certificate.
3 — Caching
We respect the origin's Cache-Control and do not rewrite it.
Absent a directive, defaults apply:
| Response | Default TTL | Notes |
|---|---|---|
200, 203, 206 | 4 hours | full and range responses cached separately |
301, 308 | 24 hours | |
404, 410 | 30 seconds | negative caching, keeps origin alive during scans |
5xx | not cached | stale object is served instead if one exists |
stale-while-revalidate and stale-if-error are honoured.
If you send neither, a 5xx from origin with an expired object in cache still gets the
stale object for up to 60 s — we would rather serve something slightly old than
hand your users an error page.
4 — Headers we add
| Header | Example | Meaning |
|---|---|---|
x-cache | HIT / MISS / STALE | outcome at the edge |
x-served-by | nl3 | node that answered |
age | 41207 | seconds since the object was fetched |
We do not add a server header and we strip the origin's.
Several customers asked for this and nobody argued the other way.
5 — Limits
| Thing | Limit |
|---|---|
| Object size | 5 GB |
| Origin response timeout | 30 s to first byte |
| Purge API | 60 requests/min per token |
| Zones per account | no limit |
| Concurrent origin pulls per zone | 16, then collapsed into one |