Edgeweir
使用指南

快速上手

从初始化控制台到首个网站经边缘节点提供 HTTP 与 HTTPS 服务。

流程

  1. 完成初始化向导:创建唯一的账户与默认集群。
  2. 接入节点:在控制台生成安装命令,在节点主机上执行;节点注册后经 mTLS 连接节点通道。
  3. 新建网站:填写域名、源站与缓存设置,集群发布新的配置版本。
  4. 配置 DNS:在权威 DNS 中把网站域名指向网站 域名 页签列出的边缘地址或 CNAME 目标,等待记录生效。
  5. 启用 HTTPS:在网站的 HTTPS 页签点击「启用 HTTPS」,证书签发后自动启用,见 HTTPS 与证书。
  6. 验证:网站 概览 页签的 上线检查 全部通过,用 curl 检查回源与缓存。

节点安装、DNS 生效与证书签发各需等待,耗时取决于网络与服务商。

前提

项目要求
控制台已部署,浏览器可访问 EDGEWEIR_PUBLIC_URL,见 部署概览
节点主机Linux(systemd),amd64 / arm64;可访问 EDGEWEIR_PUBLIC_URL 与节点通道(默认 TCP 8443);有 sudo 权限的账户
节点入站端口TCP 80;启用 HTTPS 后另需 TCP 443
域名可修改其权威 DNS 记录
源站节点可访问;地址不在特殊用途地址段(内网、回环等),或已加入 源站地址允许清单

1. 完成初始化向导

  1. 从控制台日志读取 setup token。Docker Compose 部署:

    控制台主机
    docker compose logs console | grep setupToken

    日志行为 JSON,setupToken 字段为 token(ews_ 开头),url 字段为初始化页地址。未初始化的控制台每次启动打印同一个 token。其他部署方式的日志位置见 Docker Compose 与 宝塔面板 / aaPanel。

  2. 浏览器打开 EDGEWEIR_PUBLIC_URL。未初始化的控制台跳转到 /setup(创建账户)。

  3. 填写表单,点击 完成。

    字段说明
    初始化令牌第 1 步读取的 setup token
    姓名1–100 字符
    邮箱登录邮箱
    密码12–128 字符
  4. 验证:控制台自动登录,打开 集群与节点 与集群 default 的 添加节点 对话框(下一步);系统设置 → 系统信息 的 初始化令牌 显示 已于 {时间} 使用。

初始化创建的对象:

对象值
账户表单中的账户,也是控制台唯一的账户;登录方式见 账户与登录
集群default,含默认节点组 default,发布配置版本 #1
setup token作废;此后 /setup 跳转到登录页

2. 接入节点

  1. 打开 集群与节点,选择集群 default,点击 添加节点(初始化后已打开;没有节点时侧边栏顶部的按钮也是 添加节点)。对话框立即显示 安装命令:默认节点组 default,有效期 1 小时。

  2. 可选:打开 选项 修改下列字段,点击 重新生成。

    字段说明
    节点名称可选,最多 64 字符
    节点组默认为集群的默认节点组;集群有多个节点组时显示
    有效期15 分钟、1 小时(默认)或 24 小时
  3. 复制 安装命令(仅显示一次),在节点主机上执行。命令下方的提醒与节点通道连接检查指出节点可能连不上的地址,见 接入节点。命令格式:

    节点主机
    export EDGEWEIR_TOKEN='ewt_…'
    curl -fsSL https://console.example.com/install.sh | sudo --preserve-env=EDGEWEIR_TOKEN bash -s -- --server https://console.example.com:8443 --ca-sha256 <CA 指纹>
  4. 验证:对话框的 注册进度 依次完成;集群与节点 的节点表出现该节点,状态 为 在线,已应用版本 旁显示 已同步。

token 单次有效。安装脚本的校验步骤、下载镜像与失败处理见 接入节点。

3. 新建网站

  1. 打开 网站,点击 新建网站。

  2. 填写表单。

    字段默认值说明
    名称第一个域名最多 100 字符
    域名无每行一个或以逗号分隔;泛域名写作 *.example.com;1–50 个
    源站地址无IP 或主机名。粘贴 URL(https://origin.example.com:8443/app)或 主机:端口 时,端口与回源协议填入各自的字段
    端口80(HTTP)/ 443(HTTPS)源站端口
    回源协议HTTPHTTP 或 HTTPS
    回源 Host跟随请求发往源站的 Host
    缓存开启开启时生成一条缓存规则:路径前缀 /,缓存时间(秒) 3600,遵循源站 Cache-Control 开启(源站没有 Cache-Control、Expires 时缓存 3600 秒)
  3. 点击 创建。网站所在集群发布新的配置版本,页面进入网站详情。提示 网站已创建 随节点更新:生效中 N/M → 已生效(配置金丝雀期间为 金丝雀 N/M,HH:MM 全部生效)。

规则说明
所在集群有多个集群时在表单的「集群」中选择(默认最早创建的集群);经 API 创建时用 clusterId 指定。网站创建后不能更换集群
域名网站保存后域名即发布到节点。一个域名(名称及是否泛域名)只能属于一个网站
源站地址特殊用途地址段内的源站被拒绝,源站地址允许清单中的地址段除外
停用网站 概览 页签的 停用:网站不再下发到节点,节点对其域名的 HTTP 请求返回 503 停用页面(X-Edgeweir-Error: site-disabled),HTTPS 请求在 TLS 握手时失败;DNS 记录保留。启用 后恢复,见网站启停

源站池、缓存规则与缓存键见 源站与缓存。

4. 配置 DNS

在域名的权威 DNS 中为每个网站域名添加记录。

DNS 调度记录
未配置(集群的 DNS 为 不管理)A / AAAA 记录指向网站 域名 页签 边缘地址 卡片列出的地址(集群在线节点的调度地址,可复制),每个地址一条
已配置(集群与节点 的 DNS 页签)CNAME 记录指向网站 域名 页签 CNAME 目标 卡片中的地址(<网站 ID>.<集群域名>)。自动模式下卡片状态为 已发布 时记录已写入服务商;手动模式下先按该页签列出的记录创建集群记录

卡片列出每个域名当前的解析:指向正确(解析到的地址都属于集群节点)、指向其他地址、未解析、未能检查(解析失败,或节点没有已知地址)。泛域名解析其下的 edgeweir-check.<域名>。卡片与 上线检查 每 30 秒重新解析,点击卡片标题旁的 重新检查 立即解析;递归解析器缓存的结果(包括「域名不存在」)在其 TTL 内不变。

DNS 调度的线路、健康摘除与 TTL 见 配置 DNS 调度。

5. 启用 HTTPS

  1. 打开网站的 HTTPS 页签。页签列出的问题(如第 4 步的记录尚未生效)修正后点击 重新检查。
  2. 点击 启用 HTTPS。控制台为网站的全部域名申请证书(有泛域名时需要先添加 DNS 凭据),签发后自动选用;需要把 HTTP 跳转到 HTTPS 时,再在 HTTPS 设置中打开 强制 HTTPS。
  3. 集群发布新版本。集群内有已启用的网站使用证书时,节点监听 TCP 443。

上传的证书在 证书 页上传后,在网站的 HTTPS 页签的 已有证书 中选用。

签发方式、续期、TLS 与 HTTP/3 见 HTTPS 与证书。

6. 验证

  1. 查看网站 概览 页签的 上线检查,每一项可点击进入对应的设置:

    项目通过未通过时
    DNS 已指向 N/M全部域名 指向正确列出未指向的域名;进入 域名 页签
    证书证书已覆盖全部域名,或 未配置证书(只提供 HTTP)证书未覆盖全部域名(列出域名)、证书签发中、证书签发失败(显示原因)、证书已过期;进入 HTTPS 页签
    已在 N/M 个节点生效N 等于 M金丝雀期间显示窗口结束时间;没有在线节点 时先接入节点;进入集群
  2. 绕过 DNS,直接向节点发送 HTTP 请求。未配置 DNS 调度时,边缘地址 卡片为每个域名给出可复制的命令(网站证书覆盖该域名时为 HTTPS);也可以手动替换下例中的 203.0.113.10:

    curl -sI --resolve www.example.com:80:203.0.113.10 http://www.example.com/

    预期:状态码与源站一致;响应带 X-Cache 头,缓存规则覆盖的路径首次为 MISS。

  3. 重复第 2 步。源站响应可缓存时返回 X-Cache: HIT。

  4. 启用 HTTPS 后:

    curl -sI --resolve www.example.com:443:203.0.113.10 https://www.example.com/

    HTTPS 请求用 --resolve,不用 -H 'Host: …':节点要求 SNI 与 Host 一致。

  5. DNS 生效后:

    dig +short www.example.com
    curl -sI http://www.example.com/

    预期:dig 返回节点地址(配置了 DNS 调度时先返回 CNAME 目标);curl 结果与第 2 步相同。

故障排查

现象原因处理
初始化提示 初始化令牌无效token 错误或已使用从日志重新读取;初始化完成后使用登录页
初始化提示 初始化正在进行,请稍后重试另一个初始化请求正在执行稍后重试
节点未出现或 离线注册失败,或节点无法访问节点通道见 接入节点 与 端口、反向代理与可信代理
节点一直是 等待心跳已注册,但节点的 agent 还没有连上节点通道见 接入节点
已应用版本 显示 应用失败节点校验或应用配置失败鼠标悬停该标记查看原因
已应用版本 显示 需要升级节点缺少配置所需能力升级节点,见 节点升级
404,X-Edgeweir-Error: unknown-host节点配置中没有该域名:版本未应用,或域名不属于任何网站检查 已应用版本,以及网站 概览 页签的 状态
503,X-Edgeweir-Error: site-disabled网站已停用在网站 概览 页签 启用
HTTPS 请求在 TLS 握手时失败SNI 不属于节点正在服务的网站(未知域名、已停用的网站),或网站没有证书、证书尚未覆盖该域名用 HTTP 请求查看节点的应答;检查 上线检查 的证书项
上线检查 的域名为 指向其他地址记录指向旧服务器、其他 CDN,或同时含其他地址只保留指向边缘地址(或 CNAME 目标)的记录,等待旧记录的 TTL 过期
上线检查 的域名为 未解析域名还没有记录,或 CNAME 目标没有地址(CNAME 目标 卡片为 无健康节点);记录生效前查询过的递归解析器在区域的负缓存时间内仍返回「域名不存在」添加记录;无健康节点 时确认节点在线且数据面健康;之后点击 重新检查
上线检查 的域名为 未能检查解析超时,或集群节点还没有已知地址确认节点在线并上报了公网地址,或在节点详情中配置调度地址
421,X-Edgeweir-Error: sni-host-mismatchHTTPS 请求的 SNI 与 Host 不一致使用 --resolve
502,X-Edgeweir-Error: no-origin没有可用源站检查源站地址、端口、协议与健康状态,见 源站与缓存
508,X-Edgeweir-Error: loop-detected源站指回节点源站地址改为真实源站
新建网站提示 源站地址 … 属于特殊用途地址段 …,不在源站地址允许清单中源站为内网、回环等地址改用公网地址,或将地址段加入 源站地址允许清单
新建网站提示 域名已被使用:…域名已属于另一个网站更换域名,或先从原网站移除
在 GitHub 上编辑

本页目录