March 19, 2021 / Nirav Shah
A 504 HTTP Bad Gateway is a known problem for system admins and developer alike. The most widely recognized explanation behind this mistake is that the back-end code didn’t react to an event call.
HTTP 504 error is caused by an idle timeout.
You can see on Cloudwatch metrics.
Step 1: Open the AWS Management Console.
Step 2: Go to EC2.
Step 3: Choose the Load Balancer and select your load balancer.
Step 4: From the Description tab, select edit attributes.
Step 5: Type the value for an idle timeout in the range of 1 to 3600 seconds, and save it.
The second reason for HTTP 504 error is that a back-end instance closes its TCP connection with the load balancer before the idle timeout value has been reached.
The load balancer pre-opens TCP connection with the back-end instance for HTTP and HTTPS listeners based on the number of connections it has with active requests. So for a large number of requests, load balancer opens more pre-opened TCP connections and also the load balancer does not use a pre-opened connection immediately if it is not receiving many requests.
This relies upon how you arranged your backend to permit association reuse. Without keep-alive help, the load balancer needs to open another association for each request it gets.
As a Director of Eternal Web Private Ltd an AWS consulting partner company, Nirav is responsible for its operations. AWS, cloud-computing and digital transformation are some of his favorite topics to talk about. His key focus is to help enterprises adopt technology, to solve their business problem with the right cloud solutions.
Have queries about your project idea or concept? Please drop in your project details to discuss with our AWS Global Cloud Infrastructure service specialists and consultants.