分销商(白标)
**管理员位置:**Customers › Resellers › List (
/resellers)、Domains & SSL (/resellers/domains)、Permissions & wholesale (/resellers/entitlements)、Defaults (/resellers/settings)。分销商配额槽:System › Admin › License & updates (/license)。
功能说明
分销商可以在自己的域名上获得带有其自身品牌的用户面板,拥有自己的客户、余额、价格以及(可选)支付渠道。他们以批发价从您这里采购,并以自己的价格销售。其客户永远不会看到您的品牌,且分销商域名绝无法打开您的管理控制台。分销商在位于 https://partner.<your-domain> 的合作控制台中运营其业务。
前提条件
| 项目 | 要求 |
|---|---|
| 许可证 | 您的许可证中每个自定义分销商域名对应一个分销商域名配额槽。许可证页面会显示 used/max 个配额槽以及购买更多的链接。如果没有空闲配额槽,添加域名将会失败并提示“Out of license reseller domain slots”。 |
| DNS | 每个分销商域名必须指向您的服务器(见下文)。 |
| Web 服务器与 TLS | 主机名必须通过您的反向代理访问 NexCMP 面板,并且必须具备针对该名称的有效证书。 |
| 电子邮件 | 已为邀请邮件和通知邮件配置 SMTP。 |
| 总开关 | Reseller settings › General › rs_enabled 默认处于开启状态。 |
准备基础设施
确定服务器的公开地址:其 IPv4 地址,以及如果您偏好 CNAME,则使用一个指向它的主机名(例如
sites.cloud.example.com)。打开 Customers › Resellers › Defaults (
/resellers/settings),进入 Domains & SSL 组,并设置:Key 说明 rs_server_ipv4分销商的 A 记录必须指向的公开 IPv4 地址。 rs_cname_target分销商的 CNAME 记录必须指向的主机名。 rs_master_hosts属于您自己主站的主机名(不能分配给分销商)。 rs_platform_domain用于平台子域名的可选父域名(例如 partners.cloud.example.com可用于向分销商提供acme.partners.cloud.example.com)。留空则禁用此选项。rs_sites_stale_minutes证书服务被视为陈旧之前的分钟数(默认 15)。 rs_ssl_fail_hours引发错误之前的失败尝试小时数(默认 48)。 发送说明前检查这些值
rs_server_ipv4、rs_cname_target和rs_master_hosts包含示例值。在向分销商提供 DNS 说明之前,请将其替换为您自己的服务器和域名,否则屏幕上显示的说明将指向错误的位置。点击 Save(系统会要求填写原因)。
确保您的反向代理将分销商主机名转发至 NexCMP 面板,并为其中每个主机名提供证书。安装程序仅为主域名(以及可解析的
admin.和partner.名称)配置 nginx 和 Let's Encrypt。如果您使用 Cloudflare,请代理该主机名并使用 Full SSL 模式。
在NexCMP中连接
创建分销商
打开 Customers › Resellers › List 并点击 New reseller。该向导共有 8 个步骤,并在最后完成所有资源的配置;每一步都可以安全地重试。
步骤 填写内容 分销商 法定名称或商业名称、slug(4–31个字符,包含 a–z、0–9 或 -,以字母开头;同时也是发票前缀)、联系人姓名、电子邮件和电话、默认语言、分销商的账单详情(作为余额充值的买家)。控制台账号 用户名、账号邮箱、全名;通过电子邮件发送一次性邀请链接(有效期 72 小时,推荐)或显示一次临时密码。 品牌 品牌名称、简称、标语、主色调、支持邮箱和电话、打印在客户发票上的卖家名称、徽标(浅色和深色背景)、方形图标和网站图标:PNG、JPEG、WEBP 或 ICO 格式,最大 256 KB,不支持 SVG。 Domains 带 also www 的客户域名、哪个是主域名、test domain (sslip.io)、dry-run 选项或平台子域名。向导会显示 DNS OK / DNS not ready 以及需要创建的记录。 Pricing & wallet 批发折扣 (%)、零售底价 (占标价的 %)、默认加价 (%)、信用额度、初始余额、低余额警报、对客户、虚拟机和域名的限制、站点功能 (客户注册、DDoS 保护、支持工单、自定义套餐、调整大小、Auto Scaling)。 Payment channels 谁来收取客户款项 (见下文) 以及可选的自有 PayPal 和自有越南银行转账。 Email 发件人名称和 Reply-To。在为分销商域名设置 DKIM 之前,From 地址保持平台地址。 Review 检查各项内容并点击 Provision everything,或者 Save draft (provision later)。 配置将在后台继续进行 (每 30 秒一次)。打开分销商以查看进度,如果某一步失败,可使用 Continue provisioning 或 Retry。

指向 DNS (由分销商完成)
分销商 (或您) 创建 Domains & SSL 选项卡上显示的记录:
| 记录 | 名称 | 值 |
|---|---|---|
| TXT (所有权,仅限首次) | _site-verify.<domain> | sv=<token> 在屏幕上显示 |
A (根域名,例如 shop.example.net) | 该域名 | 您的 rs_server_ipv4 |
CNAME (子域名,例如 cloud.example.net) | 该域名 | 您的 rs_cname_target (或指向 rs_server_ipv4 的 A 记录) |
| CNAME (可选) | www.<domain> | 您的 rs_cname_target |
另请参见:
- 删除任何 AAAA (IPv6) 记录,除非您的服务器响应该 IPv6 地址。
- 在验证域名期间,将 CDN 代理关闭 (灰色云朵)。
- 如果域名具有 CAA 记录,请允许
letsencrypt.org。
每个域名的 TXT 记录中的令牌各不相同;请从屏幕复制。系统在前 48 小时内每 5 分钟重新检查一次 DNS,此后每小时检查一次,如果在 72 小时后仍缺少 TXT 记录,则释放该名称。
域名状态
在 Customers › Resellers › Domains & SSL (所有分销商) 以及分销商的 Domains & SSL 选项卡中:
| 状态 | 说明 |
|---|---|
pending_verify | 等待 TXT 记录。 |
pending_dns / verifying | 等待 A 或 CNAME 记录指向您。 |
issuing | 正在签发证书。 |
active | 正在提供分销商站点服务。 |
cert_expiring | 证书即将过期;预计会进行续期。 |
dns_lost | DNS 停止指向您;30 天后该域名将被删除。 |
error | 查看错误代码;修复后 Retry。 |
removing / removed | 正在被收回;许可槽位已退回。 |
行操作:Check now、Retry、Make primary、Test mode (用于测试域名)、Remove。
权限与批发
Customers › Resellers › Permissions & wholesale (/resellers/entitlements) 是一个矩阵:每行代表一个分销商,包含批发折扣(discount)和加价(markup),每项服务(例如 DDoS Shield 和 VPN)对应一个开关。当平台级功能开启时开关可编辑;否则单元格为只读并链接至设置。Top-up codes 子标签页用于设置每个分销商每月可签发的代码数量(参见 Promotions)。
定价规则:
- 批发价 = 目录价 x (1 - 折扣),且可在分销商的 Wholesale pricing 标签页中按套餐和按计费周期进行覆盖。
- 分销商设置零售价,且不得低于底价(目录价的百分比)。
- 分销商的钱包在其客户购买时支付批发价。钱包具有信用额度、宽限期和透支上限(参见 Defaults)。
Defaults
Customers › Resellers › Defaults (/resellers/settings) 是适用于所有分销商的 rs_* 键。每次更改都需要提供原因并进行审计。
| 组 | Key | 默认值 | 说明 |
|---|---|---|---|
| 常规 | rs_enabled | 1 | 启用分销商计划。 |
rs_platform_collect_enabled | 0 | 允许平台代分销商收取客户付款。请在通过法律审查后方可启用。 | |
rs_totp_required | 1 | 分销商控制台账户必须强制使用双因素认证。 | |
rs_agreement_version | 1 | 他们必须接受的分销协议版本。 | |
| 默认定价 | rs_default_discount_bp | 2000 (20 %) | 新分销商的批发折扣(基点,0至9000)。 |
rs_default_markup_bp | 2500 (25 %) | 默认加价幅度(0至50000)。 | |
rs_default_floor_bp | 9000 (90 %) | 零售底价(0至20000)。 | |
rs_default_max_domains | 3 | 每个分销商允许拥有的域名数量。 | |
| 钱包与提现 | rs_grace_hours | 72 | 分销商钱包余额清零后,其客户服务受影响前的宽限期。 |
rs_overdraft_cap_cents | 5000 | 钱包允许透支。 | |
rs_retention_days | 14 | 已关闭的分销商的虚拟机被销毁前的天数。 | |
rs_payout_hold_days | 30 | 佣金在可提现前被冻结的天数。 | |
rs_payout_min_cents | 5000 | 最小提现金额。 | |
rs_topup_min_cents | 2000 | 分销商单次最小钱包充值额。 | |
| 支付与邮件 | rs_webhook_base | 空 | 分销商网关Webhook的公共基础URL(留空则使用站点URL)。 |
rs_mail_from | 空 | 分销商邮件的发件人地址。 | |
rs_invoice_show_processor | 1 | 在发票上显示支付处理商。 | |
rs_gw_stripe_enabled, rs_gw_usdt_enabled | 1 | 分销商是否可配置其自己的Stripe或USDT。 |
谁来收取客户付款
| 模式 | 说明 |
|---|---|
| 分销商收取(自有渠道) — 默认 | 分销商连接其自己的Stripe、PayPal、USDT或银行账户。其Webhook为https://<reseller-domain>/v1/billing/<gateway>/webhook/r/<id>。保存的银行卡和auto top-up不适用于这些站点。 |
| 平台收取 | 你的渠道将显示在分销商站点上。在rs_platform_collect_enabled = 1之前处于锁定状态。 |
| 混合 | 按每个渠道单独选择的组合。 |
分销商可见内容
位于https://partner.<your-domain>的合作伙伴控制台包含“概览”、“报告”、“客户”、“虚拟机”、“工单”、“订单”、“支付”、“价格”、“品牌”、“落地页与法律”、“域名与SSL”、“邮件”、“钱包”和“支付渠道”。控制台账户的角色分为分销商(完全权限)或staff(只读)。若要亲自查看,请打开该分销商并点击Sign in to partner console:你将进入60分钟的会话,所有写入操作都会在管理员日志和分销商日志中记录你的名字,且资金操作需要进行二次确认。
验证
- Provisioning 完成后,分销商的列表行将显示 active 以及绿色的 Provisioning 列。
- 在浏览器中打开分销商的域名:将显示带有其品牌的专属登录页面。
https://<reseller-domain>/admin返回 404。 - 在该域名上注册一个测试客户:该客户将显示在 Customers › List 中,且 Site 列中显示该分销商。
- 许可证页面显示已使用的槽位数量增加一个。
限制与注意事项
- 每个自定义或测试域名占用一个许可证槽位;平台子域名不占用槽位。
- 暂停分销商会保留数据;Close reseller 会回收所有域名槽位,且仅在保留期结束后才允许销毁虚拟机。
- 分销商客户会显示在您的客户列表中,并且可以像其他客户一样被代登录(链接将在分销商的域名上打开)。
- 分销商无法查看或更改您的支付渠道、默认配额或其他分销商。
故障排查
| 症状 | 原因 | 解决办法 |
|---|---|---|
| “代理商域名授权配额用尽” | 所有槽位均已用完 | 释放槽位(删除域名)或在许可证页面购买更多槽位。 |
Domain stuck in pending_verify | TXT 记录缺失 | 准确按照所示创建 TXT 记录;使用 Check now。 |
Domain stuck in pending_dns | A/CNAME 未指向您、存在 AAAA 记录或启用了 CDN 代理 | 修复 DNS 并关闭代理,然后点击 Check now。 |
error state | 查看行上的代码(例如阻止 Let's Encrypt 的 CAA、速率限制) | 修复后点击 Retry。 |
| 浏览器提示主机未知或返回 "421" | 主机名未添加到许可证中,或者未路由到面板 | 通过分销商添加域名(会消耗一个槽位)并修复反向代理。 |
| 说明中显示的 IP 或主机不正确 | rs_server_ipv4 / rs_cname_target 仍在使用示例值 | 在 Defaults 中进行设置。 |
| 分销商无法启用平台收集 | 已锁定 | 在法律审核后设置 rs_platform_collect_enabled。 |