Updated May 18, 2023
Introduction to Nginx Gateway Timeout
Nginx gateway timeout occurs during transactions, or our system might contain low resources; we can increase the system resources to resolve this issue in the future. It is widespread to see the nginx gateway timeout error using an nginx web server. This timeout error is generated for several reasons from the context of the back-end connection for the serving content.
Overview of Nginx Gateway Timeout
We need to see which configuration we are using to fix the 504 gateway timeout of nginx. It is the 504 error that occurred while requesting a transaction to the nginx server. It means nginx is waiting for a lengthy response, which will be timed out. There are multiple reasons for this to occur. This problem can affect the nginx server. First, users will get a 504 nginx gateway timeout when we use nginx as a reverse proxy, and it will time out while waiting for the server’s response and send a gateway timeout error.
How to Fix Error 504 Nginx Gateway Timeout?
Below are some of the critical ways to fix the error of 504 nginx gateway timeout as follows:
1. Server Goes Down
One of the most important causes of this issue is that our back-end server goes down because it will be overloaded with many requests or contain long-running requests. This issue will fix automatically when the server is started, and it got balanced for analyzing the server logs to identify the url requested just before our server shut down. However, sometimes it will contain the signal to upgrade our server. The below example shows to check the status of the nginx server. If it stops, we can start by using the following command.
Code:
service nginx status
service nginx start
Output:
2. DNS Issue
This issue is from the client as well as the server side. If suppose we have found server-side DNS problems, this may be because the domain’s name is not resolving an IP in case we have changed the IP address of the migrated website to the new IP. Sometimes, it will take 5 minutes to 24 hours to update the DNS records. On the other hand, if suppose we have found client-side problems, then we can flush the DNS cache, which was local. DNS is a prevalent issue of nginx gateway timeout, and it will occur on the client and server sides. The below example shows flush the DNS cache of the client-side as follows.
Code:
ipconfig /flushes
Output:
3. Disable CDN
If suppose our website is using the CDN, it will cause the timeout for returning the error of 504 gateway timeout. So, to solve this issue, we need to disable the CDN and try accessing the website.
4. Network Connectivity
Nginx will also give 504 errors if there are network connectivity issues between our end web server and the reverse proxy server. We need to log in to our proxy server and try connecting to the web server using the ping command. The below example shows to solve the issue of network connectivity between the end server and the reverse proxy server.
5. Firewall Issues
The nginx gateway timeout error occurs because the firewall is not configured correctly or it is not allowing any external traffic. It also blocks many requests, causing the nginx gateway timeout error. We can disable the firewall or need to configure the proper rule. In the below example, we are disabling the firewall as follows.
Code:
service ufw status
Output:
6. Faulty Plugins and Bugs
Faulty plugins and bugs also slow down our application, showing the gateway timeout error; in this case, we need to analyze the server logs to find which URL is causing this issue.
7. Spam, Bots, and DDOS Attack
Sometimes the malicious attack will break or flood our web server by using too many requests or running a slow request. At the same time, we need to monitor our log to see any spike in traffic; then, we need to identify the ranges and IP addresses for putting the measures in place to regulate the incoming request.
Increase Request in Nginx Gateway Timeout
By default, the nginx timeout is 60 seconds. However, we can increase the timeout to long-running server requests. If we don’t increase the timeout value, the nginx server will give the 504 error.
The below steps show how to increase the nginx gateway timeout request.
1. In This step, we install the nginx server on the Ubuntu system. We are installing the nginx server by using the apt-get command.
Code:
apt-get install nginx
Output:
2. After installing the nginx server, we check the nginx installed version by using the following command. We can check the nginx version and the running status of the nginx server.
Code:
nginx –V
Output:
3. After installing the nginx server in this step, we open the configuration file of nginx. We are opening the nginx configuration file using the vi command.
4. After opening the nginx file now, we are increasing the timeout of the nginx gateway as follows. We are expanding the timeout from default to 500. We can also increase the nginx timeout for the specified folder.
Code:
http {
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
}
Output:
5. After adding the connection timeout parameter in this step, we check the syntax and restart the nginx server.
Code:
nginx –t
service nginx restart
Output:
Conclusion
This timeout error is generated for several reasons from the context of the back-end connection for the serving content. First, it is the 504 error that occurred while requesting a transaction to the nginx server. We can increase system resources to resolve this issue that occurs in the future.
Recommended Articles
This is a guide to Nginx Gateway Timeout. Here we discuss the introduction and how to fix error 504 nginx gateway timeout with increased requests. You may also have a look at the following articles to learn more –