自定义域名配置指南¶
本文档说明如何为 AI OSS Rank Worker 配置自定义域名 ai-oss-rank-worker.jimmysong.io
。
前提条件¶
- Worker 已成功部署到 Cloudflare
jimmysong.io
域名已托管在 Cloudflare- 有 Cloudflare 账户的管理权限
配置步骤¶
方法一:通过 Cloudflare Dashboard(推荐)¶
- 访问 Worker 设置
- 登录 Cloudflare Dashboard
- 导航到
Workers & Pages
-
选择
ai-oss-rank-worker
-
添加自定义域名
- 点击
Settings
标签 - 找到
Domains & Routes
部分 - 在
Custom Domains
区域点击Add Custom Domain
- 输入域名:
ai-oss-rank-worker.jimmysong.io
-
点击
Add Domain
-
等待配置生效
- Cloudflare 会自动创建 DNS CNAME 记录指向 Worker
- SSL 证书会自动配置(使用 Cloudflare Universal SSL)
-
通常在 1-2 分钟内生效
-
验证配置
# 测试健康检查端点
curl https://ai-oss-rank-worker.jimmysong.io/healthz
# 应返回:ok
方法二:通过 Cloudflare API¶
如果需要通过 API 自动化配置:
# 1. 获取 Zone ID
ZONE_ID=$(wrangler zones list | grep jimmysong.io | awk '{print $1}')
# 2. 获取 Worker Script ID
ACCOUNT_ID="e2893ba0bf43b4c8830d7a76c47fb4cb"
WORKER_NAME="ai-oss-rank-worker"
# 3. 使用 Cloudflare API 添加自定义域名
# 注意: 需要 Cloudflare API Token
curl -X PUT "https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/workers/services/${WORKER_NAME}/environments/production/domains" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"hostname": "ai-oss-rank-worker.jimmysong.io"
}'
DNS 记录¶
配置完成后,Cloudflare 会自动创建以下 DNS 记录:
类型:CNAME
名称:ai-oss-rank-worker
目标:ai-oss-rank-worker.jimmysong.workers.dev
代理状态:已代理(橙色云)
验证步骤¶
配置完成后,验证以下端点:
# 1. 健康检查
curl https://ai-oss-rank-worker.jimmysong.io/healthz
# 2. API 测试 - 获取单个项目
curl "https://ai-oss-rank-worker.jimmysong.io/api/health/microsoft/autogen?locale=zh"
# 3. API 测试 - 批量查询
curl "https://ai-oss-rank-worker.jimmysong.io/api/health?repos=microsoft/autogen,langchain-ai/langchain&locale=zh"
故障排除¶
域名无法访问¶
- 检查 DNS 记录
dig ai-oss-rank-worker.jimmysong.io
应该返回 CNAME 记录指向 workers.dev 域名
- 检查 Worker 状态
wrangler deployments list
确认最新部署成功
- 检查 SSL 证书
curl -vI https://ai-oss-rank-worker.jimmysong.io/healthz
确认 SSL 握手成功
CORS 错误¶
Worker 已配置 CORS 头部,允许所有来源访问:
const corsHeaders = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, OPTIONS",
"Access-Control-Allow-Headers": "Content-Type",
};
如果仍有 CORS 问题,检查:
- 浏览器开发者工具的 Network 标签
- 确认 OPTIONS 预检请求返回 200
- 确认响应包含正确的 CORS 头部
前端配置¶
配置完自定义域名后,前端 JavaScript 已更新为使用自定义域名:
// assets/js/ai-health-indicators.js
const WORKER_URL = 'https://ai-oss-rank-worker.jimmysong.io';
注意事项¶
- DNS 传播时间: 虽然 Cloudflare DNS 更新很快,但全球传播可能需要几分钟
- SSL 证书: Cloudflare 自动管理 SSL 证书,无需手动配置
- 回退: 如果自定义域名有问题,Worker 仍可通过
*.workers.dev
域名访问 - 监控: 建议设置 Cloudflare 的健康检查和告警