
У меня установлен Wildcard SSL на моем сервере 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>
Спасибо!
решение1
Вам также понадобится NameVirtualHost *:443
.
решение2
Вероятно, подстановочная запись с первого виртуального хоста
ServerAlias test.com *.test.com
также включает s1.test.com, поэтому когда вы запрашиваете s1.test.com, применяется первый блок конфигурации. Удалите подстановочные знаки или сделайте s1.test.com первым в файле конфигурации.