Uitleg HTTPS / SVCB

Wat is een HTTPS/SVCB-record?

Een HTTPS-record kan ondersteunende HTTP-clients vóór de verbinding informeren over eindpunten en parameters zoals ALPN, adres-hints en ECH.

Een HTTP-client die HTTPS/SVCB ondersteunt, kan tijdens de DNS-resolutie behalve A en AAAA ook een HTTPS-record (type 65) opvragen. Dat record kan alternatieve eindpunten en verbindingsparameters publiceren, zoals beschikbare ALPN-protocollen. De client hoeft die informatie dan niet pas uit een eerdere verbinding te leren.

SVCB is het algemene raamwerk voor service binding. Iedere toepassing definieert hoe zij het gebruikt. HTTPS is de mapping voor HTTP: HTTP-clients die deze standaard implementeren vragen type 65 op voor een HTTPS-origin.

Wat er in het record staat

Een HTTPS-record heeft een prioriteit, een doelnaam en eventueel parameters. Een ServiceMode-record ziet er bijvoorbeeld zo uit: example.com. HTTPS 1 . alpn="h3,h2".

Een prioriteit groter dan nul betekent ServiceMode. Lagere waarden hebben de voorkeur. De punt betekent hier dat de ownernaam, example.com, de effectieve doelnaam is. alpn="h3,h2" voegt HTTP/3 en HTTP/2 toe aan de SVCB ALPN-set. Voor HTTPS hoort http/1.1 standaard ook bij die set, tenzij no-default-alpn in het record staat. Een ondersteunende client kan daarmee vóór de verbinding bepalen welke transporten kandidaat zijn.

Parameters die je in het wild tegenkomt: - alpn: protocol-identifiers zoals h3 en h2. - ipv4hint en ipv6hint: voorlopige adressen die een client mag proberen. De client hoort A en/of AAAA voor de doelnaam alsnog op te vragen en hoort lokaal beschikbare A/AAAA-antwoorden boven de hints te verkiezen. - port: een afwijkende poort. - ech: een binaire ECHConfigList. Een compatibele client kan daarmee de echte SNI in de versleutelde inner ClientHello plaatsen. DNS-vragen, het bestemmings-IP en verkeersmetadata kunnen de bestemming nog steeds onthullen of aannemelijk maken. SVCB/HTTPS is de primaire DNS-bootstrap voor ECH, niet de enige mogelijke manier waarop een client ECH-configuratie kan krijgen.

AliasMode is geen ServiceMode

Alleen prioriteit 0 betekent AliasMode: example.com. HTTPS 0 cdn.provider.net.. De client vervolgt de HTTPS-opvraag dan bij cdn.provider.net. Parameters op zo'n AliasMode-record worden genegeerd.

Een record als example.com. HTTPS 1 cdn.provider.net. alpn="h3,h2" is dus geen alias. Het beschrijft in ServiceMode een alternatief eindpunt met verbindingsparameters.

AliasMode kan op de apex staan naast andere recordtypes, waar een CNAME dat niet kan. Het werkt wel alleen voor het specifieke SVCB-compatibele recordtype: een HTTPS-alias verandert A-, AAAA- of MX-opvragen niet. Voor oudere clients blijft daarom een bruikbare A/AAAA-route op de oorspronkelijke naam belangrijk. Een SVCB-optionele client die minstens één AliasMode-record heeft gevolgd, probeert ook het uiteindelijke aliasdoel zonder SvcParams voordat hij naar een gewone niet-SVCB-verbinding terugvalt.

Heb je het nodig?

Nee. Bestaande HTTP-protocollen moeten SVCB-optioneel worden geïmplementeerd. Bij een ontbrekend record of zonder bruikbaar ServiceMode-record kan zo'n client de gewone verbindingsroute gebruiken. Daarom kost het ontbreken van HTTPS/SVCB geen punten in de meting.

Het record kan wel nuttig zijn als: - je ondersteunende clients direct een HTTP/3-eindpunt wilt laten overwegen; of dat werkelijk sneller is, hangt af van client, netwerk en configuratie; - je via DNS een ECHConfigList wilt aanbieden; - je ondersteunende clients vanaf de apex naar de HTTPS-configuratie van een CDN wilt sturen.

Providers kunnen HTTPS-records automatisch publiceren. Controleer hun documentatie of DNS-paneel voordat je zelf een tweede, mogelijk conflicterend record toevoegt.

SVCB-optioneel betekent niet dat iedere fout tot gewone A/AAAA-fallback leidt. Mislukt SVCB-resolutie via cryptografisch beschermd DNS door een authenticatiefout, SERVFAIL, transportfout of time-out, dan hoort de client volgens RFC 9460 te stoppen om een downgrade te voorkomen. Een AliasMode-record of een voor die client compatibel ServiceMode-record kan een HTTP-client bovendien het signaal geven een http-URL als tijdelijke https-redirect te behandelen. Welke ServiceMode-records compatibel zijn, hangt van de client af.

Waar het op stuk kan lopen

Het record moet kloppen met de werkelijke dienst. Adverteert het alleen een protocol dat de client niet ondersteunt of het eindpunt niet aanbiedt, dan is die route onbruikbaar. Fallback tussen transporten is clientgedrag en niet gegarandeerd.

Een verouderde ipv4hint of ipv6hint kan een eerste verbindingspoging vertragen. Hints zijn geen vervanging voor actuele A/AAAA-antwoorden. Ook AliasMode-ketens, dubbele prioriteiten en verplichte parameters worden per client verwerkt. Test daarom niet alleen of het record syntactisch geldig is, maar ook of de doelnaam en de bijbehorende A/AAAA-records bereikbaar blijven.

Voor ECH is alleen de parameter publiceren niet genoeg: client, server en de rest van de configuratie moeten ECH ondersteunen. Versleutelde DNS helpt daarnaast voorkomen dat dezelfde hostnaam al in de DNS-vraag zichtbaar is.

Primaire bronnen

Veelgestelde vragen

Is het slecht als ik geen HTTPS/SVCB-record heb?

Nee. Als je gewone A/AAAA-route en HTTPS-dienst werken, kunnen SVCB-optionele HTTP-clients zonder dit record verbinden. Je verliest er geen punten mee in de meting.

Wat is het verschil tussen HTTPS en SVCB?

SVCB is het algemene raamwerk (recordtype 64) dat een toepassing via een eigen mapping kan gebruiken. HTTPS is de HTTP-mapping en heeft recordtype 65. HTTP-clients die deze standaard implementeren vragen voor een HTTPS-origin dus een HTTPS-record op.

Kan ik hiermee een CNAME op mijn apex vervangen?

Voor ondersteunende clients kan HTTPS AliasMode een deel van die rol vervullen. Gebruik daarvoor prioriteit 0 en geen parameters. De alias geldt alleen voor HTTPS-opvragen; oudere clients blijven de A/AAAA-records van de oorspronkelijke naam gebruiken.

Moet ik het zelf aanmaken?

Meestal niet. Een CDN of hoster kan het automatisch publiceren. Maak je het zelf aan, controleer dan of je DNS-provider recordtype 65 ondersteunt en of modus, doelnaam en parameters precies bij de dienst passen.

Controleer HTTPS / SVCB op je eigen domein