有没有办法只允许https而不是http来与Neo4j服务器进行通信?此外,Neo4j
Shell的通信使用哪个频道,http或https? 最佳答案 这来自Neo4j文档:
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