Добавление SSL сертификатов для разных сайтов на одном ip

Давайте рассмотрим порядок действий и настройку SSL сертификата в apache2. В сети довольно много гайдов. Все они примерно следуют одному и тому же алгоритму.

Нам будут нужны три вещи:

  1. Файлы сертификата, ключа, и цепочки сертификатов.
  2. Создать дополнительные настройки виртуального хоста, гда подключаются файлы сертификатов.
  3. Применить новые настройки и проверить их.

Файлы SSL сертификата

Они у вас должны быть. Как их генерировать или где-то получить я рассказывать не буду. Пусть это будет SSL-серт, выпущенный для домена testdomain.com.

Создайте папку (если её нет) в каталоге с настройками apache — /etc/apache2/ssl. Вообще, место для размещения ключей принципиального значения не имеет.

Full.crt — это файл с цепочкой сертификатов, там повторяется SSL сертификат, после него идет корневой, а заканчивается список — промежуточным сертификатом. Каждый из них идет в собственных рамках и выглядит вот так:

Настройка виртуального хоста

Классическая настройка с мультисайтингом выглядит как набор отдельных конфигураций виртуальных хостов в папке /etc/apache2/sites-available.

Найдите там нужный файл настроек для вашего testdomain.com сайта. Создайте его копию, например, с именем testdomain.com.ssl.

Вот что нужно будет добавить/поменять в настройках:

SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile — как раз те директивы, которые показывают, где лежат подготовленные заранее файлы ключа и SSL-сертификатов.

Применить новые настройки и проверить их

Чтобы включить новый файл настроек, можно создать символик-линку на него в папке /etc/apache2/sites-enabled. Или воспользоваться командой:

Включите модуль apache ssl, если он до сих пор не включен. Это можно сделать вручную (опять символик-линк в папке модулей) или специальной командой:

Не плохо бы протестировать конфигурацию перед перезапуском apache:

Если вы увидите только надпись:

То все готово, и можно перезапустить сервер, к примеру вот так:

Несколько сайтов со своим сертификатом

Все что было выше — это обычные настройки, которые будут работать с одним сайтом точно. Если у вас разные сертификаты для разных сайтов, то возможно тестирование настроек выдаст следующее сообщение:

Речь идет о том, что сервер не отличает разные виртуальные хосты по имени для 443 порта по умолчанию. Для всех обращений по 443 порту будут использованы первые попавшиеся настройки virtualhost *:443.

Чтобы решить эту проблему добавьте в общий файл конфигурации apache директиву:

Мало букафф? Читайте есчо !

GREP - показываем только ближайшее символы от найденного совпадения

Ноябрь 28, 2018 г.

По умолчанию GREP выводит всю строку, где был обнаружен указанный вами шаблон поиска. Для форматированных текстовых файлов это подходит. Но если в поиск попадает минифицированный текстовый или binary файл, то в консоль вываливается неприлично много текста. ...

Читать

Полезные команды для админа хостинга на UNIX

Август 22, 2013 г.

Те кто постоянно работает в командной строке UNIX, не находят ничего сложного в использовании разных утилит. Мне иногда приходится общаться с UNIX через ...

Читать

Удаление большого числа файлов в UNIX

Ноябрь 23, 2015 г.

Столкнулся недавно с такой проблемой - не смог файловым менеджером даже просто открыть папку с временными файлами на своём веб-сервере под UNIX. Размер, папки, т.е. сам список файлов оказался объемом в 85 мегабайт. Сколько там файлов, я даже не представляю. ...

Читать

Непослушные файлы или конфликт кодировок при копировании через FTP

Август 22, 2011 г.

Сайты иногда переезжают с одного хостинга на другой. И когда это случается, приходится выполнить как минимум две операции - копирование файлов и копирование базы данных на промежуточный хост. Этот промежуточный хост, обычно, рабочая станция под управлением ...

Читать
 

Комментарии к «Добавление SSL сертификатов для разных сайтов на одном ip»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: