默认虚拟主机覆盖通配符子域虚拟主机
Default virtualhost overriding wildcard subdomain virtual host
我正在尝试创建通配符域,其中
上有根服务器(登录页面)
-以及 https://*.example.com
上的所有子域(完全动态)
这是通配符虚拟主机(列在 SSL 包含下方,其中包含根域):
<VirtualHost *:443>
ServerName test.example.com
ServerAlias *.example.com:443
DocumentRoot /opt/lampp/htdocs/production/
SSLEngine on
SSLCertificateFile /etc/cert.pem
SSLCertificateKeyFile /etc/privkey.pem
SSLCertificateChainFile /etc/chain.pem
</VirtualHost>
这适用于测试。example.com,但是当我尝试进行其他操作时,例如 123。example.com 它将默认为在 httpd-ssl 中定义的第一个虚拟主机,而不是这个。
所以我的问题是,看到我在虚拟主机中设置的任何 ServerName 都有效,其余的则无效,我如何让子域覆盖默认虚拟主机?如果没有 ServerName,它始终默认为根目录(仅 ServerAlias)。
我曾尝试在默认主机之前(在 httpd-ssl 中)放置此代码,但它总是将此代码用于 root。
谢谢!
我已通过将此代码段放在默认值之上并删除 ServerName 来修复它。问题是我在根 www. 中有 ServerName,但我没有使用 www.
我正在尝试创建通配符域,其中
上有根服务器(登录页面)-以及 https://*.example.com
上的所有子域(完全动态)这是通配符虚拟主机(列在 SSL 包含下方,其中包含根域):
<VirtualHost *:443>
ServerName test.example.com
ServerAlias *.example.com:443
DocumentRoot /opt/lampp/htdocs/production/
SSLEngine on
SSLCertificateFile /etc/cert.pem
SSLCertificateKeyFile /etc/privkey.pem
SSLCertificateChainFile /etc/chain.pem
</VirtualHost>
这适用于测试。example.com,但是当我尝试进行其他操作时,例如 123。example.com 它将默认为在 httpd-ssl 中定义的第一个虚拟主机,而不是这个。
所以我的问题是,看到我在虚拟主机中设置的任何 ServerName 都有效,其余的则无效,我如何让子域覆盖默认虚拟主机?如果没有 ServerName,它始终默认为根目录(仅 ServerAlias)。
我曾尝试在默认主机之前(在 httpd-ssl 中)放置此代码,但它总是将此代码用于 root。
谢谢!
我已通过将此代码段放在默认值之上并删除 ServerName 来修复它。问题是我在根 www. 中有 ServerName,但我没有使用 www.