docker安装caddy自动续签ssl证书做代理tls

2021年9月19日 3638点热度 0人点赞 0条评论

vmess和vless现在均需要tls证书才能长时间保证端口的可用性,本人实测不加tls的端口跑个一百G流量就封,经常换端口非常难受。只能想办法加上tls证书,最省事的办法是让acme.sh服务自己续签。
acme.sh脚本是需要http服务器也就是一个web server才能签证书的,除非使用dns模式是可以不需要安装nginx等http服务。但是让我在代理用途的vps上填写dns服务商的用户名和密码,即便是子用户账号密码我也还是不习惯。
既然要装web server,就想到了caddy这个轻量应用。

首先是安装docker

curl -sSL https://get.docker.com/ | sh

安装portainer

docker run -d -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /mnt/docker/portainer:/data portainer/portainer

portainer中安装caddy
参考https://github.com/abiosoft/caddy-docker/blob/master/README.md
端口对应 80:80 443:443 2015:2015
安装完之后进行修改:
在env中添加CADDYPATH=/etc/caddycerts
将env中 ACME_AGREE改为true

同时挂载host的/caddy目录为container的/etc/caddycerts目录
修改完毕,保存重启进入容器命令行
编辑/etc/Caddyfile文件
按照如下格式进行填写保存,以进行ssl续签
mydomain.com
tls [email protected]

然后在宿主机的/caddy目录下应该能找到域名下的证书文件夹。

此时只需要将.cert文件和.key路径加入tls设置里就可以了。应用x-ui搭建vmess和vless协议的xray服务器可以用可视化界面操作, https://github.com/vaxilu/x-ui

Qiui

这个人很懒,什么都没留下

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x