Мы хотим защитить следующие домены на одном сервере (1IP) с несколькими виртуальными хостами:
secure.ourapp.com (VHOST1)
www.ourapp.com/login (VHOST2)
www.ourapp.com/signup (VHOST2)
Прочитав много о serverfault и в Интернете, я обнаружил, что у нас есть 2 варианта, с которыми можно работать.
В GoDaddy я нашел два варианта:
Single Domain with Unlimited Subdomains (Wildcard): €153.87
Multiple Domains (UCC): €69.23
Может ли кто-нибудь посоветовать нам, какой сертификат будет наиболее подходящим? Мы ищем решение, которое легко поддерживать / внедрять и которое защищает указанную выше настройку URL-адреса на одном сервере.
Для нас важна совместимость браузеров. IE6 также должен быть защищен с помощью SSL.
В любом случае с одним IP у вас будет ограниченная поддержка. SNI, который позволяет VirtualHost с SSL, поддерживается только в современных браузерах.
Совместимость SNI
Если вам нужна согласованная совместимость с IE для вашего SSL-соединения без ошибок, вам потребуется несколько IP-адресов.
Если вы уверены, что собираетесь придерживаться указанного вами списка имен хостов как минимум в течение года, я бы выбрал UCC, потому что это дешевле. Если вы ожидаете, что позже потребуется добавить еще несколько виртуальных хостов SSL для имен хостов в том же домене, ROI будет с сертификатом с подстановочными знаками, так как вам не придется покупать новый сертификат.
И UCC, и подстановочный знак будут реализованы одинаково, и обслуживание не будет изменяться.
Я не знаю, почему здесь говорят о SNI и множественных IP. Подстановочный сертификат - это ОДИН сертификат, а сертификат UCC / SAN также является ОДНИМ сертификатом. Таким образом, здесь не требуется настройка VHOST на основе SNI или IP. Используйте подстановочный сертификат, если вы думаете, что в будущем будет больше поддоменов SSL.
Самый дешевый способ - это правило перезаписи, например:
<Location /login>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/login [R]
</Location>
<Location /signup>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/signup [R]
</Location>
и перекодируйте приложение, чтобы разрешить работу этих URL-адресов в соответствии с директивой SSL. Таким образом, вам понадобится только один простой сертификат SSL.
я рекомендую вам Подстановочный SSL-сертификат для защиты вашего домена плюс субдомен.
Если у вас есть только один IP-адрес и вы используете VHOST, я бы выбрал групповой сертификат, поскольку Apache допускает только один сертификат на статический IP-адрес. Есть пошаговое руководство по настройке Apache таким образом Вот
Вам не нужно несколько IP-адресов, и вам не нужно использовать SNI (который еще не полностью поддерживается). Лучший (и самый дешевый) вариант для вашего сайта - использовать подстановочный знак или сертификат UCC. Сертификат UCC будет вашим самым дешевым вариантом, если вам нужно защитить только 2 имени хоста (secure.ourapp.com и www.ourapp.com). После того, как вы установили сертификат, вам нужно будет включить его для обоих VirtualHosts, используя информацию внизу этой страницы: http://www.sslshopper.com/article-how-to-configure-ssl-host-headers-in-iis-6.html
Вам не нужно беспокоиться о совместимости браузера. Если вы покупаете у проверенного поставщика, такого как GoDaddy, все сертификаты будут совместимы.