Troubleshooting HTTP 503 Errors

HTTP 503 (like all other 5XX errors) is a server side error message. But 503 is a bit more descriptive.

It basically tells us that the server or service is temporary unavailable to handle the request but is functioning normal otherwise.

It could mean the server or service is down for scheduled maintenance but hasn’t necessarily crashed.

The key point to note here is that it implies “temporary” unavailability and that we expect the service to be back to normal with time.

For example, if you try loading the site a couple of times, it may work, let’s say, 10% of the time and return 503 error other times. This could indicate the servers are overloaded and unable to handle that extra load. This is just a probability and we need to gather more evidence like CPU/Memory/Resource usage to confirm that this is indeed the case.

If I see this error, I would roughly run through this list –

  • Low server resources? Heavy usage? Try again and see if it loads
  • Non responsive scripts
  • External resource is slow or non responsive
  • Site is under brute force or DDOS attack?
  • Check custom code. For example, I’d check PHP scripts if the site was running WordPress. I’d check plugins/themes, disable them one by one and try loading the site again.
  • .htaccess issue?
  • Digging deeper:
    • Check site’s server log
    • Check temp files/cache
    • Contact the hosting company
    • Check analytics to see if there’s more traffic than usual
    • Check for slow database queries
  • Check for other documentation specific to host or the software that is running on the site.
  • Do a quick Google search, check Stackoverflow and other such sites with the information I have acquired so far in my investigation.

And that’s about it. With that you should be equipped to handle HTTP 503 errors. If you find this post helpful or if you have anything else to add to it, please leave a comment below. Thanks!

Leave a comment