Originally published on API Status Check.
Is Cloudflare Down? How to Check and What to Do
Cloudflare sits between your users and roughly 20% of all websites on the internet. When it goes down, the blast radius is enormous — entire swaths of the web become unreachable. With 18,000+ monthly searches for "is Cloudflare down," outages are both common enough to worry about and impactful enough to prepare for.
Whether you're a developer whose site just went dark, or a user staring at a Cloudflare error page, here's everything you need to know.
How to Check if Cloudflare is Actually Down
Step 1: Check Official Status
Official Cloudflare Status: cloudflarestatus.com
Cloudflare's status page breaks down their infrastructure by component:
- Cloudflare Sites and Services (dashboard, API)
- CDN/Cache (content delivery)
- DNS (domain resolution)
- SSL (certificate issuance/validation)
- Workers (serverless compute)
- R2 (object storage)
- Pages (static site hosting)
- Stream (video)
- Zero Trust (security services)
⚠️ Important: Cloudflare operates in 300+ cities globally. An outage might affect specific regions without showing on the global status page. Always check your specific data center.
Step 2: Check API Status Check
Real-time monitoring: apistatuscheck.com/api/cloudflare
We monitor Cloudflare independently, giving you a second source of truth when the official status page is slow to update.
Step 3: Check Community Reports
- Twitter/X: Search "Cloudflare down" — fastest crowd-sourced signal
- Cloudflare Community: community.cloudflare.com — official forums
- Reddit: r/CloudFlare for technical discussions
- Hacker News: Search news.ycombinator.com — devs report here first
Step 4: Test Your Specific Connection
Run these from your terminal to check if it's Cloudflare or your origin:
# Check if Cloudflare's edge is responding
curl -I https://www.cloudflare.com
# Look for cf-ray header (Cloudflare is handling the request)
# Check your site's DNS resolution
dig yourdomain.com +trace
# See if DNS resolves through Cloudflare's nameservers
# Check specific Cloudflare data center
curl -svo /dev/null https://yourdomain.com 2>&1 | grep cf-ray
# The cf-ray header includes the data center code (e.g., cf-ray: xxx-SJC = San Jose)
Decoding Cloudflare Error Pages
Cloudflare shows distinctive error pages. Here's what each one actually means:
Error 502 (Bad Gateway)
What it means: Cloudflare reached your server, but your server returned an invalid response.
- Cloudflare's fault? Rarely. Usually your origin server.
- Fix: Check your origin server logs, restart your web server, check if your backend is overloaded.
Error 520 (Web Server Returns an Unknown Error)
What it means: Your origin returned something Cloudflare couldn't parse.
- Cloudflare's fault? No — your origin is misbehaving.
- Fix: Check origin server for crashes, empty responses, or oversized headers.
Error 521 (Web Server is Down)
What it means: Cloudflare can't connect to your origin server at all.
- Cloudflare's fault? No — your server is unreachable.
- Fix: Verify your origin server is running, check firewall rules (whitelist Cloudflare IPs), confirm your origin IP in DNS settings.
Error 522 (Connection Timed Out)
What it means: Cloudflare's TCP connection to your origin timed out.
- Cloudflare's fault? Sometimes — could be network routing issues. Often your origin.
- Fix: Check if your server is overloaded, increase server timeout settings, verify Cloudflare IPs aren't blocked by your hosting provider.
Error 523 (Origin is Unreachable)
What it means: Cloudflare couldn't reach your origin due to DNS issues.
- Cloudflare's fault? Partially — DNS resolution failure.
- Fix: Verify your DNS records in Cloudflare dashboard, ensure origin IP is correct.
Error 524 (A Timeout Occurred)
What it means: Cloudflare connected to your origin, but the HTTP request timed out (>100 seconds).
- Cloudflare's fault? No — your origin is too slow.
- Fix: Optimize slow queries, add caching, increase timeout on long-running requests, consider Cloudflare Enterprise (custom timeouts).
Error 525/526 (SSL Handshake Failed)
What it means: SSL/TLS handshake between Cloudflare and your origin failed.
- Fix: Check your origin SSL certificate is valid, matches your domain, and isn't expired. Set SSL mode to "Full (Strict)" and use a Cloudflare Origin CA certificate.
Error 530
What it means: Combination of a 1xxx error (usually 1XXX Cloudflare-specific) and a 530 HTTP code.
- Fix: Check for the specific 1xxx error code in the page body.
Pro tip: If you see a Cloudflare-branded error page with a Ray ID, the issue is between Cloudflare and your origin. If you can't reach the Cloudflare error page at all, the issue is between you and Cloudflare's edge.
Common Cloudflare Issues (That Aren't Full Outages)
DNS Propagation Delays
- Symptom: Domain resolves to old IP after changing DNS
- Fix: Cloudflare DNS propagates fast (~5 minutes), but your local DNS cache may be stale
-
Clear cache:
ipconfig /flushdns(Windows),sudo dscacheutil -flushcache(Mac),sudo systemd-resolve --flush-caches(Linux)
Cache Issues
- Symptom: Old content showing despite updates
- Fix: Purge cache in Cloudflare Dashboard → Caching → Configuration → Purge Everything
- Dev mode: Enable Development Mode to bypass cache temporarily (3 hours)
SSL/TLS Mismatch
- Symptom: Redirect loops, mixed content warnings
- Fix: Match your Cloudflare SSL setting (Off/Flexible/Full/Full Strict) to your origin server's SSL setup. Always prefer Full (Strict).
Workers/Pages Deployment Issues
- Symptom: 1101 or 1102 errors on Workers
- Fix: Check Workers dashboard for error logs, verify script size limits (1MB free, 10MB paid)
Rate Limiting or WAF Blocks
- Symptom: 403 errors for legitimate traffic
- Fix: Check Security → WAF → Active rules and Security Events log
What to Do When Cloudflare is Actually Down
A true Cloudflare outage is rare but catastrophic. Here's your playbook:
Immediate Response (First 5 Minutes)
- Confirm it's Cloudflare, not your origin: Check cloudflarestatus.com and apistatuscheck.com/api/cloudflare
- Check which services are affected: DNS only? CDN only? Everything?
- Communicate to your users: Post on your own status page and social media
If DNS is Down
DNS outages are the most impactful — your domain literally stops resolving.
- Short-term: You can't fix DNS if Cloudflare's nameservers are down
- If prolonged: Change your domain's nameservers at your registrar to a backup DNS provider (but this takes hours to propagate)
- Prevention: Use a multi-DNS setup with a secondary provider like AWS Route 53, Google Cloud DNS, or NS1
If CDN/Cache is Down but DNS Works
Your site will still work but much slower (all traffic goes to origin).
- Grey-cloud your DNS records: In Cloudflare Dashboard, toggle the proxy status to "DNS only" (grey cloud) to bypass Cloudflare entirely
- Monitor your origin: It'll get hammered with uncached traffic — make sure it can handle the load
- Re-enable proxy: Once Cloudflare recovers, toggle back to orange cloud
If Workers/Pages are Down
- Failover: If you have a fallback origin, update your Worker route to pass-through
- Static fallback: Serve a static maintenance page from your origin
- Alternative: Deploy to Vercel, Netlify, or AWS Lambda as backup
Building Cloudflare Resilience
Multi-CDN Setup
Don't put all your eggs in one CDN basket:
- Primary: Cloudflare
- Failover: AWS CloudFront, Fastly, or Akamai
- Use a DNS-level failover (e.g., AWS Route 53 health checks) to switch between CDN providers
DNS Redundancy
- Use Cloudflare as primary nameserver
- Configure a secondary DNS provider with the same records
- Your registrar should support multiple NS records
Cache Everything Possible
When Cloudflare is slow but not down, cached content still serves from edge:
- Set long cache TTLs for static assets
- Use Cache Rules to cache HTML pages where possible
- Enable Tiered Caching to reduce origin load
Monitor Proactively
Don't wait for users to report issues:
- Set up external uptime monitoring (Pingdom, UptimeRobot, or apistatuscheck.com)
- Monitor Cloudflare's status page RSS feed
- Set up alerts for error rate spikes in your Cloudflare analytics
Notable Cloudflare Outages
June 2022 — Major Outage (19 Data Centers)
A network configuration change caused 19 major data centers to go offline. Duration: ~90 minutes. Affected: Discord, Shopify, Fitbit, and thousands of websites. Root cause: A change to BGP routing policy that accidentally removed critical routes.
July 2020 — Global Outage (27 Minutes)
A bad router rule in the Cloudflare backbone caused a 27-minute global outage. Affected an estimated 15-20% of all internet traffic.
July 2019 — Regular Expression Catastrophe
A bad regex in the WAF caused CPU exhaustion across every Cloudflare server simultaneously. The ironic part: the security tool meant to protect against attacks became the attack.
Lesson from All Three
Every major Cloudflare outage was caused by a configuration change, not an external attack. This is why canary deployments and rollback automation matter.
Cloudflare Alternatives for Critical Workloads
| Service | Best For | Pricing |
|---|---|---|
| AWS CloudFront | Enterprise, tight AWS integration | Pay-per-use, $0.085/GB |
| Fastly | Real-time purging, edge compute | Pay-per-use, ~$0.08/GB |
| Akamai | Largest network, enterprise | Custom pricing |
| Bunny CDN | Budget-friendly, simple | $0.01/GB |
| KeyCDN | Pay-as-you-go, no commitment | $0.04/GB |
| Vercel Edge Network | Next.js/frontend frameworks | Included in plans |
Stay Updated
- Monitor Cloudflare status: apistatuscheck.com/api/cloudflare
- Subscribe to alerts: Get notified before Cloudflare's official page updates
- Cloudflare Blog: blog.cloudflare.com — detailed post-mortems after every major incident
Last updated: February 2, 2026. We monitor Cloudflare 24/7 at API Status Check.
Top comments (1)
Solid guide on checking Cloudflare status and handling outages… good breakdown of error codes and fallback options!! Clear steps for devs to avoid panic when a site goes dark… practical, no fluff...