Error 520 Unknown Error means the CDN received an unexpected or empty response from the origin server. The connection succeeds, but the reply is invalid.
This error is vague by design. It signals that something broke between your server and the proxy layer. The fix requires systematic checking.
Quick Fix
- Reload the page and clear browser cache.
- Check if your origin server is online.
- Disable problematic plugins or recent changes.
- Whitelist CDN IP ranges in your firewall.
- Restart Apache/Nginx and PHP.
- Check server logs for abnormal responses.
Most Error 520 Unknown Error cases are caused by server misconfiguration or security blocks.
What Is Error 520?
Error 520 is a generic CDN response. It appears when the proxy cannot interpret the server’s reply.
Unlike Error 521 or 522, this is not a timeout or a refused connection. The server responds — but the response is malformed, empty, or corrupted.
What typically happens:
- Visitor → CDN → Origin server
- Connection established
- Server returns unexpected headers or empty output
- CDN triggers Error 520
The root issue always lives on the origin server.
Why Error 520 Is Difficult
The message says “Unknown Error.” That means:
- No precise HTTP status returned
- No valid response body
- No proper header structure
You must investigate the server side carefully.
Main Causes of Error 520
1. Empty Server Response
The server closes the connection without sending data.
This often happens when:
- PHP crashes
- Memory limit is exceeded
- Fatal errors occur before output
2. Corrupted HTTP Headers
Improper headers confuse the CDN.
- Oversized headers
- Duplicate headers
- Invalid header formatting
Misconfigured security modules frequently cause this.
3. Firewall Blocking CDN Requests
Security systems may block proxy IP ranges.
When blocked, the server returns unexpected responses.
4. Broken WordPress Plugins
Faulty plugins can interrupt output buffering.
This leads to partial or malformed responses.
5. Resource Limits
If the server runs out of memory or CPU mid-request, it may terminate output.
Shared hosting environments are especially vulnerable.
6. Incorrect SSL or TLS Settings
Improper SSL configuration between CDN and server can trigger ambiguous errors.
Mismatched encryption modes are common.
How to Fix Error 520 (Step-by-Step)
Step 1 — Check Server Health
- Access hosting control panel.
- Review CPU and memory usage.
- Restart web services.
If resources are maxed out, upgrade hosting or optimize workloads.
Step 2 — Review Error Logs
Open Apache or Nginx error logs.
Look for:
- PHP fatal errors
- Memory exhaustion
- Unexpected shutdown messages
Logs usually reveal the real trigger.
Step 3 — Disable Recently Added Plugins
If using WordPress:
- Disable plugins one by one.
- Test after each change.
- Identify conflicts.
Security plugins are common culprits.
Step 4 — Whitelist CDN IP Ranges
Add official proxy IP ranges to your firewall allowlist.
Reload firewall rules and retest.
Step 5 — Increase PHP Memory Limit
Low memory causes abrupt termination.
Set:
- memory_limit = 256M or higher
Then restart PHP.
Step 6 — Check Header Size Limits
Oversized cookies or headers can exceed limits.
Reduce:
- Cookie size
- Custom headers
- Security module verbosity
Step 7 — Test Without CDN
Temporarily bypass CDN.
If the site works directly via IP, the issue is integration-related.
Advanced Troubleshooting
Analyze Network Traffic
Use diagnostic tools to inspect server responses.
Confirm proper HTTP status codes.
Review Security Modules
ModSecurity or similar systems may alter responses.
Temporarily disable for testing.
Check Keep-Alive Settings
Improper connection handling can create unstable responses.
Inspect Output Buffering
Ensure PHP output buffering is properly configured.
Prevention Tips
Use Reliable Hosting
Stable infrastructure prevents malformed responses.
Monitor Server Logs Daily
Early detection avoids prolonged outages.
Limit Heavy Plugins
Complex stacks increase risk of unexpected output.
Maintain Clean Header Structure
Avoid unnecessary or oversized headers.
When to Contact Support
Escalate to hosting provider if:
- Error persists after restart
- Logs show system-level faults
- Network routing appears unstable
Provide timestamps and log excerpts for faster diagnosis.
FAQ
Is Error 520 a server or CDN issue?
It originates on the server. The CDN only reports the invalid response.
Can WordPress cause Error 520?
Yes. Plugin conflicts and memory exhaustion frequently trigger it.
Does Error 520 affect SEO?
Repeated failures can reduce crawl efficiency and reliability signals.
Is Error 520 temporary?
Sometimes. But recurring instances indicate configuration problems.
How is Error 520 different from 521 or 522?
521 = connection refused. 522 = timeout. 520 = unexpected response.
Final Thoughts
Error 520 is vague but fixable. It almost always points to malformed output, server limits, or security misconfiguration.
Focus on logs, headers, and server stability. Clear diagnostics prevent repeated failures.
Related Cloudflare & CDN Errors
If you are troubleshooting a Cloudflare or CDN issue, you may also encounter related errors. Each code points to a different layer of the connection process:
- Error 521 Web Server Is Down — Triggered when the origin server refuses the connection.
- Error 522 Connection Timed Out — Appears when the origin server fails to respond in time.
- Error 523 Origin Is Unreachable — Indicates DNS or routing problems preventing access to the origin.
- Error 524 Timeout Occurred — Happens when the server processes the request too slowly.
- Error 525 SSL Handshake Failed — Caused by TLS negotiation failures between CDN and origin.
- Error 526 Invalid SSL Certificate — Occurs when strict SSL validation rejects the origin certificate.
- Cloudflare Error 1020 Access Denied — Triggered by firewall rules blocking the request.
Understanding how these errors differ helps you diagnose issues faster and identify whether the problem is related to networking, SSL, firewall configuration, or server performance.