У меня есть эти каталоги:
/var/www/domain.com/web/domains/example.com
/var/www/domain.com/web/domains/cdn.example.com
/var/www/domain.com/web/domains/app.example.com
Это означает, что я не указываю каждый субдомен веб-сайта, а просто создаю субдомен в этом каталоге, и мой .htaccess позаботится об этом.
Сейчас я решаю эту проблему - у меня есть SSL-сертификат для домена app.example.com, но мне также нужно установить SSL для cdn.example.com, и я не знаю, как его настроить. Я попытался сгенерировать сертификат SSL для cdn.example.com, но я не смогу установить его для cdn.example.com ->, если я попробую это:
echo | openssl s_client -connect cdn.example.com:443 2>/dev/null
Я все еще вижу, что тема сертификата app.example.com
вместо того cdn.example.com
, поэтому я думаю, он все еще пытается получить плохой сертификат для этого домена.
Каталоги для SSL верны. Видишь ли ты провал в моем example.com.vhost
файл?
<VirtualHost *:443>
DocumentRoot /var/www/example.com/web
ServerName app.example.com
ServerAlias app.example.com
<IfModule mod_ssl.c>
SSLEngine on
SSLProtocol All -SSLv2 -SSLv3
SSLCertificateFile /var/www/clients/client1/web17/ssl/example.com.crt
SSLCertificateKeyFile /var/www/clients/client1/web17/ssl/example.com.key
</IfModule>
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/example.com/web
ServerName cdn.example.com
ServerAlias cdn.example.com
<IfModule mod_ssl.c>
SSLEngine on
SSLProtocol All -SSLv2 -SSLv3
SSLCertificateFile /var/www/clients/client1/web17/ssl/cdn/server.crt
SSLCertificateKeyFile /var/www/clients/client1/web17/ssl/cdn/server.key
</IfModule>
</VirtualHost>
Вы тестируете SSL без идентификатора servername. Чтобы иметь более одного SSL-сертификата на IP-адрес, вашим клиентам необходимо использовать SNI расширение.
Итак, чтобы протестировать OpenSSL, вам нужно установить -servername
. Тогда ваша команда будет:
echo | openssl s_client -servername cdn.website.com -connect cdn.website.com:443
Под Apache 2.2. Вам нужна директива NameVirtualHost, чтобы указать разные виртуальные хосты с одним и тем же IP-адресом.
Похоже, что вам не хватает скопированной вами конфигурации:
NameVirtualHost *:443
Определите его только один раз, и Apache 2.2 будет знать, для какого виртуального хоста каждый запрос должен быть доставлен в соответствии с запрошенным заголовком Host.