使用请求从nodeJS调用安全钻取URL

时间:2017-12-07 12:15:52

标签: node.js cookies request apache-drill j-security-check

我有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协议或差异域?

请分享您的建议。

1 个答案:

答案 0 :(得分:0)

如果是负载均衡器,请求可能会转到另一个Drillbit WebServer,它在第一步中没有发出cookie。在这种情况下它不起作用,您的负载均衡器应该有一些粘性会话的概念,或者每次都将请求从客户端发送到同一个WebServer。