2017-12-07 21 views
0

로드 밸런서를 사용하여 보호되고 노출되는 NodeJS 서비스가 있습니다. j_secuirty_check를 사용하여 투영 된 드릴 Query.JSON API를 호출해야합니다.요청을 사용하여 nodeJS에서 보안 드릴 호출

기존 논리 : 먼저 자격 증명으로 j_security_check URL을 조회하고 쿠키를 수신합니다. 위 단계에서받은 쿠키로 query.JSON URL을 조회하십시오.

코드 조각 :

var options1 = { 
    url: 'http://<HOSTNAME>:8047/query.json', 
    method: 'POST', 
    json: JSON.parse('{ "queryType":"SQL", "query": "show schemas"}'), 
    headers : { 
     cookie : setcookie 
    } 
}; 

위의 방법은 부하 분산 장치없이 노력하고 있습니다. 예 :

backend service running on http://localhost:3000 
Drill URL: http://<SOMEIP:PORT>/query.JSON 

문제 : 두 번째 요청이 페이지를 로그인 리디렉션됩니다 우리가 이전 단계에서받은 쿠키를 설정 생각했다.

예 :

backend service running on https://<LOADBALANCER_URL> 
Drill URL: http://<SOMEIP:PORT>/query.JSON 

이 때문에 HTTPS & HTTP 프로토콜이나 DIFF 도메인의인가?

의견을 보내주십시오.

+0

쿠키를 수신 한 실제 코드를 한 번에 표시 한 다음 그 쿠키를 다음 단계로 되돌릴 수 있습니까? – jfriend00

답변

0

로드 밸런서의 경우 요청이 첫 번째 단계에서 쿠키를 발행하지 않은 다른 Drillbit WebServer로 이동했을 수 있습니다. 어떤 경우에는 작동하지 않을 것입니다.로드 밸런서는 끈적 인 세션에 대한 개념을 가지고 있거나 매번 동일한 웹 서버에 클라이언트의 요청을 보내야합니다.