# 发布第一份配置 你会学到:如何创建第一条网站配置、绑定源站与证书、发布配置版本,并确认 Agent 已经应用。 OpenFlare 的发布链路以完整配置版本为中心。你在管理端修改网站配置后,需要发布并激活新版本,Agent 才会在后续 heartbeat 中拉取并应用。 ## 发布前检查 确认以下条件已经满足: | 项目 | 期望 | | --- | --- | | Server | 可以登录管理端 | | Agent | 至少一个节点在线 | | 源站 | Agent 节点可以访问源站地址 | | 域名 | 域名已经解析到 OpenResty 节点,或准备通过本地 hosts / curl Host 头验证 | | HTTPS | 如需 HTTPS,证书已上传或托管 | ## 创建网站配置 在管理端新增网站配置时至少需要: | 字段 | 说明 | | --- | --- | | 网站名称 | 业务唯一标识;未显式填写时可使用主域名 | | 域名 | 至少一个域名,第一项视为主域名 | | 源站地址 | 合法的 `http://` 或 `https://` 上游地址 | | 启用状态 | 只有启用的网站配置会参与发布渲染 | 示例: | 字段 | 示例 | | --- | --- | | 网站名称 | `app` | | 域名 | `app.example.com` | | 源站地址 | `http://10.0.0.20:8080` | 同一个域名只能属于一个网站配置。同一网站内的流量限制、反向代理和缓存配置按站点共享。 ## 绑定证书 HTTPS 证书按域名绑定。没有绑定证书的域名不会被自动放入 `443 ssl` server 块。 如果一个网站包含多个域名,发布渲染会按证书分组生成 HTTPS 配置,并确保所有域名仍属于同一站点快照。 ## 发布与激活 标准链路: ```text 修改规则 -> 预览 / 查看 diff -> 发布 -> 生成完整配置版本 -> 激活版本 -> Agent 拉取 -> 本地应用 -> 上报结果 ``` 发布时 Server 会读取全部启用的网站配置、OpenResty 主配置模板、性能参数与缓存参数,渲染完整 OpenResty 配置,计算 `checksum`,写入 `config_versions`,再切换激活版本。 ## 验证结果 发布后在管理端确认: | 位置 | 期望结果 | | --- | --- | | 节点列表 | 节点在线 | | 节点详情 | 当前版本与激活版本一致 | | 应用记录 | 最近一次应用成功 | | 版本页面 | 新版本处于激活状态 | 在节点上确认 Agent 日志: ```bash journalctl -u openflare-agent -n 100 --no-pager ``` 用域名访问: ```bash curl -I http://app.example.com ``` 如果域名还没有正式解析,可以临时指定 Host 头访问节点 IP: ```bash curl -I -H 'Host: app.example.com' http://NODE_IP ``` HTTPS 验证: ```bash curl -I https://app.example.com ``` ## 回滚 如果目标版本应用失败并回滚,Agent 会在本地阻断同一 `version + checksum` 的重复应用,直到控制面激活版本或 checksum 发生变化。 回滚到旧版本: 1. 打开配置版本页面。 2. 找到上一个确认可用的历史版本。 3. 重新激活该版本。 4. 查看节点应用记录,确认 Agent 应用成功。