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

SNI для мультитенантной балансировки нагрузки в 2015 году

Мы являемся мультитенантной службой и завершаем наш SSL на наших балансировщиках нагрузки (HAProxy + Apache для завершения SSL), это вызывает растущие проблемы из-за требований к выделенному IP. Но времена изменились, и мы рассматриваем возможность перехода на SNI, поэтому я надеялся получить обоснованное мнение на 2015 год о принятии этого стандарта в качестве нашего стандарта.

Я собираюсь обрисовать наши предположения:

Правильно ли я предполагаю, что сейчас SNI практически глобально поддерживается?

... и ...

Есть ли другие сценарии, которые могут повлиять на поддержку?

... и наконец ...

Теперь, когда HAProxy 1.5 поддерживает завершение SSL напрямую, есть ли в вашем опыте какие-либо предостережения, напрямую связанные с SNI, которые повлияют на нашу способность развертывать эту услугу?

Правильно ли я предполагаю, что сейчас SNI практически глобально поддерживается?

Если рассматривать браузеры - да.

Если вам приходится иметь дело с другими приложениями - не совсем:

  • Python 3 имеет поддержку, но Python 2.7. получил поддержку только с только что выпущенной версией 2.7.9
  • Android имеет ограниченную поддержку. HTTPUrlConnection поддерживался долгое время, но SDK содержал старую версию Apache HTTPClient для более продвинутых функций, и эта версия не поддерживала SNI. Не знаю, изменилась ли ситуация с последним SDK.
  • Java получила поддержку только с JDK 1.7
  • Есть еще несколько сканеров для поисковых систем, которые не поддерживают SNI. В соответствии с https://www.mnot.net/blog/2014/05/09/if_you_can_read_this_youre_sniing это содержится в 05/2014 Bing, Yahoo, Baidu и других.

Правильно ли я предполагаю, что сейчас SNI практически глобально поддерживается?

По сути, да - хотя вы, вероятно, столкнетесь с некоторыми пользователями крайнего случая, которые будут жаловаться на неисправность, если потребуется SNI. Если у вас есть возможность сказать этим людям «используйте браузер этого десятилетия, пожалуйста» для ваших услуг, тогда все готово.

Есть ли другие сценарии, которые могут повлиять на поддержку?

Поддержка ОС браузером / клиентом - большая проблема, хотя я могу представить себе некоторые другие забавные проблемы с корпоративными сетями, использующими завершающие прокси SSL, которые не поддерживают передачу SNI-части рукопожатия TLS, что также нарушит SNI.

Теперь, когда HAProxy 1.5 поддерживает завершение SSL напрямую, есть ли в вашем опыте какие-либо предостережения, напрямую связанные с SNI, которые повлияют на нашу способность развертывать эту услугу?

Я не могу напрямую говорить о предостережениях с HAProxy - мы используем его завершение SSL, но не SNI поверх него.