default.conf
<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName example.com
DirectoryIndex index.php index.html
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/subdomain
ServerName subdomain.example.com
DirectoryIndex index.php index.html
</VirtualHost>
по умолчанию-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot /var/www/example/public
SSLEngine on
SSLCertificateFile /var/www/Origin.crt
SSLCertificateKeyFile /var/www/Key.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
# BrowserMatch "MSIE [2-6]" \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 force-response-1.0
</VirtualHost>
<VirtualHost *:443>
DocumentRoot /var/www/subdomain/public
SSLEngine on
SSLCertificateFile /var/www/Origin.crt
SSLCertificateKeyFile /var/www/Key.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
# BrowserMatch "MSIE [2-6]" \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
Если я удалю основной сайт, он отлично загрузит поддомен. Если основной сайт включен, поддомены загружают основной сайт. Под нагрузкой я имею в виду, что он не перенаправляет, а просто загружает основной каталог сайта.
В <VirtualHost *:80>
не зависят от <VirtualHost *:443>
и не наследуют конфигурации друг от друга. На обоих ваших виртуальных хостах HTTPS отсутствует ServerName
директива; первое совпадение отображается как веб-сайт по умолчанию.