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

运行Neo4j PowerShell脚本提示底层连接意外关闭如何解决?

排查方向及解决方案

  • 协议端口不匹配错误:你当前配置的BaseUri用了http://前缀但指向了7687端口,这个端口是Neo4j专属Bolt二进制协议的监听端口,不支持HTTP请求,直接发起HTTP调用会被服务端主动断开连接。PSNeo4j对接HTTP API时应该使用Neo4j默认的HTTP端口7474,HTTPS对应端口为7473。如果要使用Bolt协议对接,需要调整对应配置参数。
  • TLS版本配置缺失:PowerShell默认使用较低的TLS版本发起请求,如果你的Neo4j开启了HTTPS访问限制,要求TLS1.2及以上版本,就会出现连接被强制断开的问题,这也符合你用Invoke-WebRequest也报错的特征。需要在脚本开头强制指定TLS版本。
  • Neo4j HTTP接口未开启:检查Neo4j配置文件neo4j.conf中,dbms.connector.http.enabled参数是否设置为true,dbms.connector.http.listen_address是否绑定了本地回环地址或者0.0.0.0,未开启HTTP接口的情况下所有HTTP请求都会被直接拒绝。
  • 代理或防火墙拦截:检查系统是否开启了全局代理,PowerShell会默认继承系统代理配置,请求本地地址时如果走代理会出现连接异常,可以在发起请求前关闭代理配置。同时确认本地防火墙没有拦截PowerShell进程访问Neo4j的服务端口,也可以用netstat -ano命令确认Neo4j对应的HTTP端口是否处于监听状态。

修正后的参考代码

# 强制指定TLS版本
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Import-Module PSNeo4j

$Password = ConvertTo-SecureString -String "dummypswd" -AsPlainText -Force
$Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'username', $password
# 端口改为HTTP默认的7474
Set-PSNeo4jConfiguration -Credential $Cred -BaseUri 'http://localhost:7474'

# 测试连接
Get-Neo4jUser

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:36:02