我试图让这个工作:
dev.somedomain.tld * .dev.somedomain.tld * .somedomain.tld
我创build了两个SSL证书,一个包含dev.somedomain.tld和* .somedomain.tld,另一个包含* .dev.somedomain.tld。
我也创造了两个VHost:
<VirtualHost 192.168.5.47:443> ServerName dev.somedomain.tld ServerAlias *.somedomain.tld </VirtualHost> <VirtualHost 192.168.5.47:443> ServerName something.dev.somedomain.tld ServerAlias *.dev.somedomain.tld </VirtualHost>
问题是:any.dev.somedomain.tld转到dev.somedomain.tld虚拟主机,不pipe在Apache的优先级。
有更高级的通配符有什么特别的吗?
根据Apache文档VirtualHosts命令的问题。 您可以通过运行httpd -S来检查VirtualHosts的顺序。
看到我的例子与不同的VirtualHosts顺序:
[root@~]# httpd -S VirtualHost configuration: 192.168.5.47:443 is a NameVirtualHost default server dev.somedomain.tld (/etc/httpd/conf/httpd.conf:353) port 443 namevhost dev.somedomain.tld (/etc/httpd/conf/httpd.conf:353) wild alias *.somedomain.tld port 443 namevhost something.dev.somedomain.tld (/etc/httpd/conf/httpd.conf:358) wild alias *.dev.somedomain.tld [root@~]# httpd -S VirtualHost configuration: 192.168.5.47:443 is a NameVirtualHost default server something.dev.somedomain.tld (/etc/httpd/conf/httpd.conf:353) port 443 namevhost something.dev.somedomain.tld (/etc/httpd/conf/httpd.conf:353) wild alias *.dev.somedomain.tld port 443 namevhost dev.somedomain.tld (/etc/httpd/conf/httpd.conf:358) wild alias *.somedomain.tld
好的,所以something.dev.somedomain.tld在一个名为“5-something.dev.somedomain.tld.conf”的文件中,而“dev.somedomain.tld”在“20-dev.somedomain.tld.conf”中。 我期待之前加载的东西.dev.somedomain.tld,但没有,它后加载。 我不得不把优先级设置为“05”而不是“5”,问题就没有了。