Субдомен SSL WIldcard не указывает на правильный DocumentRoot

У меня установлен SSL Wildcard на моем сервере Apache. С фрагментом кода ниже, работает следующее:

http://test.com (points to /var/www/html)
https://test.com  (points to /var/www/html)
http://s1.test.com  (points to /var/www/s1)

но https://s1.test.com/ не работает - он указывает на /var/www/html, а не на /var/www/s1 - как я могу получить его, чтобы он указывал на собственный каталог?

<VirtualHost *:443>
 DocumentRoot "/var/www/html"
 ServerAlias test.com *.test.com
 ServerName *.test.com
 SSLEngine on
 SSLCertificateFile /home/test/STAR_test_com.crt
 SSLCertificateKeyFile /home/test/test.key
 SSLCertificateChainFile /home/test/PositiveSSL.ca-bundle
</VirtualHost>
<VirtualHost *:443>
 ServerAlias s1.test.com *.s1.test.com
 ServerName s1.test.com
 DocumentRoot "/var/www/s1"
 SSLEngine on
 SSLCertificateFile /home/test/STAR_test_com.crt
 SSLCertificateKeyFile /home/test/test.key
 SSLCertificateChainFile /home/test/PositiveSSL.ca-bundle
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
 ServerName s1.test.com
 ServerAlias s1.test.com
 DocumentRoot "/var/www/s1/"
</VirtualHost>
<VirtualHost *:80>
 ServerName www.test.com
 ServerAlias test.com
 DocumentRoot "/var/www/html/"
</VirtualHost>

Спасибо!

2 ответа

Решение

Вам также понадобится NameVirtualHost *:443,

Возможно, групповая запись с первого виртуального хоста

ServerAlias test.com *.test.com

также включает s1.test.com, поэтому, когда вы запрашиваете s1.test.com, применяется первый блок конфигурации. Удалите подстановочные знаки или сделайте s1.test.com первым в файле конфигурации.

Другие вопросы по тегам