【问题标题】:How to secure the access to my Node-RED UI with httpNodeAuth如何使用 httpNodeAuth 保护对我的 Node-RED UI 的访问
【发布时间】:2017-05-18 01:28:11
【问题描述】:

我到处搜索,但似乎找不到保护我的 Node-RED 用户界面的方法。 UI 可以被匿名用户访问...

到目前为止,我已尝试设置 settings.json 文件和 httpNodeAuth 部分,但没有任何效果。

如何限制对 Node-RED UI 的访问?

【问题讨论】:

  • 您使用的是什么环境,本地机器还是 Bluemix?我假设在应用更改后启动了 Node-RED。
  • 当然.. 我直接在树莓派零 w 上运行 node-red。我重新启动了node-red,也重新启动了设备。没有反应
  • 请分享 settings.js 文件以及您使用的 Node-RED 版本
  • 您编辑了 settings.js 的哪个副本? node-red 使用的那个在启动时记录在输出的前 10 行中
  • Node-RED 版本:v0.16.2 - 这是设置 /home/pi/.node-red/settings.js 这是内容:mysettings

标签: user-interface authentication node-red


【解决方案1】:

我终于意识到 这是一个缓存问题。 node-red 似乎对缓存非常有效。 谢谢大家的支持

【讨论】:

  • 我的问题是你下次登录的时候呢?如果你按下返回键,你会发现你仍然可以访问仪表板。
【解决方案2】:

首先确保您使用的是.node-red 目录中的settings.js 的副本。Node-RED 启动时将记录此文件及其位置

18 May 11:41:51 - [info] Settings file  : /home/hardillb/.node-red/settings.js
18 May 11:41:51 - [info] User directory : /home/hardillb/.node-red
18 May 11:41:51 - [info] Flows file     : /home/hardillb/.node-red/testing.json
18 May 11:41:51 - [info] Server now running at http://127.0.0.1:1880/
18 May 11:41:51 - [info] Starting flows

接下来您要保护 Node-RED 编辑器 UI 还是仪表板 UI?

如果是编辑器 UI,那么您需要找到 adminAuth 部分:

adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
        permissions: "*"
    }]
},

您使用以下命令生成密码哈希:

node-red-admin hash-pw

node -e "console.log(require('bcryptjs').hashSync(process.argv[1], 8));" [your-password-here]

如果您想保护仪表板 UI,那么需要更改的是 httpNodeAuth 选项。

httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},

如果您已使用httpStatic 启用静态内容服务,则此内容将通过httpStaticAuth 指令进行保护。

httpStaticAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."}

在这两种情况下,密码哈希的生成方式与adminAuth 部分的生成方式相同。

可在此处找到用于保护 Node-RED 的文档:http://nodered.org/docs/security

【讨论】:

  • @komarek 你在settings.json 的字符串的开头和结尾有混合引号字符。你用什么来编辑它? (word 和其他一些客户端使用开头不同的“智能”引号)
  • 我刚刚在 raspi 上使用了 nano。
  • 可能是当我将它发布到 pastebin 时,我使用了 json 格式,可能会弄得一团糟。你认为哪里错了?
  • 围绕用户名和散列密码
  • 我不认为我理解你。你什么意思?您再次评论了 httpNodeAuth 部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-27
  • 1970-01-01
  • 2018-10-22
  • 1970-01-01
相关资源
最近更新 更多