> For the complete documentation index, see [llms.txt](https://docs.lingoql.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lingoql.com/introduction/troubleshooting-deploys/custom-domains-and-dns.md).

# Custom domains and DNS

Custom domains usually fail for one of three reasons:

* DNS has not finished propagating
* the DNS record is wrong or duplicated
* Cloudflare proxy or SSL settings are mismatched

### DNS propagation

DNS changes are not instant.

A domain may work in one region and fail in another until propagation finishes.

After you add or change records:

* wait for propagation
* check that only the intended records exist
* remove stale or conflicting records

### Check the record setup

Make sure the record points to the correct LingoQL target.

Avoid duplicate `A`, `AAAA`, or `CNAME` records for the same hostname unless you intend to use them.

Conflicting records can keep the domain in a broken or inconsistent state.

### Cloudflare SSL and proxy setup

If you use Cloudflare, set **SSL/TLS** mode to `Full` before you enable the orange cloud proxy.

Do this in this order:

1. Point the domain correctly.
2. Set Cloudflare **SSL/TLS** to `Full`.
3. Confirm the domain works without proxying.
4. Enable the orange cloud after that.

If you enable the proxy too early, HTTPS can fail even when DNS looks correct.

### If HTTPS breaks after enabling Cloudflare

Switch the record back to **DNS only** first.

Then recheck:

* Cloudflare **SSL/TLS** mode is still `Full`
* the hostname points to the correct target
* no duplicate records exist

Once the unproxied domain works, re-enable the orange cloud.

### Common symptoms

#### Domain does not resolve

DNS is still propagating, or the record is wrong.

#### Domain resolves but HTTPS fails

The Cloudflare SSL mode or proxy state is wrong.

#### Domain works on and off

Resolvers are still updating, or multiple records conflict.

### Quick recovery checklist

1. Wait for propagation.
2. Remove conflicting DNS records.
3. Use Cloudflare `Full` before enabling the orange cloud.
4. Test with **DNS only** if proxying breaks HTTPS.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lingoql.com/introduction/troubleshooting-deploys/custom-domains-and-dns.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
