Я тестирую сертификаты startssl для использования внутри apache2 с разными сайтами.
Я использую простую конфигурацию с виртуальными хостами (все действительно стандартные) внутри apache2. Два протестированных домена определены внутри / etc / apache / sites-avaliable, например:
test1.conf
<VirtualHost *:80>
DocumentRoot /var/www/test1/
ServerName www.test1.com
ErrorLog ${APACHE_LOG_DIR}/error_test1.log
CustomLog ${APACHE_LOG_DIR}/access_test1.log combined
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin info@test1.com
DocumentRoot /var/www/test1/
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/private/ssl_dec.key
SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem
</VirtualHost>
test2.conf
<VirtualHost *:80>
DocumentRoot /var/www/test2/
ServerName test2.com
CustomLog ${APACHE_LOG_DIR}/wp_test2.log combined
ErrorLog ${APACHE_LOG_DIR}/wp_test2_error.log
RewriteEngine off
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@test2.net
DocumentRoot /var/www/test2/
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/certs/think.crt
SSLCertificateKeyFile /etc/ssl/private/think_dec.key
SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem
</VirtualHost>
И я обнаружил, что второй домен не принимает сертификат ssl.
Это появляется error_bad_cert_doamin, потому что говорит, что test2 использует сертификат test1. Если я использую только один домен, работает отлично. Где может быть проблема?
Вы также должны указать имя сервера в своей конфигурации SSL:
<VirtualHost *:443>
ServerName test1.com
ServerAdmin info@test1.com
DocumentRoot /var/www/test1/
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/certs/ssl.crt
SSLCertificateKeyFile /etc/ssl/private/ssl_dec.key
SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem
</VirtualHost>
<VirtualHost *:443>
ServerName test2.com
ServerAdmin webmaster@test2.net
DocumentRoot /var/www/test2/
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/certs/think.crt
SSLCertificateKeyFile /etc/ssl/private/think_dec.key
SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem
</VirtualHost>