打开 app 时出现 Node-RED 用户名密码对话框的问题(已解决)



  • 目前的设计是每位公开用户可以打开并部署自己的 app,以及以只读权限打开其他人的 app。
    而打开每个 app 时的 access token 都是不同的,由于 token 使用上目前还不尽完善,在打开 app 时偶尔会出现如下对话框:

    0_1489297274875_Screen Shot 2017-03-12 at 13.36.29.png

    出现此问题的原因可能有两种,下面分别列出对应解决方法:

    1. DNS lookup 偶遇网络连接问题失败(出现概率2.7%~10%)
      Error: getaddrinfo EAI_AGAIN goiot.cc:443
      我们已经修复该问题,需要点这个蓝色电源按钮0_1489377406828_Screen Shot 2017-03-13 at 11.56.35.png重启你的 app,以使更新生效(数据不会丢失)。
      经过压力测试(访问次数千级),未出现该情况,经统计预估该问题再次出现概率在 0.13% 以下。

    2. 浏览器设置了阻止第三方 cookie 和网站数据,比如 chrome 中的此项设置,取消阻止即可。
      0_1490622857228_chrome-cookie.png

    感谢 @samuel@bug 提供的反馈以及相应的检查,让 Go.IoT 变得更好 😄


  • Amateur

    我试了一下上面给的两种方法,都没能成功,一直是这个界面



  • @bug 是哪一个 app 呢?可否把链接发我一下?


  • Amateur

    @librae 比如说这个 https://goiot.cc/bug/aa
    我第一次填密码时提示Login failed,之后也没能成功,一直是Node-Red的登录提示框。



  • @bug 你好,我检查过了,这个应用是可以正常使用的 https://goiot.cc/bug/aa
    如果填写用户信息提示 Login failed 那是确实密码验证没通过
    再者有可能是最近我们的后台有进行过升级,请刷新页面,再尝试一下


  • Amateur

    @librae 我修改密码之后又尝试了下,发现在如下界面仍然登录不成功
    0_1490184394917_2017-03-22 20-06-15屏幕截图.png

    然后我按F12打开chrome调试窗口,查找错误,发现好多来自https://hinkgo.gored.cc的401未授权访问,0_1490184709685_2017-03-22 20-08-34屏幕截图.png

    于是我直接访问了这个链接https://hinkgo.gored.cc/50161/editor/#flow/bb74ac10.cade,就能正常编辑了0_1490184782861_2017-03-22 20-12-52屏幕截图.png

    希望我的反馈对您有帮助,也感谢您的耐心。



  • @bug 应该谢谢您的耐心才是 😁
    奇怪的是我可以完全正常的打开这个应用
    我们会再进行一下排查

    0_1490188248969_Screen Shot 2017-03-22 at 21.10.27.png



  • emm,出现这个问题的根本原因是 dns lookup 偶遇网络连接问题失败(出现概率2.7%~10%)
    Error: getaddrinfo EAI_AGAIN goiot.cc:443

    我们已在每个app的验证逻辑处增加了对此 EAI_AGAIN 的处理,会在失败的时候自动重发请求。
    可以点这个蓝色电源按钮0_1489377406828_Screen Shot 2017-03-13 at 11.56.35.png重启你的 app,以使更新生效。

    经过压力测试(访问次数千级),未出现该情况。
    经统计预估该问题再次出现概率在 0.13% 以下。


  • Amateur

    报告,我这边用chrome无论自己的app还是别人的app都打不开,提示Node-RED用户名密码对话框,试了你说的两种方法都不行。
    但是同一个电脑上用IE浏览器就能打开,这是怎么回事呢,



  • @samuel 试一下我的这个app能否打开呢?
    https://goiot.cc/librae/chat


  • Amateur

    @librae 还是一样,chrome打不开,一直让登录NodeRed。IE能打开。
    平时主要用chrome,也没发现浏览器本身有啥大问题啊



  • 多谢 @samuel 帮忙检查!目前已经知道问题所在。
    猜测和之前 @bug 遇到的一直弹登录框是同一个原因。

    如果浏览器设置阻止了网站的 cookie 使用,则会造成 Node-RED 应用内部用于 websocket 的存储信息(如下图)无法获取,所以无法正常打开。

    0_1490622249157_Screen Shot 2017-03-27 at 21.41.34.png


Log in to reply
 

Looks like your connection to NodeBB was lost, please wait while we try to reconnect.