连接到数据库时出现Python-Neo4j安全错误,无法建立到';[SSL:UNKNOWN_PROTCOL(_SSL.c:600)

连接到数据库时出现Python-Neo4j安全错误,无法建立到';[SSL:UNKNOWN_PROTCOL(_SSL.c:600),python,django,neo4j,graph-databases,Python,Django,Neo4j,Graph Databases,我正在尝试使用Neo4j驱动程序将Django连接到Neo4j,但我遇到了安全错误 错误为:-neo4j.exceptions.SecurityError:无法建立到“[SSL:UNKNOWN_PROTOCOL]UNKNOWN PROTOCOL(_SSL.c:600)”的安全连接 MACOSX中的Python版本3.4.3 我的依赖关系 django1.9 neo4j-driver==1.4.0 代码 Views.py 错误 The above exception was the direc

我正在尝试使用Neo4j驱动程序将Django连接到Neo4j,但我遇到了安全错误

错误为:-
neo4j.exceptions.SecurityError:无法建立到“[SSL:UNKNOWN_PROTOCOL]UNKNOWN PROTOCOL(_SSL.c:600)”的安全连接

MACOSX中的Python版本3.4.3

我的依赖关系

django1.9 
neo4j-driver==1.4.0
代码 Views.py

错误

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/autoreload.py", line 226, in wrapper
    fn(*args, **kwargs)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run
    self.check(display_num_errors=True)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/management/base.py", line 426, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/registry.py", line 75, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/urls.py", line 10, in check_url_config
    return check_resolver(resolver)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/urls.py", line 19, in check_resolver
    for pattern in resolver.url_patterns:
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/Users/sskadit/Desktop/graphdb/src/neo4/neo4/urls.py", line 19, in <module>
    from graphdb.views import friends
  File "/Users/sskadit/Desktop/graphdb/src/neo4/graphdb/views.py", line 20, in <module>
    driver = GraphDatabase.driver("bolt://127.0.0.1:7474", auth= basic_auth("neo4j", "aditya369")).session()
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/api.py", line 124, in driver
    return driver_class(uri, **config)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 65, in __init__
    pool.release(pool.acquire())
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 39, in acquire
    connection = self.acquire_direct(address)  # should always be a resolved address
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/bolt/connection.py", line 398, in acquire_direct
    connection = self.connector(address)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 64, in <lambda>
    pool = DirectConnectionPool(lambda a: connect(a, security_plan.ssl_context, **config), self.address)
  File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/bolt/connection.py", line 501, in connect
    raise error
neo4j.exceptions.SecurityError: Failed to establish secure connection to '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:600)'
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
包装器中的文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/utils/autoreload.py”,第226行
fn(*args,**kwargs)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/management/commands/runserver.py”,第116行,在内部运行
self.check(display\u num\u errors=True)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/management/base.py”,第426行,选中
包括部署检查=包括部署检查,
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/checks/registry.py”,第75行,在运行检查中
新建错误=检查(应用程序配置=应用程序配置)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/checks/url.py”,第10行,在check\u url\u配置中
返回检查\u分解器(分解器)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/checks/url.py”,第19行,在check_解析器中
对于resolver.url\u模式中的模式:
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/utils/functional.py”,第33行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/urlresolvers.py”,第417行,url_模式
patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/utils/functional.py”,第33行,在__
res=instance.\uuuu dict\uuuu[self.name]=self.func(实例)
urlconf_模块中的文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/django/core/urlresolvers.py”,第410行
返回导入_模块(self.urlconf_名称)
文件“/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/importlib/\uuuu init\uuuuuu.py”,第109行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第2254行,在_gcd_import中
文件“”,第2237行,在“查找”和“加载”中
文件“”,第2226行,在“查找”和“加载”中解锁
文件“”,第1200行,在“加载”中
文件“”,第1129行,在_exec中
exec_模块中第1471行的文件“”
文件“”,第321行,在“调用”中,删除了“帧”
文件“/Users/sskadit/Desktop/graphdb/src/neo4/neo4/url.py”,第19行,在
从graphdb.views导入好友
文件“/Users/sskadit/Desktop/graphdb/src/neo4/graphdb/views.py”,第20行,在
驱动程序=图形数据库。驱动程序(“bolt://127.0.0.1:7474,auth=basic_auth(“neo4j”,“aditya369”)。session()
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/v1/api.py”,第124行,在驱动程序中
返回驱动程序类(uri,**配置)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/v1/direct.py”,第65行,在__
pool.release(pool.acquire())
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/v1/direct.py”,第39行,在acquire中
connection=self.acquire_direct(地址)#应始终是已解析的地址
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/bolt/connection.py”,第398行,直接获取
连接=自连接器(地址)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/v1/direct.py”,第64行,在
pool=DirectConnectionPool(lambda:connect(a,security\u plan.ssl\u context,**config),self.address)
文件“/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site packages/neo4j/bolt/connection.py”,第501行,在connect中
提出错误
neo4j.exceptions.SecurityError:无法建立到“[SSL:UNKNOWN_PROTOCOL]UNKNOWN PROTOCOL(_SSL.c:600)”的安全连接
这是在a中报告的。以下内容对您有用吗

  • 使用
    pip卸载neo4j驱动程序卸载neo4j驱动程序
  • 运行命令
    echo“debhttp://httpredir.debian.org/debian/ jessie backports main“>>/etc/apt/sources.list&&apt update&&apt install-y-t jessie backports openssl
    在终端中
  • 重新安装neo4j驱动程序
    pip安装neo4j驱动程序

  • 感谢Rishabh为这个问题写了一个解决方案

    后来我意识到端口号7474用于ssl使用的http协议

    我已经更改了URL表单
    uri=”bolt://localhost:7474“
    to
    uri=”bolt://localhost:7687“


    很有魅力!!

    浏览器显示端口9987,我在使用此端口时遇到异常。当我将python中的端口更改为7687时,它工作正常。感谢您的回复,但我使用的是macosx,因此此echo命令无法工作,因为它有apt更新和apt安装
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/autoreload.py", line 226, in wrapper
        fn(*args, **kwargs)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/management/commands/runserver.py", line 116, in inner_run
        self.check(display_num_errors=True)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/management/base.py", line 426, in check
        include_deployment_checks=include_deployment_checks,
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/registry.py", line 75, in run_checks
        new_errors = check(app_configs=app_configs)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/urls.py", line 10, in check_url_config
        return check_resolver(resolver)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/checks/urls.py", line 19, in check_resolver
        for pattern in resolver.url_patterns:
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/utils/functional.py", line 33, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
        return import_module(self.urlconf_name)
      File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/importlib/__init__.py", line 109, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
      File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
      File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 1129, in _exec
      File "<frozen importlib._bootstrap>", line 1471, in exec_module
      File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
      File "/Users/sskadit/Desktop/graphdb/src/neo4/neo4/urls.py", line 19, in <module>
        from graphdb.views import friends
      File "/Users/sskadit/Desktop/graphdb/src/neo4/graphdb/views.py", line 20, in <module>
        driver = GraphDatabase.driver("bolt://127.0.0.1:7474", auth= basic_auth("neo4j", "aditya369")).session()
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/api.py", line 124, in driver
        return driver_class(uri, **config)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 65, in __init__
        pool.release(pool.acquire())
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 39, in acquire
        connection = self.acquire_direct(address)  # should always be a resolved address
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/bolt/connection.py", line 398, in acquire_direct
        connection = self.connector(address)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/v1/direct.py", line 64, in <lambda>
        pool = DirectConnectionPool(lambda a: connect(a, security_plan.ssl_context, **config), self.address)
      File "/Users/sskadit/Desktop/graphdb/src/lib/python3.4/site-packages/neo4j/bolt/connection.py", line 501, in connect
        raise error
    neo4j.exceptions.SecurityError: Failed to establish secure connection to '[SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:600)'