快速回答
多租户 SaaS 早期可以先用 slug,但要尽早把租户解析集中到一个位置。slug、租户子域名和自定义域名不只是 URL 写法,它们会变成 onboarding、路由、客服和生命周期管理问题。好的设计应该允许产品未来从多种入口模式解析同一个租户。
SaaS onboarding 里有很多重复小步骤。
其中一个是:给新客户一个稳定访问入口。
如果产品能自动创建 workspace,但客户访问入口还要人工配置,那 onboarding 就还没有真正自动化。
决策对比表
| 选择 | 适合场景 | 注意点 |
|---|---|---|
| 路径 slug | 早期产品、二维码流程、简单部署 | 不要把 slug 解析散落在各处。 |
| 租户子域名 | 租户品牌感更强、路由更清晰 | 要考虑 wildcard DNS、证书和客服流程。 |
| 客户自定义域名 | 客户需要自己的品牌 hostname | 需要验证、状态追踪和生命周期管理。 |
一句话说明白
租户子域名 onboarding 流程应该在客户 workspace 就绪时创建托管入口,设置 owner、状态和目标地址,并在租户生命周期变化时暂停、替换或下线入口。
PushUlink 可以帮助团队通过 Console 和 OpenAPI 创建、统计、替换和下线托管子域名转发入口。
基础流程
一个简单流程可以是:
- 客户注册或由销售创建。
- 系统创建 workspace。
- 创建租户入口。
- 入口指向正确 workspace。
- 状态变为 Active。
- 客户收到访问入口。
- 后续监控访问统计和变更。
入口应该是 onboarding 的一部分,而不是最后补上的人工步骤。
每个租户入口应该记录什么?
建议记录:
- 租户名称。
- Workspace ID。
- Hostname。
- 目标地址。
- 所属团队。
- 客户成功负责人。
- 状态。
- 创建时间。
- 最近修改时间。
- 最近访问时间。
这些信息能帮助销售、客服、客户成功和工程快速理解客户入口。
状态很重要
租户入口不应该只有启用和删除。
可以使用:
- Draft:草稿。
- Active:启用。
- Suspended:暂停。
- Review:待复查。
- Retired:已下线。
这些状态比原始 DNS 记录更贴近客户生命周期。
OpenAPI 什么时候有用?
当租户创建是高频重复动作时,OpenAPI 很有用。
产品可以调用 API 创建入口、更新目标,或在客户状态变化时暂停 route。
这样能减少人工配置,让入口生命周期跟随客户生命周期。
避免这些问题
- 创建租户入口但没有 owner。
- 命名太模糊。
- trial 租户入口长期保留。
- 客户取消后忘记暂停。
- 访问历史散在别的系统里。
客户数量增长后,这些小问题会变贵。
结论
租户子域名自动化不只是创建一个 hostname。
它是把客户访问点纳入产品生命周期:创建、可见、更新、统计、排查和下线。
PushUlink 可以帮助团队通过 Console 和 OpenAPI 创建、统计、替换和下线托管子域名转发入口。
常见问题
早期 SaaS 应该从 slug 还是 subdomain 开始?
多数早期 SaaS 可以先从 slug 开始,只要租户解析是集中的,后续就不会堵死 subdomain 和 custom domain。
租户子域名什么时候有价值?
当租户品牌、公开分享、cookie 边界或自定义域名准备变重要时,租户子域名就更有价值。
PushUlink 在租户入口里能做什么?
PushUlink 可以帮助团队通过 Console 和 OpenAPI 创建、更新、统计和下线租户子域名转发入口。