Managed DNS supports HTTPS records — a specialized form of the Service Binding (SVCB) DNS record standardized by the IETF. HTTPS records consolidate connection parameters into a single DNS response, reducing the round trips required to establish a secure connection and enabling future protocol upgrades without client-side changes.
HTTPS connection overhead
A and AAAA records provide the server IP address but do not describe other connection parameters — supported application protocols, ports, or alternate endpoints. Clients may therefore need to discover this information separately during connection establishment — often via a subsequent DNS query or an Alt-Svc header returned only after the first response. Sites that still redirect HTTP to HTTPS add an extra round trip before any of this begins.
HTTPS records deliver these parameters — ALPN identifiers, IP hints, and port information — as part of the original DNS response, allowing compatible clients to begin the connection with more information already available.
HTTPS record structure
An HTTPS record for sample-test.com looks like this:
www.sample-test.com. 1800 IN HTTPS 1 . alpn=h3,h3-29,h2 ipv4hint=1.2.3.4,9.8.7.6 ipv6hint=2001:db8:3333:4444:5555:6666:7777:8888,2001:db8:3333:4444:CCCC:DDDD:EEEE:FFFF
Each element represents:
www.sample-test.com — the domain name
1800 — Time To Live (TTL)
IN — the record class
HTTPS — the record type
1 — the priority (selection preference when multiple HTTPS records exist for the same name)
. — the target host when it is the same as the domain name
alpn=h3,h3-29,h2 — the application protocol versions
(Optional) Name: Leave empty to create a record for the zone apex. To target a specific subdomain, enter the prefix — www for www.sample-test.com.
(Optional) TTL: Leave empty or enter a value in seconds. For production, 1800 or higher allows recursive resolvers to cache the record effectively.
Priority: Enter a number. Use incrementing values when multiple HTTPS records exist for the same name.
TargetName: Enter a valid domain name or leave it as ..
In the Key dropdown, select alpn, then enter the supported protocol identifiers as a comma-separated list: h3, h2, http/1.1, or h3-29.
(Optional) Add an ipv4hint or ipv6hint key and enter the corresponding server IP addresses.
Click Add.
The record now appears in the zone records list:
Verify the record using kdig (the Knot DNS variant of dig). When using standard dig, confirm the version is current — older versions don't support HTTPS record types. The DNS Lookup tool also resolves HTTPS records.
The DNS API creates an HTTPS RRset with a single POST request. The record content is an ordered array: priority, target name, then one sub-array per SvcParam key — alpn, ipv4hint, ipv6hint, port, or ech.
The API returns the full RRset with the same structure as the create response.
Query the record through DNS using kdig, or resolve it with the DNS Lookup tool.
Create HTTPS records using gcore_dns_zone_rrset from the CDB Terraform provider v2. The content field is a list of strings — SvcParam entries (alpn, ipv4hint, ipv6hint, port) must be JSON-encoded because they are arrays internally. Wire-format strings like "alpn=h3,h2" are rejected by the API.
Create an HTTPS record
Each content element maps to one field in the HTTPS record wire format: priority, target, then SvcParams. Encode each SvcParam array with jsonencode().
To create the record at the zone apex, set rrset_name = gcore_dns_zone.example.name. HTTPS records at the apex coexist with NS and SOA records without conflict.
Update an HTTPS record
Edit content — add or remove SvcParam entries, change protocol list, update IP hints — and run terraform apply. Terraform updates the record in place.