How to Diagnose and Fix Common Website Server Down
When you try to log into your website and see an error screen, it means the communication link between browser and server is broken. Because the website routes through Cloudflare before hitting the DirectAdmin control panel server, different types of crashes produce very specific error codes. Knowing these codes helps you identify exactly what went wrong and how to fix it.
What a Server Down Looks Like on the Website
Here is the exact visual map of what you will see on the browser screen when a specific server downtime occurs.
1. Web Server Down Screen (Error 521 / 522)

This screen shows up when the physical server hardware is running, but the system software responsible for delivering web pages has stopped working. Cloudflare remains online but cannot connect to the backend destination.
This error means the front gate of the server is locked. It is always caused by one of these things:
- Web Software Crash: The web server program inside the hosting account has crashed or frozen due to high traffic or configuration conflicts.
- Server Firewall Block: The firewall on the raraxuan server mistakenly flagged Cloudflare’s connection IPs as a threat and blocked them.
- Hosting Account Suspension: The hosting provider has temporarily suspended the specific account due to unpaid bills or resource violations, turning off web access.
2. Gateway Issue Screens (Error 502 / 504)

These errors display when Cloudflare successfully reaches the server, but the server either sends back invalid information or takes too long to process the request.
This error means the communication link between the proxy and the server is broken mid-way. It is always caused by one of these things:
- Frozen Backend Script: A script or task on the website is stuck in an endless loop, forcing Cloudflare to time out while waiting for a response (Error 504).
- Misconfigured Proxy Rules: The internal connection settings between Cloudflare and DirectAdmin are mismatched, making the data unreadable (Error 502).
- Server Process Limit Reached: The hosting account has maxed out its simultaneous connection slots, causing the server to reject new incoming data requests.
3. Database Connection Failure Screen

When this happens, your website’s front-end design completely drops out. The browser screen goes entirely white and prints a single sentence:
This error means your website is completely locked out of its data. It is always caused by one of these three things:
- Database Server Crashed: The background database engine on your raraxuan (sg02) server ran out of memory and fell asleep, so it cannot respond.
- Wrong Username or Password: You recently changed your database password inside DirectAdmin, but you forgot to update the new password inside your website’s configuration file (like wp-config.php).
Linked to the Wrong Database: The database name typed in your website’s configuration file is misspelled, renamed, or was accidentally deleted from DirectAdmin.
4. Overloaded or Application Bug Screens (Error 500 / 503)

These screens display when the server is online and running, but a severe technical failure inside the website code or server limits prevents the page from loading.
This error means the server is alive, but it cannot safely execute the requested action. It is always caused by one of these things:
- Bad Plugin or Code Conflict: A newly installed extension, theme update, or broken code script caused a fatal crash in the website system (Error 500).
- Account Resource Starvation: The website has completely exhausted the allocated RAM or CPU limits assigned to the hosting package (Error 503).
- Corrupted .htaccess File: The hidden server routing file inside the file manager contains a typo or invalid rule, breaking the website path structure.
Terminal Diagnostics: Checking the Server Status First
Before changing any settings, running a quick network diagnostic test helps pinpoint whether the physical server hardware has died completely or if it is just a simple software glitch inside the account.
Step 1: Open Your Local Terminal
- Macbook: Press Command + Space, type Terminal, and hit Enter.
- Windows: Press Windows Key + R, type cmd, and hit Enter.
Step 2: Run the Status Checking Command
Type this command into the terminal window and press Enter (replace with your actual website URL):
- curl -Iv https://yourdomain.com
Step 3: Read the Real Reason on Your Screen
Type 1: Web Server Down (The 521 Display)
If the server hardware is on but the underlying web system container crashes or freezes, Cloudflare cannot pass traffic to the host.
Output lines will look exactly like this:
< HTTP/2 521
HTTP/2 521
< date: Thu, 21 May 2026 06:35:10 GMT
< server: cloudflare
< cf-ray: 9ff182411xxxxxxx-KUL
How to read the real reason: The 521 code combined with the line server: cloudflare confirms that your laptop successfully reached Cloudflare’s network nodes in Kuala Lumpur (-KUL), but Cloudflare is giving up because the server backend node refused to answer the door.
Type 2: Database Down / Wrong Password (The 500 Script Halt)
If the server network is fine but the database engine crashes, or if you have the wrong database username, password, or database name linked inside your files, the website script will experience a fatal crash immediately upon loading.
Output lines will look exactly like this:
< HTTP/2 500
HTTP/2 500
< date: Thu, 21 May 2026 06:38:22 GMT
< content-type: text/html; charset=UTF-8
< server: cloudflare
How to read the real reason: Notice that instead of a Cloudflare block page, the server drops an HTTP/2 500 error code and passes a content-type: text/html line. This proves the backend server is awake and talking to you, but it is returning a broken, blank page because it failed to log into your SQL database.
Type 3: Server Resource Limit Overloaded (The 503 Block)
If your specific hosting account container runs completely out of assigned RAM or CPU limits because too many processes are running at once, the server will intentionally reject your connection.
Output lines will look exactly like this:
< HTTP/2 503
HTTP/2 503
< date: Thu, 21 May 2026 06:40:15 GMT
< retry-after: 3600
< server: cloudflare
How to read the real reason: The key indicator here is the 503 status code, often accompanied by a retry-after header line. This explicitly reveals that the server framework is fully online, but it is actively throttling your domain connection because the account container is maxed out.
Type 4: Total Hardware / Network Crash (The Connection Drop)
If the entire physical machine at the Singapore data center drops dead, loses power, or faces a catastrophic network fiber cut, your laptop won’t even be able to establish a basic handshake.
Output will cut off completely mid-transit and look like this:
* Host domain.com:443 was resolved.
* IPv4: 172.xx.xxx.xxx, 104.xx.xx.xx
* Trying 172.xx.xxx.xxx:xxx…
* cc-ray: 9ff182411xxxxxxx-KUL
* Connection timed out
* Closing connection 0
curl: (28) Connection timed out after 30000 milliseconds
How to read the real reason: You will never see any HTTP/2 status lines at all. The terminal will hang on the Trying line for roughly 30 seconds before dropping a raw connection timeout code (28). This proves the hardware routing path is completely dead.
Visual Breakdown & Step-by-Step Solutions
Type A Fixes: Web Server Down (Error 521 / 522)
Since standard user accounts do not have access to a root system monitor to restart software daemons, these user-level solutions can resolve account blocks:

Fix 1: Check and Renew an Expired SSL Certificate
- If Cloudflare expects an encrypted link but the hosting account’s security certificate has expired, the connection drops.
- In DirectAdmin, search for SSL Certificates.
- Ensure the correct domain name is selected at the top right.
- Select the tab for Let’s Encrypt.
- Check the box for the domain and its www version, then click Save. This forces a fresh certificate to generate.
Fix 2: Fix a Corrupted Server Routing File (.htaccess)
- A broken rule or typo inside the server configuration file can block all connections.
- In DirectAdmin, open File Manager and enter the public_html folder.
- Look for the hidden file named .htaccess.
- Right-click it, select Rename, and change it to .htaccess_old (this completely safely disables it).
- Try reloading the website. If it works, the code inside that file was breaking the server communication link.
Type B Fixes: Database Down (Connection Error)
If the server-wide database engine is running but the website still displays a database connection error, the username, password, or mapping configuration is wrong inside DirectAdmin.

Fix 1: Repair and Optimize the Database Tables
- Sometimes the storage tables get corrupted after a high traffic surge or sudden crash.
- Go to DirectAdmin and open MySQL Management.
- Check the box next to the broken database.
- Click the Modify button and choose Repair or Optimize.
Fix 2: Reset and Relink Database Credentials
- If the code credentials do not match DirectAdmin, access is denied.
- Go to DirectAdmin ➔ MySQL Management and click on the specific database name.
- Look under the Users section to find the exact database username.
- Click on the username and choose Change Password to set a completely fresh, known password.
- Open DirectAdmin File Manager, navigate into public_html, and edit the main configuration file (like wp-config.php for WordPress).
- Find the rows for Database Name (DB_NAME), User (DB_USER), and Password (DB_PASSWORD). Update the text inside the quotation marks to match your DirectAdmin details exactly, then save the file.
Type C Fixes: Code, Resource, or Gateway Breakdowns (Error 500 / 502 / 503 / 504)
These errors mean the server is running, but it has completely stalled out due to faulty application code or hitting hosting resource limits.

Fix 1: Check Resource Usage Metrics
- Look for Resource Usage or Metrics on the DirectAdmin main page.
- Check if the CPU, Virtual Memory (RAM), or concurrent connection meters are hitting their 100% maximum capacity limit walls.
- If they are maxed out, the account is throttled. Go to File Manager ➔ public_html, locate the website cache folder, and wipe its contents to lower the weight on the account container.
Fix 2: Disable Broken Extensions or Themes via File Manager
- If an updated plugin or theme contains a severe code bug, it will crash the application layer instantly.
- In DirectAdmin, open File Manager and go to public_html.
- Navigate into the application content directory (for example, wp-content/plugins for WordPress).
- Right-click the folder of the most recently updated plugin or theme and Rename it by adding _old to the end of its name. This instantly cuts off the broken code script and lets the website login panel load up normally.
Summary and Escalation Path
Summary of Troubleshooting Steps
Diagnosing website downtime follows a specific flow to narrow down the fault:
- Observe the Frontend: Check whether the screen displays a standard Cloudflare error block, an application error code, or a plain white page.
- Analyze via Terminal: Run a local connection diagnostic test using the curl -Iv command to pinpoint exactly where the data transfer breaks.
- Resolve in DirectAdmin: Check dashboard metrics for resource usage spikes, verify database file credentials, or isolate faulty files using the File Manager.
Quick Summary of Server Down
Down Type | Screen Error Code | What It Actually Means | Solution |
Web Server Down | Cloudflare Error 521 / 522 | Hosting software service is offline, firewalled, or the account is suspended. | 1. Regenerate expired certificates under SSL Certificates via Let’s Encrypt. 2. Rename corrupted .htaccess file to .htaccess_old in File Manager. |
Gateway Issues | HTTP 502 / 504 | Broken data paths, frozen loops, or connection limits reached mid-transit. | 1. Check Resource Usage limits. 2. Rename recent plugin/theme folders via File Manager to stop frozen backend loops. |
Database Down | “Error establishing a database connection” | Crashed database engine, wrong credentials, or missing database name. | 1. Use MySQL Management to select database and click Repair/Optimize. 2. Audit wp-config.php file and match user/password with settings in MySQL Management. |
Overloaded / Broken Code | HTTP 500 / 503 | Fatal code bugs, corrupted configuration files, or exhausted CPU/RAM limits. | 1. Clear files inside your platform cache directory using File Manager. 2. Deactivate the broken plugin or active theme folder by renaming it inside wp-content. |
Escalation Path
If the local diagnostic step results in a total network timeout, or if all user-level options inside the DirectAdmin control panel are applied and checked but the website remains offline, the issue is localized to a deeper system layer. Standard accounts do not have the root permissions required to fix background engine loops or server-wide firewall rules.
When these conditions occur and the troubleshooting steps fail to restore the site, contact the server support team or hosting provider immediately to investigate the status of the shared server infrastructure.