Ubuntu 20.04部署Neo4j 4.3.6出现WebSocket远程连接失败求解决方案
Neo4j 4.3.6 远程WebSocket连接失败解决方案
1. 确认配置生效与服务状态
首先验证配置是否被正确加载:
- 确认修改的是官方默认配置路径
/etc/neo4j/neo4j.conf,而非其他路径下的样例配置文件 - 修改配置后必须重启服务生效,执行命令:
sudo systemctl restart neo4j - 检查服务运行状态,确认无启动报错:
sudo systemctl status neo4j - 验证端口监听状态,执行命令:
ss -tulnp | grep -E '(7474|7687)',正常输出中两个端口的监听地址应为0.0.0.0而非127.0.0.1
2. 补全缺失的Bolt宣告地址配置
Neo4j 4.x版本除了listen_address外,还需要配置对外宣告的地址才能正常响应远程连接:
在neo4j.conf中添加/修改以下配置:
dbms.connector.bolt.enabled=true dbms.connector.bolt.advertised_address=104.128.65.247:7687
修改后重启Neo4j服务。
3. 排查上层网络访问限制
你仅配置了系统层面的UFW规则,需额外检查云服务商上层安全组规则:
- 登录云服务器控制台,进入实例对应的安全组配置页
- 添加入站规则,放行7474、7687端口的TCP访问,源地址可设置为
0.0.0.0/0(或仅允许你的本地IP访问)
4. 解决浏览器混合内容拦截问题
你当前使用https协议访问Neo4j Browser,浏览器会默认拦截HTTPS页面下发起的非加密WebSocket请求,二选一解决即可:
- 改用
http://104.128.65.247:7474/browser访问Browser,直接使用默认Bolt连接配置即可 - 保留HTTPS访问的话,在Browser连接页面手动修改连接地址为
wss://104.128.65.247:7687,同时确认Neo4j已开启Bolt TLS配置
5. 验证本地到端口的连通性
在你本地电脑执行命令验证端口可达性:
- Windows系统:
telnet 104.128.65.247 7687 - Linux/Mac系统:
nc -zv 104.128.65.247 7687
如果连接失败,说明是网络层面拦截,和Neo4j配置无关,需进一步排查链路中其他防火墙规则。
内容的提问来源于stack exchange,提问作者Flora Angel
相关产品推荐
相关产品推荐

