У меня есть веб-сервис, который обеспечивает простую функциональность конструктора сайтов со страницей оплаты.
Пользователь может выбрать домен для покупки, например. user.com, выберите какой-нибудь шаблон и укажите этот домен с CNAME на мой веб-сервис, например. site.constructor.com.
А сайтов таких пользователей очень много, и все они указывают на site.constructor.com.
Сайт веб-сервиса покрыт подстановочным сертификатом * .constructor.com, размещенным на AWS, а сертификат SSL применяется к обработчику HTTPS Load Balancer.
Теперь, когда кто-то перемещается https://user.com он получает соответствующий контент от sites.constructor.com, но перед этим он получает окно с предупреждением, что user.com не содержит правильный сертификат (потому что используется сертификат хоста).
А теперь мне нужно сделать https://user.com защищены, но не могу понять, как это сделать.
У меня нет конфигурации балансировщика нагрузки или конфигурации веб-службы для этого домена. единственный вход - это CNAME и запись БД с именем домена пользователя. Поэтому я даже не могу просто купить новый сертификат для пользовательского домена и применить его.
Как лучше всего защитить домен CNAME?
UPD.1. поток доступа пользователя к домену
1. Navigate _https://user.com_
there is only domain control panel with CNAME which points to the _site.constructor.com_
2. call to the AWS load balancer of _site.constructor.com_ with applied SSL (SSL is NOT for _user.com_)
3. access to the EC2, etc...
Где должно быть user.com сертификат применяться? возможно ли в этом случае использовать самогенерируемый сертификат для user.com?
Там есть CNAME
запись, а не запись прямого адреса (A
/AAAA
) не является фактором. Проверка сертификата основана на имени хоста в URL-адресе местоположения.
Для перехода к https://example.com/
для работы вам понадобится сертификат, действительный для example.com
. Т.е. сертификат, имеющий example.com
как субъект CN (Обычное имя) или имеющее example.com
в его SAN Список (Альтернативное имя субъекта).
Помимо Хокана Линдквиста, ответ по поводу вашего обновления:
Где должен быть применен сертификат user.com?
На машине, которая завершает ваш HTTPS
/ TLS
.
Можно ли в этом случае использовать самогенерируемый сертификат для user.com?
Конечно ... но их использование даст вашим посетителям предупреждения о сертификате (при условии, что сертификат CA не известен / не заслуживает доверия в их браузерах). Если вы хотите предотвратить это, вам необходимо получить сертификаты, подписанные известным и «доверенным» центром сертификации. (Если мы говорим о многих доменах, возможно, взглянем на Давайте зашифровать: "Это бесплатно, автоматизировано и открыто".)
В дополнение к другим ответам обратите внимание, что если ваш сервер обрабатывает SSL / TLS для многих разных доменов, вам потребуется либо не замужем сертификат покрытия все доменов или имеют Индикация имени сервера (SNI) настроен на сервере, чтобы он мог использовать разные сертификаты для разных доменов. Клиент также должен поддерживать SNI, но все современные веб-браузеры поддерживают, хотя обратите внимание, что большинство браузеров в Windows XP этого не делают. (Теоретически есть третий вариант - иметь многосетевой сервер, использующий разные IP-адреса для каждого домена, но я думаю, что это вряд ли будет для вас осуществимо.)
Вы должны перенаправить запрос прямо на свой поддомен. Это скрытое перенаправление, поэтому здесь нет действующего сертификата для запрошенного домена.