у меня есть оба local.domain.com
и lmarket.local.domain.com
указывая на мой локальный хост из etc / hosts.
Проблема в том, что я использую XAMPP в Windows 7 и имею 2 SSL VirtualHosts в моей конфигурации apache, но независимо от того, к какому из них я обращаюсь, я попадаю в local.domain.com
. С запросами без HTTPS все работает нормально, и vhosts в основном такие же.
Вот соответствующая часть моих vhosts:
<VirtualHost local.domain.com:443>
DocumentRoot "C:/xampp/htdocs/local"
ServerName local.domain.com
ServerAdmin webmaster@localhost
ErrorLog "logs/error.log"
<IfModule log_config_module>
CustomLog "logs/access.log" combined
</IfModule>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
<FilesMatch "\.(cgi|shtml|pl|asp|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "C:/xampp/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
<VirtualHost lmarket.local.domain.com:443>
DocumentRoot "C:/xampp/htdocs/lmarket.local"
ServerName lmarket.local.domain.com
ServerAdmin webmaster@localhost
ErrorLog "logs/error.log"
<IfModule log_config_module>
CustomLog "logs/access.log" combined
</IfModule>
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"
<FilesMatch "\.(cgi|shtml|pl|asp|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "C:/xampp/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
CustomLog "logs/ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Если я инвертирую эти блоки, произойдет обратное: local.domain.com
идет в lmarket.local.domain.com
. Любая помощь будет оценена.
Вы, вероятно, забыли сообщить apache, что 127.0.0.1:443 должен использоваться для виртуальные хосты на основе имен.
NameVirtualHost 127.0.0.1:443
Или даже лучше
NameVirtualHost *:443
Должен быть добавлен в вашу конфигурацию до VirtualHost
разделы. Вы также должны обновить VirtualHost
с адресом, который вы указали NameVirtualHost
. Например. <VirtualHost *:443>
.
Да, я нашел ответ ... не знаю, почему это так, но мне пришлось изменить:
<VirtualHost lmarket.local.domain.com:443>
к
<VirtualHost *:443>
и то же самое для 2-го vhost. Надеюсь, это кому-то поможет.