Node-RED升级后无法GET访问用户目录静态文件问题求助
Node-RED 3.x静态文件访问失效问题解决
问题根源
Node-RED 3.0版本起,默认不再将用户目录(.node-red)作为可HTTP访问的静态资源目录,这和2.x版本的默认行为完全不同,这就是你升级后无法访问report.html的核心原因。
修复步骤
- 找到你的Node-RED用户目录下的
settings.js文件,路径是\Users\nxf68958\.node-red\settings.js - 找到
httpStatic配置项(默认是被注释状态),取消注释并设置为你的静态文件所在路径:// 方式一:直接关联用户目录 httpStatic: path.join(userDir, '.'), // 方式二:指定具体路径(Windows注意双反斜杠转义) httpStatic: 'C:\\users\\nxf68958\\.Node-red', - 重启Node-RED服务,之后再访问
localhost:1880/report.html就能正常打开文件了。
关于fileWorkingDirectory的误区
fileWorkingDirectory是用来配置节点读写文件时的默认工作目录,和HTTP静态资源的访问规则完全无关,所以修改这个选项根本解决不了你的问题。
安全建议
如果不想暴露整个.node-red目录,建议在该目录下新建一个子文件夹(比如public),把静态文件都放到这个文件夹里,然后配置httpStatic指向它:
httpStatic: path.join(userDir, 'public'),
这样既保证了文件能正常访问,又避免了其他敏感文件被意外暴露。
内容的提问来源于stack exchange,提问作者Pavol Štrbák
相关产品推荐
相关产品推荐

