ssl-certificate - 存储 traefik 让我们加密证书而不是 json

标签 ssl-certificate lets-encrypt traefik

你知道 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/

相关文章:

ubuntu - 基于名称的虚拟主机来识别 Ubuntu Apache LAMP 服务器上的不同 SSL 虚拟主机?

nginx - 让我们加密 502 坏网关 docker

Nginx:删除证书后 [emerg] 无法加载证书

ssl - Traefik:使用默认证书时日志中的 "No ACME certificate generation required for domains"

ssl - IP 地址不受 HTTP 严格传输安全保护

ssl - 使用自签名证书

visual-studio - 如何修复 "The access control list (ACL) structure is invalid"

yesod - 与 keter/yesod/warp 一起使用 letsencrypt

traefik - Traefik 后面的 Cockpit 上存在 ERR_TOO_MANY_REDIRECTS

ssl - 如何在 docker 中为 SSL 添加正确的标签?