mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
600a7acdfb
- 删除未经验证的环境要求(Docker 版本号、浏览器条目)与括号废话 - 故障排查改为真实处理路径(升级→重新发布→强制同步→重建 Agent→提交 issue),删除仅开发时用的排障章节 - 删除设计文档中的测试与验收、实现检查清单、贡献者阅读建议等开发内容 - 修正与代码不符的事实:reset-passwd 命令名、证书续签窗口 7 天、Pages 检查间隔 1440 分钟、Relay vhost 端口 8080、SSO 仅支持 OIDC 等 - 去除口语化表述与无意义括号,改写「不是…而是…」句式 - 同步修正文档站链接锚点,构建验证通过
69 lines
4.6 KiB
Markdown
69 lines
4.6 KiB
Markdown
# TLS 证书与自动续期
|
||
|
||
本指南介绍如何在 OpenFlare 中管理 TLS 证书。为了使用 HTTPS 安全加密流量,你需要配置对应的证书。OpenFlare 支持**手动导入已有证书**以及**通过 ACME 自动申请与托管续期**。
|
||
|
||
---
|
||
|
||
## 方式一:手动导入已有证书
|
||
|
||
如果你已经从第三方服务商(如腾讯云、阿里云等)申请了免费或收费的证书,或者在本地生成了自签名证书:
|
||
|
||
1. 登录管理端控制面板,进入左侧导航 **「网站管理」->「TLS证书」** 页面。
|
||
2. 点击右上角的 **「导入证书」**。
|
||
3. 填写配置信息:
|
||
* **证书名称**:输入一个易于识别的别名(如 `my-domain-cert`)。
|
||
* **证书内容(PEM)**:复制并粘贴 PEM 格式的证书公钥内容(通常以 `-----BEGIN CERTIFICATE-----` 开头)。
|
||
* **证书私钥(KEY)**:复制并粘贴证书的私钥内容(通常以 `-----BEGIN PRIVATE KEY-----` 或 `-----BEGIN RSA PRIVATE KEY-----` 开头)。
|
||
4. 点击 **「保存」**。导入成功后,该证书即可在配置域名时直接绑定使用。
|
||
|
||
---
|
||
|
||
## 方式二:自动申请与到期自动续签(ACME)
|
||
|
||
OpenFlare 内置了 ACME 客户端并对接了 **Asynq 异步任务队列**。通过配合云解析服务商的 DNS API,系统能自动完成 DNS-01 挑战(Challenge)校验,并向 CA(默认 Let's Encrypt)申请通配符/单域名证书,并在**到期前 7 天自动触发续签**。
|
||
|
||
### 第一步:在 Cloudflare 申请 DNS API Token
|
||
|
||
为了使 OpenFlare 能够自动在你的域名下添加 TXT 记录以完成 DNS 校验,你需要准备一个具有特定权限的 Cloudflare API Token。
|
||
|
||
> [!IMPORTANT]
|
||
> 安全起见,**强烈建议使用限定权限的 API Token**,而非全局 API Key(Global API Key)。
|
||
|
||
1. 登录 [Cloudflare 控制台](https://dash.cloudflare.com/)。
|
||
2. 点击右上角的用户头像,选择 **「我的个人资料(My Profile)」**。
|
||
3. 在左侧菜单中选择 **「API 令牌(API Tokens)」**,然后点击 **「创建令牌(Create Token)」**。
|
||
4. 找到 **「编辑区域 DNS(Edit Zone DNS)」** 模板,点击 **「使用模板(Use template)」**。
|
||
5. 配置令牌权限与范围(保持默认或根据实际情况限定):
|
||
* **权限(Permissions)**:
|
||
* `区域(Zone)` - `DNS` - `编辑(Edit)`(必须,ACME 写入 TXT 记录用)
|
||
* `区域(Zone)` - `区域(Zone)` - `读取(Read)`(必须,用于列出和检索区域 ID)
|
||
* **区域资源(Zone Resources)**:
|
||
* 选择 **「包括(Include)」** -> **「所有区域(All zones)」**,或者选择 **「特定区域(Specific zone)」** 并指向你托管的特定域名。
|
||
6. 点击 **「继续以转到摘要(Continue to summary)」**,确认无误后点击 **「创建令牌(Create Token)」**。
|
||
7. 复制生成的 **API 令牌(Token)** 字符串。该令牌仅展示一次,请妥善保存。
|
||
|
||
### 第二步:在控制端添加 DNS 账号
|
||
|
||
1. 登录 OpenFlare 管理端,进入左侧导航 **「网站管理」->「DNS账号」**。
|
||
2. 点击 **「添加账号」**。
|
||
3. 填写配置信息:
|
||
* **账号名称**:如 `cloudflare-main`。
|
||
* **DNS 服务商**:选择 `Cloudflare`。
|
||
* **API Token**:填入刚刚在 Cloudflare 复制的 API 令牌(该值在入库时会自动加密存储)。
|
||
4. 点击 **「保存」**。
|
||
|
||
### 第三步:提交证书申请任务
|
||
|
||
1. 进入左侧导航 **「网站管理」->「TLS证书」**,点击右上角 **「申请证书」**。
|
||
2. 在申请表单中填写:
|
||
* **证书名称**:自定义名称(如 `wildcard-example-cert`)。
|
||
* **主域名**:你申请的主域名(支持通配符,如 `example.com` 或 `*.example.com`)。
|
||
* **关联域名**:如有多个,在此处追加(支持通配符,多个域名间用英文逗号分隔)。
|
||
* **DNS 账号**:在下拉列表中选择刚才添加的 DNS 账号(如 `cloudflare-main`)。
|
||
3. 点击 **「保存并申请」**。
|
||
|
||
### 第四步:查看申请进度与续期状态
|
||
|
||
- **查看实时进度**:保存后,系统会向 Asynq 队列投递单证书续期/申请任务(`of_ssl_single_renew`)。你可以进入管理后台的任务或节点日志页面,实时查看每一步(添加 TXT 记录、DNS 记录全球生效探测、ACME 验证、证书颁发落地等)的详细日志。
|
||
- **自动续期**:所有通过 ACME 申请的证书都会被系统自动托管。后台的 Scheduler 每日会自动扫描证书有效期,在到期前 7 天自动通过异步任务触发续签,无需任何手动维护。
|