Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > apache + ssl


Автор: n00zdri 23.9.2010, 14:27
Всем привет!

Не могу победить глупою ошибку. Переношу ssl виртуальный хост на другой сервер. Сертификаты сгенерены на старом. Версия старого апача - 2.2.9, версия нового - 2.2.16.

Код

<VirtualHost *:443>

    ServerName vasia.pupkin.ru
    DocumentRoot /usr/share/webapps/payment
    Options Includes Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    SSLEngine on
    SSLCACertificateFile /etc/apache2/ssl2010/pupkin.crt

<Directory /usr/share/webapps/payment>
    AllowOverride All
    order deny,allow
    deny from all


</Directory>

   ErrorLog /var/log/apache2/epay.error.log
   CustomLog /var/log/apache2/epay.custom.log common

</VirtualHost>


При рестарте апач не ругается, но и порты тоже не слушает. В /var/log/apache2/epay.error.log следующая ошибка:
Код

Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile]


Что ему не нравится? С правами все ок, пути правильные, почему на старом работает, на новом нет?

Автор: Bulat 27.9.2010, 10:06
у тебя в конфигах прописан только корневой сертификат, но как минимум нужно еще прописать сертификат и ключ самого сервера

SSLCertificateFile ".../server.crt"
SSLCertificateKeyFile ".../server.key"

И сдается мне, что еще нужно будет пару директив еще дописать, кроме самих сертификатов.

Автор: n00zdri 28.9.2010, 11:08
Дык в том то и дело, что в 2.2.9 работало именно так, без изменений. К тому же мне нужно не SSLCertificateFile, а SSLCACertificateFile - это разные вещи, понять только не могу, почему он у меня ругается на SSLCertificateFile, хотя я явно указываю SSLCACertificateFile.

Автор: Bulat 28.9.2010, 11:26
n00zdri, вообще странно... Как правило для авторизаци по сертификатам, нужен корневой сертификат(SSLCACertificateFile) - он может быть самоподписным или заверенным в центре сертификации, но и для самого сервера нужен сертификат(SSLCertificateFile).

только что у себя попробовал закомментировать строки:

SSLCertificateFile ".../server.crt"
SSLCertificateKeyFile ".../server.key"

Вот что было в логах, апач не поднялся:

Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (C:/Programs/Apache Software Foundation/Apache2.2/conf/extra/httpd-vhosts.conf:68)

Так что ищи на старом, где у тебя прописаны эти строки... может не в httpd.conf а где-нить в httpd-ssl.conf

Автор: n00zdri 28.9.2010, 15:51
Блин, спасибо тебе. Сейчас нашел, почему у меня ничего не получалось. В default_ssl_vhost глобально ! должна быть строчка вида:
Код

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

В таком случае для самого сервера не обязателен SSLCertificateFile.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)