# 下游推送域名修复插件 用于你站点名下代理用户的地址变更后,可通过本插件直接批量更换推送代理新地址。 ## 功能说明 本插件用于批量修改指定客户名下服务器的下游推送地址。 当代理用户更换域名后,系统数据库中已保存的推送地址仍然可能是旧域名,导致上游向下游推送时请求失败,例如出现 `HTTP 404`。通过本插件可以按客户 ID 批量修复这些服务器的推送域名。 插件会更新数据库中: ```text shd_host.stream_info ``` 字段内 JSON 的: ```text downstream_url ``` ## 适用场景 - 代理站更换域名 - 上游推送下游失败 - 数据库中保存的下游推送地址仍是旧地址 - 需要按客户 ID 批量修复该客户名下所有服务器的推送地址 ## 安装方式 将插件目录上传到系统插件目录: ```text public/plugins/addons/downstream_domain_fix ``` 然后进入后台插件管理页面,找到并安装: ```text 下游推送域名修复 ``` ## 使用方法 进入插件后台菜单: ```text 修复推送域名 ``` 填写以下信息: | 字段 | 说明 | 示例 | | --- | --- | --- | | 客户ID | 需要批量修复的客户 ID,对应 `shd_host.uid` | `8888` | | 指定推送域名 | 新的代理站地址 | `https://www.baidu.com` | 点击: ```text 开始修复 ``` 插件会自动处理该客户名下符合条件的服务器。 ## 处理规则 插件只会处理满足以下条件的服务器: 1. `shd_host.uid` 等于输入的客户 ID 2. `stream_info` 不为空 3. `stream_info` 中存在完整的下游推送信息: - `downstream_url` - `downstream_token` - `downstream_id` 插件会跳过以下服务器: - 没有下游推送信息的服务器 - 下游推送信息不完整的服务器 - 当前推送域名已经等于目标域名的服务器 ## 修改内容 插件实际修改的是: ```text shd_host.stream_info.downstream_url ``` 不会修改: - 产品信息 - 客户信息 - 订单信息 - 服务器状态 - `downstream_token` - `downstream_id` ## 域名填写说明 填写站点根地址即可,例如: ```text https://www.baidu.com ``` 如果系统安装在子目录,则填写到系统根目录,例如: ```text https://www.baidu.com/finance ``` ## 处理结果 执行后页面会显示: - 匹配服务器数量 - 成功更新数量 - 跳过数量 - 每台服务器的处理结果 结果表格包含: - Host ID - 主机名 - 主 IP - 状态 - 原推送域名 - 新推送域名 - 处理结果 ## 注意事项 - 执行前建议先备份数据库。 - 请确认客户 ID 正确,避免修改错误客户名下的服务器。 - 本插件只修改本地数据库中的推送域名,不主动调用上游接口。 - 修改完成后,上游后续推送会读取新的 `downstream_url`。 ## 插件信息 | 项目 | 内容 | | --- | --- | | 插件名称 | 下游推送域名修复 | | 插件标识 | `DownstreamDomainFix` | | 插件目录 | `downstream_domain_fix` | | 作者 | 沐念云 | | 版本 | `1.0` |