В настоящее время я могу получить один SSL-сертификат Let's Encrypt, работающий на одном сервере с несколькими поддоменами .
например. m.example.com, www.example.com, example.com на сервере A
Однако, чтобы использовать, например. cdn.example.com на сервере B, как я могу реализовать?
Мои идеи:
(1) единый сертификат на сервере A, содержащий все поддомены: cdn.example.com, m.example.com, www.example.com, example.com, затем синхронизировать его с сервером B
(2) один сертификат на сервере A, содержащий: m.example.com, www.example.com, example.com
второй сертификат на сервере B, содержащий только: cdn.example.com
Какой правильный или лучший подход для реализации?
Я не уверен, что мне разрешено создавать несколько сертификатов для одного корневого домена example.com
Я считаю, что (1) проще, когда дело доходит до продления, если я масштабирование до нескольких серверов.
Можно ли это сделать таким образом? Или это избыточно?
ОБНОВЛЕНИЕ:
одинаковый сертификат SSL на двух серверах не полностью отвечает на мой вопрос. Принятое решение частично отвечает, что сертификат SSL зависит от FQDN, и не зависит от машины.
Если это так, не является ли предложенное мной (1) упрощенное решение?
Мой вопрос:
Могу ли я получить частичный сертификат SSL, содержащий только субдомен cdn .example.com
, но исключая другие на сервере B, тогда есть еще один сертификат SSL, выданный для сервера A с корневым доменом example.com
, www.example.com
, и m.example.com
?
ИМХО, У каждого сервера должен быть собственный закрытый ключ, вы можете выдавать столько сертификатов, сколько хотите, с LE, единственная причина, по которой я могу придумать для использования нескольких SAN на IP-адрес, - это если ваши клиенты не могут выполнять SNI (пример: старые клиенты Java, если вы ' повторно используют веб-перехватчики / api или другие конечные точки).
TL; DR; вариант 2, просто не забудьте установить свои cronjobs автоматического продления и ввести действующий адрес электронной почты на случай, если что-то пойдет не так.
Еще одна причина, по которой я бы использовал отдельные ключи для вашего приложения / ресурсов, - это разные уровни доверия. Я предполагаю, что ваши изображения не имеют такого значения, как ваш код / контент, и вы не будете отправлять формы своим пользователям через CDN, сервер A может находиться на месте, а сервер B в общедоступном облаке на SSD.
Let's Encrypt теперь поддерживает групповые сертификаты, которые, я думаю, лучше всего подходят для вашего варианта использования.
В следующем сообщении блога Let's Encrypt описывается, как сгенерировать групповой сертификат с помощью задачи Let's Encrypt DNS-01.
https://community.letsencrypt.org/t/acme-v2-production-environment-wildcards/55578