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

修改API_OPENIM_PORT至40002后登录报错的技术求助

问题分析与修复方案

错误核心解读

connection reset by peer 表示调用登录接口的服务尝试连接 172.28.0.1:40002 时,目标端口的服务直接断开了连接。本质是OpenIM的API服务要么没在40002端口正常监听,要么网络链路存在拦截。

排查与修复步骤

  • 确认容器内服务监听状态
    进入OpenIM API服务容器,执行命令检查端口监听情况:

    docker exec -it <openim-api容器名> netstat -tulpn
    

    如果没有进程监听40002端口,说明配置未生效:

    • 核对.env文件中API_OPENIM_PORT=40002是否被容器正确加载,可通过docker inspect <容器名>查看环境变量
    • 检查OpenIM配置文件(如config/config.yaml)的端口配置是否同步修改,部分服务需重启后才会读取新配置
  • 检查Docker端口映射规则
    查看docker-compose.yml中的端口映射,确保存在:

    ports:
      - "40002:40002"
    

    若映射错误,修改后重启容器:

    docker compose down && docker compose up -d
    
  • 验证宿主机与容器的网络连通性
    在宿主机执行命令测试端口:

    nc -zv 172.28.0.1 40002
    # 或用telnet
    telnet 172.28.0.1 40002
    

    连接失败则检查:

    • 宿主机防火墙/安全组是否放行40002端口
    • Docker网络模式是否存在冲突(如host模式下端口被其他进程占用)
  • 排查端口占用情况
    在宿主机执行命令查看40002端口的占用进程:

    lsof -i :40002
    # 或用ss
    ss -tulpn | grep 40002
    

    若有其他进程占用,可终止该进程或为OpenIM更换未被占用的端口

  • 查看服务启动日志
    检查OpenIM API服务的日志,排查启动异常:

    docker logs <openim-api容器名>
    

    常见问题包括配置文件格式错误、依赖服务连接失败等,这些都会导致服务看似启动但未正常监听端口

内容的提问来源于stack exchange,提问作者冯文轩

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:46:08