SSL-сертификат с подстановочными знаками для нескольких ELB в VPC

Я очень новичок в установке сертификатов и вообще в AWS. Теперь в моей текущей инфраструктуре у меня есть 3 ELB, которые находятся в VPC.

Я купил SSD сертификат подстановочного знака от COMODO через Big Rock.

Я хочу, чтобы все общение между моими ELB и внешним миром происходило по протоколу HTTPS.

  1. Как мне этого добиться?
  2. Могу ли я установить один сертификат, который у меня есть, на все три ELB?
  3. Есть ли лучший способ сделать это?
  4. Кроме того, поскольку у меня есть подстановочный сертификат, я не смог бы использовать его для api.example.com, но не для самого example.com (насколько я понимаю). Однако то, что видимо во внешнем мире, - это сейчас example.com (а не api.example.com). Так что мне нужно купить еще один сертификат для вышеуказанного сценария?
  5. К какому типу сертификатов (я читал о SSL-сертификатах UCC здесь) я должен обратиться, учитывая, что у меня также есть example.in в качестве домена, где размещен тот же сайт.

Прошу прощения за мое невежество по этому вопросу.

2 ответа

Решение

Я хочу, чтобы все общение между моими ELB и внешним миром происходило по протоколу HTTPS. Как мне этого добиться?

Полное отключение обычного HTTP обычно не включено, но вы можете настроить свои веб-серверы на перманентное перенаправление любого незашифрованного запроса с http://... в https://...

Могу ли я установить один сертификат, который у меня есть, на все три ELB?

Там нет технической причины, почему вы не могли.

Кроме того, поскольку у меня есть подстановочный сертификат, я не смог бы использовать его для api.example.com но не для example.com сам (согласно моему пониманию).
Однако то, что видно внешнему миру, это example.com на данный момент (и не совсем api.example.com) Так что мне нужно купить еще один сертификат для вышеуказанного сценария?

Да подстановочный знак для *.example.com действительно только для <valid_hostnames>.example.com и ни для простого / голого example.com ни *.*.example.com буду работать. Смотрите этот Q&A для деталей.

Технически возможно также включить обычный домен с подстановочным сертификатом через расширение альтернативного имени субъекта, делая сертификат действительным для обоих *.example.com а также example.com но какие реселлеры SSL делают это автоматически, я не знаю. Таким образом, вам может не понадобиться еще один (заменяющий) сертификат.

Вы можете проверить с openssl x509 -in certificate.crt -text -noout что приведет к чему-то похожему, когда SubjectAltNames присутствуют:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
           ....
        Subject: ..., CN=*.example.com
           ...
        X509v3 extensions:
           ...
           X509v3 Subject Alternative Name:
                DNS:*.example.com, DNS:example.com

Если это не так, вам может понадобиться другой сертификат, чтобы иметь возможность использовать пустой домен в дополнение к текущему шаблону. Индикация имени сервера (SNI) - это то, что требуется для использования двух разных сертификатов SSL и их правильной работы на одном экземпляре ELB.

К сожалению, как указано в документации по продукту Elastic Load Balancing в отношении HTTPS:

Elastic Load Balancing не поддерживает индикацию имен серверов (SNI) на вашем балансировщике нагрузки.

Таким образом, два сертификата на одном ELB не разрешены.

С каким типом сертификата (я читал о сертификатах UCC SSL здесь) мне следует идти, учитывая, что у меня также есть example.in в качестве домена, где размещается тот же сайт.

Документация по продукту ELB дает две стратегии:

  • Купите один многодоменный сертификат с альтернативным именем субъекта (SAN) для каждого дополнительного домена (иногда называемый сертификатом унифицированных коммуникаций (UCC) вместо сертификата SAN) и используйте его на ELB.

  • Используйте прослушиватели TCP на порту 443 для внешних и внутренних подключений. Балансировщик нагрузки пропускает запрос, и вы обрабатываете завершение HTTPS из экземпляра EC2 с помощью веб-сервера, который поддерживает SNI.

Если сертификат * Wildcard выдан для *.example.com, вы можете защитить example.com, api.example.com и любые другие субдомены с помощью одного сертификата SSL с подстановочным знаком. Comodo Wildcard SSL предлагает неограниченные серверные лицензии, и вы должны установить сертификат на все 3 ELB, чтобы настроить безопасную среду на своих поддоменах.

Если вы хотите защитить разные доменные имена, которые ссылаются на разные TLD, такие как example.com, example.in и example.anytld, то вам следует использовать сертификат UCC SSL. Вы можете добавлять или редактировать альтернативные имена субъектов (SAN) в любое время в течение срока действия сертификата.

Если ваше требование заключается в защите нескольких веб-сайтов и всех их поддоменов, вы можете использовать Comodo Multi Domain Wildcard SSL.

Другие вопросы по тегам