Добавление 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 директиву:

Написать комментарий

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

Создание бекапов базы mySQL из консоли unix

Февраль 13, 2018 г.

Ещё одна шпаргалка по администрированию UNIX серверов. На этот раз рассмотрим несколько полезных команд для создания бекапа базы данных из консоли. Нам понадобится команда mysqldump, которая позволяет создавать sql скрипт базы или её части. Создание ...

Читать

Копируем файлы с AWS S3

Сентябрь 26, 2019 г.

На AWS файлы копятся в течении жизни проекта, а для разработки иногда удобнее иметь их локально. Как перетащить их из облака (и закинуть потом обратно), пользуясь консолью, расскажу в статье. Направление операции копирования в данном случае не ...

Читать

 

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

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



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