使用let加密证书来保护rethinkdb http管理界面

时间:2018-03-10 22:09:25

标签: rethinkdb

我想使用let的加密创建的证书来保护rethinkdb http管理界面。因此我添加了

http-tls-key=/path/privkey.pem
http-tls-cert=/path/cert.pem

到我的instance1.conf。如果我重新启动实例,它只会说

rethinkdb: instance1: Waiting for instance to stop (pid 13693) .... Stopped.
rethinkdb: instance1: Starting instance. (logging to `/var/lib/rethinkdb/instance1/data/log_file')

但它没有启动,日志文件仍为空。我是通过init.d脚本启动实例的。密钥文件可由rethinkdb用户读取。我想也许缺少fullchain.pem但我没有看到为http管理员指定它的选项,只有驱动程序和集群的选项:https://rethinkdb.com/docs/config-file/

有人能帮助我吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您的证书和密钥是否正确? 因为如果您直接从 /etc/letsencrypt/live/example.com/* 复制,似乎一切都只是符号链接。

因此,您需要阅读实际文件 readlink -f /etc/letsencrypt/live/example.com/*

然后只需将它们复制到您的 rethinkdb_cert 目录

mkdir $PATH_WD/rethinkdb_cert
cp /etc/letsencrypt/archive/example.com/* $PATH_WD/rethinkdb_cert/.

或者直接声明那些证书文件所属的位置

http-tls-key=$PATH_WD/rethinkdb_cert/privkey.pem
http-tls-cert=$PATH_WD/rethinkdb_cert/cert.pem

确定实际文件是什么..., 他们也有正确的许可吗...

ls -la
chown rethinkdb.rethinkdb -R $PATH_WD/rethinkdb_cert
chmod 644 $PATH_WD/rethinkdb_cert/*
chmod 600 $PATH_WD/rethinkdb_cert/privkey.pem