mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 05:56:38 +08:00
103 lines
5.1 KiB
Markdown
103 lines
5.1 KiB
Markdown
# 新建反代配置
|
||
|
||
你会学到:如何一步一步在 OpenFlare 中从零新建并发布一个反向代理网站配置。本指南将指导你如何完成证书导入与申请、源站定义、路由规则配置、版本发布以及连通性验证。
|
||
|
||
---
|
||
|
||
## 推荐操作流程
|
||
|
||
在网关控制面中,建议遵循以下步骤新增反代规则:
|
||
|
||
```text
|
||
[ 步骤 1. 证书管理 ] ──► [ 步骤 2. 源站定义 (可选) ] ──► [ 步骤 3. 新增网站配置 ]
|
||
│
|
||
[ 步骤 5. 验证访问 ] ◄── [ 步骤 4. 发布与激活版本 ] ◄───────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 第一步:证书准备(导入与申请)
|
||
|
||
在使用 HTTPS 安全加密流量前,你需要先配置对应的 TLS 证书。OpenFlare 支持以下两种证书获取方式:
|
||
|
||
### 1. 手动导入已有证书
|
||
如果你已经有第三方的证书(如腾讯云、阿里云申请的免费/收费证书,或者自签证书):
|
||
1. 导航至左侧菜单 **「证书管理」**,点击 **「导入证书」**。
|
||
2. 填入证书名称(如 `my-domain-cert`)。
|
||
3. 复制并粘贴你的 **证书内容 (PEM 格式公钥)** 以及 **证书私钥 (KEY 格式)**,点击保存。
|
||
|
||
### 2. 通过 ACME 协议自动申请
|
||
OpenFlare 集成了 ACME 客户端,支持自动向 Let's Encrypt 申请并到期续签证书:
|
||
1. **添加 ACME 账户**:进入「证书管理」->「ACME 账户」->「创建账户」,填入你的联系邮箱。
|
||
2. **添加 DNS 账户 (用于 DNS-01 验证)**:进入「证书管理」->「DNS 账户」->「创建账户」,选择你的 DNS 托管商(当前仅 Cloudflare)并填入 API Token 凭证。
|
||
3. **申请证书**:在「证书管理」中点击「申请证书」:
|
||
* 选择配置好的 ACME 账户和 DNS 账户。
|
||
* 输入需要托管证书的域名(支持通配符,如 `*.example.com`)。
|
||
* 点击申请,系统将自动配置 DNS 挑战码并向 CA 申请证书,且会在到期前 30 天自动触发续期。
|
||
|
||
---
|
||
|
||
## 第二步:准备上游源站(可选)
|
||
|
||
源站(Origin)代表被代理的后端真实服务地址。虽然在新建网站时可以直接填写 IP,但推荐先在源站库中进行注册,以便后续复用与维护:
|
||
|
||
1. 进入左侧导航 **「源站管理」**,点击 **「创建源站」**。
|
||
2. 填写源站名称(如 `production-api`)。
|
||
3. 填入合法的上游地址(如 `http://10.0.0.10:8080`),点击保存。
|
||
|
||
---
|
||
|
||
## 第三步:新建网站配置
|
||
|
||
证书和源站就绪后,即可创建核心网站代理路由:
|
||
|
||
1. 进入左侧导航 **「网站配置」**,点击 **「创建网站」**。
|
||
2. 填写网站基本配置:
|
||
* **网站名称**:业务唯一标识(如 `app-portal`)。
|
||
* **域名 (Domains)**:输入该站点绑定的域名列表。**第一项将自动视为主域名**。
|
||
3. 配置上游源站(Upstream):
|
||
* **源站类型**:选择「标准反代」。
|
||
* **源站地址**:从下拉框中选择第二步创建的源站;或者勾选手动输入并填入 `http://10.0.0.20:9000`。
|
||
4. **绑定证书启用 HTTPS**:
|
||
* 在域名列表中,点击域名旁边的配置按钮或 HTTPS 切换开关。
|
||
* 勾选「启用 HTTPS」,并从证书下拉列表中选择第一步准备好的证书。
|
||
* *注意:未绑定证书的域名只会保留 80 端口 HTTP 服务,不会被写入 443 端口代理中。*
|
||
5. 点击保存创建配置。
|
||
|
||
---
|
||
|
||
## 第四步:发布并生效配置
|
||
|
||
你在管理端新增的网站配置仅保存在 Server 数据库中,**不会立即生效**。必须生成配置版本快照并分发到 Agent 边缘节点:
|
||
|
||
1. 点击控制面板右上角的 **「配置预览」** 按钮。
|
||
2. 检查配置文件的 Diff 差异,确认你刚刚新增的 `server` 块以及证书绑定规则无误。
|
||
3. 点击 **「发布并激活」** 按钮。
|
||
4. **Agent 落地机制**:
|
||
* 数据面的 Agent 节点在心跳中发现激活的版本 Checksum 变更,会自动拉取完整的 OpenResty 配置文件和证书包到本地。
|
||
* 自动在本地执行配置校验(类似于 `openresty -t`),确认无语法错误后,执行平滑重载(`reload`)。
|
||
* *如果重载或校验失败,Agent 会安全阻断并回滚至上一稳定版本,保证节点高可用。*
|
||
|
||
---
|
||
|
||
## 第五步:连通性与回滚验证
|
||
|
||
### 1. 验证访问
|
||
你可以通过以下方式验证新配置是否生效:
|
||
* **浏览器访问**:直接在浏览器输入 `https://your-domain.com` 查看是否成功代理后端。
|
||
* **命令行验证**(推荐):使用 `curl` 探测:
|
||
```bash
|
||
curl -I https://your-domain.com
|
||
```
|
||
* **绕过 DNS 校验**:若你的域名尚未正式解析,可以临时指定 `Host` 请求头请求 Agent 节点物理 IP:
|
||
```bash
|
||
curl -I -H "Host: your-domain.com" https://AGENT_NODE_IP --insecure
|
||
```
|
||
|
||
### 2. 一键秒级回滚
|
||
如果发布的新配置导致了线上业务异常:
|
||
1. 导航至左侧 **「配置版本」** 菜单。
|
||
2. 在历史列表中找到发布前的上一个稳定版本。
|
||
3. 点击 **「激活此版本」**。
|
||
4. 所有在线 Agent 节点将在秒级自动重载回历史配置,实现秒级避险。
|