注册域名是为了使用它:发布网站、引导访客、证明所有权或跟踪续费。DNS 很重要,但只是其中一环。IaGenify SDK 0.3.1 扩展了域名资源,让它覆盖人们真正要做的事情。
将域名连接到托管项目
项目可以关联到域名根目录或某个子域名。资源会显示现有连接;解除子域名关联时,无需手动重建整套记录逻辑。
const domain = await api.domains.get("example.com");
await domain.attach({ host: site.id });
await domain.attach({ host: endpoint.id, name: "api" });
const connected = await domain.attachments();这样就把目标与底层配置分开了。应用请求将 `api.example.com` 关联到某个主机,平台负责协调 DNS 和托管服务。单独的 DNS 记录并不能告诉托管服务由哪个项目响应。
重定向是另一种操作
CNAME 并不是浏览器重定向。CNAME 影响 DNS 解析;重定向会返回 HTTP 响应,将访客带到另一个 URL,并可保留路径和查询参数。
await domain.redirects.add({ from: "www", to: "@" });
const rules = await domain.redirects.list();这一区别在实际运行中很重要:规则只适用于抵达执行规则的服务的流量。API 会明确显示这一前提,而不会悄悄改变域名的服务方式。
了解域名状态
域名也有生命周期。SDK 可以读取注册局公布的所有权数据、发现即将到期的域名、查看 TLS、管理 DNSSEC 状态,并创建服务所需的 TXT 验证记录。
部分信息取决于注册局或注册商是否公开。如果到期时间未知,API 可以明确标记为未知,而不是猜测日期。
DNS 仍然可用,同时获得更多上下文
直接管理 DNS 记录的能力仍然保留。现在常见域名任务也有各自的操作:关联项目、添加重定向、查看 TLS 或验证服务。
域名是人们使用的名称、连接的服务,也是需要维护的生命周期。DNS 是这幅图景中重要的一部分,但不是全部。
对于账户面板、部署自动化和工作流,这种资源能表达常见域名操作,而不必把整个体验缩减成记录列表。
常见问题
`attach()` 会取代 DNS 管理吗?
不会。它表达域名与托管项目之间的关联;DNS 记录仍可直接管理。
重定向和 CNAME 一样吗?
不一样。CNAME 影响 DNS;重定向是将访客带到另一个 URL 的 HTTP 响应。
SDK 可以购买或续费域名吗?
此功能管理已连接到 IaGenify 的域名,并不表示已支持向注册商购买或续费。
如果到期时间未知会怎样?
API 可以说明注册局没有公布该信息,而不是把估算值当作事实。