Я пытаюсь выполнить несколько соединений SSL от единственного сервера IP, выполняющего RHEL6. Я успешно настроил один домен на SSL, однако когда я пытаюсь добавить секунду, Apache не удается перезапустить. Комментирование первого домена, так, чтобы только новый работал, не разрешает проблему.
Моя конфигурация следующие:
NameVirtualHost *:80
NameVirtualHost 192.168.0.10:443
# Domain 1 Works fine
<VirtualHost 192.168.0.10:443>
ServerName domain1.org.uk
DocumentRoot /home/domain1/public_html
<Directory "/home/domain1/public_html">
allow from all
Options FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile /home/domain1/certs/domain1.org.uk.crt
SSLCertificateKeyFile /home/domain1/certs/domain1.org.uk.key
SSLCertificateChainFile /home/domain1/certs/gs_intermediate_ca.crt
</VirtualHost>
# Domain 2 kills apache
<VirtualHost 192.168.0.10:443>
ServerName domain2.org.uk
DocumentRoot /home/domain2/public_html
<Directory "/home/domain2/public_html">
allow from all
Options FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile /home/domain2/certs/domain2.org.uk.crt
SSLCertificateKeyFile /home/domain2/certs/domain2.org.uk.key
SSLCertificateChainFile /home/domain2/certs/gs_intermediate_ca.crt
</VirtualHost>
При рассмотрении/var/log/httpd/error_log я получаю это, когда я перезапускаю апача при включении SSL для домена 2
[notice] caught SIGTERM, shutting down]
[notice] SELinux policy enabled; httpd running as context unconfined_u:system_r:httpd_t:s0
[notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
При рассмотрении/var/log/httpd/ssl_error_log
[error] Failed to configure CA certificate chain
Если я изменяю строку для цепочечного сертификата от SSLCertificateChainFile до апачских перезапусков SSLCACertificateFile без инцидента, но когда я посещаю domain2 в любом браузере, я получаю ошибку соединения SSL.
Любая справка очень ценилась бы.
Править
Хорошо две вещи:
1.) Включили вторую сетевую плату, и HTTPS слушает на 192.168.0.11 и http на 192.168.0.10
2.) Имейте работал:
openssl verify -verbose -purpose sslserver -CAfile gs_intermediate_ca.crt domain2.org.uk.crt
не мог загрузить сертификат
и я теперь добираюсь
unable to load certificate
140685974771528:error:0906D066:PEM routines:PEM_read_bio:bad end line:pem_lib.c:802:
Вы абсолютно уверены, что ваш domain2 gs_intermediate_ca.crt правильный? Строка журнала ошибок Apache делает вид, что именно в этом и заключается ваша проблема.
Директива SSLCACertificateFile
используется для указания, с каким клиентским сертификатом вы имеете дело. Таким образом, он, вероятно, не проверяет этот файл так сильно, как с SSLCertificateChainFile
. Таким образом, ошибки не останавливают запуск Apache, но приводят к ошибкам SSL. Еще одна причина предполагать, что проблема связана с этим файлом цепочки.
Скорее всего, файл цепочки либо A) неправильно отформатирован, либо B) недействителен для этого конкретного сертификата. (например: возможно, цепочка для другого домена). Вы можете попробовать использовать openssl s_client -connect domain2.org.uk:443
для перечисления сертификатов, которые выдаются во время обмена SSL.