自定义应用程序域
可用性
自定义域 ownership verification is implemented,但自定义域流量和证书服务不是。当前的服务可以存储域请求、返回 DNS 指令、查询公共 DNS,并且仅允许通过计划的 Caddy tls-ask 门验证的名称。
它尚未将经过验证的主机名添加到网关、获取证书或路由对该主机名的请求。暂时不要将生产流量移至此功能。 verified 状态仅证明配置的 DNS 所有权检查。
验证工作流程
- 将主机名附加到应用程序 slug。
- 发布返回的DNS记录。
- 要求服务针对公共解析器进行验证。
- 检查返回的状态以及是否有检查错误。
- 继续使用平台预览网址;验证不会激活自定义主机名。
子域使用 <slug>.apps.openfactory.tech 的 CNAME 检查。 Apex 名称使用生成的 TXT 质询以及 A 记录的存在。 apex A 记录不会针对特定入口地址进行检查,因此它不是路由验证。
静止表面
| 方法 | 路径 | 当前结果 |
|---|---|---|
POST | /api/app-gateway/domains | 存储待处理的域并返回 DNS 指令。 |
GET | /api/app-gateway/domains?app_slug={slug} | 列出域记录。 |
GET | /api/app-gateway/domains/{domain} | 获取一条记录。 |
POST | /api/app-gateway/domains/{domain}/verify | 立即执行公共 DNS 检查。 |
DELETE | /api/app-gateway/domains/{domain} | 删除存储的记录。 |
GET | /api/app-gateway/tls-ask?domain={domain} | 对于经过验证的记录,返回允许或拒绝;旨在用于未来的 Caddy 集成。 |
附加请求示例:
POST /api/app-gateway/domains
Content-Type: application/json
{
"app_slug": "my-app",
"domain": "app.example.com"
}该服务拒绝平台拥有的区域、重复所有权、无效主机名以及每个应用程序超过五个域。
激活前还剩下什么
生产使用需要完成并测试所有这些:
- 每个经过验证的主机名的网关配置;
- 可以终止客户证书的已决定的公共入口路径;
- 证书颁发、更新、过期库存和警报;
- DNS 更改后立即和定期进行协调;
- 每个列表的所有者授权、读取、验证和删除路径;和
- 涵盖 DNS、TLS、路由、更新、删除和回滚的实域测试。
在证据存在之前,仅将域 API 视为 DNS 验证预览。