Проблема с установкой SSL-сертификата на Apache

Проблема с установкой SSL-сертификата на Apache

У нас есть выделенный сервер GoDaddy, на котором работает Plesk, требующий SSL.

Я сгенерировал файлы сертификатов и создал vhost_ssl.conf (поскольку я не могу редактировать конфигурацию Apache Plesk по умолчанию http.include, vhost_ssl.conf включается в httpd.include), который сообщает Apache, где найти файлы сертификатов:

SSLCertificateFile /usr/local/psa/var/certificates/domain.com.crt
SSLCertificateKeyFile /usr/local/psa/var/certificates/domain.com.key
SSLCertificateChainFile /usr/local/psa/var/certificates/sub.class1.server.ca.pem

Когда я останавливаю/запускаю apache, он отказывается запускаться. В error_log тоже ничего нет (что странно).

Затем я открыл httpd.include и нашел вот этот фрагмент:

<VirtualHost 208.xxx.xxx.xxx:443>
    ServerName   domain.com:443
    ServerAlias  www.domain.com
    UseCanonicalName Off

    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /usr/local/psa/var/certificates/certagC9054

    Include /var/www/vhosts/domain.com/conf/vhost_ssl.conf

Затем я прокомментировал

   SSLCertificateFile /usr/local/psa/var/certificates/certagC9054

(это SSL-сертификат Plesk) и перезапустил Apache, и все заработало отлично.

Похоже, Apache не любит несколько SSLCertificateFile в одной директиве VirtualHost?

Как знает любой, кто работал с Plesk, я не могу просто удалить директиву SSLCertificateFile в httpd.include, поскольку Plesk перезапишет мои изменения, когда кто-то ее использует — именно поэтому она находится в vhost_ssl.conf.

Итак, я застрял, и это выходит за рамки моих скудных навыков администратора. Буду признателен, если кто-то, кто знает, что он делает, расскажет мне, что происходит.

Заранее спасибо.

решение1

По моему опыту с Plesk, все обычно работало лучше, когда я использовал сайт Plesk Admin для управления своими сайтами, а не вручную редактировал файл конфигурации. Встроенная поддержка сертификатов SSL в Plesk довольно хороша — вы можете легко добавить сертификат, полученный от третьей стороны, и связать его с одним из сайтов, которые вы настроили в Plesk.

Если вы решите напрямую изменить файлы конфигурации, красный флаг, который я вижу в вашем сообщении, заключается в том, что вы пытаетесь применить два разных сертификата к одному и тому же виртуальному хосту. По моему опыту, сертификаты SSL обычно работают только при наличии отношения 1:1 между IP-адресом и сертификатом SSL. Я бы посоветовал удалить один из сертификатов SSL или разбить виртуальный хост на два отдельных сайта на разных IP-адресах.

решение2

Это не имеет никакого отношения к Plesk. Проблема в том, как работают SSL и HTTP. По сути, SSL не знает имени вашего сервера до его запуска, и поэтому Apache не может выбрать, какой набор сертификатов использовать. Смотритеhttp://www.modssl.org/docs/2.8/ssl_faq.html#ToC47для более подробной информации об этой проблеме курицы и яйца.

Связанный контент