В настоящее время я могу получить один 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, затем rsync его на сервер 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
?
IMHO, у каждого сервера должен быть собственный закрытый ключ, вы можете выдавать столько сертификатов, сколько хотите, с LE, единственная причина, по которой я могу придумать для использования нескольких SAN на IP-адрес, - это если ваши клиенты не могут выполнять SNI (пример: старые клиенты Java, если вы используете webhooks / 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