我有NodeJS服务,它使用负载均衡器进行保护和公开。需要调用使用j_secuirty_check投影的钻取Query.JSON API。
现有逻辑: 首先使用凭据点击j_security_check URL并接收cookie。 在上面的步骤中使用收到的cookie命中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
问题: 我们设置了上一步中收到的cookie,第二个请求是重定向到登录页面。
示例:
backend service running on https://<LOADBALANCER_URL>
Drill URL: http://<SOMEIP:PORT>/query.JSON
这是因为https&amp; http协议或差异域?
请分享您的建议。
答案 0 :(得分:0)
如果是负载均衡器,请求可能会转到另一个Drillbit WebServer,它在第一步中没有发出cookie。在这种情况下它不起作用,您的负载均衡器应该有一些粘性会话的概念,或者每次都将请求从客户端发送到同一个WebServer。