Most common website and server errors explained.

It's never fun to receive a notification that your website or server is down. It can even be scary if you don't know what the error means. In this guide, we have listed the most common errors. We explain the cause and what you can do about it.

Screenshot of status codes in Semonto

Did you receive a notification that one of your websites or servers is down? Are you having trouble understanding the error? Check out this guide to get a better insight.

Generic info

Every executed test has multiple attributes. Of course, every test has a timestamp that indicates which type of test was performed at what time. In Semonto's dashboard you can select which tests you want to run on your website or server. Every test also returns a status, which can be "OK" (green circle), "Warning" (amber circle), "Critical" (red circle) or "Error" (red triangle). Another attribute is a custom string, which can give more insights into the status, and why a test failed. If this string starts with a number, this number appears in the uptime reports. This allows you to get a view on the load time, server load and more. In this guide, we will focus us on analysing and deciphering this custom string.

Reachability result details in Semonto

Execution expired

Every test has a maximum execution time. If the test is not completed in time, it will fail and return "execution expired" as an error message. This time-out can be related to several network issues like packet loss, high latency, or a server that opens a connection but is not sending any data.

Connection refused

Example:

35.961968 | Failed to open TCP connection to domain.tld:443 (Connection refused - connect(2) for "xx.xx.xx.xx" port 443)

The first number indicates how long the test has been running, in milliseconds. In this case, Semonto tried to open a network connection (TCP) to your server. The server refused this connection on port 443 (HTTPS). There are several possible explanations: maybe the server is overloaded, or the software is not running correctly, perhaps a firewall or proxy is blocking the connections. It can also be a wrong configuration on the server.

Hostname not known

Example:

13064.934051 | Failed to open TCP connection to domain.tld:443 (Hostname not known: domain.tld)

This one is very similar to the previous one. However, the error is at a different level. If you enter a domain in the Semonto dashboard, it needs to be translated back to the IP of your server. This process is called DNS resolving. If this DNS resolving fails, this error will appear: 'Hostname not known'. This error can originate the DNS server of your hoster, but also on a different DNS server like the DNS servers Semonto is using. Semonto always verifies tests by rerunning them on servers with a different geographical location. Only when both tests fail, an alert will be sent out. This reduces the number of false positives and local DNS issues.

HTTP error status codes

Example:

46686.4196 | http: 500

When the test is using the HTTP (or HTTPS) protocol to connect to your server, the server will return a status code which is set by your server. This status code usually is a number between 100 and 999. There are five categories. HTTP Status codes starting with 1 are informative. 2 means that the server result was successful. The 300 range is used for redirections. These should be successful unless there are too many redirects (like infinity loops). The 400 range often indicate "client errors", or errors in the request. Statuses in the 500 range mean server-related errors.

List of most common error HTTP status codes:

  • HTTP 401: Unauthorized
  • HTTP 403: Forbidden. The server refused to serve this page. This can be a server configuration error, like an htaccess misconfiguration. Read more about HTTP 403 and its possible causes here.
  • HTTP 404: File Not Found. The requested file does not exist on the server.
  • HTTP 418: I'm a teapot. If all is fine, you will never see this one. It was created as a joke, so most likely you will never need it.
  • HTTP 500: Internal Server Error. Generic server error indicating that the server encountered an error. It is hard for Semonto to know who the culprit is, but the server logs should give you more information about the issue. The cause can be a database connection error, a file permission error, a configuration error or something else.
  • HTTP 502: Bad Gateway. Bad Gateway. When you are using a proxy server, this status alerts you that the proxy server couldn't process or forward the request internally.
  • HTTP 503: Service Unavailable. Used to indicate temporary maintenance or server issues (e.g. overloads).

In this example, a HTTP 500 was returned by the server after 46 seconds. This means that the server could not process your request due to an internal error. The server logs on your webserver or at your hoster should contain more information.

HTTP 429 – Too many requests

Errors like HTTP 429 indicate a server is flooded by too many requests. If you use a broken link monitor, this error message might indicate that its crawler is overloading the server. That is why, in Semonto, you can adjust the crawl speed in the settings. If you are hosting your website on CloudFlare, you can also check the following guide:  How to monitor Cloudflare sites Bonus tip: You can also monitor your web servers’ load using our server health monitoring. This allows you to set a maximum load or disk space usage for your server and receive an alert when the threshold is crossed.