Cloudflare Error 1016: Origin DNS error

Cloudflare is proxying your hostname, but when it looks up the origin server name you configured, DNS comes back empty or broken — so the edge has nowhere to send the request.

What visitors see

Error 1016
Origin DNS error

You've requested a page on a website that is on the Cloudflare network.
The host name resolved to an IP that is blocked by Cloudflare or that
does not resolve to an origin (Error 1016).

Cloudflare Ray ID: …

Only orange-cloud (proxied) hostnames show this page. Grey-cloud DNS never asks Cloudflare to look up an origin, so 1016 is an edge-proxy problem, not “the whole internet cannot resolve your domain.”

1016 vs 523 vs NXDOMAIN vs 522

SymptomWhat failedTypical cause
Error 1016CF cannot resolve the origin hostnameMissing/wrong A/AAAA/CNAME for the origin target; typo in Load Balancer / Origin Rule
Error 523Origin IP is known but unroutableBGP blackhole, dead IP, private address published publicly
DNS_PROBE_FINISHED_NXDOMAINVisitor DNS for the site name failsNo public A/AAAA/CNAME for the hostname they typed
ERR_NAME_NOT_RESOLVED / getaddrinfo ENOTFOUNDClient DNS lookup failedSame family as NXDOMAIN for browsers/Node
Error 522Origin IP resolved; TCP connect timed outFirewall DROP, wrong port, host down
Error 521TCP refused at originNothing listening / wrong port

Rule of thumb: 1016 = “Cloudflare does not know an IP for the origin name.” 523 = “Cloudflare has an IP but cannot route to it.” NXDOMAIN on the visitor side = “the public hostname itself is missing.”

Frequent real causes

Diagnose in five minutes

  1. In Cloudflare → DNS, note the orange-cloud hostname visitors use and the target (IP or hostname) it points at.
  2. If the target is a hostname, resolve it from a public resolver:
    dig +short origin.example.com A
    dig +short origin.example.com AAAA
    # or
    nslookup origin.example.com 1.1.1.1
    Empty answers → that is your 1016.
  3. Check Load Balancing pools / Origin Rules / Workers routes for a hostname override that differs from the DNS tab.
  4. Confirm the origin name is not a private split-horizon name. Cloudflare’s resolvers only see public DNS.
  5. After fixing, wait for TTL (or purge / lower TTL first). Hit the site again; Ray ID on a fresh 1016 means the edge still cannot resolve.

Fixes that usually work

Quick checks from the origin side

# Does the name the dashboard uses resolve publicly?
dig +short YOUR_ORIGIN_HOSTNAME @1.1.1.1

# Once it resolves, can something listen?
curl -sI --max-time 5 http://ORIGIN_IP/
# Then re-check the proxied hostname:
curl -sI --max-time 10 https://www.example.com/

Related

Cloudflare Error 1001 · Cloudflare Error 1000 · All Cloudflare error codes · Cloudflare Error 523 · DNS_PROBE_FINISHED_NXDOMAIN · ERR_NAME_NOT_RESOLVED · getaddrinfo ENOTFOUND · Cloudflare Error 522 · Cloudflare Error 521 · Cloudflare Error 1020 · Anvil HTTP status · Anvil URL inspect

Questions

What does Cloudflare Error 1016 mean?

Cloudflare could not resolve the origin hostname configured for your proxied site to an IP address, so the edge has nowhere to send the request.

How is 1016 different from 523?

1016 is a DNS failure looking up the origin name. 523 means Cloudflare already has an origin IP but cannot route to it on the network.

Why can I resolve the site on my laptop but still see 1016?

Your laptop may be using private/split-horizon DNS. Cloudflare’s resolvers only see public DNS for the origin hostname.

Is 1016 the same as DNS_PROBE_FINISHED_NXDOMAIN?

No. NXDOMAIN usually means the visitor cannot resolve the public hostname. 1016 means visitors reached Cloudflare, but Cloudflare cannot resolve the origin target behind it.

Can a Load Balancer pool cause 1016?

Yes. If a pool or Origin Rule points at a hostname that does not resolve publicly, the edge returns 1016 even when the DNS tab looks fine.

Should I pause Cloudflare to fix 1016?

No as a first step. Fix or publish the origin A/AAAA/CNAME (or correct the origin hostname), then re-test the orange-cloud name.

How do I confirm the fix?

dig/nslookup the origin hostname via 1.1.1.1 until an IP appears, then curl the proxied HTTPS hostname and check you no longer get Error 1016.

Published · updated .

Try it

Related guides

Newest guides