Who connects what, on ezystudio.com
Pick who you are. Each screen shows the settings that person sees, the DNS records they add and what EzyStudio does in Cloudflare behind the scenes. Edit the fields and the records follow. Verification codes are examples.
Domains
Where people find Luma Hair. Nothing changes for visitors until a domain is connected.
Ready the moment you publish. No setup, certificate included.
Your own domain
Add the domain you already own. You keep it at your registrar.Add this record where you bought the domain (GoDaddy, Namecheap, Cloudflare…):
| Type | Name (at lumahair.com) | Value | Why |
|---|---|---|---|
| CNAME | www | cname.ezystudio.app | Sends visitors to your EzyStudio site |
Bare domain (lumahair.com)? Most providers can't put a CNAME on it. Use ALIAS, ANAME or CNAME flattening to cname.ezystudio.app if they offer it, or forward lumahair.com to www.lumahair.com.
- Add the record. It can take a few minutes to an hour to spread.
- We check it automatically, or press Check again.
- We issue a free certificate, then it shows Connected. You can make it the main address.
One request, hop by hop
- www.lumahair.comVisitor types this. The browser sends it as SNI and the Host header.
- cname.ezystudio.appThe customer's CNAME
- Cloudflare edgeFinds the custom hostname and uses its certificate
- Dispatcher WorkerLooks up "www.lumahair.com" in ROUTING KV
- Luma Hair's siteServed
What EzyStudio does in Cloudflare
- Customer adds the domainCreate custom hostname "www.lumahair.com" (SSL over HTTP). Status: pending
- DNS spreadsTraffic reaches Cloudflare, the HTTP check passes, the certificate is issued
- Hostname and SSL activeMark the domain connected and write the ROUTING KV entry
- Domain removedDelete the custom hostname and the KV entry
POST /zones/{saas_zone}/custom_hostnames
{ "hostname": "www.lumahair.com",
"ssl": { "method": "http", "type": "dv" } }The free luma.ezystudio.app needs no API call: it sits on your own zone, under a wildcard record and certificate.
EzyStudio's own domains
Set once in Cloudflare. Agencies and customers only ever point at the last two. Customer sites live on ezystudio.app so they never share cookies with the dashboard, and the targets only show up in DNS, never to visitors.
| Host | What it is | Who sees it |
|---|---|---|
| ezystudio.com | Marketing website, customer dashboard and API at /api (PLATFORM_DOMAIN) | Everyone |
| app.ezystudio.com | The one dashboard for every agency, and the editor next to it (editor.app.ezystudio.com). There are no per-agency addresses. | Agency teams, and clients of agencies without their own domain |
| *.ezystudio.app | Free site addresses (SITES_MANAGED_DOMAIN), wildcard record and certificate on your own zone | Visitors of direct customers' sites |
| cname.ezystudio.app | Target for customers' own domains and agency client sites (SITES_CNAME_TARGET, AGENCY_CLIENTS_CNAME_TARGET) | Customers and agencies, in their DNS |
| studios.ezystudio.com | Target for agency dashboards (AGENCY_STUDIO_CNAME_TARGET) | Agencies, in their DNS |
Two SaaS zones. cname.ezystudio.app is a proxied record in the ezystudio.app zone, where every custom hostname goes to the dispatcher Worker. studios.ezystudio.com is a proxied record in the ezystudio.com zone, whose fallback origin is the dashboard. The hostname the visitor typed decides what is served, never the target.