solrj 클 라 이언 트 요청 nginx 411 오류

1485 단어 solr
처음에 jboss / jetty 를 사용 하여 solr 서 비 스 를 실 행 했 습 니 다. 정상 적 이 었 습 니 다. 오늘 앞 에 nginx 를 추 가 했 습 니 다. 갑자기 add / update document 을 제출 하 는 것 이 반영 되 지 않 았 습 니 다. 첫 번 째 반응 은 서비스 에 문제 가 있 는 지 여부 입 니 다. solr 서버 로 그 를 보 니 로그 인쇄 가 적 었 습 니 다. add 부분 이 없습니다. debug solr 서버 추적 을 통 해 요청 한 document 매개 변수 가 비어 있 는 것 을 발 견 했 습 니 다.그 다음 에 solrj 클 라 이언 트 코드 를 보면 매번 두 번 씩 서버 를 바 꾸 고 한 번 에 데 이 터 를 보 내 고 한 번 에 commt 를 제출 해 야 하 며 데 이 터 를 보 낼 때마다 socket broke pipe 로 돌아 가 는 것 을 발견 합 니 다. 이것 은 요청 이 서버 에 도 착 했 는 지, debug 서버 에서 한 번 만 요청 하고 commt 매개 변수 인 그 요청 이 도 착 했 는 지 확인 하 는 것 입 니 다.
그 제야 생각 났 어 요. nginx 를 보 러 갔 는데 이런 보고 가 틀 렸 어 요.

"POST http://xxxxx/solr/core1/update?wt=javabin&version=2" 411 649 "-" "Solr[org.apache.solr.client.solrj.impl.HttpSolrServer] 1.0"

이것 은 411 잘못 이 분명 합 니 다. 원래는 nginx 에 의 해 차단 되 고 잘못 보고 되 었 습 니 다. 411 잘못 보고 한 데 는 이런 원인 이 있 습 니 다.
nginx 가 내 놓 은 공식 설명 은 nginx 탄 411 회 를 유발 하 는 세 가지 상황 이 있다.
client sent invalid “Content-Length” header
client sent … method without “Content-Length” header
client sent “Transfer-Encoding: chunked” header

그리고 여기 해결 방안 이 있 습 니 다.
http://wiki.nginx.org/HttpChunkinModule
배치 하 다.
nginx ngx 를 돌아 갑 니 다.http_process_request_header 방법 에서 상기 세 가지 상황 에 대한 검사
하지만 내 nginx 버 전 은 HttpChunkinModule 을 지원 하지 않 는 다 는 것 을 알 게 되 었 다. 먼저 기억 하고 내 가 업그레이드 한 후에 효과 가 있 는 지 확인 하 자.
여기 서도 비슷 한 글 을 찾 았 다.http://artori.us/nginx-411-error/

좋은 웹페이지 즐겨찾기