【问题标题】:Calling secured drill URL from nodeJS using request使用请求从 nodeJS 调用安全钻取 URL
【发布时间】:2018-05-21 13:17:48
【问题描述】:

我有使用负载平衡器保护和公开的 NodeJS 服务。需要调用使用j_secuirty_check投影的drill 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 和 http 协议还是 diff 域?

请分享您的建议。

【问题讨论】:

  • 您能否显示您在一个步骤中收到 cookie 的实际代码,然后在下一步中将该 cookie 发回?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-17
    • 2019-01-27
    • 2017-12-17
    • 1970-01-01
    相关资源
    最近更新 更多