Neo4j https通讯

时间:2014-06-02 07:29:20

标签: https neo4j

有没有办法只允许https而不是http来与Neo4j服务器进行通信?此外,Neo4j Shell的通信使用哪个频道,http或https?

2 个答案:

答案 0 :(得分:1)

来自http://docs.neo4j.org/chunked/stable/security-server.html

HTTPS支持 Neo4j服务器内置支持通过HTTPS进行SSL加密通信。服务器第一次启动时,它会自动生成自签名SSL证书和私钥。由于证书是自签名的,因此依赖于生产使用是不安全的,相反,您应该为服务器提供自己的密钥和证书。

要提供您自己的密钥和证书,请替换生成的密钥和证书,或更改neo4j-server.properties文件以设置证书和密钥的位置:

# Certificate location (auto generated if the file does not exist)
org.neo4j.server.webserver.https.cert.location=ssl/snakeoil.cert

# Private key location (auto generated if the file does not exist)
org.neo4j.server.webserver.https.key.location=ssl/snakeoil.key
Note that the key should be unencrypted. Make sure you set correct permissions on the private key, so that only the Neo4j server user can read/write it.

Neo4j还支持链式SSL证书。这需要将PEM格式的所有证书合并到一个文件中,并且私钥需要采用DER格式。

您可以在同一配置文件中设置HTTPS连接器应绑定的端口,也可以关闭HTTPS:

# Turn https-support on/off
org.neo4j.server.webserver.https.enabled=true

# https port (for all data, administrative, and UI access)
org.neo4j.server.webserver.https.port=443

关于您的第二个问题:Neo4j Shell的通信使用哪个频道,http或https?默认频道为http。

答案 1 :(得分:1)

这是来自Neo4j文档:

<强> HTTPS support

Neo4j服务器内置支持通过HTTPS进行SSL加密通信。服务器第一次启动时,它会自动生成自签名SSL证书和私钥。由于证书是自签名的,因此依赖于生产使用是不安全的,相反,您应该为服务器提供自己的密钥和证书。

要提供您自己的密钥和证书,请替换生成的密钥和证书,或更改neo4j-server.properties文件以设置证书和密钥的位置:

# Certificate location (auto generated if the file does not exist)
org.neo4j.server.webserver.https.cert.location=ssl/snakeoil.cert

# Private key location (auto generated if the file does not exist)
org.neo4j.server.webserver.https.key.location=ssl/snakeoil.key

请注意,密钥应该是未加密的。确保您对私钥设置了正确的权限,以便只有Neo4j服务器用户可以读/写它。

Neo4j还支持链式SSL证书。这需要将PEM格式的所有证书合并到一个文件中,并且私钥需要采用DER格式。

您可以在同一配置文件中设置HTTPS连接器应绑定的端口,也可以关闭HTTPS:

# Turn https-support on/off
org.neo4j.server.webserver.https.enabled=true

# https port (for all data, administrative, and UI access)
org.neo4j.server.webserver.https.port=443