ArangoDB 与 letsenrcypt 证书一起工作
ArangoDB working together with letsenrcypt certificates
有没有人获得了使用 letsencrypt 证书的 运行 arangoDB 数据库?我就是找不到这个 运行.
ArangoDB 运行 在 digitalOcean droplet 上,我可以 运行 将它与此 tutorial 之后的自签名证书一起获得。所以 arangoDB 在端口上成功 运行:8530
现在我的方法是用 letsencrypt 证书替换自签名证书。
所以我在 DigitalOcean 中向 droplet 添加了一个子域。例如:db.example.com 然后生成证书文件:
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:8530
。 droplet的防火墙设置应该都可以,因为我之前用自签名证书可以访问这个地址
然后我尝试将 /etc/arangodb3/arangod.conf
中的端点从
修改为
endpoint = ssl://0.0.0.0:8530
到
endpoint = ssl://db.example.com:8530
还有
tcp://db.example.com:8530
None 它正在工作。有人知道我做错了什么吗?
请在指定端点时使用您要使用的接口的 ip,例如endpoint = ssl://42.23.13.37:8530
(ip address
应列出您的接口以及正在使用的地址)。然后它可以帮助使用 fullchain.pem 创建 server.prm (cat fullchain.pem privkey.pem > server.pem
)。确保生成的 server.pem
可由 arangodb 用户访问和读取。如果服务器仍未正常启动,请提供服务器日志。要访问日志,请使用 systemctl -fu arangodb3.service
或如果您使用某些自定义位置进行日志记录,请使用 tail -f <logfile>
关注日志。
我刚刚测试了一个带有 letsencrypt 证书的设置,在确保以上几点后它可以正常工作。
有没有人获得了使用 letsencrypt 证书的 运行 arangoDB 数据库?我就是找不到这个 运行.
ArangoDB 运行 在 digitalOcean droplet 上,我可以 运行 将它与此 tutorial 之后的自签名证书一起获得。所以 arangoDB 在端口上成功 运行:8530
现在我的方法是用 letsencrypt 证书替换自签名证书。
所以我在 DigitalOcean 中向 droplet 添加了一个子域。例如:db.example.com 然后生成证书文件:
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:8530
。 droplet的防火墙设置应该都可以,因为我之前用自签名证书可以访问这个地址
然后我尝试将 /etc/arangodb3/arangod.conf
中的端点从
endpoint = ssl://0.0.0.0:8530
到
endpoint = ssl://db.example.com:8530
还有
tcp://db.example.com:8530
None 它正在工作。有人知道我做错了什么吗?
请在指定端点时使用您要使用的接口的 ip,例如endpoint = ssl://42.23.13.37:8530
(ip address
应列出您的接口以及正在使用的地址)。然后它可以帮助使用 fullchain.pem 创建 server.prm (cat fullchain.pem privkey.pem > server.pem
)。确保生成的 server.pem
可由 arangodb 用户访问和读取。如果服务器仍未正常启动,请提供服务器日志。要访问日志,请使用 systemctl -fu arangodb3.service
或如果您使用某些自定义位置进行日志记录,请使用 tail -f <logfile>
关注日志。
我刚刚测试了一个带有 letsencrypt 证书的设置,在确保以上几点后它可以正常工作。