如何使用加密的Neo4j连接

问题描述:

我在GCP环境Neo4j的集群。 我试图创建AWS弹性魔豆给它一个安全的连接,但我发现了以下错误:如何使用加密的Neo4j连接

File "/opt/python/current/app/application.py", line 36, in _create_session 
    session = self._driver.session() 
    File "/opt/python/run/venv/lib/python3.4/site-packages/neo4j/v1/session.py", line 148, in session 
    session = Session(self) 
    File "/opt/python/run/venv/lib/python3.4/site-packages/neo4j/v1/session.py", line 461, in __init__ 
    self.connection = connect(driver.host, driver.port, driver.ssl_context, **driver.config) 
    File "/opt/python/run/venv/lib/python3.4/site-packages/neo4j/v1/connection.py", line 427, in connect 
    if not store.match_or_trust(host, der_encoded_server_certificate): 
    File "/opt/python/run/venv/lib/python3.4/site-packages/neo4j/v1/connection.py", line 380, in match_or_trust 
    f_out = os_open(self.path, O_CREAT | O_APPEND | O_WRONLY, 0o600) # TODO: Windows 
    FileNotFoundError: [Errno 2] No such file or directory: '/home/wsgi/.neo4j/known_hosts' 

我的代码如下所示:

driver = GraphDatabase.driver(url=host, 
           auth=basic_auth(username,password), 
           encrypted=True) 
session = driver.session() 

如果我使用encrypted=False会话创建成功。

我怎样才能解决这个问题?

谢谢

蟒蛇驱动程序存储在证书中$HOME/.neo4j/known_hosts第一次使用后。它看起来像wsgi用户不能创建目录由于缺少权限。为了解决这个问题试试这个:

sudo mkdir -p /home/wsgi/.neo4j; sudo chown wsgi /home/wsgi/.neo4j