본문 바로가기
Nginx

timeout 설정 정리

by ybs 2021. 1. 19.
반응형

nginx 는 reverse proxy로 많이 사용되는 만큼 다양한 timeout 설정이 있다. 

각각을 좀 정확히 알고 싶어서 정리했다.

 

client_header_timeout

request header 정보를 읽는데 설정된 timeout 시간이다. client_header_timeout에 지정한 시간안에 client가 헤더를 전송하지 않으면 요청은 408(Request Time-out)로 끝난다. 디폴트 값은 60초이다.

client_header_timeout 60s;

 

client_body_timeout

request body 정보를 읽는데 설정된 timeout 시간이다. request body 전체 전송 timeout 시간이 아니라, 두개의 연속적인 읽기 작업 사이의 timeout 시간이다. client_body_timeout에 지정한 시간안에 client가 아무것도 전송하지 않으면 요청은 408(Request Time-out)로 끝난다. 디폴트 값은 60초이다.

client_body_timeout 60s;

 

keepalive_timeout

첫번째 파라미터는 서버와 커넥션이 계속 열린채로 유지하는데 설정한 timeout 시간이다. 디폴트 값은 75초이다.

0 값은 keep-alive client connections을 사용안한다는 설정이다. 

 

두번째 파라미터(옵션)는 응답 헤더 필드의 timeout 시간 설정이다. Keep-Alive: timeout=time 

 

첫번째와 두번째 파라미터는 다르다.

Keep-Alive: timeout=time 헤더 필드는 Mozilla 와 Konqueror 브라우저에서 인식되고 Microsoft IE 브라우저는 약 60초 후 자체적으로 keep-alive 연결을 닫는다.

 

timeout 시간이 지나치게 크면 많은 커넥션을 유지하게 되어 L4나 서버의 자원에 부담이 될 수도 있다. 

keepalive_timeout 75s;

 

send_timeout

client로 응답을 전송하는데 설정된 timeout 시간이다. 전체 응답 전송 timeout 시간이 아니라 두개의 연속적인 쓰기 작업 사이의 timeout 시간이다. send_timeout에 지정한 시간안에 client가 아무것도 받지 못하면 connection은 닫힌다. 디폴트 값은 60초이다.

send_timeout 60s;

 

resolver_timeout

도메인 이름을 IP로 풀어내는데 허용하는 최대시긴이다. 디폴트 값은 30초이다.

resolver_timeout 30s;

 

proxy_connect_timeout

proxied server 와 연결을 맺는데(establishing) 설정한 timeout 시간이다. 75초를 초과 할 수 없으며 디폴트 값은 60초이다.

proxy_connect_timeout 60s;

 

proxy_read_timeout

proxied server 로부터 응답을 읽는데 설정한 timeout 시간이다. 전체 응답 전송 timeout 시간이 아니라 두개의 연속적인 읽기 작업 사이의 timeout 시간이다. proxy_read_timeout에 지정한 시간안에 proxied server가 아무것도 전송하지 않으면 connection은 닫힌다. 디폴트 값은 60초이다.

proxy_read_timeout 60s;

 

proxy_send_timeout

proxied server로 요청을 전송하는데 설정한 timeout 시간이다. 전체 request 전송 timeout 시간이 아니라 두개의 연속적인 쓰기 작업 사이의 timeout 시간이다. proxy_send_timeout에 지정한 시간안에 proxied server가 아무것도 받지 못하면 connection은 닫힌다. 디폴트 값은 60초이다.

proxy_send_timeout 60s;

 

원문 참고 : nginx.org/en/docs/http/ngx_http_core_module.html

원문 참고 : nginx.org/en/docs/http/ngx_http_proxy_module.html

 

 

Module ngx_http_core_module

Module ngx_http_core_module Directives Syntax: absolute_redirect on | off; Default: absolute_redirect on; Context: http, server, location This directive appeared in version 1.11.8. If disabled, redirects issued by nginx will be relative. See also server_na

nginx.org

 

 

반응형

'Nginx' 카테고리의 다른 글

rewrite break 이슈  (0) 2022.02.17
nginx 수정 하면서 썼던 명령어 정리  (0) 2021.08.03
reset_timedout_connection 옵션  (0) 2021.01.19
파일 업로드/다운로드 시 임시 디렉토리 권한 이슈  (0) 2021.01.19
nginx gzip 옵션  (0) 2021.01.17