本地子域和子子域上的SSL

我有local.domain.comlmarket.local.domain.com从etc / hosts指向我的本地主机。

问题是我在Windows 7上使用XAMPP,在我的apacheconfiguration中有两个SSL VirtualHosts,但是无论我访问哪一个,我都被带到local.domain.com 。 在非HTTPS请求一切正常,虚拟主机基本相同。

这是我的鬼魂的相关部分:

 <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 

应该添加到您的configurationVirtualHost部分之前。 您还必须使用您为NameVirtualHost放置的地址更新VirtualHost 。 例如<VirtualHost *:443>

杜,我find了答案…不知道为什么这是这样的,但我不得不改变:

 <VirtualHost lmarket.local.domain.com:443> 

 <VirtualHost *:443> 

和第二个虚拟主机一样。 希望它有助于某人。