백 엔 드 서버 에 대한 Nginx 역방향 프 록 시 오류 처리

1058 단어
Nginx 가 역방향 에이전트 일 때 기본적으로 폴 링 방식, 즉 하나의 요청 상류 서버 를 사용 합 니 다.우 리 는 ip 를 채택 할 수 있다hash 정책 은 같은 ip 주소 에서 온 사람 이 같은 서버 로 응답 하도록 합 니 다.
만약 에 상류 서버 에 오류 가 발생 하면 예 를 들 어 404, 500 등 오류 가 발생 하면 상류 서버 는 아직도 일부 서비스 가 정상 적 이 고 일부 서비스 가 정상 적 이지 않다.이 럴 때 Nginx 는 상위 서버 를 고장 으로 처리 하지 않 습 니 다.
이 때 사용자 가 nginx 를 다시 방문 할 때 404, 500 등의 오류 가 자주 발생 합 니 다.
해결 방안
    location / {
        proxy_pass http://ssc_backend;
        ...
        proxy_next_upstream error timeout invalid_header http_500 http_404;
        proxy_connect_timeout   2;
   }

프 록 시 상위 서버 의 location 설정 블록 에 마지막 두 마디 를 붙 이거 나 직접 사용 proxy_next_upstream error timeout invalid_header http_500 http_404; 한 다 는 말 은 Nginx 가 백 엔 드 서버 에 요청 할 때 오류 가 발생 하면 시간 을 초과 하고 잘못된 응답 코드 를 지정 할 때 다음 서버 를 요청 한 다 는 뜻 이다.
이렇게 하면 상류의 한 서버 가 일부 서비스 만 제공 하 는 것 을 방지 할 수 있다.
개인 적 으로 역방향 대 리 를 설정 할 때 이 말 을 추가 하 는 것 을 권장 합 니 다.
proxy_next_upstream error timeout invalid_header http_500 http_404;

레 퍼 런 스
  • Module ngx_http_proxy_module
  • 좋은 웹페이지 즐겨찾기