Мы создаем систему управления контентом для нашей компании. Важно, чтобы эта CMS поддерживала динамические доменные имена на динамическом количестве серверов. После многих часов исследований мы решили, что Amazon Elastic Beanstalk - лучший выбор. Одна вещь, которая нам также нужна, - это возможность динамически включать SSL для доменов, связанных с нашей системой.
Итак, в нашей системе мы можем создать «сайт», который будет связан с доменом. Когда сайт будет создан, мы также должны иметь возможность выбрать, будет ли домен размещаться через SSL / TLS. Мы планируем использовать white label для системы и ожидаем, что с ней будет связано большое количество доменов.
Я изучаю различные возможности установки SSL на серверах (или балансировщике нагрузки) и возможности для изменения защищаемых доменов на лету. Вот где я нахожусь:
- Использование диспетчера сертификатов Amazon : это был бы наиболее желательный способ сделать это. Он интегрирован с AWS и очень прост в использовании. Однако у него есть несколько изнурительных ограничений: 1. Вы должны подтверждать каждый домен по электронной почте каждый раз, когда запрашиваете новый сертификат. Ничего страшного, кроме 2. Он не может применять сертификаты к экземплярам EC2, только балансировщикам нагрузки и балансировщикам нагрузки может быть назначен только один сертификат. Это означает, что вам нужно повторно подтверждать каждый домен, когда вы хотите, чтобы другой домен был защищен. Ничего хорошего.
- Использование Let's Encrypt на балансировщике нагрузки : это будет следующий лучший способ (насколько я понимаю) защитить наши сайты. Всякий раз, когда требуется защитить новый сайт, мы запрашиваем новый сертификат для всех доменов, которым требуется SSL. После создания сертификата мы отправляем его в IAM и говорим EBS связать балансировщик нагрузки с новым сертификатом. Единственная проблема, которую я вижу здесь, это то, что LetsEncrypt ограничивает свои сертификаты 100 доменами, как и платный, но относительно недорогой провайдер SSL, SSLMate. На данный момент может работать, но не масштабируется. Существует ли автоматизированный поставщик SSL, у которого нет ограничений на количество доменов в сертификате?
- Использование сквозного SSL : Elastic Beanstalk от Amazon позволяет настроить его таким образом, чтобы балансировщик нагрузки проходил через зашифрованный трафик прямо к экземплярам EC2. Затем вы можете разрешить экземплярам EC2 обрабатывать сертификаты. Затем я могу использовать LetsEncrypt и назначить отдельный сертификат для каждого домена. При рассмотрении возможности автомасштабирования я столкнулся с проблемой: нам нужно будет дублировать сертификаты для разных экземпляров. Моим решением было бы хранить сертификаты в защищенном ведре S3, затем запустите cron на всех экземплярах EC2, чтобы получить новые / обновленные сертификаты.
Есть ли какие-либо опасения по поводу последней идеи? Есть ли лучшее решение для того, что я пытаюсь сделать? Я что-то пропустил? Беспокойство? Или, может быть, супер простое решение моей проблемы?
Обратите внимание, что я использую докер, поэтому я могу настроить на сервере все, что мне нужно.
Ссылка