当我将JHipster应用程序部署到Heroku并连接到GrapheneDB Neo4J实例(3.5.17版(时,该应用程序无法连接到Neo4J示例。我试图在本地复制错误,认为这与版本不匹配有关,因为本地的Neo4J Docker版本是4.0。
然而,我使用任一版本的Neo4J将错误本地化为存在/不存在凭据。
工作版本有以下docker-compose.yml
文件条目:
environment:
- NEO4J_AUTH=none
以及application.yml
:中的该条目
org:
neo4j:
driver:
uri: bolt://localhost:7687
此版本能够连接。一旦我引入凭据,条目如下所示,docker-compose.yml
:
environment:
- NEO4J_AUTH=myapplication/myapplication
和application.yml
:
org:
neo4j:
driver:
uri: bolt://localhost:7687
authentication:
username: myapplication
password: myapplication
此版本无法连接。在Spring Boot和neo4j docker映像中设置凭据的正确方法是什么?我还缺什么吗?
从本地机器连接到GrapheneDB实例会出现同样的错误,所以我怀疑问题出在驱动程序配置中。一些搜索点击提到了org.neo4j.driver.username
而不是org.neo4j.driver.authentication.username
,但我尝试了两者,结果是一样的。
事实证明,我被Neo4J文档误导了,该文档指出加密在默认情况下是打开的。我所需要做的就是:
org.neo4j.driver.config.encrypted=true
或组合,在YAML:中
org:
neo4j:
driver:
uri: bolt://localhost:7687
authentication:
username: myapplication
password: myapplication
config:
encrypted: true
有关完整配置,请参阅:https://neo4j.com/developer/driver-spring-boot-starter/