# Troubleshoot domains and DNS

> Resolve ownership, A record, proxy, propagation, certificate, and conflicting-record problems.

## Ownership verification fails

Copy the TXT record name and value exactly. Some DNS providers automatically append the root domain, so check their preview to avoid creating `name.example.com.example.com`. Remove quotation marks unless the provider adds them automatically. Wait for the record's TTL and public propagation, then click **Verify Ownership** again.

## Routing verification fails

Use the A record shown inside the site, alias, or app-route flow. Confirm it is on the exact hostname being created. Remove old or conflicting A and AAAA records for that hostname.

## Cloudflare is enabled

Set **Proxy Status** to **DNS only** while AppLaunch verifies DNS and issues the certificate. You can evaluate proxying later only if the service and application support that setup.

## DNS changed but AppLaunch sees the old value

DNS resolvers cache records until their TTL expires. Check the authoritative record at your DNS provider, wait for propagation, and retry. Repeatedly deleting and recreating the same record resets the troubleshooting timeline and can introduce typing errors.

## HTTPS is not ready

The hostname must resolve directly to AppLaunch before certificate issuance. Keep the verified A record in place, disable conflicting proxies, and allow time after DNS becomes public. Do not upload or purchase a separate certificate unless the dashboard specifically supports it.

## Apex and `www` behave differently

`example.com` and `www.example.com` are separate hostnames. Add, verify, and route each one that you intend to use, then choose one primary address and redirect the other where the product supports redirects.

## Still not working

Create a [support ticket](https://applaunch.org/dashboard/support) with the service name, exact hostname, DNS provider, record type/name/value with verification tokens partly redacted, action attempted, error message, and approximate UTC time.
