Что такое SNI?

Middle
168 просмотров
AFK Offer AI

SNI (Server Name Indication) — расширение TLS, где клиент указывает hostname в ClientHello до установки шифрования. Это позволяет одному IP обслуживать несколько HTTPS доменов с разными сертификатами. Без SNI сервер не знает, какой сертификат отправить — видит только IP. Nginx, Caddy используют SNI для виртуальных хостов. В Go: tls.Config{GetCertificate: func(hello *tls.ClientHelloInfo)} — hello.ServerName содержит SNI. Минус: hostname передаётся в открытом виде (до шифрования). ESNI/ECH решает это, шифруя SNI.

Следующий вопрос

Как параллелизировать CI pipeline?