2017-05-04 2 views
0

IはのNeo4j Iがそれぞれのホストポート7473と7687に内部容器ポート7473と7687をマッピングしたドッカー容器7474が露出が、マップされていない上で実行されているを有しますのNeo4j:不正エラーHTTPS

ネットワークに関するNeo4Jサーバーの設定。

# Bolt connector dbms.connector.bolt.enabled=true 
#dbms.connector.bolt.tls_level=OPTIONAL 
dbms.connector.bolt.listen_address=0.0.0.0:7687 

# HTTP Connector. There must be exactly one HTTP connector. 
dbms.connector.http.enabled=true 
dbms.connector.http.listen_address=0.0.0.0:7474 

# HTTPS Connector. There can be zero or one HTTPS connectors. 
dbms.connector.https.enabled=true 
dbms.connector.https.listen_address=0.0.0.0:7473 

ブラウザからNeo4JのWebクライアントにログインし、デフォルトのパスワードを変更することができました。

ここでPythonコードについては、私がクライアントを作成する行です。

self.client = py2neo.Graph(host =ip_address, 
          username=username, 
          password=password, 
          secure =use_secure, 
          bolt =use_bolt) 

すぐに私はこのようなクエリを実行します。

node = Node("FooBar", foo="bar") 
self.client.create(node) 

以下の不正な例外が発生します。

py2neo.database.status.Unauthorized: https://localhost:7473/db/data/ 

これはなぜ起こっているのでしょうか?

答えて

0

ソリューションは、このようなライブラリが提供する別の認証方法を呼び出すことだった:最初に、私は認証がコンストラクタで自動的に行われたと思ったので

auth_port = str(self._PORT_HTTPS if use_secure else self._PORT_HTTP) 
py2neo.authenticate(":".join([ip_address, auth_port]), username, password) 

それがこれに取得するために私にしばらく時間がかかりました私はボルトポートを使用していたので認証方法を実行できませんでした。