You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Ubuntu至22.04后Node-RED GET请求无服务器响应排查

解决Ubuntu 22.04升级后Node-RED HTTPS GET请求无响应问题

针对你遇到的问题,从系统环境、Node.js配置、网络规则等维度逐一排查,以下是具体解决步骤:

1. 排查系统CA证书信任问题

Ubuntu 22.04更新了根证书库,Node.js默认依赖系统证书,可能出现信任不兼容:

  • 临时测试:在GET请求节点的「SSL」选项中勾选「不验证证书」,如果请求恢复正常,说明是证书信任问题。
  • 修复证书:执行命令更新系统证书库,重启Node-RED生效:
    sudo apt update && sudo apt install --reinstall ca-certificates
    node-red-stop && node-red-start
    

2. 验证Node.js版本兼容性

Ubuntu 22.04默认Node.js版本可能与你之前使用的版本差异较大,导致Node-RED请求异常:

  • 查看当前版本:node -v,Node-RED稳定兼容版本为v16/v18/v20。
  • 若版本不匹配,用nvm安装兼容版本:
    # 安装nvm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    # 重启终端后安装指定版本
    nvm install 18
    nvm use 18
    # 重启Node-RED
    node-red-stop && node-red-start
    

3. 检查防火墙与代理设置

  • 防火墙规则:执行sudo ufw status,确认允许443端口出站请求,若未允许则添加规则:sudo ufw allow out 443。
  • 代理配置:若系统使用网络代理,需在Node-RED的settings.js中添加代理参数:
    httpNodeOptions: {
        agentOptions: {
            proxy: 'http://你的代理地址:端口',
            rejectUnauthorized: false // 仅当代理无需证书验证时启用
        }
    }
    
    修改后重启Node-RED。

4. 启用详细日志定位错误

启动Node-RED时开启调试日志,查看请求失败的具体原因:

node-red-start --verbose

或在Node-RED编辑器右上角打开「日志」面板,重点关注证书验证、DNS解析、超时等相关错误信息。

5. 调整HTTP请求节点配置

  • 延长超时时间:在HTTP请求节点的「高级」选项中,将超时时间设置为30秒(默认可能过短)。
  • 模拟浏览器请求头:部分数据源会校验请求头,添加浏览器UA信息绕过拦截:在节点「请求头」中添加User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/117.0

解决请求问题后,解析JSON写入InfluxDB步骤

  1. 添加「JSON」节点,连接到HTTP请求节点的输出,将返回的JSON字符串转为JavaScript对象。
  2. 添加「InfluxDB out」节点,配置你的InfluxDB连接信息(地址、端口、认证信息),选择目标桶/数据库。
  3. 在「InfluxDB out」节点中设置测量名称,将JSON对象中的字段映射为InfluxDB的字段值,标签映射为标签键值对,完成数据写入。

内容的提问来源于stack exchange,提问作者Simon Bunn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:00:09