Итак, изначально мой хост (mediatemple dv) имеет два каталога по умолчанию для корней:
1) httpdocs / 2) httpsdocs /
В каталоге conf я изменил vhosts.conf, httpd.include и другие, чтобы перейти с httpdocs на пользовательские папки.
Теперь я установил новый сертификат ssl и https://example.com переходит на страницу по умолчанию, расположенную по адресу httpsdocs.
Мне просто интересно, где хранятся конфигурации для apache для ssl.
Идеи?
При «нормальной» установке обычно есть файл / etc / httpd /, содержащий конфигурацию. В частности, есть /etc/httpd/conf/httpd.conf, который является «основным» файлом конфигурации, и он указывает, что все файлы .conf в /etc/httpd/conf.d/ затем включаются.
В моих конфигурациях у меня есть /etc/httpd/conf.d/ssl.conf, который выполняет всю специфичную для https конфигурацию, но администратор может выбирать с большой степенью гибкости.
Решением для меня было создание vhost_ssl.conf файл, указывающий на новый корень документа в /var/www/vhosts/example.com/conf/
а затем запустить /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=example.com
для Plesk.
Как правило, вы настраиваете параметры SSL, которые не обязательно относятся к конкретному хосту (например, SSLCipherSuites
) в /etc/httpd/conf.d/ssl.conf
(или аналогичный в других дистрибутивах), но настраивайте то, что специфично для данного хоста, самостоятельно VirtualHost
(с соответствующим портом), примерно так:
<IfModule mod_ssl.c>
<VirtualHost *:443>
# ...
SSLEngine on
SSLCertificateFile /etc/ssl/certs/host.pem
SSLCertificateKeyFile /etc/ssl/private/host.key
DocumentRoot /path/to/https/root
</VirtualHost>
</IfModule>
<VirtualHost *:80>
# ...
DocumentRoot /path/to/plain-http/root
</VirtualHost>
Вы можете поместить деталь в отдельный файл в /etc/httpd/conf.d/
или в пределах ssl.conf
.
Это зависит от дистрибутива. В Debian / Ubuntu у вас, вероятно, будет общая конфигурация SSL в /etc/apache2/mods-available/ssl.conf
и конкретная конфигурация сайта / виртуального хоста в /etc/apache2/sites-available/some-name.conf
.