小白请教在 vps 上搭建 caddy 反代 https 服务器的问题

2024-06-05 09:02:20 +08:00
 iLoveSS

有个腾讯的轻量云 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 反代本地服务呢? 大佬请指教...

1654 次点击
所在节点    VPS
15 条回复
LittleState
2024-06-05 09:05:37 +08:00
你应该把证书的目录也映射出来,应该就不用每次都重新申请了
heiybb
2024-06-05 09:06:24 +08:00
试试微林?
https://github.com/tmplink/KnowledgeBase/blob/main/vxlink/vxssl.md
证书给第三方托管好了如果只是测试类的东西
cheng6563
2024-06-05 09:09:50 +08:00
你看看 caddy_data 卷里有没有正常存下证书
hzcer
2024-06-05 09:15:53 +08:00
iLoveSS
2024-06-05 10:23:27 +08:00
@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: {}
```
iLoveSS
2024-06-05 10:24:57 +08:00
@cheng6563 有的,手动备份吗? 它应该会经常定时备份证书文件的吧, 我一般重置系统比较频繁,重置前手动备份这个目录有点麻烦.
iLoveSS
2024-06-05 10:25:45 +08:00
@LittleState 是不是映射到一个固定的存储上比较好, 不然还是要备份还原这个文件夹吧?
iLoveSS
2024-06-05 10:31:45 +08:00
@heiybb 没有了解过微林,试了一下,发现网站注册还要邀请码呀..
yianing
2024-06-05 10:37:37 +08:00
重置系统数据肯定就没了,把数据用 rclone 备份到 s3 上
hzcer
2024-06-05 10:39:23 +08:00
@iLoveSS 是的,你也可以预编译一个上传到 dockerhub
iLoveSS
2024-06-05 10:45:15 +08:00
@hzcer 我也是这么想的. 在 wsl 的 debian 上试图编译,但是也遇到墙的问题.

在 wsl 使用代理,以及 docker build 的时候使用代理还不太会.
iLoveSS
2024-06-05 10:46:24 +08:00
@yianing 嗯, 我想是不是可以加购个腾讯的云硬盘然后把这些数据指到云硬盘上
hzcer
2024-06-05 11:14:35 +08:00
@iLoveSS 可以用 github actions 编译
iLoveSS
2024-06-05 11:25:43 +08:00
@hzcer 有道理!!!!
Tuuure
2024-06-05 11:44:51 +08:00
既然是练习用,弄个自签名证书吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1046880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX