Ohne SNI wüsste ein Server mit vielen HTTPS-Sites auf einer IP nicht, welches Zertifikat er vorlegen soll, denn der HTTP-Host-Header kommt erst nach dem Handshake. SNI löst das, und ist die Grundlage für Shared Hosting, Reverse Proxys und CDNs.
Fehlt SNI in der Anfrage, liefert der Server sein Standardzertifikat, oft das falsche. Das passiert bei Tests mit openssl s_client ohne -servername, bei sehr alten Clients oder bei Monitoring-Checks, die nur die IP ansprechen.
Der Hostname im SNI wird bei TLS 1.2 und 1.3 im Klartext übertragen. Encrypted Client Hello (ECH) soll das ändern, ist aber noch nicht überall verfügbar.
Beispiel
openssl s_client -connect 203.0.113.10:443 -servername cloud.example.com