How to Fix 504 Gateway Timeout Error: 10 Reliable Solutions
Like the 500 internal server and 502 bad gateway errors, 504 “Gateway Timeout” is one of the most common server errors both users and website owners encounter.
Every second of downtime can harm your WordPress site’s search engine performance. Therefore, as a website owner, you need to fix this issue as soon as possible.
This article will go over the possible causes of the 504 gateway timeout error.
What Is a 504 Gateway Timeout Error?
The 504 “Gateway Timeout” Error indicates that the browser sent an HTTP request to the server and it did not receive a response in time from another server to complete the request. In most cases, you can resolve it by refreshing the web page.
In other words, the 504 Gateway Timeout Error means that there’s an issue with your network connection or server communication speed as it did not load the web page.
Debugging the 504 gateway timeout error can be challenging due to the high number of potential causes. We’ve included troubleshooting tips to help you get the site up and running in no time.
504 Bad Gateway Timeout Error Variations and Causes
Error code | 504 Gateway Timeout Error |
Error type | Server-side |
Error variations | Gateway Timeout Error Gateway Timeout (504) 504 Gateway Time-out. The server didn’t respond in time This page isn’t working. Domain took too long to respond HTTP Error 504 – Gateway Timeout 504 Status Code |
Error causes | Firewall DNS issues Network connectivity problems Overloaded server PHP limits |
When you encounter the 504 Bad Gateway error, it will usually look something like this:
This HTTP error can appear in different forms and various error messages across browsers, servers, and operating systems. Here are the most common ones:
- 504 Gateway Timeout NGINX
- Gateway Timeout Error
- Gateway Timeout (504)
- HTTP Error 504
- Error 504
- 504 Error
- 504 Gateway Time-out. The server didn’t respond in time
- This page isn’t working. Domain took too long to respond
- HTTP Error 504 – Gateway Timeout
- 504 Status Code
- 504 Error Code
Determining the causes is the first step of fixing the 504 Gateway Timeout error. Here are several problems that may cause 504 gateway timeout:
- Firewall issues. The DDoS protection and mitigation systems of some firewalls may block requests from a specific internet service provider or a content delivery network like Cloudflare. Faulty firewall configuration may also be the issue.
- Unresolvable domain. This occurs when a domain fails to resolve to a correct IP address. This issue could happen when a website has been recently moved to a different IP address or hosting nameserver.
- Connectivity issues. If the 504 Gateway Timeout error appears on multiple browsers, devices, or websites, your network equipment might be experiencing temporary connection problems.
- Web server overload. A web server running low on resources can get overloaded and thus respond to browser requests slowly, causing the other server to time them out.
- Limited PHP workers. These components handle requests whenever a visitor takes action on a WordPress website. Without sufficient PHP workers, your website might fail to process multiple requests.
- Domain Name System (DNS) issues. These include an incorrect DNS configuration and an outdated or corrupted DNS cache.
How to Fix 504 Gateway Timeout Error
In most cases, 504 errors have server-side causes. However, they may also pop up due to issues or an incorrect configuration on the client side.
We’ll go through the basic troubleshooting steps with both options in mind. Most of the solutions apply to any website, but some are WordPress-specific.
1. Refresh the Page
This tip may sound simple, but it’s one of the most common fixes to resolve the 504 gateway timeout error. The server might be receiving more requests than usual, so refreshing the page is worth a try.
The easiest way to do it is to click the Refresh button next to your browser’s address bar or press F5. Alternatively, press Ctrl + F5 to clear the browser cache and force refresh the page.
While waiting for the page to refresh, consider checking if the website is down. Doing so will confirm whether the problem is related to your local network.
2. Check the Order Usage
Each hosting plan allocates a certain amount of resources for optimal website performance. Hostinger users can check their allocated resources by accessing the Resource Usage menu from hPanel.
If your hosted WordPress site has reached its hosting plan limits, visitors will see a server error message. If this is the case, contact your hosting provider to upgrade to a hosting plan with more resources to better accommodate your site’s needs.
Another possible solution to this problem is to increase the maximum execution time limit of PHP. Server timeouts can happen when PHP scripts take longer to complete than the defined duration.
Extending the maximum execution time limit will help prevent the scripts from being marked as an error mid-process. Do so by manually editing the .htaccess file, installing the Google Pagespeed Insights plugin, or changing the PHP configuration via your hosting account’s control panel.
Here are the steps to increase the WordPress max-execution-time value via hPanel:
- Navigate to PHP Configuration under the Advanced section of the hPanel.
- Click on the PHP Options tab, and scroll down until you locate the max-execution-time field.
- The default value is 30 seconds. Increase it to 60 and click Save. If that doesn’t resolve the issue, increase the value further to 120-180 seconds.
Don’t set the max-execution-time value to 0 as it would allow PHP scripts to run for an infinite period and consume your server resources.
3. Try a Different Browser
If refreshing the page and increasing the maximum execution time limit of PHP scripts didn’t resolve the 504 gateway timeout error, the issue might be browser-related.
Try loading the WordPress site on another browser and using incognito mode to verify that it’s not a server-side error. Clearing the browser cache before reloading the page will also increase its load time and reduce the probability of server timeouts.
4. Flush DNS
DNS issues can originate on both the server and client sides. Server-side DNS issues generally occur on websites with unresolved IP addresses, while client-side ones are caused by an outdated or corrupted DNS cache, which could result in HTTP error 504.
If the WordPress site was recently moved to a different domain or server, the change might not have finished propagating globally. DNS propagation takes between 24-48 hours to complete, so use a DNS propagation checker to verify whether the process is complete.
To fix client-side DNS issues, try flushing your DNS cache. Like browsers, your operating system maintains a local cache. Flushing DNS will eliminate corrupted and outdated cache files that may be causing errors.
The way of doing it differs depending on your operating system. For instance, the following are the steps to flush the DNS cache on Microsoft Windows:
- Press Windows+R keys together, then type cmd to open the command prompt.
- Type ipconfig /flushdns and press Enter to clear the DNS cache files and reset the DNS resolver cache.
- A confirmation message will appear if the process is successful.
Important! Flushing DNS cache is particularly beneficial to Google Chrome users, as the browser stores a separate cache from the operating system.
Temporary switching the DNS server to a public one is an excellent way to rule out the possibility of a DNS-related problem. Some of the most popular public DNS servers include Cloudflare 1.1.1.1, Google Public DNS, and Comodo Secure DNS.
5. Test with Different Devices
Try loading the website on a different computer, network connection, or mobile phone. You may also try rebooting the network devices to check if it’s a hardware issue or an internet connection problem.
If the HTTP 504 error persists on multiple devices, it’s likely a server-side problem.
6. Check the Error Log
Another possible cause of the 504 gateway timeout error is code corrupted by recent website changes or updates. In this case, checking the error log will help quickly pinpoint the issue.
Hostinger users can activate the PHP error logging feature on hPanel. Here’s how to do it:
- Navigate to PHP Configuration under the Advanced section of hPanel.
- Access the PHP Options tab and tick the log_errors box.
- Scroll down to the bottom and hit Save.
If your hosting provider doesn’t offer PHP error logging by default and you’re using WordPress, you can enable debug mode by adding the following lines to the wp-config.php file:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Setting WP_DEBUG_LOG to true will document any errors in the wp-content/debug.log file. Meanwhile, WP_DEBUG_DISPLAY dictates whether or not debug messages will appear on HTML pages.
7. Check Plugins
In rare cases, a third-party WordPress plugin may be causing the 504 gateway timeout error. Certain plugins, particularly those related to caching, send requests to the server, thus increasing the workload of PHP workers, which might trigger the issue.
Outdated or incompatible plugins can also cause problems. Temporarily disabling all of them will help you check if there’s a faulty plugin.
Navigate to the wp-content directory and rename the plugins folder, which will disable all of your WordPress plugins. You can do this via your hosting account’s File Manager or an FTP client like FileZilla.
If your site works fine when all the plugins are disabled, the next step is to locate which of them is causing the error 504. Restore the original name of the plugins directory and disable the plugins one by one to pinpoint the source of the issue.
8. Check CDNs
If you’re utilizing a Content Delivery Network (CDN) to serve content faster, it’s worth checking whether it functions properly.
One of the most frequently used CDN solutions is CloudFlare, which also acts as a DDoS mitigation service. While using it, you can encounter two versions of the 504 gateway timeout error.
If the error message mentions CloudFlare, then the issue originates there. You can check the Cloudflare system status to clarify whether the company is aware of any network issues.
In this case, contacting CloudFlare support is the fastest way to solve the problem. Otherwise, disable the CDN entirely and wait until the DNS is fully propagated.
The following version of the 504 error page indicates the problem stems from the web hosting provider, which you should contact for assistance.
9. Tweak Server Settings
Web server issues are a common cause of the 504 gateway timeout error on websites powered by VPS hosting services.
If you’re using the Apache web server, the error may be triggered by the execution time limit of PHP scripts.
The HTTP 504 errors are often caused by a proxy connection timeout on websites running on Nginx.
The following 504 error page indicates that the issue is related to an Nginx web server error:
In the following sections, we’ll discuss tweaking server settings and increasing specific resource limits to solve the 504 gateway timeout error on both platforms.
Apache
Apache users can increase the default timeout value in the httpd.conf file. Add the following line to the Apache configuration file to increase the default timeout value from 300 seconds to 600 seconds:
Timeout 600
The new value will prompt the server to wait longer for the request before timing out.
You can also increase the max_execution_time limit in php.ini for PHP scripts to run longer:
max_execution_time 300
After saving the changes, restart Apache. The HTTP 504 gateway timeout error should be gone if it was caused by an insufficient request timeout limit.
Nginx
If your VPS utilizes the Nginx server as a reverse proxy for Apache, try increasing the following values in /etc/nginx/conf.d/timeout.conf:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
If you use Nginx with the FastCGI Process Manager (PHP-FPM), you will need to edit the PHP-FPM file. Navigate to /etc/php5/fpm/pool.d/www.conf and add the following line:
Request_terminate_timeout = 300
We also recommend increasing the max_execution_time in php.ini:
max_execution_time 300
Important! Keep in mind that the location of the configuration file varies based on the installation.
Save the changes, restart Nginx, and reload the website.
10. Contact Customer Support
If the 504 gateway timeout error persists after following all of the above suggestions, it’s best to contact the support team of your web host. Describe what you did during the troubleshooting and provide as much information as possible to speed up the process.
Hostinger users can reach out to our Customer Success team or access the knowledge base from the bottom right corner of the hPanel dashboard page.
Troubleshooting Other Errors
What Is 304 Status Code and How to Fix It
How to Fix a 400 Bad Request Error
401 Error: 5 Ways to Troubleshoot and Fix It
403 Forbidden Error and How to Fix It
How to Fix HTTP Error 405 Method Not Allowed
How to Fix 413 Request Entity too Large Error
How to Fix 429 Too Many Requests Error Code
How to Solve 503 Service Unavailable Error
How to Fix cURL Error 28
Conclusion
The 504 gateway timeout error is one of the most common HTTP response status codes that internet users encounter. Even though the error message contains limited information on the source of the issue, there are several different methods to troubleshoot the problem.
Here’s a recap of the ten possible solutions on how to fix the 504 gateway timeout errors:
- Refresh the page.
- Check the hosting’s order usage.
- Open the page on a different browser.
- Flush the DNS cache.
- Open the page on different devices and reboot the network devices.
- Check the error log for faulty code and misconfigurations.
- Check the installed third-party plugins.
- Check the CDN status.
- Tweak the Apache or Nginx configuration to resolve server connectivity issues.
- Contact the support team of your hosting provider.
We hope this article has helped you resolve the HTTP 504 gateway timeout error. If you have any questions or suggestions on how to deal with this issue, leave a comment below.
504 Gateway Timeout FAQs
The following frequently asked questions discuss more about 504 gateway timeout.
How Long Does 504 Gateway Timeout Last?
The duration of the error depends on the specific cause and how long it takes for the underlying issue to be resolved.
How Can I Prevent 504 Gateway Timeout Errors?
Optimize website performance by minimizing the use of resource-intensive plugins, optimizing images, and minimizing HTTP requests to prevent 504 gateway timeout errors. Additionally, consider upgrading to a higher-tier hosting plan. Hostinger offers an easy way to upgrade your plan.
What Are Some Other Types of Gateway Timeout Errors?
Other types of gateway timeout errors include the 502 Bad Gateway error, which occurs when a server receives an invalid response from a server upstream. Another error is 503 Service Unavailable, which occurs when a server is unable to handle incoming requests due to maintenance, overload, or other issues.
Comments
July 16 2018
You are a life saver! This pesky 504 message kept bugging my site for such a long time. My host had no clue what happened. I started investigating my error log as you suggested and found out that a few WordPress plugins created many error entries. After deleting these plugins, my website works perfectly. No more error now. It seems like Hostinger has a solution for everything. I'm starting to consider moving my website to you guys haha!
July 18 2018
I'm glad to hear you were able to fix your website. And the doors of Hostinger are always open for you, Rajma! ;)
December 04 2018
Spell check strikes again.... in the 'conclusion', the word overlooked needs an edit. Either change it to read that you have looked over, looked at, or considered, etc. BTW, your article is extremely helpful. Well done!
January 14 2019
Fixed, thank you for the catch! ;)
March 05 2020
Fixed, thank you for the catch! ;)
September 07 2020
This article is too much informative,Thanks a lot for supporting us by sharing your most valuable time. keep It up
November 11 2020
Always happy to help.