当我将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/
关于docker - Neo4J凭证不适用于JHipster生成的Spring Boot应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61559380/