[英]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:8530
: https://db.example.com:8530
: https://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:8530
( ip 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.