NodeRed 0.17.5
我将Node-Red服务器置于反向代理(Nginx)之后。通过http://:1880
访问它很好。但是当我点击部署/登录时,我收到了这个错误:
ForbiddenError:无效的csrf令牌
我认为Node-Red服务器在其POST页面中不包含CSRF令牌。这是一个已知的问题吗?
顺便说一下,有必要使用CSRF,因为我正在交替一个node.js反向代理引擎,它严重依赖于CSRF令牌,所以禁用它不是一个选项。此外,客户端在公共Internet上。
答案 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返回令牌。