Назад | Перейти на главную страницу

Ошибка «Сервер должен поддерживать SSL, но не имеет настроенного сертификата [Подсказка: SSLCertificateFile]»

После недавнего обновления Apache2 до версии 2.2.31 я обнаружил странное поведение в настройке SSL VirtualHost.

Некоторые веб-сайты, которые я размещаю, показывали сертификат для хоста по умолчанию, даже если клиент был Server Name Identification осведомлены, и это произошло лишь с некоторыми из них. Это отображается как обычное паспортное предупреждение Firefox / Chrome о том, что вас могут обмануть, если вы просматриваете свой домашний банк, но это просто не так.

Чтобы было ясно, если сервер host.hostingdomain.org имеет собственный SSL, пытаясь получить доступ https://www.hostedsite.org сертификат отчетов для host.hostingdomain.org, но несколько https://www.hostedsite.me сообщил правильный сертификат.

Все сайты размещены на одном IP-адресе, на порте 443. На самом деле VirtualHosting работает на стороне HTTP и автоматически перенаправляет клиентов с поддержкой SNI на SSL, что обеспечивает обратную совместимость с клиентами, не знающими SNI.

При проверке журналов ошибок для виртуальных хостов-нарушителей показан следующий текст

[Tue Dec 25 16:02:45 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/path/to/www.site.org.conf:20)

и на самом деле виртуальный хост был правильно настроен с помощью SSLCertificateFile.

Возникает очевидный вопрос: как это исправить?

Бывает, что это может быть ошибка в самой последней версии Apache.

Решение 1.Перейдите на последнюю стабильную версию

Решение 2: отредактировать listen.conf

Заменить Listen *:443 (или Listen 443 в соответствии с вашей настройкой) с Listen *:443 http

Кредит

У меня была такая же проблема, и то, что сработало для меня, было невероятно простым

отредактируйте /etc/apache2/ports.conf (для ubuntu или httpd.conf)

измените "Listen 443" на "Listen 443 http" в ssl_module

Еще одно решение для этого - убедиться, что все ваши: 443 vhosts включают конфигурацию TLS.

Эта проблема была недавно введено в Debian wheezy и я получил решение от http://blog.noizeramp.com/2010/10/03/apache-2-and-ssl-configuration/.