你知道 traefik 能够为你的网络服务做所有让我们加密的东西(请求和更新)。但是 traefik 将请求的证书存储为 JSON 文件,这不是证书的通用格式。
我想对我的邮件服务器也使用 Let's Encrypt 证书,所以我需要它们的简单格式:*.pem 或 *.crt。
我的问题是:traefik 是否有可能以通用格式存储 Let's Encrypt 证书?
感谢帮助!
最佳答案
我正在使用 jq
去做这个
导出证明
cat acme.json | jq -r '.Certificates[] | select(.Domain.Main=="'www.example.com'") | .Certificate' | base64 -d > www.example.com.crt
导出私钥
cat acme.json | jq -r '.Certificates[] | select(.Domain.Main=="'www.example.com'") | .Key' | base64 -d > www.example.com.key
Traefik 与 Consul 作为 KV 存储
导出包含证书和私钥的 JSON
consul kv get traefik/acme/account/object | gzip -dc | jq -r '.DomainsCertificate.Certs[] | select(.Domains.Main=="'www.example.com'") | .Certificate' > www.example.com.json
仅导出证书
consul kv get traefik/acme/account/object | gzip -dc | jq -r '.DomainsCertificate.Certs[] | select(.Domains.Main=="'www.example.com'") | .Certificate.Certificate' | base64 -D > www.example.com.crt
仅导出私钥
consul kv get traefik/acme/account/object | gzip -dc | jq -r '.DomainsCertificate.Certs[] | select(.Domains.Main=="'www.example.com'") | .Certificate.PrivateKey' | base64 -D > www.example.com.key
备用领事
备份
consul kv get -base64 traefik/acme/account/object > backup-base64
恢复
cat -s backup-base64 | base64 --decode | consul kv put traefik/acme/account/object -
关于ssl-certificate - 存储 traefik 让我们加密证书而不是 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47218529/