Я знаю, что вы можете предоставить SSL на любом поддомене с SSL-сертификатом с подстановочными знаками, но как вы можете это сделать, а также иметь SSL в корне (т.е. когда кто-то просто набирает https://example.com/
без www
)? Могу ли я просто установить сертификат wild card и второй сертификат для обработки запросов root: 443? Я не могу использовать mod_rewrite, потому что браузер не зайдет так далеко, прежде чем предупредит пользователя об отсутствии SSL.
Один сертификат со всеми доменами, описанными в атрибуте «Альтернативное имя субъекта X509v3», может выполнять эту работу. Большинство современных веб-браузеров поддерживают этот AFAIK, хотя я не уверен, выдают ли такие сертификаты известные коммерческие центры сертификации.
Многие центры сертификации (включая Comodo и DigiCert) будут включать базовое доменное имя в качестве бесплатного SAN в свои групповые сертификаты: http://www.sslshopper.com/ssl-certificate-comparison.html?ids=26,13,45
Таким образом, вы можете использовать один подстановочный сертификат для защиты domain.com и something.domain.com. Таким образом вы не получите никаких ошибок, но вы все равно можете перенаправить их на www.
Боюсь, для работы нужны 2 сертификата.
Я использую для этой цели mod_rewrite, я перенаправляю запрос из https://domain.com/application/ к https://www.domain.com/application/ используя следующие правила:
RewriteEngine On
# Use correct hostname
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301, L]
Таким образом, вам понадобится только один сертификат SSL с подстановочными знаками.