Configurar hosts SSL para poder acessar HTTP / HTTPS em vários domínios?

2

Estou tendo problemas para configurar vários hosts SSL no meu servidor Apache (CentOS). Originalmente eu achava que o problema era apenas ter um IP, então uma vez que isso foi descoberto, pedi ao nosso provedor de servidor para adicionar outro IP que eles fizeram.

No entanto, ainda estou com problemas. Queremos ser capazes de ter http & Acesso https para os dois domínios, domain1.com e amp; domain2.com, além de ter vários subdomínios.

Eu tenho os certificados, chaves, certificados intermediários na máquina (para ambos os domínios) e eles parecem estar bem.

A situação é que todos os sites HTTP estão funcionando corretamente e o primeiro domínio SSL está funcionando, mas quando tento visitar o segundo domínio por HTTPS, recebo um erro de segurança (diz certificado errado, como está mostrando o certificado do domínio 1!) .

Além disso, as páginas que estão sendo servidas para o domínio2 não são as corretas (ou seja, não o que o DocumentRoot diz!). Parece como se fosse a primeira configuração ssl para todos os domínios / ips.

Arquivos de configuração:

THis is an excerpt from httpd.conf
####
NameVirtualHost **.**.**.27:80

<VirtualHost **.**.**.27:80>
    DocumentRoot /var/www/html/ADDIR
    ServerName domain1.com
    ErrorDocument 404 /var/www/html/404.html
</VirtualHost>

 # # There are other virtualhosts for other ServerNames & DocumentRoots too but they're otherwise identical to above. ###

<Location "/usage">
</Location>

NameVirtualHost **.**.**.41:80

<VirtualHost **.**.**.41:80>
DocumentRoot /var/www/html/SOC
ServerName domain2.com
</VirtualHost>

# # #
This is an excerpt from ssl.conf

<VirtualHost **.**.**.27:443>
DocumentRoot "/var/www/html/ADDIR/"
ServerName domain1.com:443
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

#certificates
SSLCertificateFile /ssl/server.crt
SSLCertificateKeyFile /ssl/server.key
SSLCACertificateFile /ssl/intermediate.crt

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
 SSLOptions +StdEnvVars
</Directory>

SetEnvIf User-Agent ".*MSIE.*" \
        nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>                                  

<VirtualHost **.**.**.41:443>
     SSLEngine On
     SSLCertificateFile /ssl/SD/server.crt
     SSLCertificateKeyFile /ssl/SD/server.key
     SSLCACertificateFile /ssl/SD/intermediate.crt

     ServerAdmin [email protected]
     ServerName domain2.com
     DocumentRoot /var/www/html/SOC/
</VirtualHost>
    
por Dave Clarke 05.09.2012 / 13:26

1 resposta

0

Apenas comparando as definições dos dois hosts virtuais https, vejo discrepâncias.

No seu Virtualhost .27, você tem

ServerName domain1.com:443

SSLProtocol all -SSLv2

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

e no seu .41 Virtualhost, você tem

ServerName domain2.com

Admito prontamente que não entendo toda a configuração SSL, então talvez isso seja o pretendido. Mas você tem um funcionando corretamente (eu suponho que o host .27) e a outra configuração diferente.

    
por 05.09.2012 / 16:33