我希望Apache 2.4.x忽略(即不响应)任何与特定域名不匹配的请求。我的配置如下:
<VirtualHost *:443>
ServerName foobar.com
RedirectMatch /(.*) https://www.foobar.com/$1
...
</VirtualHost>
<VirtualHost *:443>
ServerName www.foobar.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
...
</VirtualHost>
ServerName字段是否足以指示Apache不响应与VirtualHosts中的任何ServerName值不匹配的请求?
我希望Apache的行为方式是查看主机请求头,将其与上面的ServerName字段进行比较,并忽略主机头值不匹配的请求。
我的网站是https,端口80没有打开。
1条答案
按热度按时间mlmc2os51#
总是会有一些答案,因为必须建立连接才能看到主机头。
由于您仅使用https,因此对于未知或未配置的域,证书协商可能会失败。
通常,您应该为所有已知域配置虚拟主机,并对任何不匹配的请求回退到默认虚拟主机。
客户端 * 将 * 看到证书错误,对此您无能为力。但是您可以控制显示给所有客户端的消息,这些客户端要么没有收到证书错误,要么选择连接。您可以通过相应地显式配置 default 虚拟主机来实现这一点。