配置网络连接器

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. 网络连接器的配置选项后缀
选项名称。 默认 设置 (Setting(s)) 描述

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 中收到错误信息。