如何将 LetsEncrypt 生成的证书文件与 Neo4j 实例一起使用?LetsEncrypt 生成的文件是:
到目前为止,我已经尝试通过 OpenSSL进行转换,但没有成功,使用从 PEM 到 DER 的转换。Neo4j 抱怨在启动时找不到证书。问题是如何将 LetsEncrypt 证书转换为 Neo4j 可以使用的东西。
设置细节:
/var/lib/neo4j/certificates/以名称neo4j.{cert,key}、权限600、归neo4j:nogroup. 所有这些似乎都是根据文档。dbms.directories.certificates=/var/lib/neo4j/certificatesdbms.connector.https.address=0.0.0.0:7473重新启动 Neo4j 时,我收到以下错误消息:
WARN Illegal character 0x16 in state=START for buffer HeapByteBuffer@5a260174[p=1,l=193,c=8192,r=192]={\x16<<< SEVERAL_LINES_OF_HEX_JIBBERISH_HERE }
WARN badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@5d682358{r=0,c=false,a=IDLE,uri=-}
Run Code Online (Sandbox Code Playgroud) Neo4j 的 docker 容器根据文档启动并使用以下命令正常工作:
$ docker run \
--detach \
--publish=7474:7474 \
--publish=7473:7473 \
--publish=7687:7687 \
--volume=$HOME/neo4j/data:/data \
--volume=$HOME/neo4j/logs:/logs \
--volume=$HOME/neo4j/ssl:/ssl \
--ulimit=nofile=40000:40000 \
--name=myname-neo4j \
neo4j:3.1.1
Run Code Online (Sandbox Code Playgroud)
当我尝试执行neo4j-admin数据库转储时,出现错误:
$ docker exec -ti myname-neo4j bin/neo4j-admin dump --database=graph.db --to=/home/name/myname.dump
command failed: the database is in use -- stop Neo4j and try again
Run Code Online (Sandbox Code Playgroud)
但是,如果 Neo4j 进程停止(这似乎是释放数据库的唯一方法),容器将关闭。这似乎是 Docker 的预期行为。因此,neo4j-admin dump在没有使用数据库的情况下,从容器内部调用似乎是不可能的。
在仍然使用 Docker 的同时如何解决这个问题?