有个腾讯的轻量云 vps,平时主要用来学习 linux 环境和简单开发,经常会在上面练习并重置配置环境.
最近刚好了解到 caddy docker 可以简单地把原来 http 服务变成 https. 相关的文件配置内容如下.
/etc/caddy/Caddyfile
webdav.mydomain {
reverse_proxy mydomain2:5123
}
docker-compose.yml
services:
caddy:
image: caddy:alpine
restart: always
volumes:
- /etc/caddy/Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
ports:
- 80:80
- 443:443
volumes:
caddy_data: {}
我的问题是,因为经常会重置系统,我发现重置完系统后再运行上面的 caddy 设置,有时会导致 caddy 申请 https 证书失败,看 log 的输出好像是同一个域名申请太频繁了.
手里只有这个小鸡,有什么办法可以既能愉快地重置系统,又能保持 caddy docker 正常地 tls 反代本地服务呢? 大佬请指教...
![]() |
1
LittleState 94 天前 via Android ![]() 你应该把证书的目录也映射出来,应该就不用每次都重新申请了
|
![]() |
2
heiybb 94 天前
|
![]() |
3
cheng6563 94 天前
你看看 caddy_data 卷里有没有正常存下证书
|
![]() |
4
hzcer 94 天前 via iPhone
|
![]() |
5
iLoveSS OP @hzcer 谢谢,简单学习了一下.给 caddy 加 module,是不是需要自己 build 一个 image? 我用的文件如下,在轻量云上 build 的时候无法访问 github 了..
/etc/caddy/Dockerfile ``` FROM caddy:2.7.2-builder AS builder RUN xcaddy build v2.7.2 \ --with github.com/ss098/certmagic-s3 FROM caddy:2.7.2 COPY --from=builder /usr/bin/caddy /usr/bin/caddy ``` /etc/caddy/docker-compose.yml ``` services: caddy: build: context: . dockerfile: /etc/caddy/Dockerfile restart: always volumes: - /etc/caddy/Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data ports: - 80:80 - 443:443 volumes: caddy_data: {} ``` |
![]() |
7
iLoveSS OP @LittleState 是不是映射到一个固定的存储上比较好, 不然还是要备份还原这个文件夹吧?
|
![]() |
9
yianing 94 天前
重置系统数据肯定就没了,把数据用 rclone 备份到 s3 上
|
![]() |
11
iLoveSS OP |
![]() |
15
Tuuure 94 天前
既然是练习用,弄个自签名证书吧
|