域名管理 (Hostname management) 通过指定授权加载和运行您的小组件的域,来控制可以在何处使用您的 Turnstile 小组件。这项安全措施可防止您的小组件在您无法控制的域名上被未经授权地使用。
您可以通过域名管理将域名与您的小组件进行关联,以控制可以在何处使用它。管理您的域名可确保 Turnstile 与您的配置无缝配合,无论您是添加独立域名还是利用在 Cloudflare 账户中注册的区域。
默认情况下,每个小组件都需要配置至少一个域名。在不指定至少一个授权域名的情况下,您无法创建小组件。
在添加域名时,请遵循以下要求:
- 域名必须是完全限定域名 (FQDN):
example.com或subdomain.example.com。 - 域名字段不支持通配符(如
*)。然而,添加域名会自动授权其所有子域名。
当您添加域名时,小组件将在该确切域名及其所有子域名上运行。这意味着添加根域名涵盖了其下的所有子域名,而添加特定子域名则限制小组件仅在该子域名及其子项上运行。
添加 example.com 作为域名将允许小组件在以下位置运行:
example.comwww.example.comshop.example.comany.sub.example.com
添加 www.example.com 作为域名可提供更严格的限制控制。该小组件将在以下位置运行:
www.example.comabc.www.example.com(指定域名的子域名)
然而,它无法在以下位置运行:
example.com(父域名)dash.example.com(同级子域名)cloudflare.com(无关域名)
现有小组件
-
在 Cloudflare 仪表板中,前往 Turnstile 页面。
Go to Turnstile ↗ -
选择一个现有的小组件。
-
前往 Settings(设置)。
-
在 Hostname Management(域名管理) 下,选择 Add Hostnames(添加域名)。
-
添加自定义域名或从现有域名中选择。
-
选择 Add(添加)。
新建小组件
-
在 Cloudflare 仪表板中,前往 Turnstile 页面。
Go to Turnstile ↗ -
选择 Add widget(添加小组件)。
-
在域名 (hostname) 字段中,输入您的域名。
-
如果您在 Cloudflare 注册了区域,可以从现有区域中选择。
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/challenges/widgets/$WIDGET_ID" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"domains": ["example.com", "app.example.com", "api.example.com"]
}'免费版用户每个小组件最多可关联 10 个域名。
企业版 (Enterprise) 客户每个小组件最多可关联 200 个域名。