sfw/fix
Error 1016 / 530 critical

Cloudflare Error 1016: Origin DNS Error

Cloudflare can't resolve your origin's address because the DNS record it needs is missing or points nowhere.

What you see

Error 1016
Origin DNS error
What happened? You've requested a page on a website that is part of the Cloudflare network. The host (origin) server could not be resolved. (Often served alongside HTTP 530.)

What’s actually happening

Every page on the proxied hostname fails the same way — this is a configuration error, not a load or timing one, so it doesn't flap. It typically appears right after someone deletes or edits a DNS record in the Cloudflare dashboard, or points a proxied CNAME at an external hostname that no longer resolves. Cloudflare returns HTTP 530 with the 1016 page as the body.

Common causes

  • No A or AAAA record exists in Cloudflare DNS for the proxied (orange-clouded) hostname.
  • A proxied CNAME points at an external hostname that itself doesn't resolve (target deleted, typo, or its own DNS is broken).
  • The origin record was deleted or renamed but the proxy entry / route still references it.
  • In a partial (CNAME) setup, the hostname has no corresponding record in Cloudflare DNS at all.
  • A load balancer origin pool references a hostname that can't be resolved.

How to fix it

  1. Check the DNS record exists and is the right typeOpen the Cloudflare dashboard → DNS and confirm the hostname (and root/www as needed) has an A/AAAA record with a real IP, or a CNAME to a resolvable target. The orange cloud can't proxy to a record that isn't there — the absence of the record is usually the whole bug.
  2. Verify any CNAME target actually resolvesIf you're CNAMEing to something like `app.herokudns.com` or a load balancer hostname, resolve it yourself: `dig +short app.herokudns.com`. Empty output means the target is dead — fix or replace it. A proxied CNAME to a non-resolving host is a textbook 1016.
  3. Re-add the origin record after a migrationIf a record got deleted during a move, recreate the A record pointing at the current origin IP and set it to Proxied. Give it a minute, then reload. Cross-check the IP is the box that's actually serving the site.
  4. For partial/CNAME zones, make sure the hostname is definedIn a partial setup Cloudflare only knows hostnames you've explicitly added. If the record lives only at your other DNS provider, Cloudflare can't resolve the origin — add the hostname in Cloudflare DNS so the proxy has something to resolve.
  5. Check load balancer origin poolsIf the site is fronted by Cloudflare Load Balancing, open the pool and confirm each origin's address resolves. A pool origin set to a stale hostname surfaces as 1016 even though your main DNS looks fine.

Stop it recurring

Treat Cloudflare DNS as part of your deploy checklist — verify the proxied record resolves to the live origin after any migration or DNS edit before considering the change done.

Related errors