Apache 2 certs em domínios diferentes

0

Eu tenho o serviço de configuração do apache com domínios de exemplo, domain1.com e domain2.com

Meu ssl.conf (etc / apache2 / modes-enabled / ssl.conf)

NameVirtualHost *:443
<VirtualHost 172.17.0.122:443>
ServerAdmin [email protected]
DocumentRoot /var/www/domain1.com/htdocs
ServerName domain1.com:443
SSLEngine On
SSLProtocol all
SSLCertificateFile    /var/ssl/domain1/domain1.crt
SSLCertificateKeyFile /var/ssl/domain1.key
SSLCertificateChainFile /var/ssl/intermediate.crt
</VirtualHost>

<VirtualHost 172.17.0.123:443>
ServerAdmin [email protected]
DocumentRoot /var/www/domain2.com/htdocs/
ServerName domain2.com:443
SSLEngine On
SSLProtocol all
SSLCertificateFile    /var/ssl/domain2/domain2.crt
SSLCertificateKeyFile /var/ssl/domain2.key
SSLCertificateChainFile /var/ssl/intermediate.crt
</VirtualHost>

domain1 funciona bem com http e https, domain2 funciona apenas com http, já que domain2 https mostra a página domain1 ... Eu tenho 2 ips no servidor.

VirtualHost (etc / apache2 / sites-enabled / domain1.com) para o domínio1:

<VirtualHost *>
        ServerAdmin [email protected]
       ServerName  www.domain1.com
        ServerAlias domain1.com

    # Indexes + Directory Root.
    DirectoryIndex index.php
    DocumentRoot /var/www/domain1.com/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /var/www/domain1.com/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>


    # Logfiles
    ErrorLog  /var/www/domain1.com/logs/error.log
    CustomLog /var/www/domain1.com/logs/access.log combined
</VirtualHost>

apache2ctl -S mostra:

VirtualHost configuration: 
172.17.0.122:443 www.domain1.com (/etc/apache2/mods-enabled/ssl.conf:77)
 wildcard NameVirtualHosts and _default_ servers: 
*:* is a NameVirtualHost default server www.domain3.com (/etc/apache2/sites-enabled/domain3.com:1) 
port * namevhost www.domain3.com (/etc/apache2/sites-enabled/domain3.com:1)
port * namevhost www.domain2.com (/etc/apache2/sites-enabled/domain2.com:1)
port * namevhost www.domain1.com (/etc/apache2/sites-enabled/domain1.com:1)

isto é com a configuração que mostra domínio1 https corretamente

    
por Diamonte 05.03.2017 / 08:17

1 resposta

0

Remova o :443 das sub-rotinas ServerName. Ele é tratado como parte do nome e, quando a entrada no VirtualHost ServerName corresponde, o Apache exibe o primeiro site VirtualHost encontrado.

EDITAR d'oy. Além disso, dê uma boa olhada em sua declaração NameVirtualHost , pois ela contrasta com suas estrofes VirtualHost .

Você está anunciando que haverá vários VHosts usando o endereço *:443 , mas, em seguida, especifique seus VHosts em 172.16.0.123:443 . Estes são endereços diferentes e o Apache não os reconhecerá.

Altere sua declaração NameVirtualHost ou altere suas sub-rotinas <VirtualHost> para que elas correspondam.

    
por 05.03.2017 / 10:18