nginx 역방향 에이전트 의 upstream timeout 문 제 를 해결 합 니 다.

1921 단어
  • 가끔 우리 가 nginx 로 역방향 대 리 를 할 때 다음 과 같은 오 류 를 만 날 수 있다.
    "[error] 11618#0: *324911 upstream timed out (110: Connection timed out) while reading response header from upstream, "
    
  • 이런 상황 은 nginx 로 역방향 대 리 를 할 때 많이 발생 한다. 예 를 들 어 nginx 로 역방향 대 리 를 하여 특정한 swagger 인 터 페 이 스 를 전달 하 는데 방문 인터페이스 타 임 스 가 틀 렸 을 때 상태 코드 는 보통 504 이 고 대리 시간 초과 문제 이다.
  • 사실은 시간 초과 문제 로 인 한 것 이다. 해결 방안 은 다음 과 같다.
  • 프 록 시 방식
  • 일반적으로 우 리 는 nginx 의 proxy 체 제 를 사용 하여 역방향 대 리 를 합 니 다. 이때 우 리 는 nginx 설정 파일 nginx.conf 을 수정 하고 http 또는 server 세그먼트 에 다음 과 같은 내용 을 추가 해 야 합 니 다.
    large_client_header_buffers 4 16k;
    client_max_body_size 30m;
    client_body_buffer_size 128k;
    
    proxy_connect_timeout 300;
    proxy_read_timeout 300;
    proxy_send_timeout 300;
    proxy_buffer_size 64k;
    proxy_buffers   4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
    
  • 그리고 nginx 를 다시 시작 하면 보통 시간 초과 문제 가 해 결 됩 니 다.

  • Fastcgi 방식
  • 대부분 상황 에서 우 리 는 proxy 방식 을 사용 하지만 가끔 우 리 는 fastcgi 방식 을 만 날 수 있다. 예 를 들 어 nginx 로 phop 페이지 를 처리 하 는 장면 이다.실제 처리 방식 은 비슷 합 니 다. nginx 설정 파일 nginx.conf 을 수정 하고 http 또는 server 세그먼트 에 다음 과 같은 내용 을 추가 합 니 다.
    large_client_header_buffers 4 16k;
    client_max_body_size 30m;
    client_body_buffer_size 128k;
    
    fastcgi_connect_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers   4 32k;
    fastcgi_busy_buffers_size 64k;
    fastcgi_temp_file_write_size 64k;
    
  • 그리고 nginx 를 다시 시작 하면 보통 시간 초과 문제 가 해 결 됩 니 다.
    상기 설정 의 구체 적 인 매개 변 수 는 실제 상황 에 따라 정 해 야 합 니 다. 복사 붙 여 넣 기만 할 수 없습니다. 여러분 이 대응 하 는 문 제 를 처리 하 는 데 도움 이 되 기 를 바 랍 니 다.

  • 다음으로 전송:https://juejin.im/post/5b472b785188251b134e6459

    좋은 웹페이지 즐겨찾기