apache上有多个ssl虚拟主机

gas*_*par 10 apache ssl

我想在apache上配置两个带有自己的ssl证书的虚拟主机(apache 2.2.22和openssl 1.0.1,debian 7.6).我发现了许多关于SNI的文章,但仍然无法正确配置它.这是我的配置:

ports.conf

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

    <IfModule mod_gnutls.c>
       Listen 443
    </IfModule>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

https://test1.com正常工作(具有自己的证书).域https://test2.test.pl显示域test1.com的内容,并使用test1 ssl证书而不是test2.crt(因为它在配置文件test2-ssl中定义).任何想法,sugestions非常感谢.

亲切的问候,并提前感谢!

gas*_*par 17

经过一番搜索后发现它是可能的(https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm).我唯一的问题是域的两个单独的配置文件...当我在一个配置文件中为域配置虚拟主机时它工作.

  • 即使我的所有文件都在同一个文件中,我也遇到了同样的问题.事实证明我从文件中遗漏了这一行:```NameVirtualHost*:443``` (5认同)