Apache VirtualHost别名通配符子域问题

我在Ubuntu 10.04.3上遇到Apache上的Aliases问题

我想要做的是如下:

我在/ etc / apache2 / sites-available文件夹中有一个文件

<VirtualHost *:80> ServerName mydomain.domain.com DocumentRoot /var/www/mydomain DirectoryIndex index.cfm RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </VirtualHost> <VirtualHost *:443> ServerName mydomain.domain.com:443 DocumentRoot /var/www/mydomain DirectoryIndex index.cfm RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^([a-zA-Z0-9/_/-]+)$ /index.cfm%{REQUEST_URI} [PT] SSLEngine on SSLProtocol -all +SSLv3 +TLSv1 ... ... </VirtualHost> <VirtualHost *:80> ServerName something.domain.com ServerAlias *.domain.com DocumentRoot /var/www/mydomain_all DirectoryIndex index.cfm RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </VirtualHost> <VirtualHost *:443> ServerName something.domain.com:443 ServerAlias *.domain.com:443 DocumentRoot /var/www/mydomain_all DirectoryIndex index.cfm RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^([a-zA-Z0-9/_/-]+)$ /index.cfm%{REQUEST_URI} [PT] SSLEngine on SSLProtocol -all +SSLv3 +TLSv1 ... ... </VirtualHost> 

问题是,所有对anything.domain.com的请求实际上是第一个ssl VH ie mydomain.domain.com – 我得到的订单是否错误? 还是别的什么错?

你需要一个NameVirtualHost *:443指令来作为除了端口上第一个虚拟主机以外的虚拟主机。

根据您的Apache和OpenSSL版本,它可能在启动期间在SSL端口上发出多个虚拟主机的警告 – 可以随意忽略它。

你使用相同的证书(希望是通配符)的两个SSL虚拟主机,或不同的? 如果它们不同,那么连接不支持SNI的客户端将始终获得第一个虚拟主机的证书。