Problema
A veces, varios sitios web se encuentran en un servidor, tienen la misma dirección IP, pero cada uno de ellos tiene su propio certificado SSL. En tales casos, un servidor puede no saber cuál de los certificados debe usar cuando un dispositivo cliente intenta conectarse a un sitio web. La razón es que el protocolo de enlace SSL / TLS tiene lugar antes de que el dispositivo cliente envíe un mensaje a través de HTTP diciendo a qué sitio web intenta conectarse. Esto puede resultar en un llamado «error de desajuste de nombre común». Significa que un cliente se conecta a la dirección IP correcta, pero el nombre común en el certificado SSL no coincide con el nombre de dominio.
Solución
SNI participa en el protocolo de enlace TLS/SSL y ayuda a los clientes a ver el certificado SSL correcto para la fuente que intentan conectar. SNI agrega el nombre de dominio durante el protocolo de enlace TLS para que el proceso TLS alcance el nombre de dominio correcto y obtenga el certificado SSL correcto, lo que permite que el resto del protocolo de enlace TLS continúe como de costumbre. En particular, SNI introduce el nombre de host en el mensaje de Saludo al cliente, que es el primer paso del protocolo de enlace TLS. Por lo tanto, SNI permite a los clientes abrir una conexión segura con un sitio web, incluso si muchos otros recursos tienen la misma dirección IP.
SNI fue añadido como una extensión a TLS/SSL en 2003, e inicialmente no era parte del protocolo. Casi todos los navegadores, sistemas operativos y servidores web admiten SNI. Si utiliza una versión de navegador muy antigua o un sistema operativo móvil como BlackBerry, lo más probable es que no pueda visitar ciertos sitios web y su navegador enviará un mensaje de error «Su conexión no es privada».