配置网络连接器

Neo4j 通过网络连接器支持 Bolt、HTTP 和 HTTPS 协议。网络连接器在 neo4j.conf 文件中配置。

可用的网络连接器

下表列出了 Neo4j 中可用的网络连接器

表 1. Neo4j 网络连接器和端口号
网络连接器名称 协议 默认端口号

server.bolt

Bolt

7687

server.http

HTTP

7474

server.https

HTTPS

7473

在配置 HTTPS 或 Bolt 连接器时,另请参阅 SSL 框架,了解有关如何使用 SSL 证书的详细信息。

配置选项

网络连接器通过格式为 server.<network-connector-name>.<setting-suffix>> 的设置进行配置。

表 2. 网络连接器的配置选项后缀
选项名称 默认值 设置 描述

enabled

true [1]

server.bolt.enabled, server.http.enabled, server.https.enabled [2]

此设置允许启用或禁用客户端连接器。禁用时,Neo4j 不会监听相关端口上的传入连接。

listen_address

localhost:<network-connector-default-port>

server.bolt.listen_address, server.https.listen_address, server.http.listen_address

此设置指定 Neo4j 如何监听传入连接。它由两部分组成:IP 地址(例如 127.0.0.1 或 0.0.0.0)和端口号(例如 7687),并以格式 <ip-address>:<port-number> 表示。有关使用示例,请参见下文。

advertised_address

localhost:<network-connector-default-port>

server.bolt.advertised_address, server.https.advertised_address, server.http.advertised_address

此设置指定客户端应使用此网络连接器的地址。这在集群中很有用,因为它允许每个服务器正确地宣传集群中其他服务器的地址。广告地址由两部分组成:地址(完全限定域名、主机名或 IP 地址)和端口号(例如 7687),并以格式 <address>:<port-number> 表示。有关使用示例,请参见下文。

tls_level

DISABLED

server.bolt.tls_level

此设置仅适用于 Bolt 连接器。它允许 Bolt 连接器接受加密和/或未加密的连接。默认值为 DISABLED,其中此连接器只接受未加密的客户端连接,所有加密连接都将被拒绝。

其他值为 REQUIREDOPTIONAL。当此连接器只接受加密的客户端连接,所有未加密的连接都将被拒绝时,使用 REQUIRED。当此连接器接受加密或未加密的客户端连接时,使用 OPTIONAL

1. 当 Neo4j 在嵌入模式下使用时,默认值为 false

2. server.https.enabled 的默认值为 false

示例 1. 为 Bolt 连接器指定 listen_address

要监听所有网络接口 (0.0.0.0) 上的端口 7000 上的 Bolt 连接,请为 Bolt 连接器设置 listen_address

server.bolt.listen_address=0.0.0.0:7000
示例 2. 为 Bolt 连接器指定 advertised_address

如果通过代理路由流量,或者如果使用端口映射,则可以为每个网络连接器单独指定 advertised_address。例如,如果 Neo4j 服务器上的端口 7687 从外部网络上的端口 9000 映射,请为 Bolt 连接器指定 advertised_address

server.bolt.advertised_address=<server-name>:9000

Bolt 线程池选项

有关 Bolt 线程池及其在网络连接器级别配置方法的更多信息,请参见 Bolt 线程池配置

地址的默认值

可以使用带有 listen_addressadvertised_address 后缀的配置选项指定默认值。设置默认值适用于所有网络连接器,除非专门针对特定连接器配置。

server.default_listen_address

此配置选项定义所有网络连接器的带有 listen_address 后缀的设置的默认 IP 地址。如果未指定 listen_address 的 IP 地址部分,则从共享设置 server.default_listen_address 继承该部分。

示例 3. 为 Bolt 连接器指定 listen_address

要监听所有网络接口 (0.0.0.0) 上的端口 7000 上的 Bolt 连接,请为 Bolt 连接器设置 listen_address

server.bolt.listen_address=0.0.0.0:7000

这等同于使用 server.default_listen_address 设置指定 IP 地址,然后为 Bolt 连接器指定端口号。

server.default_listen_address=0.0.0.0

server.bolt.listen_address=:7000
server.default_advertised_address

此配置选项定义所有网络连接器的带有 advertised_address 后缀的设置的默认地址。如果未指定 advertised_address 的地址部分,则从共享设置 server.default_advertised_address 继承该部分。

示例 4. 为 Bolt 连接器指定 advertised_address

指定客户端应使用 Bolt 连接器的地址

server.bolt.advertised_address=server1:9000

这等同于使用 server.default_advertised_address 设置指定地址,然后为 Bolt 连接器指定端口号。

server.default_advertised_address=server1

server.bolt.advertised_address=:9000

默认地址设置只能接受完整套接字地址的主机名或 IP 地址部分。端口号是特定于协议的,只能通过特定于协议的网络连接器配置添加。

例如,如果将默认地址值配置为 example.com:9999,Neo4j 将无法启动,并且您将在 neo4j.log 中获得错误。