nginx proxy_next_upstream 에서 발생 한 중복 제출 오류

1073 단어
문제: 하나의 요청 이 중복 제출 되 었 습 니 다. nginx 프 록 시 뒤에 2 개의 서버 가 걸 려 있 기 때 문 입 니 다. 요청 시간 이 초과 되 었 을 때 (사실은 처리 되 었 습 니 다), 그 결과 Nigix 는 시간 이 초과 되 었 음 을 발견 하고 다른 서버 에 요청 을 다시 처리 하 였 습 니 다.
내 nginx 설정:
location  ~ /apollo {
            limit_req zone=pin burst=20;
	        rewrite /apollo/(.*) /$1 break;
            proxy_next_upstream     http_500 http_502 http_503 http_504 error timeout invalid_header;
            proxy_set_header        Host  $host;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass              http://tomcat_apollo;
            expires                 0;
        }

분석: 코드 에 proxy 설정next_upstream 이 옵션 입 니 다.이 옵션 을 사용 하면 tomcat 가 다음 (http 500 http 502 http 503 http 504 error timeout invalid header) 오류 코드 를 되 돌려 주 고 다른 서버 를 다시 시도 합 니 다.이것 은 읽 기 요청 에 관계 가 없습니다. 쓰기 요청 에 대해 서 는 여러 번 제출 되 는 사건 이 발생 합 니 다.
솔 루 션: proxy 제거next_upstream.
참고:http://nginx.org/en/docs/http/ngx_http_proxy_module.html
http://blog.csdn.net/mj158518/article/details/49847119

좋은 웹페이지 즐겨찾기