启用CSRF的反向代理后面的节点红色 - 无法部署/登录

时间:2018-01-03 14:35:34

标签: node-red

NodeRed 0.17.5

我将Node-Red服务器置于反向代理(Nginx)之后。通过http://:1880访问它很好。但是当我点击部署/登录时,我收到了这个错误:

  

ForbiddenError:无效的csrf令牌

我认为Node-Red服务器在其POST页面中不包含CSRF令牌。这是一个已知的问题吗?

顺便说一下,有必要使用CSRF,因为我正在交替一个node.js反向代理引擎,它严重依赖于CSRF令牌,所以禁用它不是一个选项。此外,客户端在公共Internet上。

2 个答案:

答案 0 :(得分:0)

如您所提出的issue所述,目前Node-RED

中没有CSRF支持

答案 1 :(得分:0)

Node-RED在封面后面使用Express,因此实现:

https://github.com/expressjs/csurf

应该是微不足道的。解决方法是配置settings.js文件:

https://nodered.org/docs/configuration

将正确的中间件注入httpNodeMiddleware设置,以使Node-RED返回令牌。

相关问题