# 新建反代配置 你会学到:如何一步一步在 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 节点将在秒级自动重载回历史配置,实现秒级避险。