在Neo4j中使用LetsEncrypt证书


8

如何将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/certificates
  • 在配置中,我还启用了通过HTTPS的远程访问: dbms.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=-}

至少您应该提供所得到的错误...
gf_

好点子。错误消息和说明现在已添加。
Michael Johansen

请注意,根据文档,您只需要转换密钥。对于证书,请使用fullchain.pem
Hardy Rust

使用全链证书可以解决问题。谢谢!
迈克尔·约翰森,

Answers:


10

我可以通过以下过程在neo4j上使用let加密证书:

  • 使用以shell脚本方法实现letsencrypt / acme客户端来制作我的域的证书。
  • 运行脚本将生成三个文件,以获取证书fullchain.pem cert.pem privkey.pem
  • 将它们复制到neo4j的证书目录中

    mv /path_to_lets_encrypt_certs_dir/fullchain.pem /var/lib/neo4j/certificates/neo4j.cert

    mv /path_to_lets_encrypt_certs_dir/privkey.pem /var/lib/neo4j/certificates/neo4j.key

  • 重新启动neo4j

anirudh@prok:~# /var/lib/neo4j/bin/neo4j restart
Stopping Neo4j.. stopped
Starting Neo4j.
WARNING: Max 1024 open files allowed, minimum of 40000 recommended.  See the Neo4j manual.
Started neo4j (pid 17608). By default, it is available at  https://your-domain:7473/
There may be a short delay until the server is ready.
See /var/lib/neo4j/logs/neo4j.log for current status.

这应该为您运行。希望这可以帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.