【问题标题】:How could I prohibit anonymous access to my NodeRed UI Dashboard on IBM Cloud(Bluemix)?如何禁止匿名访问 IBM Cloud(Bluemix) 上的 NodeRed UI 仪表板?
【发布时间】:2018-03-03 00:56:46
【问题描述】:

我正在与 node-red 合作,使用样板 IBM 云。我知道有一种方法可以更改环境变量(NODE_RED_USERNAME 和 NODE_RED_PASSWORD)的值,以更改编辑器流程的用户名和密码。但是,UI 仪表板呢?我的意思是使用仪表板节点。禁止访问

https://noderedservicename.mybluemix.net/ui/

我知道在代码上,更改文件settings.js 上的变量httpNodeAuth 我可以做我想做的事。在 IBM Cloud 上执行此操作的方法是什么? 提前谢谢!

【问题讨论】:

  • 最好列出您可能看到的其他链接,例如stackoverflow.com/questions/31936786/…,并解释您的问题为何不同
  • @ChrisSnow OP 想要保护 Dashboard-UI 而不是 Node-RED 编辑器
  • 感谢@hardlib。我注意到了差异,并决定不将问题标记为关闭。我希望 OP 能够展示他的研究并指出另一个问题的不同之处。当他为他的问题添加标题时,Stackoverflow 会向 OP 提出另一个问题。

标签: security ibm-cloud node-red


【解决方案1】:

您需要将httpNodeAuth(不是httpAdminAuth,因为这是为了控制对Node-RED 编辑器的访问,并且可以使用另一个答案中讨论的环境变量来完成。)到app/bluemix-settings.js 文件。

类似这样的:

...
httpStatic: path.join(__dirname,"public"),
httpNodeAuth: {user:"user",pass:"$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN."},
functionGlobalContext: { },
...

如何生成pass的详细信息可以找到here

您可以通过多种方式编辑文件,其中一些包括将 Node-RED 部署链接到 git 存储库或下载整个应用程序、编辑文件并将其推送回 Bluemix(当您第一次部署 Node -RED from the starter pack 它为您提供了有关如何下载源代码以进行更改然后将其推回的说明。您可以通过单击 Node-RED Bluemix 控制台页面中的“入门”链接来获取这些说明)。

但是最快/最简单/最脏的方法可能是只通过 SSH 进入实例并使用 vi 之类的东西更改文件。可以在here 找到有关如何通过 ssh 连接到应用程序实例的详细信息。但以下应该有效:

cf ssh [app name]

编辑完文件后,您需要告诉 bluemix 重新启动应用程序。您可以从 Web 控制台或使用 cf 命令行工具执行此操作。

(如果重新暂存应用程序,或者 bluemix 决定在内部将您的实例移动到另一台机器上,因为它将从推送的源代码重建应用程序,则此方法所做的更改将无法保留。永久的解决方案是下载源代码,编辑并推回)

【讨论】:

  • 感谢您的回答。所以,如果我下载了启动代码,并更改了设置文件,然后我做了很多更改(就像我已经做过的那样),并且想要更改授权用户。我不能简单快速地做到这一点(正如你所说的那样安全)?
  • 您始终可以通过 SSH 登录并编辑 bluemix-settings.js 以进行测试,但如果您希望更改保持不变,则需要更改本地副本中的 bluemix-settings.js,然后重新推送整个项目返回 Bluemix。
  • 要通过 ssh 使用 vi 编辑 bluemix-settings.js,然后重新启动应用程序似乎不再起作用,当应用程序重新启动时,更改会被清除。 - 到目前为止我发现的“最简单的方法”是:在 IBM Cloud 仪表板中为应用程序启用“持续交付”,在“Eclipse Orion Web IDE”中编辑 bluemix-settings.js,git 提交更改,并重新部署应用程序。
【解决方案2】:

这个链接会帮助你,但它是用日语写的。 http://dotnsf.blog.jp/archives/1030376575.html

总结

您可以通过 IBM Cloud 仪表板定义“用户定义的”环境变量。 它包含保护 Node-RED GUI 的变量。 你必须设置如下

NODE_RED_USERNAME:用户名

NODE_RED_PASSWORD : 密码

【讨论】:

  • 谢谢,如果可能,请给 +1 评分
  • 我对 Node-RED 的了解不够,无法判断答案。所以,我不会对此投票——既不赞成也不反对。请相信,如果您的回答对人们有所帮助,随着时间的推移,您将获得支持。祝你好运!
  • 这些是 de 编辑器的变量,但我需要仪表板。我编辑了问题
猜你喜欢
  • 1970-01-01
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-16
  • 1970-01-01
  • 2013-05-25
  • 2018-08-23
相关资源
最近更新 更多