使用请求从 nodeJS 调用安全钻取 URL
Posted
技术标签:
【中文标题】使用请求从 nodeJS 调用安全钻取 URL【英文标题】:Calling secured drill URL from nodeJS using request 【发布时间】: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 发回? 【参考方案1】:在负载均衡器的情况下,请求可能会发送到另一个在第一步中没有发出 cookie 的 Drillbit WebServer。在这种情况下它不起作用,你的负载均衡器应该有一些粘性会话的概念,或者每次都将请求从客户端发送到同一个 WebServer。
【讨论】:
以上是关于使用请求从 nodeJS 调用安全钻取 URL的主要内容,如果未能解决你的问题,请参考以下文章
仅当从警报调用时,如何向第二个向下钻取View Controller添加按钮?