SSL-сертификат с подстановочными знаками для нескольких ELB в VPC
Я очень новичок в установке сертификатов и вообще в AWS. Теперь в моей текущей инфраструктуре у меня есть 3 ELB, которые находятся в VPC.
Я купил SSD сертификат подстановочного знака от COMODO через Big Rock.
Я хочу, чтобы все общение между моими ELB и внешним миром происходило по протоколу HTTPS.
- Как мне этого добиться?
- Могу ли я установить один сертификат, который у меня есть, на все три ELB?
- Есть ли лучший способ сделать это?
- Кроме того, поскольку у меня есть подстановочный сертификат, я не смог бы использовать его для api.example.com, но не для самого example.com (насколько я понимаю). Однако то, что видимо во внешнем мире, - это сейчас example.com (а не api.example.com). Так что мне нужно купить еще один сертификат для вышеуказанного сценария?
- К какому типу сертификатов (я читал о 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.