2015-01-02 2 views
0

elasticsearch CRUD 작업을 수행하기 위해 작동하는 elasticsearch 프록시를 구축했습니다. 그것은 다음과 함께 프록시를 통해 헤드 플러그인을 호출하려고 할 때 나타나는 것 같습니다.탄성 검색 헤드 플러그인 프록시 및 필터를 통해

http://localhost:8124/_plugin/head/ 

다음과 같은 오류가 나타납니다.

오류 : URI에 대한 찾을 수 없습니다 핸들러 [/ _plugin/헤드] 및 방법 [GET]

나는 일반 포트가 문제없이 작동 9200을 통해 플러그인을 호출을 시도, 그 다음입니다 ..

http://localhost:9200/_plugin/head 

elasticsearch에 다른 플러그인으로 실행되는 필터가 있는데, 요청이 먼저 전달됩니다. 이는 프록시를 통해 전달되거나 직접 elasticsearch에 전달 된 것과 관계없이 호출됩니다.

node.js가 모든 http 헤더를 소문자로 변환하기 때문에 내가 생각할 수있는 유일한 것은 헤더입니다. 프록시를 통해 동일한 헤더를 호출하려고했지만 여전히 동일한 오류가 발생합니다. 아아, 나는이 문제에 대한 가능한 통찰력을 얻기 위해 여기에왔다. 어떤 도움이라도 대단히 감사합니다.

편집

는 그래서 elasticsearch의 일부 코드를 통해 파고 후 그것이 elasticsearch 중고품 전송 플러그인을 함께 할 수있는 뭔가가 보인다. 사실, 부팅시 생성자를 통해 전달되는 나머지 컨트롤러를 사용하고 있습니다. 아직도 어떤 문제인지 확실하지 않습니다.

답변

0

elasticsearch 중고품 이전 전송 플러그인에서 일종의 버그로 밝혀졌습니다. thrift 서비스를 통해 elasticsearch를 호출하면 Head Plugin을 등록 된 핸들러로 인식하지 못합니다.

나는 플러그인을 호출 할 때 프록시를 통해 elasticsearch에 대한 직접적인 http 호출을함으로써이를 해결했다.