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

Linux环境下Docker Compose部署Node-RED遇curl连接重置问题

Node-RED容器启动后curl访问提示连接重置的问题排查与解决

核心问题分析

从日志和配置来看,存在几个关键冲突导致无法正常访问:

  1. 端口映射与容器内部监听端口不匹配
    容器日志显示Node-RED在内部监听127.0.0.1:1886,但docker-compose的端口映射是${PORT}:1880(宿主机1886→容器1880),端口完全不对应,导致请求无法正确转发。原因是你用自定义PORT变量指定端口,但Node-RED官方容器需通过NODE_RED_PORT环境变量定义内部监听端口。
  2. 容器内部监听地址限制
    Node-RED监听127.0.0.1(容器回环地址),仅容器内部可访问,宿主机无法通过容器网络连接,必须改为监听0.0.0.0才能对外暴露。
  3. .env文件格式错误
    多个变量写在同一行会导致docker-compose解析失败,需每个变量单独占一行。

分步解决方案

1. 修正.env文件格式

将.env内容调整为每行一个变量:

ABCD=99966
EFGH=128
PORT=1886
NODE_RED_CREDENTIAL_SECRET='d7fdsiufhweiu23901ds'

2. 调整docker-compose.yml配置

修改环境变量和端口映射,确保内部端口与监听地址正确:

version: "3.7"

services:
  node-red:
    image: nodered/node-red:latest
    environment:
      ABCD: "${ABCD}"
      EFGH: "${EFGH}"
      # 使用官方环境变量指定内部监听端口
      NODE_RED_PORT: "${PORT}"
      # 强制监听所有地址,允许外部访问
      NODE_RED_HOST: "0.0.0.0"
      NODE_RED_CREDENTIAL_SECRET: "${NODE_RED_CREDENTIAL_SECRET}"

    ports:
      # 宿主机端口与容器内部端口保持一致
      - "${PORT}:${PORT}"
    volumes:
      - ./XYZ/${ABCD}/${EFGH}:/data

若自定义settings.js已配置uiHost和uiPort,需确保配置与环境变量一致,优先以settings.js为准。

3. 检查settings.js身份验证配置

由于使用token身份验证,需确认:

  • httpNodeOptions或httpAdminOptions未限制监听地址为127.0.0.1
  • token验证逻辑正确,未直接拒绝未携带token的请求(正常应返回401或登录页面,而非连接重置)

4. 重启容器并验证

执行命令重启容器:

docker-compose -f XYZ/docker-compose.yml --env-file XYZ/99966/128/.env -p projectname down
docker-compose -f XYZ/docker-compose.yml --env-file XYZ/99966/128/.env -p projectname up -d

查看容器日志,确认显示:

[info] Server now running at http://0.0.0.0:1886/

再执行curl测试:

curl http://127.0.0.1:1886/

若配置了token验证,需携带token请求:

curl -H "Authorization: Bearer YOUR_TOKEN" http://127.0.0.1:1886/

额外排查点

  • 检查宿主机防火墙是否开放1886端口
  • 执行docker ps确认端口映射显示为0.0.0.0:1886->1886/tcp
  • 进入容器内部执行curl http://0.0.0.0:1886/,确认服务在容器内正常可用

内容的提问来源于stack exchange,提问作者Vikas 1234

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:15:46