Вопрос: Нужно ли каждому серверу, стоящему за балансиром нагрузки, собственный сертификат SSL?


Если у вас есть 5 веб-серверов за балансиром нагрузки (например, haproxy), и они обслуживают контент для того же домена, вам нужны сертификаты SSL для всех серверов или вы можете использовать один и тот же сертификат на каждом сервере?

Я знаю, что вы можете поместить все запросы SSL на определенный сервер, но для этого требуется информация о распределенном сеансе и надеяться, что это не произойдет.


59
2017-09-25 16:08


Источник




Ответы:


Если у вас есть 5 веб-серверов за балансиром нагрузки (...)   вам нужны сертификаты SSL для всех серверов,

Это зависит.

Если вы выполняете балансировку нагрузки на уровне TCP или IP (уровень OSI 4/3, a.k.a L4, L3), то да, всем HTTP-серверам необходимо будет установить сертификат SSL.

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

Если у тебя есть большой установка, то вы можете делать Интернет -> L3 балансировка нагрузки -> уровень концентраторов L7 SSL -> балансировщики нагрузки -> уровень серверов приложений HTTP L7 ...

У Вилли Тарро, автора HAProxy, есть действительно хороший обзор канонические способы балансировки нагрузки HTTP / HTTPS,

Если вы устанавливаете сертификат на каждом сервере, то обязательно получите сертификат, который поддерживает это. Обычно сертификаты могут быть установлены на нескольких серверах, если только серверы обслуживают трафик только для одного полностью квалифицированного доменного имени. Но проверьте, что вы покупаете, у эмитентов сертификатов может быть запутанный портфель продуктов ...


61
2017-09-25 16:30



Теперь вы можете приобретать сертификаты с альтернативными именами субъектов со многих эмитентов. В поле SAN разрешен сертификат, действительный для нескольких FQDN. ПРЕДУПРЕЖДЕНИЕ. Могут возникнуть некоторые проблемы со старыми веб-клиентами (IE6!), В некоторых случаях клиент не будет читать атрибут SAN, если атрибут Subject имеет недопустимое полное доменное имя. - Ryan Fisher
Плюс 1 для ссылки на эту замечательную статью Вилли Тарро. - Nathan Hartley
В средних и крупных установках выполнение разгрузки SSL на Big IP или другом балансировщике нагрузки (второй вариант, указанный выше) имеет преимущества быть более быстрыми, более масштабируемыми, менее сложными (как правило, один сертификат на LB) и менее дорогостоящим из сертификата лицензионная сторона (многодоменные и сертификаты SAN становятся дорогими). - Darrell Teague


Вы должны иметь возможность использовать один и тот же сертификат на каждом сервере. Если ваш веб-сайт www.gathright.com, вы должны иметь возможность купить сертификат для этого полного доменного имени. Затем вы устанавливаете его на каждом из ваших 5 серверов за балансиром.

Кроме того, вы можете получить отдельный сертификат для каждого веб-сервера, но включить «www.gathright.com» в качестве «Альтернативного имени субъекта», что означает, что каждый из 5 сертификатов будет действителен для SSL для этого общего полного доменного имени, а также для SSL к конкретным FQDN серверам.


12
2017-09-25 16:18



Чтобы прояснить этот ответ, вы установите сертификат на сервере, который сгенерировал запрос. Затем вы экспортируете сертификат с этого сервера вместе с закрытым ключом, чтобы импортировать его на других серверах. - Charles
D'о! Да, я забыл упомянуть, что вам нужно экспортировать закрытый ключ. Спасибо, Чарльз. - Ryan Fisher
Но если я использую сертификаты SAN на каждом сервере, им нужен один и тот же закрытый ключ? - anschoewe
@anschoewe, нет. У каждого из них будет свой собственный секретный ключ, и вам придется заплатить x5 за цену, если у вас 5 компьютеров. - Alexis Wilke
@AlexisWilke - не уверен, что это означает: если они используют сертификат SAN, им нужен только один сертификат, а значит, один ключ и, следовательно, 1 цена. Сертификаты SAN могут использоваться на нескольких серверах для обслуживания одного или нескольких доменов; цена увеличивается при добавлении домены, а не при добавлении серверы - dwanderson


ДА, вы можете использовать один и тот же сертификат и связанный с ним закрытый ключ на всех ваших серверах, если они находятся за балансировщиком нагрузки или балансировкой нагрузки, обратным прокси-сервером, и если все они обслуживают контент для того же домена.

Сертификаты, подписанные центром сертификации, утверждают, что центр сертификации подтвердил имя перечисленных в сертификате. Для сертификатов для веб-сайтов это означает доменное имя веб-сайта. Ваш браузер ожидает, что сервер, с которым он разговаривает, если он говорит через HTTPS, представляет сертификат с тем же имя как имя домена, о котором думает браузер. (Например, VeriSign вряд ли подпишет сертификат Hacker Joe на bankofamerica.com. Поэтому, даже если Hacker Joe сможет перехватить трафик между вами и bankofamerica.com, у Hacker Joe нет подписанного сертификата для bankofamerica.com и вашего браузера будет помещать большие красные предупреждающие флаги повсюду.)

Важно то, что имя по сертификату соответствует доменному имени, которое браузер считает, что он разговаривает. Вы можете использовать один и тот же сертификат (с соответствующим закрытым ключом) с правильным именем на нескольких веб-серверах в веб-кластере, если они находятся за балансировщиком нагрузки.

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


10
2018-04-27 13:44





Наша настройка работала очень хорошо:

https trafic
     |
   pound
     |
http traffic
     |
  haproxy
     |
http traffic 
     |
web server 1 ... web server n

Таким образом, фунт расшифровывает трафик, отсюда все прямо http. Преимущества: меньшая конфигурация на веб-серверах, один инструмент для каждой работы. Вы можете максимизировать процессор на фунт-машине и поддерживать «обычные» веб-серверы. Вы должны получить как минимум два из них (фунт, гапрокси, веб-серверы), если важно время работы.


5
2017-12-08 21:02



Это также предполагает, что ваши серверные компьютеры находятся в безопасной частной сети. В облаке это не всегда так ... - Alexis Wilke


AFAIR, вы можете использовать тот же сертификат на каждом сервере. Вы также можете реализовать ускоритель SSL и разгрузить весь трафик SSL на него.


0
2017-09-25 16:17