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

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

Вывод одновременно и в консоль и в файл в UNIX

Июнь 22, 2021 г.

В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли. Вот пример перенаправления вывода в файл: [crayon-693485c03d704515008366/] При этом в консоли ...

Читать

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

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

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

Читать

Замена строки в файлах

Март 17, 2024 г.

В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl. Установите rpl: [crayon-693485c03da74442703615/] Для замены тестовой строки выполните команду в файле FILENAME: [crayon-693485c03da7c282064798/] Подстановка ...

Читать

Докачка файла с помощью wget

Октябрь 22, 2019 г.

Веб сервера поддерживают обычно соединение в течении какого то времени. Но что делать, если нужно скачать файл, который просто не успевает закачаться за отведенное время? В Unix файл можно скачать по ссылке командой wget, вот так: [crayon-693485c03dc6a066034880/] ...

Читать
 

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

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



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