InfraNestInfraNest
SSL/TLS

Server Name Indication (SNI)

Server Name Indication (SNI) is een TLS-extensie waarmee een client de hostnaam kan opgeven die het verbindt tijdens de initiële TLS-handshake, waardoor meerdere HTTPS-certificaten vanaf één IP-adres kunnen worden geserveerd.

Server Name Indication (SNI) is een TLS-protocolextensie waarmee een client de doelhostnaam als onderdeel van het ClientHello-bericht aan het begin van de TLS-handshake kan versturen, voordat de server zijn certificaat verzendt. Dit lost het probleem van naamgebaseerde virtuele hosting voor HTTPS op — meerdere domeinen met verschillende certificaten kunnen nu één IP-adres delen.

Zonder SNI kon een server niet weten welk certificaat moet worden gepresenteerd totdat het de TLS-handshake-aanvraag had gelezen; met SNI is de hostnaam vooraf in duidelijke tekst zichtbaar, zodat de server het juiste SSL-certificaat voor dat domein selecteert en retourneert. Dit werd kritiek toen HTTPS-adoptie op schaal plaatsvond en IPv4-adressen schaars werden.

Voorbeeld: Één server-IP host zowel example.com als example.org. Wanneer een client verbinding maakt met example.org, voegt het server_name = example.org in de ClientHello in. De server leest dit en reageert met het certificaat voor example.org in plaats van een standaard of niet-overeenkomstig certificaat.

WarningSNI wordt in duidelijke tekst in de ClientHello verzonden — de hostnaam is zichtbaar voor netwerkobservers, firewalls en ISP's, ook al is de rest van de sessie versleuteld. Dit maakt hostname-gebaseerde censuur mogelijk ondanks HTTPS. Encrypted Client Hello (ECH), een voorgestelde TLS-extensie, is bedoeld om SNI in de toekomst te versleutelen, maar de adoptie is nog steeds opkomend.

Verouderde TLS-clients (Windows XP, Android <2.3, oud Java) ondersteunen SNI niet en zullen certificaatvalidatie op gedeelde-IP multi-domain hosting mislukken. Moderne clients, browsers en systemen ondersteunen SNI sinds het midden van de jaren 2000. SNI is gedefinieerd in RFC 6066 en ongewijzigd overgedragen naar TLS 1.3.

Gerelateerde termen

Begin in seconden

Breng je hele infrastructuur samen in één modern dashboard.

Gratis plan · Geen creditcard nodig · In enkele minuten ingesteld