default ssl в Apache


default ssl виртуальный хост в Apache нужен когда с одного сервера работают сайты доступные по http и https.

При использовании SSL сертификатов для на серверах, на которых применяется Apache2 для всех сайтов иногда начинает отдаваться один и тот же сертификат. Это встречается когда на одном сервере существует ряд сайтов, работающих по http, затем для одного из ресурсов подключается сертификат и настраивается переадресация на https.



Файл /etc/apache2/ports.conf для настройки default ssl


Чтобы избежать этого явления нужно привести конфигурационный файл ports.conf к следующему виду:



# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

NameVirtualHost *:80
Listen 80

<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
NameVirtualHost *:443
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>



Самое важное здесь:

NameVirtualHost *:443
Listen 443



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



В зависимости от конфигурации Apache может потребоваться создание или корректировка виртуального хоста, используемого по умолчанию, а также его активация.

Если виртуальный хост не активирован он активируется командой, приведенной ниже:

a2ensite default-ssl



Найти файл виртуального хоста можно по адресу /etc/apache2/sites-availible/default-ssl, иногда он называется default-ssl.conf. Файл присутствует по умолчанию и размещается в каталоге при установке пакета с Apache2


Содержимое файле стандартного виртуального хоста Apache для SSL:

default ssl


Конфигурация проверяется

apache2ctl configtest



Затем веб-серверу дается команда на перечитывание конфигурационных файлов

service apache2 reload



Или apache2 просто перезапускается

/etc/init.d/apache2 restart



Перезапуск apache2 или перечитывание конфигурационных файлов необходимо как при активации стандартного (default ssl) виртуального хоста, так и просто при редактировании файла ports.conf



Читайте про настройку nginx и apache для совместной работы.

Сказать спасибо