The TLS-SNI header is used by CDN servers to route requests based on the Server Name in the header. However, a typical front end server, or even a load balancer (LB), belongs to a single app or organization, and does not typically need to handle the SNI header. The easy and reasonable way to configure TLS certificates on such a server, is to either:
Serve all requests with a single TLS certificate that has SANs (Subject Alternative Names) for all the domains that are used
Have multiple certificates, chosen according to SNI, with one of them as the default.
In both of these common cases, sending a HTTPS request directly to the IP of a front end server, without any SNI, will present us with a default server certificate. This certificate will reveal what domains are being served by this server.
So apparently the real issue is that people aren’t using SNI correctly.
From the article:
So apparently the real issue is that people aren’t using SNI correctly.