plesk 上的 docker 中的 Neo4j(3.4.17、3.5.13、4.0.0)不使用 /ssl 中提供的 SSL 证书,而是尝试删除它们并进行自己的自签名

2024-04-17

此配置在某些时候对我有用,但由于没有启用自动续订,在短暂的 VPS 暂停后就停止了。

根据文档,我在一个文件夹中提供了 neo4j.cert 和 neo4j.key,然后将其安装在 /ssl 的容器上。

不幸的是,neo4j 将停留在“清理自生成...”上,并抛出“权限被拒绝”,除非我在该文件夹上设置 775 权限,以便它也可以写入和执行(组策略)。

如果我确实设置为 775,则可以正常工作,但它没有使用正确提供的签名证书,而是只是删除它们并制作自己的自签名证书。


在 4.0 中,我设法让 ssl 使用这些设置:

$ docker run -d -p 7473:7473 -p 7474:7474 -p 7687:7687 --rm \
    -v /opt/neo4j/certs/https:/var/lib/neo4j/certificates/https \
    -e NEO4J_dbms_ssl_policy_https_enabled=true \
    -e NEO4J_dbms_ssl_policy_https_base__directory=certificates/https \
    -e NEO4J_dbms_ssl_policy_https_private__key=private.key \
    -e NEO4J_dbms_ssl_policy_https_public__certificate=public.crt \
    -e NEO4J_dbms_connector_https_enabled=true \
    neo4j:4.0

安装简单/ssl按照 neo4j docker 文档上的说明对我不起作用。 我在他们的 github 存储库上为此创建了一个问题:https://github.com/neo4j/docker-neo4j/issues/225 https://github.com/neo4j/docker-neo4j/issues/225 https://neo4j.com/docs/operations-manual/3.5/docker/security/ https://neo4j.com/docs/operations-manual/3.5/docker/security/

此外,上述设置不适用于 3.5,因为某些变量已更改。如果我可以让它在 3.5 上运行,我将编辑我的帖子。https://neo4j.com/docs/operations-manual/3.5/security/ssl-framework/ https://neo4j.com/docs/operations-manual/3.5/security/ssl-framework/

这是我的设置:

$ pwd
/opt/neo4j/certs/https
$ ls
private.key  public.crt

要在 Bolt 上启用 ssl:

docker run -d -p 7473:7473 -p 7474:7474 -p 7687:7687 \
    -e NEO4J_dbms_ssl_policy_bolt_enabled=true \
    -e NEO4J_dbms_ssl_policy_bolt_base__directory=certificates \
    -e NEO4J_dbms_connector_bolt_tls__level=OPTIONAL \
    -e NEO4J_dbms_connector_bolt_advertised__address=domain.with.valid.cert.com \
    -e NEO4J_dbms_ssl_policy_bolt_client__auth=NONE \
    neo4j:4.0

bolt_advertised__address如果你想从浏览器连接似乎是必要的。 Python 驱动程序在没有它的情况下也可以正常连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

plesk 上的 docker 中的 Neo4j(3.4.17、3.5.13、4.0.0)不使用 /ssl 中提供的 SSL 证书,而是尝试删除它们并进行自己的自签名 的相关文章

随机推荐