Nginx 의 시간 초과 설정

6147 단어 서버Nginx
본 고 는 Nginx 의 시간 초과 (timeout) 설정 을 소개 합 니 다.여러분 께 공유 하 겠 습 니 다. 구체 적 으로 다음 과 같 습 니 다.
Nginx 가 처리 하 는 모든 요청 은 시간 초과 설정 이 있 습 니 다.이러한 시간 초과 제한 을 잘 하면 시간 초과 판정 후 자원 이 방출 되 어 다른 요청 을 처리 하여 Nginx 의 성능 을 향상 시 킵 니 다.
keepalive_timeout
HTTP 는 무상 태 프로 토 콜 로 클 라 이언 트 가 서버 에 TCP 요청 을 보 내 고 서버 응답 이 끝나 면 연결 을 끊 습 니 다.
클 라 이언 트 가 서버 에 여러 개의 요청 을 보 내 면 모든 요청 은 각각 독립 된 연결 을 만들어 데 이 터 를 전송 해 야 합 니 다.
HTTP 는 웹 서버 에 요청 을 처리 한 후에 이 TCP 연결 의 열 린 상 태 를 유지 하 라 는 KeepAlive 모드 가 있 습 니 다.클 라 이언 트 로부터 다른 요청 을 받 으 면 서버 는 닫 히 지 않 은 연결 을 이용 하여 연결 을 만 들 필요 가 없습니다.
KeepAlive 는 일정 시간 동안 열 린 상 태 를 유지 합 니 다. 이 기간 동안 자원 을 사용 합 니 다.너무 많이 점용 하면 성능 에 영향 을 줄 수 있다.
Nginx keepalive 사용timeout 은 KeepAlive 의 시간 초과 (timeout) 를 지정 합 니 다.모든 TCP 연결 을 최대 얼마나 오래 유지 할 수 있 는 지 지정 합 니 다.Nginx 의 기본 값 은 75 초 이 며, 일부 브 라 우 저 는 최대 60 초 만 유지 하기 때문에 60 초 로 설정 할 수 있다.0 으로 설정 하면 keepalive 연결 이 금 지 됩 니 다.보통 keepalivetimeout 은 client 보다body_timeout (다음 글 참조) 크다.# : http, server, location keepalive_timeout 60s;
client_body_timeout
클 라 이언 트 와 서버 가 연결 되 어 있 는 후 request body 를 보 내 는 시간 초과 시간 을 지정 합 니 다.클 라 이언 트 가 지 정 된 시간 내 에 내용 을 보 내지 않 으 면 Nginx 는 HTTP 408 (Request Timed Out) 을 되 돌려 줍 니 다.# : http, server, location client_body_timeout 20s;
client_header_timeout
클 라 이언 트 가 서버 에 완전한 request header 의 시간 초과 시간 을 보 냅 니 다.클 라 이언 트 가 지정 한 시간 안에 완전한 request header 를 보 내지 않 으 면 Nginx 는 HTTP 408 (Request Timed Out) 을 되 돌려 줍 니 다.# : http, server, location client_header_timeout 10s;
send_timeout
서버 에서 클 라 이언 트 에 게 데 이 터 를 전송 하 는 시간 초과, 퍼 가기 응용 서비스 에 따라 proxy 를 설정 할 수 있 습 니 다.send_timeout、uwsgi_send_timeout、fastcgi_send_timeout.# :http, server, location send_timeout 30s; Default: send_timeout 60s; Context: http, server, location Sets a timeout for transmitting a response to the client. The timeout is set only between two successive write operations, not for the transmission of the whole response. If the client does not receive anything within this time, the connection is closed.
client_header_timeout
클 라 이언 트 헤더 수신 시간 초과, 기본 60s, 60s 내 에 완전한 http 헤 더 를 받 지 못 하면 408 로 돌아 갑 니 다.Syntax: client_header_timeout time; Default: client_header_timeout 60s; Context: http, server Defines a timeout for reading client request header. If a client does not transmit the entire header within this time, the 408 (Request Time-out) error is returned to the client.
client_body_timeout
클 라 이언 트 body 수신 시간 초과, 기본 60s, 연속 60s 내 클 라 이언 트 의 1 바이트 가 받 지 않 으 면 408 로 돌아 갑 니 다.Syntax: client_body_timeout time; Default: client_body_timeout 60s; Context: http, server, location Defines a timeout for reading client request body. The timeout is set only for a period between two successive read operations, not for the transmission of the whole request body. If a client does not transmit anything within this time, the 408 (Request Time-out) error is returned to the client.
lingering_timeout
TCP 연결 이 꺼 졌 을 때의 SO 로 이해 할 수 있 습 니 다.LINGER 지연 설정, 기본 5sSyntax: lingering_timeout time; Default: lingering_timeout 5s; Context: http, server, location When lingering_close is in effect, this directive specifies the maximum waiting time for more client data to arrive. If data are not received during this time, the connection is closed. Otherwise, the data are read and ignored, and nginx starts waiting for more data again. The “wait-read-ignore” cycle is repeated, but no longer than specified by the lingering_time directive.
resolver_timeout
도 메 인 이름 분석 시간 초과, 기본 30sSyntax: resolver_timeout time; Default: resolver_timeout 30s; Context: http, server, location Sets a timeout for name resolution, for example: resolver_timeout 5s;
proxy_connect_timeout
nginx 와 upstream server 의 연결 시간 초과, 기본 값 은 60s 입 니 다.응용 에 따라 uwsgi 설정 가능send_timeout/fascgi_send_timeout/proxy_send_timeout Syntax: proxy_connect_timeout time; Default: proxy_connect_timeout 60s; Context: http, server, location Defines a timeout for establishing a connection with a proxied server. It should be noted that this timeout cannot usually exceed 75 seconds.
proxy_read_timeout
nginx 가 upstream server 데 이 터 를 수신 하 는 데 시간 이 초과 되 었 습 니 다. 기본 60s 입 니 다. 연속 적 인 60s 에서 1 개의 바이트 가 받 지 않 으 면 연결 이 닫 힙 니 다.응용 에 따라 uwsgi 설정 가능send_timeout/fascgi_send_timeout/proxy_send_timeout Syntax: proxy_read_timeout time; Default: proxy_read_timeout 60s; Context: http, server, location Defines a timeout for reading a response from the proxied server. The timeout is set only between two successive read operations, not for the transmission of the whole response. If the proxied server does not transmit anything within this time, the connection is closed.
proxy_send_timeout
nginx 에서 upstream server 로 데 이 터 를 보 내 는 시간 이 초과 되 었 습 니 다. 기본 60s 입 니 다. 연속 적 인 60s 에서 1 개의 바이트 가 보 내지 않 으 면 연결 이 닫 힙 니 다.응용 에 따라 uwsgi 설정 가능send_timeout/fascgi_send_timeout/proxy_send_timeout。 Syntax: proxy_send_timeout time; Default: proxy_send_timeout 60s; Context: http, server, location Sets a timeout for transmitting a request to the proxied server. The timeout is set only between two successive write operations, not for the transmission of the whole request. If the proxied server does not rec
저자: shiguofu
링크:https://hacpai.com/article/1543809580828
출처: * * 파
프로 토 콜: CC BY - SA 4.0https://creativecommons.org/licenses/by-sa/4.0/

좋은 웹페이지 즐겨찾기