跳到主要内容

自定义域名

你的 Logto 租户默认会有一个免费的域名 {{tenant-id}}.app.logto。不过,你可以通过使用自定义域名(如 auth.example.com)来提升用户体验和品牌识别度。

你的自定义域名会用于以下几个功能:

备注:

在服务上线后更改域名可能会带来麻烦,因为你的应用代码和集成可能仍然引用旧域名。为确保平滑过渡,请在生产租户创建时一开始就设置自定义域名。

在 Console 中配置自定义域名​

要在 Logto Console 中添加新的自定义域名,请按照以下步骤操作:

  1. 进入 Console > 设置 > 域名。

  2. 在“自定义域名”部分,输入你的域名并点击“添加域名”。

    添加域名
  3. 复制表格中的 CNAME 值,并前往你的域名 DNS 服务商添加记录。

    自定义域名处理中
  4. 等待验证和 SSL 处理过程。

    1. 我们会每 10 秒自动验证一次你的记录,直到自定义域名添加成功。只需确保输入的域名或 DNS 记录准确无误。
    2. 验证通常只需几分钟,但根据 DNS 服务商不同,最长可能需要 24 小时。过程中你可以自由离开页面。

故障排查​

SSL 证书问题​

如果你在设置自定义域名时遇到 SSL 证书问题,可能与你的 DNS 配置中的 CAA 记录有关。CAA 记录指定了哪些证书颁发机构(CA)被授权为你的域名颁发证书。如果你使用了 CAA 记录,需要为 Logto 授权 "letsencrypt.org" 和 "pki.goog" 这两个 CA。

要排查和解决与 CAA 记录相关的 SSL 证书问题,请参考 Cloudflare 的文档。

“The hostname is associated with a held zone” 错误​

如果你在添加自定义域名时遇到 “The hostname is associated with a held zone, please contact the owner to have the hold removed” 的错误提示,说明该域名已经在 Cloudflare 区域中,并且被设置为 “Zone Hold” 状态。详见 Cloudflare 官方文档。

要解决此问题,你需要解除 zone hold。请按照上述链接中的说明在 Cloudflare 中解除 zone hold。

使用自定义域名​

配置完成后,你的自定义域名和默认 Logto 域名都可以用于你的租户。但要激活自定义域名,还需要进行一些配置。

备注:

本文假设你的自定义域名为 auth.example.com。

自定义域名已添加

更新应用的 SDK 端点​

在初始化 Logto SDK 时,将端点的域名修改为你的自定义域名。

const client = new LogtoClient({
...,// 其他选项
endpoint: 'https://auth.example.com',
});

修改其他应用的认证 (Authentication) 端点​

如果你的应用没有使用 Logto SDK,则需要手动更新它们的认证 (Authentication) 端点。

你可以在如下 well-known URL 找到认证 (Authentication) 端点:

https://auth.example.com/oidc/.well-known/openid-configuration

更新社交连接器的回调 URI​

如果你的用户正在使用自定义域名,社交连接器的回调 URI 会自动更新。但你还需要前往社交服务商的开发者控制台,手动更新回调 URI。

当用户使用自定义域名时,社交连接器的回调 URI 会使用新域名。因此,你需要进入社交服务商的开发者控制台,手动更新回调 URI。