0

当我将 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但我都尝试了,结果是一样的。

4

1 回答 1

2

事实证明我被 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/

于 2020-05-02T15:26:56.603 回答