Назад | Перейти на главную страницу

Что происходит, когда браузер не поддерживает SNI

На первый взгляд простой вопрос, но тем не менее актуальный.

Что именно происходит, когда браузер, не поддерживающий SNI, пытается посетить сайт, настроенный для принудительного использования SSL через SNI.

Спасибо

Он точно не сможет загрузить сайт. Вот почему в ближайшее время ни один крупный сайт не будет перемещен на HTTPS-сайты с поддержкой SNI. IE6 и IE7 в XP кажутся крупнейшими старыми браузерами, не поддерживающими SNI.

Если вы можете получить браузеры, не поддерживающие SNI, вы можете увидеть, что произойдет, перейдя в https://alice.sni.velox.ch/

Также имеет значение, какое серверное программное обеспечение вы используете. С Apache браузеры без поддержки SNI получат только первый настроенный веб-сайт (и, возможно, предупреждение о несоответствии имени хоста).

Вероятно, он подключится к виртуальному хосту SSL по умолчанию. Другими словами, тот же сайт, который вы увидите, если подключитесь по IP: https://1.2.3.4/

Это зависит от того, как ваш веб-сервер реагирует на получение HTTPS-запроса без SNI. (Если вы хотите проверить это, вы можете имитировать браузер без поддержки SNI с помощью openssl. Требуются базовые знания протокола HTTP.)

В IIS 10 происходит следующее:

  • Если настроен «SSL-сайт по умолчанию» (сайт, привязанный к порту 443 без имени хоста), клиент, не использующий SNI, увидит:

    • в свидетельство из дефолт (неверно) SSL-сайт (обычно приводит к предупреждению о сертификате, если вы не настроили сертификат SSL-сайта по умолчанию для включения SAN для все сайты, размещенные на вашем IP-адресе) и
    • в содержание из просил (правильный) сайт (после того, как пользователь отклонил предупреждение о сертификате).

    В этом есть смысл:

    1. Рукопожатие SSL происходит до того, как HTTP-запрос может быть передан. Таким образом, без поддержки SNI браузером у сервера нет другого выбора, кроме как вернуть сертификат сайта SSL по умолчанию.
    2. После того, как SSL-соединение установлено (с использованием «неправильного» сертификата), сервер получает HTTP-запрос, считывает запрошенное имя хоста через Host: заголовок и возвращает правильный контент.
  • Если «SSL-сайт по умолчанию» не настроен, соединение будет закрыто.

(Источник: только что протестировал его на старой виртуальной машине Windows XP IE8.)

Я только что протестировал его с помощью IE 4.0, работающего на Windows NT 4 Workstation. Мой веб-сайт, размещенный на http://www.nosupportlinuxhosting.com/, отлично загружается. Я не уверен, соответствует ли их хостинг вышеуказанным критериям, но их страница «Ограничения» предполагает, что это так. Я немного удивлен, что страница загрузилась.