render-domains — скилл для Claude Code: домены и TLS на Render
Помогает подключить свой домен к сервису на Render: DNS-записи, apex и wildcard, выпуск TLS-сертификата. Пригодится, когда сайт уже задеплоен, а адрес всё ещё на onrender.com.
npx skills add render-oss/skills --skill render-domains -a claude-codeЧто делает render-domains
Скилл разбирает подключение кастомного домена к веб-сервису или статическому сайту Render. Внутри — порядок шагов: добавить домен в Dashboard, прописать DNS у регистратора, нажать Verify. Для поддомена это CNAME на <service>.onrender.com, для apex на Cloudflare — тот же CNAME с flattening, у остальных провайдеров — A-запись с IP из Dashboard. Отдельная таблица разбирает wildcard-домены: там нужны три CNAME, включая _acme-challenge и _cf-custom-hostname.
Сертификаты Render выпускает и продлевает сам, через Let's Encrypt и Google Trust Services, весь HTTP уходит на HTTPS. Ломается это тихо: если у домена есть CAA-записи, их надо дополнить letsencrypt.org и pki.goog, иначе выпуск сертификата не пройдёт. Ещё одна частая причина сбоя — забытые AAAA-записи, Render работает по IPv4, так что все IPv6-записи для домена стоит убрать.
Есть раздел про отключение поддомена onrender.com после подключения своего адреса: запросы к нему начнут отдавать 404, вернуть обратно можно в любой момент. В render.yaml домены прописываются в поле domains, но это только объявление связи — DNS всё равно настраивается руками у провайдера. Учтите: кастомные домены работают только на веб-сервисах и статических сайтах, к приватному сервису домен не привязать.
Какие задачи решает
- подключить свой домен к сервису на Render
- прописать CNAME или A-запись у регистратора
- настроить wildcard-домен на все поддомены
- разобраться, почему не выпускается TLS-сертификат
- отключить адрес onrender.com после переезда на свой домен
Примеры запросов агенту
- добавь домен app.example.com к моему веб-сервису на Render и подскажи, какие DNS-записи прописать
- сертификат для example.com не выпускается, проверь CAA и AAAA-записи
- настрой wildcard *.example.com на этот сервис и отключи onrender.com
Как установить render-domains
1Через Skills CLI (Vercel)
npx skills add render-oss/skills --skill render-domains -a claude-code2Вручную: положить файлы
~/.claude/skills/render-domains/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/render-domains/
1Через Skills CLI (Vercel)
npx skills add render-oss/skills --skill render-domains -a codex2Вручную: положить файлы
.agents/skills/render-domains/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add render-oss/skills --skill render-domains -a cursor2Вручную: положить файлы
.cursor/skills/render-domains/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install render-oss/skills render-domains2Вручную: положить файлы
.github/skills/render-domains/SKILL.md1Через Skills CLI (Vercel)
npx skills add render-oss/skills --skill render-domains -a gemini-cli2Командой платформы
gemini skills install https://github.com/render-oss/skills --path skills/render-domainsВручную: положить файлы
.devin/skills/render-domains/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add render-oss/skills --skill render-domains -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о render-domains
Как установить render-domains в Claude?
Выполните npx skills add render-oss/skills --skill render-domains -a claude-code. Скилл появится в ~/.claude/skills/render-domains/SKILL.md.
Что делает render-domains?
Проводит по подключению кастомного домена на Render: добавление в Dashboard, DNS-записи, верификация и выпуск TLS-сертификата. Отдельно разбирает wildcard-домены и типичные сбои при проверке домена.
На каких сервисах Render работают кастомные домены?
Только на веб-сервисах и статических сайтах. К приватному сервису домен привязать нельзя.
Исходный текст
SKILL.md · MIT
---
name: render-domains
description: >-
Configures custom domains and TLS certificates on Render—DNS setup, CNAME
records, apex domains, wildcard domains, and certificate troubleshooting.
Use when the user needs to add a custom domain, configure DNS, set up
HTTPS/TLS, troubleshoot certificate issuance, disable the onrender.com
subdomain, or add a wildcard domain.
Trigger terms: custom domain, DNS, CNAME, TLS, SSL, HTTPS, certificate,
apex domain, wildcard domain, onrender.com, domain verification.
license: MIT
compatibility: Render web services and static sites
metadata:
author: Render
version: "1.0.0"
category: networking
---
# Render Custom Domains
Render automatically provisions and renews TLS certificates (via Let's Encrypt and Google Trust Services) for all custom domains. All HTTP traffic is redirected to HTTPS. Custom domains work on **web services** and **static sites** only.
## When to Use
- Adding a **custom domain** to a web service or static site
- Configuring **DNS records** (CNAME, A, or ALIAS) with a provider
- Setting up a **wildcard domain** (`*.example.com`)
- Troubleshooting **certificate issuance** or **domain verification** failures
- Choosing between **apex** (`example.com`) and **www** (`www.example.com`)
- **Disabling the `onrender.com` subdomain** after adding a custom domain
## Domain Limits and Cost
Workspace plans include a limited number of custom domains. Adding domains beyond the included allowance incurs an additional cost. Confirm current allowances and charges at [Render pricing](https://render.com/pricing) or in the Dashboard.
## Setup Steps
### 1. Add domain in Dashboard
1. Go to your service's **Settings > Custom Domains**
2. Click **+ Add Custom Domain**
3. Enter your domain (e.g. `app.example.com`)
4. Click **Save**
Adding a `www` subdomain automatically adds the root domain (and vice versa) with a redirect between them.
### 2. Configure DNS
Add a DNS record with your provider pointing to your Render service:
| Domain type | Record type | Name | Value |
|-------------|-------------|------|-------|
| **Subdomain** (`app.example.com`) | CNAME | `app` | `<service>.onrender.com` |
| **Apex** (`example.com`) on Cloudflare | CNAME (flattened) | `@` | `<service>.onrender.com` |
| **Apex** on other providers | A | `@` | Use Render-provided IP (see Dashboard) |
**Important:** Remove any `AAAA` (IPv6) records for your domain. Render uses IPv4, and stale `AAAA` records cause unexpected behavior.
Provider-specific guides:
- [Cloudflare](https://render.com/docs/configure-cloudflare-dns)
- [Namecheap](https://render.com/docs/configure-namecheap-dns)
- [Other providers](https://render.com/docs/configure-other-dns)
### 3. Verify domain
Click **Verify** in the Dashboard. If verification fails, DNS may not have propagated yet—wait a few minutes and retry.
Speed up verification by flushing DNS caches:
- [Google Public DNS](https://developers.google.com/speed/public-dns/cache)
- [Cloudflare DNS](https://1.1.1.1/purge-cache/)
- [OpenDNS](https://cachecheck.opendns.com/)
After verification, Render issues a TLS certificate automatically.
## Wildcard Domains
Wildcard domains (`*.example.com`) route all matching subdomains to one service.
Requires **three CNAME records**:
| Name | Value | Purpose |
|------|-------|---------|
| `*` | `<service>.onrender.com` | Routes traffic |
| `_acme-challenge` | `<service-id>.verify.renderdns.com` | Let's Encrypt validation |
| `_cf-custom-hostname` | `<service-id>.hostname.renderdns.com` | Cloudflare DDoS validation |
**Cloudflare users:** If you add `*.example.com` without adding the root domain to Render, disable proxying (gray cloud) for the root domain to avoid routing conflicts.
## CAA Records
If your domain has `CAA` records, add entries for Render's certificate authorities:
```
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"
```
Without these, TLS certificate issuance fails silently.
## Disabling the `onrender.com` Subdomain
After adding at least one custom domain, you can disable the default `onrender.com` subdomain:
1. Settings > Custom Domains > **Render Subdomain** > toggle to **Disabled**
2. All requests to the `onrender.com` URL receive a 404
3. Can be re-enabled at any time
## Blueprint Configuration
Custom domains are specified in the `domains` field:
```yaml
services:
- type: web
name: api
runtime: node
plan: starter
domains:
- app.example.com
- www.example.com
```
Blueprint `domains` only **declare** the domain association. You still need to configure DNS with your provider manually.
## Common Mistakes
| Mistake | Fix |
|---------|-----|
| AAAA records present | Remove all IPv6 AAAA records for the domain |
| CAA records blocking issuance | Add `letsencrypt.org` and `pki.goog` entries |
| Verifying too quickly | Wait 2-5 minutes for DNS propagation, then flush caches |
| Cloudflare proxy + wildcard without root domain | Disable proxying (gray cloud) for the root domain |
| Trying to add domain to a private service | Custom domains only work on web services and static sites |
| 502 after verification | Routing rules are updating — wait a few minutes |
## References
| Document | Contents |
|----------|----------|
| `references/dns-configuration.md` | Provider-specific DNS setup, apex domain options, TTL recommendations |
## Related Skills
- **render-web-services** — Web service configuration, TLS, port binding
- **render-static-sites** — Static site domains, CDN, headers
- **render-blueprints** — `domains` field in `render.yaml`
© Render · MIT · render-oss/skills