Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,45 @@ Service Binding (SVCB) and HTTPS Service (HTTPS) records allow you to provide a

If your domain has [HTTP/2 or HTTP/3 enabled](/speed/optimization/protocol/), [proxied DNS records](/dns/proxy-status/), and is also using [Universal SSL](/ssl/edge-certificates/universal-ssl/), Cloudflare automatically generates HTTPS records on the fly, to advertise to clients how they should connect to your server.

#### Proxied vs DNS-only names
For [proxied (orange cloud)](/dns/proxy-status/) names, Cloudflare synthesizes HTTPS records automatically when Universal SSL is enabled. Manually-added HTTPS records on proxied names are not served — Cloudflare uses the auto-generated records instead.

If you have disabled Universal SSL (for example, because you use [Advanced Certificates](/ssl/edge-certificates/advanced-certificate-manager/) exclusively), Cloudflare will not generate HTTPS records for proxied names.

For [DNS-only (grey cloud)](/dns/proxy-status/) names, you can manually add HTTPS records and Cloudflare will serve them. However, **all records with the same name must be DNS-only** for the manual HTTPS record to be served.

<Details header="Example: Manual HTTPS records and proxy status">

For Cloudflare to serve a manually-added HTTPS record, every record with the same name must be DNS-only (grey cloud).

<Example>

**Will work** — All records with the same name are DNS-only:

| Type | Name | Content | Proxy status |
| ----- | ----------- | --------------- | ------------ |
| A | example.com | `192.0.2.1` | DNS only |
| HTTPS | example.com | `1 . alpn="h3"` | - |

The HTTPS record will be served because the A record is DNS-only.

</Example>

<Example>

**Will not work** — Mixed proxy status for the same name:

| Type | Name | Content | Proxy status |
| ----- | ----------- | --------------- | ------------ |
| AAAA | example.com | `2001:db8::1` | Proxied |
| HTTPS | example.com | `1 . alpn="h3"` | - |

The HTTPS record will **not** be served because the AAAA record with the same name is proxied.

</Example>

</Details>

For more details and context, refer to the [announcement blog post](https://blog.cloudflare.com/speeding-up-https-and-http-3-negotiation-with-dns/) and [RFC 9460](https://www.rfc-editor.org/rfc/rfc9460.html).

<Render file="api-field-definitions" product="dns" />
Expand Down
6 changes: 4 additions & 2 deletions src/content/docs/ssl/reference/browser-compatibility.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ To support non-SNI requests, you can:

If your domain has [HTTP/2 or HTTP/3 enabled](/speed/optimization/protocol/), [proxied DNS records](/dns/proxy-status/), and is also using [Universal SSL](/ssl/edge-certificates/universal-ssl/), Cloudflare automatically generates HTTPS records on the fly, to advertise to clients how they should connect to your server.

:::caution
Both HTTP/2 and HTTP/3 configurations also require that you have an SSL/TLS certificate served by Cloudflare. This means that disabling Universal SSL, for example, could impact this behavior.
:::caution[Universal SSL required for automatic HTTPS records]
Disabling Universal SSL will prevent automatic HTTPS record generation for proxied hostnames, even if you have [Advanced Certificates](/ssl/edge-certificates/advanced-certificate-manager/) or [custom certificates](/ssl/edge-certificates/custom-certificates/) configured. This is because automatic HTTPS record generation is tied specifically to the Universal SSL feature.

If you need HTTPS records without Universal SSL, you can manually add them, but only if **all records with the same name are DNS-only (grey cloud)**. Refer to [SVCB and HTTPS records](/dns/manage-dns-records/reference/dns-record-types/#svcb-and-https) for details and examples.
:::

## OCSP and HTTP versions
Expand Down
Loading