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

Сквозная передача SSL против завершения SSL + HTTPS

Я понимаю, что при настройке балансировщика нагрузки HTTPS завершение SSL обычно более благоприятно для скорости и возможности проверять данные и выполнять такие действия, как добавление заголовков, тогда как сквозная передача SSL способствует безопасности, но требует большей вычислительной мощности. Из того, что я прочитал, во время завершения SSL соединение SSL, как следует из названия, прекращено когда он достигает балансировщика нагрузки, и обычно оттуда балансировщик нагрузки и рабочий сервер (ы) обмениваются данными по обычному протоколу HTTP. Текущая конфигурация у меня такая:

клиент --https -> x [балансировщик нагрузки] - https -> [сервер]

Здесь SSL-соединение прерывается в балансировщике нагрузки, но оттуда балансировщик нагрузки инициирует новое HTTPS-соединение с целевым сервером.

У меня вопрос: какое решение быстрее: сквозная передача SSL или завершение SSL + дополнительное соединение HTTPS?

Примечание: я использую haproxy + дешевые виртуальные частные серверы со скоростью 100 Мбит / с и только 1 виртуальное ядро ​​на сервер.

Никогда не предполагайте, какой из них быстрее. Использование балансировщика нагрузки означает перенос некоторой работы на внешний компьютер. Обычно это быстрее, потому что позволяет использовать больше ЦП для вашего приложения. Но если ваше приложение привязано к диску или простаивает, современный ЦП с разгрузкой SSL (например, AES-NI), может быть быстрее старого балансировщика нагрузки.

Совет - всегда тестируйте свои конкретные шаблоны трафика. Проверяйте нагрузку во время теста. Спросите себя, где же узкое место? Затем оптимизируйте, если у вас есть время и / или деньги.

Возможно использование SSL, но в конечном итоге это может варьироваться в зависимости от того, какое программное обеспечение используется в балансировщике нагрузки, сервере приложений, рабочих и т. Д. Чтобы получить фактический ответ для используемого стека, вам нужно будет использовать стресс-тестер, например locust.io, работа, loader.io или один из многие другие.

Затем вы протестируете свой стек в конфигурации «сквозной» и «завершающей», которая покажет ваши результаты.

Для общего ответа на этот вопрос слишком много неизвестных переменных.