Насколько я понимаю, существует проблема с наличием нескольких сертификатов на одном IP-адресе, поскольку SSL согласовывается до того, как произойдет HTTP, однако, чтобы обойти это, мы можем сделать указание имени службы (SNI) в TLS. Согласно странице википедии SNI, оба модуля Apache 2 mod_ssl и mod_gnutls поддерживают это расширение, а также многочисленные веб-клиенты.
Я пытался использовать mod_gnutls на centos 5. У меня есть два отдельных сертификата для двух доменов, но только 1 IP. Каждый работает независимо, но когда я помещаю оба сразу в конфигурацию, будет работать только первый. Любое https-соединение на домене 2 показывает сертификат домена 1.
Моя конфигурация выглядит так:
Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/html/domain1
GnuTLSEnable on
GnuTLSCertificateFile /etc/pki/tls/certs/www.domain1.crt
GnuTLSKeyFile /etc/pki/tls/domain1/private.key
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/html/domain2
ServerName www.domain2.com
ServerAlias www.domain2.com
GnuTLSEnable on
GnuTLSCertificateFile /etc/pki/tls/certs/domain2.crt
GnuTLSKeyFile /etc/pki/tls/domain2/private.key
</VirtualHost>
Любые идеи? На самом деле ломал голову над этим.
Большое спасибо