gpt4 book ai didi

lets-encrypt - 在 Traefik 中使用现有的 LetsEncrypt 证书

转载 作者:行者123 更新时间:2023-12-01 19:44:25 24 4
gpt4 key购买 nike

是否可以在 Traefik 中使用现有的 LetsEncrypt 证书(.pem 格式)?

我已将 Traefik/Docker 设置为生成 acme.json - 我可以为一组域导入现有证书吗?

最佳答案

最终我找到了正确的解决方案——不使用 Traefik 的 ACME 集成,而是简单地挂载一个网络卷 (EFS),其中包含 certbot 在手动模式下颁发的证书。

为什么这是我选择的方法?因为我正在两个 服务器(蓝色和绿色)上安装持有证书的 NFS 卷。这些服务器是 Web 服务器的实时和暂存服务器。在任何时候,一个都将处于“实时”状态,而另一个可以运行候选版本或以其他方式充当“热备用”角色。

出于这个原因,最好分离关注点并让第三台服务器作为专用的“证书管理器”运行。这个 t2.nano 服务器基本上永远不会被触及,并且全权负责每周运行一次 certbot,将证书写入由两个 Web 服务器共享(以只读模式)的 NFS 安装。

通过这种方式,Traefik 在蓝色和绿色服务器上运行,以处理代理网络流量的主要问题,并简单地指向 certbot 颁发的证书文件。对于那些找到此页面并可以从相同解决方案中受益的人,这里是我的 traefik.toml 文件的相关摘录:

defaultEntryPoints = ["https","http"]

[docker]
watch = true
exposedbydefault = false
swarmMode = true

[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
certFile = "/cert.pem"
keyFile = "/privkey.pem"

这是我的 Docker 群堆栈文件中的相关部分:

version: '3.2'

volumes:
composer:

networks:
traefik:
external: true

services:
proxy:
image: traefik:latest
command: --docker --web --docker.swarmmode --logLevel=DEBUG
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/traefik.toml
- "./certs/live/example.com/fullchain.pem:/cert.pem"
- "./certs/live/example.com/privkey.pem:/privkey.pem"
networks:
- traefik

最后是 cron 每周在专用证书服务器上运行一次的命令,配置为使用 ACME v2 进行通配符证书和 Route 53 集成以实现挑战自动化:

sudo docker run -it --rm --name certbot                                      \
-v `pwd`/certs:/etc/letsencrypt \
-v `pwd`/lib:/var/lib/letsencrypt \
-v `pwd`/log:/var/log/letsencrypt \
--env-file ./env \
certbot/dns-route53 \
certonly --dns-route53 \
--server https://acme-v02.api.letsencrypt.org/directory \
-d example.com \
-d example.net \
-d *.example.com \
-d *.example.net \
--non-interactive \
-m me@example.org \
--agree-tos

certs 文件夹是三台服务器共享的 NFS 卷。

关于lets-encrypt - 在 Traefik 中使用现有的 LetsEncrypt 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50575675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com