Skip to main content
Deployments and Operations

Domains and SSL

Add custom domains, set DNS records, choose certificate type, and mark a default hostname on a Service.

Written By Zoro

Last updated 11 days ago

Domains

Custom domains attach to a Service from the Domains tab. The heading is Domains, with the description: custom domains and SSL for this service.

Prerequisites

  • You control DNS for the hostname you will add.
  • The Service already deploys successfully (TLS issuance depends on a healthy app and correct DNS).

Add a custom domain

  1. Open the Application → Environment → Service → Domains.
  2. Use Add domain (or equivalent) and enter the hostname.
  3. Save so the platform queues domain management work. Toasts often report Added to queue while DNS records are prepared.

DNS records

After you add a domain, dFlow shows the records that hostname needs:

  • A CNAME from your hostname to the target the UI displays. A domain that shares the root of your default domain uses that CNAME with proxy on, and it does not need a TXT record.
  • For every other custom domain, the certificate and ownership TXT records listed with the CNAME. The domain shows DNS records missing until those records are public, then DNS configured.

You can add them at your DNS provider, then choose I've added Records. The UI may poll briefly (“fetching domain validation records…”).

Add the records in Cloudflare

If the zone is on Cloudflare, dFlow can write the records for you. Proxy stays off. This path is for a custom domain that needs the CNAME and the TXT records. A hostname that only needs the proxied CNAME on the same root as your default domain is still added at your DNS provider.

  1. Open Integrations, choose Cloudflare, then Connect Cloudflare. You can connect more than one account. The connection stays on Integrations. An empty list says No account connected.
  2. Open the Application → Environment → Service → Domains. On a domain that still needs records, choose Add DNS records. You can also open View DNS records and use Add DNS records in Cloudflare.
  3. Read the records in the dialog. dFlow names the Cloudflare account and zone that own the hostname, and shows type, name, content, and proxy for each row.
  4. Choose Add records.

When it works, you see DNS records added in Cloudflare, and the note that proxy stays off. The domain moves to DNS configured once those records are public.

If nothing is connected, or this hostname is not in a connected zone, the button is Connect and add records. Cloudflare opens so you can approve the account that owns the domain. If a saved approval has expired, the button is Approve and add records.

A CNAME that already points at the same target counts as added. dFlow does not write it again.

Remove a domain that has Cloudflare records

Removing that domain asks whether to delete the DNS records too.

  • Remove domain takes the hostname off the service and leaves the records in Cloudflare.
  • Remove domain and DNS records also deletes the CNAME and the certificate and ownership TXT records.

If Cloudflare cannot be reached, the domain still leaves the service. dFlow tells you the DNS records were left in place. Delete them in Cloudflare if you no longer want them.

Certificate options

Per domain entries support:

  • Letsencrypt automated certificates (default path when enabled).
  • None when you terminate TLS elsewhere or use HTTP-only (not recommended for production).

Auto-regenerate SSL (when shown) controls whether the platform should renew or re-issue certificates when domains change.

Default domain

Mark one hostname as default when the UI offers it. The default domain drives generated URLs and some environment references; switching default may trigger variable updates (the product notifies you while those propagate).

Wildcard and proxy domains

Hostnames that already end with the shared proxy domain behave as managed URLs. Custom domains you bring must follow the DNS table exactly; mismatches cause certificate failures (see troubleshooting).

Screenshots

Recommended captures:

  • Domains tab with the default domain and a custom domain listed.
  • DNS record table with CNAME and TXT rows.
  • Certificate type selector showing Letsencrypt and None.

Related