Error 520 is an HTTP status code that occurs when a web server (the origin server) returns an unexpected or unknown response to Cloudflare. This error is specific to websites that use Cloudflare as a content delivery network (CDN) or DNS service. When Cloudflare encounters an unexpected response or a communication issue with the origin server, it returns a 520 error to the user’s browser, which means that Cloudflare could not connect successfully to the origin server.
What Does Error 520 Mean?
- Error Code: 520
- Error Message: “Web server is returning an unknown error” or similar messages.
- Service: Cloudflare (often occurs when Cloudflare is acting as a proxy between users and a web server).
What Causes Error 520?
Several factors can cause an Error 520, including issues on the origin server or misconfigurations in Cloudflare. Common causes include:
- Server Overload: The origin server is overloaded or experiencing a spike in traffic, leading to timeouts or dropped requests.
- Firewall or Security Software: Firewalls, security plugins, or server settings may block or filter requests from Cloudflare’s IP addresses.
- Origin Server Crashes: The origin server may have crashed or is temporarily unavailable.
- Invalid Response Headers: The origin server may return an invalid or malformed HTTP response, which Cloudflare cannot interpret.
- Connection Timeouts: Cloudflare may encounter timeouts if the origin server takes too long to respond.
- Misconfigured DNS Settings: Issues with DNS settings between Cloudflare and the origin server can lead to communication failures.
How to Fix Error 520: A Step-by-Step Guide
Step 1: Check the Status of Your Origin Server
First, ensure that your origin server is online and running:
- Ping the server: Use a command line tool like ping or tracert to test connectivity to the server.
- On Windows: Open Command Prompt and type:ping yourdomain.com
- On Mac/Linux: Open Terminal and type:ping yourdomain.com
- On Windows: Open Command Prompt and type:
- If the server is unresponsive, restart the server or check with your hosting provider for any server issues.
Step 2: Review Server Logs
Check your web server logs for error messages or patterns that might indicate the cause of the 520 error. Look for the following:
- Error logs from Apache, Nginx, or other server software.
- Look for 500-series errors or timeout messages.
This can provide insights into why the server is not communicating properly with Cloudflare.
Step 3: Disable Any Server-Side Firewall or Security Software Temporarily
Firewalls or security software can block requests from Cloudflare. To determine if this is the issue:
- Temporarily disable server-side firewalls or security plugins (e.g., Wordfence, ModSecurity).
- Check if disabling these tools resolves the 520 error.
- If the issue is resolved, whitelist Cloudflare’s IP ranges in your firewall or security software. The full list of Cloudflare IP addresses can be found on the Cloudflare website at https://www.cloudflare.com/ips.
Note: Always re-enable security settings after testing to ensure the server remains protected.
Step 4: Increase Server Resources
If your server is under heavy load, you may need to increase its resources:
- Check CPU and memory usage: If your server is running out of memory or CPU, upgrade your hosting plan or increase server resources.
- Consider using a caching plugin or content delivery network (CDN) to reduce server load and speed up content delivery.
Step 5: Review and Adjust Cloudflare Settings
Sometimes, the issue may lie in the configuration settings between Cloudflare and your origin server:
- Pause Cloudflare: Temporarily disable Cloudflare for your website to see if the error persists:
- Log in to your Cloudflare Dashboard.
- Select your domain.
- Click on the Advanced Actions and Pause Cloudflare.
- Test your website: If the website works without Cloudflare, the issue might be with your Cloudflare settings.
- Re-enable Cloudflare and adjust settings like:
- SSL/TLS Mode: Make sure that the SSL/TLS mode in Cloudflare matches the SSL certificate on your server (e.g., Full, Flexible).
- Browser Integrity Check: Try disabling this under Firewall Rules in Cloudflare to see if it resolves the issue.
Step 6: Check DNS Settings
Ensure that DNS records in Cloudflare are properly configured to point to your origin server:
- Log in to Cloudflare and select your domain.
- Go to the DNS section.
- Verify that A records and CNAME records point to the correct IP address of your origin server.
- Disable Proxying for troubleshooting:
- Click the orange cloud icon next to the DNS record to turn it gray, which disables Cloudflare’s proxy for that record.
- This will help you determine if the error persists without Cloudflare acting as a proxy.
Step 7: Optimize Your Website’s HTTP Headers
Cloudflare may encounter errors if your server sends invalid HTTP headers:
- Check for overly long headers or malformed headers that might cause issues.
- Use browser tools like Chrome DevTools (F12) or Postman to inspect HTTP headers.
- Correct or remove any headers that could be causing issues.
Step 8: Contact Your Hosting Provider
If the issue persists after following the steps above, contact your web hosting provider:
- Provide them with the date and time when the error occurred.
- Include any error messages from server logs.
- Hosting providers can help identify server-side issues that may not be visible to you.
Step 9: Reach Out to Cloudflare Support
If you believe the issue is related to Cloudflare itself, reach out to Cloudflare Support:
- Provide details like server logs, error messages, and troubleshooting steps you’ve already tried.
- Cloudflare can offer insights or adjustments to settings that may resolve the issue.
Summary
The Error 520 occurs when there is an unexpected or unknown response from the origin server to Cloudflare. Fixing this error requires troubleshooting both the origin server and Cloudflare configuration. By following the steps outlined above—checking server status, reviewing logs, adjusting security settings, and optimizing configurations—you can diagnose and resolve this issue effectively. If the problem persists, contacting your hosting provider or Cloudflare support can help pinpoint the cause and implement a solution.