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

node-opcua客户端连接Ignition OPC-UA端点被拒问题求助

排查node-opcua连接Ignition OPC-UA服务器被拒绝的问题

针对你遇到的连接被拒绝(_socket has been disconnected by third party)错误,按以下步骤逐一排查:

1. 确认端点与安全配置匹配

  • 先用UA Expert这类OPC UA测试工具连接opc.tcp://localhost:62541,选择Basic256Sha256 + SignAndEncrypt的安全模式/策略,验证端点是否真实可用。
  • 登录Ignition Web界面,进入Config > OPC UA > Server > Endpoints,确认存在对应安全模式(SignAndEncrypt)和安全策略(Basic256Sha256)的端点,且状态为启用。

2. 解决证书信任问题

Basic256Sha256安全策略要求证书验证,node-opcua默认生成的自签名证书大概率不在Ignition的信任列表里,会导致服务器直接断开连接:

  • 找到node-opcua生成的客户端证书,默认路径是C:\Users\WilliamGibson\.node-opcua\certs\client_selfsigned_cert_*.pem
  • 在Ignition界面进入Config > OPC UA > Server > Trusted Certificates,点击Add导入上述证书;如果是临时测试,也可以开启Allow unsigned certificates(生产环境不建议)。

3. 验证用户名密码有效性

  • 替换代码里的占位符thisisnottheusername和thisisnotthepassword为Ignition中真实存在的用户账号,且该用户需在Config > OPC UA > Server > User Roles中配置了OPC UA访问权限(比如授予opcuaserver-read或对应权限)。

4. 检查客户端配置细节

  • 暂时将endpointMustExist: false改为true,强制客户端验证端点存在性,避免因端点不存在导致的隐式错误。
  • 确保代码中正确导入了枚举类型,比如:
    const { OPCUAClient, MessageSecurityMode, SecurityPolicy } = require("node-opcua");
    

5. 排查网络与端口问题

  • 确认本地防火墙未阻止62541端口的出站连接;若Ignition不在本地,需确认目标机器防火墙允许该端口的入站连接。
  • 使用netstat -ano | findstr :62541命令检查端口是否被其他程序占用。

内容的提问来源于stack exchange,提问作者William Gibson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:30:56