繁体   English   中英

ArangoDB与letsenrcypt证书一起使用

[英]ArangoDB working together with letsenrcypt certificates

是否有任何人使用letsencrypt证书运行arangoDB数据库? 我只是无法找到这个运行。

ArangoDB运行在digitalOcean droplet上,我可以在本教程之后使用自签名证书运行它。 所以arangoDB成功运行在端口:8530上

现在我的方法是用letsencrypt证书替换自签名证书。

所以我在DigitalOcean中添加了一个子域到Droplet。 例如:db.example.com然后生成cert文件:

sudo -H ./letsencrypt-auto certonly --standalone -d db.example.com

最终将得到4个文件: cert.pem chain.pem fullchain.pem privkey.pem

据我了解,这些文件是:

Private Key --------> privkey.pem
Public Key ---------> cert.pem
Certificate Chain --> chain.pem

正如我在上面提到的教程中所描述的那样,您需要将证书和密钥放在一个文件中。 所以我做了

cat chain.pem privkey.pem | sudo tee server.pem

拥有一个包含证书和私钥的文件。

然后我修改了文件/etc/arangodb3/arangod.conf ,让arango知道密钥文件的位置并修改了ssl部分:

[ssl]
keyfile = /etc/letsencrypt/live/db.example.com/server.pem

但重启arango后,服务器无法使用。 尝试将浏览器连接到: https://db.example.com:8530https://db.example.com:8530https://db.example.com:8530 Droplet的防火墙设置应该都可以,因为我之前可以使用自签名的cetificate访问此地址。

然后我尝试修改/etc/arangodb3/arangod.conf的端点

endpoint = ssl://0.0.0.0:8530

endpoint = ssl://db.example.com:8530

并且

tcp://db.example.com:8530

它都没有奏效。 有人在那里知道我做错了什么吗?

请在指定端点时使用要使用的接口的IP,例如endpoint = ssl://42.23.13.37:8530ip address应列出您的接口以及正在使用的地址)。 然后,它可以帮助使用fullchain.pem来创建server.prm( cat fullchain.pem privkey.pem > server.pem )。 确保arangodb用户可以访问和读取生成的server.pem 如果服务器仍未正确启动,请提供服务器的日志。 要访问日志,请使用systemctl -fu arangodb3.service ,如果使用某个自定义位置进行日志记录,请使用tail -f <logfile>跟踪日志。

我刚刚测试了一个带有letsencrypt证书的设置,它确保了所有上述要点后工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM