Node-Red配置启用HSTS(HTTP Strict Transport Security)方法咨询
结论
你可以直接在Node-RED的settings.js配置文件中添加HSTS响应头,无需额外配置外部环境变量。
具体操作步骤
- 确认Node-RED版本
- 版本≥2.2.0:可使用内置响应头配置项,操作更简便
- 版本<2.2.0:通过中间件配置实现
- 定位
settings.js文件
启动Node-RED时,启动日志第一行会打印当前读取的配置文件路径,默认路径参考:- Linux/macOS:
~/.node-red/settings.js - Windows:
C:\Users\你的用户名\.node-red\settings.js - Docker部署:对应你挂载的宿主机配置目录下的
settings.js
- Linux/macOS:
- 停止当前运行的Node-RED进程,编辑
settings.js文件 - 在文件中找到
module.exports = {开头的配置块,根据你的版本添加对应配置(已有配置项无需删除,直接追加即可):
版本≥2.2.0的配置
httpServerResponseHeaders: { "Strict-Transport-Security": "max-age=60000" },
版本<2.2.0的配置
// 给管理界面响应添加HSTS头 httpAdminMiddleware: function(req, res, next) { res.setHeader('Strict-Transport-Security', 'max-age=60000'); next(); }, // 给流的HTTP接口响应添加HSTS头 httpNodeMiddleware: function(req, res, next) { res.setHeader('Strict-Transport-Security', 'max-age=60000'); next(); },
- 保存修改后的
settings.js文件,重新启动Node-RED服务即可生效。
验证配置是否生效
打开浏览器开发者工具,切换到「网络」标签,访问Node-RED的HTTPS地址,点击任意请求记录,在响应头列表中查看是否存在Strict-Transport-Security: max-age=60000字段,存在则代表配置成功。
注意事项
- HSTS配置仅在你已经正确开启HTTPS的前提下生效
- 后续如果需要调整HSTS有效期,直接修改配置中
max-age的数值后重启服务即可
内容的提问来源于stack exchange,提问作者Letshin
相关产品推荐
相关产品推荐

