Как при помощи SNI установить SSL только для одного домена, если на этом же ip висят еще несколько доменных имен?
Здравствуйте,
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16
На серве около двадцати сайтов, все под одним IP.
Необходимо подключить SSL только к одному из них, чтобы другие продолжали открываться по протоколу HTTP.
Знаю, что можно это сделать с помощью SNI.
Но не занимаюсь конфигурированием серверов, поэтому не знаю, что и куда прописывать
Прошу помочь.
Никак. Точнее SNI тут ни при чем.
SNI это механизм проверки имени домена для HTTPS/SSL - по порту 443.
Когда вы подключите SSL сертификат к одному домену, у вас будет 20 сайтов, работающих по HTTP (порт 80, без шифрования) и один по HTTPS (порт 443, с шифрованием).
Путаете понятия. Просто подключите сертификат к апачу для сайта site1.ru и поглядите что получится. Не забудьте редирект c site1.ru на https://site1.ru
Подключила сертификат в панели ISPManager, редирект сделала в .htaccess, этого достаточно для корректной работы?
Сейчас сайты открываются, как мне нужно, спасибо, вопрос решен! Не могли бы вы помочь с пониманием? На одном из сайтов с инструкцией как устанавливать ssl через isp5, написано следующее:
"Внимание! Если на сервере несколько сайтов, а сертификат вы ставите на один, произойдёт ошибка. Сайты без сертификата тоже начнут работать по HTTPS, но будут вести на домен с сертификатом. Браузер будет предупреждать, что сертификат не соответствует доменному имени. Выход из ситуации – поставить сертификат на каждый домен или перевесить сайт с сертификатом на отдельный IP-адрес".
При этом, если чекать на корректность установленного ssl любой другой сайт, расположенный на этом серве, выдается такой результат:
То есть сейчас все сайты работают по выданному сертификату?
Это чем-то чревато для SEO?
Если пробовать заходить на сайты без сертификата через https, выдает сообщение, что соединение небезопасно и т.д., этого как-то можно избежать?
Правильно ли я понимаю, что SNI пригодится мне только в том случае, если я решу ставить на другие домены на этом серве свои сертификаты?
sni заработает тогда, когда вы подключите ssl на еще один сайт на этом сервере и этом ип. Тогда с помощью sni будет выбираться корректный сертификат из двух при подключении к шифрованным сайтам
я не знаю что там за хостинг и как они химичат с конфигами.
Смысл очень простой.
Веб сервер, работающий по HTTP (порт 80 без шифрования) может работать с множеством сайтов, какую конфигурацию использовать для запроса он берет напрямую из запроса, поскольку эти данные там не зашифрованы.
Веб сервер, работающий по HTTPS (порт 443 c шифрованием) просто так не может достать имя сайта из запроса, поскольку все зашифровано. Именно для этого придумали SNI. В запросе незашифрованным текстом идет имя сайта, а сам запрос зашифрован. Так сервер определяет в какую конфигурацию слать запрос.
Сертификат SSL выдается для конкретного сайта и иногда для всех его доменов нижнего уровня, т.е. сертификат для site1.ru может быть действительным для сайта www.site1.ru, mail.site1.ru, cdn.site1.ru и тп.
Но для других сайтов он не действителен, хотя технически он может быть указан в качестве сертификата для другого сайта site2.ru. В этом случае браузер будет выдавать предупреждение при открытии https://site2.ru, что сайт на который вы заходите выдает себя за другой site1.ru, потому что сертификат у него не содержит имени site2.ru.
В вашем случае хостер предупреждает о втором случае, но текст там написан какой-то дурной. Может имелось ввиду не "а сертификат там один", а "а сертификат там одинаковый" ? тогда написано правильно.
Сайты без сертификата сами по себе не должны работать по https. Но опять же я не знаю что там у них с конфигами...
В вашем случае хостер предупреждает о втором случае, но текст там написан какой-то дурной. Может имелось ввиду не "а сертификат там один", а "а сертификат там одинаковый" ?
Как мне кажется, указано прямым текстом, что, если один сертификат будет установлен на один какой-то сайт из множества, все остальные сайты автоматически начнут работать по этому сертификату, выдавая ошибку. Это меня и смутило, и приведенный источник не единственный, где пишут подобное. С другой стороны непонятно, почему сайты на http должны автоматически начать редиректить на https без соттв. настроек. Видимо, это действительно зависит от конфигурации конкретного сервера.
Спасибо за подробный ответ.