2014-09-24 6 views
8

Я хочу настроить два виртуальных хоста со своими собственными сертификатами ssl на apache (apache 2.2.22 и openssl 1.0.1, debian 7.6). Я нашел много статей о SNI, но по-прежнему не могу его правильно настроить. Вот мой конфиг:несколько виртуальных хостов ssl на apache

ports.conf

NameVirtualHost *:80 
    NameVirtualHost *:443 
    Listen 80 
    <IfModule mod_ssl.c> 
     Listen 443 
    </IfModule> 

    <IfModule mod_gnutls.c> 
     Listen 443 
    </IfModule> 

test1-SSL

<IfModule mod_ssl.c> 
<VirtualHost *:443> 
     ServerName test1.com 
     DocumentRoot /var/www/test1 
     SSLEngine on 
     SSLCertificateFile /etc/apache2/ssl/test1.crt 
     SSLCertificateKeyFile /etc/apache2/ssl/test1.key 
</VirtualHost> 
</IfModule> 

test2-SSL

<IfModule mod_ssl.c> 
<VirtualHost *:443> 
     ServerName test2.test.pl 
     DocumentRoot /var/www/test2 
     SSLEngine on 
     SSLCertificateFile /etc/apache2/ssl/test2.crt 
     SSLCertificateKeyFile /etc/apache2/ssl/test2.key 
</VirtualHost> 
</IfModule> 

домена https://test1.com работает надлежащим образом (с собственным сертификатом). Домен https://test2.test.pl отображает содержимое домена test1.com и использует test1 ssl certificate вместо test2.crt (как определено в файле конфигурации test2-ssl). Любые идеи, сугесты очень ценятся.

С уважением, и спасибо заранее!

+0

Невозможно сделать это: https://wiki.apache.org/httpd/NameBasedSSLVHosts – arco444

ответ

11

После небольшого поиска выясняется, что это возможно (https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm). Моя единственная проблема заключалась в двух отдельных файлах конфигурации для доменов ... когда я настраивал virtualhost для доменов в одном файле конфигурации, он работал.

+3

У меня была такая же проблема, хотя моя была в том же файле. Оказывается, я пропустил эту строку из файла: '' NameVirtualHost *: 443'''' –

+0

'NameVirtualHost' больше не требуется с Apache 2.4. Кроме того, первый определяемый VirtualHost - это ** default **, используемый в имени сервера, предоставленном клиентом, присутствует ни в одном из виртуальных хостов. – caiofior

Смежные вопросы