certd/README.md

233 lines
8.0 KiB
Markdown
Raw Normal View History

2024-08-14 13:24:12 +00:00
# Certd
2021-01-11 11:00:12 +00:00
2024-08-14 13:24:12 +00:00
Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。
后缀d取自linux守护进程的命名风格意为证书守护进程。
2021-01-11 11:00:12 +00:00
2024-07-08 02:56:19 +00:00
关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签
2024-07-08 02:55:55 +00:00
2024-08-06 02:12:02 +00:00
************************
支持开源,为爱发电,我已入驻爱发电
https://afdian.com/a/greper
2024-08-06 02:32:07 +00:00
发电权益:
2024-08-26 04:32:36 +00:00
1. 可加入发电专属群,可以获得作者一对一技术支持
2024-08-26 02:09:53 +00:00
2. 您的需求我们将优先实现,并且将作为专业版功能提供
2024-08-26 04:32:36 +00:00
3. 一年期专业版激活码
2024-09-02 07:49:56 +00:00
4. 赠送国外免费服务器部署方案0成本使用Certd不过该服务器需要翻墙
2024-08-26 01:58:51 +00:00
专业版特权
1. 证书流水线条数无限制免费版限制10条
2. 免配置发邮件功能
2024-09-02 16:06:13 +00:00
3. FTP上传、cdnfly、宝塔等部署插件
4. 更多功能增加中...
2024-08-06 02:12:02 +00:00
************************
2023-07-04 05:46:57 +00:00
## 一、特性
2024-07-08 02:53:55 +00:00
本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。
2021-01-12 01:44:41 +00:00
2024-07-25 15:42:25 +00:00
* 全自动申请证书支持阿里云、腾讯云、华为云、Cloudflare等各种途径注册的域名
* 全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等)
2024-07-25 14:38:01 +00:00
* 支持通配符域名/泛域名,支持多个域名打到一个证书上
2023-07-04 05:06:37 +00:00
* 邮件通知
2024-07-25 15:41:19 +00:00
* 私有化部署,保障安全
2023-07-04 06:37:13 +00:00
* 免费、免费、免费([阿里云单个通配符域名证书最便宜也要1800/年](https://yundun.console.aliyun.com/?p=cas#/certExtend/buy/cn-hangzhou)
2021-01-12 01:44:41 +00:00
2024-07-25 15:29:17 +00:00
## 二、在线体验
2021-01-11 14:49:24 +00:00
2023-07-04 05:06:37 +00:00
官方Demo地址自助注册后体验
2021-01-11 14:49:24 +00:00
2023-07-04 05:06:37 +00:00
https://certd.handsfree.work/
2021-01-11 14:49:24 +00:00
2024-08-05 08:19:28 +00:00
> 注意数据将不定期清理,不定期停止定时任务,生产使用请自行部署
2023-07-04 06:14:31 +00:00
> 包含敏感信息,务必自己本地部署进行生产使用
2021-01-11 14:49:24 +00:00
2024-07-25 15:29:17 +00:00
## 三、使用教程
2023-07-04 06:29:18 +00:00
本案例演示如何配置自动申请证书并部署到阿里云CDN然后快要到期前自动更新证书并重新部署
2021-01-11 15:15:35 +00:00
2023-07-04 05:06:37 +00:00
![演示](./doc/images/5-view.png)
2023-07-04 06:56:40 +00:00
![演示](./doc/images/9-start.png)
![演示](./doc/images/10-1-log.png)
![演示](./doc/images/13-3-download.png)
2023-07-04 07:03:34 +00:00
![演示](./doc/images/13-1-result.png)
2021-01-11 15:15:35 +00:00
2023-07-04 06:28:27 +00:00
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
-------> [点我查看详细使用步骤演示](./step.md) <--------
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
2021-01-11 15:15:35 +00:00
2024-07-25 15:29:17 +00:00
## 四、私有化部署
2021-01-11 15:15:35 +00:00
2024-07-25 15:37:49 +00:00
由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全
2023-07-04 05:46:57 +00:00
### 1. 安装docker、docker-compose
2021-01-11 15:15:35 +00:00
2024-06-15 16:42:17 +00:00
1.1 准备一台云服务器
* 【阿里云】云服务器2核2G新老用户同享99元/年,续费同价!【 [立即购买](https://www.aliyun.com/benefit?scm=20140722.M_10244282._.V_1&source=5176.11533457&userCode=qya11txb )】
* 【腾讯云】云服务器2核2G新老用户同享99元/年,续费同价!【 [立即购买](https://cloud.tencent.com/act/cps/redirect?redirect=6094&cps_key=b3ef73330335d7a6efa4a4bbeeb6b2c9&from=console)】
2024-07-25 15:29:17 +00:00
1.2 安装docker
2021-01-11 15:15:35 +00:00
2024-07-25 15:29:17 +00:00
https://docs.docker.com/engine/install/
选择对应的操作系统,按照官方文档执行命令即可
2021-01-11 15:15:35 +00:00
2024-07-23 04:35:24 +00:00
### 2. 运行certd
2024-06-15 16:42:17 +00:00
2024-07-25 15:29:17 +00:00
[docker-compose.yaml 下载](https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml)
当前版本号: ![](https://img.shields.io/npm/v/%40certd%2Fpipeline)
2024-06-15 16:42:17 +00:00
2023-07-04 05:46:57 +00:00
```bash
2024-07-23 04:35:24 +00:00
# 随便创建一个目录
2023-11-07 06:22:17 +00:00
mkdir certd
2024-07-23 04:35:24 +00:00
# 进入目录
2023-07-04 05:46:57 +00:00
cd certd
2024-07-23 04:35:24 +00:00
# 下载docker-compose.yaml文件或者手动下载放到certd目录下
2023-11-07 09:46:18 +00:00
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
2023-07-04 05:46:57 +00:00
# 可以根据需要修改里面的配置
2024-06-15 16:42:17 +00:00
# 1.修改镜像版本号【可选】
# 2.配置数据保存路径【可选】
# 3.修改端口号【可选】
2024-07-23 04:35:24 +00:00
vi docker-compose.yaml # 【可选】
2023-07-04 06:21:14 +00:00
2024-07-23 04:35:24 +00:00
# 启动certd
docker compose up -d
2023-07-04 06:21:14 +00:00
2023-07-04 05:46:57 +00:00
```
2024-07-25 15:29:17 +00:00
> 如果提示 没有compose命令,请安装docker-compose
> https://docs.docker.com/compose/install/linux/
#### 镜像说明:
2024-08-26 03:06:28 +00:00
* 国内镜像地址:
2024-07-25 15:29:17 +00:00
* `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest`
2024-08-26 03:06:28 +00:00
* DockerHub地址
* `https://hub.docker.com/r/greper/certd`
* `docker pull greper/certd:latest`
2024-07-25 15:29:17 +00:00
2024-07-25 15:38:51 +00:00
* 镜像构建通过`Actions`自动执行,过程公开透明,请放心使用
2024-07-25 15:29:17 +00:00
* [点我查看镜像构建日志](https://github.com/certd/certd/actions/workflows/build-image.yml)
![](./doc/images/action-build.jpg)
2024-06-27 08:38:43 +00:00
2024-07-23 04:35:24 +00:00
### 3. 访问
2023-07-04 05:46:57 +00:00
http://your_server_ip:7001
默认账号密码admin/123456
记得修改密码
2023-07-04 05:46:57 +00:00
2024-07-25 15:53:00 +00:00
## 五、 升级
2024-07-25 15:35:34 +00:00
如果使用固定版本号
1. 修改`docker-compose.yaml`中的镜像版本号
2024-08-26 02:19:06 +00:00
2. 运行`docker compose up -d` 即可
2024-03-22 05:14:29 +00:00
2024-07-25 15:35:34 +00:00
如果使用`latest`版本
2024-08-26 02:19:06 +00:00
```shell
#重新拉取镜像
docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
# 重新启动容器
docker compose down
docker compose up -d
```
2024-07-25 15:35:34 +00:00
2024-07-25 15:53:00 +00:00
> 数据默认存在`/data/certd`目录下,不用担心数据丢失
2024-03-22 05:14:29 +00:00
2024-07-25 15:53:00 +00:00
更新日志: [CHANGELOG](./CHANGELOG.md)
## 六、一些说明
2023-07-04 05:06:37 +00:00
* 本项目ssl证书提供商为letencrypt
* 申请过程遵循acme协议
* 需要验证域名所有权一般有两种方式目前本项目仅支持dns-01
* http-01 在网站根目录下放置一份txt文件
2023-07-04 06:38:41 +00:00
* dns-01 需要给域名添加txt解析记录通配符域名只能用这种方式
2023-07-04 05:06:37 +00:00
* 证书续期:
2024-07-08 02:57:42 +00:00
* 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
* 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
2023-07-04 05:06:37 +00:00
* 免费证书过期时间90天以后可能还会缩短所以自动化部署必不可少
2023-07-04 06:38:31 +00:00
* 设置每天自动运行当证书过期前20天会自动重新申请证书并部署
2021-01-11 15:15:35 +00:00
2024-07-25 15:29:17 +00:00
2024-07-25 15:09:13 +00:00
## 七、不同平台的设置说明
2024-06-26 05:48:22 +00:00
* [Cloudflare](./doc/cf/cf.md)
2024-06-27 08:38:43 +00:00
* [腾讯云](./doc/tencent/tencent.md)
* [windows主机](./doc/host/host.md)
2024-08-24 19:27:38 +00:00
* [google证书](./doc/google/google.md)
2024-06-27 08:38:43 +00:00
2024-06-26 05:48:22 +00:00
2024-07-25 15:09:13 +00:00
## 八、问题处理
2024-06-27 08:38:43 +00:00
### 7.1 忘记管理员密码
解决方法如下:
2024-09-07 03:21:10 +00:00
1. 修改docker-compose.yaml文件将环境变量`certd_system_resetAdminPasswd`改为`true`
```yaml
services:
certd:
environment: # 环境变量
2024-09-07 03:21:10 +00:00
- certd_system_resetAdminPasswd=false
```
2. 重启容器
```shell
docker compose up -d
docker logs -f --tail 500 certd
# 观察日志当日志中输出“重置1号管理员用户的密码完成”即可操作下一步
```
2024-09-07 03:21:10 +00:00
3. 修改docker-compose.yaml将`certd_system_resetAdminPasswd`改回`false`
4. 再次重启容器
```shell
docker compose up -d
```
2024-07-23 04:35:24 +00:00
5. 使用`admin/123456`登录系统,请及时修改管理员密码
2024-07-25 15:09:13 +00:00
## 九、联系作者
2023-07-06 07:13:20 +00:00
如有疑问欢迎加入群聊请备注certd
* QQ群141236433
2023-07-04 06:11:43 +00:00
* 微信群:
2023-07-06 07:13:20 +00:00
![](https://ai.handsfree.work/images/exchange_wxqroup.png)
2024-02-27 13:31:18 +00:00
加作者好友
<p align="center">
<img height="230" src="./doc/images/me.png">
</p>
2024-07-25 15:09:13 +00:00
## 十、捐赠
2024-08-14 13:24:12 +00:00
支持开源,为爱发电,我已入驻爱发电
https://afdian.com/a/greper
发电权益:
1. 可加入发电专属群(先加我好友,发送发电截图,我拉你进群)
2. 你的需求优先实现
3. 可以获得作者一对一技术支持
4. 更多权益陆续增加中...
2024-02-27 13:31:18 +00:00
2024-07-25 15:09:13 +00:00
## 十一、贡献代码
2024-03-21 17:04:45 +00:00
2024-08-14 13:24:12 +00:00
1. [贡献插件教程](./plugin.md)
2. 作为贡献者,代表您同意您贡献的代码如下许可:
1. 可以调整开源协议以使其更严格或更宽松。
2. 可以用于商业用途。
2024-03-21 17:04:45 +00:00
2024-08-14 13:24:12 +00:00
## 十二、 开源许可
* 本项目遵循 GNU Affero General Public LicenseAGPL开源协议。
* 允许个人和公司使用、复制、修改和分发本项目,禁止任何形式的商业用途
* 未获得商业授权情况下禁止任何对logo、版权信息及授权许可相关代码的修改。
* 如需商业授权,请联系作者。
2024-03-21 17:04:45 +00:00
2024-08-14 13:24:12 +00:00
## 十三、我的其他项目求Star
2023-07-06 07:13:20 +00:00
* [袖手GPT](https://ai.handsfree.work/) ChatGPT国内可用无需FQ每日免费额度
* [fast-crud](https://gitee.com/fast-crud/fast-crud/) 基于vue3的crud快速开发框架
* [dev-sidecar](https://github.com/docmirror/dev-sidecar/) 直连访问github工具无需FQ解决github无法访问的问题
2024-07-05 02:56:29 +00:00
2024-07-25 15:53:00 +00:00
2024-08-14 13:24:12 +00:00
## 十四、更新日志
2024-07-25 15:53:00 +00:00
更新日志:[CHANGELOG](./CHANGELOG.md)