V-logue

[Nginx] Nginx 504 Gateway Time-out 본문

Error

[Nginx] Nginx 504 Gateway Time-out

보그 2022. 8. 3. 21:24

서버를 이용하는데는 아무런 문제가 없었지만,

console에 계속해서 504 error가 등장했기 때문에 이를 해결하기로 했다.

 

nginx를 사용하다보면, 발생할 수 있는 에러인데

서버와 클라이언트 사이에 proxy 연결 시간이 default 값인 60초를 넘기기 때문에 이를 바꿔주면 된다.

 

우리 서버의 nginx.conf 파일 값에 연결 시간과 관련된 값을 추가하면 된다.

	proxy_connect_timeout 300s;
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
	send_timeout 600s;
        proxy_buffers 8 16k;
server {
        listen       80;
        server_name  example.com;
        # redirect https setting
        if ($http_x_forwarded_proto != 'https') {
        return 301 https://$host$request_uri;
        }
        location /api {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        # port setting , 서버의 port와 동일한 port로 pass 시켜야 합니다.
        proxy_pass http://127.0.0.1:5000;
        proxy_redirect off;
        proxy_connect_timeout 300s;
        proxy_read_timeout 600s;
        proxy_send_timeout 600s;
	send_timeout 600s;
        proxy_buffers 8 16k;
        }

위와 같이 nginx.conf파일을 수정하고 나니 504에러가 console에 등장하지 않게 됐다.

 

포인트는 send_timeout 시간을 60초보다 좀 더 많이 길게 설정하는 것 

Comments