关于 render-domains
面向 Render 用户配置自定义域名的技能,涵盖 DNS、域名验证、通配符域名和 TLS 证书问题,并说明 Blueprint 中的域名声明。
主要功能
- 01自定义域名设置
- 02DNS 记录配置指引
- 03通配符域名配置
- 04域名验证与证书排障
- 05Blueprint 域名声明
适用场景
- 01为 Web 服务绑定域名
- 02配置根域名或 www 子域名
- 03排查 TLS 证书签发失败
- 04为静态站点配置通配符域名
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ render-oss/ skills --skill render-domains安装后在 Claude Code 中输入/render-domains确认已加载。
附带文件references/dns-configuration.md
详细介绍
Render 自定义域名
Render 会通过 Let's Encrypt 和 Google Trust Services 自动为所有自定义域名配置并续期 TLS 证书。所有 HTTP 流量都会重定向到 HTTPS。自定义域名仅适用于Web 服务和静态站点。
适用场景
- 为 Web 服务或静态站点添加自定义域名
- 使用 DNS 服务商配置DNS 记录(CNAME、A 或 ALIAS)
- 设置通配符域名(
*.example.com) - 排查证书签发或域名验证失败的问题
- 选择根域名(
example.com)或 www(www.example.com) - 添加自定义域名后禁用
onrender.com子域名
域名数量限制和费用
工作区套餐包含数量有限的自定义域名。添加超出包含数量的域名会产生额外费用。请在 Render 定价页面或 Dashboard 中确认当前包含数量和费用。
设置步骤
1. 在 Dashboard 中添加域名
- 前往服务的Settings > Custom Domains
- 点击 + Add Custom Domain
- 输入域名(例如
app.example.com) - 点击 Save
添加 www 子域名会自动添加根域名(反之亦然),并在两者之间设置重定向。
2. 配置 DNS
在 DNS 服务商处添加一条指向 Render 服务的 DNS 记录:
| 域名类型 | 记录类型 | 名称 | 值 |
|---|---|---|---|
子域名(app.example.com) | CNAME | app | <service>.onrender.com |
Cloudflare 上的根域名(example.com) | CNAME(扁平化) | @ | <service>.onrender.com |
| 其他服务商上的根域名 | A | @ | 使用 Render 提供的 IP(请参阅 Dashboard) |
重要提示: 删除域名的所有 AAAA(IPv6)记录。Render 使用 IPv4,过时的 AAAA 记录会导致意外行为。
各服务商的配置指南:
3. 验证域名
在 Dashboard 中点击 Verify。如果验证失败,可能是 DNS 尚未传播;请等待几分钟后重试。
刷新 DNS 缓存可加快验证速度:
验证通过后,Render 会自动签发 TLS 证书。
通配符域名
通配符域名(*.example.com)会将所有匹配的子域名路由到同一个服务。
需要三条 CNAME 记录:
| 名称 | 值 | 用途 |
|---|---|---|
* | <service>.onrender.com | 路由流量 |
_acme-challenge | <service-id>.verify.renderdns.com | Let's Encrypt 验证 |
_cf-custom-hostname | <service-id>.hostname.renderdns.com | Cloudflare DDoS 验证 |
Cloudflare 用户: 如果添加 *.example.com,但未将根域名添加到 Render,请为根域名禁用代理(灰色云朵),以避免路由冲突。
CAA 记录
如果域名有 CAA 记录,请添加 Render 证书颁发机构的条目:
example.com IN CAA 0 issue "letsencrypt.org"
example.com IN CAA 0 issuewild "letsencrypt.org"
example.com IN CAA 0 issue "pki.goog; cansignhttpexchanges=yes"
example.com IN CAA 0 issuewild "pki.goog; cansignhttpexchanges=yes"
如果未添加这些条目,TLS 证书签发会静默失败。
禁用 onrender.com 子域名
添加至少一个自定义域名后,可以禁用默认的 onrender.com 子域名:
- Settings > Custom Domains > Render Subdomain > 将开关切换为 Disabled
- 所有发往
onrender.comURL 的请求都会收到 404 - 可随时重新启用
Blueprint 配置
自定义域名通过 domains 字段指定:
services:
- type: web
name: api
runtime: node
plan: starter
domains:
- app.example.com
- www.example.com
Blueprint 中的 domains 只用于声明域名关联。你仍需手动在 DNS 服务商处配置 DNS。
常见错误
| 错误 | 修复方法 |
|---|---|
| 存在 AAAA 记录 | 删除该域名的所有 IPv6 AAAA 记录 |
| CAA 记录阻止签发 | 添加 letsencrypt.org 和 pki.goog 条目 |
| 验证过早 | 等待 2-5 分钟,让 DNS 完成传播,然后刷新缓存 |
| Cloudflare 代理与通配符域名搭配使用,但未配置根域名 | 为根域名禁用代理(灰色云朵) |
| 尝试将域名添加到私有服务 | 自定义域名仅适用于 Web 服务和静态站点 |
| 验证后出现 502 | 路由规则正在更新——等待几分钟 |
参考资料
| 文档 | 内容 |
|---|---|
references/dns-configuration.md | 特定提供商的 DNS 配置、顶点域名选项、TTL 建议 |
相关技能
- render-web-services — Web 服务配置、TLS、端口绑定
- render-static-sites — 静态站点域名、CDN、标头
- render-blueprints —
render.yaml中的domains字段