项目地址: https://github.com/usual2970/certimate
原文: https://www.q58.club/t/topic/347
后端GO, 数据库sqlite, 前端react+ant-design
原项目简介: 开源的SSL证书管理工具,可以帮助你自动申请、部署SSL证书,并在证书即将过期时自动续期。An open-source SSL certificate management tool that helps you automatically apply for and deploy SSL certificates, as well as automatically renew them when they are about to expire.
支持的域名提供商
https://docs.certimate.me/docs/reference/providers/#supported-host-providers
支持的平台
https://docs.certimate.me/docs/reference/providers/#supported-dns-providers
我使用的原因主要是支持edgeone和1panel
其他介绍可以看作者的项目readme, 我这里简单写一下我是怎么用的.
我的安装方法
作者的文档: https://docs.certimate.me/docs/getting-started/installation/docker
我自己使用docker安装的, 并且部署在国外的VPS, 因为我使用的google证书, 别的证书提供商就无所谓了, 国内VPS也可以, 甚至部署在群晖什么的都行
services:
certimate:
image: woodchen/certimate:latest # 我用的是我自己打包的docker, 也没做什么变化, 原作者的docker镜像地址是: usual2970/certimate:latest
container_name: certimate
ports:
- 1009:8090
volumes:
- ./data:/app/pb_data
restart: unless-stopped
然后反代一下端口, 就可以访问了.
默认账号密码, 自己要记得改, 我是先改账号, 再改密码
- 账号:
admin@certimate.fun
- 密码:
1234567890
我用的证书签发商
其他的
作者很细心, 每一个地方都有说明和官方文档链接 👍
我使用的DNS解析商和部署的平台
DNS解析: cloudflare + dnspod
部署的平台: 多个VPS的1panel + edgeone
edgeone是直接使用DNS同样的授权方法
1panel就稍微麻烦一点, 需要自己开API接口, 在这里:
然后在certimate里这样添加:
需要注意的是
如果certimate和1panel在同一个服务器, 那么1panel的API接口的白名单, 需要填写docker容器的IP, 而不是服务器的IP, 比如我这个:
等同于:
编辑工作流
这个看一下应该就会了, 新建一个, 大概像我这样:
这里我填的是10天. 因为一周检查一次, 没到10天就不用续期
不懂的地方就鼠标移到问号上, 作者都给了文档地址和说明
这个1panel的网站ID, 可能很多人找不到在哪, 看我下面截图
这个就是网站ID, 90
并行串行都可以, 看自己想怎么弄, 通知我用的飞书机器人, 也支持别的通知平台:
运行
编辑好工作流之后, 点击发布更改并启用
可以手动执行一下, 查看日志, 看看有没有问题
其他有啥不了解的可以看作者的文档站: https://docs.certimate.me/
写的很详细, 基本挺完美了, 代码我简单看了一下, 基本引用的官方sdk, 不是自己手搓的, 后续更新也方便.
自己用很方便, 如果想改成SaaS对外提供并收钱, 估计不太有市场, 都白嫖证书了, 一般也不会有人为了这个花钱. 还要考虑到别人让你请求它的服务器, 导致泄露自己服务器IP的种种问题.
评论区