- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
有没有人让 Neo4j 使用 LetsEncrypt 证书?
我有一个使用 LetsEncrypt 的常规网站,所以我知道我的证书很好。 Neo4j 正在运行,我可以通过 https 访问 Neo4j 浏览器,我收到了自签名证书警告。
我一直在关注有关设置 SSL 的文档,但是当我尝试启动服务时,它立即失败了。由于问题所在,我什至没有在日志中得到任何输出。
myself@localhost:/var/lib/neo4j/certificates/bolt/trusted# service neo4j status
● neo4j.service - Neo4j Graph Database
Loaded: loaded (/lib/systemd/system/neo4j.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/neo4j.service.d
└─override.conf
Active: inactive (dead) (Result: exit-code) since Sat 2018-07-21 21:08:37 MDT; 658ms ago
Process: 19066 ExecStart=/usr/share/neo4j/bin/neo4j console (code=exited, status=1/FAILURE)
Main PID: 19066 (code=exited, status=1/FAILURE)
Jul 21 21:08:37 Swingset systemd[1]: neo4j.service: Unit entered failed state.
Jul 21 21:08:37 Swingset systemd[1]: neo4j.service: Failed with result 'exit-code'.
Jul 21 21:08:37 Swingset systemd[1]: neo4j.service: Service hold-off time over, scheduling restart.
Jul 21 21:08:37 Swingset systemd[1]: Stopped Neo4j Graph Database.
Jul 21 21:08:37 Swingset systemd[1]: neo4j.service: Start request repeated too quickly.
Jul 21 21:08:37 Swingset systemd[1]: Failed to start Neo4j Graph Database.
所以我正在寻找完成这项工作的人,并且可以给我一份需要仔细检查的 list 。我相信我有正确的文件夹结构,我认为我有正确的权限,我认为 neo4j.conf 修改正确,我认为我将正确的 LetsEncrypt 文件复制到正确的文件夹中并使用正确的文件名。但我一定是遗漏了什么,因为它不起作用。
最佳答案
有趣的是,我今天在做完全相同的事情,并在试图弄清楚这个问题时偶然发现了这个问题……好吧,根据 Neo4j Documentation on the ssl-framework 中的说明,这是对我有用的方法和我遵循的程序。 .
创建合适的目录结构
cd /var/lib/neo4j/certificates
mkdir -p default/revoked default/trusted
将 letsencrypt 证书复制到 neo4j 文件夹
# Copy your server cert to the base dir and the trusted dir of neo4j
cp $your_cert_dir/cert.pem /var/lib/neo4j/certificates/default/cert.pem
cp $your_cert_dir/cert.pem /var/lib/neo4j/certificates/default/trusted/cert.pem
# Copy your key to the base dir of neo4j
cp $your_cert_dir/privkey.pem /var/lib/neo4j/certificates/default/privkey.pem
确保文件具有正确的权限
# To my system, Ubuntu 16.04, it was neo4j:adm
chown -R neo4j:adm /var/lib/neo4j/certificates/default/
确保在neo4j ( /etc/neo4j/neo4j.conf
)的配置文件中有如下条目
# Set the base dir for certificates
dbms.directories.certificates=/var/lib/neo4j/certificates
# To enable connections from remote servers
dbms.connectors.default_listen_address=0.0.0.0
# This can remain "OPTIONAL"
dbms.connector.bolt.tls_level=REQUIRED
# Enable https connector
dbms.connector.https.enabled=true
dbms.connector.https.listen_address=:7473
# Set up the policy for the connectors to the default
bolt.ssl_policy=default
https.ssl_policy=default
# Create default policy
dbms.ssl.policy.default.base_directory=certificates/default
# Set the paths for the private key and of the server cert.
# These must be absolute paths.
dbms.ssl.policy.default.private_key=/var/lib/neo4j/certificates/default/privkey.pem
dbms.ssl.policy.default.public_certificate=/var/lib/neo4j/certificates/default/cert.pem
# Set up client authentication to "optional" or "none".
# If this is left to "default" then the client (a.k.a person who tries to
# access the web-portal) would need to authenticate with a certificate
dbms.ssl.policy.default.client_auth=none
确保您有以下端口对服务器的防火墙开放
重启neo4j
service neo4j restart
您现在应该能够使用 https://<your server domain name>:7473
连接到 Web 界面.如果您尝试使用 https://IP:7473
然后你的浏览器会提示证书和地址不一样。
仅供引用 我在 Neo4j 日志中仍然收到以下错误,我目前正在尝试解决它。到目前为止,其他一切似乎都运行良好。
Jul 24 14:13:34 sstest neo4j[18181]: 2018-07-24 12:13:34.556+0000 ERROR Unexpected error detected in bolt session 'fa163efffeefd082-00004705-00000003-81330a20f088cbac-29e11d2a'. The client is unauthorized due to authentication failure.
Jul 24 14:13:34 sstest neo4j[18181]: org.neo4j.bolt.v1.runtime.BoltConnectionFatality: The client is unauthorized due to authentication failure.
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:742)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.runtime.BoltStateMachine.handleFailure(BoltStateMachine.java:728)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.runtime.BoltStateMachine.access$500(BoltStateMachine.java:62)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$1.init(BoltStateMachine.java:435)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.runtime.BoltStateMachine.init(BoltStateMachine.java:145)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onInit$0(BoltMessageRouter.java:70)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:195)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:170)
Jul 24 14:13:34 sstest neo4j[18181]: at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:153)
Jul 24 14:13:34 sstest neo4j[18181]: at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
Jul 24 14:13:34 sstest neo4j[18181]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
Jul 24 14:13:34 sstest neo4j[18181]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
Jul 24 14:13:34 sstest neo4j[18181]: at java.lang.Thread.run(Thread.java:748)
关于ssl - Neo4j 和 LetsEncrypt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461876/
我有一个以以下方式运行的简单docker容器: docker service create --name nginx_proxy \ --mount type=bind,source=/opt/n
所以我有一个在端口 443 上运行的 Apache 服务器和在最新版本的 Ubuntu 上安装的 NodeJS。现在我的一切都运行得很好,除了我运行 NodeJS 服务器的端口 100 上没有 SSL
所以我删除了证书,认为我需要这样做,因为我得到了一个新域名。我目前被当前错误困住了: Root@Site:~$ certbot-auto --apache -d example.io -d www.e
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我关注了this tutorial使用 NGINX Ingrss Controller 和带有 letsencrypt 的证书管理器为基本应用程序提供服务。 我可以访问该网站,但 SSL 证书已损坏,
我正在将我的网站推送到 Ubuntu 18.04 上的 AWS Lightsail 实例,但自从我安装了 LetsEncrypt(之前一切都很好)后,我无法访问它。 基本上,我没有得到任何回应,尽管看
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试找出如何在不影响用户/客户的情况下将网站/服务器从 digitalocean Droplet 迁移到 Azure (AKS)。 digitalocean 配置具有由letsencrypt(通
我正在尝试找出如何在不影响用户/客户的情况下将网站/服务器从 digitalocean Droplet 迁移到 Azure (AKS)。 digitalocean 配置具有由letsencrypt(通
我正在遵循本指南:https://www.digitalocean.com/community/tutorials/how-to-set-up-let-s-encrypt-certificates-f
我在尝试运行命令时遇到这个奇怪的 letsencrypt 错误 $ certbot certonly --standalone --email example@gmail.com --agree-to
Closed. This question needs details or clarity。它当前不接受答案。
我正在尝试在 DigitalOcean 服务器上的 ubuntu 14 上安装 letsencrypt,但遇到了这个问题。 我尝试使用 sudo 安装但同样的错误,也尝试安装库但没有任何反应。 apt
我已经在我的服务器上安装了 SSL 来保护我的域,现在发生的事情是我在 Chrome 等中遇到了这个错误: Attackers might be trying to steal your inform
我目前在我的服务器上使用 letsencrypt 作为 SSL 证书。随着我服务器上的站点数量不断增加,安装运行 ssh 命令的证书变得非常耗时:letsencrypt。我必须手动取消选中我不想安装
当时,我无法再解决问题了……说真的,我太蠢了,检查了 letsencrypt ssl 并同时创建了一个自签名证书。但是,我认为我已经破坏了 SSL 配置。使用 letsencrypt 的其他域,除了一
我已经在 WHM 上安装了 lets encrypt,但它不适用于域。我希望每当我添加域(附加域)时,它都会被分配让加密但它会 self 分配,这表明网站不安全并且无法在 HTTPS 上运行。 我 c
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
我正在尝试在需要时自动为新服务器提供午餐,但在使服务器上线之前我在获取证书时遇到了一些困难。我想要做的是运行一个安装脚本,它准备好所有的包、网站和证书,然后将服务器添加到生产环境中。但是,Letsen
我有一个 digitalocean 服务器(ubuntu 16.4 nginx)+ serverpilot我按照站点教程安装了 letsencrypt:https://www.robertwent.c
我是一名优秀的程序员,十分优秀!