Skip to content
Domains · how it works

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.

ezystudio.com/app/sites/luma/domains

Domains

Where people find Luma Hair. Nothing changes for visitors until a domain is connected.

luma.ezystudio.appFree address · Managed by EzyStudio
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.
Waiting for DNS
Use www.yourdomain.com. For the bare domain, see the note below.

Add this record where you bought the domain (GoDaddy, Namecheap, Cloudflare…):

TypeName (at lumahair.com)ValueWhy
CNAMEwwwcname.ezystudio.appSends 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.

  1. Add the record. It can take a few minutes to an hour to spread.
  2. We check it automatically, or press Check again.
  3. We issue a free certificate, then it shows Connected. You can make it the main address.
How a visit reaches the site

One request, hop by hop

  1. www.lumahair.comVisitor types this. The browser sends it as SNI and the Host header.
  2. cname.ezystudio.appThe customer's CNAME
  3. Cloudflare edgeFinds the custom hostname and uses its certificate
  4. Dispatcher WorkerLooks up "www.lumahair.com" in ROUTING KV
  5. Luma Hair's siteServed
Behind the scenes

What EzyStudio does in Cloudflare

  1. Customer adds the domainCreate custom hostname "www.lumahair.com" (SSL over HTTP). Status: pending
  2. DNS spreadsTraffic reaches Cloudflare, the HTTP check passes, the certificate is issued
  3. Hostname and SSL activeMark the domain connected and write the ROUTING KV entry
  4. 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.

Platform reference

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.

HostWhat it isWho sees it
ezystudio.comMarketing website, customer dashboard and API at /api (PLATFORM_DOMAIN)Everyone
app.ezystudio.comThe 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.appFree site addresses (SITES_MANAGED_DOMAIN), wildcard record and certificate on your own zoneVisitors of direct customers' sites
cname.ezystudio.appTarget for customers' own domains and agency client sites (SITES_CNAME_TARGET, AGENCY_CLIENTS_CNAME_TARGET)Customers and agencies, in their DNS
studios.ezystudio.comTarget 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.