温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Neo4j网络通信如何设置

发布时间:2025-10-07 19:46:55 来源:亿速云 阅读:95 作者:小樊 栏目:数据库

Neo4j网络通信设置指南

Neo4j的网络通信配置主要围绕监听地址、连接器端口、协议安全防火墙等方面展开,以下是具体步骤和关键参数说明:

1. 修改默认监听地址(允许远程访问)

默认情况下,Neo4j仅允许本地主机(localhost)访问。若需远程连接,需修改neo4j.conf文件中的dbms.default_listen_address参数:
#dbms.default_listen_address=localhost改为dbms.default_listen_address=0.0.0.0(允许所有IP访问);若需限制为特定IP(如服务器专用网络IP),可直接指定该IP地址(如192.168.1.100)。
此设置会影响Bolt、HTTP、HTTPS等所有连接器的默认监听地址。

2. 配置各连接器监听端口

Neo4j支持三种网络协议,需分别设置其listen_address(格式为IP:端口):

  • Bolt协议(默认端口7687):用于高效二进制数据传输,是Neo4j推荐的协议。设置dbms.connector.bolt.listen_address=:7687:7687表示绑定默认端口)。
  • HTTP协议(默认端口7474):用于浏览器访问或REST API调用。设置dbms.connector.http.listen_address=:7474
  • HTTPS协议(默认端口7473):用于加密的HTTP通信(建议生产环境启用)。设置dbms.connector.https.listen_address=:7473
    注:Bolt和HTTPS连接器默认启用(enabled=true),HTTP连接器也默认启用,但生产环境建议禁用HTTP(dbms.connector.http.enabled=false)。

3. 配置广告地址(客户端可见地址)

dbms.connectors.default_advertised_address参数用于指定客户端连接时看到的服务器地址(如反向代理域名或公网IP)。默认值为localhost,若需远程客户端访问,需设置为服务器的实际IP或域名(如dbms.connectors.default_advertised_address=10.0.3.161dbms.connectors.default_advertised_address=neo4j.example.com)。

4. 启用SSL/TLS加密(可选但推荐)

为保障数据传输安全,建议为Bolt和HTTPS连接器启用SSL/TLS:

  • neo4j.conf中,为Bolt连接器设置dbms.connector.bolt.tls_level=REQUIRED(强制加密);为HTTPS连接器设置dbms.connector.https.tls_level=REQUIRED
  • 配置SSL证书:将证书文件(neo4j.keyneo4j.cert)放置在dbms.directories.certificates目录下(默认certificates),或通过dbms.ssl.policy.<policyname>命名空间自定义策略。

5. 配置防火墙允许端口访问

需在服务器防火墙中开放Neo4j使用的端口(默认7687、7474、7473),以允许远程连接:

  • Ubuntu(UFW):执行sudo ufw allow 7687/tcp(Bolt)、sudo ufw allow 7474/tcp(HTTP)、sudo ufw allow 7473/tcp(HTTPS),然后启用UFW(sudo ufw enable)。
  • Windows:通过“控制面板→系统和安全→Windows Defender防火墙→高级设置→入站规则”,添加允许上述端口的TCP规则。

6. 验证网络配置

  • 重启Neo4j服务使配置生效(sudo neo4j restart./neo4j console)。
  • 使用netstat -tuln | grep 7687(Linux)或netstat -ano | findstr 7687(Windows)检查Bolt端口是否处于监听状态。
  • 从远程客户端使用Cypher Shell连接(cypher-shell -a neo4j://<服务器IP>:7687),输入用户名密码验证连接是否成功。

注意事项

  • 生产环境中,建议禁用HTTP连接器(dbms.connector.http.enabled=false),仅保留HTTPS和Bolt协议。
  • 若使用WSL2部署Neo4j,需额外配置WSL的端口转发(通过netsh interface portproxy add v4tov4 listenport=7474 listenaddress=0.0.0.0 connectport=7474 connectaddress=<WSL_IP>),并通过WSL的IP地址访问(如http://<WSL_IP>:7474)。
  • 确保Java版本符合Neo4j要求(Neo4j 4.xx及以上需JDK 11及以上)。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI